diff --git a/bsp/qemu-vexpress-a9/qemu-nographic.sh b/bsp/qemu-vexpress-a9/qemu-nographic.sh new file mode 100644 index 0000000000..bf808dead2 --- /dev/null +++ b/bsp/qemu-vexpress-a9/qemu-nographic.sh @@ -0,0 +1 @@ +qemu-system-arm -M vexpress-a9 -kernel rtthread.elf -nographic diff --git a/bsp/qemu-vexpress-a9/rtconfig.py b/bsp/qemu-vexpress-a9/rtconfig.py index 0bd53277f5..1592f574f5 100644 --- a/bsp/qemu-vexpress-a9/rtconfig.py +++ b/bsp/qemu-vexpress-a9/rtconfig.py @@ -37,7 +37,7 @@ if PLATFORM == 'gcc': CFLAGS = DEVICE + ' -Wall' AFLAGS = ' -c' + DEVICE + ' -x assembler-with-cpp -D__ASSEMBLY__' LINK_SCRIPT = 'link.lds' - LFLAGS = DEVICE + ' -Wl,--gc-sections,-Map=rtthread.map,-cref,-u,system_vectors'+\ + LFLAGS = DEVICE + ' -nostartfiles -Wl,--gc-sections,-Map=rtthread.map,-cref,-u,system_vectors'+\ ' -T %s' % LINK_SCRIPT CPATH = '' diff --git a/tools/building.py b/tools/building.py index 79c013527b..d855aaebdc 100644 --- a/tools/building.py +++ b/tools/building.py @@ -303,6 +303,11 @@ def PrepareBuilding(env, root_directory, has_libcpu=False, remove_components = [ LINKCOMSTR = 'LINK $TARGET' ) + # fix the linker for C++ + if GetDepend('RT_USING_CPLUSPLUS'): + if env['LINK'].find('gcc') != -1: + env['LINK'] = env['LINK'].replace('gcc', 'g++') + # we need to seperate the variant_dir for BSPs and the kernels. BSPs could # have their own components etc. If they point to the same folder, SCons # would find the wrong source code to compile.