public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/43729]  New: MachO LTO support needed for darwin
@ 2010-04-12 15:51 howarth at nitro dot med dot uc dot edu
  2010-04-12 15:55 ` [Bug target/43729] " steven at gcc dot gnu dot org
                   ` (55 more replies)
  0 siblings, 56 replies; 57+ messages in thread
From: howarth at nitro dot med dot uc dot edu @ 2010-04-12 15:51 UTC (permalink / raw)
  To: gcc-bugs

This bug report is a placeholder for discussing the changes required for LTO
via collect2 on darwin. It exists to have a distinct discussion about darwin
since we don't use either ELF or binutils. It would be optimal if the required
changes would not involve modifications to the darwin linker since, even if
those were obtained from Apple in some future Xcode, it is unlikely that they
would ever be backported to the earlier OS releases.


-- 
           Summary: MachO LTO support needed for darwin
           Product: gcc
           Version: lto
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: howarth at nitro dot med dot uc dot edu
 GCC build triplet: *-apple-darwin*
  GCC host triplet: *-apple-darwin*
GCC target triplet: *-apple-darwin*


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43729


^ permalink raw reply	[flat|nested] 57+ messages in thread

* [Bug target/43729] MachO LTO support needed for darwin
  2010-04-12 15:51 [Bug target/43729] New: MachO LTO support needed for darwin howarth at nitro dot med dot uc dot edu
@ 2010-04-12 15:55 ` steven at gcc dot gnu dot org
  2010-04-12 16:00 ` steven at gcc dot gnu dot org
                   ` (54 subsequent siblings)
  55 siblings, 0 replies; 57+ messages in thread
From: steven at gcc dot gnu dot org @ 2010-04-12 15:55 UTC (permalink / raw)
  To: gcc-bugs



-- 

steven at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|normal                      |enhancement
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
  GCC build triplet|*-apple-darwin*             |
   GCC host triplet|*-apple-darwin*             |
   Last reconfirmed|0000-00-00 00:00:00         |2010-04-12 15:55:01
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43729


^ permalink raw reply	[flat|nested] 57+ messages in thread

* [Bug target/43729] MachO LTO support needed for darwin
  2010-04-12 15:51 [Bug target/43729] New: MachO LTO support needed for darwin howarth at nitro dot med dot uc dot edu
  2010-04-12 15:55 ` [Bug target/43729] " steven at gcc dot gnu dot org
@ 2010-04-12 16:00 ` steven at gcc dot gnu dot org
  2010-04-12 16:16 ` steven at gcc dot gnu dot org
                   ` (53 subsequent siblings)
  55 siblings, 0 replies; 57+ messages in thread
From: steven at gcc dot gnu dot org @ 2010-04-12 16:00 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from steven at gcc dot gnu dot org  2010-04-12 15:59 -------
>From http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42776#c8 :

> Can we use a similar approach for Mach-O [as for PE-COFF]?

  I don't speak Mach-O, but yes, the approach should work.  You'd start by
saying lto_binary_reader=lto-mach-o in config.gcc and adding a new
lto/lto-mach-o.c with the same handful of toplevel functions: open and close
file, build section hash, and create section and append binary data to section.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43729


^ permalink raw reply	[flat|nested] 57+ messages in thread

* [Bug target/43729] MachO LTO support needed for darwin
  2010-04-12 15:51 [Bug target/43729] New: MachO LTO support needed for darwin howarth at nitro dot med dot uc dot edu
  2010-04-12 15:55 ` [Bug target/43729] " steven at gcc dot gnu dot org
  2010-04-12 16:00 ` steven at gcc dot gnu dot org
@ 2010-04-12 16:16 ` steven at gcc dot gnu dot org
  2010-04-12 17:12 ` howarth at nitro dot med dot uc dot edu
                   ` (52 subsequent siblings)
  55 siblings, 0 replies; 57+ messages in thread
From: steven at gcc dot gnu dot org @ 2010-04-12 16:16 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from steven at gcc dot gnu dot org  2010-04-12 16:15 -------
For the Mach-O file format, follow this link:
http://developer.apple.com/mac/library/documentation/DeveloperTools/Conceptual/MachORuntime/Reference/reference.html

First step for Mach-O support would be figuring out where to store the LTO
data.
AFAIU, Mach-O has segments, which are bundles of sections. I don't know if GCC
LTO should write a segment, or a section.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43729


^ permalink raw reply	[flat|nested] 57+ messages in thread

* [Bug target/43729] MachO LTO support needed for darwin
  2010-04-12 15:51 [Bug target/43729] New: MachO LTO support needed for darwin howarth at nitro dot med dot uc dot edu
                   ` (2 preceding siblings ...)
  2010-04-12 16:16 ` steven at gcc dot gnu dot org
@ 2010-04-12 17:12 ` howarth at nitro dot med dot uc dot edu
  2010-04-12 21:39 ` fang at csl dot cornell dot edu
                   ` (51 subsequent siblings)
  55 siblings, 0 replies; 57+ messages in thread
From: howarth at nitro dot med dot uc dot edu @ 2010-04-12 17:12 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from howarth at nitro dot med dot uc dot edu  2010-04-12 17:11 -------
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42776#c8

also contains a short list of some of the required code changes for MachO LTO.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43729


^ permalink raw reply	[flat|nested] 57+ messages in thread

* [Bug target/43729] MachO LTO support needed for darwin
  2010-04-12 15:51 [Bug target/43729] New: MachO LTO support needed for darwin howarth at nitro dot med dot uc dot edu
                   ` (3 preceding siblings ...)
  2010-04-12 17:12 ` howarth at nitro dot med dot uc dot edu
@ 2010-04-12 21:39 ` fang at csl dot cornell dot edu
  2010-04-14 22:10 ` [Bug target/43729] Mach-O " steven at gcc dot gnu dot org
                   ` (50 subsequent siblings)
  55 siblings, 0 replies; 57+ messages in thread
From: fang at csl dot cornell dot edu @ 2010-04-12 21:39 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from fang at csl dot cornell dot edu  2010-04-12 21:39 -------
Plz? :)


-- 

fang at csl dot cornell dot edu changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |fang at csl dot cornell dot
                   |                            |edu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43729


^ permalink raw reply	[flat|nested] 57+ messages in thread

* [Bug target/43729] Mach-O LTO support needed for darwin
  2010-04-12 15:51 [Bug target/43729] New: MachO LTO support needed for darwin howarth at nitro dot med dot uc dot edu
                   ` (4 preceding siblings ...)
  2010-04-12 21:39 ` fang at csl dot cornell dot edu
@ 2010-04-14 22:10 ` steven at gcc dot gnu dot org
  2010-04-15 13:49 ` howarth at nitro dot med dot uc dot edu
                   ` (49 subsequent siblings)
  55 siblings, 0 replies; 57+ messages in thread
From: steven at gcc dot gnu dot org @ 2010-04-14 22:10 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from steven at gcc dot gnu dot org  2010-04-14 22:10 -------
Collecting bits and pieces from all over, I'm trying to make a plan...

Consensus on IRC is that LTO data does not need its own Mach-O segment, and
that can it just fit as a section in the _TEXT (since LTO data is read-only) or
_DATA segment.

Re. changes in the darwin assembler/linker, it looks like they will just work.
>From http://gcc.gnu.org/ml/gcc/2010-04/msg00250.html:
-------------------------
Binutils for COFF targets needed a patch to allow sections to be
byte-aligned and byte-packed, as it wasn't originally possible to use any
alignment directive to reduce the section alignment below the default, and the
zip-compressed data sections need to be exactly sized to the data they contain
rather than padded up to the default section alignment of 4.

 If MachO can do that already, it won't need any changes.  Or it could be
fixed in GCC by modifying the format of the compressed sections to be
self-describing w.r.t valid data length in some way - this would probably be
the better thing to do in the long run.
-------------------------

So. Can MachO binutils already do that? Apparently yes:

$ as << ".section __TEXT,__foo"

gives a section alignment of 2^0=1 i.e. byte-aligned.

Alternatively, it is possible to disable zlib compression, although we should
try to avoid that.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43729


^ permalink raw reply	[flat|nested] 57+ messages in thread

* [Bug target/43729] Mach-O LTO support needed for darwin
  2010-04-12 15:51 [Bug target/43729] New: MachO LTO support needed for darwin howarth at nitro dot med dot uc dot edu
                   ` (5 preceding siblings ...)
  2010-04-14 22:10 ` [Bug target/43729] Mach-O " steven at gcc dot gnu dot org
@ 2010-04-15 13:49 ` howarth at nitro dot med dot uc dot edu
  2010-04-15 14:04 ` stevenb dot gcc at gmail dot com
                   ` (48 subsequent siblings)
  55 siblings, 0 replies; 57+ messages in thread
From: howarth at nitro dot med dot uc dot edu @ 2010-04-15 13:49 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from howarth at nitro dot med dot uc dot edu  2010-04-15 13:48 -------
Can we just use the LTO COFF patch...

http://gcc.gnu.org/ml/gcc-patches/2010-04/msg00612.html

as a template? Hopefully we can just remove the unnecessary sections of the
patch and rename things as appropriate (for a first pass at implementing the
Mach-O LTO support).


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43729


^ permalink raw reply	[flat|nested] 57+ messages in thread

* [Bug target/43729] Mach-O LTO support needed for darwin
  2010-04-12 15:51 [Bug target/43729] New: MachO LTO support needed for darwin howarth at nitro dot med dot uc dot edu
                   ` (6 preceding siblings ...)
  2010-04-15 13:49 ` howarth at nitro dot med dot uc dot edu
@ 2010-04-15 14:04 ` stevenb dot gcc at gmail dot com
  2010-04-19  7:40 ` steven at gcc dot gnu dot org
                   ` (47 subsequent siblings)
  55 siblings, 0 replies; 57+ messages in thread
From: stevenb dot gcc at gmail dot com @ 2010-04-15 14:04 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #7 from stevenb dot gcc at gmail dot com  2010-04-15 14:03 -------
Subject: Re:  Mach-O LTO support needed for darwin

> Can we just use the LTO COFF patch...as a template?

That is certainly my plan, yes.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43729


^ permalink raw reply	[flat|nested] 57+ messages in thread

* [Bug target/43729] Mach-O LTO support needed for darwin
  2010-04-12 15:51 [Bug target/43729] New: MachO LTO support needed for darwin howarth at nitro dot med dot uc dot edu
                   ` (7 preceding siblings ...)
  2010-04-15 14:04 ` stevenb dot gcc at gmail dot com
@ 2010-04-19  7:40 ` steven at gcc dot gnu dot org
  2010-04-26 14:49 ` mrs at gcc dot gnu dot org
                   ` (46 subsequent siblings)
  55 siblings, 0 replies; 57+ messages in thread
From: steven at gcc dot gnu dot org @ 2010-04-19  7:40 UTC (permalink / raw)
  To: gcc-bugs



-- 

steven at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |steven at gcc dot gnu dot
                   |dot org                     |org
             Status|NEW                         |ASSIGNED
   Last reconfirmed|2010-04-12 15:55:01         |2010-04-19 07:40:34
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43729


^ permalink raw reply	[flat|nested] 57+ messages in thread

* [Bug target/43729] Mach-O LTO support needed for darwin
  2010-04-12 15:51 [Bug target/43729] New: MachO LTO support needed for darwin howarth at nitro dot med dot uc dot edu
                   ` (8 preceding siblings ...)
  2010-04-19  7:40 ` steven at gcc dot gnu dot org
@ 2010-04-26 14:49 ` mrs at gcc dot gnu dot org
  2010-04-26 16:07 ` stevenb dot gcc at gmail dot com
                   ` (45 subsequent siblings)
  55 siblings, 0 replies; 57+ messages in thread
From: mrs at gcc dot gnu dot org @ 2010-04-26 14:49 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #8 from mrs at gcc dot gnu dot org  2010-04-26 14:49 -------
One open question for me would be, are 16 bytes of an arbitrary named
section/segment enough?  It you carve out a slice, say lto_%d, that leaves just
12 bytes for the `name', if this big enough?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43729


^ permalink raw reply	[flat|nested] 57+ messages in thread

* [Bug target/43729] Mach-O LTO support needed for darwin
  2010-04-12 15:51 [Bug target/43729] New: MachO LTO support needed for darwin howarth at nitro dot med dot uc dot edu
                   ` (9 preceding siblings ...)
  2010-04-26 14:49 ` mrs at gcc dot gnu dot org
@ 2010-04-26 16:07 ` stevenb dot gcc at gmail dot com
  2010-04-26 18:40 ` davek at gcc dot gnu dot org
                   ` (44 subsequent siblings)
  55 siblings, 0 replies; 57+ messages in thread
From: stevenb dot gcc at gmail dot com @ 2010-04-26 16:07 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #9 from stevenb dot gcc at gmail dot com  2010-04-26 16:06 -------
Subject: Re:  Mach-O LTO support needed for darwin

Mach-O section names are too short, but I have solved this with a
separate section with section names in a strings table. This is
similar to the solution from lto-coff.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43729


^ permalink raw reply	[flat|nested] 57+ messages in thread

* [Bug target/43729] Mach-O LTO support needed for darwin
  2010-04-12 15:51 [Bug target/43729] New: MachO LTO support needed for darwin howarth at nitro dot med dot uc dot edu
                   ` (10 preceding siblings ...)
  2010-04-26 16:07 ` stevenb dot gcc at gmail dot com
@ 2010-04-26 18:40 ` davek at gcc dot gnu dot org
  2010-04-27  2:35 ` davek at gcc dot gnu dot org
                   ` (43 subsequent siblings)
  55 siblings, 0 replies; 57+ messages in thread
