Re: [PATCH v2 02/18] make: add -fPIE flag
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Sep 19, 2025, 23:43 UTC
- Message-ID
- <xmqqa52qypo8.fsf@gitster.g>
- In-Reply-To
- <CAH=ZcbDvwbCdnpeNv6vp=+Zy1h8RpG125ZCQNUzNOc5qLi8gNg@mail.gmail.com>
Ezekiel Newren <ezekielnewren@gmail.com> writes:
Show 20 quoted lines
> On Fri, Sep 19, 2025 at 2:07 PM Junio C Hamano <gitster@pobox.com> wrote: >> >> Ezekiel Newren <ezekielnewren@gmail.com> writes: >> >> > I was trying to get the rust compiler to link against libgit.a. Both >> > Meson and Makefile produce libgit.a. No changes were to meson.build >> > were necessary for that to work, but but with Makefile I would get >> > errors like: >> > relocation R_X86_64_32 against `.rodata' can not be used when making a >> > PIE object; recompile with -fPIE >> >> This sounds like a workaround that is somewhat platform and compiler >> specific limitation, at least to me. Does this need to be conditional >> and if so on what? > > I don't know, but I have another question to add to yours. Why does > Make need -fPIE in order for the Rust compiler to link against > libgit.a created by Make, when Meson doesn't seem to specify PIE > anywhere and yet the Rust compiler can work with Meson's libgit.a > output?
I do not know what the build procedure using meson exactly does to create a library archive. On the Make side, we do not compile for position independence, and don't do anything other than bog standard "ar rcs". Patrick, any hint?