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: Final intermodule patch


It doesn't bootstrap with alpha-linux.

First problem is Makefile related -- can't use -onestep at stage1.
Possible patch for that follows, but I don't know if we can rely
on nested variable expansion.

Second problem is that crtbegin.o is incorrectly built.  This stems
from __attribute__((used)) not implying that the C symbol can't be
mangled with ".N", because the use is hidden in assembly somewhere.
(See alpha/elf.h CRT_CALL_STATIC_FUNCTION.)  I can work around this
by librally sprinking __asm__ across crtstuff, but I don't think
that's a very good solution.  Further, I think we'll run into this
same problem elsewhere with at least glibc and the linux kernel.

Thoughts?



r~




Index: Makefile.in
===================================================================
RCS file: /cvs/gcc/gcc/gcc/Makefile.in,v
retrieving revision 1.1112
diff -c -p -d -u -r1.1112 Makefile.in
--- Makefile.in	11 Jul 2003 08:33:01 -0000	1.1112
+++ Makefile.in	11 Jul 2003 18:00:50 -0000
@@ -105,6 +105,8 @@ LANGUAGES = c gcov$(exeext) gcov-dump$(e
 # Selection of languages to be made during stage1 build.
 BOOT_LANGUAGES = c @all_boot_languages@
 
+onestep = @onestep@
+
 # Various ways of specifying flags for compilations:
 # CFLAGS is for the user to override to, e.g., do a cross build with -O2.
 # For recursive  bootstrap builds CFLAGS is used to pass in STAGE1_CFLAGS
@@ -1034,9 +1036,9 @@ rest.cross: $(LIBGCC) specs
 compilations: $(BACKEND)
 
 # Like libcpp.a, this archive is strictly for the host.
-libbackend.a: $(OBJS@onestep@)
+libbackend.a: $(OBJS$(onestep))
 	-rm -rf libbackend.a
-	$(AR) $(AR_FLAGS) libbackend.a $(OBJS@onestep@)
+	$(AR) $(AR_FLAGS) libbackend.a $(OBJS$(onestep))
 	-$(RANLIB) libbackend.a
 
 # We call this executable `xgcc' rather than `gcc'
@@ -3497,7 +3499,7 @@ stage1_build:
 	$(MAKE) CC="$(CC)" libdir=$(libdir) LANGUAGES="$(BOOT_LANGUAGES)" \
 		CFLAGS="$(STAGE1_CFLAGS)" MAKEINFO="$(MAKEINFO)" \
 		GCC_FOR_TARGET="$(GCC_FOR_TARGET)" \
-		MAKEINFOFLAGS="$(MAKEINFOFLAGS)" COVERAGE_FLAGS=
+		MAKEINFOFLAGS="$(MAKEINFOFLAGS)" COVERAGE_FLAGS= onestep=
 	$(STAMP) stage1_build
 	echo stage1_build > stage_last
 


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