> 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

Reply via email to