about summary refs log tree commit diff
diff options
context:
space:
mode:
authorStan Shebs <stanshebs@google.com>2019-04-26 08:11:38 -0700
committerStan Shebs <stanshebs@google.com>2019-04-26 08:11:38 -0700
commit73efc556ac5c130f9fc95df337c48f3a5b555123 (patch)
tree999986c9f7b35b143365ad93a240dfbe003e294e
parentace275b80b2c872157a795fe4246cd0e56095cf8 (diff)
downloadglibc-73efc556ac5c130f9fc95df337c48f3a5b555123.tar.gz
glibc-73efc556ac5c130f9fc95df337c48f3a5b555123.tar.xz
glibc-73efc556ac5c130f9fc95df337c48f3a5b555123.zip
Work around clang asm problem by changing types of two variables
-rw-r--r--elf/dl-profile.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/elf/dl-profile.c b/elf/dl-profile.c
index 42995305af..88123f9958 100644
--- a/elf/dl-profile.c
+++ b/elf/dl-profile.c
@@ -157,8 +157,11 @@ static uint32_t narcs;
    currently in the mmaped file.  At no point of time this has to be the
    same as NARCS.  If it is equal all entries from the file are in our
    lists.  */
+#ifdef __clang__
+static volatile unsigned long *narcsp;
+#else
 static volatile uint32_t *narcsp;
-
+#endif
 
 struct here_fromstruct
   {
@@ -170,7 +173,11 @@ static volatile uint16_t *tos;
 
 static struct here_fromstruct *froms;
 static uint32_t fromlimit;
+#ifdef __clang__
+static volatile unsigned long fromidx;
+#else
 static volatile uint32_t fromidx;
+#endif
 
 static uintptr_t lowpc;
 static size_t textsize;