search for: body_ok

Displaying 7 results from an estimated 7 matches for "body_ok".

2012 Mar 22
2
[LLVMdev] Sorting relocation entries
...to be reordered so that the got16/lo16 or hi16/lo16 pairs appear consecutively in the relocation table. As a result, relocations can appear in a different order than the instructions that they're for. For example, in this code, the post-RA scheduler inserts an instruction with relocation %got(body_ok) between %got(scope_top) and %lo(scope_top). $ cat z29.s lw $3, %got(scope_top)($gp) lw $2, %got(body_ok)($gp) lw $3, %lo(scope_top)($3) addiu $2, $2, %lo(body_ok) This is the assembled program generated by gas: $ mips-linux-gnu-objdump -dr z29.gas.o 748: 8f830000 l...
2012 Mar 22
0
[LLVMdev] Sorting relocation entries
...> got16/lo16 or hi16/lo16 pairs appear consecutively in the relocation > table. As a result, relocations can appear in a different order than > the instructions that they're for. > > For example, in this code, the post-RA scheduler inserts an > instruction with relocation %got(body_ok) between %got(scope_top) and > %lo(scope_top). > > $ cat z29.s >  lw  $3, %got(scope_top)($gp) >  lw  $2, %got(body_ok)($gp) >  lw  $3, %lo(scope_top)($3) >  addiu $2, $2, %lo(body_ok) > > This is the assembled program generated by gas: > $  mips-linux-gnu-objdump -dr...
2012 Mar 22
2
[LLVMdev] Sorting relocation entries
...16/lo16 pairs appear consecutively in the relocation >> table. As a result, relocations can appear in a different order than >> the instructions that they're for. >> >> For example, in this code, the post-RA scheduler inserts an >> instruction with relocation %got(body_ok) between %got(scope_top) and >> %lo(scope_top). >> >> $ cat z29.s >> lw $3, %got(scope_top)($gp) >> lw $2, %got(body_ok)($gp) >> lw $3, %lo(scope_top)($3) >> addiu $2, $2, %lo(body_ok) >> >> This is the assembled program generated by ga...
2012 Mar 21
0
[LLVMdev] Sorting relocation entries
Hi Akira, If I follow correctly, the relocation entries can thus be in a different order than the instructions that they're for? That seems a bit odd, but I suppose there's nothing inherently wrong with that. It's just not something, AFAIK, that llvm has had to deal with before. This should definitely be a target-specific thing, not a general ELFObjectWriter thing, as other targets
2012 Mar 19
2
[LLVMdev] Sorting relocation entries
What would be the best way to sort relocation entries before they are written out in ELFObjectWriter::WriteRelocationsFragment? According to the Mips ABI documents I have, there are certain restrictions on the order relocations appear in the table (e.g. R_MIPS_HI16 and R_MIPS_GOT16 must be followed immediately by a R_MIPS_LO16). When I enable post RA scheduling, some of the restrictions are
2012 Mar 23
0
[LLVMdev] Sorting relocation entries
...r consecutively in the relocation >>> table. As a result, relocations can appear in a different order than >>> the instructions that they're for. >>> >>> For example, in this code, the post-RA scheduler inserts an >>> instruction with relocation %got(body_ok) between %got(scope_top) and >>> %lo(scope_top). >>> >>> $ cat z29.s >>>  lw  $3, %got(scope_top)($gp) >>>  lw  $2, %got(body_ok)($gp) >>>  lw  $3, %lo(scope_top)($3) >>>  addiu $2, $2, %lo(body_ok) >>> >>> This is the...
2012 Mar 23
1
[LLVMdev] Sorting relocation entries
...e relocation >>>> table. As a result, relocations can appear in a different order than >>>> the instructions that they're for. >>>> >>>> For example, in this code, the post-RA scheduler inserts an >>>> instruction with relocation %got(body_ok) between %got(scope_top) and >>>> %lo(scope_top). >>>> >>>> $ cat z29.s >>>> lw $3, %got(scope_top)($gp) >>>> lw $2, %got(body_ok)($gp) >>>> lw $3, %lo(scope_top)($3) >>>> addiu $2, $2, %lo(body_ok) >>...