diff options
author | Ulrich Drepper <drepper@redhat.com> | 2000-01-10 01:43:43 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2000-01-10 01:43:43 +0000 |
commit | 7feefb694436e1091ef8ee3d0eb02c7b03b64f14 (patch) | |
tree | 5b865cc959f7e63da2cd41c339dc7ee7ff408e3f | |
parent | cedc8559c3a3e276277ee9fae9e6329c412a7522 (diff) | |
download | glibc-7feefb694436e1091ef8ee3d0eb02c7b03b64f14.tar.gz glibc-7feefb694436e1091ef8ee3d0eb02c7b03b64f14.tar.xz glibc-7feefb694436e1091ef8ee3d0eb02c7b03b64f14.zip |
Update.
2000-01-09 Philip Blundell <philb@gnu.org> * sysdeps/arm/dl-machine.h (CLEAR_CACHE): System calls clobber R0. (dl_platform_init): Allow _dl_platform to be NULL. * sysdeps/unix/sysv/linux/arm/sysdep.h (UNDOARGS_5): Fix error in last change.
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | sysdeps/arm/dl-machine.h | 12 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/arm/sysdep.h | 4 |
3 files changed, 17 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog index e5552901f9..b24dafad30 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2000-01-09 Philip Blundell <philb@gnu.org> + + * sysdeps/arm/dl-machine.h (CLEAR_CACHE): System calls clobber R0. + (dl_platform_init): Allow _dl_platform to be NULL. + + * sysdeps/unix/sysv/linux/arm/sysdep.h (UNDOARGS_5): Fix error in + last change. + 2000-01-08 Ulrich Drepper <drepper@cygnus.com> * nscd/connections.c (handle_request): Handle systems without diff --git a/sysdeps/arm/dl-machine.h b/sysdeps/arm/dl-machine.h index ef5584f19f..78341fc49a 100644 --- a/sysdeps/arm/dl-machine.h +++ b/sysdeps/arm/dl-machine.h @@ -37,7 +37,10 @@ register unsigned long _beg __asm ("a1") = (unsigned long)(BEG); \ register unsigned long _end __asm ("a2") = (unsigned long)(END); \ register unsigned long _flg __asm ("a3") = 0; \ - __asm __volatile ("swi 0x9f0002"); \ + __asm __volatile ("swi 0x9f0002 @ sys_cacheflush" \ + : /* no outputs */ \ + : /* no inputs */ \ + : "a1"); \ } /* Return nonzero iff E_MACHINE is compatible with the running host. */ @@ -350,10 +353,9 @@ extern const char *_dl_platform; static inline void __attribute__ ((unused)) dl_platform_init (void) { - if (_dl_platform == NULL) - /* We default to ARM - This is where processors could be distinguished arm2, arm6, sa110, etc */ - _dl_platform = "ARM"; + if (_dl_platform != NULL && *_dl_platform == '\0') + /* Avoid an empty string which would disturb us. */ + _dl_platform = NULL; } static inline void diff --git a/sysdeps/unix/sysv/linux/arm/sysdep.h b/sysdeps/unix/sysv/linux/arm/sysdep.h index cd83389f37..c337af2b14 100644 --- a/sysdeps/unix/sysv/linux/arm/sysdep.h +++ b/sysdeps/unix/sysv/linux/arm/sysdep.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1992, 93, 95, 96, 97, 98, 99 Free Software Foundation, Inc. +/* Copyright (C) 1992, 93, 95-99, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper, <drepper@gnu.ai.mit.edu>, August 1995. ARM changes by Philip Blundell, <pjb27@cam.ac.uk>, May 1997. @@ -109,7 +109,7 @@ #define UNDOARGS_2 /* nothing */ #define UNDOARGS_3 /* nothing */ #define UNDOARGS_4 /* nothing */ -#define UNDOARGS_5 ldr r4, [sp, $4]!; +#define UNDOARGS_5 ldr r4, [sp], $4; #define UNDOARGS_6 ldmfd sp!, {r4, r5}; #define UNDOARGS_7 ldmfd sp!, {r4, r5, r6}; |