]> git.ipfire.org Git - thirdparty/elfutils.git/commitdiff
Relax elflint a bit more.
authorUlrich Drepper <drepper@redhat.com>
Tue, 16 Aug 2005 04:23:02 +0000 (04:23 +0000)
committerUlrich Drepper <drepper@redhat.com>
Tue, 16 Aug 2005 04:23:02 +0000 (04:23 +0000)
src/ChangeLog
src/elflint.c

index 0e7e68359dd3336c8c4b850eb2250b0339f0703a..6aa7e7f87fac0c47fed4e0c3189de9dcd1cf12de 100644 (file)
@@ -1,5 +1,8 @@
 2005-08-15  Ulrich Drepper  <drepper@redhat.com>
 
+       * elflint.c (check_versym): Allow VER_NDX_LOCAL symbols to be
+       undefined.
+
        * Makefile.am: Add rules to build ranlib.
        * ranlib.c: New file.
 
index 53abf849508f666e56ec40e22f83c1483ab484c2..206a82b33ea245d6f33407cd9e53522c38402217 100644 (file)
@@ -2053,17 +2053,7 @@ section [%2d] '%s': symbol %d: cannot read version data\n"),
        /* Already reported elsewhere.  */
        continue;
 
-      if (*versym == VER_NDX_LOCAL)
-       {
-         /* Local symbol.  Make sure it is defined unless the
-            reference is weak.  */
-         if (sym->st_shndx == SHN_UNDEF
-             && GELF_ST_BIND (sym->st_info) != STB_WEAK)
-           ERROR (gettext ("\
-section [%2d] '%s': symbol %d: undefined symbol with local scope\n"),
-                  idx, section_name (ebl, idx), cnt);
-       }
-      else if (*versym == VER_NDX_GLOBAL)
+      if (*versym == VER_NDX_GLOBAL)
        {
          /* Global symbol.  Make sure it is not defined as local.  */
          if (GELF_ST_BIND (sym->st_info) == STB_LOCAL)
@@ -2071,7 +2061,7 @@ section [%2d] '%s': symbol %d: undefined symbol with local scope\n"),
 section [%2d] '%s': symbol %d: local symbol with global scope\n"),
                   idx, section_name (ebl, idx), cnt);
        }
-      else
+      else if (*versym != VER_NDX_LOCAL)
        {
          /* Look through the list of defined versions and locate the
             index we need for this symbol.  */