[LLVMdev] LLVM ERROR: expected relocatable expression

Shankar Easwaran shankare at codeaurora.org
Mon Sep 23 06:05:49 PDT 2013


On 9/23/2013 1:45 AM, Eli Friedman wrote:
> On Sun, Sep 22, 2013 at 9:43 PM, Shankar Easwaran 
> <shankare at codeaurora.org <mailto:shankare at codeaurora.org>> wrote:
>
>     Hi Eli,
>
>     Slightly changed the example :-
>
>     .section somedata
>     .Ltmpa:
>     .word 100
>     .Ltmpb:
>     .word 60
>     .Ltmpc:
>     .word 40
>     .Ltmpd:
>     .word   (.Ltmpa-.Ltmpb)-.Ltmpc
>
>     The GNU assembler properly handles the above.
>
>     $as -c x.s -o x.o
>     $readelf -x 4 x.o
>
>     Hex dump of section 'somedata':
>      NOTE: This section has relocations against it, but these have NOT
>     been applied to this dump.
>       0x00000000 64003c00 28000000 d.<.(...
>     ^^^^ (Calculated properly too!)
>     With clang/llvm-mc
>
>     $ llvm-mc -filetype=obj x.s -o x.o
>
>     LLVM ERROR: expected relocatable expression
>
>     Looks like llvm-mc is more restrictive ?
>
>
>
> Emitting the relocation in question requires *negating* the address of 
> a variable.  I could be wrong, but I'm pretty sure there isn't any way 
> to represent that in ELF.
Sorry for not setting context here. These variables are all local 
variables, is there a need to create a relocation ?

Thanks

Shankar Easwaran

-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by the Linux Foundation

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130923/0122c7e7/attachment.html>


More information about the llvm-dev mailing list