| # 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 |