Update.
authorUlrich Drepper <drepper@redhat.com>
Sun, 9 Jan 2005 20:23:44 +0000 (20:23 +0000)
committerUlrich Drepper <drepper@redhat.com>
Sun, 9 Jan 2005 20:23:44 +0000 (20:23 +0000)
* elf/dl-runtime.c: Inlcude <sys/param.h>.

* elf/Makefile (headers): Add bits/link.h.

2005-01-09  Andreas Schwab  <schwab@suse.de>

* elf/rtld.c (dl_main): Create main_map with __RTLD_OPENEXEC.

2005-01-09  Andreas Jaeger  <aj@suse.de>

* time/strptime_l.c (__strptime_internal): Add braces to avoid
warning.

* sysdeps/x86_64/bits/link.h: Use vector_size for GCC 4.0.

* elf/rtld.c (dl_main): Call _dl_add_to_slotinfo only if USE_TLS.

2005-01-08  Jakub Jelinek  <jakub@redhat.com>

* elf/Makefile (generated): Add tst-pie1{,.out,.o}.

2005-01-09  Ulrich Drepper  <drepper@redhat.com>

ChangeLog
elf/Makefile
elf/dl-runtime.c
elf/rtld.c
sysdeps/x86_64/bits/link.h
time/strptime_l.c

index 927e117..7f124f1 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,28 @@
 2005-01-09  Ulrich Drepper  <drepper@redhat.com>
 
+       * elf/dl-runtime.c: Inlcude <sys/param.h>.
+
+       * elf/Makefile (headers): Add bits/link.h.
+
+2005-01-09  Andreas Schwab  <schwab@suse.de>
+
+       * elf/rtld.c (dl_main): Create main_map with __RTLD_OPENEXEC.
+
+2005-01-09  Andreas Jaeger  <aj@suse.de>
+
+       * time/strptime_l.c (__strptime_internal): Add braces to avoid
+       warning.
+
+       * sysdeps/x86_64/bits/link.h: Use vector_size for GCC 4.0.
+
+       * elf/rtld.c (dl_main): Call _dl_add_to_slotinfo only if USE_TLS.
+
+2005-01-08  Jakub Jelinek  <jakub@redhat.com>
+
+       * elf/Makefile (generated): Add tst-pie1{,.out,.o}.
+
+2005-01-09  Ulrich Drepper  <drepper@redhat.com>
+
        * elf/dl-fini.c (_dl_fini): Call destructors of audit DSOs after
        those of all the regular objects.
 
index ddc20f4..0983d6c 100644 (file)
@@ -20,7 +20,7 @@
 
 subdir         := elf
 
-headers                = elf.h bits/elfclass.h link.h
+headers                = elf.h bits/elfclass.h link.h bits/link.h
 routines       = $(dl-routines) dl-support dl-iteratephdr \
                  dl-addr enbl-secure dl-profstub \
                  dl-origin dl-libc dl-sym dl-tsd
index 0fa8d55..ab177b8 100644 (file)
@@ -22,6 +22,7 @@
 #include <alloca.h>
 #include <stdlib.h>
 #include <unistd.h>
+#include <sys/param.h>
 #include <ldsodefs.h>
 #include "dynamic-link.h"
 
index 77903bf..f124689 100644 (file)
@@ -995,8 +995,8 @@ of this helper program; chances are you did not intend to run this program.\n\
     {
       /* Create a link_map for the executable itself.
         This will be what dlopen on "" returns.  */
-      main_map
-       = _dl_new_object ((char *) "", "", lt_executable, NULL, 0, LM_ID_BASE);
+      main_map = _dl_new_object ((char *) "", "", lt_executable, NULL,
+                                __RTLD_OPENEXEC, LM_ID_BASE);
       assert (main_map != NULL);
       assert (main_map == GL(dl_ns)[LM_ID_BASE]._ns_loaded);
       main_map->l_phdr = phdr;
@@ -2117,9 +2117,11 @@ ERROR: ld.so: object '%s' from %s cannot be preloaded: ignored.\n",
          if (l->l_relro_size)
            _dl_protect_relro (l);
 
+#ifdef USE_TLS
          /* Add object to slot information data if necessasy.  */
          if (l->l_tls_blocksize != 0 && tls_init_tp_called)
            _dl_add_to_slotinfo (l);
+#endif
        }
 
       _dl_sysdep_start_cleanup ();
@@ -2167,9 +2169,11 @@ ERROR: ld.so: object '%s' from %s cannot be preloaded: ignored.\n",
            _dl_relocate_object (l, l->l_scope, GLRO(dl_lazy),
                                 consider_profiling);
 
+#ifdef USE_TLS
          /* Add object to slot information data if necessasy.  */
          if (l->l_tls_blocksize != 0 && tls_init_tp_called)
            _dl_add_to_slotinfo (l);
+#endif
 
          l = l->l_prev;
        }
index 87c17eb..1423356 100644 (file)
@@ -63,7 +63,12 @@ __END_DECLS
 #else
 
 /* Registers for entry into PLT on x86-64.  */
+# if __GNUC_PREREQ (4,0)
+typedef float La_x86_64_xmm __attribute__ ((vector_size (16)));
+# else
 typedef float La_x86_64_xmm __attribute__ ((__mode__ (__V4SF__)));
+# endif
+
 typedef struct La_x86_64_regs
 {
   uint64_t lr_rdx;
index df98099..7deaef8 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2004 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2004, 2005 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
@@ -539,11 +539,13 @@ __strptime_internal (rp, fmt, tm, decided, era_cnt LOCALE_PARAM)
            }
 #endif
          if (!match_string (HERE_AM_STR, rp))
-           if (match_string (HERE_PM_STR, rp))
-             is_pm = 1;
-           else
-             return NULL;
-         break;
+           {
+             if (match_string (HERE_PM_STR, rp))
+               is_pm = 1;
+             else
+               return NULL;
+             break;
+           }
        case 'r':
 #ifdef _NL_CURRENT
          if (*decided != raw)