This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: ARM support for Interrupt functions.
- To: Nick Clifton <nickc at redhat dot com>
- Subject: Re: ARM support for Interrupt functions.
- From: Rod Stewart <stewart at nexus dot carleton dot ca>
- Date: Sat, 9 Dec 2000 12:05:22 -0500 (EST)
- cc: gcc-patches at gcc dot gnu dot org
On Fri, 8 Dec 2000, Nick Clifton wrote:
> 2000-12-08 Nick Clifton <nickc@redhat.com>
>
> * extend.texi: Document ARM "interrupt" function attribute.
> Mention that the ARM also support the "naked" function
> attribute.
>
> * config/arm/arm-protos.h (arm_current_func_type): Add
> prototype.
>
> * config/arm/arm.h (EXCEPTION_LR_REGNUM): Define.
> (struct machine_function): Add 'func_type' field.
> Define bit values for 'func_type' field.
> (ARM_FUNC_TYPE): New macro.
> (IS_INTERRUPT): New macro.
> (IS_VOLATILE): New macro.
> (IS_NAKED): New macro.
> (IS_NESTED): New macro.
> (ARM_INITIAL_ELIMINATION_OFFSET): Use IS_VOLATILE.
>
> * config/arm/arm.c (isr_attribute_args): New Structure. A
[....]
Hi Nick,
This change appears to have broken my bootstrap on native
armv[3,4]l-unknown-linux-gnu, with a nice little ICE. Reverting it allows
the build to pass this point (and most likely fail in libstdc++ again,
but I'll see in a couple of hours about that one).
-Rms
[build@feynman gcc]$ ./xgcc -B./
-B/usr/local/armv4l-unknown-linux-gnu/bin/ -isystem
/usr/local/armv4l-unknown-linux-gnu/include -O2 -DIN_GCC -W -Wall
-Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem
./include -fomit-frame-pointer -fPIC -g0 -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2
-D__GCC_FLOAT_NOT_NEEDED -I. -I. -I/home/build-rpm/BUILD/gcc/gcc
-I/home/build-rpm/BUILD/gcc/gcc/. -I/home/build-rpm/BUILD/gcc/gcc/config
-I/home/build-rpm/BUILD/gcc/gcc/../include -fexceptions -DL_eh -c
/home/build-rpm/BUILD/gcc/gcc/libgcc2.c -o libgcc/./_eh.o
/home/build-rpm/BUILD/gcc/gcc/libgcc2.c: In function `__sjthrow':
/home/build-rpm/BUILD/gcc/gcc/libgcc2.c:3515: Internal compiler error in
dwarf2out_frame_debug_expr, at dwarf2out.c:1354
Please submit a full bug report.
See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.
[build@feynman gcc]$ ./xgcc -v -B./
-B/usr/local/armv4l-unknown-linux-gnu/bin/ -isystem
/usr/local/armv4l-unknown-linux-gnu/include -O2 -DIN_GCC -W -Wall
-Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem
./include -fomit-frame-pointer -fPIC -g0 -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2
-D__GCC_FLOAT_NOT_NEEDED -I. -I. -I/home/build-rpm/BUILD/gcc/gcc
-I/home/build-rpm/BUILD/gcc/gcc/. -I/home/build-rpm/BUILD/gcc/gcc/config
-I/home/build-rpm/BUILD/gcc/gcc/../include -fexceptions -DL_eh -c
/home/build-rpm/BUILD/gcc/gcc/libgcc2.c -o libgcc/./_eh.o
Reading specs from ./specs
Configured with: /home/build-rpm/BUILD/gcc/configure --enable-debug
--prefix=/usr/local --enable-shared --enable-threads=posix --without-cvs
armv3l-unknown-linux-gnu
gcc version 2.97 20001208 (experimental)
./cc1 -lang-c -v -I. -I. -I/home/build-rpm/BUILD/gcc/gcc
-I/home/build-rpm/BUILD/gcc/gcc/. -I/home/build-rpm/BUILD/gcc/gcc/config
-I/home/build-rpm/BUILD/gcc/gcc/../include -iprefix
./../lib/gcc-lib/armv3l-unknown-linux-gnu/2.97/ -isystem ./include
-isystem /usr/local/armv4l-unknown-linux-gnu/bin/include -D__GNUC__=2
-D__GNUC_MINOR__=97 -D__GNUC_PATCHLEVEL__=0 -Dunix -Dlinux -D__ELF__
-D__unix__ -D__linux__ -D__ELF__ -D__unix -D__linux -Asystem=unix
-Asystem=posix -Acpu=arm -Amachine=arm -D__CHAR_UNSIGNED__ -D__OPTIMIZE__
-D__STDC_HOSTED__=1 -g0 -W -Wall -Wwrite-strings -Wstrict-prototypes -W
missing-prototypes -D__ARM_ARCH_3__ -D__APCS_32__ -D__ARMEL__ -D__PIC__
-D__pic__ -D__arm__ -DIN_GCC -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2
-D__GCC_FLOAT_NOT_NEEDED -DL_eh -isystem
/usr/local/armv4l-unknown-linux-gnu/include -isystem ./include
/home/build-rpm/BUILD/gcc/gcc/libgcc2.c -quiet -dumpbase libgcc2.c -g0 -O2
-W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -version
-fomit-frame-pointer -fPIC -fexceptions -o /tmp/ccEW3Epa.s
GNU CPP version 2.97 20001208 (experimental) (cpplib) (ARM GNU/Linux with
ELF)
ignoring nonexistent directory
"/usr/local/armv4l-unknown-linux-gnu/bin/include"
ignoring nonexistent directory
"/usr/local/armv4l-unknown-linux-gnu/include"
GNU C version 2.97 20001208
(experimental) (armv3l-unknown-linux-gnu) compiled by GNU C version 2.95.2
20000212 (release) [Rebel.com].
ignoring nonexistent directory
"../lib/gcc-lib/armv3l-unknown-linux-gnu/2.97/include"
ignoring nonexistent directory "../armv3l-unknown-linux-gnu/include"
ignoring nonexistent directory "/usr/local/include"
ignoring nonexistent directory
"/usr/local/lib/gcc-lib/armv3l-unknown-linux-gnu/2.97/include"
ignoring nonexistent directory
"/usr/local/armv3l-unknown-linux-gnu/include"
ignoring duplicate directory "."
ignoring duplicate directory "/home/build-rpm/BUILD/gcc/gcc/"
ignoring duplicate directory "include"
#include "..." search starts here:
#include <...> search starts here:
.
/home/build-rpm/BUILD/gcc/gcc
/home/build-rpm/BUILD/gcc/gcc/config
/home/build-rpm/BUILD/gcc/include
include
/usr/include
End of search list.
/home/build-rpm/BUILD/gcc/gcc/libgcc2.c: In function `__sjthrow':
/home/build-rpm/BUILD/gcc/gcc/libgcc2.c:3515: Internal compiler error in
dwarf2out_frame_debug_expr, at dwarf2out.c:1354
Please submit a full bug report.
See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.
[build@feynman gcc]$