[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] rules.mak: Use -r instead of -Wl, -r to fix bui
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [PATCH] rules.mak: Use -r instead of -Wl, -r to fix building when PIE is default |
Date: |
Mon, 28 Nov 2016 16:42:54 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 |
On 28/11/2016 16:38, Paolo Bonzini wrote:
>
>
> On 28/11/2016 16:24, Adrian Bunk wrote:
>> On Mon, Nov 28, 2016 at 04:05:33PM +0100, Paolo Bonzini wrote:
>>>
>>>
>>> On 27/11/2016 17:28, Adrian Bunk wrote:
>>>> Building qemu fails in distributions where gcc enables PIE
>>>> by default (e.g. Debian unstable) with:
>>>> /usr/bin/ld: -r and -pie may not be used together
>>>>
>>>> -r and -pie cannot be used together in the linker,
>>>> and position independent is already relocatable.
>>>>
>>>> Use -r instead of -Wl,-r to avoid gcc passing -r to the
>>>> linker when PIE is enabled.
>>>>
>>>> Signed-off-by: Adrian Bunk <address@hidden>
>>>
>>> I think this is a bug in the linker. If the linker is producing
>>> relocatable objects by default, it has no reason to refuse -r. Have you
>>> tried asking the binutils folks about it too?
>>
>> The linker knows nothing about this default, gcc is passing -pie
>> to the linker.
>
> The linker is receiving "-r -pie". It can satisfy the requirement of
> producing a relocatable object by discarding the "-r", but it doesn't.
> That'd be a linker bug.
>
> But in fact ELF makes PIE ET_DYN and relocatable ET_REL. That would
> make the linker error the right thing, but then I don't understand what
> you mean by "position independent is already relocatable".
Aha, I looked at GCC source code and this is incorrect: "Use -r instead
of -Wl,-r to avoid gcc passing -r to the linker when PIE is enabled".
When GCC sees -r (as opposed to -Wl,-r) it does not pass -pie to the linker.
Paolo
- [Qemu-devel] [PATCH] rules.mak: Use -r instead of -Wl, -r to fix building when PIE is default, Adrian Bunk, 2016/11/27
- Re: [Qemu-devel] [PATCH] rules.mak: Use -r instead of -Wl, -r to fix building when PIE is default, Paolo Bonzini, 2016/11/28
- Re: [Qemu-devel] [PATCH] rules.mak: Use -r instead of -Wl, -r to fix building when PIE is default, Adrian Bunk, 2016/11/28
- Re: [Qemu-devel] [PATCH] rules.mak: Use -r instead of -Wl, -r to fix building when PIE is default, Paolo Bonzini, 2016/11/28
- Re: [Qemu-devel] [PATCH] rules.mak: Use -r instead of -Wl, -r to fix building when PIE is default,
Paolo Bonzini <=
- Re: [Qemu-devel] [PATCH] rules.mak: Use -r instead of -Wl, -r to fix building when PIE is default, Adrian Bunk, 2016/11/28
- Re: [Qemu-devel] [PATCH] rules.mak: Use -r instead of -Wl, -r to fix building when PIE is default, Stefan Hajnoczi, 2016/11/29
- Re: [Qemu-devel] [PATCH] rules.mak: Use -r instead of -Wl, -r to fix building when PIE is default, Paolo Bonzini, 2016/11/29