diff --git a/ChangeLog b/ChangeLog index 82d2b82cb7..ee5b9f5eee 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2002-08-25 Ulrich Drepper + + * elf/tst-tlsmod1.c (in_dso): Make sure the TLS variable access is + not moved ahead of the fputs call. + * elf/tst-tlsmod2.c (in_dso): Likewise. + * elf/tst-tlsmod3.c (in_dso2): Likewise. + * elf/tst-tlsmod4.c (in_dso): Likewise. + 2002-08-25 Andreas Schwab * elf/dl-reloc.c (_dl_reloc_bad_type): Nul-terminate message. diff --git a/elf/tst-tlsmod1.c b/elf/tst-tlsmod1.c index 946aa375cc..c74a617b77 100644 --- a/elf/tst-tlsmod1.c +++ b/elf/tst-tlsmod1.c @@ -23,6 +23,7 @@ in_dso (void) /* Get variables using initial exec model. */ fputs ("get sum of foo and bar (IE)", stdout); + asm ("" ::: "memory"); ap = TLS_IE (foo); bp = TLS_IE (bar); printf (" = %d\n", *ap + *bp); diff --git a/elf/tst-tlsmod2.c b/elf/tst-tlsmod2.c index 1a4c73b8a0..98d9d3e518 100644 --- a/elf/tst-tlsmod2.c +++ b/elf/tst-tlsmod2.c @@ -16,6 +16,7 @@ in_dso (int n, int *caller_foop) int result = 0; puts ("foo"); /* Make sure PLT is used before macros. */ + asm ("" ::: "memory"); foop = TLS_GD (foo); diff --git a/elf/tst-tlsmod3.c b/elf/tst-tlsmod3.c index 6b7fbccf4e..4a8aad659f 100644 --- a/elf/tst-tlsmod3.c +++ b/elf/tst-tlsmod3.c @@ -21,6 +21,7 @@ in_dso2 (void) int *np; puts ("foo"); /* Make sure PLT is used before macros. */ + asm ("" ::: "memory"); foop = TLS_GD (foo); np = TLS_GD (comm_n); diff --git a/elf/tst-tlsmod4.c b/elf/tst-tlsmod4.c index c536303b47..5285e821b0 100644 --- a/elf/tst-tlsmod4.c +++ b/elf/tst-tlsmod4.c @@ -16,6 +16,7 @@ in_dso (int n, int *caller_bazp) int result = 0; puts ("foo"); /* Make sure PLT is used before macros. */ + asm ("" ::: "memory"); bazp = TLS_GD (baz);