Patches for glibc-2.5, courtesy of "Robert P. J. Day" <rpjday@mindspring.com>
1 See http://gcc.gnu.org/PR15089
2 "In some cases the specified register for a local variable meant to be
3 used with inline assembly code is not respected. This breaks code
4 relying on this feature to implement non-standard calling convension."
6 This fix is probably needed to properly implement linux syscalls in some architectures.
8 First added to crosstool by Jamie Hicks, see
9 http://www.handhelds.org/hypermail/kernel-discuss/current/0066.html
12 ===================================================================
13 RCS file: /cvs/gcc/gcc/gcc/loop.c,v
14 retrieving revision 1.488.2.3
15 diff -u -r1.488.2.3 loop.c
16 --- gcc-old/gcc/loop.c 14 Feb 2004 14:46:03 -0000 1.488.2.3
17 +++ gcc-new/gcc/loop.c 28 Apr 2004 22:02:53 -0000
19 || (! (GET_CODE (SET_SRC (set)) == REG
20 && (REGNO (SET_SRC (set))
21 < FIRST_PSEUDO_REGISTER))))
22 + && regno >= FIRST_PSEUDO_REGISTER
23 /* This test is not redundant; SET_SRC (set) might be
24 a call-clobbered register and the life of REGNO