Skip to content

Commit

Permalink
Split up stackguard-macros.h into sysdeps directories.
Browse files Browse the repository at this point in the history
  • Loading branch information
jsm28 committed May 15, 2012
1 parent 9317101 commit a953889
Show file tree
Hide file tree
Showing 12 changed files with 53 additions and 34 deletions.
13 changes: 13 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,5 +1,18 @@
2012-05-15 Joseph Myers <[email protected]>

* 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.
Expand Down
32 changes: 0 additions & 32 deletions elf/stackguard-macros.h

This file was deleted.

4 changes: 2 additions & 2 deletions nptl/tst-stackguard1.c
Original file line number Diff line number Diff line change
@@ -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 <[email protected]>, 2005.
Expand All @@ -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;
Expand Down
4 changes: 4 additions & 0 deletions sysdeps/generic/stackguard-macros.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#include <stdint.h>

extern uintptr_t __stack_chk_guard;
#define STACK_CHK_GUARD __stack_chk_guard
4 changes: 4 additions & 0 deletions sysdeps/i386/stackguard-macros.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#include <stdint.h>

#define STACK_CHK_GUARD \
({ uintptr_t x; asm ("movl %%gs:0x14, %0" : "=r" (x)); x; })
4 changes: 4 additions & 0 deletions sysdeps/powerpc/powerpc32/stackguard-macros.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#include <stdint.h>

#define STACK_CHK_GUARD \
({ uintptr_t x; asm ("lwz %0,-28680(2)" : "=r" (x)); x; })
4 changes: 4 additions & 0 deletions sysdeps/powerpc/powerpc64/stackguard-macros.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#include <stdint.h>

#define STACK_CHK_GUARD \
({ uintptr_t x; asm ("ld %0,-28688(13)" : "=r" (x)); x; })
4 changes: 4 additions & 0 deletions sysdeps/s390/s390-32/stackguard-macros.h
Original file line number Diff line number Diff line change
@@ -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; })
4 changes: 4 additions & 0 deletions sysdeps/s390/s390-64/stackguard-macros.h
Original file line number Diff line number Diff line change
@@ -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; })
4 changes: 4 additions & 0 deletions sysdeps/sparc/sparc32/stackguard-macros.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#include <stdint.h>

#define STACK_CHK_GUARD \
({ uintptr_t x; asm ("ld [%%g7+0x14], %0" : "=r" (x)); x; })
4 changes: 4 additions & 0 deletions sysdeps/sparc/sparc64/stackguard-macros.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#include <stdint.h>

#define STACK_CHK_GUARD \
({ uintptr_t x; asm ("ldx [%%g7+0x28], %0" : "=r" (x)); x; })
6 changes: 6 additions & 0 deletions sysdeps/x86_64/stackguard-macros.h
Original file line number Diff line number Diff line change
@@ -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; })

0 comments on commit a953889

Please sign in to comment.