mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
From: Michael Olbrich <m.olbrich@pengutronix.de>
To: ptxdist@pengutronix.de
Subject: Re: [ptxdist] (no subject)
Date: Fri, 27 Feb 2015 16:36:50 +0100	[thread overview]
Message-ID: <20150227153650.GD27612@pengutronix.de> (raw)
In-Reply-To: <1E9AED858BEB204B9DE4F807C7ED0EF617CE1973@EMSRVWIN2934.apps.edc.thyssenkrupp.com>

On Fri, Feb 27, 2015 at 09:24:20AM +0000, Rüdiger, Christoph wrote:
> > On Fri, Feb 27, 2015 at 08:48:42AM +0000, Rüdiger, Christoph wrote:
> > > Am 26.02.15 um 13:23 schrieb Michael Olbrich:> On Tue, Feb 24, 2015 at
> > 09:28:29PM +0000, Rüdiger, Christoph wrote:
> > > >> Am 23.02.15 um 12:24 schrieb Michael Olbrich:> On Mon, Feb 23, 2015 at
> > 09:13:56AM +0000, Rüdiger, Christoph wrote:
> > > >>>>> On Mon, Feb 23, 2015 at 01:38:40AM +0200, Anders Montonen
> > wrote:
> > > >>>> You need to install a lot of GNU tools from exteranl sources
> > > >>>> (homebrew, MacPorts, Fink), so I do not see any problem in
> > > >>>> including bash into this list. My bigger problem is now, that
> > > >>>> there is no GNU linker available on OS X, so you need to use the
> > > >>>> LLVM linker which does not understand the -Wl,--as-needed flag. I
> > > >>>> need to dig deeper to understand since when GNU gcc set this flag
> > > >>>> by default and what the drawback is, if we remove this flag from the
> > PTXDIST_HOST_LDFLAGS.
> > > >>>
> > > >>> Hmm, "-Wl,--as-needed" should not be added implicitly and ptxdist
> > > >>> should only add it for target packages if
> > PTXCONF_TARGET_LINKER_AS_NEEDED is set.
> > > >>
> > > >> You are right. I just cross-read an article and got the information wrong.
> > > >> According to the GNU ld man page [1], --as-needed affects the
> > > >> DT_NEEDED flag only of dynamic libraries given _after_ --as-needed.
> > > >> As ptxdist sets it as the very last flag (see below), it is a useless flag.
> > > >
> > > > Which ptxdist version are you using?
> > >
> > > For this project, I need to stick with ptxdist-2013.12.0 for building OSELAS
> > toolchain 2013.12.2.
> > >
> > > > At least for target packages we set it in the right place. For me it
> > > > looks like this:
> > > > [...]
> > > > wrapper: /usr/bin/icecc arm-v7a-linux-gnueabihf-gcc  -Wl,--as-needed
> > > > -isystem [...]/platform-arm-hf/sysroot-target/include -isystem
> > > > [...]/platform-arm-hf/sysroot-target/usr/include  -O3
> > > > -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -o minigzip minigzip.o -L.
> > > > libz.a -L[...]/platform-arm-hf/sysroot-target/lib
> > > > -L[...]/platform-arm-hf/sysroot-target/usr/lib -Wl,-rpath-link
> > > > -Wl,[...]/platform-arm-hf/sysroot-target/lib -Wl,-rpath-link
> > > > -Wl,[...]/platform-arm-hf/sysroot-target/usr/lib
> > > > [...]
> > > >
> > > > The wrapper script adds it before the other options.
> > > >
> > > >>> If you start ptxdist with '-v' then all calls to the compiler and
> > > >>> linker are logged. Look for lines starting with 'wrapper:' in the logfile.
> > > >>
> > > >>
> > > >> wrapper:  gcc  -isystem
> > > >> /Volumes/BlueBox/src/OSELAS.Toolchain-2013.12.2/platform-arm-
> > cortex
> > > >> a8-linux-gnueabihf-gcc-4.8.3-glibc-2.18-binutils-2.24-kernel-3.12-s
> > > >> anitized/sysroot-host/include -O3 -DNO_FSEEKO -DNO_STRERROR
> > > >> -DNO_vsnprintf -o minigzip minigzip.o -L. libz.a
> > > >> -L/Volumes/BlueBox/src/OSELAS.Toolchain-2013.12.2/platform-arm-
> > cort
> > > >> exa8-linux-gnueabihf-gcc-4.8.3-glibc-2.18-binutils-2.24-kernel-3.12
> > > >> -sanitized/sysroot-host/lib -Wl,-rpath
> > > >> -Wl,/Volumes/BlueBox/src/OSELAS.Toolchain-2013.12.2/platform-arm-
> > co
> > > >> rtexa8-linux-gnueabihf-gcc-4.8.3-glibc-2.18-binutils-2.24-kernel-3.
> > > >> 12-sanitized/sysroot-host/lib -Wl,-rpath
> > > >> -Wl,/this/is/a/long/path/to/make/host/tools/relocateable/with/chrpa
> > > >> th/when/using/dev/packages -Wl,--as-needed
> > > >
> > > > I'm not sure where the "-Wl,--as-needed" is comming from. The only
> > > > thing that is added at the end of the command-line is
> > > > PTXDIST_HOST_LDFLAGS and that's just the -L / -Wl,-rpath stuff.
> > >
> > > I've performed a simple grep and stripped out the wrapper and exec
> > > lines from the logfiles. This grep searched in the installed ptxdist,
> > > the ptxdist sources and the OSELAS sources, as I'm not quite sure, if
> > > it is coming from ptxdist or OSELAS toolchain project. But I tend to
> > > blame ptxdist ;-)
> > >
> > > Remember: The compilation of host-zlib within the OSELAS toolchain
> > project fails.
> > >
> > > $ grep -r -- '-Wl,--as-needed' *
> > [...]
> > > src/OSELAS.Toolchain-
> > 2013.12.2/rules/pre/toolchain.make:PTXDIST_HOST_LDFLAGS
> > 		+= -Wl,--as-needed
> > [...]
> > 
> > Here is the source of your problem. I originally added this because it some
> > really unnecessary dependencies for something in the toolchain.
> > 
> > Maybe we can only add it for the GNU ld? I'm not quite sure how to test for
> > this, because we need to check the linker called by the host compiler which
> > may not be 'ld'.
> 
> The LLVM linker is also called 'ld'. We need to check for the version string,
> which contains either "LLVM" or "GNU". If somebody can point me to a few
> places where to add this check, I can write something in the beginning of
> next week.

