From 10c59c782c3b92e54054f7897c62fc281e26fa56 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Thu, 5 Apr 2012 14:01:54 -0500 Subject: [PATCH] link01 - Produce undefined list from relocatable and link errors This helps when tracking down how many undefined symbols there are and where they were defined. --- testsuite/link01/Makefile | 15 +++++++++------ testsuite/link01/Makefile_ldr | 31 +++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+), 6 deletions(-) create mode 100644 testsuite/link01/Makefile_ldr diff --git a/testsuite/link01/Makefile b/testsuite/link01/Makefile index a3a81de6..a5134fc3 100644 --- a/testsuite/link01/Makefile +++ b/testsuite/link01/Makefile @@ -5,6 +5,7 @@ include ../../config.inc PGM=${ARCH}/link01.exe +PGM_R=${ARCH}/link01_r.exe # optional managers required MANAGERS=all @@ -14,7 +15,7 @@ C_FILES = test.c C_O_FILES = $(C_FILES:%.c=${ARCH}/%.o) AM_CPPFLAGS += -I $(INSTALL_BASE)/include -LINK_LIBS += $(INSTALL_BASE)/libbsd.a -Wl,-r +LINK_LIBS += $(INSTALL_BASE)/libbsd.a ${REL_ARGS} include $(RTEMS_MAKEFILE_PATH)/Makefile.inc include $(RTEMS_CUSTOM) @@ -23,10 +24,12 @@ include $(PROJECT_ROOT)/make/leaf.cfg OBJS= $(C_O_FILES) CLEAN_ADDITIONS += undefined.txt -all: ${ARCH} $(PGM) +all: ${ARCH} $(PGM_R) $(PGM) + $(NM) $(PGM_R) | grep "U " >undefined.txt + @echo `cat undefined.txt | wc -l` symbols to resolve $(PGM): $(OBJS) - $(make-exe) - $(NM) $(PGM) | grep "U " >undefined.txt - @echo `cat undefined.txt | wc -l` symbols to resolve - @test `cat undefined.txt | wc -l` -ne 0 && exit 1 + -$(make-exe) + +$(PGM_R): $(OBJS) + $(MAKE) -f Makefile_ldr diff --git a/testsuite/link01/Makefile_ldr b/testsuite/link01/Makefile_ldr new file mode 100644 index 00000000..54db09a3 --- /dev/null +++ b/testsuite/link01/Makefile_ldr @@ -0,0 +1,31 @@ +# +# $Id$ +# + +include ../../config.inc + +PGM=${ARCH}/link01_r.exe + +# optional managers required +MANAGERS=all + +# C source names +C_FILES = test.c +C_O_FILES = $(C_FILES:%.c=${ARCH}/%.o) + +AM_CPPFLAGS += -I $(INSTALL_BASE)/include +LINK_LIBS += $(INSTALL_BASE)/libbsd.a -Wl,-r + +include $(RTEMS_MAKEFILE_PATH)/Makefile.inc +include $(RTEMS_CUSTOM) +include $(PROJECT_ROOT)/make/leaf.cfg + +OBJS= $(C_O_FILES) +CLEAN_ADDITIONS += undefined.txt + +all: ${ARCH} $(PGM) + +$(PGM): $(OBJS) + $(make-exe) + +# @test `cat undefined.txt | wc -l` -ne 0 && exit 1