diff --git a/lib/romlib/Makefile b/lib/romlib/Makefile index 46b920682..00dde31cd 100644 --- a/lib/romlib/Makefile +++ b/lib/romlib/Makefile @@ -15,6 +15,7 @@ LIBS = -lmbedtls -lfdt -lc INC = $(INCLUDES:-I%=-I../../%) PPFLAGS = $(INC) $(DEFINES) -P -D__ASSEMBLY__ -D__LINKER__ -MD -MP -MT $(BUILD_DIR)/romlib.ld OBJS = $(BUILD_DIR)/jmptbl.o $(BUILD_DIR)/init.o +MAPFILE = ../../$(BUILD_PLAT)/romlib/romlib.map V ?= 0 ifeq ($(V),0) @@ -25,7 +26,7 @@ endif ifeq ($(DEBUG),1) CFLAGS := -g - LDFLAGS := -g + LDFLAGS := -g --gc-sections -O1 -Map=$(MAPFILE) endif diff --git a/lib/romlib/genwrappers.sh b/lib/romlib/genwrappers.sh index bcf670b98..48ee5a43b 100755 --- a/lib/romlib/genwrappers.sh +++ b/lib/romlib/genwrappers.sh @@ -31,7 +31,7 @@ do done awk '{sub(/[:blank:]*#.*/,"")} -!/^$/ {print $1*4, $2, $3}' "$@" | +!/^$/ && !/\\tpatch$/ {print $1*4, $2, $3}' "$@" | while read idx lib sym do file=$build/${lib}_$sym diff --git a/lib/romlib/jmptbl.i b/lib/romlib/jmptbl.i index 338cd8a71..5eca5aab3 100644 --- a/lib/romlib/jmptbl.i +++ b/lib/romlib/jmptbl.i @@ -3,6 +3,10 @@ # # SPDX-License-Identifier: BSD-3-Clause # +# Format: +# index lib function [patch] +# Add "patch" at the end of the line to patch a function. For example: +# 14 mbedtls mbedtls_memory_buffer_alloc_init patch 0 rom rom_lib_init 1 fdt fdt_getprop_namelen @@ -27,9 +31,10 @@ 20 mbedtls mbedtls_pk_init 21 mbedtls mbedtls_pk_parse_subpubkey 22 mbedtls mbedtls_pk_verify_ext -23 mbedtls mbedtls_platform_set_snprintf -24 mbedtls mbedtls_x509_get_rsassa_pss_params -25 mbedtls mbedtls_x509_get_sig_alg -26 mbedtls mbedtls_md_info_from_type -27 c exit -28 c atexit +23 mbedtls mbedtls_platform_set_calloc_free +24 mbedtls mbedtls_platform_set_snprintf +25 mbedtls mbedtls_x509_get_rsassa_pss_params +26 mbedtls mbedtls_x509_get_sig_alg +27 mbedtls mbedtls_md_info_from_type +28 c exit +29 c atexit \ No newline at end of file diff --git a/make_helpers/build_macros.mk b/make_helpers/build_macros.mk index e186fc100..d60a5bf0e 100644 --- a/make_helpers/build_macros.mk +++ b/make_helpers/build_macros.mk @@ -338,7 +338,7 @@ LDPATHS = -L${LIB_DIR} LDLIBS += -l$(1) ifeq ($(USE_ROMLIB),1) -LDLIBS := -lwrappers -lc +LIBWRAPPER = -lwrappers endif all: ${LIB_DIR}/lib$(1).a @@ -402,7 +402,7 @@ else endif $$(Q)$$(LD) -o $$@ $$(TF_LDFLAGS) $$(LDFLAGS) -Map=$(MAPFILE) \ --script $(LINKERFILE) $(BUILD_DIR)/build_message.o \ - $(OBJS) $(LDPATHS) $(LDLIBS) $(BL_LIBS) + $(OBJS) $(LDPATHS) $(LIBWRAPPER) $(LDLIBS) $(BL_LIBS) $(DUMP): $(ELF) $${ECHO} " OD $$@"