Patchwork [build,machinery] fix bootstrap fail on darwin8

login
register
mail settings
Submitter IainS
Date July 1, 2010, 8:18 a.m.
Message ID <882E93F8-E8A4-4EFE-AFFD-C5B04D94818F@sandoe-acoustics.co.uk>
Download mbox | patch
Permalink /patch/57490/
State New
Headers show

Comments

IainS - July 1, 2010, 8:18 a.m.
I can only test darwin8 relatively infrequently these days, and in  
doing so prior to the merge, found that bootstrap is broken for 4.5  
and trunk
(fails on compare m64 objects in libgcc and gomp multilibs).

This is because the ld "-x" flag is no longer appropriate (with  
intervening changes too numerous to identify which caused it).

the following patch fixes it and has been tested for 4.5 and trunk (at  
161635 on {powerpc,i686}-apple-darwin{8,9}, x86_64-apple-darwin10)

OK for 4.5 immediately and trunk when it reopens?

Iain

contrib/ChangeLog:

	compare-debug (Darwin): Remove '-x' flag from ld-based stripping.
        Add comment as to why we use ld for this.
Paolo Bonzini - July 1, 2010, 10:26 a.m.
On 07/01/2010 10:18 AM, IainS wrote:
> I can only test darwin8 relatively infrequently these days, and in doing
> so prior to the merge, found that bootstrap is broken for 4.5 and trunk
> (fails on compare m64 objects in libgcc and gomp multilibs).
>
> This is because the ld "-x" flag is no longer appropriate (with
> intervening changes too numerous to identify which caused it).
>
> the following patch fixes it and has been tested for 4.5 and trunk (at
> 161635 on {powerpc,i686}-apple-darwin{8,9}, x86_64-apple-darwin10)
>
> OK for 4.5 immediately and trunk when it reopens?
>
> Iain
>
> contrib/ChangeLog:
>
> compare-debug (Darwin): Remove '-x' flag from ld-based stripping.
> Add comment as to why we use ld for this.
>
> Index: contrib/compare-debug
> ===================================================================
> --- contrib/compare-debug (revision 161635)
> +++ contrib/compare-debug (working copy)
> @@ -59,8 +59,11 @@ trap 'rm -f "$1.$suf1" "$2.$suf2"' 0 1 2 15
>
> case `uname -s` in
> Darwin)
> - ld -S -x -r -no_uuid "$1" -o "$1.$suf1"
> - ld -S -x -r -no_uuid "$2" -o "$2.$suf2"
> + # The strip command on darwin does not remove linker UUID commands.
> + # However, we can use ld to do this and strip the binaries at the
> + # same time.
> + ld -S -r -no_uuid "$1" -o "$1.$suf1"
> + ld -S -r -no_uuid "$2" -o "$2.$suf2"
> ;;
> *)
> cp "$1" "$1.$suf1"

Ok.

Paolo
IainS - July 2, 2010, 8:57 a.m.
On 1 Jul 2010, at 11:26, Paolo Bonzini wrote:

> On 07/01/2010 10:18 AM, IainS wrote:
>> contrib/ChangeLog:
>>
>> compare-debug (Darwin): Remove '-x' flag from ld-based stripping.
>> Add comment as to why we use ld for this.
>
> Ok.

r161675 (4.5), r161686 (trunk).
Iain

Patch

Index: contrib/compare-debug
===================================================================
--- contrib/compare-debug	(revision 161635)
+++ contrib/compare-debug	(working copy)
@@ -59,8 +59,11 @@  trap 'rm -f "$1.$suf1" "$2.$suf2"' 0 1 2 15

  case `uname -s` in
  Darwin)
-  ld -S -x -r -no_uuid "$1" -o "$1.$suf1"
-  ld -S -x -r -no_uuid "$2" -o "$2.$suf2"
+  # The strip command on darwin does not remove linker UUID commands.
+  # However, we can use ld to do this and strip the binaries at the
+  # same time.
+  ld -S -r -no_uuid "$1" -o "$1.$suf1"
+  ld -S -r -no_uuid "$2" -o "$2.$suf2"
    ;;
  *)
    cp "$1" "$1.$suf1"