From: davek at gcc dot gnu dot org @ 2010-04-26 18:40 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #10 from davek at gcc dot gnu dot org  2010-04-26 18:39 -------
(In reply to comment #1)

>   I don't speak Mach-O, but yes, the approach should work.  You'd start by
> saying lto_binary_reader=lto-mach-o in config.gcc and adding a new
> lto/lto-mach-o.c with the same handful of toplevel functions: open and close
> file, build section hash, and create section and append binary data to section.

Oh, and the one last thing I forgot to mention: update is_elf_or_coff() in
collect2.c so it recognizes Mach-O object files as well as ELF/COFF. 

(That may be evident by now anyway, but I thought I'd leave it here for the
record anyway.)


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43729


^ permalink raw reply	[flat|nested] 57+ messages in thread

* [Bug target/43729] Mach-O LTO support needed for darwin
  2010-04-12 15:51 [Bug target/43729] New: MachO LTO support needed for darwin howarth at nitro dot med dot uc dot edu
                   ` (11 preceding siblings ...)
  2010-04-26 18:40 ` davek at gcc dot gnu dot org
@ 2010-04-27  2:35 ` davek at gcc dot gnu dot org
  2010-04-27 20:25 ` steven at gcc dot gnu dot org
                   ` (42 subsequent siblings)
  55 siblings, 0 replies; 57+ messages in thread
From: davek at gcc dot gnu dot org @ 2010-04-27  2:35 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #11 from davek at gcc dot gnu dot org  2010-04-27 02:35 -------
I noticed the dependency was the wrong way round when I saw that this open bug
was blocking a freshly-closed one :)


-- 

davek at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  BugsThisDependsOn|                            |42776
OtherBugsDependingO|42776                       |
              nThis|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43729


^ permalink raw reply	[flat|nested] 57+ messages in thread

* [Bug target/43729] Mach-O LTO support needed for darwin
  2010-04-12 15:51 [Bug target/43729] New: MachO LTO support needed for darwin howarth at nitro dot med dot uc dot edu
                   ` (12 preceding siblings ...)
  2010-04-27  2:35 ` davek at gcc dot gnu dot org
@ 2010-04-27 20:25 ` steven at gcc dot gnu dot org
  2010-04-28 12:20 ` dominiq at lps dot ens dot fr
                   ` (41 subsequent siblings)
  55 siblings, 0 replies; 57+ messages in thread
From: steven at gcc dot gnu dot org @ 2010-04-27 20:25 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #12 from steven at gcc dot gnu dot org  2010-04-27 20:25 -------
Created an attachment (id=20500)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20500&action=view)
proof-of-concept patch

This doesn't even include a Mach-O writer yet (except for the to be rewritten
COFF writer ;-) but this already makes LTO work for most of the test suite. For
lto.exp, C only:

Test Run By stevenb on Tue Apr 27 16:20:21 2010
Native configuration is x86_64-apple-darwin10.3.0

                === gcc tests ===

Schedule of variations:
    unix

Running target unix
Using /sw/share/dejagnu/baseboards/unix.exp as board description file for
target.
Using /sw/share/dejagnu/config/unix.exp as generic interface file for target.
Using /Users/stevenb/gcc_trunk/gcc/testsuite/config/default.exp as
tool-and-target-specific interface file.
Running /Users/stevenb/gcc_trunk/gcc/testsuite/gcc.dg/lto/lto.exp ...
FAIL: gcc.dg/lto/20081201-2 c_lto_20081201-2_0.o-c_lto_20081201-2_1.o execute
-O3 -fwhopr
FAIL: gcc.dg/lto/20081222 c_lto_20081222_1.o assemble, -O0 -fwhopr
FAIL: gcc.dg/lto/20081222 c_lto_20081222_1.o assemble, -O2 -fwhopr
FAIL: gcc.dg/lto/20081222 c_lto_20081222_1.o assemble, -O0 -flto
FAIL: gcc.dg/lto/20081222 c_lto_20081222_1.o assemble, -O2 -flto
FAIL: gcc.dg/lto/20090914-2 c_lto_20090914-2_0.o assemble, -O0 -fwhopr
FAIL: gcc.dg/lto/20090914-2 c_lto_20090914-2_0.o assemble, -O2 -fwhopr
FAIL: gcc.dg/lto/20090914-2 c_lto_20090914-2_0.o assemble, -O0 -flto
FAIL: gcc.dg/lto/20090914-2 c_lto_20090914-2_0.o assemble, -O2 -flto
FAIL: gcc.dg/lto/20091216-1 c_lto_20091216-1_0.o-c_lto_20091216-1_0.o link
FAIL: gcc.dg/lto/20091216-1 c_lto_20091216-1_0.o-c_lto_20091216-1_0.o link
FAIL: gcc.dg/lto/20091216-1 c_lto_20091216-1_0.o-c_lto_20091216-1_0.o link
FAIL: gcc.dg/lto/20091216-1 c_lto_20091216-1_0.o-c_lto_20091216-1_0.o link
FAIL: gcc.dg/lto/20100423-2 c_lto_20100423-2_0.o-c_lto_20100423-2_1.o link
FAIL: gcc.dg/lto/20100423-2 c_lto_20100423-2_0.o-c_lto_20100423-2_1.o link
FAIL: gcc.dg/lto/20100423-2 c_lto_20100423-2_0.o-c_lto_20100423-2_1.o link
FAIL: gcc.dg/lto/20100423-2 c_lto_20100423-2_0.o-c_lto_20100423-2_1.o link

                === gcc Summary ===

# of expected passes            479
# of unexpected failures        17
# of unresolved testcases       24
# of unsupported tests          2
/Users/stevenb/lto_objdir/gcc/xgcc  version 4.6.0 20100427 (experimental)
[trunk revision 158800] (GCC) 


There's still work to be done:
1) Try with other languages
2) Make it with with checking enabled (shouldn't make a difference)
3) Produce distinct error message per failure mode
4) Implement the writer
n) ... fix whatever needs fixing ...

I plan to go through the list as time permits. Help welcome (as are patches).


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43729


^ permalink raw reply	[flat|nested] 57+ messages in thread

* [Bug target/43729] Mach-O LTO support needed for darwin
  2010-04-12 15:51 [Bug target/43729] New: MachO LTO support needed for darwin howarth at nitro dot med dot uc dot edu
                   ` (13 preceding siblings ...)
  2010-04-27 20:25 ` steven at gcc dot gnu dot org
@ 2010-04-28 12:20 ` dominiq at lps dot ens dot fr
  2010-04-28 13:04 ` dominiq at lps dot ens dot fr
                   ` (40 subsequent siblings)
  55 siblings, 0 replies; 57+ messages in thread
From: dominiq at lps dot ens dot fr @ 2010-04-28 12:20 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #13 from dominiq at lps dot ens dot fr  2010-04-28 12:20 -------
> proof-of-concept patch

Great!-) Thanks a lot. 

Besides the 17 C failures, for all languages but ADA, I also see

FAIL: g++.dg/lto/20100302 cp_lto_20100302_0.o-cp_lto_20100302_1.o link

and

FAIL: gcc.c-torture/execute/cmpdi-1.c compilation,  -O3 -g
FAIL: gfortran.dg/array_constructor_11.f90  -O3 -g  (internal compiler error)

but they are probably unrelated.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43729


^ permalink raw reply	[flat|nested] 57+ messages in thread

* [Bug target/43729] Mach-O LTO support needed for darwin
  2010-04-12 15:51 [Bug target/43729] New: MachO LTO support needed for darwin howarth at nitro dot med dot uc dot edu
                   ` (14 preceding siblings ...)
  2010-04-28 12:20 ` dominiq at lps dot ens dot fr
@ 2010-04-28 13:04 ` dominiq at lps dot ens dot fr
  2010-04-28 19:50 ` steven at gcc dot gnu dot org
                   ` (39 subsequent siblings)
  55 siblings, 0 replies; 57+ messages in thread
From: dominiq at lps dot ens dot fr @ 2010-04-28 13:04 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #14 from dominiq at lps dot ens dot fr  2010-04-28 13:04 -------
Note also that the polyhedron test aermod.f90 fails with -flto or -whopr at any
level of optimization with:

ld: in /var/tmp//ccDGk6QZ.o, in section __TEXT,__text reloc 17: local
relocation for address 0x000E58F4 in section __text does not target section
__00000B61


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43729


^ permalink raw reply	[flat|nested] 57+ messages in thread

* [Bug target/43729] Mach-O LTO support needed for darwin
  2010-04-12 15:51 [Bug target/43729] New: MachO LTO support needed for darwin howarth at nitro dot med dot uc dot edu
                   ` (15 preceding siblings ...)
  2010-04-28 13:04 ` dominiq at lps dot ens dot fr
@ 2010-04-28 19:50 ` steven at gcc dot gnu dot org
  2010-04-29 10:48 ` steven at gcc dot gnu dot org
                   ` (38 subsequent siblings)
  55 siblings, 0 replies; 57+ messages in thread
From: steven at gcc dot gnu dot org @ 2010-04-28 19:50 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #15 from steven at gcc dot gnu dot org  2010-04-28 19:50 -------
Re. comment #14, this is obviously related to LTO but we (gcc) don't do
anything with relocations. I'll try to reproduce this problem, but I suspect it
is an assembler or linker bug.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43729


^ permalink raw reply	[flat|nested] 57+ messages in thread

* [Bug target/43729] Mach-O LTO support needed for darwin
  2010-04-12 15:51 [Bug target/43729] New: MachO LTO support needed for darwin howarth at nitro dot med dot uc dot edu
                   ` (16 preceding siblings ...)
  2010-04-28 19:50 ` steven at gcc dot gnu dot org
@ 2010-04-29 10:48 ` steven at gcc dot gnu dot org
  2010-04-29 11:39 ` steven at gcc dot gnu dot org
                   ` (37 subsequent siblings)
  55 siblings, 0 replies; 57+ messages in thread
From: steven at gcc dot gnu dot org @ 2010-04-29 10:48 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #16 from steven at gcc dot gnu dot org  2010-04-29 10:48 -------
Re. comment #14 this is now Apple radar 7920267. Let's see if someone on their
end can cq. is willing to help us out here.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43729


^ permalink raw reply	[flat|nested] 57+ messages in thread

* [Bug target/43729] Mach-O LTO support needed for darwin
  2010-04-12 15:51 [Bug target/43729] New: MachO LTO support needed for darwin howarth at nitro dot med dot uc dot edu
                   ` (17 preceding siblings ...)
  2010-04-29 10:48 ` steven at gcc dot gnu dot org
@ 2010-04-29 11:39 ` steven at gcc dot gnu dot org
  2010-04-29 13:20 ` howarth at nitro dot med dot uc dot edu
                   ` (36 subsequent siblings)
  55 siblings, 0 replies; 57+ messages in thread
From: steven at gcc dot gnu dot org @ 2010-04-29 11:39 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #17 from steven at gcc dot gnu dot org  2010-04-29 11:39 -------
I've played a bit with modified .s files by hand, and as/ld work if the LTO
sections follow the other sections.

The normal order of output with -flto looks like this in the .s file:

LTO sections (the __GNU_LTO stuff)
.text / .data / etc. (all non-LTO sections)
LTO __section_names section

With this order I get the linker error.

I do *not* get the linker error if I re-order the .s file by hand to look like
this:

.text / .data / etc. (all non-LTO sections)
LTO sections (the __GNU_LTO stuff)
LTO __section_names section

With this order, the .s file looks identical with and without -flto, except for
the extra LTO sections after the non-LTO stuff of course. And with this order,
the linker doesn't give an error.

I don't understand this at all. It is almost as if the compiler somehow writes
an address relative to start-of-file, but the compiler doesn't know about
addresses (it can write labels and such, but not count bytes from
start-of-file).

Anyway, I did some research with Google and we are not the first to encounter
this problem. Apparently it doesn't happen in 32-bits mode, so I'll implement
that now and try that.

The important conclusion for me, is that the LTO patch is OK and the bug is
somewhere else :-)


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43729


^ permalink raw reply	[flat|nested] 57+ messages in thread

* [Bug target/43729] Mach-O LTO support needed for darwin
  2010-04-12 15:51 [Bug target/43729] New: MachO LTO support needed for darwin howarth at nitro dot med dot uc dot edu
                   ` (18 preceding siblings ...)
  2010-04-29 11:39 ` steven at gcc dot gnu dot org
@ 2010-04-29 13:20 ` howarth at nitro dot med dot uc dot edu
  2010-05-01 14:40 ` steven at gcc dot gnu dot org
                   ` (35 subsequent siblings)
  55 siblings, 0 replies; 57+ messages in thread
From: howarth at nitro dot med dot uc dot edu @ 2010-04-29 13:20 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #18 from howarth at nitro dot med dot uc dot edu  2010-04-29 13:20 -------
Does the executable created from the manually reordered aermod.s run correctly?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43729


^ permalink raw reply	[flat|nested] 57+ messages in thread

* [Bug target/43729] Mach-O LTO support needed for darwin
  2010-04-12 15:51 [Bug target/43729] New: MachO LTO support needed for darwin howarth at nitro dot med dot uc dot edu
                   ` (19 preceding siblings ...)
  2010-04-29 13:20 ` howarth at nitro dot med dot uc dot edu
