Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Wed, 18 Sep 2019 15:54:06 -0400
From: Rich Felker <>
Subject: Re: [PATCH] arm: avoid conditional branch to PLT in

On Wed, Sep 18, 2019 at 10:52:13AM -0700, Andre McCurdy wrote:
> On Wed, Sep 18, 2019 at 7:29 AM Khem Raj <> wrote:
> > On Tue, Sep 17, 2019 at 11:04 PM Andre McCurdy <> 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.
> That would work too. Thumb 2 specific code would need to be guarded by
> #ifdef __thumb2__ though (which I think implies also renaming the file
> from .s to .S ?) and I'm not sure if the extra complexity justifies
> saving one instruction in the ARM case.

I don't think it does. Also, current style is not to use "it" at all,
but rather -Wa,-mimplicit-it=always. I'm not sure if unified syntax
accepts "it" in arm mode when the following insn has a matching
condition suffix, but here it wouldn't I think...


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.