i?86-elf and x86_64-elf targets default to
-fasynchronous-unwind-tables, like most other x86 targets, and so
since they build crtend.o they need to build it with
-fno-asynchronous-unwind-tables, like other targets.  This patch
accordingly makes them use i386/t-crtstuff.

I'm not set up for full testing of these targets with FSF sources, but
did a sanity check on this patch by building cc1 for i686-elf, and in
a 4.6-based tree it fixes "ld: error in crtend.o(.eh_frame); no
.eh_frame_hdr table will be created.".  OK to commit?

2011-10-03  Joseph Myers  <jos...@codesourcery.com>

        * config.gcc (i[34567]86-*-elf*, x86_64-*-elf*): Use
        i386/t-crtstuff.

Index: gcc/config.gcc
===================================================================
--- gcc/config.gcc      (revision 179480)
+++ gcc/config.gcc      (working copy)
@@ -1229,11 +1229,11 @@ x86_64-*-darwin*)
        ;;
 i[34567]86-*-elf*)
        tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h 
newlib-stdint.h i386/i386elf.h"
-       tmake_file="${tmake_file} i386/t-i386elf t-svr4"
+       tmake_file="${tmake_file} i386/t-i386elf i386/t-crtstuff t-svr4"
        ;;
 x86_64-*-elf*)
        tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h 
newlib-stdint.h i386/i386elf.h i386/x86-64.h"
-       tmake_file="${tmake_file} i386/t-i386elf t-svr4"
+       tmake_file="${tmake_file} i386/t-i386elf i386/t-crtstuff t-svr4"
        ;;
 i[34567]86-*-freebsd*)
        tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h 
${fbsd_tm_file} i386/freebsd.h"

-- 
Joseph S. Myers
jos...@codesourcery.com

Reply via email to