@ 2010-05-01 14:40 ` steven at gcc dot gnu dot org
  2010-05-01 14:43 ` steven at gcc dot gnu dot org
                   ` (34 subsequent siblings)
  55 siblings, 0 replies; 57+ messages in thread
From: steven at gcc dot gnu dot org @ 2010-05-01 14:40 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #19 from steven at gcc dot gnu dot org  2010-05-01 14:40 -------
Created an attachment (id=20526)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20526&action=view)
proof-of-concept patch, with Mach-O writer implemented now

Remaining failures due to missing support for what's tested:
gcc.dg/lto/20081222_1.c:14:21: error: only weak aliases are supported in this
configuration
gcc.dg/lto/20090914: Unknown pseudo-op: .type 
gcc.dg/lto/20100423: Undefined symbols: "_stderr"
g++.dg/lto/20100302: Undefined symbols: "f(float __vector(4)*)"

Remaining real failures:
gcc.dg/lto/20090126: lto1: internal compiler error: Segmentation fault


-- 

steven at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #20500|0                           |1
        is obsolete|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43729


^ permalink raw reply	[flat|nested] 57+ messages in thread

* [Bug target/43729] Mach-O LTO support needed for darwin
  2010-04-12 15:51 [Bug target/43729] New: MachO LTO support needed for darwin howarth at nitro dot med dot uc dot edu
                   ` (20 preceding siblings ...)
  2010-05-01 14:40 ` steven at gcc dot gnu dot org
@ 2010-05-01 14:43 ` steven at gcc dot gnu dot org
  2010-05-01 14:53 ` rguenth at gcc dot gnu dot org
                   ` (33 subsequent siblings)
  55 siblings, 0 replies; 57+ messages in thread
From: steven at gcc dot gnu dot org @ 2010-05-01 14:43 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #20 from steven at gcc dot gnu dot org  2010-05-01 14:43 -------
On x86_64-unknown-linux-gnu, I see that gcc.dg/lto/20090126 also fails (see
http://gcc.gnu.org/ml/gcc-testresults/2010-05/msg00031.html).  So the test
suite results on x86_64-darwin are the same as on x86_64-linux modulo
unsupported features / ELFisms / GLIBCisms.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43729


^ permalink raw reply	[flat|nested] 57+ messages in thread

* [Bug target/43729] Mach-O LTO support needed for darwin
  2010-04-12 15:51 [Bug target/43729] New: MachO LTO support needed for darwin howarth at nitro dot med dot uc dot edu
                   ` (21 preceding siblings ...)
  2010-05-01 14:43 ` steven at gcc dot gnu dot org
@ 2010-05-01 14:53 ` rguenth at gcc dot gnu dot org
  2010-05-01 15:26 ` dominiq at lps dot ens dot fr
                   ` (32 subsequent siblings)
  55 siblings, 0 replies; 57+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2010-05-01 14:53 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #21 from rguenth at gcc dot gnu dot org  2010-05-01 14:53 -------
+  /* ??? Some targets need to handle LTO assembler output specially.
+     Is this the right place to hanlde that?  */
+  if (flag_generate_lto)

yes.

+  if (flag_generate_lto)
+    targetm.asm_out.lto_end ();

should be right after ipa_write_summaries

+  /* FIXME Need to document this.  */
   off_t offset;

this is the offset for the ELF object inside an ar archive file (or zero)

-
+if(1) return true;

eh?

Not looking at the darwin / mach-o specific parts this looks good to me.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43729


^ permalink raw reply	[flat|nested] 57+ messages in thread

* [Bug target/43729] Mach-O LTO support needed for darwin
  2010-04-12 15:51 [Bug target/43729] New: MachO LTO support needed for darwin howarth at nitro dot med dot uc dot edu
                   ` (22 preceding siblings ...)
  2010-05-01 14:53 ` rguenth at gcc dot gnu dot org
@ 2010-05-01 15:26 ` dominiq at lps dot ens dot fr
  2010-05-01 21:40 ` dominiq at lps dot ens dot fr
                   ` (31 subsequent siblings)
  55 siblings, 0 replies; 57+ messages in thread
From: dominiq at lps dot ens dot fr @ 2010-05-01 15:26 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #22 from dominiq at lps dot ens dot fr  2010-05-01 15:26 -------
Sorry to bother you, but with the patch in comment #19 bootstrap fails at stage
2 with the infamous "all warnings being treated as errors":

...
/opt/gcc/build_w/./prev-gcc/xgcc -B/opt/gcc/build_w/./prev-gcc/
-B/opt/gcc/gcc4.6w/x86_64-apple-darwin10/bin/
-B/opt/gcc/gcc4.6w/x86_64-apple-darwin10/bin/
-B/opt/gcc/gcc4.6w/x86_64-apple-darwin10/lib/ -isystem
/opt/gcc/gcc4.6w/x86_64-apple-darwin10/include -isystem
/opt/gcc/gcc4.6w/x86_64-apple-darwin10/sys-include    -c  -g -O2 -gtoggle
-DIN_GCC   -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes
-Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long
-Wno-variadic-macros -Wno-overlength-strings -Werror -Wold-style-definition
-Wc++-compat -fno-common  -DHAVE_CONFIG_H -I. -Ilto -I../../work/gcc
-I../../work/gcc/lto -I../../work/gcc/../include
-I../../work/gcc/../libcpp/include -I/opt/sw64/include -I/opt/sw64/include 
-I../../work/gcc/../libdecnumber -I../../work/gcc/../libdecnumber/dpd
-I../libdecnumber -I/opt/sw64/include  -I/opt/sw64/include -DCLOOG_PPL_BACKEND 
 -I/opt/sw64/include ../../work/gcc/lto/lto-macho.c -o lto/lto-macho.o
In file included from ../../work/gcc/lto/lto-macho.c:31:0:
../../work/gcc/lto/lto-macho.h:221:33: error: using 'lto_mach_o_data' as both a
typedef and a tag is invalid in C++ [-Werror=c++-compat]
../../work/gcc/lto/lto-macho.h:205:8: note: originally defined here
../../work/gcc/lto/lto-macho.h:255:36: error: using 'lto_mach_o_section' as
both a typedef and a tag is invalid in C++ [-Werror=c++-compat]
../../work/gcc/lto/lto-macho.h:206:8: note: originally defined here
cc1: all warnings being treated as errors


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43729


^ permalink raw reply	[flat|nested] 57+ messages in thread

* [Bug target/43729] Mach-O LTO support needed for darwin
  2010-04-12 15:51 [Bug target/43729] New: MachO LTO support needed for darwin howarth at nitro dot med dot uc dot edu
                   ` (23 preceding siblings ...)
  2010-05-01 15:26 ` dominiq at lps dot ens dot fr
@ 2010-05-01 21:40 ` dominiq at lps dot ens dot fr
  2010-05-01 21:51 ` steven at gcc dot gnu dot org
                   ` (30 subsequent siblings)
  55 siblings, 0 replies; 57+ messages in thread
From: dominiq at lps dot ens dot fr @ 2010-05-01 21:40 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #23 from dominiq at lps dot ens dot fr  2010-05-01 21:40 -------
After some surgery in gcc/lto/lto-macho.h and gcc/lto/lto-macho.c, I have
managed to bootstrap. Now the full polyhedron test pass without failure. The
timings with my default options, with -fwhole-file, and with -flto follows
(Core2Duo 2.53Ghz, 3Mb cache, 4Gb RAM):

================================================================================
Date & Time     : 22 Apr 2010 10:44:08
Test Name       : pbharness
Compile Command : gfc %n.f90 -O3 -ffast-math -funroll-loops -ftree-loop-linear 
                             -fomit-frame-pointer -finline-limit=600 
                             --param min-vect-loop-bound=2 -o %n
Benchmarks      : ac aermod air capacita channel doduc fatigue gas_dyn induct 
                  linpk mdbx nf protein rnflow test_fpu tfft
Maximum Times   :      300.0
Target Error %  :      0.200
Minimum Repeats :     2
Maximum Repeats :     5

   Benchmark   Compile  Executable   Ave Run  Number   Estim
        Name    (secs)     (bytes)    (secs) Repeats   Err %
   ---------   -------  ----------   ------- -------  ------
          ac      2.23       46792     10.14       2  0.0000
      aermod     74.42     1419504     22.70       2  0.1542
         air      5.47       77848      6.96       5  0.4008
    capacita      7.68      126824     40.90       2  0.0685
     channel      1.91       34664      2.92       2  0.0685
       doduc     10.08      196872     29.89       4  0.1952
     fatigue      4.40       85688      8.39       2  0.1370
     gas_dyn      7.11      725640      4.90       5  0.6075
      induct      8.10      186864     14.23       2  0.0914
       linpk      1.50       38544     21.66       2  0.0277
        mdbx      2.75       73864     12.55       2  0.0597
          nf     23.55      153376     29.98       2  0.1568
     protein     10.43      127520     38.66       2  0.0375
      rnflow     15.93      205136     26.50       2  0.0019
    test_fpu      8.91      158968     11.50       2  0.0391
        tfft      1.15       26584      3.28       2  0.1829

Geometric Mean Execution Time =      13.38 seconds

================================================================================
Date & Time     : 15 Apr 2010 12:07:17
Test Name       : pbharness
Compile Command : gfc %n.f90 -O3 -ffast-math -funroll-loops -ftree-loop-linear 
                             -fomit-frame-pointer -finline-limit=600 
                             --param min-vect-loop-bound=2 -fwhole-file -o %n
Benchmarks      : ac aermod air capacita channel doduc fatigue gas_dyn induct 
                  linpk mdbx nf protein rnflow test_fpu tfft
Maximum Times   :      300.0
Target Error %  :      0.200
Minimum Repeats :     2
Maximum Repeats :     5

   Benchmark   Compile  Executable   Ave Run  Number   Estim
        Name    (secs)     (bytes)    (secs) Repeats   Err %
   ---------   -------  ----------   ------- -------  ------
          ac      2.98       42696      8.96       2  0.0056
      aermod     98.92     1808760     21.42       2  0.0700
         air     13.09      114728      7.14       5  0.2725
    capacita      8.00      135016     40.78       2  0.0037
     channel      1.75       34664      2.92       3  0.1769
       doduc     12.56      250192     28.59       2  0.0052
     fatigue      5.15      102112      8.44       2  0.0118
     gas_dyn      7.39      729736      4.90       5  0.3932
      induct     11.50      244448     14.16       2  0.0035
       linpk      1.81       50848     21.68       2  0.0208
        mdbx      7.05      139448     12.55       2  0.0159
          nf     20.10      157504     28.99       5  0.1680
     protein     13.03      147992     38.94       2  0.0116
      rnflow     17.64      229760     26.05       2  0.0134
    test_fpu      9.77      183608     11.42       4  0.1691
        tfft      1.28       34808      3.29       2  0.0912

Geometric Mean Execution Time =      13.17 seconds

================================================================================
Date & Time     :  1 May 2010 23:04:52
Test Name       : pbharness
Compile Command : gfc %n.f90 -O3 -ffast-math -funroll-loops -ftree-loop-linear 
                             -fomit-frame-pointer -finline-limit=600 
                             --param min-vect-loop-bound=2 -flto -o %n
Benchmarks      : ac aermod air capacita channel doduc fatigue gas_dyn induct 
                  linpk mdbx nf protein rnflow test_fpu tfft
Maximum Times   :      300.0
Target Error %  :      0.200
Minimum Repeats :     2
Maximum Repeats :     5

   Benchmark   Compile  Executable   Ave Run  Number   Estim
        Name    (secs)     (bytes)    (secs) Repeats   Err %
   ---------   -------  ----------   ------- -------  ------
          ac      6.36       46800      8.44       2  0.0118
      aermod    194.06     1901544     19.00       2  0.0632
         air     23.06      106816      7.27       5  0.1278
    capacita     15.52      126832     40.81       2  0.0588
     channel      3.15       34712      3.09       2  0.1618
       doduc     25.82      254352     27.93       2  0.0519
     fatigue     10.52      102144      8.75       2  0.1771
     gas_dyn     17.60      754592      4.72       5  0.6081
      induct     21.66      236416     14.11       2  0.0921
       linpk      3.32       46760     21.70       2  0.0323
        mdbx      9.23      106792     12.62       2  0.0158
          nf     47.72      149368     30.19       5  0.3552
     protein     22.63      148024     38.55       2  0.1206
      rnflow     34.14      229792     26.33       3  0.1770
    test_fpu     18.88      183576     11.54       2  0.0563
        tfft      2.89       34848      3.33       5  0.1648

Geometric Mean Execution Time =      13.12 seconds

================================================================================
Polyhedron Benchmark Validator
Copyright (C) Polyhedron Software Ltd - 2004 - All rights reserved


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43729


^ permalink raw reply	[flat|nested] 57+ messages in thread

* [Bug target/43729] Mach-O LTO support needed for darwin
  2010-04-12 15:51 [Bug target/43729] New: MachO LTO support needed for darwin howarth at nitro dot med dot uc dot edu
                   ` (24 preceding siblings ...)
  2010-05-01 21:40 ` dominiq at lps dot ens dot fr
@ 2010-05-01 21:51 ` steven at gcc dot gnu dot org
  2010-05-01 22:19 ` howarth at nitro dot med dot uc dot edu
                   ` (29 subsequent siblings)
  55 siblings, 0 replies; 57+ messages in thread
From: steven at gcc dot gnu dot org @ 2010-05-01 21:51 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #24 from steven at gcc dot gnu dot org  2010-05-01 21:51 -------
Created an attachment (id=20527)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20527&action=view)
final patch

I plan to submit this, but with 32 bits disabled because I get failures I don't
understand.


-- 

steven at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #20526|0                           |1
        is obsolete|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43729


^ permalink raw reply	[flat|nested] 57+ messages in thread

* [Bug target/43729] Mach-O LTO support needed for darwin
  2010-04-12 15:51 [Bug target/43729] New: MachO LTO support needed for darwin howarth at nitro dot med dot uc dot edu
                   ` (25 preceding siblings ...)
  2010-05-01 21:51 ` steven at gcc dot gnu dot org
