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.
This commit is contained in:
Carlos O'Donell 2013-09-23 01:44:38 -04:00
parent c61b4d41c9
commit 0b1f8e3564
3 changed files with 14 additions and 1 deletions

View File

@ -1,5 +1,10 @@
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.

View File

@ -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)

View File

@ -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