diff options
author | Paul Brook <paul@codesourcery.com> | 2007-03-25 01:07:45 +0000 |
---|---|---|
committer | Paul Brook <pbrook@gcc.gnu.org> | 2007-03-25 01:07:45 +0000 |
commit | 3303be154cf041e2bd173ef5b2939f300949a7ea (patch) | |
tree | 3b74dfdc90d68f13bcad68ba1ec291c6ab98176b /gcc | |
parent | 81b780b061ac64ca484d917be1c70ac4a2d5b909 (diff) | |
download | gcc-3303be154cf041e2bd173ef5b2939f300949a7ea.zip gcc-3303be154cf041e2bd173ef5b2939f300949a7ea.tar.gz gcc-3303be154cf041e2bd173ef5b2939f300949a7ea.tar.bz2 |
lib1funcs.asm (div0): Use ARM_FUNC_START and do_push.
2007-03-24 Paul Brook <paul@codesourcery.com>
* config/arm/lib1funcs.asm (div0): Use ARM_FUNC_START and do_push.
* config/arm/linux-eabi.h: Remove legacy syscall hack.
From-SVN: r123192
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/arm/lib1funcs.asm | 5 | ||||
-rw-r--r-- | gcc/config/arm/linux-eabi.h | 5 |
3 files changed, 9 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index acb54ae..a724783 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2007-03-24 Paul Brook <paul@codesourcery.com> + + * config/arm/lib1funcs.asm (div0): Use ARM_FUNC_START and do_push. + * config/arm/linux-eabi.h: Remove legacy syscall hack. + 2007-03-24 Richard Henderson <rth@redhat.com> * config/ia64/constraints.md: New file. diff --git a/gcc/config/arm/lib1funcs.asm b/gcc/config/arm/lib1funcs.asm index 4d455aa..3dce237 100644 --- a/gcc/config/arm/lib1funcs.asm +++ b/gcc/config/arm/lib1funcs.asm @@ -1062,10 +1062,9 @@ LSYM(Lover12): /* Constant taken from <asm/signal.h>. */ #define SIGFPE 8 - .code 32 - FUNC_START div0 + ARM_FUNC_START div0 - stmfd sp!, {r1, lr} + do_push {r1, lr} mov r0, #SIGFPE bl SYM(raise) __PLT__ RETLDM r1 diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h index 7215c0e..fe78f0f5 100644 --- a/gcc/config/arm/linux-eabi.h +++ b/gcc/config/arm/linux-eabi.h @@ -65,8 +65,7 @@ #undef LIBGCC_SPEC /* Clear the instruction cache from `beg' to `end'. This makes an - inline system call to SYS_cacheflush. It is modified to work with - both the original and EABI-only syscall interfaces. */ + inline system call to SYS_cacheflush. */ #undef CLEAR_INSN_CACHE #define CLEAR_INSN_CACHE(BEG, END) \ { \ @@ -74,7 +73,7 @@ register unsigned long _end __asm ("a2") = (unsigned long) (END); \ register unsigned long _flg __asm ("a3") = 0; \ register unsigned long _scno __asm ("r7") = 0xf0002; \ - __asm __volatile ("swi 0x9f0002 @ sys_cacheflush" \ + __asm __volatile ("swi 0 @ sys_cacheflush" \ : "=r" (_beg) \ : "0" (_beg), "r" (_end), "r" (_flg), "r" (_scno)); \ } |