]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
* Makerules (shlib.lds): If have-hash-style, put .hash section cvs/fedora-glibc-20060905T0633
authorUlrich Drepper <drepper@redhat.com>
Tue, 5 Sep 2006 02:02:55 +0000 (02:02 +0000)
committerUlrich Drepper <drepper@redhat.com>
Tue, 5 Sep 2006 02:02:55 +0000 (02:02 +0000)
at the end of the RO segment.

2006-09-04  Ulrich Drepper  <drepper@redhat.com>

* elf/do-lookup.h (do_lookup_x): Initialize symidx in case the new
style hash table format is used.

2006-09-04  Jakub Jelinek  <jakub@redhat.com>

ChangeLog
Makerules
elf/do-lookup.h

index 644f5ce837593b1003796839545ac38c73118b84..0852a3cf5aa842c84c390dae9843d51e0251a20d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2006-09-04  Jakub Jelinek  <jakub@redhat.com>
+
+       * Makerules (shlib.lds): If have-hash-style, put .hash section
+       at the end of the RO segment.
+
+2006-09-04  Ulrich Drepper  <drepper@redhat.com>
+
+       * elf/do-lookup.h (do_lookup_x): Initialize symidx in case the new
+       style hash table format is used.
+
 2006-09-04  Jakub Jelinek  <jakub@redhat.com>
 
        * resolv/res_mkquery.c (res_nmkquery): Set hp->id to statp->id after
index f50f7a4884954f86ccbbc4eaf84474f07ac878d8..b0be86b368320413f67486dba3860848fa58d20a 100644 (file)
--- a/Makerules
+++ b/Makerules
@@ -487,7 +487,13 @@ $(common-objpfx)shlib.lds: $(common-objpfx)config.make $(..)Makerules
                  -Wl,--verbose 2>&1 | \
          sed > $@T \
              -e '/^=========/,/^=========/!d;/^=========/d' \
-             -e 's/^.*\.hash[  ]*:.*$$/  .note.ABI-tag : { *(.note.ABI-tag) } &/' \
+             $(if $(filter yes,$(have-hash-style)), \
+                  -e 's/^.*\.gnu\.hash[        ]*:.*$$/  .note.ABI-tag : { *(.note.ABI-tag) } &/' \
+                  -e '/^[      ]*\.hash[       ]*:.*$$/{h;d;}' \
+                  -e '/DATA_SEGMENT_ALIGN/{H;g}' \
+               , \
+                  -e 's/^.*\.hash[     ]*:.*$$/  .note.ABI-tag : { *(.note.ABI-tag) } &/' \
+              ) \
              -e 's/^.*\*(\.dynbss).*$$/& \
                 PROVIDE(__start___libc_freeres_ptrs = .); \
                 *(__libc_freeres_ptrs) \
index f40ab9d8d4f52b3b676c04b873d9d6c7713a5c61..2585d8300547629876cc2b62c2c886bc17c57819 100644 (file)
@@ -195,6 +195,8 @@ do_lookup_x (const char *undef_name, uint_fast32_t new_hash,
                  while ((*hasharr++ & 1u) == 0);
                }
            }
+         /* No symbol found.  */
+         symidx = SHN_UNDEF;
        }
       else
        {