* sysdeps/powerpc/powerpc64/Makefile (no-special-regs): New variable.

(CFLAGS-mcount.c): Use it instead of -msoft-float.
	* sysdeps/powerpc/powerpc64/elf/Makefile
	(CFLAGS-dl-runtime.os, CFLAGS-dl-lookup.os, CFLAGS-dl-misc.os,
	CFLAGS-rtld-mempcpy.os, CFLAGS-rtld-memmove.os, CFLAGS-rtld-memchr.os,
	CFLAGS-rtld-strnlen.os): LIkewise
This commit is contained in:
Roland McGrath 2006-02-02 08:23:52 +00:00
parent fc1b9b023b
commit 05fcaaeea4
3 changed files with 29 additions and 8 deletions

View File

@ -1,3 +1,12 @@
2006-02-02 Roland McGrath <roland@redhat.com>
* sysdeps/powerpc/powerpc64/Makefile (no-special-regs): New variable.
(CFLAGS-mcount.c): Use it instead of -msoft-float.
* sysdeps/powerpc/powerpc64/elf/Makefile
(CFLAGS-dl-runtime.os, CFLAGS-dl-lookup.os, CFLAGS-dl-misc.os,
CFLAGS-rtld-mempcpy.os, CFLAGS-rtld-memmove.os, CFLAGS-rtld-memchr.os,
CFLAGS-rtld-strnlen.os): LIkewise
2006-02-01 Roland McGrath <roland@redhat.com>
* sysdeps/ieee754/ldbl-opt/Makefile (sysdep-CFLAGS): Avoid adding

View File

@ -10,6 +10,18 @@ ifeq (yes,$(build-shared))
pic-ccflag = -fpic
endif
# These flags prevent FPU or Altivec registers from being used,
# for code called in contexts that is not allowed to touch those registers.
# Stupid GCC requires us to pass all these ridiculous switches.
no-special-regs := $(sort $(foreach n,40 41 50 51 60 61 62 63 \
$(foreach m,2 3 4 5 6 7 8 9, \
3$m 4$m 5$m),\
-ffixed-$n)) \
$(sort $(foreach n,$(foreach m,0 1 2 3 4 5 6 7 8 9,\
$m 1$m 2$m) 30 31,\
-ffixed-v$n)) \
-ffixed-vrsave -ffixed-vscr
ifeq ($(subdir),csu)
sysdep_routines += hp-timing
elide-routines.os += hp-timing
@ -29,5 +41,5 @@ ifeq ($(subdir),gmon)
# The assembly functions assume that fp arg regs are not trashed.
# Compiling with -msoft-float ensures that fp regs are not used
# for moving memory around.
CFLAGS-mcount.c += -msoft-float
CFLAGS-mcount.c += $(no-special-regs)
endif

View File

@ -2,10 +2,10 @@
# Need to prevent gcc from using fprs in code used during dynamic linking.
CFLAGS-dl-runtime.os := -msoft-float
CFLAGS-dl-lookup.os := -msoft-float
CFLAGS-dl-misc.os := -msoft-float
CFLAGS-rtld-mempcpy.os := -msoft-float
CFLAGS-rtld-memmove.os := -msoft-float
CFLAGS-rtld-memchr.os := -msoft-float
CFLAGS-rtld-strnlen.os := -msoft-float
CFLAGS-dl-runtime.os = $(no-special-regs)
CFLAGS-dl-lookup.os = $(no-special-regs)
CFLAGS-dl-misc.os = $(no-special-regs)
CFLAGS-rtld-mempcpy.os = $(no-special-regs)
CFLAGS-rtld-memmove.os = $(no-special-regs)
CFLAGS-rtld-memchr.os = $(no-special-regs)
CFLAGS-rtld-strnlen.os = $(no-special-regs)