[PATCH][ARM] bootstrap/38523 arm build fails to link cc1-dummy / configure tweak for stage1

Paolo Bonzini bonzini@gnu.org
Sun Jan 11 16:43:00 GMT 2009

>> +elif test "x$enable_checking" = x; then
>> +  case "${host}" in
>> +    # Needed to avoid stage1 link failure, see PR bootstrap/38523 for details.
>> +    arm*-*-linux-gnueabi) stage1_checking=--enable-checking=release ;;
>> +    *) stage1_checking=--enable-checking=yes,types ;;
>> +  esac
> On behalf of people who patch the build system, I suggest an actual
> description of the problem.

I am not extremely fond of Laurent's patch.  I'd have preferred -O1,
as --enable-checking=release may indeed hide some bugs.  I didn't
complain because ARM crosses are built more often than ARM native
compilers, because an ARM host does not have anything particularly
peculiar (IIRC it has unsigned chars, but powerpc-linux also has
them), and because 25% slowdown is a problem.  (But then, there has
been talk for years of enabling -O1 for stage1, on the ground that it
might improve build times... and now 25% slowdown?  Heck...)

> IIUC this problem is related to binary size, and does not affect
> current binutils.  If so, shouldn't we treat it as a binutils bug?

I'm not sure it is fixed with current binutils; that was the similar
PowerPC bug that was fixed with -Wl,--relax (or -O1 if the linker did
not support -Wl,--relax).  But maybe there could be some hack to
reorder functions, maybe with -ffunction-sections, so that in-range
bl's can be generated?


More information about the Gcc-patches mailing list