@ 2010-05-01 22:19 ` howarth at nitro dot med dot uc dot edu
  2010-05-01 22:31 ` stevenb dot gcc at gmail dot com
                   ` (28 subsequent siblings)
  55 siblings, 0 replies; 57+ messages in thread
From: howarth at nitro dot med dot uc dot edu @ 2010-05-01 22:19 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #25 from howarth at nitro dot med dot uc dot edu  2010-05-01 22:18 -------
Steven,
    Do you mean the errors which have "symbol xxx can't be undefined in a
subtraction expression"? A google shows this to look like that discussed
here...

http://gcc.gnu.org/ml/gcc-bugs/2003-11/msg01552.html

which is apparently PR10901. On gpc seems to have been worked around with a 
--longjmp-all-nonlocal-labels option?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43729


^ permalink raw reply	[flat|nested] 57+ messages in thread

* [Bug target/43729] Mach-O LTO support needed for darwin
  2010-04-12 15:51 [Bug target/43729] New: MachO LTO support needed for darwin howarth at nitro dot med dot uc dot edu
                   ` (26 preceding siblings ...)
  2010-05-01 22:19 ` howarth at nitro dot med dot uc dot edu
@ 2010-05-01 22:31 ` stevenb dot gcc at gmail dot com
  2010-05-01 23:22 ` mrs at gcc dot gnu dot org
                   ` (27 subsequent siblings)
  55 siblings, 0 replies; 57+ messages in thread
From: stevenb dot gcc at gmail dot com @ 2010-05-01 22:31 UTC (permalink / raw)
  To: gcc-bugs

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 681 bytes --]



------- Comment #26 from stevenb dot gcc at gmail dot com  2010-05-01 22:30 -------
Subject: Re:  Mach-O LTO support needed for darwin

>    Do you mean the errors which have "symbol xxx can't be undefined in a
> subtraction expression"?

Yes, exactly those.

> A google shows this to look like that discussed
> here...
>
> http://gcc.gnu.org/ml/gcc-bugs/2003-11/msg01552.html
>
> which is apparently PR10901. On gpc seems to have been worked around with a
> --longjmp-all-nonlocal-labels option?

I don't think that's the same problem. With LTO it happens for regular
variables. But perhaps the problems are related.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43729


^ permalink raw reply	[flat|nested] 57+ messages in thread

* [Bug target/43729] Mach-O LTO support needed for darwin
  2010-04-12 15:51 [Bug target/43729] New: MachO LTO support needed for darwin howarth at nitro dot med dot uc dot edu
                   ` (27 preceding siblings ...)
  2010-05-01 22:31 ` stevenb dot gcc at gmail dot com
@ 2010-05-01 23:22 ` mrs at gcc dot gnu dot org
  2010-05-01 23:59 ` howarth at nitro dot med dot uc dot edu
                   ` (26 subsequent siblings)
  55 siblings, 0 replies; 57+ messages in thread
From: mrs at gcc dot gnu dot org @ 2010-05-01 23:22 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #27 from mrs at gcc dot gnu dot org  2010-05-01 23:22 -------
Ok for all the darwin bits with any necessary mods to turn off or fix the
32-bit port.  If you attach the the 32-bit .s file, I can puzzle it out for
you.  In short, only - of two defined symbols in the same section work.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43729


^ permalink raw reply	[flat|nested] 57+ messages in thread

* [Bug target/43729] Mach-O LTO support needed for darwin
  2010-04-12 15:51 [Bug target/43729] New: MachO LTO support needed for darwin howarth at nitro dot med dot uc dot edu
                   ` (28 preceding siblings ...)
  2010-05-01 23:22 ` mrs at gcc dot gnu dot org
@ 2010-05-01 23:59 ` howarth at nitro dot med dot uc dot edu
  2010-05-02  0:01 ` howarth at nitro dot med dot uc dot edu
                   ` (25 subsequent siblings)
  55 siblings, 0 replies; 57+ messages in thread
From: howarth at nitro dot med dot uc dot edu @ 2010-05-01 23:59 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #28 from howarth at nitro dot med dot uc dot edu  2010-05-01 23:59 -------
Created an attachment (id=20529)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20529&action=view)
example 32-bit failing testcase


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43729


^ permalink raw reply	[flat|nested] 57+ messages in thread

* [Bug target/43729] Mach-O LTO support needed for darwin
  2010-04-12 15:51 [Bug target/43729] New: MachO LTO support needed for darwin howarth at nitro dot med dot uc dot edu
                   ` (29 preceding siblings ...)
  2010-05-01 23:59 ` howarth at nitro dot med dot uc dot edu
@ 2010-05-02  0:01 ` howarth at nitro dot med dot uc dot edu
  2010-05-02  0:07 ` howarth at nitro dot med dot uc dot edu
                   ` (24 subsequent siblings)
  55 siblings, 0 replies; 57+ messages in thread
From: howarth at nitro dot med dot uc dot edu @ 2010-05-02  0:01 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #29 from howarth at nitro dot med dot uc dot edu  2010-05-02 00:01 -------
Mike,
    I've attached one of the failing testcases with all of the files generated
by the commands...

/Users/stevenb/lto_objdir32/gcc/xgcc -B/Users/stevenb/lto_objdir32/gcc/ 
--save-temps -O0 -fwhopr  -c  -o c_lto_20081111_0.o
/Users/stevenb/gcc_trunk/gcc/testsuite/gcc.dg/lto/20081111_0.c
/Users/stevenb/lto_objdir32/gcc/xgcc -B/Users/stevenb/lto_objdir32/gcc/ 
--save-temps -O0 -fwhopr  -c  -o c_lto_20081111_1.o
/Users/stevenb/gcc_trunk/gcc/testsuite/gcc.dg/lto/20081111_1.c
/Users/stevenb/lto_objdir32/gcc/xgcc -B/Users/stevenb/lto_objdir32/gcc/
c_lto_20081111_0.o c_lto_20081111_1.o  -v --save-temps -O0 -fwhopr       -o
gcc-dg-lto-20081111-01

Unfortunately this testcase produces an empty gcc-dg-lto-20081111-01.s file.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43729


^ permalink raw reply	[flat|nested] 57+ messages in thread

* [Bug target/43729] Mach-O LTO support needed for darwin
  2010-04-12 15:51 [Bug target/43729] New: MachO LTO support needed for darwin howarth at nitro dot med dot uc dot edu
                   ` (30 preceding siblings ...)
  2010-05-02  0:01 ` howarth at nitro dot med dot uc dot edu
@ 2010-05-02  0:07 ` howarth at nitro dot med dot uc dot edu
  2010-05-02  0:10 ` howarth at nitro dot med dot uc dot edu
                   ` (23 subsequent siblings)
  55 siblings, 0 replies; 57+ messages in thread
From: howarth at nitro dot med dot uc dot edu @ 2010-05-02  0:07 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #30 from howarth at nitro dot med dot uc dot edu  2010-05-02 00:07 -------
Created an attachment (id=20530)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20530&action=view)
non-failing testcase for 64-bit


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43729


^ permalink raw reply	[flat|nested] 57+ messages in thread

* [Bug target/43729] Mach-O LTO support needed for darwin
  2010-04-12 15:51 [Bug target/43729] New: MachO LTO support needed for darwin howarth at nitro dot med dot uc dot edu
                   ` (31 preceding siblings ...)
  2010-05-02  0:07 ` howarth at nitro dot med dot uc dot edu
@ 2010-05-02  0:10 ` howarth at nitro dot med dot uc dot edu
  2010-05-02  0:48 ` howarth at nitro dot med dot uc dot edu
                   ` (22 subsequent siblings)
  55 siblings, 0 replies; 57+ messages in thread
From: howarth at nitro dot med dot uc dot edu @ 2010-05-02  0:10 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #31 from howarth at nitro dot med dot uc dot edu  2010-05-02 00:09 -------
Mike,
    I've also attached the same non-failing testcase from the x86_64 build
generated with the commands...

/Users/stevenb/lto_objdir/gcc/xgcc -B/Users/stevenb/lto_objdir/gcc/ 
--save-temps -O0 -fwhopr  -c  -o c_lto_20081111_0.o
/Users/stevenb/gcc_trunk/gcc/testsuite/gcc.dg/lto/20081111_0.c
/Users/stevenb/lto_objdir/gcc/xgcc -B/Users/stevenb/lto_objdir/gcc/ 
--save-temps -O0 -fwhopr  -c  -o c_lto_20081111_1.o
/Users/stevenb/gcc_trunk/gcc/testsuite/gcc.dg/lto/20081111_1.c
/Users/stevenb/lto_objdir/gcc/xgcc -B/Users/stevenb/lto_objdir/gcc/
c_lto_20081111_0.o c_lto_20081111_1.o  -v --save-temps -O0 -fwhopr       -o
gcc-dg-lto-20081111-01


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43729


^ permalink raw reply	[flat|nested] 57+ messages in thread

* [Bug target/43729] Mach-O LTO support needed for darwin
  2010-04-12 15:51 [Bug target/43729] New: MachO LTO support needed for darwin howarth at nitro dot med dot uc dot edu
                   ` (32 preceding siblings ...)
  2010-05-02  0:10 ` howarth at nitro dot med dot uc dot edu
@ 2010-05-02  0:48 ` howarth at nitro dot med dot uc dot edu
  2010-05-02  1:24 ` mrs at gcc dot gnu dot org
                   ` (21 subsequent siblings)
  55 siblings, 0 replies; 57+ messages in thread
From: howarth at nitro dot med dot uc dot edu @ 2010-05-02  0:48 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #32 from howarth at nitro dot med dot uc dot edu  2010-05-02 00:47 -------
The failing command out of the log from the 32-bit testcase is...

/Users/stevenb/lto_objdir32/gcc/lto1 -fPIC -quiet -dumpbase
gcc-dg-lto-20081111-01.ltrans0 -dumpdir ./ -mmacosx-version-min=10.6.3
-mtune=generic -auxbase-strip c_lto_20081111_1.wpa.ltrans.o -O0 -version
-fltrans c_lto_20081111_1.wpa.o -o c_lto_20081111_1.wpa.s

and produces the file  c_lto_20081111_1.wpa.s containing...

        .text
.globl _bar
_bar:
        pushl   %ebp
        movl    %esp, %ebp
        subl    $8, %esp
        call    ___i686.get_pc_thunk.cx
"L00000000001$pb":
        leal    _mumble-"L00000000001$pb"(%ecx), %eax
        movl    (%eax), %eax
        leave
        ret
        .section __TEXT,__textcoal_nt,coalesced,pure_instructions
        .weak_definition        ___i686.get_pc_thunk.cx
        .private_extern ___i686.get_pc_thunk.cx
___i686.get_pc_thunk.cx:
        movl    (%esp), %ecx
        ret
        .subsections_via_symbols


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43729


^ permalink raw reply	[flat|nested] 57+ messages in thread

* [Bug target/43729] Mach-O LTO support needed for darwin
  2010-04-12 15:51 [Bug target/43729] New: MachO LTO support needed for darwin howarth at nitro dot med dot uc dot edu
                   ` (33 preceding siblings ...)
  2010-05-02  0:48 ` howarth at nitro dot med dot uc dot edu
@ 2010-05-02  1:24 ` mrs at gcc dot gnu dot org
  2010-05-02 13:11 ` howarth at nitro dot med dot uc dot edu
                   ` (20 subsequent siblings)
  55 siblings, 0 replies; 57+ messages in thread
From: mrs at gcc dot gnu dot org @ 2010-05-02  1:24 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #33 from mrs at gcc dot gnu dot org  2010-05-02 01:23 -------
So, mumble isn't defined in the wpa file.  The .wpa. file has to be assembled
at the same time as 20081111_1.s, or, different code would need to be
generated.  darwin.c manages the code gen by asking the question, is this
symbol _defined_ in the translation unit or _must_ it be defined.  The answer
from that question must be valid.  In this case, someone lied to us.  So, if
there is a new answer, like, is this symbol defined in an LTO segment, we could
modify the underlying question do be:

is_defined(sym) {
  if (LTO_SYM(sym) return false;
  [ ... ]
|

which should be seamless, but, one then pays the price for this in less good
codegen.  If one bundles all the code into the wpa file, one can preserve
_good_ codegen, which is the other way to fix this.  machopic_symbol_defined_p
is the is_defined predicate above, if you want to go that path.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43729


^ permalink raw reply	[flat|nested] 57+ messages in thread

* [Bug target/43729] Mach-O LTO support needed for darwin
  2010-04-12 15:51 [Bug target/43729] New: MachO LTO support needed for darwin howarth at nitro dot med dot uc dot edu
                   ` (34 preceding siblings ...)
  2010-05-02  1:24 ` mrs at gcc dot gnu dot org
@ 2010-05-02 13:11 ` howarth at nitro dot med dot uc dot edu
  2010-05-02 13:59 ` howarth at nitro dot med dot uc dot edu
                   ` (19 subsequent siblings)
  55 siblings, 0 replies; 57+ messages in thread
From: howarth at nitro dot med dot uc dot edu @ 2010-05-02 13:11 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #34 from howarth at nitro dot med dot uc dot edu  2010-05-02 13:11 -------
Mike,
     Can you flesh out the implementation of the second option of putting all
of the symbols in the wpa? Would this only require changes to darwin specific
files or a change to the LTO mechanism itself? 


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43729


^ permalink raw reply	[flat|nested] 57+ messages in thread

* [Bug target/43729] Mach-O LTO support needed for darwin
  2010-04-12 15:51 [Bug target/43729] New: MachO LTO support needed for darwin howarth at nitro dot med dot uc dot edu
                   ` (35 preceding siblings ...)
  2010-05-02 13:11 ` howarth at nitro dot med dot uc dot edu
@ 2010-05-02 13:59 ` howarth at nitro dot med dot uc dot edu
  2010-05-02 19:16 ` howarth at nitro dot med dot uc dot edu
                   ` (18 subsequent siblings)
  55 siblings, 0 replies; 57+ messages in thread
From: howarth at nitro dot med dot uc dot edu @ 2010-05-02 13:59 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #35 from howarth at nitro dot med dot uc dot edu  2010-05-02 13:59 -------
Proposed patch for LTO support on Mach-O posted at
http://gcc.gnu.org/ml/gcc-patches/2010-05/msg00041.html.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43729


^ permalink raw reply	[flat|nested] 57+ messages in thread

* [Bug target/43729] Mach-O LTO support needed for darwin
  2010-04-12 15:51 [Bug target/43729] New: MachO LTO support needed for darwin howarth at nitro dot med dot uc dot edu
                   ` (36 preceding siblings ...)
  2010-05-02 13:59 ` howarth at nitro dot med dot uc dot edu
@ 2010-05-02 19:16 ` howarth at nitro dot med dot uc dot edu
  2010-05-03 21:40 ` mrs at gcc dot gnu dot org
                   ` (17 subsequent siblings)
  55 siblings, 0 replies; 57+ messages in thread
From: howarth at nitro dot med dot uc dot edu @ 2010-05-02 19:16 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #36 from howarth at nitro dot med dot uc dot edu  2010-05-02 19:15 -------
Testresults on x86_64-apple-darwin10 at r158962 for proposed patch...

http://gcc.gnu.org/ml/gcc-testresults/2010-05/msg00185.html


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43729


^ permalink raw reply	[flat|nested] 57+ messages in thread

* [Bug target/43729] Mach-O LTO support needed for darwin
  2010-04-12 15:51 [Bug target/43729] New: MachO LTO support needed for darwin howarth at nitro dot med dot uc dot edu
                   ` (37 preceding siblings ...)
  2010-05-02 19:16 ` howarth at nitro dot med dot uc dot edu
@ 2010-05-03 21:40 ` mrs at gcc dot gnu dot org
  2010-05-03 22:01 ` howarth at nitro dot med dot uc dot edu
                   ` (16 subsequent siblings)
  55 siblings, 0 replies; 57+ messages in thread
From: mrs at gcc dot gnu dot org @ 2010-05-03 21:40 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #37 from mrs at gcc dot gnu dot org  2010-05-03 21:39 -------
First question to decide is what direction they want to go with it, that's an
LTO question.  Once that is decided, if the direction to do is to change
darwin.c, I have given the 3 lines to do that, what remains undone with that
solution is testing, and the correct spelling of LTO_SYM, both of which are LTO
issues.  I could create a patch with the addition of the three lines, but that
isn't any harder than just cutting and pasting the three lines given, I don't
think.  Let me know the spelling and I can.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43729


^ permalink raw reply	[flat|nested] 57+ messages in thread

* [Bug target/43729] Mach-O LTO support needed for darwin
  2010-04-12 15:51 [Bug target/43729] New: MachO LTO support needed for darwin howarth at nitro dot med dot uc dot edu
                   ` (38 preceding siblings ...)
  2010-05-03 21:40 ` mrs at gcc dot gnu dot org
@ 2010-05-03 22:01 ` howarth at nitro dot med dot uc dot edu
  2010-05-03 22:15 ` steven at gcc dot gnu dot org
                   ` (15 subsequent siblings)
  55 siblings, 0 replies; 57+ messages in thread
From: howarth at nitro dot med dot uc dot edu @ 2010-05-03 22:01 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #38 from howarth at nitro dot med dot uc dot edu  2010-05-03 22:01 -------
Mike,
   I was more interested about the second option since you seem to indicate
that the first option would pessimize the the LTO code generation on i386
darwin. Or did I misunderstand that comment?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43729


^ permalink raw reply	[flat|nested] 57+ messages in thread

* [Bug target/43729] Mach-O LTO support needed for darwin
  2010-04-12 15:51 [Bug target/43729] New: MachO LTO support needed for darwin howarth at nitro dot med dot uc dot edu
                   ` (39 preceding siblings ...)
  2010-05-03 22:01 ` howarth at nitro dot med dot uc dot edu
@ 2010-05-03 22:15 ` steven at gcc dot gnu dot org
  2010-05-03 22:47 ` mrs at gcc dot gnu dot org
                   ` (14 subsequent siblings)
  55 siblings, 0 replies; 57+ messages in thread
From: steven at gcc dot gnu dot org @ 2010-05-03 22:15 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #39 from steven at gcc dot gnu dot org  2010-05-03 22:15 -------
I still don't understand the 32 bits problem.

Without LTO, there is this code in the for 20081111_0.i:
L_mumble$non_lazy_ptr:
        .indirect_symbol _mumble

In the WPA code mumble is gone in the code for 20081111_1.i (and so is the
whole declaration for mumble) but the .indirect_symbol is also not in the WPA
asm for 20081111_0.i.

Something in the darwin backend appears to believe that _mumble has already
been written to the assembler files. 


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43729


^ permalink raw reply	[flat|nested] 57+ messages in thread

* [Bug target/43729] Mach-O LTO support needed for darwin
  2010-04-12 15:51 [Bug target/43729] New: MachO LTO support needed for darwin howarth at nitro dot med dot uc dot edu
                   ` (40 preceding siblings ...)
  2010-05-03 22:15 ` steven at gcc dot gnu dot org
@ 2010-05-03 22:47 ` mrs at gcc dot gnu dot org
  2010-05-03 23:41 ` howarth at nitro dot med dot uc dot edu
                   ` (13 subsequent siblings)
  55 siblings, 0 replies; 57+ messages in thread
From: mrs at gcc dot gnu dot org @ 2010-05-03 22:47 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #40 from mrs at gcc dot gnu dot org  2010-05-03 22:47 -------
Jack, if I follow what you want, that's an LTO fix, I don't know the LTO code. 
I don't know that that fix is even possible.  I think one must do the LTO_SYM
fix, if I had to guess.  I don't have the time to embark upon learning all the
LTO bits to that work.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43729


^ permalink raw reply	[flat|nested] 57+ messages in thread

* [Bug target/43729] Mach-O LTO support needed for darwin
  2010-04-12 15:51 [Bug target/43729] New: MachO LTO support needed for darwin howarth at nitro dot med dot uc dot edu
                   ` (41 preceding siblings ...)
  2010-05-03 22:47 ` mrs at gcc dot gnu dot org
@ 2010-05-03 23:41 ` howarth at nitro dot med dot uc dot edu
  2010-05-04  8:22 ` mrs at gcc dot gnu dot org
                   ` (12 subsequent siblings)
  55 siblings, 0 replies; 57+ messages in thread
From: howarth at nitro dot med dot uc dot edu @ 2010-05-03 23:41 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #41 from howarth at nitro dot med dot uc dot edu  2010-05-03 23:41 -------
I wonder if...

/* Given the decl DECL, return the prevailing decl with the same name. */

tree
lto_symtab_prevailing_decl (tree decl)
{
  lto_symtab_entry_t ret;

  /* Builtins and local symbols are their own prevailing decl.  */
  if (!TREE_PUBLIC (decl) || is_builtin_fn (decl))
    return decl;

  /* DECL_ABSTRACTs are their own prevailng decl.  */
  if (TREE_CODE (decl) == FUNCTION_DECL && DECL_ABSTRACT (decl))
    return decl;

  /* Ensure DECL_ASSEMBLER_NAME will not set assembler name.  */
  gcc_assert (DECL_ASSEMBLER_NAME_SET_P (decl));

  /* Walk through the list of candidates and return the one we merged to.  */
  ret = lto_symtab_get (DECL_ASSEMBLER_NAME (decl));
  if (!ret)
    return NULL_TREE;

  return ret->decl;
}

in lto-symtab.c is at all relevant to the problem. Otherwise, could we somehow
access the status of lto_mode_d from collect2.c from within darwin.c?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43729


^ permalink raw reply	[flat|nested] 57+ messages in thread

* [Bug target/43729] Mach-O LTO support needed for darwin
  2010-04-12 15:51 [Bug target/43729] New: MachO LTO support needed for darwin howarth at nitro dot med dot uc dot edu
                   ` (42 preceding siblings ...)
  2010-05-03 23:41 ` howarth at nitro dot med dot uc dot edu
@ 2010-05-04  8:22 ` mrs at gcc dot gnu dot org
  2010-05-07 22:23 ` steven at gcc dot gnu dot org
                   ` (11 subsequent siblings)
  55 siblings, 0 replies; 57+ messages in thread
From: mrs at gcc dot gnu dot org @ 2010-05-04  8:22 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #42 from mrs at gcc dot gnu dot org  2010-05-04 08:22 -------
Steve, machopic_symbol_defined_p I think is being asked if that symbol is being
defined.  It is saying yes, but is isn't defined.  Since it was not defined
before, but is with LTO, I was assuming it was a symbol added by LTO.  Anyway,
machopic_indirection_name is the routine that creates the funny names.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43729


^ permalink raw reply	[flat|nested] 57+ messages in thread

* [Bug target/43729] Mach-O LTO support needed for darwin
  2010-04-12 15:51 [Bug target/43729] New: MachO LTO support needed for darwin howarth at nitro dot med dot uc dot edu
                   ` (43 preceding siblings ...)
  2010-05-04  8:22 ` mrs at gcc dot gnu dot org
@ 2010-05-07 22:23 ` steven at gcc dot gnu dot org
  2010-05-08 14:37 ` howarth at nitro dot med dot uc dot edu
                   ` (10 subsequent siblings)
  55 siblings, 0 replies; 57+ messages in thread
From: steven at gcc dot gnu dot org @ 2010-05-07 22:23 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #43 from steven at gcc dot gnu dot org  2010-05-07 22:23 -------
FIXED for x86_64-apple-darwin:
http://gcc.gnu.org/viewcvs?view=revision&revision=159173

ix86 and ppc* are still to be done.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43729


^ permalink raw reply	[flat|nested] 57+ messages in thread

* [Bug target/43729] Mach-O LTO support needed for darwin
  2010-04-12 15:51 [Bug target/43729] New: MachO LTO support needed for darwin howarth at nitro dot med dot uc dot edu
                   ` (44 preceding siblings ...)
  2010-05-07 22:23 ` steven at gcc dot gnu dot org
@ 2010-05-08 14:37 ` howarth at nitro dot med dot uc dot edu
  2010-05-08 14:39 ` howarth at nitro dot med dot uc dot edu
                   ` (9 subsequent siblings)
  55 siblings, 0 replies; 57+ messages in thread
From: howarth at nitro dot med dot uc dot edu @ 2010-05-08 14:37 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #44 from howarth at nitro dot med dot uc dot edu  2010-05-08 14:36 -------
Created an attachment (id=20604)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20604&action=view)
example failing test case on powerpc-apple-darwin9


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43729


^ permalink raw reply	[flat|nested] 57+ messages in thread

* [Bug target/43729] Mach-O LTO support needed for darwin
  2010-04-12 15:51 [Bug target/43729] New: MachO LTO support needed for darwin howarth at nitro dot med dot uc dot edu
                   ` (45 preceding siblings ...)
  2010-05-08 14:37 ` howarth at nitro dot med dot uc dot edu
@ 2010-05-08 14:39 ` howarth at nitro dot med dot uc dot edu
  2010-05-08 14:55 ` howarth at nitro dot med dot uc dot edu
                   ` (8 subsequent siblings)
  55 siblings, 0 replies; 57+ messages in thread
From: howarth at nitro dot med dot uc dot edu @ 2010-05-08 14:39 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #45 from howarth at nitro dot med dot uc dot edu  2010-05-08 14:39 -------
Attached example failing testcase from lto.exp when using proposed patch from
http://gcc.gnu.org/ml/gcc-patches/2010-05/msg00577.html on
powerpc-apple-darwin9.  In this testcase, the failure appears as...
/Users/howarth/darwin_objdir/gcc/xgcc -B/Users/howarth/darwin_objdir/gcc/
--save-temps -O0 -fwhopr -c -o c_lto_20081111_0.o /
Users/howarth/gcc/gcc/testsuite/gcc.dg/lto/20081111_0.c
/Users/howarth/darwin_objdir/gcc/xgcc -B/Users/howarth/darwin_objdir/gcc/
--save-temps -O0 -fwhopr -c -o c_lto_20081111_0.o /
Users/howarth/gcc/gcc/testsuite/gcc.dg/lto/20081111_0.c
 /Users/howarth/darwin_objdir/gcc/xgcc -B/Users/howarth/darwin_objdir/gcc/
c_lto_20081111_0.o c_lto_20081111_1.o -v --save-te
mps -O0 -fwhopr       -o gcc-dg-lto-20081111-01
Reading specs from /Users/howarth/darwin_objdir/gcc/specs
COLLECT_GCC=/Users/howarth/darwin_objdir/gcc/xgcc
COLLECT_LTO_WRAPPER=/Users/howarth/darwin_objdir/gcc/lto-wrapper
Target: powerpc-apple-darwin9.8.0
Configured with: ../gcc/configure --prefix=/Users/howarth/dist
--enable-languages=c --with-gmp=/sw --with-libiconv-prefix=/sw
 --with-ppl=/sw --with-cloog=/sw --with-mpc=/sw --with-system-zlib
--x-includes=/usr/X11R6/include --x-libraries=/usr/X11R6/l
ib --enable-lto --disable-bootstrap --enable-checking
Thread model: posix
gcc version 4.6.0 20100508 (experimental) (GCC) 
COMPILER_PATH=/Users/howarth/darwin_objdir/gcc/
LIBRARY_PATH=/Users/howarth/darwin_objdir/gcc/:/usr/lib/
COLLECT_GCC_OPTIONS='-mmacosx-version-min=10.5.8'
'-B/Users/howarth/darwin_objdir/gcc/' '-v' '-save-temps' '-O0' '-fwhopr' '-
o' 'gcc-dg-lto-20081111-01'
 /Users/howarth/darwin_objdir/gcc/collect2 -dynamic -arch ppc
-macosx_version_min 10.5.8 -weak_reference_mismatches non-weak 
-o gcc-dg-lto-20081111-01 -lcrt1.10.5.o -L/Users/howarth/darwin_objdir/gcc
c_lto_20081111_0.o c_lto_20081111_1.o -fwhopr -lgc
c_s.10.5 -lgcc_ext.10.5 -lgcc -lSystemStubs -lSystem
collect2 version 4.6.0 20100508 (experimental) (Darwin/PowerPC)
/Users/howarth/darwin_objdir/gcc/collect-ld -dynamic -arch ppc
-macosx_version_min 10.5.8 -weak_reference_mismatches non-weak
 -o gcc-dg-lto-20081111-01 -lcrt1.10.5.o -L/Users/howarth/darwin_objdir/gcc
c_lto_20081111_0.o c_lto_20081111_1.o -lgcc_s.10.
5 -lgcc_ext.10.5 -lgcc -lSystemStubs -lSystem
 /sw/bin/gnm -n c_lto_20081111_0.o
 /sw/bin/gnm -n c_lto_20081111_1.o
/Users/howarth/darwin_objdir/gcc/lto-wrapper
/Users/howarth/darwin_objdir/gcc/xgcc -mmacosx-version-min=10.5.8
-B/Users/howar
th/darwin_objdir/gcc/ -v -save-temps -O0 -fwhopr -o gcc-dg-lto-20081111-01
c_lto_20081111_0.o c_lto_20081111_1.o
Reading specs from /Users/howarth/darwin_objdir/gcc/specs
COLLECT_GCC=/Users/howarth/darwin_objdir/gcc/xgcc
COLLECT_LTO_WRAPPER=/Users/howarth/darwin_objdir/gcc/lto-wrapper
Target: powerpc-apple-darwin9.8.0
Configured with: ../gcc/configure --prefix=/Users/howarth/dist
--enable-languages=c --with-gmp=/sw --with-libiconv-prefix=/sw
 --with-ppl=/sw --with-cloog=/sw --with-mpc=/sw --with-system-zlib
--x-includes=/usr/X11R6/include --x-libraries=/usr/X11R6/l
ib --enable-lto --disable-bootstrap --enable-checking
Thread model: posix
gcc version 4.6.0 20100508 (experimental) (GCC) 
COLLECT_GCC_OPTIONS='-combine' '-c'
'-fltrans-output-list=/var/tmp//ccebD29J.ltrans.out' '-fwpa'
'-mmacosx-version-min=10.5.8
' '-B/Users/howarth/darwin_objdir/gcc/' '-v' '-save-temps' '-O0' '-dumpbase'
'gcc-dg-lto-20081111-01' '-dumpdir' 'c_lto_20081
111_0.o'
 /Users/howarth/darwin_objdir/gcc/lto1 -fPIC -quiet -dumpbase
gcc-dg-lto-20081111-01 -dumpdir c_lto_20081111_0.o -mmacosx-ver
sion-min=10.5.8 -auxbase c_lto_20081111_1 -O0 -version
-fltrans-output-list=/var/tmp//ccebD29J.ltrans.out -fwpa @/var/tmp//cc
LYFBxO
GNU GIMPLE (GCC) version 4.6.0 20100508 (experimental)
(powerpc-apple-darwin9.8.0)
        compiled by GNU C version 4.0.1 (Apple Inc. build 5493), GMP version
4.3.1, MPFR version 2.4.1, MPC version 0.8
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
GNU GIMPLE (GCC) version 4.6.0 20100508 (experimental)
(powerpc-apple-darwin9.8.0)
        compiled by GNU C version 4.0.1 (Apple Inc. build 5493), GMP version
4.3.1, MPFR version 2.4.1, MPC version 0.8
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
COMPILER_PATH=/Users/howarth/darwin_objdir/gcc/:/Users/howarth/darwin_objdir/gcc/
LIBRARY_PATH=/Users/howarth/darwin_objdir/gcc/:/Users/howarth/darwin_objdir/gcc/:/usr/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-combine' '-c'
'-fltrans-output-list=/var/tmp//ccebD29J.ltrans.out' '-fwpa'
'-mmacosx-version-min=10.5.8
' '-B/Users/howarth/darwin_objdir/gcc/' '-v' '-save-temps' '-O0' '-dumpbase'
'gcc-dg-lto-20081111-01' '-dumpdir' 'c_lto_20081
111_0.o'
COLLECT_GCC_OPTIONS='-combine' '-c'
'-fltrans-output-list=/var/tmp//ccebD29J.ltrans.out' '-fwpa'
'-mmacosx-version-min=10.5.8
' '-B/Users/howarth/darwin_objdir/gcc/' '-v' '-save-temps' '-O0' '-dumpbase'
'gcc-dg-lto-20081111-01' '-dumpdir' 'c_lto_20081
111_0.o'
Reading specs from /Users/howarth/darwin_objdir/gcc/specs
COLLECT_GCC=/Users/howarth/darwin_objdir/gcc/xgcc
COLLECT_LTO_WRAPPER=/Users/howarth/darwin_objdir/gcc/lto-wrapper
Target: powerpc-apple-darwin9.8.0
Configured with: ../gcc/configure --prefix=/Users/howarth/dist
--enable-languages=c --with-gmp=/sw --with-libiconv-prefix=/sw
 --with-ppl=/sw --with-cloog=/sw --with-mpc=/sw --with-system-zlib
--x-includes=/usr/X11R6/include --x-libraries=/usr/X11R6/l
ib --enable-lto --disable-bootstrap --enable-checking
Thread model: posix
gcc version 4.6.0 20100508 (experimental) (GCC) 
COLLECT_GCC_OPTIONS='-c' '-mmacosx-version-min=10.5.8'
'-B/Users/howarth/darwin_objdir/gcc/' '-v' '-save-temps' '-O0' '-fltra
ns' '-o' 'c_lto_20081111_1.wpa.ltrans.o'
 /Users/howarth/darwin_objdir/gcc/lto1 -fPIC -quiet -dumpbase
c_lto_20081111_1.wpa.o -mmacosx-version-min=10.5.8 -auxbase-str
ip c_lto_20081111_1.wpa.ltrans.o -O0 -version -fltrans c_lto_20081111_1.wpa.o
-o c_lto_20081111_1.wpa.s
GNU GIMPLE (GCC) version 4.6.0 20100508 (experimental)
(powerpc-apple-darwin9.8.0)
        compiled by GNU C version 4.0.1 (Apple Inc. build 5493), GMP version
4.3.1, MPFR version 2.4.1, MPC version 0.8
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
GNU GIMPLE (GCC) version 4.6.0 20100508 (experimental)
(powerpc-apple-darwin9.8.0)
        compiled by GNU C version 4.0.1 (Apple Inc. build 5493), GMP version
4.3.1, MPFR version 2.4.1, MPC version 0.8
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
COLLECT_GCC_OPTIONS='-c' '-mmacosx-version-min=10.5.8'
'-B/Users/howarth/darwin_objdir/gcc/' '-v' '-save-temps' '-O0' '-fltra
ns' '-o' 'c_lto_20081111_1.wpa.ltrans.o'
 /Users/howarth/darwin_objdir/gcc/as -arch ppc -o c_lto_20081111_1.wpa.ltrans.o
c_lto_20081111_1.wpa.s
COMPILER_PATH=/Users/howarth/darwin_objdir/gcc/:/Users/howarth/darwin_objdir/gcc/
LIBRARY_PATH=/Users/howarth/darwin_objdir/gcc/:/Users/howarth/darwin_objdir/gcc/:/usr/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-c' '-mmacosx-version-min=10.5.8'
'-B/Users/howarth/darwin_objdir/gcc/' '-v' '-save-temps' '-O0' '-fltra
ns' '-o' 'c_lto_20081111_1.wpa.ltrans.o'
COLLECT_GCC_OPTIONS='-c' '-mmacosx-version-min=10.5.8'
'-B/Users/howarth/darwin_objdir/gcc/' '-v' '-save-temps' '-O0' '-fltra
ns' '-o' 'c_lto_20081111_1.wpa.ltrans.o'
/Users/howarth/darwin_objdir/gcc/collect-ld -dynamic -arch ppc
-macosx_version_min 10.5.8 -weak_reference_mismatches non-weak
 -o gcc-dg-lto-20081111-01 -lcrt1.10.5.o -L/Users/howarth/darwin_objdir/gcc
c_lto_20081111_1.wpa.ltrans.o -lgcc_s.10.5 -lgcc_
ext.10.5 -lgcc -lSystemStubs -lSystem
Undefined symbols:
  "_main", referenced from:
      start in crt1.10.5.o
ld: symbol(s) not found
collect2: ld returned 1 exit status


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43729


^ permalink raw reply	[flat|nested] 57+ messages in thread

* [Bug target/43729] Mach-O LTO support needed for darwin
  2010-04-12 15:51 [Bug target/43729] New: MachO LTO support needed for darwin howarth at nitro dot med dot uc dot edu
                   ` (46 preceding siblings ...)
  2010-05-08 14:39 ` howarth at nitro dot med dot uc dot edu
@ 2010-05-08 14:55 ` howarth at nitro dot med dot uc dot edu
  2010-05-08 20:08 ` howarth at nitro dot med dot uc dot edu
                   ` (7 subsequent siblings)
  55 siblings, 0 replies; 57+ messages in thread
From: howarth at nitro dot med dot uc dot edu @ 2010-05-08 14:55 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #46 from howarth at nitro dot med dot uc dot edu  2010-05-08 14:55 -------
Opps. The second compile in the failing example failing testcase was...

/Users/howarth/darwin_objdir/gcc/xgcc -B/Users/howarth/darwin_objdir/gcc/
--save-temps -O0 -fwhopr  -c  -o c_lto_20081111_1.o
/Users/howarth/gcc/gcc/testsuite/gcc.dg/lto/20081111_1.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43729


^ permalink raw reply	[flat|nested] 57+ messages in thread

* [Bug target/43729] Mach-O LTO support needed for darwin
  2010-04-12 15:51 [Bug target/43729] New: MachO LTO support needed for darwin howarth at nitro dot med dot uc dot edu
                   ` (47 preceding siblings ...)
  2010-05-08 14:55 ` howarth at nitro dot med dot uc dot edu
@ 2010-05-08 20:08 ` howarth at nitro dot med dot uc dot edu
  2010-05-08 20:14 ` howarth at nitro dot med dot uc dot edu
                   ` (6 subsequent siblings)
  55 siblings, 0 replies; 57+ messages in thread
From: howarth at nitro dot med dot uc dot edu @ 2010-05-08 20:08 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #47 from howarth at nitro dot med dot uc dot edu  2010-05-08 20:08 -------
Trying...

make -k check-gcc RUNTESTFLAGS="lto.exp --target_board=unix'{-m64}'"

I get...

                === gcc Summary ===

# of expected passes            319
# of unexpected failures        73
# of unresolved testcases       155
# of unsupported tests          5
/Users/howarth/darwin_objdir/gcc/xgcc  version 4.6.0 20100508 (experimental)
(GCC) 

on powerpc-apple-darwin9. Interestingly most of these failures seem to be due
to 'main' getting optimized away...

/Users/howarth/darwin_objdir/gcc/collect-ld -dynamic -arch ppc
-macosx_version_min 10.5.8 -weak_reference_mismatches non-weak -o gcc-dg-lto-2
0081111-01 -lcrt1.10.5.o -L/Users/howarth/darwin_objdir/gcc
c_lto_20081111_1.wpa.ltrans.o -lgcc_s.10.5 -lgcc_ext.10.5 -lgcc -lSystemStubs
-lS
ystem
Undefined symbols:
  "_main", referenced from:
      start in crt1.10.5.o
ld: symbol(s) not found
collect2: ld returned 1 exit status

I am uploading one of these failing test cases as no_main.tgz.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43729


^ permalink raw reply	[flat|nested] 57+ messages in thread

* [Bug target/43729] Mach-O LTO support needed for darwin
  2010-04-12 15:51 [Bug target/43729] New: MachO LTO support needed for darwin howarth at nitro dot med dot uc dot edu
                   ` (48 preceding siblings ...)
  2010-05-08 20:08 ` howarth at nitro dot med dot uc dot edu
@ 2010-05-08 20:14 ` howarth at nitro dot med dot uc dot edu
  2010-05-25  0:29 ` mrs at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  55 siblings, 0 replies; 57+ messages in thread
From: howarth at nitro dot med dot uc dot edu @ 2010-05-08 20:14 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #48 from howarth at nitro dot med dot uc dot edu  2010-05-08 20:14 -------
Created an attachment (id=20607)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20607&action=view)
example failing test case at -m64  on powerpc-apple-darwin9


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43729


^ permalink raw reply	[flat|nested] 57+ messages in thread

* [Bug target/43729] Mach-O LTO support needed for darwin
  2010-04-12 15:51 [Bug target/43729] New: MachO LTO support needed for darwin howarth at nitro dot med dot uc dot edu
                   ` (49 preceding siblings ...)
  2010-05-08 20:14 ` howarth at nitro dot med dot uc dot edu
@ 2010-05-25  0:29 ` mrs at gcc dot gnu dot org
  2010-06-06 10:50 ` dominiq at lps dot ens dot fr
                   ` (4 subsequent siblings)
  55 siblings, 0 replies; 57+ messages in thread
From: mrs at gcc dot gnu dot org @ 2010-05-25  0:29 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #49 from mrs at gcc dot gnu dot org  2010-05-25 00:29 -------
r159527 has yet more lto work in it.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43729


^ permalink raw reply	[flat|nested] 57+ messages in thread

* [Bug target/43729] Mach-O LTO support needed for darwin
  2010-04-12 15:51 [Bug target/43729] New: MachO LTO support needed for darwin howarth at nitro dot med dot uc dot edu
                   ` (50 preceding siblings ...)
  2010-05-25  0:29 ` mrs at gcc dot gnu dot org
@ 2010-06-06 10:50 ` dominiq at lps dot ens dot fr
  2010-06-06 13:46 ` dominiq at lps dot ens dot fr
                   ` (3 subsequent siblings)
  55 siblings, 0 replies; 57+ messages in thread
From: dominiq at lps dot ens dot fr @ 2010-06-06 10:50 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #50 from dominiq at lps dot ens dot fr  2010-06-06 10:50 -------
On x86_64-apple-darwin10.3.0 between revisions 160235 and 160330 the failures
with -m32 went from

FAIL: gcc.c-torture/execute/builtins/abs-1.c compilation,  -O2 -fwhopr 
FAIL: gcc.c-torture/execute/builtins/memcpy-chk.c compilation,  -O2 -fwhopr 
FAIL: gcc.c-torture/execute/builtins/memmove-chk.c compilation,  -O2 -fwhopr 
FAIL: gcc.c-torture/execute/builtins/mempcpy-chk.c compilation,  -O2 -fwhopr 
FAIL: gcc.c-torture/execute/builtins/memset-chk.c compilation,  -O2 -fwhopr 
FAIL: gcc.c-torture/execute/builtins/pr23484-chk.c compilation,  -O2 -fwhopr 
FAIL: gcc.c-torture/execute/builtins/snprintf-chk.c compilation,  -O2 -fwhopr 
FAIL: gcc.c-torture/execute/builtins/sprintf-chk.c compilation,  -O2 -fwhopr 
FAIL: gcc.c-torture/execute/builtins/stpcpy-chk.c compilation,  -O2 -fwhopr 
FAIL: gcc.c-torture/execute/builtins/strcat-chk.c compilation,  -O2 -fwhopr 
FAIL: gcc.c-torture/execute/builtins/strcpy-chk.c compilation,  -O2 -fwhopr 
FAIL: gcc.c-torture/execute/builtins/strncat-chk.c compilation,  -O2 -fwhopr 
FAIL: gcc.c-torture/execute/builtins/strncpy-chk.c compilation,  -O2 -fwhopr 
FAIL: gcc.c-torture/execute/builtins/strstr-asm.c compilation,  -O2 -fwhopr 
FAIL: gcc.c-torture/execute/builtins/vsnprintf-chk.c compilation,  -O2 -fwhopr 
FAIL: gcc.c-torture/execute/builtins/vsprintf-chk.c compilation,  -O2 -fwhopr 

to

FAIL: gcc.c-torture/execute/builtins/abs-1.c compilation,  -O2 -fwhopr 
FAIL: gcc.c-torture/execute/builtins/strstr-asm.c compilation,  -O2 -fwhopr 


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43729


^ permalink raw reply	[flat|nested] 57+ messages in thread

* [Bug target/43729] Mach-O LTO support needed for darwin
  2010-04-12 15:51 [Bug target/43729] New: MachO LTO support needed for darwin howarth at nitro dot med dot uc dot edu
                   ` (51 preceding siblings ...)
  2010-06-06 10:50 ` dominiq at lps dot ens dot fr
@ 2010-06-06 13:46 ` dominiq at lps dot ens dot fr
  2010-06-06 20:23 ` dominiq at lps dot ens dot fr
                   ` (2 subsequent siblings)
  55 siblings, 0 replies; 57+ messages in thread
From: dominiq at lps dot ens dot fr @ 2010-06-06 13:46 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #51 from dominiq at lps dot ens dot fr  2010-06-06 13:46 -------
The 14 tests were fixed by revision 160258 (that has nothing to do with
darwin).
Also I see the following changes, 160257:

                === gcc tests ===

Schedule of variations:
    unix/-m32
    unix/-m64

Running target unix/-m32
Using /sw64/share/dejagnu/baseboards/unix.exp as board description file for
target.
Using /sw64/share/dejagnu/config/unix.exp as generic interface file for target.
Using /opt/gcc/p_work/gcc/testsuite/config/default.exp as
tool-and-target-specific interface file.
Running /opt/gcc/p_work/gcc/testsuite/gcc.dg/lto/lto.exp ...
FAIL: gcc.dg/lto/20081111 c_lto_20081111_0.o-c_lto_20081111_1.o link, -O0
-fwhopr
FAIL: gcc.dg/lto/20081111 c_lto_20081111_0.o-c_lto_20081111_1.o link, -O2
-fwhopr
FAIL: gcc.dg/lto/20081112 c_lto_20081112_0.o-c_lto_20081112_1.o link, -O0
-fwhopr
FAIL: gcc.dg/lto/20081112 c_lto_20081112_0.o-c_lto_20081112_1.o link, -O2
-fwhopr
FAIL: gcc.dg/lto/20090210 c_lto_20090210_0.o-c_lto_20090210_1.o link, -O0
-fwhopr
FAIL: gcc.dg/lto/20090210 c_lto_20090210_0.o-c_lto_20090210_1.o link, -O2
-fwhopr
FAIL: gcc.dg/lto/20090213 c_lto_20090213_0.o-c_lto_20090213_1.o link, -O2
-fwhopr
FAIL: gcc.dg/lto/20090218 c_lto_20090218_0.o-c_lto_20090218_3.o link, -O2
-fwhopr
FAIL: gcc.dg/lto/20100227-1 c_lto_20100227-1_0.o-c_lto_20100227-1_1.o link, -O0
-fwhopr
FAIL: gcc.dg/lto/20100227-1 c_lto_20100227-1_0.o-c_lto_20100227-1_1.o link, -O2
-fwhopr
FAIL: gcc.dg/lto/20100423-2 c_lto_20100423-2_0.o-c_lto_20100423-2_1.o link, -O2
-fwhopr
FAIL: gcc.dg/lto/20100423-2 c_lto_20100423-2_0.o-c_lto_20100423-2_1.o link, -O3
-fwhopr
FAIL: gcc.dg/lto/20100603-2 c_lto_20100603-2_0.o-c_lto_20100603-2_0.o link, -O0
-fwhopr (internal compiler error)
FAIL: gcc.dg/lto/20100603-2 c_lto_20100603-2_0.o-c_lto_20100603-2_0.o link, -O2
-fwhopr (internal compiler error)
FAIL: gcc.dg/lto/20100603-3 c_lto_20100603-3_0.o-c_lto_20100603-3_0.o link, -O0
-fwhopr (internal compiler error)
FAIL: gcc.dg/lto/20100603-3 c_lto_20100603-3_0.o-c_lto_20100603-3_0.o link, -O2
-fwhopr (internal compiler error)
FAIL: gcc.dg/lto/ipacp c_lto_ipacp_0.o-c_lto_ipacp_1.o link,  -O1 -fwhopr
-fipa-cp -fipa-cp-clone
FAIL: gcc.dg/lto/ipareference2 c_lto_ipareference2_0.o-c_lto_ipareference2_1.o
link,  -O1 -fwhopr -fwhole-program
FAIL: gcc.dg/lto/ipareference c_lto_ipareference_0.o-c_lto_ipareference_1.o
link,  -O1 -fwhopr 
FAIL: gcc.dg/lto/materialize-1 c_lto_materialize-1_0.o-c_lto_materialize-1_1.o
link,  -O3 -fwhopr

                === gcc Summary for unix/-m32 ===

# of expected passes            520
# of unexpected failures        20
# of unresolved testcases       20
# of unsupported tests          4
Running target unix/-m64
Using /sw64/share/dejagnu/baseboards/unix.exp as board description file for
target.
Using /sw64/share/dejagnu/config/unix.exp as generic interface file for target.
Using /opt/gcc/p_work/gcc/testsuite/config/default.exp as
tool-and-target-specific interface file.
Running /opt/gcc/p_work/gcc/testsuite/gcc.dg/lto/lto.exp ...
FAIL: gcc.dg/lto/20090210 c_lto_20090210_0.o-c_lto_20090210_1.o link, -O0
-fwhopr
FAIL: gcc.dg/lto/20090210 c_lto_20090210_0.o-c_lto_20090210_1.o link, -O2
-fwhopr
FAIL: gcc.dg/lto/20100603-2 c_lto_20100603-2_0.o-c_lto_20100603-2_0.o link, -O0
-fwhopr (internal compiler error)
FAIL: gcc.dg/lto/20100603-2 c_lto_20100603-2_0.o-c_lto_20100603-2_0.o link, -O2
-fwhopr (internal compiler error)
FAIL: gcc.dg/lto/20100603-3 c_lto_20100603-3_0.o-c_lto_20100603-3_0.o link, -O0
-fwhopr (internal compiler error)
FAIL: gcc.dg/lto/20100603-3 c_lto_20100603-3_0.o-c_lto_20100603-3_0.o link, -O2
-fwhopr (internal compiler error)

                === gcc Summary for unix/-m64 ===

# of expected passes            544
# of unexpected failures        6
# of unresolved testcases       6
# of unsupported tests          4

                === gcc Summary ===

# of expected passes            1064
# of unexpected failures        26
# of unresolved testcases       26
# of unsupported tests          8

r160258:

                === gcc tests ===

Schedule of variations:
    unix/-m32
    unix/-m64

Running target unix/-m32
Using /sw64/share/dejagnu/baseboards/unix.exp as board description file for
target.
Using /sw64/share/dejagnu/config/unix.exp as generic interface file for target.
Using /opt/gcc/p_work/gcc/testsuite/config/default.exp as
tool-and-target-specific interface file.
Running /opt/gcc/p_work/gcc/testsuite/gcc.dg/lto/lto.exp ...
FAIL: gcc.dg/lto/20081111 c_lto_20081111_0.o-c_lto_20081111_1.o link, -O0
-fwhopr
FAIL: gcc.dg/lto/20081111 c_lto_20081111_0.o-c_lto_20081111_1.o link, -O2
-fwhopr
FAIL: gcc.dg/lto/20081112 c_lto_20081112_0.o-c_lto_20081112_1.o link, -O2
-fwhopr
FAIL: gcc.dg/lto/20090213 c_lto_20090213_0.o-c_lto_20090213_1.o link, -O2
-fwhopr
FAIL: gcc.dg/lto/20090218 c_lto_20090218_0.o-c_lto_20090218_3.o link, -O2
-fwhopr
FAIL: gcc.dg/lto/20090717 c_lto_20090717_0.o-c_lto_20090717_1.o link, -O0
-fwhopr
FAIL: gcc.dg/lto/20090717 c_lto_20090717_0.o-c_lto_20090717_1.o link, -O2
-fwhopr
FAIL: gcc.dg/lto/20091005-1 c_lto_20091005-1_0.o-c_lto_20091005-1_1.o link, -O0
-fwhopr
FAIL: gcc.dg/lto/20100227-1 c_lto_20100227-1_0.o-c_lto_20100227-1_1.o link, -O0
-fwhopr
FAIL: gcc.dg/lto/20100227-1 c_lto_20100227-1_0.o-c_lto_20100227-1_1.o link, -O2
-fwhopr
FAIL: gcc.dg/lto/ipacp c_lto_ipacp_0.o-c_lto_ipacp_1.o link,  -O1 -fwhopr
-fipa-cp -fipa-cp-clone
FAIL: gcc.dg/lto/ipareference2 c_lto_ipareference2_0.o-c_lto_ipareference2_1.o
link,  -O1 -fwhopr -fwhole-program
FAIL: gcc.dg/lto/materialize-1 c_lto_materialize-1_0.o-c_lto_materialize-1_1.o
link,  -O3 -fwhopr

                === gcc Summary for unix/-m32 ===

# of expected passes            528
# of unexpected failures        13
# of unresolved testcases       13
# of unsupported tests          4
Running target unix/-m64
Using /sw64/share/dejagnu/baseboards/unix.exp as board description file for
target.
Using /sw64/share/dejagnu/config/unix.exp as generic interface file for target.
Using /opt/gcc/p_work/gcc/testsuite/config/default.exp as
tool-and-target-specific interface file.
Running /opt/gcc/p_work/gcc/testsuite/gcc.dg/lto/lto.exp ...

                === gcc Summary for unix/-m64 ===

# of expected passes            552
# of unsupported tests          4

                === gcc Summary ===

# of expected passes            1080
# of unexpected failures        13
# of unresolved testcases       13
# of unsupported tests          8


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43729


^ permalink raw reply	[flat|nested] 57+ messages in thread

* [Bug target/43729] Mach-O LTO support needed for darwin
  2010-04-12 15:51 [Bug target/43729] New: MachO LTO support needed for darwin howarth at nitro dot med dot uc dot edu
                   ` (52 preceding siblings ...)
  2010-06-06 13:46 ` dominiq at lps dot ens dot fr
