This is the mail archive of the gcc@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]

Re: duplicate -mdisable-got with gcc-3.0


Just a few comments:


> diff -rudN gcc-3.0.2.orig/gcc/config/arm/linux-gas.h
> gcc-3.0.2/gcc/config/arm/linux-gas.h
> --- gcc-3.0.2.orig/gcc/config/arm/linux-gas.h	Tue Jan  2 14:38:41 2001
> +++ gcc-3.0.2/gcc/config/arm/linux-gas.h	Tue Oct 30 15:34:49 2001
> @@ -74,6 +74,7 @@
>  
>  /* Clear the instruction cache from `beg' to `end'.  This makes an
>     inline system call to SYS_cacheflush.  */
> +#ifndef __THUMBEL__

Why __THUMBEL__ and not __THUMB__?

> +  __asm __volatile (							\
> +	"adr	%1, 0f\n"						\
> +"	bx	%1\n"							\

There's a missing alignment statement here.

> +"	.code 32\n"							\
> +"0:	swi 0x9f0002		@ sys_cacheflush\n"			\

Does Arm-Linux not have a generic SWI call -- NetBSD has a "SWI 0" call 
where the real swi number is in r0 (and all the arguments are pushed up by 
one register)

> +"	adr	%1, 0b + 13\n"						\
> +"	bx	%1\n"							\

I think it would be best to make this a libcall of some form, then 
returning to thumb mode afterwards would be a simple "bx lr".

> diff -rudN gcc-3.0.2.orig/gcc/config/arm/t-arm-elf
> gcc-3.0.2/gcc/config/arm/t-arm-elf
> --- gcc-3.0.2.orig/gcc/config/arm/t-arm-elf	Thu Sep 21 19:36:19 2000
> +++ gcc-3.0.2/gcc/config/arm/t-arm-elf	Tue Oct 30 15:37:32 2001
> @@ -37,9 +37,9 @@
>  # MULTILIB_OPTIONS    += mapcs-32/mapcs-26
>  # MULTILIB_DIRNAMES   += 32bit 26bit
>  # 
> -# MULTILIB_OPTIONS    += mno-thumb-interwork/mthumb-interwork
> -# MULTILIB_DIRNAMES   += normal interwork
> -# MULTILIB_EXCEPTIONS += *mapcs-26/*mthumb-interwork*
> +MULTILIB_OPTIONS    += mno-thumb-interwork/mthumb-interwork
> +MULTILIB_DIRNAMES   += normal interwork
> +MULTILIB_EXCEPTIONS += *mapcs-26/*mthumb-interwork*

I don't think these changes should be made to t-arm-elf, which is used for 
a lot of configurations.

>  # 
>  # MULTILIB_OPTIONS    += fno-leading-underscore/fleading-underscore
>  # MULTILIB_DIRNAMES   += elf under
> @@ -69,6 +69,9 @@
>  # MULTILIB_MATCHES    += mcpu?arm7=mcpu?arm620
>  
>  EXTRA_MULTILIB_PARTS = crtbegin.o crtend.o
> +
> +# for uclinux:
> +MULTILIB_EXTRA_OPTS = fpic msingle-pic-base mpic-register=r9

These options are completely out of the question for this file, if you 
must define them, then you need to create a new target file that only 
uclinux uses.

R.



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