diff options
Diffstat (limited to 'REORG.TODO/sysdeps/powerpc/powerpc32/Makefile')
-rw-r--r-- | REORG.TODO/sysdeps/powerpc/powerpc32/Makefile | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/REORG.TODO/sysdeps/powerpc/powerpc32/Makefile b/REORG.TODO/sysdeps/powerpc/powerpc32/Makefile new file mode 100644 index 0000000000..cf620c8269 --- /dev/null +++ b/REORG.TODO/sysdeps/powerpc/powerpc32/Makefile @@ -0,0 +1,49 @@ +# Powerpc32 specific build options. + +# Some Powerpc32 variants assume soft-fp is the default even though there is +# an fp variant so provide -mhard-float if --with-fp is explicitly passed. + +ifeq ($(with-fp),yes) ++cflags += -mhard-float +ASFLAGS += -mhard-float +sysdep-LDFLAGS += -mhard-float +endif + +ifeq ($(subdir),gmon) +sysdep_routines += ppc-mcount compat-ppc-mcount +static-only-routines += ppc-mcount +shared-only-routines += compat-ppc-mcount +endif + +ifeq ($(subdir),misc) +sysdep_routines += gprsave0 gprrest0 gprsave1 gprrest1 +endif + +# On PPC, -fpic works until the GOT contains 32768 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) +# 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 + +ifeq (yes,$(build-shared)) +# Compatibility +ifeq (yes,$(have-protected)) +CPPFLAGS-libgcc-compat.S = -DHAVE_DOT_HIDDEN +endif +sysdep_routines += libgcc-compat +shared-only-routines += libgcc-compat +endif +endif + +ifeq ($(subdir),elf) +# extra shared linker files to link only into dl-allobjs.so +sysdep-rtld-routines += dl-start +endif |