[llvm-commits] [llvm] r146054 - in /llvm/trunk: lib/MC/MachObjectWriter.cpp lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp test/MC/MachO/ARM/darwin-ARM-reloc.s test/MC/MachO/reloc-pcrel-offset.s test/MC/MachO/reloc-pcrel.s
Jim Grosbach
grosbach at apple.com
Wed Dec 7 11:58:34 PST 2011
On Dec 7, 2011, at 11:54 AM, Eli Friedman wrote:
> On Wed, Dec 7, 2011 at 11:46 AM, Jim Grosbach <grosbach at apple.com> wrote:
>> Author: grosbach
>> Date: Wed Dec 7 13:46:59 2011
>> New Revision: 146054
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=146054&view=rev
>> Log:
>> Darwin assembler improved relocs when w/o subsections_via_symbols.
>>
>> When the file isn't being built with subsections-via-symbols, symbol
>> differences involving non-local symbols can be resolved more aggressively.
>> Needed for gas compatibility.
>>
>>
>> Modified:
>> llvm/trunk/lib/MC/MachObjectWriter.cpp
>> llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp
>> llvm/trunk/test/MC/MachO/ARM/darwin-ARM-reloc.s
>> llvm/trunk/test/MC/MachO/reloc-pcrel-offset.s
>> llvm/trunk/test/MC/MachO/reloc-pcrel.s
>>
>> Modified: llvm/trunk/lib/MC/MachObjectWriter.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/MachObjectWriter.cpp?rev=146054&r1=146053&r2=146054&view=diff
>> ==============================================================================
>> --- llvm/trunk/lib/MC/MachObjectWriter.cpp (original)
>> +++ llvm/trunk/lib/MC/MachObjectWriter.cpp Wed Dec 7 13:46:59 2011
>> @@ -584,9 +584,14 @@
>> // requires the compiler to use .set to absolutize the differences between
>> // symbols which the compiler knows to be assembly time constants, so we
>> // don't need to worry about considering symbol differences fully resolved.
>> + //
>> + // If the file isn't using sub-sections-via-symbols, we can make the
>> + // same assumptions about any symbol that we normally make about
>> + // assembler locals.
>>
>> if (!Asm.getBackend().hasReliableSymbolDifference()) {
>> - if (!SA.isTemporary() || !SA.isInSection() || &SecA != &SecB)
>> + if ((!SA.isTemporary() && Asm.getSubsectionsViaSymbols()) ||
>> + !SA.isInSection() || &SecA != &SecB)
>> return false;
>> return true;
>> }
>>
>> Modified: llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp?rev=146054&r1=146053&r2=146054&view=diff
>> ==============================================================================
>> --- llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp (original)
>> +++ llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp Wed Dec 7 13:46:59 2011
>> @@ -62,6 +62,9 @@
>> default:
>> return false;
>>
>> + case ARM::fixup_t2_condbranch:
>> + assert(0);
>> + return false;
>
> Did you intend to commit this bit?
>
Doh. Nope.
Thank you!
> -Eli
More information about the llvm-commits
mailing list