1# Powerpc32 specific build options. 2 3# Some Powerpc32 variants assume soft-fp is the default even though there is 4# an fp variant so provide -mhard-float if --with-fp is explicitly passed. 5 6ifeq ($(with-fp),yes) 7+cflags += -mhard-float 8ASFLAGS += -mhard-float 9sysdep-LDFLAGS += -mhard-float 10endif 11 12ifeq ($(subdir),gmon) 13sysdep_routines += ppc-mcount compat-ppc-mcount 14static-only-routines += ppc-mcount 15shared-only-routines += compat-ppc-mcount 16endif 17 18ifeq ($(subdir),misc) 19sysdep_routines += gprsave0 gprrest0 gprsave1 gprrest1 20endif 21 22# On PPC, -fpic works until the GOT contains 32768 bytes, and possibly 23# more depending on how clever the linker is. Each GOT entry takes 4 bytes, 24# so that's at least 8192 entries. Since libc only uses about 2000 entries, 25# we want to use -fpic, because this generates fewer relocs. 26ifeq (yes,$(build-shared)) 27pic-ccflag = -fpic 28endif 29 30ifeq ($(subdir),csu) 31# There is no benefit to using sdata for these objects, and the user 32# of the library should be able to control what goes into sdata. 33CFLAGS-init.o = -G0 34CFLAGS-gmon-start.o = -G0 35 36ifeq (yes,$(build-shared)) 37# Compatibility 38ifeq (yes,$(have-protected)) 39CPPFLAGS-libgcc-compat.S = -DHAVE_DOT_HIDDEN 40endif 41sysdep_routines += libgcc-compat 42shared-only-routines += libgcc-compat 43endif 44endif 45 46ifeq ($(subdir),elf) 47# extra shared linker files to link only into dl-allobjs.so 48sysdep-rtld-routines += dl-start 49endif 50