Split up stackguard-macros.h into sysdeps directories.

This commit is contained in:
Joseph Myers 2012-05-15 23:34:30 +00:00
parent 9317101683
commit a9538892ad
12 changed files with 53 additions and 34 deletions

View File

@ -1,5 +1,18 @@
2012-05-15 Joseph Myers <joseph@codesourcery.com>
* elf/stackguard-macros.h: Remove file.
* sysdeps/generic/stackguard-macros.h: New file.
* sysdeps/i386/stackguard-macros.h: Likewise.
* sysdeps/powerpc/powerpc32/stackguard-macros.h: Likewise.
* sysdeps/powerpc/powerpc64/stackguard-macros.h: Likewise.
* sysdeps/s390/s390-32/stackguard-macros.h: Likewise.
* sysdeps/s390/s390-64/stackguard-macros.h: Likewise.
* sysdeps/sparc/sparc32/stackguard-macros.h: Likewise.
* sysdeps/sparc/sparc64/stackguard-macros.h: Likewise.
* sysdeps/x86_64/stackguard-macros.h: Likewise.
* nptl/tst-stackguard1.c: Include <stackguard-macros.h> not
<elf/stackguard-macros.h>.
[BZ #14109]
* sysdeps/unix/sysv/linux/powerpc/sys/procfs.h (elf_vrreg_t): Use
__aligned__ in attribute.

View File

@ -1,32 +0,0 @@
#include <stdint.h>
#ifdef __i386__
# define STACK_CHK_GUARD \
({ uintptr_t x; asm ("movl %%gs:0x14, %0" : "=r" (x)); x; })
#elif defined __x86_64__
# define STACK_CHK_GUARD \
({ uintptr_t x; \
asm ("mov %%fs:%c1, %0" : "=r" (x) \
: "i" (offsetof (tcbhead_t, stack_guard))); x; })
#elif defined __powerpc64__
# define STACK_CHK_GUARD \
({ uintptr_t x; asm ("ld %0,-28688(13)" : "=r" (x)); x; })
#elif defined __powerpc__
# define STACK_CHK_GUARD \
({ uintptr_t x; asm ("lwz %0,-28680(2)" : "=r" (x)); x; })
#elif defined __sparc__ && defined __arch64__
# define STACK_CHK_GUARD \
({ uintptr_t x; asm ("ldx [%%g7+0x28], %0" : "=r" (x)); x; })
#elif defined __sparc__
# define STACK_CHK_GUARD \
({ uintptr_t x; asm ("ld [%%g7+0x14], %0" : "=r" (x)); x; })
#elif defined __s390x__
# define STACK_CHK_GUARD \
({ uintptr_t x; asm ("ear %0,%%a0; sllg %0,%0,32; ear %0,%%a1; lg %0,0x28(%0)" : "=a" (x)); x; })
#elif defined __s390__
# define STACK_CHK_GUARD \
({ uintptr_t x; asm ("ear %0,%%a0; l %0,0x14(%0)" : "=a" (x)); x; })
#elif !defined STACK_CHK_GUARD
extern uintptr_t __stack_chk_guard;
# define STACK_CHK_GUARD __stack_chk_guard
#endif

View File

@ -1,4 +1,4 @@
/* Copyright (C) 2005 Free Software Foundation, Inc.
/* Copyright (C) 2005-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jakub Jelinek <jakub@redhat.com>, 2005.
@ -23,7 +23,7 @@
#include <stdlib.h>
#include <string.h>
#include <sys/wait.h>
#include <elf/stackguard-macros.h>
#include <stackguard-macros.h>
#include <unistd.h>
static const char *command;

View File

@ -0,0 +1,4 @@
#include <stdint.h>
extern uintptr_t __stack_chk_guard;
#define STACK_CHK_GUARD __stack_chk_guard

View File

@ -0,0 +1,4 @@
#include <stdint.h>
#define STACK_CHK_GUARD \
({ uintptr_t x; asm ("movl %%gs:0x14, %0" : "=r" (x)); x; })

View File

@ -0,0 +1,4 @@
#include <stdint.h>
#define STACK_CHK_GUARD \
({ uintptr_t x; asm ("lwz %0,-28680(2)" : "=r" (x)); x; })

View File

@ -0,0 +1,4 @@
#include <stdint.h>
#define STACK_CHK_GUARD \
({ uintptr_t x; asm ("ld %0,-28688(13)" : "=r" (x)); x; })

View File

@ -0,0 +1,4 @@
#include <stdint.h>
#define STACK_CHK_GUARD \
({ uintptr_t x; asm ("ear %0,%%a0; l %0,0x14(%0)" : "=a" (x)); x; })

View File

@ -0,0 +1,4 @@
#include <stdint.h>
#define STACK_CHK_GUARD \
({ uintptr_t x; asm ("ear %0,%%a0; sllg %0,%0,32; ear %0,%%a1; lg %0,0x28(%0)" : "=a" (x)); x; })

View File

@ -0,0 +1,4 @@
#include <stdint.h>
#define STACK_CHK_GUARD \
({ uintptr_t x; asm ("ld [%%g7+0x14], %0" : "=r" (x)); x; })

View File

@ -0,0 +1,4 @@
#include <stdint.h>
#define STACK_CHK_GUARD \
({ uintptr_t x; asm ("ldx [%%g7+0x28], %0" : "=r" (x)); x; })

View File

@ -0,0 +1,6 @@
#include <stdint.h>
#define STACK_CHK_GUARD \
({ uintptr_t x; \
asm ("mov %%fs:%c1, %0" : "=r" (x) \
: "i" (offsetof (tcbhead_t, stack_guard))); x; })