TESTROOT = ../..
include ${TESTROOT}/include/common.makefile
run: all
all:
${CC} ${CCFLAGS} main.c -c -o main.o -flto
${CC} ${CCFLAGS} foo.c -c -o foo.o -flto
${CC} ${CCFLAGS} other.c -c -o other.o -flto
${LD} -arch ${ARCH} main.o foo.o other.o -preload -o main.preload \
-e _foo -trace_symbol_layout \
-move_to_ro_segment __ROM1 rom1.symbols \
-move_to_rw_segment __RAM1 ram1.symbols
nm -m main.preload | grep _mainget | grep __ROM1 | grep __text | ${FAIL_IF_EMPTY}
nm -m main.preload | grep _getpi | grep __ROM1 | grep __text | ${FAIL_IF_EMPTY}
nm -m main.preload | grep _bar | grep __ROM1 | grep __text | ${FAIL_IF_EMPTY}
nm -m main.preload | grep _foo | grep __ROM1 | grep __text | ${FAIL_IF_EMPTY}
nm -m main.preload | grep _def | grep __RAM1 | grep __data | ${FAIL_IF_EMPTY}
nm -m main.preload | grep _ghi | grep __RAM1 | grep __data | ${FAIL_IF_EMPTY}
nm -m main.preload | grep _com | grep __RAM1 | grep __bss | ${FAIL_IF_EMPTY}
nm -m main.preload | grep _abc | grep __RAM1 | grep __data | ${FAIL_IF_EMPTY}
nm -m main.preload | grep _com4 | grep __RAM1 | grep __bss | ${FAIL_IF_EMPTY}
nm -m main.preload | grep _main | grep __TEXT | grep __text | ${FAIL_IF_EMPTY}
nm -m main.preload | grep _version | grep __TEXT | grep __text | ${FAIL_IF_EMPTY}
nm -m main.preload | grep _otherget | grep __TEXT | grep __text | ${FAIL_IF_EMPTY}
nm -m main.preload | grep _mylocal | grep __TEXT | grep __text | ${FAIL_IF_EMPTY}
nm -m main.preload | grep _x | grep __DATA | grep __data | ${FAIL_IF_EMPTY}
nm -m main.preload | grep _all | grep __DATA | grep __data | ${FAIL_IF_EMPTY}
nm -m main.preload | grep _x | grep __DATA | grep __data | ${FAIL_IF_EMPTY}
nm -m main.preload | grep _com5 | grep __DATA | grep __bss | ${FAIL_IF_EMPTY}
${PASS_IFF} true
clean:
rm -f main.preload main.o other.o foo.o