[haiku-commits] Re: buildtools: btrev43090 - gcc/gcc/config/arm gcc/gcc/config/i386 gcc/gcc/config/mips legacy/gcc/gcc/config/i386

  • From: pulkomandy <pulkomandy@xxxxxxxxxxxxx>
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Mon, 6 Oct 2014 19:42:38 +0200

On Tue, Oct 07, 2014 at 06:36:29AM +1300, Jessica Hamilton wrote:
> On 7 October 2014 06:10, Jérôme Duval <jerome.duval@xxxxxxxxx> wrote:
> > 2014-10-04 3:45 GMT+02:00  <jessica.l.hamilton@xxxxxxxxx>:
> >> Revision:    btrev43090
> >> Commit:      aeb1fcf62f3b60585fdb39fb646417982700c2df
> >> URL:         http://cgit.haiku-os.org/buildtools/commit/?id=aeb1fcf
> >> Author:      Nick Smallbone <nick.smallbone@xxxxxxxxx>
> >> Date:        Fri Oct  3 14:16:03 2014 UTC
> >> Committer:   Jessica Hamilton <jessica.l.hamilton@xxxxxxxxx>
> >> Commit-Date: Sat Oct  4 01:41:05 2014 UTC
> >>
> >> ----------------------------------------------------------------------------
> >>
> >> 4 files changed, 4 insertions(+), 4 deletions(-)
> >> gcc/gcc/config/arm/haiku.h         | 2 +-
> >> gcc/gcc/config/i386/haiku.h        | 2 +-
> >> gcc/gcc/config/mips/haiku.h        | 2 +-
> >> legacy/gcc/gcc/config/i386/haiku.h | 2 +-
> >
> > You might also adjust gcc/gcc/config/i386/haiku64.h,
> > gcc/gcc/config/rs6000/haiku.h and gcc/gcc/config/m68k/haiku.h.
> > Question: what means the option "-r"? I couldn't find any reference to it.
> >
> > BTW where did this patch come from? A ticket would have been nice to
> > understand the context, it's not very easy with a one-liner summary.
> 
> The -r and -shared options are mutually exclusive. The Glasgow Haskell
> Compiler makes use of the -r option. Haiku's default of forcing the
> -shared switch broke the -r switch.

-r is actually a linker option. ld -r is "relink object files into a
relocatable file" and is usually used to merge object files together in
a bigger .o, as an alternative to creating a static library and to cut
down memory use when linking big projects.

I have patched some recipes to use an ar archive instead of a relinked
.o, but that doesn't always work, and fixing the compiler is a better
solution.

-- 
Adrien.

Other related posts: