Discussion about merging Go frontend

IainS developer@sandoe-acoustics.co.uk
Fri Oct 29 13:31:00 GMT 2010


On 29 Oct 2010, at 09:56, Dave Korn wrote:
>> This implements an object file reader/writer which does everything
>> required by LTO and gccgo.  The ELF code works.  I have not tested  
>> the
>> Mach-O and COFF code at all beyond compiling it; I hope that somebody
>> else can test those targets and fix them.
>
>  I'm right here :) Can't help with Darwin but hopefully Jack/Iain  
> will be
> available.


I tried with 166058 on ppc-darwin9 (my other machines are tied up  
right now)

-flto fails on link with missing _main.
e.g:
Executing on host: /Volumes/ScratchCS/gcc-4-6-trunk-build/gcc/xgcc -B/ 
Volumes/ScratchCS/gcc-4-6-trunk-build/gcc/ c_lto_20081024_0.o  -
O0 -flto       -m32 -o gcc-dg-lto-20081024-21    (timeout = 60)
Undefined symbols:
   "_main", referenced from:
       start in crt1.10.5.o

-whopr ices with:

Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_PROTECTION_FAILURE at address: 0x00000000
0x007f8e18 in objfile_mach_o_find_sections (objfile=0x40e078b0,  
pfn=0x1d7ec <lto_obj_add_section>, data=0xbffff19c, err=0xbffff198)  
at /GCC/gcc-live-trunk/libiberty/objfile-mach-o.c:469
469           memcpy (name, sechdr + sectname_offset, MACH_O_NAME_LEN);
(gdb) bt
#0  0x007f8e18 in objfile_mach_o_find_sections (objfile=0x40e078b0,  
pfn=0x1d7ec <lto_obj_add_section>, data=0xbffff19c, err=0xbffff198)  
at /GCC/gcc-live-trunk/libiberty/objfile-mach-o.c:469
#1  0x007f5dbc in objfile_find_sections (objfile=<value temporarily  
unavailable, due to optimizations>, pfn=<value temporarily  
unavailable, due to optimizations>, data=<value temporarily  
unavailable, due to optimizations>, err=<value temporarily  
unavailable, due to optimizations>) at /GCC/gcc-live-trunk/libiberty/ 
objfile.c:173
#2  0x0001dc60 in lto_obj_build_section_table (lto_file=<value  
temporarily unavailable, due to optimizations>) at /GCC/gcc-live-trunk/ 
gcc/lto/lto-objfile.c:270
#3  0x0001af80 in lto_read_all_file_options () at /GCC/gcc-live-trunk/ 
gcc/lto/lto.c:2052
#4  0x00003960 in lto_post_options (pfilename=<value temporarily  
unavailable, due to optimizations>) at /GCC/gcc-live-trunk/gcc/lto/lto- 
lang.c:709
#5  0x004f0eec in toplev_main (argc=15, argv=Cannot access memory at  
address 0x1c
) at /GCC/gcc-live-trunk/gcc/toplev.c:1778
#6  0x00001944 in start ()

if you need more analysis - ping me with what and I'll try and do sth  
-- or maybe Jack can help with a user on his machine.

cheers,
Iain




More information about the Gcc-patches mailing list