mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-11 13:50:06 +00:00
c8f3e6bcf0
Changes contributed by Franz Sirl <Franz.Sirl-kernel@lauterbach.com> and Jack Howarth <howarth@bromo.med.uc.edu>. * sysdeps/powerpc/Makefile [$(have-protected) = yes] (CPPFLAGS-divdi3.c, CPPFLAGS-libgcc-compat.S): New variables, pass -DHAVE_DOT_HIDDEN for these files. * sysdeps/powerpc/Versions (libc: GLIBC_2.0): Added __floatdidf, __floatdisf. * sysdeps/powerpc/divdi3.c: New file. * sysdeps/powerpc/libgcc-compat.S: New file, replacement for ... * sysdeps/powerpc/libgcc-compat.c: ... this, file removed.
60 lines
1.6 KiB
Makefile
60 lines
1.6 KiB
Makefile
# We always want to use the new mnemonic syntax even if we are on a RS6000
|
|
# machine.
|
|
+cflags += -mnew-mnemonics -Wa,-mppc -mpowerpc
|
|
asm-CPPFLAGS += -Wa,-mppc
|
|
|
|
ifeq ($(with-fp),no)
|
|
+cflags += -msoft-float
|
|
sysdep-LDFLAGS += -msoft-float
|
|
endif
|
|
|
|
ifeq ($(subdir),gmon)
|
|
sysdep_routines += ppc-mcount
|
|
endif
|
|
|
|
ifeq ($(subdir),misc)
|
|
sysdep_routines += gprsave0 gprrest0 gprsave1 gprrest1
|
|
endif
|
|
|
|
# On PPC, -fpic works until the GOT contains 2^15 bytes, and possibly
|
|
# more depending on how clever the linker is. Each GOT entry takes 4 bytes,
|
|
# so that's at least 8192 entries. Since libc only uses about 2000 entries,
|
|
# we want to use -fpic, because this generates fewer relocs.
|
|
ifeq (yes,$(build-shared))
|
|
pic-ccflag = -fpic
|
|
endif
|
|
|
|
ifeq ($(subdir),csu)
|
|
ifneq ($(elf),no)
|
|
# The initfini generation code doesn't work in the presence of -fPIC, so
|
|
# we use -fpic instead which is much better.
|
|
CFLAGS-initfini.s = -g0 -fpic -O1
|
|
|
|
# There is no benefit to using sdata for these objects, and the user
|
|
# of the library should be able to control what goes into sdata.
|
|
CFLAGS-init.o = -G0
|
|
CFLAGS-gmon-start.o = -G0
|
|
endif
|
|
ifeq (yes,$(build-shared))
|
|
# Compatibility
|
|
ifeq (yes,$(have-protected))
|
|
CPPFLAGS-divdi3.c = -DHAVE_DOT_HIDDEN
|
|
CPPFLAGS-libgcc-compat.S = -DHAVE_DOT_HIDDEN
|
|
endif
|
|
sysdep_routines += divdi3 libgcc-compat
|
|
shared-only-routines += divdi3 libgcc-compat
|
|
endif
|
|
endif
|
|
|
|
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
|
|
sysdep_routines += dl-machine
|
|
# extra shared linker files to link only into dl-allobjs.so
|
|
sysdep-rtld-routines += dl-machine dl-start
|
|
endif
|