Displaying 13 results from an estimated 13 matches for "gotoff".
Did you mean:
gmtoff
2014 Mar 14
3
[LLVMdev] [ARM] [PIC] optimizing the loading of hidden global variable
>> Any thoughs?
>
> I'm now struggling to see how GCC justifies it. What if a different
> translation-unit declared those variables in a different order? I also
> can't get the same behaviour here, do you have a more complete
> command-line?
Ah, I see; the translation-unit that does the optimisation needs to
have them as a definition (i.e. "= {0}") rather
2016 Oct 27
1
PIC and mcmodel=large on x86 doesn't use any relocations
...extern int *dptr; // .extern dptr
void DataLoadAndStore() {
// Large Memory Model code sequences from AMD64 abi
// Figure 3.22: Position-Independent Global Data Load and Store
//
// Assume that %r15 has been loaded with GOT address by
// function prologue.
// movabs $Lsrc at GOTOFF,%rax ; R_X86_64_GOTOFF64
// movabs $Ldst at GOTOFF,%rdx ; R_X86_64_GOTOFF64
// movl (%rax,%r15),%ecx
// movl %ecx,(%rdx,%r15)
dst = src;
// movabs $dptr at GOT,%rax ; R_X86_64_GOT64
// movabs $Ldst at GOTOFF,%rdx ; R_X86_64_GOTOFF64
// movq (%rax,%r15),%rax
// leaq (...
2014 Mar 14
2
[LLVMdev] [ARM] [PIC] optimizing the loading of hidden global variable
...i32]* @g0 to i8*))
tail call void @bar(i8* bitcast ([100 x i32]* @g1 to i8*))
ret void
}
declare void @bar(i8*)
The command "llc -mtriple=i686-pc-linux -relocation-model=pic" produces
calll .L0$pb
.L0$pb:
popl %ebx
.Ltmp3:
addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp3-.L0$pb), %ebx leal g0 at GOTOFF(%ebx), %eax movl %eax, (%esp) calll bar at PLT leal g1 at GOTOFF(%ebx), %eax movl %eax, (%esp) calll bar at PLT
Which is ok , since the add of ebx is folded and the constant is an immediate in x86.
On ARM, that is not the case. We produce
ldr r0, .LCPI0_0
add r4, pc, r0 /...
2013 Dec 10
2
[LLVMdev] [cfe-dev] ARM Integrated Assembler
On 10 December 2013 15:35, Joerg Sonnenberger <joerg at britannica.bec.de> wrote:
> Without it, -save-temps is broken. As such it falls into a pretty
> basic use case.
Hi Joerg,
I couldn't find anything in bugzilla that matched your description,
but it seems like a pretty bad problem, can you point us to the
discussion so we can decide whether it should be fixed now, or after
the
2013 Dec 10
0
[LLVMdev] [cfe-dev] ARM Integrated Assembler
...retty bad problem, can you point us to the
> discussion so we can decide whether it should be fixed now, or after
> the move.
I haven't created a bug report yet. From memory, the following things
are missing and higher-priority:
Pseudo-ops:
.abicalls
.fpu
.arch
.cpu
Modifiers:
foo(GOTOFF)
foo(GOT)
foo(PLT)
ldr is a separate issue with a pending patch.
Joerg
2013 Dec 10
2
[LLVMdev] [cfe-dev] ARM Integrated Assembler
...ty:
This is looking hopeful.
> Pseudo-ops:
> .abicalls
This is MIPS-only.
> .fpu
> .arch
> .cpu
I think there was some opinion that directives like these weren't
essential (well, I certainly hold the opinion!)
> Modifiers:
> foo(GOTOFF)
> foo(GOT)
> foo(PLT)
I think David fixed these in r196424.
> ldr is a separate issue with a pending patch.
Yep. It'll probably go in in the next few days. Just as soon as we
chain Jim to a computer long enough to give it his blessing.
Cheers.
Tim.
2012 Mar 20
0
[LLVMdev] Runtime linker issue wtih X11R6 on i386 with -O3 optimization
...Ltmp4:
.cfi_def_cfa_offset 8
.Ltmp5:
.cfi_offset %ebp, -8
movl %esp, %ebp
.Ltmp6:
.cfi_def_cfa_register %ebp
pushl %ebx
subl $20, %esp
.Ltmp7:
.cfi_offset %ebx, -12
calll .L0$pb
.L0$pb:
popl %eax
.Ltmp8:
addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp8-.L0$pb), %eax
movl 8(%ebp), %ecx
leal .L.str at GOTOFF(%eax), %edx
movl %ecx, -8(%ebp)
.loc 1 13 2 prologue_end # a.c:13:2
.Ltmp9:
movl -8(%ebp), %ecx
movl %edx, (%esp)
movl %ecx, 4(%esp)
movl %eax, %ebx
calll printf at PLT
.loc 1 14 1 # a.c:14:1
movl %eax, -12(%ebp) # 4-byte Spill
addl $20, %esp
popl %ebx
popl...
2013 Dec 10
0
[LLVMdev] [cfe-dev] ARM Integrated Assembler
...irectives like these weren't
> essential (well, I certainly hold the opinion!)
At least either .march or .cpu is required for dealing with the infamous
"you have the wrong CPU to use instruction X" issue. I'm not sure about
.fpu yet.
> > Modifiers:
> > foo(GOTOFF)
> > foo(GOT)
> > foo(PLT)
>
> I think David fixed these in r196424.
Will test this ASAP.
> > ldr is a separate issue with a pending patch.
>
> Yep. It'll probably go in in the next few days. Just as soon as we
> chain Jim to a computer long...
2016 Oct 18
2
Proposal: arbitrary relocations in constant global initializers
...tends. For
> example, a frontend may need to represent some other kind of
> custom/specific
> instruction sequence in IR, or to create arbitrary kinds of references
> between
> objects where that may be beneficial (for example, -fsanitize=function may
> use this facility to create GOTOFF relocations in function prologues to
> avoid creating dynamic relocations in the .text section to fix PR17633).
>
> Thanks,
> --
> Peter
>
> [1] http://www.pcc.me.uk/~peter/acad/usenix14.pdf
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
UR...
2015 Jul 29
0
[LLVMdev] Proposal: arbitrary relocations in constant global initializers
...sed for other purposes by frontends. For
example, a frontend may need to represent some other kind of custom/specific
instruction sequence in IR, or to create arbitrary kinds of references between
objects where that may be beneficial (for example, -fsanitize=function may
use this facility to create GOTOFF relocations in function prologues to
avoid creating dynamic relocations in the .text section to fix PR17633).
Thanks,
--
Peter
[1] http://www.pcc.me.uk/~peter/acad/usenix14.pdf
1998 Oct 13
1
Assembler messages?
Up to now I have got the base R and about half of the packages
working on SuSe Linux 5.3 using gcc, g77 and xdevel.
The other half, for example: pspline, logspline, KernSmooth, akima,
tripack, ppr, principal.curve, cluster, funfit, repeated, event, etc.,
just won't install.
Some of them give warnings at expressions in subroutines (repeated,
event, pspline,etc.. I will ask about this in
1998 Oct 13
1
Assembler messages?
Up to now I have got the base R and about half of the packages
working on SuSe Linux 5.3 using gcc, g77 and xdevel.
The other half, for example: pspline, logspline, KernSmooth, akima,
tripack, ppr, principal.curve, cluster, funfit, repeated, event, etc.,
just won't install.
Some of them give warnings at expressions in subroutines (repeated,
event, pspline,etc.. I will ask about this in
2012 Dec 31
5
[LLVMdev] [lld] Linker script findings.
...y for good diagnostics
================================
In a few linker scripts in the kernel, there is a comment like this:
/DISCARD/ : {
/*
* Discard any r/w data - this produces a link error if we have any,
* which is required for PIC decompression. Local data generates
* GOTOFF relocations, which prevents it being relocated independently
* of the text/got segments.
*/
*(.data)
}
It would be nice if there were some way to directly provide them with the
check that they want here and give a nice explanatory diagnostic if it
fails.
Another place for good dia...