Looking into this a little more, it seems like IAR might not actually be invoking the C compiler.. It is, however, erroring out quite a bit. Comparing the .s file provided from git to a .s startup file I'm using in a working project, the syntax at the beginning of the file looks a little different...
the one IAR likes in my other projects:
MODULE ?cstartup
;; Forward declaration of sections.
SECTION CSTACK:DATA:NOROOT(3)
SECTION .intvec:CODE:NOROOT(2)
EXTERN __iar_program_start
EXTERN SystemInit
PUBLIC __vector_table
DATA
__vector_table
DCD sfe(CSTACK)
DCD Reset_Handler ; Reset Handler
DCD NMI_Handler ; NMI Handler
(etc. for the rest of the interrupt vector handlers)
the one it doesn't like:
.syntax unified
.cpu cortex-m3
.fpu softvfp
.thumb
.global g_pfnVectors
.global SystemInit_ExtMemCtl_Dummy
.global Default_Handler
/* start address for the initialization values of the .data section.
defined in linker script */
.word _sidata
for the first 5 lines, IAR gives "Bad instruction" errors, and then for on line 6, it gives a "Duplicate label:'.global'" error.
then, pretty much every line gives either a bad instruction or duplicate label, or both.
So does IAR have a different assembler syntax or something?