mirror of
				https://sourceware.org/git/glibc.git
				synced 2025-11-03 20:53:13 +03:00 
			
		
		
		
	With tilepro support removal we can now simplify internal tile support by moving the directory structure to avoid the unnecessary directory levels in tile/tilegx both on generic and linux folders. Checked with a build for tilegx-linux-gnu and tilegx-linux-gnu-32 with and without the patch, there is no difference in generated binary with a dissassemble. * stdlib/bug-getcontext.c (do_test): Remove tilepro mention in comment. * sysdeps/tile/preconfigure: Remove tilegx folder. * sysdeps/tile/tilegx/Implies: Move definitions to ... * sysdeps/tile/Implies: ... here. * sysdeps/tile/tilegx/Makefile: Move rules to ... * sysdeps/tile/Makefile: ... here. * sysdeps/tile/tilegx/atomic-machine.h: Move definitions to ... * sysdeps/tile/atomic-machine.h: ... here. Add include guards. * sysdeps/tile/tilegx/bits/wordsize.h: Move to ... * sysdeps/tile/bits/wordsize.h: ... here. * sysdeps/tile/tilegx/*: Move to ... * sysdeps/tile/*: ... here. * sysdeps/tile/tilegx/tilegx32/Implies: Move to ... * sysdeps/tile/tilegx32/Implies: ... here. * sysdeps/tile/tilegx/tilegx64/Implies: Move to ... * sysdeps/tile/tilegx64/Implies: ... here. * sysdeps/unix/sysv/linux/tile/tilegx/Makefile: Move definitions to ... * sysdeps/unix/sysv/linux/tile/Makefile: ... here. * sysdeps/unix/sysv/linux/tile/tilegx/*: Move to ... * sysdeps/unix/sysv/linux/tile/*: ... here. * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/*: Move to ... * sysdeps/unix/sysv/linux/tile/tilegx32/*: ... here. * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/*: Move to ... * sysdeps/unix/sysv/linux/tile/tilegx64/*: ... here.
		
			
				
	
	
		
			77 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			77 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/* BZ 12420 */
 | 
						|
 | 
						|
#include <errno.h>
 | 
						|
#include <fenv.h>
 | 
						|
#include <stdio.h>
 | 
						|
#include <stdlib.h>
 | 
						|
#include <ucontext.h>
 | 
						|
#include <libc-diag.h>
 | 
						|
 | 
						|
static int
 | 
						|
do_test (void)
 | 
						|
{
 | 
						|
  if (FE_ALL_EXCEPT == 0)
 | 
						|
    {
 | 
						|
      printf("Skipping test; no support for FP exceptions.\n");
 | 
						|
      return 0;
 | 
						|
    }
 | 
						|
 | 
						|
  int except_mask = 0;
 | 
						|
#ifdef FE_DIVBYZERO
 | 
						|
  except_mask |= FE_DIVBYZERO;
 | 
						|
#endif
 | 
						|
#ifdef FE_INVALID
 | 
						|
  except_mask |= FE_INVALID;
 | 
						|
#endif
 | 
						|
#ifdef FE_OVERFLOW
 | 
						|
  except_mask |= FE_OVERFLOW;
 | 
						|
#endif
 | 
						|
#ifdef FE_UNDERFLOW
 | 
						|
  except_mask |= FE_UNDERFLOW;
 | 
						|
#endif
 | 
						|
  int status = feenableexcept (except_mask);
 | 
						|
 | 
						|
  except_mask = fegetexcept ();
 | 
						|
  if (except_mask == -1)
 | 
						|
    {
 | 
						|
      printf("\nBefore getcontext(): fegetexcept returned: %d\n",
 | 
						|
	     except_mask);
 | 
						|
      return 1;
 | 
						|
    }
 | 
						|
 | 
						|
  ucontext_t ctx;
 | 
						|
  status = getcontext(&ctx);
 | 
						|
  if (status)
 | 
						|
    {
 | 
						|
      printf("\ngetcontext failed, errno: %d.\n", errno);
 | 
						|
      return 1;
 | 
						|
    }
 | 
						|
 | 
						|
  printf ("\nDone with getcontext()!\n");
 | 
						|
  fflush (NULL);
 | 
						|
 | 
						|
  /* On nios2 GCC 5 warns that except_mask may be used
 | 
						|
     uninitialized.  Because it is always initialized and nothing in
 | 
						|
     this test ever calls setcontext (a setcontext call could result
 | 
						|
     in local variables being clobbered on the second return from
 | 
						|
     getcontext), in fact an uninitialized use is not possible.  */
 | 
						|
  DIAG_PUSH_NEEDS_COMMENT;
 | 
						|
  DIAG_IGNORE_NEEDS_COMMENT (5, "-Wmaybe-uninitialized");
 | 
						|
  int mask = fegetexcept ();
 | 
						|
  if (mask != except_mask)
 | 
						|
    {
 | 
						|
      printf("\nAfter getcontext(): fegetexcept returned: %d, expected: %d.\n",
 | 
						|
	     mask, except_mask);
 | 
						|
      return 1;
 | 
						|
    }
 | 
						|
 | 
						|
  printf("\nAt end fegetexcept() returned %d, expected: %d.\n",
 | 
						|
	 mask, except_mask);
 | 
						|
  DIAG_POP_NEEDS_COMMENT;
 | 
						|
 | 
						|
  return 0;
 | 
						|
}
 | 
						|
 | 
						|
#define TEST_FUNCTION do_test ()
 | 
						|
#include "../test-skeleton.c"
 |