diff options
Diffstat (limited to 'elf')
-rw-r--r-- | elf/ldconfig.c | 4 | ||||
-rw-r--r-- | elf/ldd.bash.in | 4 | ||||
-rw-r--r-- | elf/order2mod2.c | 2 | ||||
-rw-r--r-- | elf/rtld.c | 7 | ||||
-rw-r--r-- | elf/sprof.c | 4 | ||||
-rw-r--r-- | elf/tst-tls13.c | 6 |
6 files changed, 17 insertions, 10 deletions
diff --git a/elf/ldconfig.c b/elf/ldconfig.c index beece51ad8..3963627aa0 100644 --- a/elf/ldconfig.c +++ b/elf/ldconfig.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1999-2004, 2005 Free Software Foundation, Inc. +/* Copyright (C) 1999-2004, 2005, 2006 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Andreas Jaeger <aj@suse.de>, 1999. @@ -286,7 +286,7 @@ print_version (FILE *stream, struct argp_state *state) Copyright (C) %s Free Software Foundation, Inc.\n\ This is free software; see the source for copying conditions. There is NO\n\ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\ -"), "2005"); +"), "2006"); fprintf (stream, gettext ("Written by %s.\n"), "Andreas Jaeger"); } diff --git a/elf/ldd.bash.in b/elf/ldd.bash.in index 4587efd1cb..100d2335d2 100644 --- a/elf/ldd.bash.in +++ b/elf/ldd.bash.in @@ -1,5 +1,5 @@ #! @BASH@ -# Copyright (C) 1996-2004, 2005 Free Software Foundation, Inc. +# Copyright (C) 1996-2004, 2005, 2006 Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or @@ -39,7 +39,7 @@ while test $# -gt 0; do printf $"Copyright (C) %s Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -" "2005" +" "2006" printf $"Written by %s and %s. " "Roland McGrath" "Ulrich Drepper" exit 0 diff --git a/elf/order2mod2.c b/elf/order2mod2.c index b03fb60fa3..026cd2acc4 100644 --- a/elf/order2mod2.c +++ b/elf/order2mod2.c @@ -7,7 +7,7 @@ void __attribute__ ((constructor)) init (void) { - foo () - bar (); + (void) (foo () - bar ()); } static void diff --git a/elf/rtld.c b/elf/rtld.c index 71bcf0ab71..76d129a0a0 100644 --- a/elf/rtld.c +++ b/elf/rtld.c @@ -1307,6 +1307,13 @@ ld.so does not support TLS, but program uses it!\n"); _dl_setup_hash (l); l->l_relocated = 1; + /* Initialize l_local_scope to contain just this map. This allows + the use of dl_lookup_symbol_x to resolve symbols within the vdso. + So we create a single entry list pointing to l_real as its only + element */ + l->l_local_scope[0]->r_nlist = 1; + l->l_local_scope[0]->r_list = &l->l_real; + /* Now that we have the info handy, use the DSO image's soname so this object can be looked up by name. Note that we do not set l_name here. That field gives the file name of the DSO, diff --git a/elf/sprof.c b/elf/sprof.c index 9567e4689f..e53a7ba7a3 100644 --- a/elf/sprof.c +++ b/elf/sprof.c @@ -1,5 +1,5 @@ /* Read and display shared object profiling data. - Copyright (C) 1997-2002, 2003, 2004, 2005 Free Software Foundation, Inc. + Copyright (C) 1997-2004, 2005, 2006 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. @@ -357,7 +357,7 @@ Copyright (C) %s Free Software Foundation, Inc.\n\ This is free software; see the source for copying conditions. There is NO\n\ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\ "), - "2005"); + "2006"); fprintf (stream, gettext ("Written by %s.\n"), "Ulrich Drepper"); } diff --git a/elf/tst-tls13.c b/elf/tst-tls13.c index 55fb62e540..06bfbacb5c 100644 --- a/elf/tst-tls13.c +++ b/elf/tst-tls13.c @@ -2,17 +2,17 @@ #include <dlfcn.h> #include <stdio.h> #include <stdlib.h> +#include <unistd.h> static int do_test (void) { - int i; - for (i = 0; i < 1000;) + for (int i = 0; i < 1000;) { printf ("round %d\n",++i); - void *h = dlopen ("tst-tlsmod13a.so", RTLD_LAZY); + void *h = dlopen ("$ORIGIN/tst-tlsmod13a.so", RTLD_LAZY); if (h == NULL) { printf ("cannot load: %s\n", dlerror ()); |