[LLVMbugs] [Bug 17967] New: Temporary symbol is public

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Sun Nov 17 09:02:14 PST 2013


http://llvm.org/bugs/show_bug.cgi?id=17967

            Bug ID: 17967
           Summary: Temporary symbol is public
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: release blocker
          Priority: P
         Component: Backend: X86
          Assignee: unassignedbugs at nondot.org
          Reporter: kai at redstar.de
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified

Created attachment 11560
  --> http://llvm.org/bugs/attachment.cgi?id=11560&action=edit
Assembler file to reproduce problem

If Dwarf exception code is emitted into a COFF file on Windows 64, then the
temporary labels used for calculating the difference between function start and
landingpad are defined as public.

The labels are created in AsmPrinter.cpp as follows (method
EmitLabelDifference):

  // Otherwise, emit with .set (aka assignment).
  MCSymbol *SetLabel = GetTempSymbol("set", SetCounter++);
  OutStreamer.EmitAssignment(SetLabel, Diff);
  OutStreamer.EmitSymbolValue(SetLabel, Size);

The resulting .Lset0, .Lset1, ... labels are public despite being a temporary
symbol. This also happens with assembler files. Just assemble the attached file
and disassemble to check visibility of .LsetN labels.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20131117/fc383b51/attachment.html>


More information about the llvm-bugs mailing list