mirror of
https://github.com/Kitware/CMake.git
synced 2026-05-04 05:10:10 -05:00
Merge topic 'iar-fix-asm-windows'
654c357a05 Tests/RunCMake/IAR: Fix ASM cases for XLINK targets
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9801
This commit is contained in:
@@ -67,13 +67,10 @@ foreach(_iar_toolchain IN LISTS _iar_toolchains)
|
||||
-DCMAKE_EXE_LINKER_FLAGS=${LINK_OPTS}
|
||||
)
|
||||
|
||||
# FIXME(#26267): ASM tests fail on Windows.
|
||||
if(NOT CMAKE_HOST_WIN32)
|
||||
run_toolchain(iar-asm
|
||||
-DCMAKE_SYSTEM_NAME=Generic
|
||||
-DCMAKE_ASM_COMPILER=${IAR_ASSEMBLER}
|
||||
)
|
||||
endif()
|
||||
run_toolchain(iar-asm
|
||||
-DCMAKE_SYSTEM_NAME=Generic
|
||||
-DCMAKE_ASM_COMPILER=${IAR_ASSEMBLER}
|
||||
)
|
||||
|
||||
run_toolchain(iar-lib
|
||||
-DCMAKE_SYSTEM_NAME=Generic
|
||||
|
||||
@@ -1,41 +1,53 @@
|
||||
#if defined(__IASM8051__) || defined(__IASM430__)
|
||||
NAME main
|
||||
#else
|
||||
MODULE main
|
||||
#if !defined(__IAR_SYSTEMS_ASM__)
|
||||
#error This source file should be assembled by the IAR Assembler.
|
||||
#endif
|
||||
|
||||
PUBLIC main
|
||||
PUBLIC __iar_program_start
|
||||
PUBLIC __program_start
|
||||
#if !defined(__A430__) && \
|
||||
!(((__TID__ >> 8) & 0x7F) == 32) && \
|
||||
!(((__TID__ >> 8) & 0x7F) == 90) && \
|
||||
!defined(__IASMARM__) && \
|
||||
!defined(__IASMRH850__) && \
|
||||
!defined(__IASMRISCV__) && \
|
||||
!defined(__IASMRL78__) && \
|
||||
!defined(__IASMRX__) && \
|
||||
!defined(__IASMSTM8__)
|
||||
#error Unable to detect a supported target architecture.
|
||||
#endif
|
||||
NAME main
|
||||
|
||||
#if defined(__IASMSTM8__)
|
||||
EXTERN CSTACK$$Limit
|
||||
SECTION `.near_func.text`:CODE:NOROOT(0)
|
||||
#elif defined(__IASMAVR__)
|
||||
ORG $0
|
||||
RJMP main
|
||||
RSEG CODE
|
||||
#elif defined(__IASM8051__)
|
||||
ORG 0FFFEh
|
||||
DC16 main
|
||||
RSEG RCODE
|
||||
?cmain:
|
||||
#elif defined(__IASM430__)
|
||||
ORG 0FFFEh
|
||||
DC16 init
|
||||
RSEG CSTACK
|
||||
RSEG CODE
|
||||
init:
|
||||
MOV #SFE(CSTACK), SP
|
||||
#else
|
||||
EXTERN __iar_static_base$$GPREL
|
||||
SECTION CSTACK:DATA:NOROOT(4)
|
||||
SECTION `.cstartup`:CODE(2)
|
||||
CODE
|
||||
PUBLIC main
|
||||
PUBLIC __iar_program_start
|
||||
PUBLIC __program_start
|
||||
|
||||
#if defined(__A430__)
|
||||
ORG 0FFFEh
|
||||
DC16 init
|
||||
RSEG CSTACK
|
||||
RSEG CODE
|
||||
init: MOV #SFE(CSTACK), SP
|
||||
RSEG CODE
|
||||
#elif (((__TID__ >> 8) & 0x7F) == 32)
|
||||
ORG 0FFFEh ; __A8051__
|
||||
DC16 main
|
||||
RSEG RCODE
|
||||
#elif (((__TID__ >> 8) & 0x7F) == 90)
|
||||
ORG $0 ; __AAVR__
|
||||
RJMP main
|
||||
#elif defined(__IASMARM__) || \
|
||||
defined(__IASMRH850__) || \
|
||||
defined(__IASMRISCV__) || \
|
||||
defined(__IASMRL78__) || \
|
||||
defined(__IASMRX__)
|
||||
EXTERN __iar_static_base$$GPREL
|
||||
SECTION CSTACK:DATA:NOROOT(4)
|
||||
SECTION `.cstartup`:CODE(2)
|
||||
CODE
|
||||
#elif defined(__IASMSTM8__)
|
||||
EXTERN CSTACK$$Limit
|
||||
SECTION `.near_func.text`:CODE:NOROOT(0)
|
||||
#endif
|
||||
|
||||
__program_start:
|
||||
__iar_program_start:
|
||||
main:
|
||||
NOP
|
||||
END
|
||||
main: NOP
|
||||
END
|
||||
|
||||
Reference in New Issue
Block a user