From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH] autossh: honour LDFLAGS
Date: Mon, 28 Nov 2016 22:28:34 +0100 [thread overview]
Message-ID: <20161128222834.37958cd9@free-electrons.com> (raw)
In-Reply-To: <20161125180016.GA360@waldemar-brodkorb.de>
Hello,
On Fri, 25 Nov 2016 19:00:16 +0100, Waldemar Brodkorb wrote:
> Fixes:
> http://autobuild.buildroot.net/results/08a458572a2e9c599dd32b837b1e5c02a6721973
>
> Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
> ---
> It is indeed a change from uClibc-ng 1.0.18 and upward, but I think
> it is the fault of the package not respecting LDFLAGS and so not
> passing -static. I am unsure why it just worked in the past.
> When it fails linker is doing following:
> -lnsl -lgcc -lc -lgcc
> When -static is used, following is passed:
> -lnsl --start-group -lgcc -lc --end-group
Applied to master.
The difference in the gcc behavior is due to gcc/config/gnu-user.h:
#define LINK_GCC_C_SEQUENCE_SPEC \
"%{static:--start-group} %G %L %{static:--end-group}%{!static:%G}"
So, when you're linking dynamic, you have:
-lgcc -lc -lgcc
And when you're linking statically, you have:
--start-group -lgcc -lc --end-group
The --start-group/--end-group ask the linker to loop between -lgcc and
-lc until all unresolved symbols have been resolved. So
dl_iterate_phdr() being defined in the C library, but used in libgcc, I
guess the dynamic way (-lgcc -lc -lgcc) doesn't work.
However, this interestingly doesn't happen for other architectures such
as ARM. Maybe dl_iterate_phdr is not used?
In any case, could you try to send your patch upstream to the autossh
developers?
Thanks!
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
next prev parent reply other threads:[~2016-11-28 21:28 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-11-25 18:00 [Buildroot] [PATCH] autossh: honour LDFLAGS Waldemar Brodkorb
2016-11-28 21:28 ` Thomas Petazzoni [this message]
2016-11-28 23:22 ` Max Filippov
2016-11-29 4:16 ` Waldemar Brodkorb
2016-11-29 8:43 ` Thomas Petazzoni
2016-11-29 22:50 ` Max Filippov
2016-11-30 5:00 ` Waldemar Brodkorb
2016-12-01 18:20 ` Waldemar Brodkorb
2016-12-02 5:12 ` Max Filippov
2016-12-02 5:25 ` Waldemar Brodkorb
2016-12-03 2:12 ` Max Filippov
2016-12-04 12:06 ` Waldemar Brodkorb
2016-12-05 3:24 ` Max Filippov
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=20161128222834.37958cd9@free-electrons.com \
--to=thomas.petazzoni@free-electrons.com \
--cc=buildroot@busybox.net \
/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.