From: Ben Wolsieffer <ben.wolsieffer@hefring.com>
To: Arnout Vandecappelle <arnout@mind.be>
Cc: Vladimir Murzin <vladimir.murzin@arm.com>,
"Yann E. MORIN" <yann.morin.1998@free.fr>,
Thomas Petazzoni <thomas.petazzoni@bootlin.com>,
buildroot@buildroot.org
Subject: Re: [Buildroot] [PATCH 0/2] Add support for FDPIC binaries on ARM
Date: Tue, 16 Aug 2022 16:40:54 -0400 [thread overview]
Message-ID: <YvwA1lYOHZXK0GvU@hefring> (raw)
In-Reply-To: <7d0fcbf1-144e-b6d3-7b38-6caa3348703d@mind.be>
On Sun, Aug 14, 2022 at 11:55:37PM +0200, Arnout Vandecappelle wrote:
> >
> > I've been playing around with NPTL and FDPIC and it doesn't quite work
> > perfectly out of the box. Static libraries (linked into a dynamic
> > executable) crash when attempting to use TLS. In addition, the reason
> > static libraries are even being used is because libtool doesn't recognize
> > the target name and therefore thinks it can't build shared libaries.
> >
> > There was a patch [1] submitted a few years ago to add the target to
> > libtool, but it looks like it was ignored. Unfortunately, we can't just
> > apply it in Buildroot, unless we want to run autoreconf on every
> > package. I'm working around this locally with a hacky hook to patch
> > configure scripts, but I'm not sure it is appropriate to upstream.
>
> This problem exists for a number of architectures. For that reason, we have
> a workaround: the LIBTOOL_PATCH_HOOK [1]. For any autotools package, we
> search for ltmain.sh files in the source, parse out the libtool version from
> it, and apply the appropriate patch from support/libtool/
>
> In other words, the solution is to extend the patches in support/libtool/
> with the missing architecture.
>
In this case, the relevant file is libtool.m4, and this file gets
expanded into configure. Therefore, we either need a patch for configure
for each libtool version (like LIBTOOL_PATCH_HOOK), or use sed to patch
any matches against "linux*". I've been using the sed solution, which is
far simpler, but I'm not sure it is clean enough to be included upstream.
Ben
>
> Regards,
> Arnout
>
> [1] https://gitlab.com/buildroot.org/buildroot/-/blob/master/package/pkg-autotools.mk#L60
>
>
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
prev parent reply other threads:[~2022-08-16 20:41 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-02 13:30 [Buildroot] [PATCH 0/2] Add support for FDPIC binaries on ARM Ben Wolsieffer
2022-08-02 13:30 ` [Buildroot] [PATCH 1/2] Revert "arch: drop now useless support for FDPIC" Ben Wolsieffer
2022-08-02 13:30 ` [Buildroot] [PATCH 2/2] arch/arm: add support for FDPIC Ben Wolsieffer
2022-08-02 17:28 ` Arnout Vandecappelle
[not found] ` <b71a7617-3e26-14ef-6fe6-45e766924270@arm.com>
2022-08-11 21:37 ` [Buildroot] [PATCH 0/2] Add support for FDPIC binaries on ARM Ben Wolsieffer
2022-08-14 21:55 ` Arnout Vandecappelle
2022-08-16 20:40 ` Ben Wolsieffer [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=YvwA1lYOHZXK0GvU@hefring \
--to=ben.wolsieffer@hefring.com \
--cc=arnout@mind.be \
--cc=buildroot@buildroot.org \
--cc=thomas.petazzoni@bootlin.com \
--cc=vladimir.murzin@arm.com \
--cc=yann.morin.1998@free.fr \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.