But it might not be the 'ld' in $PATH. So probably something like this is
necessary:
`gcc -print-prog-name=ld` -v | grep -q GNU

Michael

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

-- 
ptxdist mailing list
ptxdist@pengutronix.de

  parent reply	other threads:[~2015-02-27 15:36 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-21 23:07 Rüdiger, Christoph
2015-02-21 23:11 ` Jon Ringle
2015-02-21 23:29   ` Rüdiger, Christoph
2015-02-21 23:43     ` Rüdiger, Christoph
2015-02-22  9:38 ` Michael Olbrich
2015-02-22 19:17   ` Christoph Rüdiger
2015-02-22 23:38     ` Anders Montonen
2015-02-23  8:33       ` Michael Olbrich
2015-02-23  9:13         ` Rüdiger, Christoph
2015-02-23 11:24           ` Michael Olbrich
2015-02-24 21:28             ` Rüdiger, Christoph
2015-02-26 12:23               ` Michael Olbrich
2015-02-27  8:48                 ` Rüdiger, Christoph
2015-02-27  9:06                   ` Michael Olbrich
2015-02-27  9:24                     ` Rüdiger, Christoph
2015-02-27 10:32                       ` Juergen Borleis
2015-02-27 15:36                       ` Michael Olbrich [this message]
2015-02-27  9:23                   ` Juergen Borleis
2015-02-27  9:31                     ` Rüdiger, Christoph
  -- strict thread matches above, loose matches on Subject: below --
2021-01-24 10:36 flix.ptxdist
2018-12-11  7:41 [ptxdist] [PATCH 1/2] rules: polkit: Fix incorrect installation path Michael Olbrich
2018-12-17  8:26 ` [ptxdist] (no subject) Dold, Wolfram
     [not found] <829880836.3299556.1488275043753.ref@mail.yahoo.com>
2017-02-28  9:44 ` fredy zavis
2017-02-28 10:23   ` Juergen Borleis
2015-03-26 13:11 carsten.schlote
2015-04-02 16:22 ` Michael Olbrich
2012-10-15  9:30 Alexander Dahl
2012-10-15 10:15 ` Alexander Dahl
2012-04-26 19:41 Ali Beddah
     [not found] <WC20111103170332.35000F@rsi-elektrotechnik.dedd a simple QML demo application [V2]>
2011-11-04  7:48 ` Josef Holzmayr

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=20150227153650.GD27612@pengutronix.de \
    --to=m.olbrich@pengutronix.de \
    --cc=ptxdist@pengutronix.de \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox