[Xenomai] Won`t build on new Debian Stable

Henning Schild henning.schild at siemens.com
Fri Oct 13 11:27:04 CEST 2017


Am Fri, 13 Oct 2017 09:13:27 +0200
schrieb Norbert Lange <nolange79 at gmail.com>:

> Hello,
> 
> I tracked down the source of information to this:
> https://wiki.ubuntu.com/SecurityTeam/PIE

Ok here they suggest to invoke gcc with "-r", which seems to be a
hidden undocumemted feature.

> I changed the flags from "-Wl,-Ur" to "-Wl,-U -r", so you wont get an

This passes "-r" to gcc and an invalid "-U" to ld. How about "-Wl,-Ur
-r" that would give the -r to ld and keep the c++ semantics.

> explanation from me, why -U has to be passed for the linker.
> And by the way, gcc accepts -U aswell, so this might be preferable to
> be used directly too.

"-U" in gcc seems to be for the preprocessor. To me that seems to be
something very different.

> I don`t know why those flags aren' t documented, bug in gcc
> documentation? As far as I understand is that gcc is smart enough to
> correctly deal with the flags gcc directly received, but the linker
> lacks that information.
> 
> I don' t know what the issue is with the C++ Constructors, in the
> context of this change?

I do not know whether there is an issue. But we have "-Ur" as ldflag in
there and your patch removes it.

> (I heard about the issues if those reside in a shared library, use
> function from libcobald and don't depend on libcobald. Which is more
> of a broken build to me if you don't add the depended libs, and will
> bite you the same way if you use GCCs constructor attribute)
> 
> Kind regards,
> Norbert.
> 
> 2017-10-12 10:33 GMT+02:00 Henning Schild
> <henning.schild at siemens.com>:
> > Hey Norbert,
> >
> > thanks for looking into that again! Could you please explain how and
> > why that works, or point out what to look at in flint? Mailing list
> > thread, commit, something like that.
> >
> > As far as i can see gcc now gets a "-r" which i do not find in the
> > manpage. And ld gets a "-U" which i do not find in its manpage. And
> > there is something about c++ constructors which might change the
> > behaviour of xenomai.
> >
> > Henning
> >
> > Am Tue, 10 Oct 2017 16:38:50 +0200
> > schrieb Norbert Lange <nolange79 at gmail.com>:
> >  
> >> Some highly trivial fix attached!
> >> Its strange that this flag is not documented in the manual (I found
> >> out abaout this fix from
> >> https://launchpad.net/ubuntu/+source/flint)
> >>
> >> Norbert Lange
> >>
> >> 2017-08-10 11:49 GMT+02:00 Henning Schild
> >> <henning.schild at siemens.com>:  
> >> > Hi Norbert,
> >> >
> >> > Thanks! In fact that issue has come up before and a similar
> >> > workaround was described. It should be fixed, patches welcome!
> >> >
> >> > Henning
> >> >
> >> > Am Wed, 9 Aug 2017 16:21:02 +0200
> >> > schrieb Norbert Lange <nolange79 at gmail.com>:
> >> >  
> >> >> Hello,
> >> >>
> >> >> Building the xenomai package won`t work because debian now
> >> >> defaults to using pie, and the linker will complain with "ld: -r
> >> >> and -pie may not be used together"
> >> >>
> >> >> A workaround for now is to add the flags manually:
> >> >> ../xenomai-3.0.5/configure LDFLAGS=-no-pie CFLAGS="-fno-PIE
> >> >> -fno-pie -no-pie"
> >> >>
> >> >> A real fix would be similar to
> >> >> http://lists.gnu.org/archive/html/bug-grub/2016-11/msg00011.html
> >> >> (no-pie is not supported on old and other compilers)
> >> >>
> >> >> Kind regards,
> >> >> Norbert
> >> >>
> >> >> _______________________________________________
> >> >> Xenomai mailing list
> >> >> Xenomai at xenomai.org
> >> >> https://xenomai.org/mailman/listinfo/xenomai  
> >> >  
> >  




More information about the Xenomai mailing list