mirror of
git://sourceware.org/git/glibc.git
synced 2024-12-15 04:20:28 +08:00
9250e6610f
Since GCC commit 271500 (svn), also known as the following commit on the git mirror: commit 61edec870f9fdfb5df3fa4e40f28cbaede28a5b1 Author: amodra <amodra@138bc75d-0d04-0410-961f-82ee72b054a4> Date: Wed May 22 04:34:26 2019 +0000 [RS6000] Don't pass -many to the assembler glibc builds are failing when an assembly implementation does not declare the correct '.machine' directive, or when no such directive is declared at all. For example, when a POWER6 instruction is used, but '.machine power6' is not declared, the assembler will fail with an error similar to the following: ../sysdeps/powerpc/powerpc64/power8/strcmp.S: Assembler messages: 24 ../sysdeps/powerpc/powerpc64/power8/strcmp.S:55: Error: unrecognized opcode: `cmpb' This patch adds '.machine powerN' directives where none existed, as well as it updates '.machine power7' directives on POWER8 files, because the minimum binutils version required to build glibc (binutils 2.25) now provides this machine version. It also adds '-many' to the assembler command used to build tst-set_ppr.c. Tested for powerpc, powerpc64, and powerpc64le, as well as with build-many-glibcs.py for powerpc targets. Reviewed-by: Tulio Magno Quites Machado Filho <tuliom@linux.ibm.com>
60 lines
1.6 KiB
Makefile
60 lines
1.6 KiB
Makefile
ifeq ($(subdir),string)
|
|
CFLAGS-memcmp.c += -Wno-uninitialized
|
|
endif
|
|
|
|
ifeq ($(subdir),elf)
|
|
# extra shared linker files to link into dl-allobjs.so and libc
|
|
sysdep-dl-routines += dl-machine hwcapinfo
|
|
sysdep_routines += dl-machine hwcapinfo
|
|
# extra shared linker files to link only into dl-allobjs.so
|
|
sysdep-rtld-routines += dl-machine hwcapinfo
|
|
|
|
modules-names += mod-tlsopt-powerpc
|
|
mod-tlsopt-powerpc.so-no-z-defs = yes
|
|
tests += tst-tlsopt-powerpc
|
|
$(objpfx)tst-tlsopt-powerpc: $(objpfx)mod-tlsopt-powerpc.so
|
|
|
|
ifneq (no,$(multi-arch))
|
|
tests-static += tst-tlsifunc-static
|
|
tests-internal += tst-tlsifunc-static
|
|
ifeq (yes,$(build-shared))
|
|
tests-internal += tst-tlsifunc
|
|
endif # build-shared
|
|
endif # multi-arch
|
|
endif # subdir = elf
|
|
|
|
ifeq ($(subdir),setjmp)
|
|
ifeq (yes,$(build-shared))
|
|
sysdep_routines += novmx-longjmp novmx-sigjmp
|
|
endif
|
|
endif
|
|
|
|
ifeq ($(subdir),csu)
|
|
# get offset to rtld_global._dl_hwcap and rtld_global._dl_hwcap2
|
|
gen-as-const-headers += rtld-global-offsets.sym
|
|
# get offset to __locale_struct.__ctype_tolower
|
|
gen-as-const-headers += locale-defines.sym
|
|
endif
|
|
|
|
ifeq ($(subdir),nptl)
|
|
tests-internal += test-get_hwcap test-get_hwcap-static
|
|
tests-static += test-get_hwcap-static
|
|
endif
|
|
|
|
ifeq ($(subdir),misc)
|
|
sysdep_headers += sys/platform/ppc.h
|
|
tests += test-gettimebase
|
|
tests += tst-set_ppr
|
|
|
|
# This test is expected to run and exit with EXIT_UNSUPPORTED on
|
|
# processors that do not implement the Power ISA 2.06 or greater.
|
|
# But the test makes use of instructions from Power ISA 2.06 and 2.07.
|
|
CFLAGS-tst-set_ppr.c += -Wa,-many
|
|
endif
|
|
|
|
ifeq ($(subdir),wcsmbs)
|
|
CFLAGS-wcscpy.c += -DUNROLL_NTIMES=8
|
|
CFLAGS-wcschr.c += -DUNROLL_NTIMES=8
|
|
CFLAGS-wcsrchr.c += -DUNROLL_NTIMES=8
|
|
endif
|