]> git.ipfire.org Git - thirdparty/elfutils.git/commitdiff
One more elflint version symbol test.
authorUlrich Drepper <drepper@redhat.com>
Wed, 24 Aug 2005 19:50:14 +0000 (19:50 +0000)
committerUlrich Drepper <drepper@redhat.com>
Wed, 24 Aug 2005 19:50:14 +0000 (19:50 +0000)
src/ChangeLog
src/elflint.c

index 6aa7e7f87fac0c47fed4e0c3189de9dcd1cf12de..7707ac173c59023009dde46902fb12e5338e1999 100644 (file)
@@ -1,3 +1,8 @@
+2005-08-24  Ulrich Drepper  <drepper@redhat.com>
+
+       * elflint.c (check_versym): Versioned symbols should not have
+       local binding.
+
 2005-08-15  Ulrich Drepper  <drepper@redhat.com>
 
        * elflint.c (check_versym): Allow VER_NDX_LOCAL symbols to be
index 206a82b33ea245d6f33407cd9e53522c38402217..d91ac0f879134e0c994df3d97c1aa08a6a070ecb 100644 (file)
@@ -2063,6 +2063,12 @@ section [%2d] '%s': symbol %d: local symbol with global scope\n"),
        }
       else if (*versym != VER_NDX_LOCAL)
        {
+         /* Versioned symbol.  Make sure it is not defined as local.  */
+         if (!gnuld && GELF_ST_BIND (sym->st_info) == STB_LOCAL)
+           ERROR (gettext ("\
+section [%2d] '%s': symbol %d: local symbol with version\n"),
+                  idx, section_name (ebl, idx), cnt);
+
          /* Look through the list of defined versions and locate the
             index we need for this symbol.  */
          struct version_namelist *runp = version_namelist;