This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: duplicate -mdisable-got with gcc-3.0
- To: Adrian von Bidder <avbidder at acter dot ch>
- Subject: Re: duplicate -mdisable-got with gcc-3.0
- From: Philip Blundell <philb at gnu dot org>
- Date: Thu, 01 Nov 2001 20:55:52 +0000
- cc: gcc at gcc dot gnu dot org
- References: <3BE16CCD.8C43719B@acter.ch>
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.