[gccsdk] [GCCSDK commit] lee - r2756 - trunk/gcc4/recipe/files/gcc/config/arm

Nick Burrett nick at sqrt.co.uk
Mon Aug 6 08:08:46 PDT 2007


On 8/4/07, svnuser at riscos.info <svnuser at riscos.info> wrote:
> Author: lee
> Date: 2007-08-04 14:55:01 +0100 (Sat, 04 Aug 2007)
> New Revision: 2756
>
> Modified:
>    trunk/gcc4/recipe/files/gcc/config/arm/riscos-elf.h
> Log:
> - Define LIBGCC_SPEC to use the correct version of libgcc as appropriate.
> - Make v5 call used for all Unixlib targets. It's next to impossible to
> apply -fcall-used-v5 automatically as appropriate, which means relying
> on the user to specify it manually. This increases the risk of error greatly.
> There is also the issue of appyling the option correctly using autotools, eg,
> the autobuilder and gccsdk build system. The impact on performance due to the
> loss of v5 as a general register (it's still available to gcc as a temporary)
> should be minimal.

This is unfortunate.  There is quite a lot of register pressure on the
ARM, so it's preferable to have register available where possible.
Can you better describe the reasoning for your change here?


Regards,

Nick

> Modified: trunk/gcc4/recipe/files/gcc/config/arm/riscos-elf.h
> ===================================================================
> --- trunk/gcc4/recipe/files/gcc/config/arm/riscos-elf.h 2007-08-04 10:53:43 UTC (rev 2755)
> +++ trunk/gcc4/recipe/files/gcc/config/arm/riscos-elf.h 2007-08-04 13:55:01 UTC (rev 2756)
> @@ -97,7 +97,9 @@
>  #define LIB_SPEC \
>    "%{!nostdlib:%{mlibscl:-lscl; :-lunixlib }}"
>
> -#define LIBGCC_SPEC "-lgcc"
> +#define LIBGCC_SPEC    "%{static:-lgcc} \
> +                       %{!static:%{!shared:-lgcc_s}} \
> +                       %{shared:-lgcc_s}"
>
>  /* Provide a STARTFILE_SPEC appropriate for GNU/Linux.  Here we add
>     the GNU/Linux magical crtbegin.o file (see crtstuff.c) which
> @@ -261,7 +263,7 @@
>
>  #undef SUBTARGET_CONDITIONAL_REGISTER_USAGE
>  #define SUBTARGET_CONDITIONAL_REGISTER_USAGE   \
> - if (flag_pic == 2)                            \
> + if (flag_pic == 2 || TARGET_UNIXLIB)          \
>     {                                           \
>       call_used_regs[PIC_PLT_SCRATCH_REGNUM] = 1;\
>     }
>
>




More information about the gcc mailing list