diff options
author | bwilson <bwilson@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-07-10 00:22:51 +0000 |
---|---|---|
committer | bwilson <bwilson@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-07-10 00:22:51 +0000 |
commit | c82c3ed2bd64ebfe15b3b49aeeb4de5aa683e41b (patch) | |
tree | 926a2180322f5f3f497cdedac44b58f27c1751d0 /gcc | |
parent | bc503ec38d8c7dc0a4de861395ad636ea396196b (diff) | |
download | ppe42-gcc-c82c3ed2bd64ebfe15b3b49aeeb4de5aa683e41b.tar.gz ppe42-gcc-c82c3ed2bd64ebfe15b3b49aeeb4de5aa683e41b.zip |
* config/xtensa/xtensa.h (CRT_CALL_STATIC_FUNCTION): Define.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@69165 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/config/xtensa/xtensa.h | 10 |
2 files changed, 14 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 683a24e7767..69d1beb9b36 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2003-07-09 Bob Wilson <bob.wilson@acm.org> + + * config/xtensa/xtensa.h (CRT_CALL_STATIC_FUNCTION): Define. + 2003-07-09 Aldy Hernandez <aldyh@redhat.com> PR/11144 diff --git a/gcc/config/xtensa/xtensa.h b/gcc/config/xtensa/xtensa.h index 5f5e112cd85..558084b7292 100644 --- a/gcc/config/xtensa/xtensa.h +++ b/gcc/config/xtensa/xtensa.h @@ -1482,3 +1482,13 @@ typedef struct xtensa_args { /* Exception handling TODO!! */ #define DWARF_UNWIND_INFO 0 +/* Xtensa constant pool breaks the devices in crtstuff.c to control + section in where code resides. We have to write it as asm code. Use + a MOVI and let the assembler relax it -- for the .init and .fini + sections, the assembler knows to put the literal in the right + place. */ +#define CRT_CALL_STATIC_FUNCTION(SECTION_OP, FUNC) \ + asm (SECTION_OP "\n\ + movi\ta8, " USER_LABEL_PREFIX #FUNC "\n\ + callx8\ta8\n" \ + TEXT_SECTION_ASM_OP); |