Test gcc memap parser with compiler provided .o's

pull/5775/head
Jimmy Brisson 2018-01-02 14:35:17 -06:00
parent bfd39bdccb
commit 3db03a77d5
2 changed files with 14 additions and 4 deletions

View File

@ -8,6 +8,7 @@ Linker script and memory map
0x000000000001b200 0xc0 /common/path/startup/startup.o
0x000000000001b200 startup()
0x0000000000024020 0x8 /usr/lib/gcc/arm-none-eabi/7.1.0/../../../../arm-none-eabi/lib/armv6-m/libd16M_tlf.a(__main.o)
0x0000000000024020 0x8 /usr/lib/gcc/arm-none-eabi/7.1.0/../../../../arm-none-eabi/lib/armv6-m/foo.o
.data 0x0000000020002ef8 0xac8 load address 0x000000000002ca38
0x0000000020002ef8 __data_start__ = .

View File

@ -24,7 +24,7 @@ def test_parse_armcc():
memap.parse(join(dirname(__file__), "arm.map"), "UARM")
assert memap.modules == PARSED_ARM_DATA
PARSED_IAR_GCC_DATA = {
PARSED_IAR_DATA = {
"startup/startup.o": {".text": 0xc0},
"[lib]/d16M_tlf.a/__main.o": {".text": 8},
"irqs/irqs.o": {".text": 0x98},
@ -35,14 +35,23 @@ PARSED_IAR_GCC_DATA = {
def test_parse_iar():
memap = MemapParser()
memap.parse(join(dirname(__file__), "iar.map"), "IAR")
assert memap.modules == PARSED_IAR_GCC_DATA
assert memap.modules == PARSED_IAR_DATA
PARSED_GCC_DATA = {
"startup/startup.o": {".text": 0xc0},
"[lib]/d16M_tlf.a/__main.o": {".text": 8},
"[lib]/misc/foo.o": {".text": 8},
"irqs/irqs.o": {".text": 0x98},
"data/data.o": {".data": 0x18, ".bss": 0x198},
"main.o": {".text": 0x36},
}
def test_parse_gcc():
memap = MemapParser()
memap.parse(join(dirname(__file__), "gcc.map"), "GCC_ARM")
assert memap.modules == PARSED_IAR_GCC_DATA
assert memap.modules == PARSED_GCC_DATA
memap.parse(join(dirname(__file__), "gcc.map"), "GCC_CR")
assert memap.modules == PARSED_IAR_GCC_DATA
assert memap.modules == PARSED_GCC_DATA
def test_add_empty_module():