This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Linkage problem with rescent gcc 4.5 in MinGW build


2009/10/10 Sergey Sadovnikov <flex_ferrum@artberg.ru>:
> Hello.
>
> There is linkage problem with recent gcc 4.5 in MinGW configuration
> build. Executables which are produced by gcc with default options set
> treated as 'not a valid win32 application' by the system (Win2008 x64
> server). After stripping with the 'strip' utility executables are
> successfully ran. I suppose that problems in 'debug-xxx' sections
> generated by the new gcc/linker.
>
> I made the section dumps of the 'good' and 'bad' executable produced
> by the gcc 4.4 and gcc 4.5 with the same options set. Here they are:
>
> Section produced by gcc 4.4:
> ?0 .text ? ? ? ? 00009a2c ?00401000 ?00401000 ?00000400 ?2**4
> ? ? ? ? ? ? ? ? ?CONTENTS, ALLOC, LOAD, READONLY, CODE, DATA
> ?1 .data ? ? ? ? 00000040 ?0040b000 ?0040b000 ?0000a000 ?2**2
> ? ? ? ? ? ? ? ? ?CONTENTS, ALLOC, LOAD, DATA
> ?2 .rdata ? ? ? ?000017c0 ?0040c000 ?0040c000 ?0000a200 ?2**5
> ? ? ? ? ? ? ? ? ?CONTENTS, ALLOC, LOAD, READONLY, DATA
> ?3 .bss ? ? ? ? ?00000b20 ?0040e000 ?0040e000 ?00000000 ?2**5
> ? ? ? ? ? ? ? ? ?ALLOC
> ?4 .idata ? ? ? ?0000051c ?0040f000 ?0040f000 ?0000ba00 ?2**2
> ? ? ? ? ? ? ? ? ?CONTENTS, ALLOC, LOAD, DATA
> ?5 .debug_aranges 00000060 ?00410000 ?00410000 ?0000c000 ?2**3
> ? ? ? ? ? ? ? ? ?CONTENTS, READONLY, DEBUGGING
> ?6 .debug_pubnames 00000076 ?00411000 ?00411000 ?0000c200 ?2**0
> ? ? ? ? ? ? ? ? ?CONTENTS, READONLY, DEBUGGING
> ?7 .debug_info ? 00000d4d ?00412000 ?00412000 ?0000c400 ?2**0
> ? ? ? ? ? ? ? ? ?CONTENTS, READONLY, DEBUGGING
> ?8 .debug_abbrev 0000037c ?00413000 ?00413000 ?0000d200 ?2**0
> ? ? ? ? ? ? ? ? ?CONTENTS, READONLY, DEBUGGING
> ?9 .debug_line ? 00000316 ?00414000 ?00414000 ?0000d600 ?2**0
> ? ? ? ? ? ? ? ? ?CONTENTS, READONLY, DEBUGGING
> ?10 .debug_frame ?00000070 ?00415000 ?00415000 ?0000da00 ?2**2
> ? ? ? ? ? ? ? ? ?CONTENTS, READONLY, DEBUGGING
> ?11 .debug_loc ? ?00000539 ?00416000 ?00416000 ?0000dc00 ?2**0
> ? ? ? ? ? ? ? ? ?CONTENTS, READONLY, DEBUGGING
> ?12 .debug_ranges 000000f8 ?00417000 ?00417000 ?0000e200 ?2**0
> ? ? ? ? ? ? ? ? ?CONTENTS, READONLY, DEBUGGING
>
>
> Sections produced by gcc 4.5:
> Sections:
> Idx Name ? ? ? ? ?Size ? ? ?VMA ? ? ? LMA ? ? ? File off ?Algn
> ?0 .debug_pubtypes 0000017c ?00000000 ?00000000 ?000003d0 ?2**0
> ? ? ? ? ? ? ? ? ?CONTENTS, READONLY, DEBUGGING
> ?1 .text ? ? ? ? 00009a2c ?00401000 ?00401000 ?00000600 ?2**4
> ? ? ? ? ? ? ? ? ?CONTENTS, ALLOC, LOAD, READONLY, CODE, DATA
> ?2 .data ? ? ? ? 00000040 ?0040b000 ?0040b000 ?0000a200 ?2**2
> ? ? ? ? ? ? ? ? ?CONTENTS, ALLOC, LOAD, DATA
> ?3 .rdata ? ? ? ?000017c0 ?0040c000 ?0040c000 ?0000a400 ?2**5
> ? ? ? ? ? ? ? ? ?CONTENTS, ALLOC, LOAD, READONLY, DATA
> ?4 .bss ? ? ? ? ?00000b20 ?0040e000 ?0040e000 ?00000000 ?2**5
> ? ? ? ? ? ? ? ? ?ALLOC
> ?5 .idata ? ? ? ?0000051c ?0040f000 ?0040f000 ?0000bc00 ?2**2
> ? ? ? ? ? ? ? ? ?CONTENTS, ALLOC, LOAD, DATA
> ?6 .debug_aranges 000000e0 ?00410000 ?00410000 ?0000c200 ?2**3
> ? ? ? ? ? ? ? ? ?CONTENTS, READONLY, DEBUGGING
> ?7 .debug_pubnames 00000317 ?00411000 ?00411000 ?0000c400 ?2**0
> ? ? ? ? ? ? ? ? ?CONTENTS, READONLY, DEBUGGING
> ?8 .debug_info ? 00002b04 ?00412000 ?00412000 ?0000c800 ?2**0
> ? ? ? ? ? ? ? ? ?CONTENTS, READONLY, DEBUGGING
> ?9 .debug_abbrev 000008e2 ?00415000 ?00415000 ?0000f400 ?2**0
> ? ? ? ? ? ? ? ? ?CONTENTS, READONLY, DEBUGGING
> ?10 .debug_line ? 00000882 ?00416000 ?00416000 ?0000fe00 ?2**0
> ? ? ? ? ? ? ? ? ?CONTENTS, READONLY, DEBUGGING
> ?11 .debug_frame ?000005f0 ?00417000 ?00417000 ?00010800 ?2**2
> ? ? ? ? ? ? ? ? ?CONTENTS, READONLY, DEBUGGING
> ?12 .debug_str ? ?0000007a ?00418000 ?00418000 ?00010e00 ?2**0
> ? ? ? ? ? ? ? ? ?CONTENTS, READONLY, DEBUGGING
> ?13 .debug_loc ? ?00001e11 ?00419000 ?00419000 ?00011000 ?2**0
> ? ? ? ? ? ? ? ? ?CONTENTS, READONLY, DEBUGGING
> ?14 .debug_ranges 00000198 ?0041b000 ?0041b000 ?00013000 ?2**0
> ? ? ? ? ? ? ? ? ?CONTENTS, READONLY, DEBUGGING
>
> As you can see there is two new debug sections ('.debug_pubtypes' and
> '.debug_str') and .debug_pubtypes is the first section in the
> executable.
>
> gcc build configured with following options:
> --prefix=/mingw-4.5 --host=mingw32 --target=mingw32 --program-prefix= --with-as=/mingw/bin/as.exe --with-ld=/mingw/bin/ld.exe --with-gcc --with-gnu-ld --with-gnu-as --enable-threads --disable-nls --enable-languages=c,c++ --disable-win32-registry --disable-shared --without-x --enable-interpreter --enable-hash-synchronization --enable-libstdcxx-debug --with-gmp-include=/projects/common/GMP/4.3.1 --with-gmp-lib=/projects/common/GMP/4.3.1/.libs --with-mpfr-include=/projects/common/MPFR/2.4.1 --with-mpfr-lib=/projects/common/MPFR/2.4.1/.libs --enable-bootstrap
>
> Because of I'm not a specialist in compilers and linkers so I can't
> fix this problem by myself.
>
> --
> Best Regards,
> ?Sergey ? ? ? ? ? ? ? ? ? ? ? ? ?mailto:flex_ferrum@artberg.ru
>
>
>
>

The issue is the '>  0 .debug_pubtypes 0000017c  00000000  00000000
000003d0  2**0' ...
This bug was fixed on binutils and is a spec file issue. Please update
binutils to a more recent version.

Cheers,
Kai

-- 
|  (\_/) This is Bunny. Copy and paste
| (='.'=) Bunny into your signature to help
| (")_(") him gain world domination


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]