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


In message <3BE16CCD.8C43719B@acter.ch>, Adrian von Bidder writes:
>-	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* | -os2*)
>+	      | -storm-chaos* | -tops10* | -tenex* | -tops20* \
>+	      | -its* | -os2* | -uclinux*)

You need to send this bit to config-patches@gnu.org.

>+  unsigned long temp;							\
>+  __asm __volatile (							\
>+	"adr	%1, 0f\n"						\
>+"	bx	%1\n"							\
>+"	.code 32\n"							\
>+"0:	swi 0x9f0002		@ sys_cacheflush\n"			\

I don't think this is good.  You probably want to either

 - code this using the native Thumb system call ABI
or
 - generate a call to out-of-line ARM code to make the system call
or
 - stop building a Thumb version of libgcc2 altogether

Assuming the kernel supports it, the first is the best.  You might have to use 
some kind of undefined instruction rather than the interface for "normal" 
syscalls.

>--- 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*

This can't be right at all.  You need to make a t-uclinux and call it in from 
config.gcc.

p.



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