This is the mail archive of the gcc-patches@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: [build] Restore arm-eabi bootstrap (PR target/50978)


Ok, so let's do the analysis. Looks like there are problems in t-rtems and sh/t-sh, in addition to ARM. But I think all of them can be changed.

./config/mcore/t-mcore:HOST_LIBGCC2_CFLAGS = -O3 -DNO_FLOATLIB_FIXUNSDFSI #-msifilter

Used as


tmake_file="mcore/t-mcore t-fdpbit"

would not be a problem to change to +=

./config/m32r/t-m32r:HOST_LIBGCC2_CFLAGS = -G 0

Same:


tmake_file="m32r/t-m32r t-fdpbit"

./config/t-rtems:HOST_LIBGCC2_CFLAGS = -I$(srcdir)/../newlib/libc/sys/rtems/include

This was LIBGCC2_INCLUDES before your patches.


You're also missing it in many cases: arm, avr, bfin, moxie, h8300, lm32, m32r, m68k, mips, powerpc, sh, m32c.

./config/avr/t-avr:HOST_LIBGCC2_CFLAGS = -DDF=SF -Dinhibit_libc -mcall-prologues -Os

avr-*-rtems*) tmake_file="$tmake_file avr/t-avr t-fpbit" tm_file="$tm_file avr/avr-lib.h" # Don't use default. extra_parts= ;;

tmake_file seems to be empty at this point, but let's change it to +=

./config/h8300/t-h8300:HOST_LIBGCC2_CFLAGS = -DDF=SF

Same, safe to change.


./config/lm32/t-elf:HOST_LIBGCC2_CFLAGS = -G 0 -msign-extend-enabled

lm32-*-elf*|lm32-*-rtems*) extra_parts="$extra_parts crti.o crtn.o" tmake_file="lm32/t-lm32 lm32/t-elf t-softfp-sfdf t-softfp" ;;

Safe to change.

./config/mmix/t-mmix:HOST_LIBGCC2_CFLAGS = -mlibfuncs -O2

mmix-knuth-mmixware) extra_parts="crti.o crtn.o crtbegin.o crtend.o" tmake_file="${tmake_file} ${cpu_type}/t-${cpu_type}" ;;

Safe to change.

./config/mips/t-elf:HOST_LIBGCC2_CFLAGS = -G 0

Only comes after mips/t-mips, safe to change.


./config/picochip/t-picochip:HOST_LIBGCC2_CFLAGS = -DDF=SF -I../../includes/

picochip-*-*) tmake_file="picochip/t-picochip t-fpbit" ;;

Safe to change.

./config/sh/t-sh:HOST_LIBGCC2_CFLAGS = -mieee

Wrong, sh/t-sh comes after t-libgcc-pic for sh*-*-linux* .
./config/c6x/t-elf:HOST_LIBGCC2_CFLAGS = -msdata=none

Safe to change.


./config/t-openbsd-thread:HOST_LIBGCC2_CFLAGS=-pthread

Wrong, overrides t-libgcc-pic.


./config/bfin/t-elf:HOST_LIBGCC2_CFLAGS = $(PICFLAG)

Safe to change. Can be removed altogether and replaced with t-libgcc-pic.


./config/stormy16/t-stormy16:HOST_LIBGCC2_CFLAGS = -O2

Seems unused to me, because this is not true anymore:


 tmake_file
       A list of machine-description-specific makefile-fragments,
       if different from "$cpu_type/t-$cpu_type".
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

./config/t-vxworks:HOST_LIBGCC2_CFLAGS =

Can be zapped. But LIBGCC2_DEBUG_CFLAGS cannot, the default is "-g"


./config/arm/t-strongarm-elf:HOST_LIBGCC2_CFLAGS = -fno-inline

Wrong, as you found it should be changed to += because it comes after t-libgcc-pic for arm*-*-freebsd*.


./config/arm/t-elf:HOST_LIBGCC2_CFLAGS = -fno-inline

Wrong, topic of this thread.


./config/pdp11/t-pdp11:HOST_LIBGCC2_CFLAGS = -O2 -mfloat32

Safe to change.


Overall I suggest:

* change t-rtems back to LIBGCC2_INCLUDES and add it for the missing targets;

* change all to += except when a better course of action is suggested above.

Of course unless you disagree with the analysis or had a reason for the t-rtems changes. :) Let's commit the two as separate patches.

Paolo


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