|
15 | 15 |
|
16 | 16 | <CC>"$(GNU_TOOLS_BIN)\$(GNU_TARGET)-gcc.exe"</CC> |
17 | 17 | <TCC>"$(GNU_TOOLS_BIN)\$(GNU_TARGET)-gcc.exe"</TCC> |
18 | | - <CPP>"$(GNU_TOOLS_BIN)\$(GNU_TARGET)-gcc.exe"</CPP> |
19 | | - <TCPP>"$(GNU_TOOLS_BIN)\$(GNU_TARGET)-gcc.exe"</TCPP> |
| 18 | + <CPP>"$(GNU_TOOLS_BIN)\$(GNU_TARGET)-g++.exe"</CPP> |
| 19 | + <TCPP>"$(GNU_TOOLS_BIN)\$(GNU_TARGET)-g++.exe"</TCPP> |
20 | 20 | <AS>"$(GNU_TOOLS_BIN)\$(GNU_TARGET)-as.exe"</AS> |
21 | 21 | <LINK>"$(GNU_TOOLS_BIN)\$(GNU_TARGET)-g++.exe"</LINK> |
22 | 22 | <AR>"$(GNU_TOOLS_BIN)\$(GNU_TARGET)-ar.exe"</AR> |
|
46 | 46 |
|
47 | 47 | <POS_DEPENDENT></POS_DEPENDENT> |
48 | 48 | <POS_INDEPENDENT>-fpic</POS_INDEPENDENT> |
49 | | - <CC_CPP_COMMON_FLAGS>$(CC_CPP_COMMON_FLAGS) -mabi=aapcs -ffunction-sections -fomit-frame-pointer -mlong-calls -fdollars-in-identifiers -fshort-wchar -fno-exceptions -funsigned-char -mstructure-size-boundary=8</CC_CPP_COMMON_FLAGS> |
| 49 | + <CC_CPP_COMMON_FLAGS>$(CC_CPP_COMMON_FLAGS) -mabi=aapcs -ffunction-sections -fdata-sections -fomit-frame-pointer -mlong-calls -fdollars-in-identifiers -fshort-wchar -fno-exceptions -funsigned-char -mstructure-size-boundary=8</CC_CPP_COMMON_FLAGS> |
50 | 50 | <CC_CPP_TARGETTYPE_FLAGS Condition="'$(FLAVOR)'=='RTM'" >$(CC_CPP_TARGETTYPE_FLAGS) -O3</CC_CPP_TARGETTYPE_FLAGS> |
51 | | - <CC_CPP_TARGETTYPE_FLAGS Condition="'$(FLAVOR)'=='Debug'" >$(CC_CPP_TARGETTYPE_FLAGS) -O0 -femit-class-debug-always</CC_CPP_TARGETTYPE_FLAGS> |
| 51 | + <CC_CPP_TARGETTYPE_FLAGS Condition="'$(FLAVOR)'=='Debug'" >$(CC_CPP_TARGETTYPE_FLAGS) -Og -femit-class-debug-always -g3 -ggdb</CC_CPP_TARGETTYPE_FLAGS> |
52 | 52 | <CC_CPP_TARGETTYPE_FLAGS Condition="'$(FLAVOR)'=='Instrumented'" >$(CC_CPP_TARGETTYPE_FLAGS) -O0</CC_CPP_TARGETTYPE_FLAGS> |
53 | 53 | <CC_CPP_TARGETTYPE_FLAGS Condition="'$(FLAVOR)'=='Release'" >$(CC_CPP_TARGETTYPE_FLAGS) -Os</CC_CPP_TARGETTYPE_FLAGS> |
54 | 54 |
|
55 | 55 | <CC_FLAGS>$(CC_FLAGS)-xc</CC_FLAGS> |
| 56 | + |
| 57 | + <ARCH_TARGETTYPE_FLAGS Condition="'$(FLAVOR)'=='RTM'" >-O3</ARCH_TARGETTYPE_FLAGS> |
| 58 | + <ARCH_TARGETTYPE_FLAGS Condition="'$(FLAVOR)'=='Debug'" >-Og -femit-class-debug-always -g3 -ggdb</ARCH_TARGETTYPE_FLAGS> |
| 59 | + <ARCH_TARGETTYPE_FLAGS Condition="'$(FLAVOR)'=='Instrumented'" >-O0</ARCH_TARGETTYPE_FLAGS> |
| 60 | + <ARCH_TARGETTYPE_FLAGS Condition="'$(FLAVOR)'=='Release'" >-Os</ARCH_TARGETTYPE_FLAGS> |
| 61 | + |
56 | 62 | <!-- |
57 | 63 | Disabling all warnings for GCC - it's just too noisy to be useful. |
58 | 64 | Even worse is that some of the most useless can't even be disabled. |
|
61 | 67 | NETMF already builds under two other compilers, so warnings from |
62 | 68 | yet another compiler aren't really that valuable anyway. |
63 | 69 | --> |
64 | | - <CPP_FLAGS>$(CPP_FLAGS)-xc++ -w -fcheck-new</CPP_FLAGS> |
| 70 | + <CPP_FLAGS>$(CPP_FLAGS)-xc++ -w -fcheck-new -fabi-version=0 -fno-exceptions -fno-rtti -fno-use-cxa-atexit -fno-threadsafe-statics </CPP_FLAGS> |
65 | 71 |
|
66 | 72 | <FLOATING_POINT_FLAG Condition="('$(PLATFORM_EMULATED_FLOATINGPOINT)'!='true' and '$(DEVICE_TYPE)' == 'cortex-m4') or '$(INSTRUCTION_SET)'=='thumb2fp'">-mfloat-abi=hard -mfpu=fpv4-sp-d16</FLOATING_POINT_FLAG> |
67 | | - <FLOATING_POINT_FLAG Condition="'$(PLATFORM_EMULATED_FLOATINGPOINT)'=='true'">-mfloat-abi=soft</FLOATING_POINT_FLAG> |
| 73 | + <FLOATING_POINT_FLAG Condition="'$(PLATFORM_EMULATED_FLOATINGPOINT)'=='true'">-mfloat-abi=softfp -mfpu=fpv4-sp-d16</FLOATING_POINT_FLAG> |
68 | 74 |
|
69 | 75 | <AS_CC_CPP_COMMON_FLAGS>$(AS_CC_CPP_COMMON_FLAGS) $(FLOATING_POINT_FLAG) </AS_CC_CPP_COMMON_FLAGS> |
70 | 76 | <AS_CC_CPP_COMMON_FLAGS>$(AS_CC_CPP_COMMON_FLAGS) $(ARCH_TYPE_FLAGS)</AS_CC_CPP_COMMON_FLAGS> |
|
126 | 132 | <CC_CPP_COMMON_FLAGS Condition="'$(reducesize)'=='true'" >$(CC_CPP_COMMON_FLAGS) -DHAL_REDUCESIZE</CC_CPP_COMMON_FLAGS> |
127 | 133 | <CC_CPP_COMMON_FLAGS Condition="'$(timewarp)'=='true'" >$(CC_CPP_COMMON_FLAGS) -DHAL_TIMEWARP</CC_CPP_COMMON_FLAGS> |
128 | 134 | <CC_CPP_COMMON_FLAGS Condition="'$(profile)'=='true'" >$(CC_CPP_COMMON_FLAGS) -DARM_PROFILE_ACTIVE</CC_CPP_COMMON_FLAGS> |
129 | | - <CC_CPP_COMMON_FLAGS Condition="'$(FLAVOR)'!='RTM'" >$(CC_CPP_COMMON_FLAGS) -DTINYCLR_ENABLE_SOURCELEVELDEBUGGING </CC_CPP_COMMON_FLAGS> |
| 135 | + <CC_CPP_COMMON_FLAGS Condition="'$(FLAVOR)'!='RTM'" >$(CC_CPP_COMMON_FLAGS) -DTINYCLR_ENABLE_SOURCELEVELDEBUGGING </CC_CPP_COMMON_FLAGS> |
| 136 | + <CC_CPP_COMMON_FLAGS Condition="'$(FLAVOR)'=='Instrumented'">$(CC_CPP_COMMON_FLAGS) -DTINYCLR_PROFILE_NEW -DTINYCLR_PROFILE_NEW_CALLS -DTINYCLR_PROFILE_NEW_ALLOCATIONS -DTINYCLR_PROFILE_HANDLER -DPROFILE_BUILD</CC_CPP_COMMON_FLAGS> |
130 | 137 | <CC_CPP_COMMON_FLAGS Condition="'$(sampleprof)'=='true'" >$(CC_CPP_COMMON_FLAGS) -DFIQ_SAMPLING_PROFILER </CC_CPP_COMMON_FLAGS> |
131 | 138 | <CC_CPP_COMMON_FLAGS Condition="'$(latencyprof)'=='true'">$(CC_CPP_COMMON_FLAGS) -DFIQ_LATENCY_PROFILER </CC_CPP_COMMON_FLAGS> |
132 | 139 | <CC_CPP_COMMON_FLAGS Condition="'$(INSTRUCTION_SET)'=='arm'" >$(CC_CPP_COMMON_FLAGS) -DCOMPILE_ARM </CC_CPP_COMMON_FLAGS> |
|
211 | 218 |
|
212 | 219 | <!--Standard libraries --> |
213 | 220 | <!-- NOTE: These are renamed by the "specs" provided to the command line--> |
214 | | - <GCCSTDLIBS>-lstdc++ -lsupc++ -lm -lgcc -lc -lgcc -lc</GCCSTDLIBS> |
| 221 | + <GCCSTDLIBS>-lstdc++ -lsupc++ -lm -lgcc -lc </GCCSTDLIBS> |
215 | 222 |
|
216 | 223 | <!-- Use newlib-nano (default) or newlib --> |
217 | | - <LINK_NANO_SPECS Condition="'$(NewlibNano)' != 'false'">-specs="$(GNU_LIBGCC_DIR)\nano.specs"</LINK_NANO_SPECS> |
| 224 | + <LINK_NANO_SPECS Condition="'$(NewlibNano)' != 'false'">-specs="$(GNU_LIBGCC_DIR)\nano.specs" -specs="$(GNU_LIBGCC_DIR)\nosys.specs" </LINK_NANO_SPECS> |
218 | 225 | </PropertyGroup> |
219 | 226 |
|
220 | 227 | <!-- item group --> |
|
271 | 278 | (platform independent). Thus the linker looks in the current working directory and finds the specified library without |
272 | 279 | needing to list the full path for each one. |
273 | 280 | --> |
274 | | - <Exec WorkingDirectory="$(LIB_DIR)" Command="$(LINK) $(ARCH_TYPE_FLAGS) $(FLOATING_POINT_FLAG) -L"$(GNU_LIBGCC_DIR)" -specs=$(MsBuildThisFileDirectory)startfile.specs -Wl$(LINK_FLAGS),-Map=$(EXEName).map $(LINK_NANO_SPECS) -T@(EXEScatterFile,' ') @(EXEInputs,' ') -Wl,-( @(PlatformIndependentLibs->'$(PLATFORM_INDEPENDENT_RELATIVE_LIB_DIR)%(FileName)%(Extension)',' ') @(DriverLibs->'%(FileName)%(Extension)',' ') @(InputLibs,' ') -Wl,-) -Wl,-no-whole-archive -Wl,-( $(GCCSTDLIBS) -Wl,-) $(ExtraLibs) -o@(EXEOutput)" /> |
| 281 | + <Exec WorkingDirectory="$(LIB_DIR)" Command="$(LINK) $(ARCH_TYPE_FLAGS) $(FLOATING_POINT_FLAG) -ffunction-sections -fdata-sections -Xlinker $(ARCH_TARGETTYPE_FLAGS) -L"$(GNU_LIBGCC_DIR)" -specs=$(MsBuildThisFileDirectory)startfile.specs -Wl$(LINK_FLAGS),-Map=$(EXEName).map $(LINK_NANO_SPECS) -T@(EXEScatterFile,' ') @(EXEInputs,' ') -Wl,-( @(PlatformIndependentLibs->'$(PLATFORM_INDEPENDENT_RELATIVE_LIB_DIR)%(FileName)%(Extension)',' ') @(DriverLibs->'%(FileName)%(Extension)',' ') @(InputLibs,' ') -Wl,-) -Wl,-no-whole-archive -Wl,-( $(GCCSTDLIBS) -Wl,-) $(ExtraLibs) -o@(EXEOutput)" /> |
275 | 282 |
|
276 | | - <Exec Command="$(OBJDUMP) -d -EL @(EXEOutput) > $(EXEName).axfdump" /> |
| 283 | + <Exec Command="$(OBJDUMP) -d -EL -S @(EXEOutput) > $(EXEName).axfdump" /> |
277 | 284 |
|
278 | 285 | <MakeDir Directories="$(EXEName).bin" Condition="'$(MultipleOutputSections)'=='true' and !Exists('$(EXEName).bin')" /> |
279 | 286 | <MakeDir Directories="$(EXEName).hex" Condition="'$(MultipleOutputSections)'=='true' and !Exists('$(EXEName).hex')" /> |
|
0 commit comments