aboutsummaryrefslogtreecommitdiff
path: root/elf/Makefile
diff options
context:
space:
mode:
authorStan Shebs <stanshebs@google.com>2018-02-27 11:22:13 -0800
committerStan Shebs <stanshebs@google.com>2018-02-27 11:22:13 -0800
commiteb3215d3bdccdee47b3cff6bc3492d5de03bbf6a (patch)
tree09f96d698cd0195f45e89596401806d4ccc3d2a1 /elf/Makefile
parentf0c4b81ce82949ef5c2d1f224daf7e856b565d93 (diff)
downloadglibc-eb3215d3bdccdee47b3cff6bc3492d5de03bbf6a.zip
glibc-eb3215d3bdccdee47b3cff6bc3492d5de03bbf6a.tar.gz
glibc-eb3215d3bdccdee47b3cff6bc3492d5de03bbf6a.tar.bz2
Add workarounds for clang and lld problems
Diffstat (limited to 'elf/Makefile')
-rw-r--r--elf/Makefile6
1 files changed, 6 insertions, 0 deletions
diff --git a/elf/Makefile b/elf/Makefile
index 6aefe50..f1fda1d 100644
--- a/elf/Makefile
+++ b/elf/Makefile
@@ -62,6 +62,9 @@ rtld-routines = rtld $(all-dl-routines) dl-sysdep dl-environ dl-minimal \
dl-error-minimal dl-conflict
all-rtld-routines = $(rtld-routines) $(sysdep-rtld-routines)
+# Hack around a clang alias+optimization problem.
+CFLAGS-rtld.c += -O0
+
CFLAGS-dl-runtime.c += -fexceptions -fasynchronous-unwind-tables
CFLAGS-dl-lookup.c += -fexceptions -fasynchronous-unwind-tables
CFLAGS-dl-iterate-phdr.c += $(uses-callbacks)
@@ -282,6 +285,8 @@ $(objpfx)tst-gnu2-tls1: $(objpfx)tst-gnu2-tls1mod.so
tst-gnu2-tls1mod.so-no-z-defs = yes
CFLAGS-tst-gnu2-tls1mod.c += -mtls-dialect=gnu2
endif
+# Somehow configure is failing to notice that lld can't do protected data.
+ifeq ($(with-lld),no)
ifeq (yes,$(have-protected-data))
modules-names += tst-protected1moda tst-protected1modb
tests += tst-protected1a tst-protected1b
@@ -296,6 +301,7 @@ tst-protected1modb.so-no-z-defs = yes
test-xfail-tst-protected1a = yes
test-xfail-tst-protected1b = yes
endif
+endif # lld
ifeq (yesyes,$(have-fpie)$(build-shared))
modules-names += tst-piemod1
tests += tst-pie1 tst-pie2