bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug ld/11175] New: ld marks destructor hidden global


From: raj dot khem at gmail dot com
Subject: [Bug ld/11175] New: ld marks destructor hidden global
Date: 15 Jan 2010 06:32:23 -0000

This bug is appearing while linking opie libraries. I have a self contained 
test.

The error message is

launcher.o: In function `Launcher::properties(AppLnk*)':
launcher.cpp:(.text+0x21c8): undefined reference to
`LnkProperties::~LnkProperties()'

the fist link generate a shared library which contains HIDDEN for visibility
for this symbol with out the fix for PR #9679 this works fine because visibility
is default.

The problem is happening after the fix for PR #9679 was committed.
Particularly

   /* Skip weak definitions of symbols that are already defined.  */
   if (newdef && olddef && newweak)
-    *skip = TRUE;
+    {
+      *skip = TRUE;
+
+      /* Merge st_other.  If the symbol already has a dynamic index,
+        but visibility says it should not be visible, turn it into a
+        local symbol.  */
+      elf_merge_st_other (abfd, h, sym, newdef, newdyn);
+      if (h->dynindx != -1)
+       switch (ELF_ST_VISIBILITY (h->other))
+         {
+         case STV_INTERNAL:
+         case STV_HIDDEN:
+           (*bed->elf_backend_hide_symbol) (info, h, TRUE);
+           break;
+         }
+    }

is causing the link to fail.

-- 
           Summary: ld marks destructor hidden global
           Product: binutils
           Version: 2.21 (HEAD)
            Status: NEW
          Severity: normal
          Priority: P2
         Component: ld
        AssignedTo: unassigned at sources dot redhat dot com
        ReportedBy: raj dot khem at gmail dot com
                CC: bug-binutils at gnu dot org,hjl dot tools at gmail dot
                    com
 GCC build triplet: i686-linux
  GCC host triplet: i686-linux
GCC target triplet: arm-oe-linux-gnueabi


http://sourceware.org/bugzilla/show_bug.cgi?id=11175

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]