diff options
author | Carlos O'Donell <carlos@redhat.com> | 2013-09-23 01:44:38 -0400 |
---|---|---|
committer | Carlos O'Donell <carlos@redhat.com> | 2013-09-23 01:44:38 -0400 |
commit | 0b1f8e35640f5b3f7af11764ade3ff060211c309 (patch) | |
tree | 92c24c5c5a32e067121f24c0d752f222345faf5e | |
parent | c61b4d41c9647a54a329aa021341c0eb032b793e (diff) | |
download | glibc-0b1f8e35640f5b3f7af11764ade3ff060211c309.zip glibc-0b1f8e35640f5b3f7af11764ade3ff060211c309.tar.gz glibc-0b1f8e35640f5b3f7af11764ade3ff060211c309.tar.bz2 |
BZ #15754: Fix test case for ARM.
Statically built binaries use __pointer_chk_guard_local,
while dynamically built binaries use __pointer_chk_guard.
Provide the right definition depending on the test case
we are building.
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | elf/Makefile | 3 | ||||
-rw-r--r-- | sysdeps/generic/stackguard-macros.h | 7 |
3 files changed, 14 insertions, 1 deletions
@@ -1,6 +1,11 @@ 2013-09-23 Carlos O'Donell <carlos@redhat.com> [BZ #15754] + * sysdeps/generic/stackguard-macros.h: If PTRGUARD_LOCAL use + __pointer_chk_guard_local, otherwise __pointer_chk_guard. + * elf/Makefile: Define CFLAGS-tst-ptrguard1-static.c. + + [BZ #15754] * elf/Makefile (tests): Add tst-ptrguard1. (tests-static): Add tst-ptrguard1-static. (tst-ptrguard1-ARGS): Define. diff --git a/elf/Makefile b/elf/Makefile index cb8da93..27d249b 100644 --- a/elf/Makefile +++ b/elf/Makefile @@ -1019,6 +1019,9 @@ tst-stackguard1-ARGS = --command "$(host-test-program-cmd) --child" tst-stackguard1-static-ARGS = --command "$(objpfx)tst-stackguard1-static --child" tst-ptrguard1-ARGS = --command "$(host-test-program-cmd) --child" +# When built statically, the pointer guard interface uses +# __pointer_chk_guard_local. +CFLAGS-tst-ptrguard1-static.c = -DPTRGUARD_LOCAL tst-ptrguard1-static-ARGS = --command "$(objpfx)tst-ptrguard1-static --child" $(objpfx)tst-leaks1: $(libdl) diff --git a/sysdeps/generic/stackguard-macros.h b/sysdeps/generic/stackguard-macros.h index 4fa3d96..b4a6b23 100644 --- a/sysdeps/generic/stackguard-macros.h +++ b/sysdeps/generic/stackguard-macros.h @@ -3,5 +3,10 @@ extern uintptr_t __stack_chk_guard; #define STACK_CHK_GUARD __stack_chk_guard +#ifdef PTRGUARD_LOCAL extern uintptr_t __pointer_chk_guard_local; -#define POINTER_CHK_GUARD __pointer_chk_guard_local +# define POINTER_CHK_GUARD __pointer_chk_guard_local +#else +extern uintptr_t __pointer_chk_guard; +# define POINTER_CHK_GUARD __pointer_chk_guard +#endif |