diff options
author | Ulrich Drepper <drepper@redhat.com> | 2002-02-14 07:57:19 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2002-02-14 07:57:19 +0000 |
commit | fc093be16082b406ee160762d773a791a5b3b965 (patch) | |
tree | 6649027f3fc3c8e9ca1950ded8278175a2ff5fe7 /elf/tst-tlsmod3.c | |
parent | bb4cb25213ce21326236d72e8633844e4a777a8b (diff) | |
download | glibc-fc093be16082b406ee160762d773a791a5b3b965.zip glibc-fc093be16082b406ee160762d773a791a5b3b965.tar.gz glibc-fc093be16082b406ee160762d773a791a5b3b965.tar.bz2 |
Update.
* elf/dl-close.c (remove_slotinfo): New function. Handles everything
for removing reference of module in slotinfo list.
(_dl_close): Use remove_slotinfo.
* sysdeps/generic/dl-tls.c: General pretty printing.
(oom): Define only if SHARED.
(_dl_next_tls_modid): Correct starting point for the case we assume
there is a gap. Add missing instruction grouping (doh!). Correct
tests for reaching maximum index.
* elf/Makefile: Add rules to build and run tst-tls7.
* elf/tst-tls7.c: New file.
* elf/tst-tlsmod3.c: New file.
* elf/tst-tlsmod1.c: Move #include "tls-macros.h" instead #ifdef
USE_TLS.
* elf/tst-tlsmod2.c: Likewise.
Diffstat (limited to 'elf/tst-tlsmod3.c')
-rw-r--r-- | elf/tst-tlsmod3.c | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/elf/tst-tlsmod3.c b/elf/tst-tlsmod3.c new file mode 100644 index 0000000..ff4a446 --- /dev/null +++ b/elf/tst-tlsmod3.c @@ -0,0 +1,34 @@ +#include <stdio.h> + +#include <tls.h> +#include "tls-macros.h" + +#ifdef USE_TLS +extern int in_dso (int n, int *caller_foop); + +COMMON_INT_DEF(comm_n); + + + + +int +in_dso2 (void) +{ + int *foop = TLS_GD (foo); + int result = 0; + static int n; + int *np = TLS_GD (comm_n); + + if (n != *np) + { + printf ("n = %d != comm_n = %d\n", n, *np); + result = 1; + } + + result |= in_dso (*foop = 42 + n++, foop); + + *foop = 16; + + return result; +} +#endif |