original files of m241

This commit is contained in:
neelimap
2026-07-30 11:19:44 +05:30
parent 170c2b3f3a
commit afc7070c1f
12254 changed files with 7655111 additions and 0 deletions
+67
View File
@@ -0,0 +1,67 @@
# defs.arm - ARM specific definitions for the Diab toolchain
#
# Copyright (c) 2001-2002, 2006, 2008, 2010, 2012 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
# --------------------
# 01i,05apr12,jdw Modify for ARMARCH7M
# 01h,06oct10,mcm Workaround for WIND00235515.
# 01g,31jul10,fao Add be8 support.
# 01f,25may10,m_h Thumb-2 Support
# 01e,24jun08,pee VSB.
# 01d,07feb06,jb Adding VFP switch
# 01c,24jun02,m_h define LONGCALL to allow far away ld relocations
# 01b,15jan02,to disable auto literal pool inserting
# 01a,18dec01,to written
#
# DESCRIPTION
# This file contains ARM specific definitions and flags for the
# Diab tools (compiler, assembler, linker etc.)
#
# compile flags:
# -Wa,-Xgnu-thumb generate STT_ARM_TFUNC for the compatibility
# with GNU
# -Wa,-Xlit-auto-off disable auto literal pool inserting
#
# NOTE
# The file name comes from defs.$(VX_CPU_FAMILY)
#
include $(TGT_DIR)/h/tool/diab/defs.diab
include $(TGT_DIR)/h/tool/common/defs.arm
LONGCALL = -Xcode-absolute-far
TGT_FLAG_ENDIAN_big = E
TGT_FLAG_ENDIAN_be8 = E
TGT_FLAG_ENDIAN_little = L
ifeq ($(CPU),ARMARCH7M)
## Options for ARMv7-M
# definitions for Thumb-2
CC_ARCH_SPEC += -Wa,-Xgnu-thumb -ei5388
OPTION_LANG_ASM += -Wa,-Xlit-auto-off
else
## Options for traditional ARM
ifeq ($(findstring _T,$(CPU)),_T)
ifeq ($(findstring _T2,$(CPU)),_T2)
# definitions for Thumb-2
CC_ARCH_SPEC += -Wa,-Xgnu-thumb -X42
else
# definitions for Thumb mode
CC_ARCH_SPEC += -Xinterwork -Wa,-Xgnu-thumb -X42
endif
else
# definitions for ARM mode
endif
OPTION_LANG_ASM += -Wa,-Xlit-auto-off -Wa,-Xenable-coprocessor-vfp
endif
# end of defs.arm
+469
View File
@@ -0,0 +1,469 @@
# defs.diab - arch independent definitions specific to the Diab toolchain
#
# Copyright (c) 2000-2014, 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
# --------------------
# 05b,11mar16,mcm Fix for VXW6-85391, adding the -Xclib-optim-off option for
# C++ sources as well.
# 05a,25jul14,mcm Removing 4144 from the list of suppressed warnings to allow
# the use of the 5.9.4.x compiler.
# 04z,12nov13,elp prevent warning when building symbol table (WIND00442321).
# 04y,23oct13,dee ignore additional warnings. WIND00440418
# 04x,29aug12,mze change to system-headers warning
# 04w,27jul12,mcm Fix for WIND00347537 - putting back the required space
# after "-o".
# 04v,22jun12,mze WIND00329947 "-W:c++:.CPP" added to commadline
# 04u,18apr12,mze disable Xlint
# 04t,18oct11,dxp remove no proxy define
# 04s,18jul11,dxp port 6.10 changes for ecloud build to disable lmproxy
# 04r,15jun11,mze changes for DEBUG
# 04q,10jun11,mze add support for DEBUG_FLAG
# 04p,28jan11,mcm Fix for WIND00252752 (updating compiler warning level)
# 04o,19jan11,pee WIND00250470
# 04n,16nov10,pee WIND00240589
# 04m,15nov10,pee WIND00240599
# 04l,08nov10,zl added CC_WARNINGS_IGNORE_DEPRECATED.
# 04l,28oct10,pee WIND00233594
# 04k,06oct10,mcm Added the EDG_IGNORE warnings to the medium level warning
# option. Also added all currently seen 'info' messages to the
# ignored list and removed 4009 from the ignored list.
# 04j,29sep10,mcm Ignoring some new warnings introduced by the new EDG
# frontend.
# 04i,21sep10,mcm Switching to etoa for C89 kernel side compiles.
# 04l,18aug10,gvm moving to :vxworks69
# 04k,23jul10,v_r Added missing space at the end of the OPTION_OBJECT_NAME
# macro.
# 04j,13may10,pee adding line info to CPP and PTION_LD_GENMAP
# 04i,16dec09,mcm Adding option to enable warnings for system headers
# 04h,25aug09,pee WIND00178176 remove redundant MUNCH defs.
# 04g,04may09,mdo Add "vector" variation of TGT_FLAG_FP
# 04f,02jul09,mcm Moving to :vxworks68
# 04e,02jul09,pee define section splittion option for CC
# 04d,26jun09,pee adding defs for section splitting.
# 04c,11jul08,mcm Changing the environment from :vxworks66 to :vxworks67
# 04b,24jun08,pee VSB.
# 04a,18jun08,jpb Added VSB support by removing redundant assembly file
# define.
# 03z,11jun08,pee VSB adaptation.
# 03y,07jun07,pee reorganize SDA for VIPs
# 03x,11may07,dcc temporal disable of SDA builds.
# 03w,05may07,dcc added CC_SDA_FLAGS.
# 03v,08mar07,pee adding support for generic options
# 03u,28feb07,mcm Changing build environment to :vxworks66
# 03t,15jan07,mcm Changing the environment from :vxworks64 to :vxworks65
# 03s,19jul06,mcm Changing build environment to :vxworks64
# 03r,20apr06,lei added KERNEL_TYPE for SMP build
# 03q,11apr06,pee SPR 105777 - NULL file created in BSP under MS-Windows
# 03p,06feb06,pee adding support for linker symbol definition
# 03o,01dec05,mcm Changing build environment to :vxworks63
# 03n,31aug05,mcm Changing DIAB_T_ENVIRON to vxworks62
# 03m,22aug05,pee Added OPTION_DEPEND_TARGET
# 03l,18jul05,pee Added CC_LIBINTRINSICS
# 03k,08jul05,pee Added OPTION_CC_GENMAP
# 03j,29apr05,md Added OPTION_DEPEND_GEN_D
# 03i,31mar05,gvm Changing DIAB_T_ENVIRON to vxworks61
# 03h,16feb05,pee Added OPTION_POINTERS_VOLATILE
# 03j,24jan05,aeg added -Xforce-declarations to CC_WARNINGS_LOW (SPR #106381).
# 03g,03jul04,f_b Improved support for data alignment
# 03f,11jun04,mcm Removed -Wa,-Xsemi-is-newline (will come from .conf file).
# Also removed -Xstrings-in-text=0 from CC_WARNINGS_MED.
# 03f,15jun04,fle SPR#98164 : substitute backslashes with slashes in CC_BASE
# 03e,29apr04,c_c Get compiler version from the resource file.
# 03d,04may04,mcm Updating compiler version to 5.2.0.2
# 03c,26apr04,f_b Removed absolute path to objcopy to prepare for new
# directory structure and align with how nm & size are found
# 03b,26mar04,mcm Using -Xpointers-volatile instead of the
# -Xmemory-is-volatile, which is too restrictive.
# 03a,25mar04,c_c Update the Path variable when exists (SPR #95324).
# 02z,05apr04,mcm Fix for SPR 95829 - using the new macro LD_LINK_TOOL_DIR
# to set the path for Diab C++ libraries.
# 02y,12mar04,c_c Updated version to 5.2.0.1
# 02x,18feb04,mcm Using vxworks60 instead of base6
# 02w,09feb04,fle Updated to new host utilities location
# 02v,28jan04,dat Diab compiler level warnings
# 02u,22jan04,zmm Moved definitions of ROM_ENTRY, SYS_ENTRY and USR_ENTRY
# into defs.common
# 02t,09jan04,c_c Don't hardcode compiler path in macro (SPR #92774).
# 02s,07nov03,c_c Check compiler version.
# 02r,27oct03,dat adding -ei1499 to ignore empty file warning (broken)
# 02q,08oct03,dat New warning flags and settings, created
# CC_WARNINGS_OLD to be the old settings.
# 02p,13may03,sn removed autosetting of -Xc++-abr (does not work with project
# facility, causes confusion if tcInfo regenerated with
# CXX_STL_VARIANT=abridged).
# 02o,08apr03,sn use -r5 instead of -r for partial links
# 02n,19mar03,sn use Diab ddump for NM and SIZE
# 02m,18feb03,sn added support for Diab 5.1 standard vs abridged library
# 02o,17sep03,yvp Added -Xcpp-no-space to OPTION_PP_AS.
# 02n,05sep03,pch parameterize Diab "environment" setting
# 02m,19aug03,fle SPR#88802, set TCL to tclsh and added WTXTCL macro
# 02l,08may02,jab removed -Xexception as it is default
# 02k,01may02,sn Define TOOL_FAMILY, deprecate TOOL_VENDOR
# 02j,18apr02,jab workaround CPP_PRINT_MACROS problem of writing .o (SPR75718
# + SPR75486)
# 02i,03apr02,jab made -Xmismatch-warning only visible to C
# 02h,21mar02,rbl adding macro so that project facility can add
# -Xmemory-is-volatile to bsp files
# 02g,22mar02,dat Adding PIC flags for bootInit.o (72825)
# 02f,13mar02,sn SPR 74080 - added large project support for Diab
# 02e,07mar02,jab added -Xlocal-data-area-static-only option
# 02d,14feb02,jab added -r4 to LD_PARTIAL_LAST_FLAGS
# 02c,06feb02,t_m change ranlib to ranlib$(TOOLENV)
# 02b,21jan02,sn removed obsolete WFC flags; removed unused C++_TEMPLATE_INST
# 02a,02jan02,jab use -Xclib-optim-off instead of -Xintrinsic-mask
# 01z,20dec01,jab use -r instead of -r4
# 01y,13dec01,jab added make variable BOOTCONFIG_FLAGS
# 01x,07dec01,dat Adding -w to all dependency generation macros
# 01x,05dec01,tpw Rename Diab linker scripts to facilitate regeneration from
# a common template.
# 01w,28nov01,jab modified ldscript path
# 01v,13nov01,tam changed definition of CC_LIB (repackaging)
# 01u,13nov01,dat adding project link flags
# 01t,05nov01,rbl let project facility know about optimization flags
# 01s,12nov01,tam remove -Xrescan-restart; changed TOOL_CONFIG to
# TOOL_COMMON_DIR
# 01r,12nov01,jab really fixed CPP_PRINT_MACROS
# 01q,12nov01,jab fixed CPP_PRINT_MACROS
# 01p,07nov01,jab added -Xgenerate-paddr to LD_FLAGS
# 01o,06nov01,sn pass the architecture name to munch
# 01n,06nov01,jab various flag changes and documentation
# 01m,03nov01,tam updated for repackaging
# 01l,01nov01,jab flag changes
# 01k,30oct01,tpw Take generic defaults from new fragment defs.common
# 01j,30oct01,sn Use GNU nm and objcopy
# 01i,30oct01,jab sync diab CPP definition with gnu
# 01h,29oct01,jab added new ld script variables
# 01g,24oct01,dat Relocating tool specific macros
# 01f,24oct01,jab added new dependency generation variables
# 01e,22oct01,jab cleaned up
# 01d,23oct01,dee remove nm$(TOOLENV)
# 01c,19oct01,jab added make variables for dependency generation option
# added missing OPTION_* make variables
# 01b,18oct01,dat Moving tool specifics out of h/make
# 01a,17feb00,jab created.
#
# DESCRIPTION
# This file contains architecture independent definitions and flags for the
# Diab tools (compiler, assembler, linker etc.)
#
#
# The following switches are used to compile C/C++ source. Most of these
# are being used to make the compiler lax regarding coding conventions
# used in many source files; however, some are being used to work around
# problems in specific source files.
#
#
# -Xintrinsic-mask=0x0 turn off generation of abs/fabs intrinsic; is
# this still needed?
#
## generic defaults from defs.common come first, so they can be overridden
include $(TGT_DIR)/h/tool/common/defs.common
# diab oes not yet support 64 bit.
# disable build spec generation for 64 bot configurations
ifdef _WRS_CONFIG_LP64
_BDGEN_EXCLUDE = TRUE
endif
## system name, used in -t settings
DIAB_T_ENVIRON = vxworks69
## get TOOL_COMMON_DIR, TOOL_DIAB and TOOL_GNU from TOOL
TOOL_FAMILY = diab
# TOOL_COMMON_DIR = $(subst diab,common,$(TOOL))
TOOL_COMMON_DIR = $(BUILD_FP_PREFIX)common$(BUILD_ENDIAN_SUFFIX)
TOOL_SPECIFIC_DIR = $(BUILD_FP_PREFIX)$(TOOL_FAMILY)$(BUILD_ENDIAN_SUFFIX)
TOOL_DIAB = $(TOOL)
TOOL_GNU = $(subst diab,gnu,$(TOOL))
# Deprecated, use TOOL_FAMILY instead
TOOL_VENDOR = diab
# Set path to diab utilities:
# if WIND_DIAB_PATH is set, then use it as the compiler base directory.
# else, if WIND_DIAB_VERSION is set, use it.
# else, get the version from tools.version file.
ifneq ($(WIND_DIAB_PATH),)
CC_BASE = $(subst \,/,$(WIND_DIAB_PATH))
else
# set default version to WIND_DIAB_VERSION set in
# $(WIND_BASE)/host/resource/hutils/tools.version, but allow environment,
# ARCH or CPU specific make fragment to override the value.
ifeq ($(WIND_DIAB_VERSION),)
include $(WIND_BASE)/host/resource/hutils/tools.version
endif
CC_VERSION = $(WIND_DIAB_VERSION)
endif
## set path to diab utilities
ifeq ($(WIND_HOST_TYPE),x86-win32)
CC_HOST = WIN32
else
ifeq ($(WIND_HOST_TYPE),sun4-solaris2)
CC_HOST = SUNS
else
CC_HOST = LINUX386
endif
endif
ifeq ($(WIND_HOST_TYPE),x86-win32)
ifneq ($(Path),)
export Path := $(CC_BIN_DIR);$(Path)
endif
ifneq ($(PATH),)
export PATH := $(CC_BIN_DIR);$(PATH)
endif
else
ifneq ($(PATH),)
export PATH := $(CC_BIN_DIR):$(PATH)
endif
endif
## diab toolchain binaries
AR = dar
AS = $(CC)
CC = dcc
CXX = $(CC)
CPLUS = dplus
# CPP = $(CC) -E -Xpreprocessor-lineno-off
CPP = $(CC) -E
LD = dld
NM = ddump -Ng
## utility binaries
RANLIB = ranlib$(TOOLENV)
TCL = tclsh
WTXTCL = wtxtcl
OBJCPY = objcopy$(TOOLENV)
SIZE = ddump -Z
CF =
CPP_PRINT_MACROS = $(CC) $(TGT_FLAG) $(COMMON_COMPILER) -w -E \
-Xcpp-dump-symbols $(CC_INCLUDE) $(CC_DEFINES)
## project facility variables
LARGE_PROJECT = true
OPTION_INDIRECT_FILE = -@
OPTION_NM_INDIRECT_FILE = @
CC_PROJECT_OPTIMIZE_FLAGS = -O -XO
PROJECT_BSP_FLAGS_EXTRA = $(filter -Xpointers-volatile,$(CC_OPTIM_TARGET)) $(CC_SDA_FLAGS)
## C flags
OPTION_SYS_HEADERS = -Xsystem-headers-warn
COMMON_COMPILER = -W:c:,-Xclib-optim-off -W:c++:,-Xclib-optim-off -Xansi \
-Xlocal-data-area-static-only \
$(CC_WARN_SYSTEM_HEADERS) -W:c++:.CPP
C_COMPILER_FLAGS = -Xc-new -Xdialect-c89
ifeq ($(VX_CPU_FAMILY), ppc)
ifeq ($(SDA_DISABLE),)
CC_SDA_FLAGS = -Xsmall-const=8 -Xsmall-data=8
endif
endif
CC_ARCH_SPEC = $(TGT_FLAG)
CC_COMPILER = $(COMMON_COMPILER) $(C_COMPILER_FLAGS)
# floating point options
TGT_FLAG_FP_vector = V
TGT_FLAG_FP_hard = H
TGT_FLAG_FP_soft = S
TGT_FLAG_FP = $(TGT_FLAG_FP_$(_WRS_CONFIG_FP))
TGT_FLAG_ENDIAN = $(TGT_FLAG_ENDIAN_$(_WRS_CONFIG_ENDIAN))
CC_OPTIM_XO = -XO -Xsize-opt
CC_OPTIM_DEBUG =
CC_OPTIM_DISABLE = -Xoptimized-debug-off
CC_OPTIM_NORMAL = $(CC_OPTIM_DEBUG) $(CC_OPTIM_XO)
CC_OPTIM_TARGET = $(CC_OPTIM_DEBUG) $(CC_OPTIM_XO) -Xpointers-volatile
CC_OPTIM_DRIVER = $(CC_OPTIM_DEBUG) -Xpointers-volatile
# Compiler warning levels
# old T2.2 warning level (formerly part of CC_COMMON)
CC_WARNINGS_OLD_1 = -W:c:,-Xmismatch-warning=2 \
-ew1554,1551,1552,1086,1047,1547 \
-ei1516,1643,1604
CC_WARNINGS_OLD = $(CC_WARNINGS_OLD_1) -Xstrings-in-text=0
# old standard warning levels
CC_WARNINGS_ALL= $(CC_WARNINGS_OLD)
CC_WARNINGS_NONE= $(CC_WARNINGS_OLD)
# These are warnings issued by the EDG C89 frontend that can safely be ignored
CC_WARNINGS_EDG_IGNORE = -ei1518,4177,4223,4301,4550,5409,1606
CC_WARNINGS_INFO_IGNORE = -ei4193,4826,4381,4237,1573,4007,4082,4177,4223,4260,4550,5361,5828,2273,5387,5388
# These warnings are supressed in the product build
CC_WARNINGS_PDT_SUPRESS = -ei1522,4092,4111,4152,4167,4171,4174,4186,4188,4191,4192,4223,4231,4236,4284,4375,4494,4513,5152,5457
# option to override warnings for symbols declared with _WRS_DEPRECATED
CC_WARNINGS_IGNORE_DEPRECATED = -ei5457
# New warning levels, low, med, high
# Highest warning level, all warnings should be investigated, but do not fix
# by adding copious casts. Every cast is a potential code error in the
# future.
CC_WARNINGS_HIGH = $(CC_WARNINGS_INFO_IGNORE)
# medium warnings, Code SHOULD be warning free at this level. Avoid
# excessive casts just to eliminate warnings.
CC_WARNINGS_MED = $(CC_WARNINGS_OLD_1) $(CC_WARNINGS_EDG_IGNORE) $(CC_WARNINGS_INFO_IGNORE) $(CC_WARNINGS_PDT_SUPRESS)
# minimum warnings. Code MUST be warning free at this level. Apply all fixes
# necessary to eliminate every warning and error.
CC_WARNINGS_LOW = $(CC_WARNINGS_EDG_IGNORE) $(CC_WARNINGS_INFO_IGNORE) $(CC_WARNINGS_PDT_SUPRESS) -Xforce-declarations
# For T2.2, we only use this flag for GNU/MIPS combination.
# We will activate this for all arch's after T2.2 release (SPR 72825)
# CC_PIC = -Xcode-relative-far
## C++ flags
C++_COMPILER = $(COMMON_COMPILER)
## linker flags
define link_symdef
-D$(word 1, $(1))=$(word 2, $(1))
endef
LDFLAGS = $(TGT_FLAG) -X -N -Xgenerate-paddr $(LDFLAGS_VSB) $(_USER_LDFLAGS)
# -r5 is exactly the same as -r except that COMDAT sections
# (used for C++ templates) are collapsed. We collapse the
# sections at this point to avoid running into the ELF
# 65535 section limitation.
LD_PARTIAL_FLAGS = $(TGT_FLAG) -X -r5
LD_PARTIAL = $(LD) $(LD_PARTIAL_FLAGS)
LD_ENTRY_OPT = -e
# These are flags to pass to the linker the last time we do a
# relocatable link. They never get used by a bootable project
# and they only get used once by a downloadable project.
LD_PARTIAL_LAST_FLAGS = -r4
LD_SCRIPT_RAM = $(TGT_DIR)/h/tool/diab/ldscripts/link.RAM
LD_SCRIPT_ROM = $(TGT_DIR)/h/tool/diab/ldscripts/link.ROM
# for cyclic link support
LD_START_GROUP =
LD_END_GROUP =
LD_PARTIAL_START_GROUP =
LD_PARTIAL_END_GROUP =
LD_DATA_SEG_ALIGN_FLAG = $(OPTION_DEFINE_MACRO)_VX_DATA_ALIGN
LD_LOW_FLAGS = -D_VX_START_TEXT=0x$(RAM_LOW_ADRS)
LD_HIGH_FLAGS = -D_VX_START_TEXT=0x$(RAM_HIGH_ADRS)
RES_LOW_FLAGS = -D_VX_START_TEXT=0x$(ROM_LINK_ADRS) -D_VX_START_DATA=0x$(RAM_LOW_ADRS)
RES_HIGH_FLAGS = -D_VX_START_TEXT=0x$(ROM_LINK_ADRS) -D_VX_START_DATA=0x$(RAM_HIGH_ADRS)
# Flags for VxWorks Project builds
LD_RAM_FLAGS = $(LD_LOW_FLAGS)
LD_ROM_CPY_FLAGS = $(RES_HIGH_FLAGS)
LD_ROM_CMP_FLAGS = $(RES_HIGH_FLAGS)
LD_ROM_RES_FLAGS = $(RES_LOW_FLAGS)
# For 960 IMI
LD_IMI_ADRS = -D_VX_TEXT_START=0x$(IMI_TEXT_ADRS) -D_VX_DATA_START=0x$(IMI_DATA_ADRS)
## utility flags
NM_GLOB_FLAGS = -g
## bsp flags
# compressedEntry() must be first routine in .text section
BOOTCONFIG_FLAGS=-Xkill-opt=0x400000
## options
OPTION_PP = -E
OPTION_PP_AS = -Xpreprocess-assembly -Xcpp-no-space
OPTION_PP_NOLINENO = -Xpreprocessor-lineno-off
OPTION_PP_COMMENT = -C
OPTION_DEPEND = -Xmake-dependency -w
OPTION_DEPEND_GEN = -Xmake-dependency -Xincfile-missing-ignore -w
OPTION_DEPEND_GEN_D = -Xmake-dependency=0x04
OPTION_DEPEND_C = $(OPTION_DEPEND_GEN)
OPTION_DEPEND_AS = $(OPTION_DEPEND)
OPTION_DEPEND_TARGET = -Xmake-dependency-target=
OPTION_CC_GENMAP = -m6 > $@.map
OPTION_LD_GENMAP = -m6 > $@.map
OPTION_CC_SPLIT_SECTIONS = -Xsection-split=3
OPTION_DOLLAR_SYMBOLS = -Xdollar-in-ident
OPTION_ANSI = -Xansi
OPTION_PASS_TO_LD =
OPTION_NO_WARNINGS = -ei4147
OPTION_OBJECT_ONLY = -c
OPTION_INCLUDE_DIR = -I
OPTION_DEFINE_MACRO = -D
# this line has a space at the end ("-o ")
OPTION_OBJECT_NAME = -o
OPTION_EXE_NAME = $(OPTION_OBJECT_NAME)
OPTION_POINTERS_VOLATILE = -Xpointers-volatile
LD_LINK_PATH_EXTRA += -L$(LD_LINK_TOOL_DIR)_$(CXX_STL_VARIANT)$(MINOR_OPTION_SUFFIX)
ifeq ($(CXX_STL_VARIANT),)
CXX_STL_VARIANT = standard
# If you would like to create projects using the abridged standard library,
# replace the above line with:
# CXX_STL_VARIANT = abridged
endif
# Library containing compiler support routines
CC_LIB =
CC_LIBINTRINSICS = -ldcc
# linker flag for section splitting and removal of unused sections.
LD_REMOVE_UNUSED_SECTIONS = -Xremove-unused-sections
# define data models supported for VIPs
ifdef TC_INFO
DATA_MODELS = ILP32
endif
_LD_VXWORKS_LOADER_FLAGS = -r0x40000
+23
View File
@@ -0,0 +1,23 @@
# defs.mips - MIPS specific definitions for the Diab toolchain
#
# modification history
# --------------------
# 01b,22may02,mem Added -Xno-mips16-calls
# 01a,08jan02,pes written
#
# DESCRIPTION
# This file contains MIPS specific definitions and flags for the
# Diab tools (compiler, assembler, linker etc.)
#
# NOTE
# The file name comes from defs.$(VX_CPU_FAMILY)
#
include $(TGT_DIR)/h/tool/diab/defs.diab
include $(TGT_DIR)/h/tool/common/defs.mips
# Indicate that MIPS16 isn't supported, so that tail-call optimizations
# can be enabled.
CC_ARCH_SPEC += -Xno-mips16-calls
# end of defs.mips
@@ -0,0 +1,22 @@
/* intrinsics.h - map INCLUDE_INTRINSICS to toolchain specific intrinsics */
/* Copyright 2001 Wind River Systems, Inc. */
/*
modification history
--------------------
01a,06feb02,sn wrote
*/
/*
DESCRIPTION
Map INCLUDE_INTRINSICS to INCLUDE_DIAB_INTRINSICS. Included when TOOL_FAMILY=diab.
NOMANUAL
*/
#ifdef INCLUDE_INTRINSICS
#ifndef INCLUDE_DIAB_INTRINSICS
#define INCLUDE_DIAB_INTRINSICS
#endif
#endif
@@ -0,0 +1,22 @@
# Makefile - makefile for regenerating Diab linker scripts from common template
#
# modification history
# --------------------
# 01a,05dec01,tpw written
#
# DESCRIPTION
# This file contains the makefile rules to regenerate cross-target linker
# scripts using the template system in tool/common/ldscripts.
#
#*/
TGT_DIR=$(WIND_BASE)/target
GEN_DIR=$(TGT_DIR)/h/tool/common/ldscripts
REGEN_SH=$(GEN_DIR)/regen.sh
TOOL=diab
regen all:
sh $(REGEN_SH) $(TOOL)
update:
sh $(REGEN_SH) -update $(TOOL)
@@ -0,0 +1,137 @@
/* link.ARMARCH4ROM - diab linker command file for VxWorks: ARMARCH4 ROM */
/* Copyright 2001-2012 Wind River Systems, Inc. */
/* This file was automatically generated using tool/common/ldscripts. */
/*
modification history
--------------------
02g,05jan12,my_ Place .copy.text and inflate.text into the .data
section for ARMARCH4
02f,06may10,slk updates for large memory model support
02e,12jan11,pgh Place .copy.text and inflate.text into the .data section
02d,09jul10,mcm Adding .wrs_build_vars for GNU as well.
02c,10mar10,gvm updates for icc
02b,16feb10,mcm Update to allow the 'AT' directive introduced for .boot and
.reset to be present for gnu only.
02a,15feb10,mcm Updates for GCC 4.3.3
01z,24jul09,pee adding wrs_build_vars section.
01y,13nov08,mcm Fix for WIND00143294 - gnu.linkonce.b sections not handled
correctly. Also added .bss.* and .sbss.*
01x,06may08,mcm Changes for GNU Dwarf EH
01w,16oct07,sn WIND00107939:fixed LMAs of .sdata etc. for Diab
01v,11jul07,pes Update and rename generation of .kseg0data segment. (Renamed
to .kseg0bss.) Add .rodata.cst16 segment.
01u,07jul07,mcm Fixing position of .tls* sections and adding support for tls
for GCC.
01t,08jun07,r_s add support for Small Data Area segments.
01s,09nov06,gvm Support for .tls_data, .tls_vars, and associated absolute
symbols in the Diab linker script
01r,25aug05,dlk Support .text.init, .text.fast, .data.init, .data.fast.
01r,29jul05,slk SPR 104264: fix MIPS romResident images
01q,06may05,rlg changes for MIPS specific devices
01p,03jul04,f_b Improved support for data alignment
01o,12dec03,sn added more .rodata.str1.* handlers
01n,04dec03,sn Diab: .rodata.* is not handled correctly by Diab linker; instead
use specific names
01m,28oct03,sn Diab: collapse .rodata.cst* sections into .rodata
01l,29may02,tpw Diab: pad out sections, needed for MIPS byteswap. SPR 78076
01k,24apr02,sn GNU: SPR 75835 - added support for relocatable script link.OUT
01j,19apr02,tpw Diab: provide _etext for ColdFire. SPR 75122
01i,06feb02,sn Both: place .got2 to handle tramp.o (_x_gnu_tramp.o).
01h,25jan02,tpw GNU: give debug sections explicit 0 addresses.
01g,14jan02,tpw Diab: place .eh_frame data, in case of insistent GNU objects.
01f,14dec01,tpw Diab: provide both underscore options of wrs_kernel* here too.
01e,05dec01,tpw Both: Add .boot and .reset section support, for PPC 4xx series
and Book E.
01d,05dec01,tpw Diab: Add .frame_info section to text region.
01c,03dec01,jab Diab: replaced LOAD() with AT()
01b,14nov01,tpw ALL: Correct some more bootrom/kernel issues.
01b,06nov01,tpw GNU: Add /DISCARD/ directive to discard uninteresting sections
01a,01nov01,tpw gnu script written
01a,29oct01,jab diab script written
*/
SECTIONS {
GROUP BIND(_VX_START_TEXT) : {
.text (TEXT) : {
wrs_kernel_text_start = .; _wrs_kernel_text_start = .;
*(.text)
wrs_kernel_text_fast = .; _wrs_kernel_text_fast = .;
*(.text.fast)
wrs_kernel_text_init = .; _wrs_kernel_text_init = .;
*(.text.init)
*(.rdata) *(.rodata) *(.rodata.cst16) *(.rodata.cst8) *(.rodata.cst4) *(.rodata.str1.1) *(.rodata.str1.2) *(.rodata.str1.4) *(.rodata.str1.8) *(.rodata.str1.16) *(.rodata.str1.32) *(.rodata.str1.64) *(.rodata.str1.128) *(.rodata.str1.256)
*(.init) *(.fini)
*(.frame_info)
. = ((. + 3) & ~3);
}
.wrs_build_vars (CONST) : {
*(.wrs_build_vars)
. = ((. + 3) & ~3);
}
.sdata2 (TEXT) : {
*(.sdata2)
. = ((. + 3) & ~3);
}
. = ((. + 3) & ~3);
etext = .; _etext = .;
wrs_kernel_text_end = .; _wrs_kernel_text_end = .;
}
GROUP BIND(_VX_START_DATA) : {
.data (DATA) AT(etext) : {
wrs_kernel_copy_text_start = .;
*(.copy.text)
wrs_kernel_copy_text_end = .;
*(.inflate.text)
wrs_kernel_data_start = .; _wrs_kernel_data_start = .;
*(.data)
wrs_kernel_data_fast = .; _wrs_kernel_data_fast = .;
*(.data.fast)
wrs_kernel_data_init = .; _wrs_kernel_data_init = .;
*(.data.init)
*(.eh_frame) /* Some GNU objects insist on having .eh_frame data. */
*(.ctors)
*(.dtors)
*(.got2)
. = ((. + 3) & ~3);
}
wrs_kernel_tls_data_start = .; _wrs_kernel_tls_data_start = .;
.tls_data (DATA) AT(etext + ADDR(.tls_data) - ADDR(.data)) : {
*(.tls_data)
}
wrs_kernel_tls_data_size = . - wrs_kernel_tls_data_start; _wrs_kernel_tls_data_size = . - _wrs_kernel_tls_data_start;
wrs_kernel_tls_data_align = ALIGNOF(.tls_data); _wrs_kernel_tls_data_align = ALIGNOF(.tls_data);
wrs_kernel_tls_vars_start = .; _wrs_kernel_tls_vars_start = .;
.tls_vars (DATA) AT(etext + ADDR(.tls_vars) - ADDR(.data)) : {
*(.tls_vars)
}
wrs_kernel_tls_vars_size = RAWSIZEOF(.tls_vars); _wrs_kernel_tls_vars_size = RAWSIZEOF(.tls_vars);
. = ((. + 3) & ~3);
/* set gp for MIPS startup code */
_gp = ((. + 15) & ~15) + 0x7ff0;
.sdata (DATA) AT(etext + ADDR(.sdata) - ADDR(.data)) : {
*(.sdata)
. = ((. + 3) & ~3);
}
. = ((. + 3) & ~3);
edata = .; _edata = .;
wrs_kernel_data_end = .; _wrs_kernel_data_end = .;
.sbss (BSS) AT(etext + ADDR(.sbss) - ADDR(.data)) : {
wrs_kernel_bss_start = .; _wrs_kernel_bss_start = .;
*(.sbss)
. = ((. + 3) & ~3);
}
.bss (BSS) AT(etext + ADDR(.bss) - ADDR(.data)) : {
*(.bss)
. = ((. + 3) & ~3);
}
. = ((. + 3) & ~3);
end = .; _end = .;
wrs_kernel_bss_end = .; _wrs_kernel_bss_end = .;
}
}
@@ -0,0 +1,143 @@
/* link.DOTBOOTRAM - diab linker command file for VxWorks: DOTBOOT RAM */
/* Copyright 2001-2013 Wind River Systems, Inc. */
/* This file was automatically generated using tool/common/ldscripts. */
/*
modification history
--------------------
02b,12mar13,gvm Fix for WIND00376986. Close alignment gap between _wrs_kernel_tls_vars_start and .tls_vars
02a,06may10,slk updates for large memory model support
02e,12jan11,pgh Place .copy.text and inflate.text into the .data section
02d,09jul10,mcm Adding .wrs_build_vars for GNU as well.
02c,10mar10,gvm updates for icc
02b,16feb10,mcm Update to allow the 'AT' directive introduced for .boot and
.reset to be present for gnu only.
02a,15feb10,mcm Updates for GCC 4.3.3
01z,24jul09,pee adding wrs_build_vars section.
01y,13nov08,mcm Fix for WIND00143294 - gnu.linkonce.b sections not handled
correctly. Also added .bss.* and .sbss.*
01x,06may08,mcm Changes for GNU Dwarf EH
01w,16oct07,sn WIND00107939:fixed LMAs of .sdata etc. for Diab
01v,11jul07,pes Update and rename generation of .kseg0data segment. (Renamed
to .kseg0bss.) Add .rodata.cst16 segment.
01u,07jul07,mcm Fixing position of .tls* sections and adding support for tls
for GCC.
01t,08jun07,r_s add support for Small Data Area segments.
01s,09nov06,gvm Support for .tls_data, .tls_vars, and associated absolute
symbols in the Diab linker script
01r,25aug05,dlk Support .text.init, .text.fast, .data.init, .data.fast.
01r,29jul05,slk SPR 104264: fix MIPS romResident images
01q,06may05,rlg changes for MIPS specific devices
01p,03jul04,f_b Improved support for data alignment
01o,12dec03,sn added more .rodata.str1.* handlers
01n,04dec03,sn Diab: .rodata.* is not handled correctly by Diab linker; instead
use specific names
01m,28oct03,sn Diab: collapse .rodata.cst* sections into .rodata
01l,29may02,tpw Diab: pad out sections, needed for MIPS byteswap. SPR 78076
01k,24apr02,sn GNU: SPR 75835 - added support for relocatable script link.OUT
01j,19apr02,tpw Diab: provide _etext for ColdFire. SPR 75122
01i,06feb02,sn Both: place .got2 to handle tramp.o (_x_gnu_tramp.o).
01h,25jan02,tpw GNU: give debug sections explicit 0 addresses.
01g,14jan02,tpw Diab: place .eh_frame data, in case of insistent GNU objects.
01f,14dec01,tpw Diab: provide both underscore options of wrs_kernel* here too.
01e,05dec01,tpw Both: Add .boot and .reset section support, for PPC 4xx series
and Book E.
01d,05dec01,tpw Diab: Add .frame_info section to text region.
01c,03dec01,jab Diab: replaced LOAD() with AT()
01b,14nov01,tpw ALL: Correct some more bootrom/kernel issues.
01b,06nov01,tpw GNU: Add /DISCARD/ directive to discard uninteresting sections
01a,01nov01,tpw gnu script written
01a,29oct01,jab diab script written
*/
SECTIONS {
GROUP BIND(_VX_START_TEXT) : {
.text (TEXT) : {
wrs_kernel_text_start = .; _wrs_kernel_text_start = .;
*(.text)
wrs_kernel_text_fast = .; _wrs_kernel_text_fast = .;
*(.text.fast)
wrs_kernel_text_init = .; _wrs_kernel_text_init = .;
*(.text.init)
*(.rdata) *(.rodata) *(.rodata.cst16) *(.rodata.cst8) *(.rodata.cst4) *(.rodata.str1.1) *(.rodata.str1.2) *(.rodata.str1.4) *(.rodata.str1.8) *(.rodata.str1.16) *(.rodata.str1.32) *(.rodata.str1.64) *(.rodata.str1.128) *(.rodata.str1.256)
*(.init) *(.fini)
*(.frame_info)
. = ((. + 3) & ~3);
}
.wrs_build_vars (CONST) : {
*(.wrs_build_vars)
. = ((. + 3) & ~3);
}
.sdata2 (TEXT) : {
*(.sdata2)
. = ((. + 3) & ~3);
}
. = ((. + 3) & ~3);
etext = .; _etext = .;
wrs_kernel_text_end = .; _wrs_kernel_text_end = .;
}
GROUP BIND((etext + _VX_DATA_ALIGN - 1) & -_VX_DATA_ALIGN) : {
.data (DATA) : {
wrs_kernel_data_start = .; _wrs_kernel_data_start = .;
*(.data)
wrs_kernel_data_fast = .; _wrs_kernel_data_fast = .;
*(.data.fast)
wrs_kernel_data_init = .; _wrs_kernel_data_init = .;
*(.data.init)
*(.eh_frame) /* Some GNU objects insist on having .eh_frame data. */
*(.ctors)
*(.dtors)
*(.got2)
. = ((. + 3) & ~3);
}
wrs_kernel_tls_data_start = .; _wrs_kernel_tls_data_start = .;
.tls_data (DATA) : {
*(.tls_data)
}
wrs_kernel_tls_data_size = . - wrs_kernel_tls_data_start; _wrs_kernel_tls_data_size = . - _wrs_kernel_tls_data_start;
wrs_kernel_tls_data_align = ALIGNOF(.tls_data); _wrs_kernel_tls_data_align = ALIGNOF(.tls_data);
. = ((. + 7) & ~7);
wrs_kernel_tls_vars_start = .; _wrs_kernel_tls_vars_start = .;
.tls_vars (DATA) : {
*(.tls_vars)
}
wrs_kernel_tls_vars_size = RAWSIZEOF(.tls_vars); _wrs_kernel_tls_vars_size = RAWSIZEOF(.tls_vars);
. = ((. + 3) & ~3);
/* set gp for MIPS startup code */
_gp = ((. + 15) & ~15) + 0x7ff0;
.sdata (DATA) : {
*(.sdata)
. = ((. + 3) & ~3);
}
. = ((. + 3) & ~3);
edata = .; _edata = .;
wrs_kernel_data_end = .; _wrs_kernel_data_end = .;
.sbss (BSS) : {
wrs_kernel_bss_start = .; _wrs_kernel_bss_start = .;
*(.sbss)
. = ((. + 3) & ~3);
}
.bss (BSS) : {
*(.bss)
. = ((. + 3) & ~3);
}
. = ((. + 3) & ~3);
end = .; _end = .;
wrs_kernel_bss_end = .; _wrs_kernel_bss_end = .;
}
.boot BIND(wrs_kernel_text_start + wrs_kernel_rom_size - 0x800) :
{
*(.boot)
}
.reset BIND(wrs_kernel_text_start + wrs_kernel_rom_size - 4) :
{
*(.reset)
}
}
@@ -0,0 +1,143 @@
/* link.DOTBOOTROM - diab linker command file for VxWorks: DOTBOOT ROM */
/* Copyright 2001-2013 Wind River Systems, Inc. */
/* This file was automatically generated using tool/common/ldscripts. */
/*
modification history
--------------------
02b,12mar13,gvm Fix for WIND00376986. Close alignment gap between _wrs_kernel_tls_vars_start and .tls_vars
02a,06may10,slk updates for large memory model support
02e,12jan11,pgh Place .copy.text and inflate.text into the .data section
02d,09jul10,mcm Adding .wrs_build_vars for GNU as well.
02c,10mar10,gvm updates for icc
02b,16feb10,mcm Update to allow the 'AT' directive introduced for .boot and
.reset to be present for gnu only.
02a,15feb10,mcm Updates for GCC 4.3.3
01z,24jul09,pee adding wrs_build_vars section.
01y,13nov08,mcm Fix for WIND00143294 - gnu.linkonce.b sections not handled
correctly. Also added .bss.* and .sbss.*
01x,06may08,mcm Changes for GNU Dwarf EH
01w,16oct07,sn WIND00107939:fixed LMAs of .sdata etc. for Diab
01v,11jul07,pes Update and rename generation of .kseg0data segment. (Renamed
to .kseg0bss.) Add .rodata.cst16 segment.
01u,07jul07,mcm Fixing position of .tls* sections and adding support for tls
for GCC.
01t,08jun07,r_s add support for Small Data Area segments.
01s,09nov06,gvm Support for .tls_data, .tls_vars, and associated absolute
symbols in the Diab linker script
01r,25aug05,dlk Support .text.init, .text.fast, .data.init, .data.fast.
01r,29jul05,slk SPR 104264: fix MIPS romResident images
01q,06may05,rlg changes for MIPS specific devices
01p,03jul04,f_b Improved support for data alignment
01o,12dec03,sn added more .rodata.str1.* handlers
01n,04dec03,sn Diab: .rodata.* is not handled correctly by Diab linker; instead
use specific names
01m,28oct03,sn Diab: collapse .rodata.cst* sections into .rodata
01l,29may02,tpw Diab: pad out sections, needed for MIPS byteswap. SPR 78076
01k,24apr02,sn GNU: SPR 75835 - added support for relocatable script link.OUT
01j,19apr02,tpw Diab: provide _etext for ColdFire. SPR 75122
01i,06feb02,sn Both: place .got2 to handle tramp.o (_x_gnu_tramp.o).
01h,25jan02,tpw GNU: give debug sections explicit 0 addresses.
01g,14jan02,tpw Diab: place .eh_frame data, in case of insistent GNU objects.
01f,14dec01,tpw Diab: provide both underscore options of wrs_kernel* here too.
01e,05dec01,tpw Both: Add .boot and .reset section support, for PPC 4xx series
and Book E.
01d,05dec01,tpw Diab: Add .frame_info section to text region.
01c,03dec01,jab Diab: replaced LOAD() with AT()
01b,14nov01,tpw ALL: Correct some more bootrom/kernel issues.
01b,06nov01,tpw GNU: Add /DISCARD/ directive to discard uninteresting sections
01a,01nov01,tpw gnu script written
01a,29oct01,jab diab script written
*/
SECTIONS {
GROUP BIND(_VX_START_TEXT) : {
.text (TEXT) : {
wrs_kernel_text_start = .; _wrs_kernel_text_start = .;
*(.text)
wrs_kernel_text_fast = .; _wrs_kernel_text_fast = .;
*(.text.fast)
wrs_kernel_text_init = .; _wrs_kernel_text_init = .;
*(.text.init)
*(.rdata) *(.rodata) *(.rodata.cst16) *(.rodata.cst8) *(.rodata.cst4) *(.rodata.str1.1) *(.rodata.str1.2) *(.rodata.str1.4) *(.rodata.str1.8) *(.rodata.str1.16) *(.rodata.str1.32) *(.rodata.str1.64) *(.rodata.str1.128) *(.rodata.str1.256)
*(.init) *(.fini)
*(.frame_info)
. = ((. + 3) & ~3);
}
.wrs_build_vars (CONST) : {
*(.wrs_build_vars)
. = ((. + 3) & ~3);
}
.sdata2 (TEXT) : {
*(.sdata2)
. = ((. + 3) & ~3);
}
. = ((. + 3) & ~3);
etext = .; _etext = .;
wrs_kernel_text_end = .; _wrs_kernel_text_end = .;
}
GROUP BIND(_VX_START_DATA) : {
.data (DATA) AT(etext) : {
wrs_kernel_data_start = .; _wrs_kernel_data_start = .;
*(.data)
wrs_kernel_data_fast = .; _wrs_kernel_data_fast = .;
*(.data.fast)
wrs_kernel_data_init = .; _wrs_kernel_data_init = .;
*(.data.init)
*(.eh_frame) /* Some GNU objects insist on having .eh_frame data. */
*(.ctors)
*(.dtors)
*(.got2)
. = ((. + 3) & ~3);
}
wrs_kernel_tls_data_start = .; _wrs_kernel_tls_data_start = .;
.tls_data (DATA) AT(etext + ADDR(.tls_data) - ADDR(.data)) : {
*(.tls_data)
}
wrs_kernel_tls_data_size = . - wrs_kernel_tls_data_start; _wrs_kernel_tls_data_size = . - _wrs_kernel_tls_data_start;
wrs_kernel_tls_data_align = ALIGNOF(.tls_data); _wrs_kernel_tls_data_align = ALIGNOF(.tls_data);
. = ((. + 7) & ~7);
wrs_kernel_tls_vars_start = .; _wrs_kernel_tls_vars_start = .;
.tls_vars (DATA) AT(etext + ADDR(.tls_vars) - ADDR(.data)) : {
*(.tls_vars)
}
wrs_kernel_tls_vars_size = RAWSIZEOF(.tls_vars); _wrs_kernel_tls_vars_size = RAWSIZEOF(.tls_vars);
. = ((. + 3) & ~3);
/* set gp for MIPS startup code */
_gp = ((. + 15) & ~15) + 0x7ff0;
.sdata (DATA) AT(etext + ADDR(.sdata) - ADDR(.data)) : {
*(.sdata)
. = ((. + 3) & ~3);
}
. = ((. + 3) & ~3);
edata = .; _edata = .;
wrs_kernel_data_end = .; _wrs_kernel_data_end = .;
.sbss (BSS) AT(etext + ADDR(.sbss) - ADDR(.data)) : {
wrs_kernel_bss_start = .; _wrs_kernel_bss_start = .;
*(.sbss)
. = ((. + 3) & ~3);
}
.bss (BSS) AT(etext + ADDR(.bss) - ADDR(.data)) : {
*(.bss)
. = ((. + 3) & ~3);
}
. = ((. + 3) & ~3);
end = .; _end = .;
wrs_kernel_bss_end = .; _wrs_kernel_bss_end = .;
}
.boot BIND(wrs_kernel_text_start + wrs_kernel_rom_size - 0x800) :
{
*(.boot)
}
.reset BIND(wrs_kernel_text_start + wrs_kernel_rom_size - 4) :
{
*(.reset)
}
}
@@ -0,0 +1,179 @@
/* link.MIPSRAM - diab linker command file for VxWorks: MIPS RAM */
/* Copyright 2001-2013 Wind River Systems, Inc. */
/* This file was automatically generated using tool/common/ldscripts. */
/*
modification history
--------------------
02i,02apr13,g_x Add *(text.romentry) in the text segment for MIPS
(WIND00408686)
02h,12mar13,gvm Fix for WIND00376986. Close alignment gap
between _wrs_kernel_tls_vars_start and .tls_vars
02g,05jan12,my_ Place .copy.text and inflate.text into the .data
section for ARMARCH4
02f,06may10,slk updates for large memory model support
02e,12jan11,pgh Place .copy.text and inflate.text into the .data section
02d,09jul10,mcm Adding .wrs_build_vars for GNU as well.
02c,10mar10,gvm updates for icc
02b,16feb10,mcm Update to allow the 'AT' directive introduced for .boot and
.reset to be present for gnu only.
02a,15feb10,mcm Updates for GCC 4.3.3
01z,24jul09,pee adding wrs_build_vars section.
01y,13nov08,mcm Fix for WIND00143294 - gnu.linkonce.b sections not handled
correctly. Also added .bss.* and .sbss.*
01x,06may08,mcm Changes for GNU Dwarf EH
01w,16oct07,sn WIND00107939:fixed LMAs of .sdata etc. for Diab
01v,11jul07,pes Update and rename generation of .kseg0data segment. (Renamed
to .kseg0bss.) Add .rodata.cst16 segment.
01u,07jul07,mcm Fixing position of .tls* sections and adding support for tls
for GCC.
01t,08jun07,r_s add support for Small Data Area segments.
01s,09nov06,gvm Support for .tls_data, .tls_vars, and associated absolute
symbols in the Diab linker script
01r,25aug05,dlk Support .text.init, .text.fast, .data.init, .data.fast.
01r,29jul05,slk SPR 104264: fix MIPS romResident images
01q,06may05,rlg changes for MIPS specific devices
01p,03jul04,f_b Improved support for data alignment
01o,12dec03,sn added more .rodata.str1.* handlers
01n,04dec03,sn Diab: .rodata.* is not handled correctly by Diab linker;instead use specific names
01m,28oct03,sn Diab: collapse .rodata.cst* sections into .rodata
01l,29may02,tpw Diab: pad out sections, needed for MIPS byteswap. SPR 78076
01k,24apr02,sn GNU: SPR 75835 - added support for relocatable script link.OUT
01j,19apr02,tpw Diab: provide _etext for ColdFire. SPR 75122
01i,06feb02,sn Both: place .got2 to handle tramp.o (_x_gnu_tramp.o).
01h,25jan02,tpw GNU: give debug sections explicit 0 addresses.
01g,14jan02,tpw Diab: place .eh_frame data, in case of insistent GNU objects.
01f,14dec01,tpw Diab: provide both underscore options of wrs_kernel* here too.
01e,05dec01,tpw Both: Add .boot and .reset section support, for PPC 4xx series
and Book E.
01d,05dec01,tpw Diab: Add .frame_info section to text region.
01c,03dec01,jab Diab: replaced LOAD() with AT()
01b,14nov01,tpw ALL: Correct some more bootrom/kernel issues.
01b,06nov01,tpw GNU: Add /DISCARD/ directive to discard uninteresting sections
01a,01nov01,tpw gnu script written
01a,29oct01,jab diab script written
*/
SECTIONS {
GROUP BIND(_VX_START_TEXT) : {
.text (TEXT) : {
wrs_kernel_text_start = .; _wrs_kernel_text_start = .;
*(.text.romentry)
*(.text.wired)
*(.text)
wrs_kernel_text_fast = .; _wrs_kernel_text_fast = .;
*(.text.fast)
wrs_kernel_text_init = .; _wrs_kernel_text_init = .;
*(.text.init)
*(.rdata) *(.rodata) *(.rodata.cst16) *(.rodata.cst8) *(.rodata.cst4) *(.rodata.str1.1) *(.rodata.str1.2) *(.rodata.str1.4) *(.rodata.str1.8) *(.rodata.str1.16) *(.rodata.str1.32) *(.rodata.str1.64) *(.rodata.str1.128) *(.rodata.str1.256)
*(.init) *(.fini)
*(.frame_info)
. = ((. + 3) & ~3);
}
.wrs_build_vars (CONST) : {
*(.wrs_build_vars)
. = ((. + 3) & ~3);
}
.sdata2 (TEXT) : {
*(.sdata2)
. = ((. + 3) & ~3);
}
. = ((. + 3) & ~3);
etext = .; _etext = .;
wrs_kernel_text_end = .; _wrs_kernel_text_end = .;
}
GROUP BIND((etext + _VX_DATA_ALIGN - 1) & -_VX_DATA_ALIGN) : {
.data (DATA) : {
wrs_kernel_data_start = .; _wrs_kernel_data_start = .;
*(.data)
wrs_kernel_data_fast = .; _wrs_kernel_data_fast = .;
*(.data.fast)
wrs_kernel_data_init = .; _wrs_kernel_data_init = .;
*(.data.init)
*(.eh_frame) /* Some GNU objects insist on having .eh_frame data. */
*(.ctors)
*(.dtors)
*(.got2)
. = ((. + 3) & ~3);
}
wrs_kernel_tls_data_start = .; _wrs_kernel_tls_data_start = .;
.tls_data (DATA) : {
*(.tls_data)
}
wrs_kernel_tls_data_size = . - wrs_kernel_tls_data_start; _wrs_kernel_tls_data_size = . - _wrs_kernel_tls_data_start;
wrs_kernel_tls_data_align = ALIGNOF(.tls_data); _wrs_kernel_tls_data_align = ALIGNOF(.tls_data);
. = ((. + 7) & ~7);
wrs_kernel_tls_vars_start = .; _wrs_kernel_tls_vars_start = .;
.tls_vars (DATA) : {
*(.tls_vars)
}
wrs_kernel_tls_vars_size = RAWSIZEOF(.tls_vars); _wrs_kernel_tls_vars_size = RAWSIZEOF(.tls_vars);
. = ((. + 3) & ~3);
/* set gp for MIPS startup code */
_gp = ((. + 15) & ~15) + 0x7ff0;
_SDA_BASE_ = _gp;
.sdata (DATA) : {
*(.sdata)
. = ((. + 3) & ~3);
}
. = ((. + 3) & ~3);
edata = .; _edata = .;
wrs_kernel_data_end = .; _wrs_kernel_data_end = .;
.sbss (BSS) : {
wrs_kernel_bss_start = .; _wrs_kernel_bss_start = .;
*(.sbss)
. = ((. + 3) & ~3);
}
.bss (BSS) : {
*(.bss)
. = ((. + 3) & ~3);
}
. = ((. + 255) & ~255);
/* add sizeof .kseg0bss to end and _end if it follows .bss section */
endAdd = LMM_ENABLED == 0 ? SIZEOF(.kseg0bss) : 0x0;
end = . + endAdd; _end = . + endAdd;
wrs_kernel_bss_end = .; _wrs_kernel_bss_end = .;
}
/* if LMM_ENABLED == 0 then this GROUP is legacy mode.
* legacy mode requires the .kseg0bss section be located at
* (wrs_kernel_bss_end & 0xbfffffff). the other sections in this
* group are not defined for legacy mode so they will not be included
* in the image
*
* if LMM_ENABLED != 0 then the GROUP should be
* located at the address specified by _VX_START_EXCPT_BASE.
*/
_VX_START_EXCPT_ADRS = LMM_ENABLED==0?wrs_kernel_bss_end & 0xbfffffff :_VX_START_EXCPT_BASE;
GROUP BIND(_VX_START_EXCPT_ADRS) :{
wrs_unmapped_text_start = .;
.vectors.text (TEXT) : {
*(.vectors.text)
}
.unmapped.text (TEXT) : {
*(.unmapped.text)
}
wrs_unmapped_text_end = .;
. = ((. + 31) & ~31);
wrs_unmapped_data_start = .;
.unmapped.data (DATA) : {
wrs_unmapped_data_start = .;
*(.unmapped.data)
}
wrs_unmapped_data_end = .;
. = ((. + 15) & ~15);
wrs_unmapped_bss_start = .;
.kseg0bss (BSS) : {
*(.kseg0bss)
}
wrs_unmapped_bss_end = .;
. = ((. + 15) & ~15);
}
}
@@ -0,0 +1,172 @@
/* link.MIPSROM - diab linker command file for VxWorks: MIPS ROM */
/* Copyright 2001-2013 Wind River Systems, Inc. */
/* This file was automatically generated using tool/common/ldscripts. */
/*
modification history
--------------------
02i,02apr13,g_x Add *(text.romentry) in the text segment for MIPS
(WIND00408686)
02h,12mar13,gvm Fix for WIND00376986. Close alignment gap
between _wrs_kernel_tls_vars_start and .tls_vars
02g,05jan12,my_ Place .copy.text and inflate.text into the .data
section for ARMARCH4
02f,06may10,slk updates for large memory model support
02e,12jan11,pgh Place .copy.text and inflate.text into the .data section
02d,09jul10,mcm Adding .wrs_build_vars for GNU as well.
02c,10mar10,gvm updates for icc
02b,16feb10,mcm Update to allow the 'AT' directive introduced for .boot and
.reset to be present for gnu only.
02a,15feb10,mcm Updates for GCC 4.3.3
01z,24jul09,pee adding wrs_build_vars section.
01y,13nov08,mcm Fix for WIND00143294 - gnu.linkonce.b sections not handled
correctly. Also added .bss.* and .sbss.*
01x,06may08,mcm Changes for GNU Dwarf EH
01w,16oct07,sn WIND00107939:fixed LMAs of .sdata etc. for Diab
01v,11jul07,pes Update and rename generation of .kseg0data segment. (Renamed
to .kseg0bss.) Add .rodata.cst16 segment.
01u,07jul07,mcm Fixing position of .tls* sections and adding support for tls
for GCC.
01t,08jun07,r_s add support for Small Data Area segments.
01s,09nov06,gvm Support for .tls_data, .tls_vars, and associated absolute
symbols in the Diab linker script
01r,25aug05,dlk Support .text.init, .text.fast, .data.init, .data.fast.
01r,29jul05,slk SPR 104264: fix MIPS romResident images
01q,06may05,rlg changes for MIPS specific devices
01p,03jul04,f_b Improved support for data alignment
01o,12dec03,sn added more .rodata.str1.* handlers
01n,04dec03,sn Diab: .rodata.* is not handled correctly by Diab linker;instead use specific names
01m,28oct03,sn Diab: collapse .rodata.cst* sections into .rodata
01l,29may02,tpw Diab: pad out sections, needed for MIPS byteswap. SPR 78076
01k,24apr02,sn GNU: SPR 75835 - added support for relocatable script link.OUT
01j,19apr02,tpw Diab: provide _etext for ColdFire. SPR 75122
01i,06feb02,sn Both: place .got2 to handle tramp.o (_x_gnu_tramp.o).
01h,25jan02,tpw GNU: give debug sections explicit 0 addresses.
01g,14jan02,tpw Diab: place .eh_frame data, in case of insistent GNU objects.
01f,14dec01,tpw Diab: provide both underscore options of wrs_kernel* here too.
01e,05dec01,tpw Both: Add .boot and .reset section support, for PPC 4xx series
and Book E.
01d,05dec01,tpw Diab: Add .frame_info section to text region.
01c,03dec01,jab Diab: replaced LOAD() with AT()
01b,14nov01,tpw ALL: Correct some more bootrom/kernel issues.
01b,06nov01,tpw GNU: Add /DISCARD/ directive to discard uninteresting sections
01a,01nov01,tpw gnu script written
01a,29oct01,jab diab script written
*/
SECTIONS {
LMM_ENABLED = 0;
GROUP BIND(_VX_START_TEXT) : {
.text (TEXT) : {
wrs_kernel_text_start = .; _wrs_kernel_text_start = .;
*(.text.romentry)
*(.text)
*(.text.wired)
wrs_kernel_text_fast = .; _wrs_kernel_text_fast = .;
*(.text.fast)
wrs_kernel_text_init = .; _wrs_kernel_text_init = .;
*(.text.init)
*(.rdata) *(.rodata) *(.rodata.cst16) *(.rodata.cst8) *(.rodata.cst4) *(.rodata.str1.1) *(.rodata.str1.2) *(.rodata.str1.4) *(.rodata.str1.8) *(.rodata.str1.16) *(.rodata.str1.32) *(.rodata.str1.64) *(.rodata.str1.128) *(.rodata.str1.256)
*(.init) *(.fini)
*(.frame_info)
. = ((. + 3) & ~3);
}
.wrs_build_vars (CONST) : {
*(.wrs_build_vars)
. = ((. + 3) & ~3);
}
.sdata2 (TEXT) : {
*(.sdata2)
. = ((. + 3) & ~3);
}
. = ((. + 3) & ~3);
etext = .; _etext = .;
wrs_kernel_text_end = .; _wrs_kernel_text_end = .;
}
GROUP BIND(_VX_START_DATA) : {
.data (DATA) AT(etext) : {
wrs_kernel_copy_text_start = .;
*(.copy.text)
wrs_kernel_copy_text_end = .;
*(.inflate.text)
wrs_kernel_data_start = .; _wrs_kernel_data_start = .;
*(.data)
wrs_kernel_data_fast = .; _wrs_kernel_data_fast = .;
*(.data.fast)
wrs_kernel_data_init = .; _wrs_kernel_data_init = .;
*(.data.init)
*(.eh_frame) /* Some GNU objects insist on having .eh_frame data. */
*(.ctors)
*(.dtors)
*(.got2)
. = ((. + 3) & ~3);
}
wrs_kernel_tls_data_start = .; _wrs_kernel_tls_data_start = .;
.tls_data (DATA) AT(etext + ADDR(.tls_data) - ADDR(.data)) : {
*(.tls_data)
}
wrs_kernel_tls_data_size = . - wrs_kernel_tls_data_start; _wrs_kernel_tls_data_size = . - _wrs_kernel_tls_data_start;
wrs_kernel_tls_data_align = ALIGNOF(.tls_data); _wrs_kernel_tls_data_align = ALIGNOF(.tls_data);
. = ((. + 7) & ~7);
wrs_kernel_tls_vars_start = .; _wrs_kernel_tls_vars_start = .;
.tls_vars (DATA) AT(etext + ADDR(.tls_vars) - ADDR(.data)) : {
*(.tls_vars)
}
wrs_kernel_tls_vars_size = RAWSIZEOF(.tls_vars); _wrs_kernel_tls_vars_size = RAWSIZEOF(.tls_vars);
. = ((. + 3) & ~3);
/* set gp for MIPS startup code */
_gp = ((. + 15) & ~15) + 0x7ff0;
_SDA_BASE_ = _gp;
.sdata (DATA) AT(etext + ADDR(.sdata) - ADDR(.data)) : {
*(.sdata)
. = ((. + 3) & ~3);
}
. = ((. + 3) & ~3);
edata = .; _edata = .;
wrs_kernel_data_end = .; _wrs_kernel_data_end = .;
.sbss (BSS) AT(etext + ADDR(.sbss) - ADDR(.data)) : {
wrs_kernel_bss_start = .; _wrs_kernel_bss_start = .;
*(.sbss)
. = ((. + 3) & ~3);
}
.bss (BSS) AT(etext + ADDR(.bss) - ADDR(.data)) : {
*(.bss)
. = ((. + 3) & ~3);
}
. = ((. + 255) & ~255);
/* add sizeof .kseg0bss to end and _end if it follows .bss section */
endAdd = LMM_ENABLED == 0 ? SIZEOF(.kseg0bss) : 0x0;
end = . + endAdd; _end = . + endAdd;
wrs_kernel_bss_end = .; _wrs_kernel_bss_end = .;
}
_VX_START_EXCPT_ADRS = wrs_kernel_bss_end & 0xbfffffff;
GROUP BIND(_VX_START_EXCPT_ADRS) :
{
wrs_unmapped_text_start = .;
.vectors.text (TEXT) : {
*(.vectors.text)
}
.unmapped.text (TEXT) : {
*(.unmapped.text)
}
wrs_unmapped_text_end = .;
. = ((. + 31) & ~31);
wrs_unmapped_data_start = .;
.unmapped.data (DATA) : {
wrs_unmapped_data_start = .;
*(.unmapped.data)
}
wrs_unmapped_data_end = .;
. = ((. + 15) & ~15);
wrs_unmapped_bss_start = .;
.kseg0bss (BSS) : {
*(.kseg0bss)
}
wrs_unmapped_bss_end = .;
. = ((. + 15) & ~15);
}
}
@@ -0,0 +1,134 @@
/* link.RAM - diab linker command file for VxWorks: RAM */
/* Copyright 2001-2013 Wind River Systems, Inc. */
/* This file was automatically generated using tool/common/ldscripts. */
/*
modification history
--------------------
02b,12mar13,gvm Fix for WIND00376986. Close alignment gap between _wrs_kernel_tls_vars_start and .tls_vars
02a,06may10,slk updates for large memory model support
02e,12jan11,pgh Place .copy.text and inflate.text into the .data section
02d,09jul10,mcm Adding .wrs_build_vars for GNU as well.
02c,10mar10,gvm updates for icc
02b,16feb10,mcm Update to allow the 'AT' directive introduced for .boot and
.reset to be present for gnu only.
02a,15feb10,mcm Updates for GCC 4.3.3
01z,24jul09,pee adding wrs_build_vars section.
01y,13nov08,mcm Fix for WIND00143294 - gnu.linkonce.b sections not handled
correctly. Also added .bss.* and .sbss.*
01x,06may08,mcm Changes for GNU Dwarf EH
01w,16oct07,sn WIND00107939:fixed LMAs of .sdata etc. for Diab
01v,11jul07,pes Update and rename generation of .kseg0data segment. (Renamed
to .kseg0bss.) Add .rodata.cst16 segment.
01u,07jul07,mcm Fixing position of .tls* sections and adding support for tls
for GCC.
01t,08jun07,r_s add support for Small Data Area segments.
01s,09nov06,gvm Support for .tls_data, .tls_vars, and associated absolute
symbols in the Diab linker script
01r,25aug05,dlk Support .text.init, .text.fast, .data.init, .data.fast.
01r,29jul05,slk SPR 104264: fix MIPS romResident images
01q,06may05,rlg changes for MIPS specific devices
01p,03jul04,f_b Improved support for data alignment
01o,12dec03,sn added more .rodata.str1.* handlers
01n,04dec03,sn Diab: .rodata.* is not handled correctly by Diab linker; instead
use specific names
01m,28oct03,sn Diab: collapse .rodata.cst* sections into .rodata
01l,29may02,tpw Diab: pad out sections, needed for MIPS byteswap. SPR 78076
01k,24apr02,sn GNU: SPR 75835 - added support for relocatable script link.OUT
01j,19apr02,tpw Diab: provide _etext for ColdFire. SPR 75122
01i,06feb02,sn Both: place .got2 to handle tramp.o (_x_gnu_tramp.o).
01h,25jan02,tpw GNU: give debug sections explicit 0 addresses.
01g,14jan02,tpw Diab: place .eh_frame data, in case of insistent GNU objects.
01f,14dec01,tpw Diab: provide both underscore options of wrs_kernel* here too.
01e,05dec01,tpw Both: Add .boot and .reset section support, for PPC 4xx series
and Book E.
01d,05dec01,tpw Diab: Add .frame_info section to text region.
01c,03dec01,jab Diab: replaced LOAD() with AT()
01b,14nov01,tpw ALL: Correct some more bootrom/kernel issues.
01b,06nov01,tpw GNU: Add /DISCARD/ directive to discard uninteresting sections
01a,01nov01,tpw gnu script written
01a,29oct01,jab diab script written
*/
SECTIONS {
GROUP BIND(_VX_START_TEXT) : {
.text (TEXT) : {
wrs_kernel_text_start = .; _wrs_kernel_text_start = .;
*(.text)
wrs_kernel_text_fast = .; _wrs_kernel_text_fast = .;
*(.text.fast)
wrs_kernel_text_init = .; _wrs_kernel_text_init = .;
*(.text.init)
*(.rdata) *(.rodata) *(.rodata.cst16) *(.rodata.cst8) *(.rodata.cst4) *(.rodata.str1.1) *(.rodata.str1.2) *(.rodata.str1.4) *(.rodata.str1.8) *(.rodata.str1.16) *(.rodata.str1.32) *(.rodata.str1.64) *(.rodata.str1.128) *(.rodata.str1.256)
*(.init) *(.fini)
*(.frame_info)
. = ((. + 3) & ~3);
}
.wrs_build_vars (CONST) : {
*(.wrs_build_vars)
. = ((. + 3) & ~3);
}
.sdata2 (TEXT) : {
*(.sdata2)
. = ((. + 3) & ~3);
}
. = ((. + 3) & ~3);
etext = .; _etext = .;
wrs_kernel_text_end = .; _wrs_kernel_text_end = .;
}
GROUP BIND((etext + _VX_DATA_ALIGN - 1) & -_VX_DATA_ALIGN) : {
.data (DATA) : {
wrs_kernel_data_start = .; _wrs_kernel_data_start = .;
*(.data)
wrs_kernel_data_fast = .; _wrs_kernel_data_fast = .;
*(.data.fast)
wrs_kernel_data_init = .; _wrs_kernel_data_init = .;
*(.data.init)
*(.eh_frame) /* Some GNU objects insist on having .eh_frame data. */
*(.ctors)
*(.dtors)
*(.got2)
. = ((. + 3) & ~3);
}
wrs_kernel_tls_data_start = .; _wrs_kernel_tls_data_start = .;
.tls_data (DATA) : {
*(.tls_data)
}
wrs_kernel_tls_data_size = . - wrs_kernel_tls_data_start; _wrs_kernel_tls_data_size = . - _wrs_kernel_tls_data_start;
wrs_kernel_tls_data_align = ALIGNOF(.tls_data); _wrs_kernel_tls_data_align = ALIGNOF(.tls_data);
. = ((. + 7) & ~7);
wrs_kernel_tls_vars_start = .; _wrs_kernel_tls_vars_start = .;
.tls_vars (DATA) : {
*(.tls_vars)
}
wrs_kernel_tls_vars_size = RAWSIZEOF(.tls_vars); _wrs_kernel_tls_vars_size = RAWSIZEOF(.tls_vars);
. = ((. + 3) & ~3);
/* set gp for MIPS startup code */
_gp = ((. + 15) & ~15) + 0x7ff0;
.sdata (DATA) : {
*(.sdata)
. = ((. + 3) & ~3);
}
. = ((. + 3) & ~3);
edata = .; _edata = .;
wrs_kernel_data_end = .; _wrs_kernel_data_end = .;
.sbss (BSS) : {
wrs_kernel_bss_start = .; _wrs_kernel_bss_start = .;
*(.sbss)
. = ((. + 3) & ~3);
}
.bss (BSS) : {
*(.bss)
. = ((. + 3) & ~3);
}
. = ((. + 3) & ~3);
end = .; _end = .;
wrs_kernel_bss_end = .; _wrs_kernel_bss_end = .;
}
}
@@ -0,0 +1,134 @@
/* link.ROM - diab linker command file for VxWorks: ROM */
/* Copyright 2001-2013 Wind River Systems, Inc. */
/* This file was automatically generated using tool/common/ldscripts. */
/*
modification history
--------------------
02b,12mar13,gvm Fix for WIND00376986. Close alignment gap between _wrs_kernel_tls_vars_start and .tls_vars
02a,06may10,slk updates for large memory model support
02e,12jan11,pgh Place .copy.text and inflate.text into the .data section
02d,09jul10,mcm Adding .wrs_build_vars for GNU as well.
02c,10mar10,gvm updates for icc
02b,16feb10,mcm Update to allow the 'AT' directive introduced for .boot and
.reset to be present for gnu only.
02a,15feb10,mcm Updates for GCC 4.3.3
01z,24jul09,pee adding wrs_build_vars section.
01y,13nov08,mcm Fix for WIND00143294 - gnu.linkonce.b sections not handled
correctly. Also added .bss.* and .sbss.*
01x,06may08,mcm Changes for GNU Dwarf EH
01w,16oct07,sn WIND00107939:fixed LMAs of .sdata etc. for Diab
01v,11jul07,pes Update and rename generation of .kseg0data segment. (Renamed
to .kseg0bss.) Add .rodata.cst16 segment.
01u,07jul07,mcm Fixing position of .tls* sections and adding support for tls
for GCC.
01t,08jun07,r_s add support for Small Data Area segments.
01s,09nov06,gvm Support for .tls_data, .tls_vars, and associated absolute
symbols in the Diab linker script
01r,25aug05,dlk Support .text.init, .text.fast, .data.init, .data.fast.
01r,29jul05,slk SPR 104264: fix MIPS romResident images
01q,06may05,rlg changes for MIPS specific devices
01p,03jul04,f_b Improved support for data alignment
01o,12dec03,sn added more .rodata.str1.* handlers
01n,04dec03,sn Diab: .rodata.* is not handled correctly by Diab linker; instead
use specific names
01m,28oct03,sn Diab: collapse .rodata.cst* sections into .rodata
01l,29may02,tpw Diab: pad out sections, needed for MIPS byteswap. SPR 78076
01k,24apr02,sn GNU: SPR 75835 - added support for relocatable script link.OUT
01j,19apr02,tpw Diab: provide _etext for ColdFire. SPR 75122
01i,06feb02,sn Both: place .got2 to handle tramp.o (_x_gnu_tramp.o).
01h,25jan02,tpw GNU: give debug sections explicit 0 addresses.
01g,14jan02,tpw Diab: place .eh_frame data, in case of insistent GNU objects.
01f,14dec01,tpw Diab: provide both underscore options of wrs_kernel* here too.
01e,05dec01,tpw Both: Add .boot and .reset section support, for PPC 4xx series
and Book E.
01d,05dec01,tpw Diab: Add .frame_info section to text region.
01c,03dec01,jab Diab: replaced LOAD() with AT()
01b,14nov01,tpw ALL: Correct some more bootrom/kernel issues.
01b,06nov01,tpw GNU: Add /DISCARD/ directive to discard uninteresting sections
01a,01nov01,tpw gnu script written
01a,29oct01,jab diab script written
*/
SECTIONS {
GROUP BIND(_VX_START_TEXT) : {
.text (TEXT) : {
wrs_kernel_text_start = .; _wrs_kernel_text_start = .;
*(.text)
wrs_kernel_text_fast = .; _wrs_kernel_text_fast = .;
*(.text.fast)
wrs_kernel_text_init = .; _wrs_kernel_text_init = .;
*(.text.init)
*(.rdata) *(.rodata) *(.rodata.cst16) *(.rodata.cst8) *(.rodata.cst4) *(.rodata.str1.1) *(.rodata.str1.2) *(.rodata.str1.4) *(.rodata.str1.8) *(.rodata.str1.16) *(.rodata.str1.32) *(.rodata.str1.64) *(.rodata.str1.128) *(.rodata.str1.256)
*(.init) *(.fini)
*(.frame_info)
. = ((. + 3) & ~3);
}
.wrs_build_vars (CONST) : {
*(.wrs_build_vars)
. = ((. + 3) & ~3);
}
.sdata2 (TEXT) : {
*(.sdata2)
. = ((. + 3) & ~3);
}
. = ((. + 3) & ~3);
etext = .; _etext = .;
wrs_kernel_text_end = .; _wrs_kernel_text_end = .;
}
GROUP BIND(_VX_START_DATA) : {
.data (DATA) AT(etext) : {
wrs_kernel_data_start = .; _wrs_kernel_data_start = .;
*(.data)
wrs_kernel_data_fast = .; _wrs_kernel_data_fast = .;
*(.data.fast)
wrs_kernel_data_init = .; _wrs_kernel_data_init = .;
*(.data.init)
*(.eh_frame) /* Some GNU objects insist on having .eh_frame data. */
*(.ctors)
*(.dtors)
*(.got2)
. = ((. + 3) & ~3);
}
wrs_kernel_tls_data_start = .; _wrs_kernel_tls_data_start = .;
.tls_data (DATA) AT(etext + ADDR(.tls_data) - ADDR(.data)) : {
*(.tls_data)
}
wrs_kernel_tls_data_size = . - wrs_kernel_tls_data_start; _wrs_kernel_tls_data_size = . - _wrs_kernel_tls_data_start;
wrs_kernel_tls_data_align = ALIGNOF(.tls_data); _wrs_kernel_tls_data_align = ALIGNOF(.tls_data);
. = ((. + 7) & ~7);
wrs_kernel_tls_vars_start = .; _wrs_kernel_tls_vars_start = .;
.tls_vars (DATA) AT(etext + ADDR(.tls_vars) - ADDR(.data)) : {
*(.tls_vars)
}
wrs_kernel_tls_vars_size = RAWSIZEOF(.tls_vars); _wrs_kernel_tls_vars_size = RAWSIZEOF(.tls_vars);
. = ((. + 3) & ~3);
/* set gp for MIPS startup code */
_gp = ((. + 15) & ~15) + 0x7ff0;
.sdata (DATA) AT(etext + ADDR(.sdata) - ADDR(.data)) : {
*(.sdata)
. = ((. + 3) & ~3);
}
. = ((. + 3) & ~3);
edata = .; _edata = .;
wrs_kernel_data_end = .; _wrs_kernel_data_end = .;
.sbss (BSS) AT(etext + ADDR(.sbss) - ADDR(.data)) : {
wrs_kernel_bss_start = .; _wrs_kernel_bss_start = .;
*(.sbss)
. = ((. + 3) & ~3);
}
.bss (BSS) AT(etext + ADDR(.bss) - ADDR(.data)) : {
*(.bss)
. = ((. + 3) & ~3);
}
. = ((. + 3) & ~3);
end = .; _end = .;
wrs_kernel_bss_end = .; _wrs_kernel_bss_end = .;
}
}
+28
View File
@@ -0,0 +1,28 @@
#define CHAR_BIT 8
#if defined(__ppc) || defined(__rce) || defined(__arm)
#define CHAR_MAX UCHAR_MAX
#define CHAR_MIN 0
#else
#define CHAR_MAX SCHAR_MAX
#define CHAR_MIN SCHAR_MIN
#endif
#define MB_LEN_MAX 5
#define INT_MAX 2147483647
#define INT_MIN (-2147483647-1)
#define LONG_MAX 2147483647L
#define LONG_MIN (-2147483647L-1L)
#define SCHAR_MAX 127
#define SCHAR_MIN (-128)
#define SHRT_MAX 32767
#define SHRT_MIN (-32768)
#define UCHAR_MAX 255
#define UINT_MAX 4294967295U
#define ULONG_MAX 4294967295LU
#define USHRT_MAX 65535
#if defined(_WRS_KERNEL)
#define WCHAR_MIN 0
#define WCHAR_MAX USHRT_MAX
#define WINT_MIN INT_MIN
#define WINT_MAX INT_MAX
#endif /* _WRS_KERNEL */
@@ -0,0 +1,31 @@
# make.ARMARCH4diab - Diab compilation tools definitions for ARMARCH4
#
# modification history
# --------------------
# 01j,12dec11,my_ Add fast load support
# 01i,25jun08,pee VSB
# 01h,30sep03,sn changed :vxworks55 to :$(DIAB_T_ENVIRON)
# 01g,14jan02,to move 'include defs.arm' after TOOL and CPU definitions to be
# consistent with gnu ones
# 01f,18dec01,to move common definitions to defs.arm
# 01e,05dec01,jab change :tornado, :simple ,etc. to :vxworks55
# 01d,16nov01,t_m Change sysInit entry
# 01c,08nov01,t_m Remove CC_ARCH_SPEC and TGT_FLAG
# 01b,07nov01,tam removed extra space and added TOOL def
# 01a,06nov01,tpw Add %.old rule to facilitate conversions to old OMFs
#
# DESCRIPTION
# This file contains ARMARCH4 specific definitions and flags for the
# Diab tools (compiler, assembler, linker etc.)
#
CPU = ARMARCH4
TOOL = diab
include $(TGT_DIR)/h/tool/diab/defs.arm
LD_SCRIPT_ROM = $(TGT_DIR)/h/tool/diab/ldscripts/link.ARMARCH4ROM
TGT_FLAG = -tARM$(TGT_FLAG_ENDIAN)S:$(DIAB_T_ENVIRON)
# end of make.ARMARCH4diab
@@ -0,0 +1,25 @@
# make.ARMARCH4diabbe - Diab compilation tools definitions for ARMARCH4
#
# modification history
# --------------------
# 01f,30sep03,sn changed :vxworks55 to :$(DIAB_T_ENVIRON)
# 01e,14jan02,to move 'include defs.arm' after TOOL and CPU definitions to be
# consistent with gnu ones
# 01d,18dec01,to move common definitions to defs.arm
# 01c,05dec01,jab change :tornado, :simple ,etc. to :vxworks55
# 01b,16nov01,t_m Change sysInit entry
# 01a,08nov01,t_m Copied from make.ARMARCH4
#
# DESCRIPTION
# This file contains ARMARCH4 specific definitions and flags for the
# Diab tools (compiler, assembler, linker etc.)
#
CPU = ARMARCH4
TOOL = diabbe
include $(TGT_DIR)/h/tool/diab/defs.arm
TGT_FLAG = -tARMES:$(DIAB_T_ENVIRON)
# end of make.ARMARCH4diabbe
@@ -0,0 +1,26 @@
# make.ARMARCH5diab - Diab compilation tools definitions for ARMARCH5
#
# modification history
# --------------------
# 01g,25jun08,pee VSB
# 01f,30sep03,sn changed :vxworks55 to :$(DIAB_T_ENVIRON)
# 01e,14jan02,to move 'include defs.arm' after TOOL and CPU definitions to be
# consistent with gnu ones
# 01d,18dec01,to move common definitions to defs.arm
# 01c,05dec01,jab change :tornado, :simple ,etc. to :vxworks55
# 01b,16nov01,t_m Change sysInit entry
# 01a,08nov01,t_m Copied from ARMARCH5_T
#
# DESCRIPTION
# This file contains ARMARCH5 specific definitions and flags for the
# Diab tools (compiler, assembler, linker etc.)
#
CPU = ARMARCH5
TOOL = diab
include $(TGT_DIR)/h/tool/diab/defs.arm
TGT_FLAG = -tARMV5$(TGT_FLAG_ENDIAN)S:$(DIAB_T_ENVIRON)
# end of make.ARMARCH5diab
@@ -0,0 +1,22 @@
# make.ARMARCH5diabbe - Diab compilation tools definitions for ARMARCH5
#
# modification history
# --------------------
# 01c,30sep03,sn changed :vxworks55 to :$(DIAB_T_ENVIRON)
# 01b,14jan02,to move 'include defs.arm' after TOOL and CPU definitions to be
# consistent with gnu ones
# 01a,18dec01,to created from make.ARMARCH5diab
#
# DESCRIPTION
# This file contains ARMARCH5 specific definitions and flags for the
# Diab tools (compiler, assembler, linker etc.)
#
CPU = ARMARCH5
TOOL = diabbe
include $(TGT_DIR)/h/tool/diab/defs.arm
TGT_FLAG = -tARMV5ES:$(DIAB_T_ENVIRON)
# end of make.ARMARCH5diabbe
@@ -0,0 +1,28 @@
# make.ARMARCH6diab - Diab compilation tools definitions for ARMARCH6
#
# modification history
# --------------------
# 01e,19aug08,mze TGT_FLAG changes
# 01d,25jun08,pee VSB
# 01c,27sep07,jb Fix for DEFECT WIND00093069
# 01b,31aug06,jb Fix for Defect WIND00063709
# 01a,06dec04,jb Copied from make.ARMARCH5diab
#
# DESCRIPTION
# This file contains ARMARCH6 specific definitions and flags for the
# Diab tools (compiler, assembler, linker etc.)
#
CPU = ARMARCH6
TOOL = diab
include $(TGT_DIR)/h/tool/diab/defs.arm
ifeq ($(VFPVARIANT),ARM1136)
#Enable VFP Code generation
TGT_FLAG = -tARMV6$(TGT_FLAG_ENDIAN)V:$(DIAB_T_ENVIRON)
else
TGT_FLAG = -tARMV6$(TGT_FLAG_ENDIAN)S:$(DIAB_T_ENVIRON)
endif
# end of make.ARMARCH6diab
@@ -0,0 +1,34 @@
# make.ARMARCH6diabbe - Diab compilation tools definitions for ARMARCH6
#
# Copyright (c) 2004, 2006, 2007, 2011 Wind River Systems, Inc.
#
# modification history
# --------------------
# 01d,29dec11,mze fix for defect WIND00325465
# 01c,27sep07,jb Fix for DEFECT WIND00093069
# 01b,26sep06,jb Fix for Defect WIND00063709
# 01a,06dec04,jb created from make.ARMARCH5diabbe
#
# DESCRIPTION
# This file contains ARMARCH6 specific definitions and flags for the
# Diab tools (compiler, assembler, linker etc.)
#
CPU = ARMARCH6
TOOL = diabbe
include $(TGT_DIR)/h/tool/diab/defs.arm
ifeq ($(VFPVARIANT),ARM1136)
#Enable VFP Code generation
TGT_FLAG = -tARMV6EV:$(DIAB_T_ENVIRON)
else
TGT_FLAG = -tARMV6ES:$(DIAB_T_ENVIRON)
endif
# this next section will need to be removed if the build specs need to support SMP
ifdef _BDGEN_
MP_OPTION_ARMARCH6_SMP =
endif
# end of make.ARMARCH6diabbe
@@ -0,0 +1,51 @@
# make.ARMARCH7Mdiab - Diab compilation tools definitions for ARMARCH7M
#
# Copyright (c) 2013 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
# --------------------
# 01a,20aug13,mpc created
#
# DESCRIPTION
# This file contains ARMARCH7M specific definitions and flags for the
# Diab tools (compiler, assembler, linker etc.)
#
CPU = ARMARCH7M
TOOL = diab
# default before defs.arm
_WRS_CONFIG_FP ?= vector
ifeq ($(TC_INFO),TRUE)
FP ?= vector
endif
include $(TGT_DIR)/h/tool/diab/defs.arm
# override definitions from defs.arm
BUILD_FP_PREFIX_soft = sf
ifneq ($(_WRS_CONFIG_FP), soft)
# ARMARCH7M uses VFP instruction by default when compiling the
# kernel. Enable the compiler to generate VFP instructions and set
# the ARM_USE_VFP flag to select optimizations in code for vector
# floating point.
EXTRA_DEFINE += -DARM_USE_VFP
TGT_FLAG = -tARMV7MT2LF:$(DIAB_T_ENVIRON)
else
TGT_FLAG = -tARMV7MT2LS:$(DIAB_T_ENVIRON)
endif
# end of make.ARMARCH7Mdiab
@@ -0,0 +1,30 @@
# make.ARMARCH7Msfdiab - Diab compilation tools definitions for ARMARCH7M
#
# Copyright (c) 2012 Wind River Systems, Inc.
#
# modification history
# --------------------
# 01a,2feb12,jdw File created from make.ARMARCH7sfdiab
#
# DESCRIPTION
# This file contains ARMARCH7M specific definitions and flags for the
# Diab tools (compiler, assembler, linker etc.)
#
CPU = ARMARCH7M
TOOL = sfdiab
# default before defs.arm
_WRS_CONFIG_FP ?= soft
ifeq ($(TC_INFO),TRUE)
FP ?= soft
endif
include $(TGT_DIR)/h/tool/diab/defs.arm
# override definitions from defs.arm
BUILD_FP_PREFIX_soft = sf
TGT_FLAG = -tARMV7MT2$(TGT_FLAG_ENDIAN)$(TGT_FLAG_FP):$(DIAB_T_ENVIRON)
# end of make.ARMARCH7Msfdiab
@@ -0,0 +1,42 @@
# make.ARMARCH7_T2diab - Diab compilation tools definitions for ARMARCH7_T2
#
# Copyright (c) 2010-2012 Wind River Systems, Inc.
#
# modification history
# --------------------
# 01f,09oct12,jdw Add support for VFP flags
# 01e,20dec11,jdw Fix COMMON_COMPILER to use defs.diab (WIND00238985)
# 01d,20oct10,m_h Workaround WIND00232992 with -Xkill-reorder=0x2000000
# 01c,30jun10,m_h Vector Floating Point Support
# 01b,28jun10,m_h Thumb-2 reorder workaround
# 01a,14jun10,m_h created from make.ARMARCH7diab
#
# DESCRIPTION
# This file contains ARMARCH7_T2 (Thumb-2) specific definitions and flags
# for the Diab tools (compiler, assembler, linker etc.)
#
CPU = ARMARCH7_T2
TOOL = diab
include $(TGT_DIR)/h/tool/diab/defs.arm
# Note: Technically this should be inside "ifneq ($(VFPVARIANT),)"
# But CFLAGS do not get generated properly during a project
# build after it parses the BSP Makefile
# So for now, we support only processors that have a VFP
_WRS_CONFIG_FP = vector
# ARMARCH7_T2 uses VFP instruction by default when compiling the
# kernel. Enable the compiler to generate VFP instructions and set
# the ARM_USE_VFP flag to select optimizations in code for vector
# floating point.
#Enable VFP Code generation
COMMON_COMPILER += -Xfp-fast
EXTRA_DEFINE += -DARM_USE_VFP
TGT_FLAG = -tARMT2$(TGT_FLAG_ENDIAN)$(TGT_FLAG_FP):$(DIAB_T_ENVIRON)
# end of make.ARMARCH7_T2diab
@@ -0,0 +1,47 @@
# make.ARMARCH7diab - Diab compilation tools definitions for ARMARCH7
#
# Copyright (c) 2009-2012 Wind River Systems, Inc.
#
# modification history
# --------------------
# 01g,25sep12,jdw Add ARM_USE_VFP flag
# 01f,20dec11,jdw Fix COMMON_COMPILER var to use defs.diab (WIND00238985)
# 01e,12nov10,jdw Fix HW/SW floating point support (WIND00241091)
# 01d,18oct10,rab Set _WRS_CONFIG_FP to soft for guest os
# 01c,04jun09,mdo Make _WRS_CONFIG_FP vector if VFPVARIANT is not null.
# 01b,20apr09,m_h ARMv7 Support
# 01a,27feb09,m_h created from make.ARMARCH6diab
#
# DESCRIPTION
# This file contains ARMARCH7 specific definitions and flags for the
# Diab tools (compiler, assembler, linker etc.)
#
CPU = ARMARCH7
TOOL = diab
# default before defs.arm
_WRS_CONFIG_FP ?= vector
ifeq ($(TC_INFO),TRUE)
FP ?= vector
endif
include $(TGT_DIR)/h/tool/diab/defs.arm
# override definitions from defs.arm
BUILD_FP_PREFIX_soft = sf
# ARMARCH7 uses VFP instruction by default when compiling the
# kernel. Enable the compiler to generate VFP instructions and set
# the ARM_USE_VFP flag to select optimizations in code for vector
# floating point.
ifeq ($(_WRS_CONFIG_FP),vector)
#Enable VFP Code generation
COMMON_COMPILER += -Xfp-fast
EXTRA_DEFINE += -DARM_USE_VFP
endif
TGT_FLAG = -tARMV7$(TGT_FLAG_ENDIAN)$(TGT_FLAG_FP):$(DIAB_T_ENVIRON)
# end of make.ARMARCH7diab
@@ -0,0 +1,31 @@
# make.ARMARCH7sfdiab - Diab compilation tools definitions for ARMARCH7
#
# Copyright (c) 2010-2011 Wind River Systems, Inc.
#
# modification history
# --------------------
# 01b,20dec11,jdw Fix COMMON_COMPILER to use defs.diab (WIND00238985)
# 01a,12nov10,jdw File created from make.ARMARCH7diab
#
# DESCRIPTION
# This file contains ARMARCH7 specific definitions and flags for the
# Diab tools (compiler, assembler, linker etc.)
#
CPU = ARMARCH7
TOOL = sfdiab
# default before defs.arm
_WRS_CONFIG_FP ?= soft
ifeq ($(TC_INFO),TRUE)
FP ?= soft
endif
include $(TGT_DIR)/h/tool/diab/defs.arm
# override definitions from defs.arm
BUILD_FP_PREFIX_soft = sf
TGT_FLAG = -tARMV7$(TGT_FLAG_ENDIAN)$(TGT_FLAG_FP):$(DIAB_T_ENVIRON)
# end of make.ARMARCH7sfdiab
@@ -0,0 +1,35 @@
# make.ATOMdiab - Diab compilation tools definitions for Atom
#
# Copyright (c) 2010 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
# --------------------
# 01b,02nov10,sem Update target flag to use correct CPU tag
# 01a,22sep10,sem created
#
# DESCRIPTION
# This file contains Atom specific definitions and flags for the
# diab tools (compiler, assembler, linker etc.)
#*/
include $(TGT_DIR)/h/tool/diab/defs.diab
CPU = ATOM
TOOL = diab
TGT_FLAG = -tATOMLH:$(DIAB_T_ENVIRON)
TOOLENV = pentium
VX_CPU_FAMILY = pentium
ARCH_DIR = i86
ABI_SPEC = x86
CFLAGS_AS += -Wa,-Xmnem-mit,-Xemul-gnu-bug
CC_OPTIM_NORMAL += -Xalign-functions=4
HLL_PREFIX =
# end of make.ATOMdiab
@@ -0,0 +1,35 @@
# make.COREdiab - Diab compilation tools definitions for Core
#
# Copyright (c) 2010 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
# --------------------
# 01b,02nov10,sem Update target flag to use correct CPU tag
# 01a,22sep10,sem created
#
# DESCRIPTION
# This file contains Core specific definitions and flags for the
# diab tools (compiler, assembler, linker etc.)
#*/
include $(TGT_DIR)/h/tool/diab/defs.diab
CPU = CORE
TOOL = diab
TGT_FLAG = -tCORELH:$(DIAB_T_ENVIRON)
TOOLENV = pentium
VX_CPU_FAMILY = pentium
ARCH_DIR = i86
ABI_SPEC = x86
CFLAGS_AS += -Wa,-Xmnem-mit,-Xemul-gnu-bug
CC_OPTIM_NORMAL += -Xalign-functions=4
HLL_PREFIX =
# end of make.COREdiab
@@ -0,0 +1,32 @@
# make.MIPSI2diab - Diab compilation tools definitions for MIPSI2
#
# modification history
# --------------------
# 01a,26jun08,pee created for VSB
#
# DESCRIPTION
# This file contains MIPSI2 (soft-float) specific definitions and flags
# for the Diab tools (compiler, assembler, linker etc.)
#
# exclude this file from WB build spec generation.
_BDGEN_EXCLUDE = TRUE
CPU = MIPSI2
TOOL = diab
include $(TGT_DIR)/h/tool/diab/defs.mips
#add the next two line for MIPS specific devices
LD_SCRIPT_RAM = $(TGT_DIR)/h/tool/diab/ldscripts/link.MIPSRAM
LD_SCRIPT_ROM = $(TGT_DIR)/h/tool/diab/ldscripts/link.MIPSROM
# Select MIPS-II, soft-float (S). Endiannes selected from VSB configuration
TGT_FLAG_ENDIAN_big = F
TGT_FLAG_ENDIAN_little = M
TGT_FLAG = -tMIPS2$(TGT_FLAG_ENDIAN)$(TGT_FLAG_FP):$(DIAB_T_ENVIRON)
ABI_SPEC = MIPS32
# end of make.MIPSI2diab
@@ -0,0 +1,24 @@
# make.MIPSI2sfdiab - Diab compilation tools definitions for MIPSI2sf
#
# modification history
# --------------------
# 01a,20feb07,pes created based on make.MIPS32sfdiab
#
# DESCRIPTION
# This file contains MIPSI2 (soft-float) specific definitions and flags
# for the Diab tools (compiler, assembler, linker etc.)
#
CPU = MIPSI2
TOOL = sfdiab
include $(TGT_DIR)/h/tool/diab/defs.mips
#add the next two line for MIPS specific devices
LD_SCRIPT_RAM = $(TGT_DIR)/h/tool/diab/ldscripts/link.MIPSRAM
LD_SCRIPT_ROM = $(TGT_DIR)/h/tool/diab/ldscripts/link.MIPSROM
# Select MIPS-II, big-endian (F), soft-float (S)
TGT_FLAG = -tMIPS2FS:$(DIAB_T_ENVIRON)
ABI_SPEC = MIPS32
# end of make.MIPSI2sfdiab
@@ -0,0 +1,24 @@
# make.MIPSI2sfdiable - Diab compilation tools definitions for MIPSI2sfle
#
# modification history
# --------------------
# 01a,20feb07,pes created based on make.MIPS32sfdiable
#
# DESCRIPTION
# This file contains MIPSI2 (soft-float) specific definitions and flags
# for the Diab tools (compiler, assembler, linker etc.)
#
CPU = MIPSI2
TOOL = sfdiable
include $(TGT_DIR)/h/tool/diab/defs.mips
#add the next two line for MIPS specific devices
LD_SCRIPT_RAM = $(TGT_DIR)/h/tool/diab/ldscripts/link.MIPSRAM
LD_SCRIPT_ROM = $(TGT_DIR)/h/tool/diab/ldscripts/link.MIPSROM
# Select MIPS-II, little-endian (M), soft-float (S)
TGT_FLAG = -tMIPS2MS:$(DIAB_T_ENVIRON)
ABI_SPEC = MIPS32
# end of make.MIPSI2sfdiable
@@ -0,0 +1,31 @@
# make.MIPSI32R2diab - Diab compilation tools definitions for MIPSI32R2
#
# modification history
# --------------------
# 01c,25jun08,pee VSB
# 01b,20apr07,pes Remove -X32=0 flag.
# 01a,20feb07,pes created based on make.MIPS32sfdiab
#
# DESCRIPTION
# This file contains MIPSI32R2 (hard-float) specific definitions and flags
# for the Diab tools (compiler, assembler, linker etc.)
#
CPU = MIPSI32R2
TOOL = diab
include $(TGT_DIR)/h/tool/diab/defs.mips
#add the next two line for MIPS specific devices
LD_SCRIPT_RAM = $(TGT_DIR)/h/tool/diab/ldscripts/link.MIPSRAM
LD_SCRIPT_ROM = $(TGT_DIR)/h/tool/diab/ldscripts/link.MIPSROM
# Select MIPS32R2, big-endian (F), hard-float (H)
# TGT_FLAG = -tMIPS32R2FH:$(DIAB_T_ENVIRON)
TGT_FLAG_ENDIAN_big = F
TGT_FLAG_ENDIAN_little = M
TGT_FLAG = -tMIPS32R2$(TGT_FLAG_ENDIAN)$(TGT_FLAG_FP):$(DIAB_T_ENVIRON)
ABI_SPEC = MIPS32
# end of make.MIPSI32R2diab
@@ -0,0 +1,25 @@
# make.MIPSI32R2diable - Diab compilation tools definitions for MIPSI32R2le
#
# modification history
# --------------------
# 01b,20apr07,pes Remove -X32=0 flag.
# 01a,20feb07,pes created based on make.MIPS32sfdiable
#
# DESCRIPTION
# This file contains MIPSI32R2 (hard-float) specific definitions and flags
# for the Diab tools (compiler, assembler, linker etc.)
#
CPU = MIPSI32R2
TOOL = diable
include $(TGT_DIR)/h/tool/diab/defs.mips
#add the next two line for MIPS specific devices
LD_SCRIPT_RAM = $(TGT_DIR)/h/tool/diab/ldscripts/link.MIPSRAM
LD_SCRIPT_ROM = $(TGT_DIR)/h/tool/diab/ldscripts/link.MIPSROM
# Select MIPS32R2, little-endian (M), hard-float (H)
TGT_FLAG = -tMIPS32R2MH:$(DIAB_T_ENVIRON)
ABI_SPEC = MIPS32
# end of make.MIPSI32R2diable
@@ -0,0 +1,25 @@
# make.MIPSI32R2sfdiab - Diab compilation tools definitions for MIPSI32R2 sf
#
# modification history
# --------------------
# 01b,20apr07,pes Remove -X32=0 flag.
# 01a,20feb07,pes created based on make.MIPS32sfdiab
#
# DESCRIPTION
# This file contains MIPSI32R2 (soft-float) specific definitions and flags
# for the Diab tools (compiler, assembler, linker etc.)
#
CPU = MIPSI32R2
TOOL = sfdiab
include $(TGT_DIR)/h/tool/diab/defs.mips
#add the next two line for MIPS specific devices
LD_SCRIPT_RAM = $(TGT_DIR)/h/tool/diab/ldscripts/link.MIPSRAM
LD_SCRIPT_ROM = $(TGT_DIR)/h/tool/diab/ldscripts/link.MIPSROM
# Select MIPS32R2, big-endian (F), soft-float (S)
TGT_FLAG = -tMIPS32R2FS:$(DIAB_T_ENVIRON)
ABI_SPEC = MIPS32
# end of make.MIPSI32R2sfdiab
@@ -0,0 +1,25 @@
# make.MIPSI32R2sfdiable - Diab compilation tools definitions for MIPSI32R2sfle
#
# modification history
# --------------------
# 01b,20apr07,pes Remove -X32=0 flag.
# 01a,20feb07,pes created based on make.MIPS32sfdiable
#
# DESCRIPTION
# This file contains MIPSI32R2 (soft-float) specific definitions and flags
# for the Diab tools (compiler, assembler, linker etc.)
#
CPU = MIPSI32R2
TOOL = sfdiable
include $(TGT_DIR)/h/tool/diab/defs.mips
#add the next two line for MIPS specific devices
LD_SCRIPT_RAM = $(TGT_DIR)/h/tool/diab/ldscripts/link.MIPSRAM
LD_SCRIPT_ROM = $(TGT_DIR)/h/tool/diab/ldscripts/link.MIPSROM
# Select MIPS32R2, little-endian (M), soft-float (S)
TGT_FLAG = -tMIPS32R2MS:$(DIAB_T_ENVIRON)
ABI_SPEC = MIPS32
# end of make.MIPSI32R2sfdiable
@@ -0,0 +1,35 @@
# make.MIPSI32diab - Diab compilation tools definitions for MIPSI32
#
# modification history
# --------------------
# 01c,21jul08,pee disabling bdgen.
# 01b,25jun08,pee VSB
# 01a,20feb07,pes created based on make.MIPS32sfdiab
#
# DESCRIPTION
# This file contains MIPSI32 (hard-float) specific definitions and flags
# for the Diab tools (compiler, assembler, linker etc.)
#
# exclude this file from WB build spec generation.
_BDGEN_EXCLUDE = TRUE
CPU = MIPSI32
TOOL = diab
include $(TGT_DIR)/h/tool/diab/defs.mips
#add the next two line for MIPS specific devices
LD_SCRIPT_RAM = $(TGT_DIR)/h/tool/diab/ldscripts/link.MIPSRAM
LD_SCRIPT_ROM = $(TGT_DIR)/h/tool/diab/ldscripts/link.MIPSROM
# Select MIPS32, big-endian (F), hard-float (H)
# TGT_FLAG = -tMIPS32FH:$(DIAB_T_ENVIRON)
TGT_FLAG_ENDIAN_big = F
TGT_FLAG_ENDIAN_little = M
TGT_FLAG = -tMIPS32$(TGT_FLAG_ENDIAN)$(TGT_FLAG_FP):$(DIAB_T_ENVIRON)
ABI_SPEC = MIPS32
# end of make.MIPSI32diab
@@ -0,0 +1,24 @@
# make.MIPSI32sfdiab - Diab compilation tools definitions for MIPSI32sf
#
# modification history
# --------------------
# 01a,20feb07,pes created based on make.MIPS32sfdiab
#
# DESCRIPTION
# This file contains MIPSI32 (soft-float) specific definitions and flags
# for the Diab tools (compiler, assembler, linker etc.)
#
CPU = MIPSI32
TOOL = sfdiab
include $(TGT_DIR)/h/tool/diab/defs.mips
#add the next two line for MIPS specific devices
LD_SCRIPT_RAM = $(TGT_DIR)/h/tool/diab/ldscripts/link.MIPSRAM
LD_SCRIPT_ROM = $(TGT_DIR)/h/tool/diab/ldscripts/link.MIPSROM
# Select MIPS32, big-endian (F), soft-float (S)
TGT_FLAG = -tMIPS32FS:$(DIAB_T_ENVIRON)
ABI_SPEC = MIPS32
# end of make.MIPSI32sfdiab
@@ -0,0 +1,24 @@
# make.MIPSI32sfdiable - Diab compilation tools definitions for MIPSI32sfle
#
# modification history
# --------------------
# 01a,20feb07,pes created based on make.MIPS32sfdiable
#
# DESCRIPTION
# This file contains MIPSI32 (soft-float) specific definitions and flags
# for the Diab tools (compiler, assembler, linker etc.)
#
CPU = MIPSI32
TOOL = sfdiable
include $(TGT_DIR)/h/tool/diab/defs.mips
#add the next two line for MIPS specific devices
LD_SCRIPT_RAM = $(TGT_DIR)/h/tool/diab/ldscripts/link.MIPSRAM
LD_SCRIPT_ROM = $(TGT_DIR)/h/tool/diab/ldscripts/link.MIPSROM
# Select MIPS32, little-endian (M), soft-float (S)
TGT_FLAG = -tMIPS32MS:$(DIAB_T_ENVIRON)
ABI_SPEC = MIPS32
# end of make.MIPSI32sfdiable
@@ -0,0 +1,32 @@
# make.MIPSI3diab - Diab compilation tools definitions for MIPSI3
#
# modification history
# --------------------
# 01c,25jun08,pee VSB
# 01b,22may07,pes switch to n32 builds.
# 01a,20feb07,pes created from make.MIPS64diab.
#
# DESCRIPTION
# This file contains MIPSI3 (hard-float) specific definitions and flags
# for the Diab tools (compiler, assembler, linker etc.)
#
CPU = MIPSI3
TOOL = diab
include $(TGT_DIR)/h/tool/diab/defs.mips
#add the next two line for MIPS specific devices
LD_SCRIPT_RAM = $(TGT_DIR)/h/tool/diab/ldscripts/link.MIPSRAM
LD_SCRIPT_ROM = $(TGT_DIR)/h/tool/diab/ldscripts/link.MIPSROM
# Select MIPS III, big-endian (X), hard-float (H)
# Select MIPS III, n32, big-endian (T), hard-float (H)
#TGT_FLAG = -tMIPS3TH:$(DIAB_T_ENVIRON)
TGT_FLAG_ENDIAN_big = T
TGT_FLAG_ENDIAN_little = V
TGT_FLAG = -tMIPS3$(TGT_FLAG_ENDIAN)$(TGT_FLAG_FP):$(DIAB_T_ENVIRON)
ABI_SPEC = MIPS64$(ABI_ENDIAN_SUFFIX)
# end of make.MIPSI3diab
@@ -0,0 +1,26 @@
# make.MIPSI3diable - Diab compilation tools definitions for MIPSI3le
#
# modification history
# --------------------
# 01b,22may07,pes switch to n32 builds.
# 01a,20feb07,pes created based on make.MIPS64diable
#
# DESCRIPTION
# This file contains MIPSI3 (hard-float) specific definitions and flags
# for the Diab tools (compiler, assembler, linker etc.)
#
CPU = MIPSI3
TOOL = diable
include $(TGT_DIR)/h/tool/diab/defs.mips
#add the next two line for MIPS specific devices
LD_SCRIPT_RAM = $(TGT_DIR)/h/tool/diab/ldscripts/link.MIPSRAM
LD_SCRIPT_ROM = $(TGT_DIR)/h/tool/diab/ldscripts/link.MIPSROM
# Select MIPS III, little-endian (Z), hard-float (H)
# Select MIPS III, n32, little-endian (V), hard-float (H)
TGT_FLAG = -tMIPS3VH:$(DIAB_T_ENVIRON)
ABI_SPEC = MIPS64LE
# end of make.MIPSI3diable
@@ -0,0 +1,36 @@
# make.MIPSI64R2diab - Diab compilation tools definitions for MIPSI64R2
#
# modification history
# --------------------
# 01f,25aug11,mze fix WIND00295798
# 01e,21jul08,pee disabling WB build spec generation for this file.
# 01d,08jul08,pee fix endian flag options.
# 01c,25jun08,pee VSB
# 01b,22may07,pes switch to n32 builds.
# 01a,20feb07,pes created from make.MIPS64diab.
#
# DESCRIPTION
# This file contains MIPSI64R2 (hard-float) specific definitions and flags
# for the Diab tools (compiler, assembler, linker etc.)
#
CPU = MIPSI64R2
TOOL = diab
include $(TGT_DIR)/h/tool/diab/defs.mips
#add the next two line for MIPS specific devices
LD_SCRIPT_RAM = $(TGT_DIR)/h/tool/diab/ldscripts/link.MIPSRAM
LD_SCRIPT_ROM = $(TGT_DIR)/h/tool/diab/ldscripts/link.MIPSROM
# Select MIPS64R2, big-endian (X), hard-float (H)
# Select MIPS64R2, n32, big-endian (T), hard-float (H)
# TGT_FLAG = -tMIPS64R2TH:$(DIAB_T_ENVIRON)
TGT_FLAG_ENDIAN_big = T
TGT_FLAG_ENDIAN_little = V
TGT_FLAG = -tMIPS64R2$(TGT_FLAG_ENDIAN)$(TGT_FLAG_FP):$(DIAB_T_ENVIRON)
ABI_SPEC = MIPS64$(ABI_ENDIAN_SUFFIX)
# end of make.MIPSI64R2diab
@@ -0,0 +1,26 @@
# make.MIPSI64R2sfdiab - Diab compilation tools definitions for MIPSI64R2sf
#
# modification history
# --------------------
# 01b,11jun07,pes Switch to n32 builds.
# 01a,20feb07,pes created from make.MIPS64diab.
#
# DESCRIPTION
# This file contains MIPSI64R2 (soft-float) specific definitions and flags
# for the Diab tools (compiler, assembler, linker etc.)
#
CPU = MIPSI64R2
TOOL = sfdiab
include $(TGT_DIR)/h/tool/diab/defs.mips
#add the next two line for MIPS specific devices
LD_SCRIPT_RAM = $(TGT_DIR)/h/tool/diab/ldscripts/link.MIPSRAM
LD_SCRIPT_ROM = $(TGT_DIR)/h/tool/diab/ldscripts/link.MIPSROM
# Select MIPS64R2, big-endian (X), soft-float (S)
# Select MIPS64R2, n32, big-endian (T), soft-float (S)
TGT_FLAG = -tMIPS64R2TS:$(DIAB_T_ENVIRON)
ABI_SPEC = MIPS64BE
# end of make.MIPSI64R2sfdiab
@@ -0,0 +1,27 @@
# make.MIPSI64R2sfdiable - Diab compilation tools definitions for MIPSI64R2sfle
#
# modification history
# --------------------
# 01c,11jun07,pes Switch to n32 builds.
# 01b,22may07,pes Correct ABI_SPEC.
# 01a,20feb07,pes created from make.MIPS64diab.
#
# DESCRIPTION
# This file contains MIPSI64R2 (soft-float) specific definitions and flags
# for the Diab tools (compiler, assembler, linker etc.)
#
CPU = MIPSI64R2
TOOL = sfdiable
include $(TGT_DIR)/h/tool/diab/defs.mips
#add the next two line for MIPS specific devices
LD_SCRIPT_RAM = $(TGT_DIR)/h/tool/diab/ldscripts/link.MIPSRAM
LD_SCRIPT_ROM = $(TGT_DIR)/h/tool/diab/ldscripts/link.MIPSROM
# Select MIPS64R2, little-endian (Z), soft-float (S)
# Select MIPS64R2, n32, little-endian (V), soft-float (S)
TGT_FLAG = -tMIPS64R2VS:$(DIAB_T_ENVIRON)
ABI_SPEC = MIPS64LE
# end of make.MIPSI64R2sfdiable
@@ -0,0 +1,32 @@
# make.MIPSI64diab - Diab compilation tools definitions for MIPSI64
#
# modification history
# --------------------
# 01c,25jun08,pee VSB
# 01b,22may07,pes switch to n32 builds.
# 01a,20feb07,pes created from make.MIPS64diab.
#
# DESCRIPTION
# This file contains MIPSI3 (hard-float) specific definitions and flags
# for the Diab tools (compiler, assembler, linker etc.)
#
CPU = MIPSI64
TOOL = diab
include $(TGT_DIR)/h/tool/diab/defs.mips
#add the next two line for MIPS specific devices
LD_SCRIPT_RAM = $(TGT_DIR)/h/tool/diab/ldscripts/link.MIPSRAM
LD_SCRIPT_ROM = $(TGT_DIR)/h/tool/diab/ldscripts/link.MIPSROM
# Select MIPS64, big-endian (X), hard-float (H)
# Select MIPS64, n32, big-endian (T), hard-float (H)
#TGT_FLAG = -tMIPS64TH:$(DIAB_T_ENVIRON)
TGT_FLAG_ENDIAN_big = T
TGT_FLAG_ENDIAN_little = V
TGT_FLAG = -tMIPS64$(TGT_FLAG_ENDIAN)$(TGT_FLAG_FP):$(DIAB_T_ENVIRON)
ABI_SPEC = MIPS64$(ABI_ENDIAN_SUFFIX)
# end of make.MIPSI64diab
@@ -0,0 +1,26 @@
# make.MIPSI64diable - Diab compilation tools definitions for MIPSI64le
#
# modification history
# --------------------
# 01b,22may07,pes switch to n32 builds.
# 01a,20feb07,pes created from make.MIPS64diab.
#
# DESCRIPTION
# This file contains MIPSI3 (hard-float) specific definitions and flags
# for the Diab tools (compiler, assembler, linker etc.)
#
CPU = MIPSI64
TOOL = diable
include $(TGT_DIR)/h/tool/diab/defs.mips
#add the next two line for MIPS specific devices
LD_SCRIPT_RAM = $(TGT_DIR)/h/tool/diab/ldscripts/link.MIPSRAM
LD_SCRIPT_ROM = $(TGT_DIR)/h/tool/diab/ldscripts/link.MIPSROM
# Select MIPS64, little-endian (Z), hard-float (H)
# Select MIPS64, n32, little-endian (V), hard-float (H)
TGT_FLAG = -tMIPS64VH:$(DIAB_T_ENVIRON)
ABI_SPEC = MIPS64LE
# end of make.MIPSI64diable
@@ -0,0 +1,26 @@
# make.MIPSI64sfdiab - Diab compilation tools definitions for MIPSI64sf
#
# modification history
# --------------------
# 01b,22may07,pes switch to n32 builds.
# 01a,20feb07,pes created from make.MIPS64diab.
#
# DESCRIPTION
# This file contains MIPSI64 (soft-float) specific definitions and flags
# for the Diab tools (compiler, assembler, linker etc.)
#
CPU = MIPSI64
TOOL = sfdiab
include $(TGT_DIR)/h/tool/diab/defs.mips
#add the next two line for MIPS specific devices
LD_SCRIPT_RAM = $(TGT_DIR)/h/tool/diab/ldscripts/link.MIPSRAM
LD_SCRIPT_ROM = $(TGT_DIR)/h/tool/diab/ldscripts/link.MIPSROM
# Select MIPS64, big-endian (X), soft-float (S)
# Select MIPS64, n32, big-endian (T), soft-float (S)
TGT_FLAG = -tMIPS64TS:$(DIAB_T_ENVIRON)
ABI_SPEC = MIPS64BE
# end of make.MIPSI64sfdiab
@@ -0,0 +1,26 @@
# make.MIPSI64sfdiable - Diab compilation tools definitions for MIPSI64sfle
#
# modification history
# --------------------
# 01b,22may07,pes switch to n32 builds.
# 01a,20feb07,pes created from make.MIPS64diab.
#
# DESCRIPTION
# This file contains MIPSI64 (soft-float) specific definitions and flags
# for the Diab tools (compiler, assembler, linker etc.)
#
CPU = MIPSI64
TOOL = sfdiable
include $(TGT_DIR)/h/tool/diab/defs.mips
#add the next two line for MIPS specific devices
LD_SCRIPT_RAM = $(TGT_DIR)/h/tool/diab/ldscripts/link.MIPSRAM
LD_SCRIPT_ROM = $(TGT_DIR)/h/tool/diab/ldscripts/link.MIPSROM
# Select MIPS64, little-endian (Z), soft-float (S)
# Select MIPS64, n32, little-endian (V), soft-float (S)
TGT_FLAG = -tMIPS64VS:$(DIAB_T_ENVIRON)
ABI_SPEC = MIPS64LE
# end of make.MIPSI64sfdiable
@@ -0,0 +1,35 @@
# make.NEHALEMdiab - Diab compilation tools definitions for Nehalem
#
# Copyright (c) 2010 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
# --------------------
# 01b,02nov10,sem Update target flag to use correct CPU tag
# 01a,22sep10,sem created
#
# DESCRIPTION
# This file contains Nehalem specific definitions and flags for the
# diab tools (compiler, assembler, linker etc.)
#*/
include $(TGT_DIR)/h/tool/diab/defs.diab
CPU = NEHALEM
TOOL = diab
TGT_FLAG = -tNEHALEMLH:$(DIAB_T_ENVIRON)
TOOLENV = pentium
VX_CPU_FAMILY = pentium
ARCH_DIR = i86
ABI_SPEC = x86
CFLAGS_AS += -Wa,-Xmnem-mit,-Xemul-gnu-bug
CC_OPTIM_NORMAL += -Xalign-functions=4
HLL_PREFIX =
# end of make.NEHALEMdiab
@@ -0,0 +1,36 @@
# make.PENTIUM4diab - Diab compilation tools definitions for Pentium-4
#
# modification history
# --------------------
# 01f,03mar07,kkz Changing alignment to 4, form default 16
# 01e,17may05,zmm Emulate GNU assembler's encoding of
# fdivp/fdivrp/fsubp/fsubrp instructions. SPR 108421.
# 01d,10oct04,mcm Using the CPU name for the target switch. It is mapped to
# X86 by the compiler.
# 01c,20jan04,zmm Redefined prepended underscore HLL_PREFIX for diab/pentium
# 01b,10dec03,yvp Added ABI_SPEC.
# 01a,30sep03,sn changed :vxworks55 to :$(DIAB_T_ENVIRON)
# maxim Initial
#
# DESCRIPTION
# This file contains Pentium-4 specific definitions and flags for the
# diab tools (compiler, assembler, linker etc.)
#*/
include $(TGT_DIR)/h/tool/diab/defs.diab
CPU = PENTIUM4
TOOL = diab
TGT_FLAG = -tPENTIUM4LH:$(DIAB_T_ENVIRON)
TOOLENV = pentium
VX_CPU_FAMILY = pentium
ARCH_DIR = i86
ABI_SPEC = x86
CFLAGS_AS += -Wa,-Xmnem-mit,-Xemul-gnu-bug
CC_OPTIM_NORMAL += -Xalign-functions=4
HLL_PREFIX =
# end of make.PENTIUM4diab
@@ -0,0 +1,31 @@
# make.PENTIUMdiab - Diab compilation tools definitions for Pentium
#
# modification history
# --------------------
# 01b,17may05,zmm Emulate GNU assembler's encoding of
# fdivp/fdivrp/fsubp/fsubrp instructions. SPR 108421.
# 01a,18nov03,zmm Written based on make.PENTIUM3diab
# maxim Initial
#
# DESCRIPTION
# This file contains Pentium specific definitions and flags for the
# diab tools (compiler, assembler, linker etc.)
#*/
include $(TGT_DIR)/h/tool/diab/defs.diab
CPU = PENTIUM
TOOL = diab
TGT_FLAG = -tPENTIUMLH:$(DIAB_T_ENVIRON)
TOOLENV = pentium
VX_CPU_FAMILY = pentium
ARCH_DIR = i86
ABI_SPEC = x86
CFLAGS_AS += -Wa,-Xmnem-mit,-Xemul-gnu-bug
CC_OPTIM_NORMAL += -Xalign-functions=4
HLL_PREFIX =
# end of make.PENTIUMdiab
@@ -0,0 +1,197 @@
# make.PPC32diab - diab compilation tools definitions for generic PowerPC
#
# Copyright 2003-2006, 2008-2013 Wind River Systems, Inc.
#
# The right to copy, distribute or otherwise make use of this software
# may be licensed only pursuant to the terms of an applicable Wind River
# license agreement.
#
# modification history
# --------------------
# 02b,05feb13,h_k replaced FH with FV option for e6500. (WIND00402696)
# 02a,19sep12,h_k added Altivec support to e6500.
# 01z,30aug12,kk updated to enable E6500 support
# 01y,24jul12,h_k added e6500 CPU variant support. (WIND00333229)
# 01x,20dec12,wyt added case for e500v2. (WIND00394937)
# 01w,14feb12,h_k added missing _WRS_HARDWARE_FP definition for e500mc
# project builds. (WIND00333933)
# 01v,04may11,syt added support for PPC465
# 01u,16dec10,x_z set _WRS_HARDWARE_FP for hard-float 476
# 01t,22oct09,pmr move e500mc INCLUDE_HW_FP to appropriate section
# 01s,09sep08,pee fix e500v2 support.
# 01r,03sep08,pmr e500mc hard float
# 01q,02sep08,pee adding case for PPC32 e500v2
# 01p,29aug08,mze fix for 603
# 01o,19aug08,mze TOOL changes
# 01n,22jul08,pee adding VSB support for e500v2 FP
# 01m,17jun08,pee VSB adaptation
# 01l,17oct06,pch add -Xstmw-slow for 745x
# 01k,10oct06,pch WIND00068356: add -Xstsw-slow for 745x/970
# 01j,06jun06,dtr Add 603 soft/hard float support.
# 01i,28mar05,dr Adding definitions for LD_SCRIPT_RAM and LD_SCRIPT_ROM
# 01h,28oct04,to remove TOOLENV, etc. which are now defined in defs.ppc.
# 01g,27may04,to added -Xstmw-slow to avoid stmw/lmw alignment exception.
# 01f,21may04,to PPC970 support
# 01e,10aug04,pch SPR 99846: Add support for _745x variant
# 01d,08jun04,pch set _WRS_HARDWARE_FP for hard-float 440
# 01c,04feb04,pch PPC32 floating-point adjustments
# 01b,05sep03,pch parameterize Diab "environment" setting
# 01a,06feb03,pch Written from make.PPC603diab vn 01f & make.PPC32gnu vn 01b
#
# DESCRIPTION
# This file contains definitions and flags for the diab 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 = diab
include $(TGT_DIR)/h/tool/common/defs.ppc
TGT_FLAG_FP_e500v2 = H
_WRS_CONFIG_FP ?= hard
LD_SCRIPT_RAM = -Dwrs_kernel_rom_size=0x0$(ROM_SIZE) \
$(TGT_DIR)/h/tool/diab/ldscripts/link.DOTBOOTRAM
LD_SCRIPT_ROM = -Dwrs_kernel_rom_size=0x0$(ROM_SIZE) \
$(TGT_DIR)/h/tool/diab/ldscripts/link.DOTBOOTROM
#settings apply to both soft and e500v2 FP values
ifneq ($(_WRS_CONFIG_FP),hard)
CC_COMPILER += -Xstsw-slow
C++_COMPILER += -Xstsw-slow
endif
ifeq ($(LIB_DIR_TAG),_ppc604_745x)
# Library build for 745x variant
# Enable AltiVec opcodes e.g. dssall, but not "vector" keyword. Strictly
# speaking, -Xkeywords=0x0 is only for C (not asm), but das does not object.
TGT_FLAG= -tPPC7400FV:$(DIAB_T_ENVIRON) -Xkeywords=0x0 -Xstsw-slow -Xstmw-slow
else
ifeq ($(CPU_VARIANT),_ppc604_745x)
# BSP build with CPU=PPC32 CPU_VARIANT=_ppc604_745x also needs AV opcodes.
# Use CC_ARCH_SPEC since dld *does* object to -Xkeywords.
TGT_FLAG = -tPPC7400FV:$(DIAB_T_ENVIRON)
CC_ARCH_SPEC += -Xkeywords=0x0 -Xstsw-slow -Xstmw-slow
else
ifeq ($(PPC32VARIANT),465)
TGT_FLAG = -tPPC464F$(TGT_FLAG_FP):$(DIAB_T_ENVIRON)
else
ifeq ($(PPC32VARIANT),85XX)
ifeq ($(_WRS_CONFIG_FP),e500v2)
TGT_FLAG = -tPPCE500V2F$(TGT_FLAG_FP):$(DIAB_T_ENVIRON)
else
ifeq ($(LIB_DIR_TAG),_ppc85XX_e500v2)
TGT_FLAG = -tPPCE500V2F$(TGT_FLAG_FP):$(DIAB_T_ENVIRON)
else
ifeq ($(LIB_DIR_TAG),_ppc85XX_e500mc)
TGT_FLAG = -tPPCE500MCF$(TGT_FLAG_FP):$(DIAB_T_ENVIRON)
else
ifeq ($(LIB_DIR_TAG),_ppc85XX_e6500)
# Library build for e6500 variant
# Enable AltiVec opcodes e.g. dssall, but not "vector" keyword.
# Strictly speaking, -Xkeywords=0x0 is only for C (not asm),
# but das does not object.
TGT_FLAG = -tPPCE6500FV:$(DIAB_T_ENVIRON) -Xkeywords=0x0
else
ifeq ($(CPU_VARIANT),_ppc85XX_e500mc)
TGT_FLAG = -tPPCE500MCF$(TGT_FLAG_FP):$(DIAB_T_ENVIRON)
else
ifeq ($(CPU_VARIANT),_ppc85XX_e6500)
# BSP build with CPU=PPC32 CPU_VARIANT=_ppc85XX_e6500 also
# needs AV opcodes.
# Use CC_ARCH_SPEC since dld *does* object to -Xkeywords.
TGT_FLAG = -tPPCE6500FV:$(DIAB_T_ENVIRON)
CC_ARCH_SPEC += -Xkeywords=0x0
else
TGT_FLAG = -tPPCE500F$(TGT_FLAG_FP):$(DIAB_T_ENVIRON)
endif
endif
endif
endif
endif
endif
else
ifeq ($(_WRS_CONFIG_FP),e500v2)
TGT_FLAG = -tPPCE500V2F$(TGT_FLAG_FP):$(DIAB_T_ENVIRON)
else
TGT_FLAG = -tPPC$(PPC32VARIANT)F$(TGT_FLAG_FP):$(DIAB_T_ENVIRON)
endif
endif
endif
endif
endif
ifeq ($(_WRS_CONFIG_FP),hard)
ifeq ($(PPC32VARIANT),)
CC_ARCH_SPEC += -Xstmw-slow -DPPC32_fp60x -Xstsw-slow
# *** TEMP HACK: enable AltiVec support for math/fioLib.c
# *** Remove this when the coprocessor abstraction
# *** supports printf/scanf format extensions.
OPTION_ALTIVEC_C = -tPPCFV:$(DIAB_T_ENVIRON) -Xkeywords=0x0 -D_WRS_ALTIVEC_SUPPORT
endif
ifeq ($(PPC32VARIANT),604)
OPTION_ALTIVEC_AS = -tPPC7400FV:$(DIAB_T_ENVIRON)
OPTION_ALTIVEC_C = -tPPC7400FV:$(DIAB_T_ENVIRON) -Xkeywords=0x0
endif
ifeq ($(PPC32VARIANT),440)
# inform ppc440.h that we are building for hardware FP
CC_ARCH_SPEC += -D_WRS_HARDWARE_FP
endif
ifeq ($(PPC32VARIANT),465)
# inform ppc440.h that we are building for hardware FP
CC_ARCH_SPEC += -D_WRS_HARDWARE_FP
endif
ifeq ($(PPC32VARIANT),476)
# inform ppc476.h that we are building for hardware FP
CC_ARCH_SPEC += -D_WRS_HARDWARE_FP
endif
ifeq ($(PPC32VARIANT),603)
# inform ppc603.h that we are building for hardware FP
CC_ARCH_SPEC += -D_WRS_HARDWARE_FP
endif
ifeq ($(PPC32VARIANT),970)
CC_ARCH_SPEC += -Xstmw-slow -Xstsw-slow
OPTION_ALTIVEC_AS = -tPPC970FV:$(DIAB_T_ENVIRON)
OPTION_ALTIVEC_C = -tPPC970FV:$(DIAB_T_ENVIRON) -Xkeywords=0x0
endif
ifeq ($(LIB_DIR_TAG),_ppc85XX_e500mc)
# inform ppc85xx.h that we are building for hardware FP
CC_ARCH_SPEC += -D_WRS_HARDWARE_FP
endif
ifeq ($(CPU_VARIANT),_ppc85XX_e500mc)
# inform ppc85xx.h that we are building for hardware FP
CC_ARCH_SPEC += -D_WRS_HARDWARE_FP
endif
ifeq ($(LIB_DIR_TAG),_ppc85XX_e6500)
# inform ppc85xx.h that we are building for hardware FP
CC_ARCH_SPEC += -D_WRS_HARDWARE_FP
OPTION_ALTIVEC_AS = -tPPCE6500FV:$(DIAB_T_ENVIRON)
OPTION_ALTIVEC_C = -tPPCE6500FV:$(DIAB_T_ENVIRON) -Xkeywords=0x0
endif
ifeq ($(CPU_VARIANT),_ppc85XX_e6500)
# inform ppc85xx.h that we are building for hardware FP
CC_ARCH_SPEC += -D_WRS_HARDWARE_FP
OPTION_ALTIVEC_AS = -tPPCE6500FV:$(DIAB_T_ENVIRON)
OPTION_ALTIVEC_C = -tPPCE6500FV:$(DIAB_T_ENVIRON) -Xkeywords=0x0
endif
endif
# end of make.PPC32diab
@@ -0,0 +1,40 @@
# make.PPC32e500v2diab - diab compilation tools definitions for e500v2 hard float PowerPC
#
# Copyright (c) 2007 Wind River Systems, Inc.
#
# modification history
# --------------------
# 01c,29aug08,pee defining _WRS_CONFIG_FP.
# 01b,19nov07,dtr Change TOOL name.
# 01a,04nov07,dtr Written from make.PPC32sfdiab vn 01c
#
# DESCRIPTION
# This file contains definitions and flags for the diab tools
# (compiler, assembler, linker etc.) to build for a generic
# PowerPC without e500v2 hardware floating point.
# If building for a specific processor (as a variant),
# defs.ppc will set its type number into PPC32VARIANT.
#*/
CPU = PPC32
TOOL = e500v2diab
_WRS_CONFIG_FP ?= e500v2
include $(TGT_DIR)/h/tool/common/defs.ppc
LD_SCRIPT_RAM = -Dwrs_kernel_rom_size=0x0$(ROM_SIZE) \
$(TGT_DIR)/h/tool/diab/ldscripts/link.DOTBOOTRAM
LD_SCRIPT_ROM = -Dwrs_kernel_rom_size=0x0$(ROM_SIZE) \
$(TGT_DIR)/h/tool/diab/ldscripts/link.DOTBOOTROM
TGT_FLAG = -tPPCE500V2FH:$(DIAB_T_ENVIRON)
CC_COMPILER += -Xstsw-slow
C++_COMPILER += -Xstsw-slow
TOOLENV = ppc
VX_CPU_FAMILY = ppc
ARCH_DIR = ppc
# end of make.PPC32e500v2diab
@@ -0,0 +1,77 @@
# make.PPC32sfdiab - diab compilation tools definitions for generic PowerPC
#
# Copyright 1995-2004, 2011, 2012 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
# --------------------
# 01g,30aug12,kk updated E6500 support
# 01f,25jul12,h_k added e6500 CPU variant support. (WIND00333229)
# 01e,17apr12,h_k corrected target type for e500mc. (WIND00345701)
# 01d,23may11,syt Added support for PPC465.
# 01c,16dec04,dr Adding definitions for LD_SCRIPT_RAM and LD_SCRIPT_ROM
# 01b,03mar04,mil Added support for PPC85XX.
# 01a,04feb04,pch Written from make.PPC32diab vn 01b
#
# DESCRIPTION
# This file contains definitions and flags for the diab tools
# (compiler, assembler, linker etc.) to build for a generic
# PowerPC without 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 = sfdiab
_WRS_CONFIG_FP ?= soft
include $(TGT_DIR)/h/tool/common/defs.ppc
LD_SCRIPT_RAM = -Dwrs_kernel_rom_size=0x0$(ROM_SIZE) \
$(TGT_DIR)/h/tool/diab/ldscripts/link.DOTBOOTRAM
LD_SCRIPT_ROM = -Dwrs_kernel_rom_size=0x0$(ROM_SIZE) \
$(TGT_DIR)/h/tool/diab/ldscripts/link.DOTBOOTROM
ifeq ($(PPC32VARIANT),85XX)
ifeq ($(_WRS_CONFIG_FP),e500v2)
TGT_FLAG = -tPPCE500V2F$(TGT_FLAG_FP):$(DIAB_T_ENVIRON)
else
ifeq ($(LIB_DIR_TAG),_ppc85XX_e500mc)
TGT_FLAG = -tPPCE500MCF$(TGT_FLAG_FP):$(DIAB_T_ENVIRON)
else
ifeq ($(LIB_DIR_TAG),_ppc85XX_e6500)
TGT_FLAG = -tPPCE6500F$(TGT_FLAG_FP):$(DIAB_T_ENVIRON)
else
ifeq ($(CPU_VARIANT),_ppc85XX_e500mc)
TGT_FLAG = -tPPCE500MCF$(TGT_FLAG_FP):$(DIAB_T_ENVIRON)
else
ifeq ($(CPU_VARIANT),_ppc85XX_e6500)
TGT_FLAG = -tPPCE6500F$(TGT_FLAG_FP):$(DIAB_T_ENVIRON)
else
TGT_FLAG = -tPPCE500F$(TGT_FLAG_FP):$(DIAB_T_ENVIRON)
endif
endif
endif
endif
endif
else
ifeq ($(PPC32VARIANT), 465)
TGT_FLAG = -tPPC464FS:$(DIAB_T_ENVIRON)
else
TGT_FLAG = -tPPC$(PPC32VARIANT)FS:$(DIAB_T_ENVIRON)
endif
endif
CC_COMPILER += -Xstsw-slow
C++_COMPILER += -Xstsw-slow
TOOLENV = ppc
VX_CPU_FAMILY = ppc
ARCH_DIR = ppc
# end of make.PPC32diab
@@ -0,0 +1,40 @@
# make.PPC403diab - Diab compilation tools definitions for PowerPC 403
#
# Copyright 1995-2003 Wind River Systems, Inc.
#
# modification history
# --------------------
# 01j,08sep08,pee defining WRS_CONFIG_FP
# 01i,05sep03,pch parameterize Diab "environment" setting
# 01h,31jan03,pch Add PPC32 support
# 01g,10dec01,tpw Ensure ROM_SIZE defaults to 0x0 if the macro is not set.
# 01f,05dec01,tpw Utilize DOTBOOT{RAM,ROM} linker scripts on all PPC4xx BSPs.
# 01e,05dec01,jab change :tornado, :simple ,etc. to :vxworks55
# 01d,16nov01,mil Changed VX_CPU_FAMILY from PPC to ppc.
# 01c,30oct01,tpw Standardize kernel links and bootrom conversions.
# 01b,23oct01,jab added PPC specific definitions
# 01a,16oct01,jab Written from make.PPC403gnu 01n version.
#
# DESCRIPTION
# This file contains PowerPC 403 specific definitions and flags for the
# diab tools (compiler, assembler, linker etc.)
#*/
CPU = PPC403
TOOL = diab
_WRS_CONFIG_FP = soft
include $(TGT_DIR)/h/tool/common/defs.ppc
TGT_FLAG = -tPPC403FS:$(DIAB_T_ENVIRON)
LD_SCRIPT_RAM = -Dwrs_kernel_rom_size=0x0$(ROM_SIZE) \
$(TGT_DIR)/h/tool/diab/ldscripts/link.DOTBOOTRAM
LD_SCRIPT_ROM = -Dwrs_kernel_rom_size=0x0$(ROM_SIZE) \
$(TGT_DIR)/h/tool/diab/ldscripts/link.DOTBOOTROM
TOOLENV = ppc
VX_CPU_FAMILY = ppc
ARCH_DIR = ppc
# end of make.PPC403diab
@@ -0,0 +1,42 @@
# make.PPC405diab - Diab compilation tools definitions for PowerPC 405
#
# Copyright 1995-2003 Wind River Systems, Inc.
#
# modification history
# --------------------
# 01k,08sep08,pee defining WRS_CONFIG_FP
# 01j,10aug04,kab SPR#100219: support for TOOL=sfdiab, sfgnu.
# 01i,05sep03,pch parameterize Diab "environment" setting
# 01h,31jan03,pch Add PPC32 support
# 01g,10dec01,tpw Ensure ROM_SIZE defaults to 0x0 if the macro is not set.
# 01f,05dec01,tpw Utilize DOTBOOT{RAM,ROM} linker scripts on all PPC4xx BSPs.
# 01e,05dec01,jab change :tornado, :simple ,etc. to :vxworks55
# 01d,16nov01,mil Changed VX_CPU_FAMILY from PPC to ppc.
# 01c,30oct01,tpw Standardize kernel links and bootrom conversions.
# 01b,23oct01,jab added PPC specific definitions
# 01a,16oct01,jab Written from make.PPC405gnu 01e version.
#
# DESCRIPTION
# This file contains PowerPC 405 specific definitions and flags for the
# diab tools (compiler, assembler, linker etc.)
#*/
CPU = PPC405
TOOL = diab
_WRS_CONFIG_FP = soft
include $(TGT_DIR)/h/tool/common/defs.ppc
TGT_FLAG = -tPPC405FS:$(DIAB_T_ENVIRON)
LD_SCRIPT_RAM = -Dwrs_kernel_rom_size=0x0$(ROM_SIZE) \
$(TGT_DIR)/h/tool/diab/ldscripts/link.DOTBOOTRAM
LD_SCRIPT_ROM = -Dwrs_kernel_rom_size=0x0$(ROM_SIZE) \
$(TGT_DIR)/h/tool/diab/ldscripts/link.DOTBOOTROM
TOOLENV = ppc
VX_CPU_FAMILY = ppc
ARCH_DIR = ppc
# end of make.PPC405diab
@@ -0,0 +1,38 @@
# make.PPC405sfdiab - Diab compilation tools definitions for PowerPC 405
#
# Copyright 1995-2003 Wind River Systems, Inc.
#
# modification history
# --------------------
# 01j,10aug04,kab SPR#100219: support for TOOL=sfdiab, sfgnu.
# 01i,05sep03,pch parameterize Diab "environment" setting
# 01h,31jan03,pch Add PPC32 support
# 01g,10dec01,tpw Ensure ROM_SIZE defaults to 0x0 if the macro is not set.
# 01f,05dec01,tpw Utilize DOTBOOT{RAM,ROM} linker scripts on all PPC4xx BSPs.
# 01e,05dec01,jab change :tornado, :simple ,etc. to :vxworks55
# 01d,16nov01,mil Changed VX_CPU_FAMILY from PPC to ppc.
# 01c,30oct01,tpw Standardize kernel links and bootrom conversions.
# 01b,23oct01,jab added PPC specific definitions
# 01a,16oct01,jab Written from make.PPC405gnu 01e version.
#
# DESCRIPTION
# This file contains PowerPC 405 specific definitions and flags for the
# diab tools (compiler, assembler, linker etc.)
#*/
CPU = PPC405
TOOL = sfdiab
include $(TGT_DIR)/h/tool/common/defs.ppc
TGT_FLAG = -tPPC405FS:$(DIAB_T_ENVIRON)
LD_SCRIPT_RAM = -Dwrs_kernel_rom_size=0x0$(ROM_SIZE) \
$(TGT_DIR)/h/tool/diab/ldscripts/link.DOTBOOTRAM
LD_SCRIPT_ROM = -Dwrs_kernel_rom_size=0x0$(ROM_SIZE) \
$(TGT_DIR)/h/tool/diab/ldscripts/link.DOTBOOTROM
TOOLENV = ppc
VX_CPU_FAMILY = ppc
ARCH_DIR = ppc
# end of make.PPC405sfdiab
@@ -0,0 +1,40 @@
# make.PPC440diab - Diab compilation tools definitions for PowerPC 440
#
# Copyright 1995-2004 2008 Wind River Systems, Inc.
#
# modification history
# --------------------
# 01q,08sep08,pee adding WRS_CONFIG_FP definition.
# 01p,19aug08,mze TGT_FLAG changes
# 01o,09aug04,kab SPR#100219: support for TOOL=sfdiab, sfgnu.
# 01f,05sep03,pch parameterize Diab "environment" setting
# 01e,12dec02,pch Add PPC32 support
# 01d,10dec01,tpw Ensure ROM_SIZE defaults to 0x0 if the macro is not set.
# 01c,05dec01,tpw Utilize DOTBOOT{RAM,ROM} linker scripts on all PPC4xx BSPs.
# 01b,05dec01,jab change :tornado, :simple ,etc. to :vxworks55
# 01a,27nov01,pch Written from make.PPC405diab vn 01d.
#
# DESCRIPTION
# This file contains PowerPC 440 specific definitions and flags for the
# diab tools (compiler, assembler, linker etc.)
#*/
CPU = PPC440
TOOL = diab
_WRS_CONFIG_FP ?= soft
include $(TGT_DIR)/h/tool/common/defs.ppc
TGT_FLAG = -tPPC440F$(TGT_FLAG_FP):$(DIAB_T_ENVIRON)
LD_SCRIPT_RAM = -Dwrs_kernel_rom_size=0x0$(ROM_SIZE) \
$(TGT_DIR)/h/tool/diab/ldscripts/link.DOTBOOTRAM
LD_SCRIPT_ROM = -Dwrs_kernel_rom_size=0x0$(ROM_SIZE) \
$(TGT_DIR)/h/tool/diab/ldscripts/link.DOTBOOTROM
TOOLENV = ppc
VX_CPU_FAMILY = ppc
ARCH_DIR = ppc
# end of make.PPC440diab
@@ -0,0 +1,35 @@
# make.PPC440sfdiab - Diab compilation tools definitions for PowerPC 440
#
# Copyright 1995-2002 Wind River Systems, Inc.
#
# modification history
# --------------------
# 01o,09aug04,kab SPR#100219: support for TOOL=sfdiab, sfgnu.
# 01f,05sep03,pch parameterize Diab "environment" setting
# 01e,12dec02,pch Add PPC32 support
# 01d,10dec01,tpw Ensure ROM_SIZE defaults to 0x0 if the macro is not set.
# 01c,05dec01,tpw Utilize DOTBOOT{RAM,ROM} linker scripts on all PPC4xx BSPs.
# 01b,05dec01,jab change :tornado, :simple ,etc. to :vxworks55
# 01a,27nov01,pch Written from make.PPC405diab vn 01d.
#
# DESCRIPTION
# This file contains PowerPC 440 specific definitions and flags for the
# diab tools (compiler, assembler, linker etc.)
#*/
CPU = PPC440
TOOL = sfdiab
include $(TGT_DIR)/h/tool/common/defs.ppc
TGT_FLAG = -tPPC440FS:$(DIAB_T_ENVIRON)
LD_SCRIPT_RAM = -Dwrs_kernel_rom_size=0x0$(ROM_SIZE) \
$(TGT_DIR)/h/tool/diab/ldscripts/link.DOTBOOTRAM
LD_SCRIPT_ROM = -Dwrs_kernel_rom_size=0x0$(ROM_SIZE) \
$(TGT_DIR)/h/tool/diab/ldscripts/link.DOTBOOTROM
TOOLENV = ppc
VX_CPU_FAMILY = ppc
ARCH_DIR = ppc
# end of make.PPC440sfdiab
@@ -0,0 +1,35 @@
# make.PPC603diab - diab compilation tools definitions for PowerPC 603/604
#
# Copyright 1995-2003 Wind River Systems, Inc.
#
# modification history
# --------------------
# 01h,06jun06,dtr Allow support for software fp by fdefining hw fp
# explicitlly.
# 01g,05sep03,pch parameterize Diab "environment" setting
# 01f,31jan03,pch Add PPC32 support
# 01e,05dec01,jab change :tornado, :simple ,etc. to :vxworks55
# 01d,16nov01,mil Changed VX_CPU_FAMILY from PPC to ppc.
# 01c,30oct01,tpw Standardize kernel links and bootrom conversions.
# 01b,23oct01,jab added PPC specific definitions
# 01a,16oct01,jab Written from make.PPC603gnu 01r version.
#
# DESCRIPTION
# This file contains PowerPC 603/604 specific definitions and flags for the
# diab tools (compiler, assembler, linker etc.)
#*/
CPU = PPC603
TOOL = diab
include $(TGT_DIR)/h/tool/common/defs.ppc
CC_ARCH_SPEC += -D_WRS_HARDWARE_FP
TGT_FLAG = -tPPC603FH:$(DIAB_T_ENVIRON)
TOOLENV = ppc
VX_CPU_FAMILY = ppc
ARCH_DIR = ppc
# end of make.PPC603diab
@@ -0,0 +1,57 @@
# make.PPC604diab - Diab compilation tools definitions for PowerPC 604
#
# Copyright 1995-2003 Wind River Systems, Inc.
#
# modification history
# --------------------
# 01l,13apr10,pee locally enabling SMP build specs for bdgen
# 01k,17oct06,pch add -Xstmw-slow for 745x
# 01j,10oct06,pch WIND00068356: add -Xstsw-slow for 745x/970
# 01i,10aug04,pch SPR 99846: Add support for _745x variant
# 01h,05sep03,pch parameterize Diab "environment" setting
# 01g,31jan03,pch Add PPC32 support
# 01f,05dec01,jab change :tornado, :simple ,etc. to :vxworks55
# 01e,16nov01,mil Changed VX_CPU_FAMILY from PPC to ppc.
# 01d,30oct01,tpw Standardize kernel links and bootrom conversions.
# 01c,25oct01,jab added OPTION_ALTIVEC_C make variable
# 01b,23oct01,jab added OPTION_ALTIVEC_AS and PPC specific defs
# 01a,16oct01,jab Written from make.PPC604gnu 01r version.
#
# DESCRIPTION
# This file contains PowerPC 604 specific definitions and flags for the
# diab tools (compiler, assembler, linker etc.)
#*/
CPU = PPC604
TOOL = diab
include $(TGT_DIR)/h/tool/common/defs.ppc
ifeq ($(LIB_DIR_TAG),_745x)
# Library build for 745x variant
# Enable AltiVec opcodes e.g. dssall, but not "vector" keyword. Strictly
# speaking, -Xkeywords=0x0 is only for C (not asm), but das does not object.
TGT_FLAG= -tPPC7400FV:$(DIAB_T_ENVIRON) -Xkeywords=0x0 -Xstsw-slow -Xstmw-slow
else
ifeq ($(CPU_VARIANT),_745x)
# BSP build with CPU=PPC604 CPU_VARIANT=_745x also needs AV opcodes.
# Use CC_ARCH_SPEC since dld *does* object to -Xkeywords.
TGT_FLAG = -tPPC7400FV:$(DIAB_T_ENVIRON)
CC_ARCH_SPEC += -Xkeywords=0x0 -Xstsw-slow -Xstmw-slow
else
TGT_FLAG = -tPPC604FH:$(DIAB_T_ENVIRON)
endif
endif
TOOLENV = ppc
VX_CPU_FAMILY = ppc
ARCH_DIR = ppc
OPTION_ALTIVEC_AS = -tPPC7400FV:$(DIAB_T_ENVIRON)
OPTION_ALTIVEC_C = -tPPC7400FV:$(DIAB_T_ENVIRON) -Xkeywords=0x0
ifdef _BDGEN_
MP_OPTION_PPC604_SMP = TRUE
endif
# end of make.PPC604diab
@@ -0,0 +1,76 @@
# make.PPC85XXdiab - diab compilation tools definitions for PowerPC e500 Core
#
# Copyright 2001-2004, 2008, 2010, 2012 Wind River Systems, Inc.
#
# The right to copy, distribute or otherwise make use of this software
# may be licensed only pursuant to the terms of an applicable Wind River
# license agreement.
#
# modification history
# --------------------
# 01u,18apr12,h_k disabled _e500mc support. (WIND00346346)
# 01t,14feb12,h_k added missing _WRS_HARDWARE_FP definition for e500mc.
# (WIND00333971)
# 01s,13apr10,pee locally enabling SMP build specs for bdgen
# 01r,08sep08,pee adding WRS_CONFIG_FP definition.
# 01q,03sep08,pmr e500mc hard float
# 01p,22jul08,pee adding e500v2 support for VSB.
# 01o,09aug04,kab SPR#100219: support for TOOL=sfdiab, sfgnu.
# 01n,26sep03,mil Added intrinsic mask to work around missing alloca.
# 01m,26sep03,xav Define SIZE macro using 5.1.2 diab ddump utility (-Z support)
# 01l,13aug03,dtr Removing hardware floating point option.
# 01k,01aug03,xav Set compilers values to specific e500 diab 5.1.2 values
# 01j,04jun03,sn E500 requires Diab >= 5.1.1
# 01i,03jun03,dtr Adding -Xstsw-slow and changing target flag to FF for
# single precision floating point support.
# 01h,09may03,tpw Fix typo
# 01g,03oct02,mil Changed flag from -tPPCE500FV to -tPPCE500FS.
# 01f,03sep02,dtr Changing compiler options to PPCE500.
# 01e,05dec01,jab change :tornado, :simple ,etc. to :vxworks55
# 01d,16nov01,mil Changed VX_CPU_FAMILY from PPC to ppc.
# 01c,30oct01,tpw Standardize kernel links and bootrom conversions.
# 01b,23oct01,jab added PPC specific definitions
# 01a,16oct01,jab Written from make.PPC603gnu 01r version.
#
# DESCRIPTION
# This file contains PowerPC e500 specific definitions and flags for the
# diab tools (compiler, assembler, linker etc.)
#*/
CPU = PPC85XX
TOOL = diab
ifeq ($(LIB_DIR_TAG),_e500mc)
$(error LIB_DIR_TAG=_e500mc is not supported in this build spec!)
else
ifeq ($(CPU_VARIANT),_e500mc)
$(error CPU_VARIANT=_e500mc is not supported in this build spec!)
endif
endif
_WRS_CONFIG_FP ?= soft
include $(TGT_DIR)/h/tool/common/defs.ppc
ifeq ($(_WRS_CONFIG_FP),e500v2)
TGT_FLAG = -tPPCE500V2FH:$(DIAB_T_ENVIRON)
CC_COMPILER += -Xstsw-slow
C++_COMPILER += -Xstsw-slow
else
TGT_FLAG = -tPPCE500FS:$(DIAB_T_ENVIRON)
endif
LD_SCRIPT_RAM = -Dwrs_kernel_rom_size=0x0$(ROM_SIZE) \
$(TGT_DIR)/h/tool/diab/ldscripts/link.DOTBOOTRAM
LD_SCRIPT_ROM = -Dwrs_kernel_rom_size=0x0$(ROM_SIZE) \
$(TGT_DIR)/h/tool/diab/ldscripts/link.DOTBOOTROM
TOOLENV = ppc
VX_CPU_FAMILY = ppc
ARCH_DIR = ppc
ifdef _BDGEN_
MP_OPTION_PPC85XX_SMP = TRUE
endif
# end of make.PPC85XXdiab
@@ -0,0 +1,58 @@
# make.PPC85XXe500v2diab - diab compilation tools definitions for PowerPC e500v2 Core
#
# Copyright (c) 2007, 2008, 2010, 2012 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
# --------------------
# 01e,25apr12,h_k disabled _e500mc support. (WIND00346346)
# 01d,13apr10,pee locally enabling SMP build specs for bdgen
# 01c,29aug08,pee adding _WRS_CONFIG_FP definition.
# 01b,19nov07,dtr Change TOOL name.
# 01a,06nov07,dtr Written from make.PPC85XXsfdiab 01o version.
#
# DESCRIPTION
# This file contains PowerPC e500v2 specific definitions and flags for the
# diab tools (compiler, assembler, linker etc.)
#*/
CPU = PPC85XX
TOOL = e500v2diab
ifeq ($(LIB_DIR_TAG),_e500mc)
$(error LIB_DIR_TAG=_e500mc is not supported in this build spec!)
else
ifeq ($(CPU_VARIANT),_e500mc)
$(error CPU_VARIANT=_e500mc is not supported in this build spec!)
endif
endif
_WRS_CONFIG_FP ?= e500v2
include $(TGT_DIR)/h/tool/common/defs.ppc
ifeq ($(_WRS_CONFIG_FP),e500v2)
TGT_FLAG = -tPPCE500V2FH:$(DIAB_T_ENVIRON)
CC_COMPILER += -Xstsw-slow
C++_COMPILER += -Xstsw-slow
else
TGT_FLAG = -tPPCE500FS:$(DIAB_T_ENVIRON)
endif
LD_SCRIPT_RAM = -Dwrs_kernel_rom_size=0x0$(ROM_SIZE) \
$(TGT_DIR)/h/tool/diab/ldscripts/link.DOTBOOTRAM
LD_SCRIPT_ROM = -Dwrs_kernel_rom_size=0x0$(ROM_SIZE) \
$(TGT_DIR)/h/tool/diab/ldscripts/link.DOTBOOTROM
TOOLENV = ppc
VX_CPU_FAMILY = ppc
ARCH_DIR = ppc
ifdef _BDGEN_
MP_OPTION_PPC85XX_SMP = TRUE
endif
# end of make.PPC85XXe500v2diab
@@ -0,0 +1,71 @@
# make.PPC85XXsfdiab - diab compilation tools definitions for PowerPC e500 Core
#
# Copyright (c) 2001-2004, 2010, 2012 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
# --------------------
# 01q,17apr12,h_k disabled _e500mc support. (WIND00346346)
# 01p,13apr10,pee locally enabling SMP build specs for bdgen
# 01o,09aug04,kab SPR#100219: support for TOOL=sfdiab, sfgnu.
# 01n,26sep03,mil Added intrinsic mask to work around missing alloca.
# 01m,26sep03,xav Define SIZE macro using 5.1.2 diab ddump utility (-Z support)
# 01l,13aug03,dtr Removing hardware floating point option.
# 01k,01aug03,xav Set compilers values to specific e500 diab 5.1.2 values
# 01j,04jun03,sn E500 requires Diab >= 5.1.1
# 01i,03jun03,dtr Adding -Xstsw-slow and changing target flag to FF for
# single precision floating point support.
# 01h,09may03,tpw Fix typo
# 01g,03oct02,mil Changed flag from -tPPCE500FV to -tPPCE500FS.
# 01f,03sep02,dtr Changing compiler options to PPCE500.
# 01e,05dec01,jab change :tornado, :simple ,etc. to :vxworks55
# 01d,16nov01,mil Changed VX_CPU_FAMILY from PPC to ppc.
# 01c,30oct01,tpw Standardize kernel links and bootrom conversions.
# 01b,23oct01,jab added PPC specific definitions
# 01a,16oct01,jab Written from make.PPC603gnu 01r version.
#
# DESCRIPTION
# This file contains PowerPC e500 specific definitions and flags for the
# diab tools (compiler, assembler, linker etc.)
#*/
CPU = PPC85XX
TOOL = sfdiab
ifeq ($(LIB_DIR_TAG),_e500mc)
$(error LIB_DIR_TAG=_e500mc is not supported in this build spec!)
else
ifeq ($(CPU_VARIANT),_e500mc)
$(error CPU_VARIANT=_e500mc is not supported in this build spec!)
endif
endif
_WRS_CONFIG_FP ?= soft
include $(TGT_DIR)/h/tool/common/defs.ppc
ifeq ($(_WRS_CONFIG_FP),e500v2)
TGT_FLAG = -tPPCE500V2FH:$(DIAB_T_ENVIRON)
CC_COMPILER += -Xstsw-slow
C++_COMPILER += -Xstsw-slow
else
TGT_FLAG = -tPPCE500FS:$(DIAB_T_ENVIRON)
endif
LD_SCRIPT_RAM = -Dwrs_kernel_rom_size=0x0$(ROM_SIZE) \
$(TGT_DIR)/h/tool/diab/ldscripts/link.DOTBOOTRAM
LD_SCRIPT_ROM = -Dwrs_kernel_rom_size=0x0$(ROM_SIZE) \
$(TGT_DIR)/h/tool/diab/ldscripts/link.DOTBOOTROM
TOOLENV = ppc
VX_CPU_FAMILY = ppc
ARCH_DIR = ppc
ifdef _BDGEN_
MP_OPTION_PPC85XX_SMP = TRUE
endif
# end of make.PPC85XXsfdiab
@@ -0,0 +1,31 @@
# make.SIMLINUXdiab - Diab compilation tools definitions for SIMLINUX
#
# modification history
# --------------------
# 01e,02dec05,dbt Use nop as the byte filling pattern to help disassembler
# (SPR #112043).
# 01d,31mar05,dbt moved assembly flags to OPTION_LANG_ASM. (SPR #106199).
# 01c,10dec03,yvp Added ABI_SPEC.
# 01b,30sep03,sn changed :vxworks55 to :$(DIAB_T_ENVIRON)
# 01a,26mar03,dbt written
#
# DESCRIPTION
# This file contains Linux VSim specific definitions and flags for the
# diab tools (compiler, assembler, linker etc.)
#*/
include $(TGT_DIR)/h/tool/diab/defs.diab
CPU = SIMLINUX
TOOL = diab
TGT_FLAG = -tX86LH:$(DIAB_T_ENVIRON)
TOOLENV = pentium
VX_CPU_FAMILY = simlinux
ARCH_DIR = simlinux
ABI_SPEC = x86
OPTION_LANG_ASM += -Wa,-Xmnem-mit
LD_PARTIAL_FLAGS += -f 0x90,1,1
# end of make.SIMLINUXdiab
@@ -0,0 +1,31 @@
# make.SIMNTdiab - Diab compilation tools definitions for SIMNT
#
# modification history
# --------------------
# 01e,02dec05,dbt Use nop as the byte filling pattern to help disassembler
# (SPR #112043).
# 01d,31mar05,dbt moved assembly flags to OPTION_LANG_ASM. (SPR #106199).
# 01c,10dec03,yvp Added ABI_SPEC.
# 01b,30sep03,sn changed :vxworks55 to :$(DIAB_T_ENVIRON)
# 01a,26mar03,dbt written
#
# DESCRIPTION
# This file contains Windows VxSim specific definitions and flags for the
# diab tools (compiler, assembler, linker etc.)
#*/
include $(TGT_DIR)/h/tool/diab/defs.diab
CPU = SIMNT
TOOL = diab
TGT_FLAG = -tX86LH:$(DIAB_T_ENVIRON)
TOOLENV = pentium
VX_CPU_FAMILY = simpc
ARCH_DIR = simnt
ABI_SPEC = x86
OPTION_LANG_ASM += -Wa,-Xmnem-mit
LD_PARTIAL_FLAGS += -f 0x90,1,1
# end of make.SIMNTdiab
@@ -0,0 +1,34 @@
# make.XSCALEdiab - Diab compilation tools definitions for XSCALE
#
# modification history
# --------------------
# 01i,20aug08,mze changing ENDIAN logic
# 01h,19aug08,mze TOOL changes
# 01g,24jun08,pee VSB adaptation.
# 01f,30sep03,sn changed :vxworks55 to :$(DIAB_T_ENVIRON)
# 01e,14jan02,to move 'include defs.arm' after TOOL and CPU definitions to be
# consistent with gnu ones
# 01d,18dec01,to move common definitions to defs.arm
# 01c,05dec01,jab change :tornado, :simple ,etc. to :vxworks55
# 01b,16nov01,t_m Change sysInit entry
# 01a,08nov01,t_m Copied from make.ARMARCH4diab
#
# DESCRIPTION
# This file contains XSCALE specific definitions and flags for the
# Diab tools (compiler, assembler, linker etc.)
#
CPU = XSCALE
TOOL = diab
ifeq ($(BUILD_ENDIAN_SUFFIX),be)
_WRS_CONFIG_ENDIAN ?= big
else
_WRS_CONFIG_ENDIAN ?= little
endif
include $(TGT_DIR)/h/tool/diab/defs.arm
TGT_FLAG = -tARMX$(TGT_FLAG_ENDIAN)S:$(DIAB_T_ENVIRON)
# end of make.XSCALEdiab
@@ -0,0 +1,25 @@
# make.XSCALEdiabbe - Diab compilation tools definitions for XSCALE
#
# modification history
# --------------------
# 01d,24jun08,pee VSB
# 01c,30sep03,sn changed :vxworks55 to :$(DIAB_T_ENVIRON)
# 01b,14jan02,to move 'include defs.arm' after TOOL and CPU definitions to be
# consistent with gnu ones
# 01a,10jan02,to Copied from make.XSCALEdiab
#
# DESCRIPTION
# This file contains XSCALE specific definitions and flags for the
# Diab tools (compiler, assembler, linker etc.)
#
CPU = XSCALE
TOOL = diabbe
_WRS_CONFIG_ENDIAN ?= big
include $(TGT_DIR)/h/tool/diab/defs.arm
TGT_FLAG = -tARMXES:$(DIAB_T_ENVIRON)
# end of make.XSCALEdiabbe
+188
View File
@@ -0,0 +1,188 @@
/* toolMacros.h - compile time macros for Diab C compiler */
/*
* Copyright (c) 2001-2006, 2008-2010, 2014 Wind River Systems, Inc.
*
* The right to copy, distribute or otherwise make use of this software
* may be licensed only pursuant to the terms of an applicable Wind River
* license agreement. No license to Wind River intellectual property rights
* is granted herein. All rights not licensed by Wind River are reserved
* by Wind River.
*/
/*
modification history
--------------------
25aug14,dee allow predefinition of _WRS_DEPRECATED (VXW6-78473)
12may10,cww Added _WRS_SECTION_TEXT and _WRS_SECTION_RODATA
08feb10,mcm Fix for WIND00193234
05nov09,mcm LP64 updates
24jul09,kk added macro _WRS_USAGE_WARNING()
15jul08,to renamed expect macros to _WRS_LIKELY and _WRS_UNLIKELY
moved SDA macros out of _WRS_NO_SPECIAL_SECTIONS conditionals
16jun08,zl added _WRS_BARRIER()
13may08,dlk Revert previous workaround, there's a better one.
09may08,dlk Workaround for diab .data.fast/SDA conflict (WIND00123084).
29apr08,zl added expect and prefetch macros.
25mar08,to added _WRS_SDA_DATA, _WRS_SDA_BSS and _WRS_SDA_CONST
19dec06,aeg added _WRS_FUNC_NORETURN()
09sep05,jln added _WRS_ABSOLUTE_EXTERN
08aug05,wap Add section relocation macros
17mar04,dat remove leading underscore from _absSymbols_xxx (95052)
05mar04,dat temp fix for c++ and deprecated
05feb04,dat add macros for _WRS_ABSOLUTE
26nov03,dat Adding INLINE and DEPRECATED
12oct03,dat new macros for V7 of portable C guide.
23sep03,zl added _WRS_CONSTRUCTOR definition
26nov01,dat New macros for alignment checking and unaligned copies
14nov01,dat Adding underscores to macro names
18oct01,jab fixed WRS_ASM macro
04sep01,dat written (assumes Diab 4.4b or later)
*/
#ifndef __INCtoolMacrosh
#define __INCtoolMacrosh
#define _WRS_PACK_ALIGN(x) __attribute__((packed, aligned(x)))
#define _WRS_ASM(x) __asm volatile (x)
#define _WRS_UNQUALIFIED_ASM(x) __asm (x)
#define _WRS_BARRIER(x) __asm volatile (x)
#define _WRS_DATA_ALIGN_BYTES(x) __attribute__((aligned(x)))
/* This tool uses the ANSI variadic macro style */
#undef _WRS_GNU_VAR_MACROS /* Diab uses ANSI syntax */
/* New macros for alignment issues */
#define _WRS_ALIGNOF(x) sizeof(x,1)
#define _WRS_UNALIGNED_COPY(pSrc, pDest, size) \
(memcpy ((pDest), (pSrc), (size)))
#define _WRS_ALIGN_CHECK(ptr, type) \
(((int)(ptr) & ( _WRS_ALIGNOF(type) - 1)) == 0 ? TRUE : FALSE)
/*
* Macros to force code or data into specific sections. These
* can be used to force the compiler to place a given piece of
* code or data into a separate section. The idea is to improve
* cache usage by either clustering frequently referenced code
* close together, or moving infrequently used code (i.e. "run-once"
* init routines that are only used during bootstrap) out of the
* way. The "init" sections are used for the latter case, while
* the "fast" sections are used to group performance-critical
* routines together.
*
* Note: _WRS_FASTDATA or _WRS_INITDATA should occur at the
* start of the declaration rather than at the end, as a workaround
* for WIND00123084. For example, use
* \cs
* extern _WRS_FASTDATA void * myFastPtr;
* \ce
* rather than
* \cs
* extern void * myFastPtr _WRS_FASTDATA;
* \ce
*/
#ifndef _WRS_NO_SPECIAL_SECTIONS
#define _WRS_INITTEXT __attribute__ ((__section__ (".text.init")))
#define _WRS_FASTTEXT __attribute__ ((__section__ (".text.fast")))
#define _WRS_INITDATA __attribute__ ((__section__ (".data.init")))
#define _WRS_FASTDATA __attribute__ ((__section__ (".data.fast")))
#else
#define _WRS_INITTEXT
#define _WRS_FASTTEXT
#define _WRS_INITDATA
#define _WRS_FASTDATA
#endif
/* Standard sections */
#define _WRS_SECTION_TEXT __attribute__ ((__section__ (".text")))
#define _WRS_SECTION_RODATA __attribute__ ((__section__ (".rodata")))
/* SDA section macros */
#define _WRS_SDA_DATA __attribute__ ((__section__ (".sdata")))
#define _WRS_SDA_BSS __attribute__ ((__section__ (".sbss")))
#define _WRS_SDA_CONST __attribute__ ((__section__ (".sdata2")))
/*
* macro for static initializer (constructor) definitions; assumes
* Diab 5.2 or later with constructor support.
*/
#define _WRS_CONSTRUCTOR(rtn,lvl) \
__attribute__((constructor(lvl))) void _STI__##lvl##__##rtn (void)
/*
* New Basix macros, (Portable Coding Guide, v7)
*
* HAS_GCC_ASM_SYNTAX if Gnu inline assembly syntax is supported.
* HAS_DCC_ASM_SYNTAX if Diab inline assembly function syntax is supported.
* INLINE for static inline C functions, (prefix)
* DEPRECATED for obsolete API warnings. (postfix)
* USAGE_WARNING for API warnings - currently replicate of DEPRECATED. Future
* plan to add this.
*/
#undef _WRS_HAS_GCC_ASM_SYNTAX
#define _WRS_HAS_DCC_ASM_SYNTAX
#define _WRS_INLINE static __inline__
#ifndef _WRS_DEPRECATED
#ifdef __cplusplus
#define _WRS_DEPRECATED(x) /* temp workaround for c++ compiler failure */
#else
#define _WRS_DEPRECATED(x) __attribute__((deprecated(x)))
#endif
#endif /* ifndef _WRS_DEPRECATED */
#define _WRS_USAGE_WARNING(x) _WRS_DEPRECATED(x)
/* (New V7) For absolute symbol support. (use with semicolon) */
#define _WRS_ABSOLUTE(name,value) \
const long name __attribute__((absolute)) = (long)value
#define _WRS_ABSOLUTE_EXTERN(name) \
extern const char name[]
/* code optimization macros using compiler extensions */
#define _WRS_FUNC_NORETURN __attribute__((noreturn))
#define _WRS_LIKELY(x) __builtin_expect(!!(x), 1)
#define _WRS_UNLIKELY(x) __builtin_expect(!!(x), 0)
#define _WRS_READ_PREFETCH(ptr) __builtin_prefetch((ptr),0)
#define _WRS_WRITE_PREFETCH(ptr) __builtin_prefetch((ptr),1)
/* prefix and suffix to surround absolute symbol declarations (nops for diab)*/
#define _WRS_ABSOLUTE_BEGIN(x) \
extern STATUS absSymbols_##x (void); \
STATUS absSymbols_##x (void) {return OK;}
#define _WRS_ABSOLUTE_END
/*
* For backward compatibility with v5 of portable C coding guide.
*
* These are now obsolete, please don't use them.
*/
#define WRS_PACK_ALIGN(x) _WRS_PACK_ALIGN(x)
#define WRS_ASM(x) _WRS_ASM(x)
#define WRS_DATA_ALIGN_BYTES(x) _WRS_DATA_ALIGN_BYTES(x)
#undef WRS_GNU_VAR_MACROS
#endif /* __INCtoolMacrosh */