summaryrefslogtreecommitdiffstats
path: root/src/elflint.c
diff options
context:
space:
mode:
authorUlrich Drepper <[email protected]>2005-08-24 19:50:14 +0000
committerUlrich Drepper <[email protected]>2005-08-24 19:50:14 +0000
commitc5a06cd2a5f48351b273872ed3e4a2d63d29e459 (patch)
tree5b4af45d907853e2af6a845f9069bae61ce81568 /src/elflint.c
parent2eb660fdc52b3aaab6215fc245743d0edfb251f4 (diff)
One more elflint version symbol test.
Diffstat (limited to 'src/elflint.c')
-rw-r--r--src/elflint.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/elflint.c b/src/elflint.c
index 206a82b3..d91ac0f8 100644
--- a/src/elflint.c
+++ b/src/elflint.c
@@ -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;