[LLVMbugs] [Bug 8814] New: [MC assembler] .set directives don't seem to work

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Sat Dec 18 17:42:55 PST 2010


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

           Summary: [MC assembler] .set directives don't seem to work
           Product: new-bugs
           Version: trunk
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: new bugs
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: dimitry at andric.com
                CC: llvmbugs at cs.uiuc.edu


It appears .set directives (synonymous with .equ, according to the
binutils docs) do not work, at least not with constant expressions.
This is on x86_64 and i386, with ELF format, but it may also apply to
other arches and object formats, I have not tested those.

Reduced testcase:

.set kernbase,0xffffffff80000000

Assembling this with GNU as gives the following symbol table in the
resulting .o file:

Symbol table '.symtab' contains 5 entries:
   Num:    Value          Size Type    Bind   Vis      Ndx Name
     0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND
     1: 0000000000000000     0 SECTION LOCAL  DEFAULT    1
     2: 0000000000000000     0 SECTION LOCAL  DEFAULT    2
     3: 0000000000000000     0 SECTION LOCAL  DEFAULT    3
     4: ffffffff80000000     0 NOTYPE  LOCAL  DEFAULT  ABS kernbase

Assembling with integrated-as (r122159) gives:

Symbol table '.symtab' contains 5 entries:
   Num:    Value          Size Type    Bind   Vis      Ndx Name
     0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND
     1: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  ABS kernbase
     2: 0000000000000000     0 SECTION LOCAL  DEFAULT    1
     3: 0000000000000000     0 SECTION LOCAL  DEFAULT    2
     4: 0000000000000000     0 SECTION LOCAL  DEFAULT    3

E.g. the 'kernbase' symbol is not assigned properly.

-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list