@ 2010-06-06 20:23 ` dominiq at lps dot ens dot fr
  2010-06-14 13:14 ` howarth at nitro dot med dot uc dot edu
  2010-07-17 22:55 ` steven at gcc dot gnu dot org
  55 siblings, 0 replies; 57+ messages in thread
From: dominiq at lps dot ens dot fr @ 2010-06-06 20:23 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #52 from dominiq at lps dot ens dot fr  2010-06-06 20:23 -------
On powerpc-apple-darwin9 I see a similar improvement at revision 160335:

                === gcc tests ===

Schedule of variations:
    unix/-m32
    unix/-m64

Running target unix/-m32
Using /sw/share/dejagnu/baseboards/unix.exp as board description file for
target.
Using /sw/share/dejagnu/config/unix.exp as generic interface file for target.
Using /opt/gcc/gcc-4.6-work/gcc/testsuite/config/default.exp as
tool-and-target-specific interface file.
Running
/opt/gcc/gcc-4.6-work/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp
...
FAIL: gcc.c-torture/execute/builtins/abs-1.c compilation,  -O2 -fwhopr 
FAIL: gcc.c-torture/execute/builtins/strstr-asm.c compilation,  -O2 -fwhopr 

                === gcc Summary for unix/-m32 ===

# of expected passes            900
# of unexpected failures        2
# of unresolved testcases       2
Running target unix/-m64
Using /sw/share/dejagnu/baseboards/unix.exp as board description file for
target.
Using /sw/share/dejagnu/config/unix.exp as generic interface file for target.
Using /opt/gcc/gcc-4.6-work/gcc/testsuite/config/default.exp as
tool-and-target-specific interface file.
Running
/opt/gcc/gcc-4.6-work/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp
...
FAIL: gcc.c-torture/execute/builtins/abs-1.c compilation,  -O2 -fwhopr 
FAIL: gcc.c-torture/execute/builtins/strstr-asm.c compilation,  -O2 -fwhopr 

                === gcc Summary for unix/-m64 ===

# of expected passes            900
# of unexpected failures        2
# of unresolved testcases       2

                === gcc Summary ===

# of expected passes            1800
# of unexpected failures        4
# of unresolved testcases       4

                === gcc tests ===

Schedule of variations:
    unix/-m32
    unix/-m64

Running target unix/-m32
Using /sw/share/dejagnu/baseboards/unix.exp as board description file for
target.
Using /sw/share/dejagnu/config/unix.exp as generic interface file for target.
Using /opt/gcc/gcc-4.6-work/gcc/testsuite/config/default.exp as
tool-and-target-specific interface file.
Running /opt/gcc/gcc-4.6-work/gcc/testsuite/gcc.dg/lto/lto.exp ...
FAIL: gcc.dg/lto/20081111 c_lto_20081111_0.o-c_lto_20081111_1.o link, -O0
-fwhopr
FAIL: gcc.dg/lto/20081111 c_lto_20081111_0.o-c_lto_20081111_1.o link, -O2
-fwhopr
FAIL: gcc.dg/lto/20081112 c_lto_20081112_0.o-c_lto_20081112_1.o link, -O2
-fwhopr
FAIL: gcc.dg/lto/20090213 c_lto_20090213_0.o-c_lto_20090213_1.o link, -O2
-fwhopr
FAIL: gcc.dg/lto/20090218 c_lto_20090218_0.o-c_lto_20090218_3.o link, -O2
-fwhopr
FAIL: gcc.dg/lto/20090717 c_lto_20090717_0.o-c_lto_20090717_1.o link, -O0
-fwhopr
FAIL: gcc.dg/lto/20090717 c_lto_20090717_0.o-c_lto_20090717_1.o link, -O2
-fwhopr
FAIL: gcc.dg/lto/20091005-1 c_lto_20091005-1_0.o-c_lto_20091005-1_1.o link, -O0
-fwhopr
FAIL: gcc.dg/lto/20100227-1 c_lto_20100227-1_0.o-c_lto_20100227-1_1.o link, -O0
-fwhopr
FAIL: gcc.dg/lto/20100227-1 c_lto_20100227-1_0.o-c_lto_20100227-1_1.o link, -O2
-fwhopr
FAIL: gcc.dg/lto/20100518 c_lto_20100518_0.o assemble, -O0 -fwhopr
FAIL: gcc.dg/lto/20100518 c_lto_20100518_0.o assemble, -O2 -fwhopr
FAIL: gcc.dg/lto/20100518 c_lto_20100518_0.o assemble, -O0 -flto
FAIL: gcc.dg/lto/20100518 c_lto_20100518_0.o assemble, -O2 -flto
FAIL: gcc.dg/lto/ipacp c_lto_ipacp_0.o-c_lto_ipacp_1.o link,  -O1 -fwhopr
-fipa-cp -fipa-cp-clone
FAIL: gcc.dg/lto/ipareference2 c_lto_ipareference2_0.o-c_lto_ipareference2_1.o
link,  -O1 -fwhopr -fwhole-program
FAIL: gcc.dg/lto/materialize-1 c_lto_materialize-1_0.o-c_lto_materialize-1_1.o
link,  -O3 -fwhopr

                === gcc Summary for unix/-m32 ===

# of expected passes            516
# of unexpected failures        17
# of unresolved testcases       21
# of unsupported tests          6
Running target unix/-m64
Using /sw/share/dejagnu/baseboards/unix.exp as board description file for
target.
Using /sw/share/dejagnu/config/unix.exp as generic interface file for target.
Using /opt/gcc/gcc-4.6-work/gcc/testsuite/config/default.exp as
tool-and-target-specific interface file.
Running /opt/gcc/gcc-4.6-work/gcc/testsuite/gcc.dg/lto/lto.exp ...
FAIL: gcc.dg/lto/20081111 c_lto_20081111_0.o-c_lto_20081111_1.o link, -O0
-fwhopr
FAIL: gcc.dg/lto/20081111 c_lto_20081111_0.o-c_lto_20081111_1.o link, -O2
-fwhopr
FAIL: gcc.dg/lto/20081112 c_lto_20081112_0.o-c_lto_20081112_1.o link, -O2
-fwhopr
FAIL: gcc.dg/lto/20090116 c_lto_20090116_0.o-c_lto_20090116_0.o link, -O1
-fwhopr -fPIC (internal compiler error)
FAIL: gcc.dg/lto/20090213 c_lto_20090213_0.o-c_lto_20090213_1.o link, -O2
-fwhopr
FAIL: gcc.dg/lto/20090218 c_lto_20090218_0.o-c_lto_20090218_3.o link, -O2
-fwhopr
FAIL: gcc.dg/lto/20090717 c_lto_20090717_0.o-c_lto_20090717_1.o link, -O0
-fwhopr
FAIL: gcc.dg/lto/20090717 c_lto_20090717_0.o-c_lto_20090717_1.o link, -O2
-fwhopr
FAIL: gcc.dg/lto/20091005-1 c_lto_20091005-1_0.o-c_lto_20091005-1_1.o link, -O0
-fwhopr
FAIL: gcc.dg/lto/20100227-1 c_lto_20100227-1_0.o-c_lto_20100227-1_1.o link, -O0
-fwhopr
FAIL: gcc.dg/lto/20100227-1 c_lto_20100227-1_0.o-c_lto_20100227-1_1.o link, -O2
-fwhopr
FAIL: gcc.dg/lto/20100518 c_lto_20100518_0.o assemble, -O0 -fwhopr
FAIL: gcc.dg/lto/20100518 c_lto_20100518_0.o assemble, -O2 -fwhopr
FAIL: gcc.dg/lto/20100518 c_lto_20100518_0.o assemble, -O0 -flto
FAIL: gcc.dg/lto/20100518 c_lto_20100518_0.o assemble, -O2 -flto
FAIL: gcc.dg/lto/ipacp c_lto_ipacp_0.o-c_lto_ipacp_1.o link,  -O1 -fwhopr
-fipa-cp -fipa-cp-clone
FAIL: gcc.dg/lto/ipareference2 c_lto_ipareference2_0.o-c_lto_ipareference2_1.o
link,  -O1 -fwhopr -fwhole-program
FAIL: gcc.dg/lto/materialize-1 c_lto_materialize-1_0.o-c_lto_materialize-1_1.o
link,  -O3 -fwhopr

                === gcc Summary for unix/-m64 ===

# of expected passes            515
# of unexpected failures        18
# of unresolved testcases       22
# of unsupported tests          6

                === gcc Summary ===

# of expected passes            1031
# of unexpected failures        35
# of unresolved testcases       43
# of unsupported tests          12


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43729


^ permalink raw reply	[flat|nested] 57+ messages in thread

* [Bug target/43729] Mach-O LTO support needed for darwin
  2010-04-12 15:51 [Bug target/43729] New: MachO LTO support needed for darwin howarth at nitro dot med dot uc dot edu
                   ` (53 preceding siblings ...)
  2010-06-06 20:23 ` dominiq at lps dot ens dot fr
@ 2010-06-14 13:14 ` howarth at nitro dot med dot uc dot edu
  2010-07-17 22:55 ` steven at gcc dot gnu dot org
  55 siblings, 0 replies; 57+ messages in thread
From: howarth at nitro dot med dot uc dot edu @ 2010-06-14 13:14 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #53 from howarth at nitro dot med dot uc dot edu  2010-06-14 13:14 -------
Now that r160722, the COFF lto patches, are committed to gcc 4.5 branch, we are
clear to backport r159173 as well for the mach-o patches. I've done this
locally and posted the testsuite results at
http://gcc.gnu.org/ml/gcc-testresults/2010-06/msg01280.html. These can be
improved by backporting the testsuite changes from r159700, r159924 and r159837
to gcc 4.5 branch as well.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43729


^ permalink raw reply	[flat|nested] 57+ messages in thread

* [Bug target/43729] Mach-O LTO support needed for darwin
  2010-04-12 15:51 [Bug target/43729] New: MachO LTO support needed for darwin howarth at nitro dot med dot uc dot edu
                   ` (54 preceding siblings ...)
  2010-06-14 13:14 ` howarth at nitro dot med dot uc dot edu
@ 2010-07-17 22:55 ` steven at gcc dot gnu dot org
  55 siblings, 0 replies; 57+ messages in thread
From: steven at gcc dot gnu dot org @ 2010-07-17 22:55 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #54 from steven at gcc dot gnu dot org  2010-07-17 22:55 -------
FIXED in r162047.


-- 

steven at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43729


^ permalink raw reply	[flat|nested] 57+ messages in thread

end of thread, other threads:[~2010-07-17 22:55 UTC | newest]

Thread overview: 57+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-04-12 15:51 [Bug target/43729] New: MachO LTO support needed for darwin howarth at nitro dot med dot uc dot edu
2010-04-12 15:55 ` [Bug target/43729] " steven at gcc dot gnu dot org
2010-04-12 16:00 ` steven at gcc dot gnu dot org
2010-04-12 16:16 ` steven at gcc dot gnu dot org
2010-04-12 17:12 ` howarth at nitro dot med dot uc dot edu
2010-04-12 21:39 ` fang at csl dot cornell dot edu
2010-04-14 22:10 ` [Bug target/43729] Mach-O " steven at gcc dot gnu dot org
2010-04-15 13:49 ` howarth at nitro dot med dot uc dot edu
2010-04-15 14:04 ` stevenb dot gcc at gmail dot com
2010-04-19  7:40 ` steven at gcc dot gnu dot org
2010-04-26 14:49 ` mrs at gcc dot gnu dot org
2010-04-26 16:07 ` stevenb dot gcc at gmail dot com
2010-04-26 18:40 ` davek at gcc dot gnu dot org
2010-04-27  2:35 ` davek at gcc dot gnu dot org
2010-04-27 20:25 ` steven at gcc dot gnu dot org
2010-04-28 12:20 ` dominiq at lps dot ens dot fr
2010-04-28 13:04 ` dominiq at lps dot ens dot fr
2010-04-28 19:50 ` steven at gcc dot gnu dot org
2010-04-29 10:48 ` steven at gcc dot gnu dot org
2010-04-29 11:39 ` steven at gcc dot gnu dot org
2010-04-29 13:20 ` howarth at nitro dot med dot uc dot edu
2010-05-01 14:40 ` steven at gcc dot gnu dot org
2010-05-01 14:43 ` steven at gcc dot gnu dot org
2010-05-01 14:53 ` rguenth at gcc dot gnu dot org
2010-05-01 15:26 ` dominiq at lps dot ens dot fr
2010-05-01 21:40 ` dominiq at lps dot ens dot fr
2010-05-01 21:51 ` steven at gcc dot gnu dot org
2010-05-01 22:19 ` howarth at nitro dot med dot uc dot edu
2010-05-01 22:31 ` stevenb dot gcc at gmail dot com
2010-05-01 23:22 ` mrs at gcc dot gnu dot org
2010-05-01 23:59 ` howarth at nitro dot med dot uc dot edu
2010-05-02  0:01 ` howarth at nitro dot med dot uc dot edu
2010-05-02  0:07 ` howarth at nitro dot med dot uc dot edu
2010-05-02  0:10 ` howarth at nitro dot med dot uc dot edu
2010-05-02  0:48 ` howarth at nitro dot med dot uc dot edu
2010-05-02  1:24 ` mrs at gcc dot gnu dot org
2010-05-02 13:11 ` howarth at nitro dot med dot uc dot edu
2010-05-02 13:59 ` howarth at nitro dot med dot uc dot edu
2010-05-02 19:16 ` howarth at nitro dot med dot uc dot edu
2010-05-03 21:40 ` mrs at gcc dot gnu dot org
2010-05-03 22:01 ` howarth at nitro dot med dot uc dot edu
2010-05-03 22:15 ` steven at gcc dot gnu dot org
2010-05-03 22:47 ` mrs at gcc dot gnu dot org
2010-05-03 23:41 ` howarth at nitro dot med dot uc dot edu
2010-05-04  8:22 ` mrs at gcc dot gnu dot org
2010-05-07 22:23 ` steven at gcc dot gnu dot org
2010-05-08 14:37 ` howarth at nitro dot med dot uc dot edu
2010-05-08 14:39 ` howarth at nitro dot med dot uc dot edu
2010-05-08 14:55 ` howarth at nitro dot med dot uc dot edu
2010-05-08 20:08 ` howarth at nitro dot med dot uc dot edu
2010-05-08 20:14 ` howarth at nitro dot med dot uc dot edu
2010-05-25  0:29 ` mrs at gcc dot gnu dot org
2010-06-06 10:50 ` dominiq at lps dot ens dot fr
2010-06-06 13:46 ` dominiq at lps dot ens dot fr
2010-06-06 20:23 ` dominiq at lps dot ens dot fr
2010-06-14 13:14 ` howarth at nitro dot med dot uc dot edu
2010-07-17 22:55 ` steven at gcc dot gnu dot org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).