https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100486

--- Comment #30 from Eric Botcazou <ebotcazou at gcc dot gnu.org> ---
> I have quite a few crtend.o files in the build directory. A quick glance
> indicates that .text.startup is missing:
> 
> $ for f in `find ./build-i686-w64-mingw32/ -name crtend.o` ; do echo $f &&
> nm $f ; done
> ./build-i686-w64-mingw32/gcc/crtend.o
> 00000000 b .bss
> 00000000 d .ctors.65535
> 00000000 d .data
> 00000000 r .eh_frame
> 00000000 r .rdata$zzz
> 00000000 t .text
> 00000000 r ___FRAME_END__
>          U ___gcc_register_frame
> 00000000 t _register_frame_ctor

Yep, that is suspicious, this might indicate that:

static void register_frame_ctor (void) __attribute__ ((constructor (0)));

is not considered a static constructor.

Could you replay the compilation of this file?  In the top level directory, do
  rm i686-w64-mingw32/libgcc/crtend.o
  make all-target-libgcc
copy the (long) command line, go into the i686-w64-mingw32/libgcc directory and
execute it after adding -save-temps to it.  You should get a small assembly
file named crtend.s and I would be interested in its contents.

Reply via email to