This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: ARM linker stub changes - placement, PIC


On 24.02.2009 04:09, Daniel Jacobowitz wrote:

hardware interrupt controller.  So this should stop dropping stubs on
top of the reset vector.  No change in testsuite results, but a lot
of churn in the expected output.

Indeed, thanks for the effort!


One comment, not linked to this patch: on several occasions, I can see that andeq r0,r0,r0 (arm) / lsls r0,r0,r0 (thumb) is used as padding (opcode=0). Shouldn't there be proper "nop"s instead? (see for instance farcall-mix2 test)


The second changes "add pc, pc, ip" to "add ip, pc, ip; bx ip" when
the target is Thumb.  It turns out that add pc does not mode switch on
ARM v6, but does on ARM v7 (sometimes, under some complicated set of
conditions).  Clearly better to avoid it.  This fixes three crashes
when I locally converted the linker dump tests to execution tests.

Comments welcome! Credit to Joseph for the code in the first patch.


Thanks, both look OK to me.


Christophe.



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]