search for: non_lazy_symbol_pointers

Displaying 6 results from an estimated 6 matches for "non_lazy_symbol_pointers".

2009 Jun 16
0
[LLVMdev] PIC documentation ?
...gets value of PC into %ecx (other registers can be used) movl L_x$non_lazy_ptr-"L00000000001$pb"(%ecx), %eax << gets &x; PC relative movl (%eax), %eax << gets x; indirect ret .comm _x,4,2 .section __IMPORT,__pointers,non_lazy_symbol_pointers L_x$non_lazy_ptr: .indirect_symbol _x << magic cookie for indirect references, must be in this magic section .long 0 Result of -mdynamic-no-pic: _foo: movl L_x$non_lazy_ptr, %eax << &x, not PC relative movl (%eax), %eax...
2009 Jun 16
4
[LLVMdev] PIC documentation ?
Anton, >> Can I ask what platform ABI's are documented other than Itanium ? > I'd bet all platform ABI are more or less documented. Right. Maybe we should collect references and do some LLVM PIC documentation and put it on LLVM website ? >> I need to get to understand PIC on x86, x86_64 and PowerPC for the COFF >> and MachO backends. > ABI is normally induced
2013 Mar 08
0
[LLVMdev] ARM assembler's syntax in clang
...ta_table(void) { * return &data_table[0]; * } */ movw r1, :lower16:(L_data_table$non_lazy_ptr-(LPC0_0+4)) movt r1, :upper16:(L_data_table$non_lazy_ptr-(LPC0_0+4)) LPC0_0: add r1, pc ldr r1, [r1] bx lr .section __DATA,__nl_symbol_ptr,non_lazy_symbol_pointers .align 2 L_data_table$non_lazy_ptr: .indirect_symbol _data_table .long 0 .subsections_via_symbols /* ==end use_table_m2.s== */ /* ==begin test.c ==*/ extern int data_table[]; int main(void) { int a = data_table[0]; return 0; } /* ==end test.c ==*/ /* ==Makefile== *...
2013 Mar 07
2
[LLVMdev] ARM assembler's syntax in clang
Hi Ashi, > ld: illegal text-relocation to _data_table in table.o from foo in > use_table.o for architecture armv7 It looks like you're using iOS. I'm not familiar with the exact workings of that platform, but I think a similar message would occur in ELF-land. If iOS *is* comparable, your issue is that symbols in dynamically loaded objects can't (usually) be referenced directly
2008 Sep 25
5
[LLVMdev] confused about llvm.memory.barrier
...1. llc -mcpu=core2 -mattr=+sse2,+sse3 -f -o test.s test.bc becomes 1. .text 2. .align 4,0x90 3. .globl __Z3foov 4. __Z3foov: 5. movl L_a$non_lazy_ptr, %eax 6. movl $1, (%eax) 7. nop 8. movl L_b$non_lazy_ptr, %eax 9. movl (%eax), %eax 10. ret 11. 12. .section __IMPORT,__pointers,non_lazy_symbol_pointers 13. L_a$non_lazy_ptr: 14. .indirect_symbol _a 15. .long 0 16. L_b$non_lazy_ptr: 17. .indirect_symbol _b 18. .long 0 19. .subsections_via_symbols Is the problem related to the fact that I get i386 from uname -m? If so, how can I tell override this setting during compilation? Thanks, Luke
2010 Jun 21
2
[LLVMdev] MC: Object file specific parsing
...- - // FIXME: The section names of these two are misspelled in the assembler - // manual. - if (IDVal == ".non_lazy_symbol_pointer") - return ParseDirectiveSectionSwitch("__DATA", "__nl_symbol_ptr", - MCSectionMachO::S_NON_LAZY_SYMBOL_POINTERS, - 4); - if (IDVal == ".lazy_symbol_pointer") - return ParseDirectiveSectionSwitch("__DATA", "__la_symbol_ptr", - MCSectionMachO::S_LAZY_SYMBOL_POINTERS, -...