This is the mail archive of the glibc-bugs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug build/18744] FAIL: elf/tst-ld-sse-use when using -march=native in CFLAGS


https://sourceware.org/bugzilla/show_bug.cgi?id=18744

--- Comment #2 from Carlos O'Donell <carlos at redhat dot com> ---
(In reply to Markus Trippelsdorf from comment #1)
> gcc version 5.2. 
> -march=native == amdfam10 on this machine.

If you profile the dynamic loader you can't use SSE.

There are some combination of CFLAGS that result in broken builds and this is
one of them. In several cases we've had to manually disable the optimizations
that yield SSE usage, and this is yet another case.

This is supposed to catch everything:

sysdeps/x86/Makefile
  1 ifeq ($(subdir),elf)
  2 CFLAGS-.os += $(if $(filter $(@F),$(patsubst
%,%.os,$(all-rtld-routines))),\
  3                    -mno-sse -mno-mmx)
  4 
  5 tests-special += $(objpfx)tst-ld-sse-use.out
  6 $(objpfx)tst-ld-sse-use.out: ../sysdeps/x86/tst-ld-sse-use.sh
$(objpfx)ld.so
  7         @echo "Checking ld.so for SSE register use.  This will take a few
seconds..."
  8         $(BASH) $< $(objpfx) '$(NM)' '$(OBJDUMP)' '$(READELF)' > $@; \
  9         $(evaluate-test)
 10 endif

Why doesn't rtld-profil end up in all-rtld-routines?

It certainly is processed as we enter gmon and put into rtld-modules.

Either work out why it isn't in all-rtld-routines, or that all-rtld-routines is
insufficient, and then decide what else should get an added `-mno-sse
-mno-mmx`.

Otherwise, beware that your profiling code is broken.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]