|
Message-ID: <CAMKF1srDwhkx++8WOKwtsu8NSwHXkA-29_wf0=yAe8o5Y=dUuw@mail.gmail.com> Date: Wed, 18 Sep 2019 07:28:44 -0700 From: Khem Raj <raj.khem@...il.com> To: musl@...ts.openwall.com Cc: Andre McCurdy <armccurdy@...il.com> Subject: Re: [PATCH] arm: avoid conditional branch to PLT in sigsetjmp.s On Tue, Sep 17, 2019 at 11:04 PM Andre McCurdy <armccurdy@...il.com> wrote: > > The R_ARM_THM_JUMP19 relocation type generated for the original code > when targeting Thumb 2 is not supported by the gold linker: > > | .../arm-oe-linux-musleabi/9.2.0/ld: error: conditional branch to PLT in THUMB-2 not supported yet. > | src/signal/arm/sigsetjmp.s:9: error: unexpected opcode while processing relocation R_ARM_THM_JUMP19 if it is thumb2 specific another option could be to use `it eq` before beq which should turn branch into an unconditional branch, which then uses R_ARM_THM_JUMP24 relocation that has a range of 16MB. > --- > src/signal/arm/sigsetjmp.s | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/src/signal/arm/sigsetjmp.s b/src/signal/arm/sigsetjmp.s > index 318addba..69ebbf49 100644 > --- a/src/signal/arm/sigsetjmp.s > +++ b/src/signal/arm/sigsetjmp.s > @@ -6,9 +6,10 @@ > sigsetjmp: > __sigsetjmp: > tst r1,r1 > - beq setjmp > + bne 1f > + b setjmp > > - str lr,[r0,#256] > +1: str lr,[r0,#256] > str r4,[r0,#260+8] > mov r4,r0 > > -- > 2.23.0 >
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.