2007-03-24 Paul Brook <paul@codesourcery.com>
authorpbrook <pbrook@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 25 Mar 2007 01:07:45 +0000 (01:07 +0000)
committerpbrook <pbrook@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 25 Mar 2007 01:07:45 +0000 (01:07 +0000)
* config/arm/lib1funcs.asm (div0): Use ARM_FUNC_START and do_push.
* config/arm/linux-eabi.h: Remove legacy syscall hack.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123192 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/arm/lib1funcs.asm
gcc/config/arm/linux-eabi.h

index acb54ae..a724783 100644 (file)
@@ -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.
index 4d455aa..3dce237 100644 (file)
@@ -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
index 7215c0e..fe78f0f 100644 (file)
@@ -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)); \
 }