> From: Rainer Orth <r...@cebitec.uni-bielefeld.de> > Date: Mon, 15 Aug 2011 19:19:23 +0200
> On top of the crtstuff and libgcc1 patches (and requiring the PICFLAG > centralization still under discussion), here's the bulk of the remaining > moves: it moves all LIBGCC2*, LIB2* macros and referenced files. > > Despite its size, the patch should be quite straightforward. > > * libgcc is slowly getting cluttered. One may consider moving related > files to their own subdirectories. > > * Again, I noticed an unused target file, > config/cris/cris_abi_symbol.c. I assume it's a leftover from the > cris-aout port and can go. As obvious from its contents, yes, put it to rest if you please. > Tested as described in the previous submissions. > * config/cris/arit.c, config/cris/cris_abi_symbol.c: Move to > ../libgcc/config/cris. > * config/cris/cris.h: Remove obsolete comment. Not so obsolete IMO. Parentheses are still hard to pass through shells :) though maybe there's just one layer now? IIUC, this file *is* still included when building libgcc2? > * config/cris/mulsi3.asm: Move to ../libgcc/config/cris/mulsi3.S. > * config/cris/t-cris (LIB2FUNCS_EXTRA, CRIS_LIB1CSRC) > ($(LIB2FUNCS_EXTRA)): Remove. > * config/cris/t-elfmulti (LIB2FUNCS_STATIC_EXTRA, INSTALL_LIBGCC) > (LIBGCC): Remove. > * config/cris/t-linux (TARGET_LIBGCC2_CFLAGS): Remove. > @@ -960,8 +952,6 @@ cris-*-elf | cris-*-none) > ;; > crisv32-*-linux* | cris-*-linux*) > tm_file="dbxelf.h elfos.h ${tm_file} gnu-user.h linux.h glibc-stdint.h > cris/linux.h" > - # We need to avoid using t-linux, so override default tmake_file > - tmake_file="cris/t-cris cris/t-linux t-slibgcc" > extra_options="${extra_options} cris/linux.opt" > case $target in > cris-*-*) Here there was an assignment, not append, to tmake_file. > diff --git a/gcc/config/cris/cris.h b/gcc/config/cris/cris.h > --- a/gcc/config/cris/cris.h > +++ b/gcc/config/cris/cris.h > @@ -84,11 +84,7 @@ extern int cris_cpu_version; > /* Changing the order used to be necessary to put the fourth __make_dp > argument (a DImode parameter) in registers, to fit with the libfunc > parameter passing scheme used for intrinsic functions. FIXME: Check > - performance and maybe remove definition from TARGET_LIBGCC2_CFLAGS now > - that it isn't strictly necessary. We used to do this through > - TARGET_LIBGCC2_CFLAGS, but that became increasingly difficult as the > - parenthesis (that needed quoting) travels through several layers of > - make and shell invocations. */ > + performance. */ > #ifdef IN_LIBGCC2 > #define __make_dp(a,b,c,d) __cris_make_dp(d,a,b,c) > #endif ...well, as long as cris.h is still included and it's truly obsolete due to the libgcc move. > diff --git a/libgcc/config.host b/libgcc/config.host > *-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-gnu* > | *-*-kopensolaris*-gnu) > - tmake_file="$tmake_file t-crtstuff-pic t-eh-dw2-dip t-slibgcc > t-slibgcc-gld t-slibgcc-elf-ver t-linux" > + tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip t-slibgcc > t-slibgcc-gld t-slibgcc-elf-ver t-linux" > extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o" Hm... > crisv32-*-elf) > - tmake_file=t-fdpbit > + tmake_file="cris/t-cris t-fdpbit" > ;; > crisv32-*-none) > - tmake_file=t-fdpbit > + tmake_file="cris/t-cris t-fdpbit" > extra_parts="crtbegin.o crtend.o" > ;; > cris-*-elf) > - tmake_file="$tmake_file cris/t-elfmulti" > + tmake_file="$tmake_file cris/t-cris cris/t-elfmulti" > ;; > cris-*-none) > - tmake_file="$tmake_file cris/t-elfmulti" > + tmake_file="$tmake_file cris/t-cris cris/t-elfmulti" > extra_parts="crtbegin.o crtend.o" > ;; > cris-*-linux* | crisv32-*-linux*) > - tmake_file="$tmake_file t-fdpbit cris/t-linux" > + tmake_file="$tmake_file cris/t-cris t-fdpbit cris/t-linux" > ;; But here you append to tmake_file. Is the new "generic" linux tmake_file really safe? What was I was trying to avoid... oh, the "SHLIB_MAPFILES += $(srcdir)/config/libgcc-glibc.ver"? Should have been safe all along; none of those symbols were defined. Anyway looks like I could need that config/t-linux so... ok? But why don't I see a libgcc/config/cris/t-linux at r177764 so I can check? It should be pre-existing before your previous patch. Is this on top of more than the previous two patches? Ok, I'm confused. I want to wait until the other two patches are committed, then look again. (They are independent if serialized, right?) brgds, H-P