From 29ac224725a1dcb3bfbc3db7625ba3eab3c2e7b0 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Mon, 10 Jan 2000 01:48:07 +0000 Subject: [PATCH] (CLEAR_CACHE): System calls clobber R0. (dl_platform_init): Allow _dl_platform to be NULL. --- sysdeps/arm/dl-machine.h | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/sysdeps/arm/dl-machine.h b/sysdeps/arm/dl-machine.h index 4fb93f7f834..d4d96838784 100644 --- a/sysdeps/arm/dl-machine.h +++ b/sysdeps/arm/dl-machine.h @@ -40,7 +40,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. */ @@ -353,10 +356,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 -- 2.47.2