# make.PPC32gnu - GNU compilation tools definitions for generic PowerPC # # Copyright (c) 2002-2004, 2006-2008, 2010-2013, 2016 Wind River Systems, Inc. # # The right to copy, distribute, modify or otherwise make use # of this software may be licensed only pursuant to the terms # of an applicable Wind River license agreement. # # modification history # -------------------- # 01y,10nov16,h_k fixed e6500 build spec. (VXW6-85939) # 01x,29jan13,h_k replaced XXX with TODO. # 01w,24jul12,h_k added e6500 CPU variant support. (WIND00333229) # 01v,12apr12,h_k moved common env setting to defs.ppc. # added -mabi=no-spe for PPC85XX non-e500mc. (WIND00345703) # 01u,14feb12,h_k added missing _WRS_HARDWARE_FP definition for e500mc. # (WIND00333933) # 01t,13jun11,mze add debug # 01s,03may11,syt Add support for PPC465 # 01r,03feb11,mcm Fix for WIND00247694 - use -fno-implicit-fp for e500v2 # 01q,10jan11,kab Fix 85XX e500mc flags # 01q,16dec10,x_z set _WRS_HARDWARE_FP for hard-float 476 # 01p,29aug08,mze logic change from hard to soft # 01o,19aug08,mze TOOL changes # 01n,22jul08,pee adding e500v2 support for VSB. # 01m,02aug07,mcm GCC 4.1.2 has now implemented the -fno-implicit-fp option; # the option had been removed while there was no support for # it. # 01l,15may07,mcm Remove -mno-implicit-fp # 01k,27jun06,dtr Support hard and soft float 60x builds. # 01k,19apr06,mcm Fix for SPR#118479 - problem with Altivec options. # 01j,28oct04,to removed -fno-zero-initialized-in-bss (now in defs.gnu) # 01i,27may04,to 970 cleanups. # 01h,19apr04,to Add -fno-zero-initialized-in-bss flag for gcc3.x (tmp?) # 01g,14apr04,rec PPC970 support # 01f,02jul04,pch SPR 98864: AltiVec support for gnu build of fioLib # 01e,08jun04,pch set _WRS_HARDWARE_FP for hard-float 440 # 01d,04feb04,pch PPC32 floating-point adjustments # 01c,07nov03,c_c Removed Compiler definitions. # 01b,05feb03,pch Add CPU_VARIANT support # 01a,11dec02,pch Created (from make.PPC440gnu vn 01f). # # DESCRIPTION # This file contains definitions and flags for the gnu tools # (compiler, assembler, linker etc.) to build for a generic # PowerPC with PPC60x hardware floating point. # If building for a specific processor (as a variant), # defs.ppc will set its type number into PPC32VARIANT. #*/ CPU = PPC32 TOOL = gnu include $(TGT_DIR)/h/tool/common/defs.ppc ifneq ($(PPC32VARIANT),) # default gnu cpu flag *usually* matches the PPC32VARIANT value CC_ARCH_SPEC = -mcpu=$(PPC32VARIANT) else CC_ARCH_SPEC = -DPPC32_fp60x # *** TEMP HACK: enable AltiVec support for math/fioLib.c # *** Remove this when the coprocessor abstraction # *** supports printf/scanf format extensions. OPTION_ALTIVEC_C = -maltivec -D_WRS_ALTIVEC_SUPPORT -mabi=altivec endif ifeq ($(PPC32VARIANT),85XX) ifeq ($(LIB_DIR_TAG),_ppc85XX_e500mc) CC_ARCH_SPEC = -mcpu=e500mc else ifeq ($(CPU_VARIANT),_ppc85XX_e500mc) CC_ARCH_SPEC = -mcpu=e500mc else ifeq ($(LIB_DIR_TAG),_ppc85XX_e6500) CC_ARCH_SPEC = -mcpu=e500mc else ifeq ($(CPU_VARIANT),_ppc85XX_e6500) CC_ARCH_SPEC = -mcpu=e500mc else _WRS_CONFIG_FP ?= soft # Make sure there is no SPE instruction generated by disabling SPE ABI. # This is added to be safe in case GCC has an issue. CC_ARCH_SPEC = -mcpu=8540 -mabi=no-spe endif endif endif endif endif ifeq ($(PPC32VARIANT),465) CC_ARCH_SPEC = -mcpu=440 endif ifeq ($(PPC32VARIANT),604) OPTION_ALTIVEC_AS = -Wa,-maltivec -mabi=altivec OPTION_ALTIVEC_C = -maltivec -mabi=altivec endif # not currently supported ifeq ($(PPC32VARIANT),970) CC_ARCH_SPEC = -mcpu=power4 -Wa,-mppc64bridge OPTION_ALTIVEC_AS = -Wa,-maltivec -mabi=altivec OPTION_ALTIVEC_C = -maltivec -mabi=altivec endif ifeq ($(CPU_VARIANT),_ppc85XX_e6500) OPTION_ALTIVEC_AS = -Wa,-maltivec -mabi=altivec OPTION_ALTIVEC_C = -maltivec -mabi=altivec endif include $(TGT_DIR)/h/tool/gnu/defs.ppc # end of make.PPC32gnu