romlib: Allow patching of romlib functions

This change allows patching of functions in the
romlib. This can be done by adding "patch" at the
end of the jump table entry for the function that
needs to be patched in the file jmptbl.i.
Functions patched in the jump table list will be
built as part of the BL image and the romlib
version will not be used

Change-Id: Iefb200cb86e2a4b61ad3ee6180d3ecc39bad537f
Signed-off-by: Sathees Balya <sathees.balya@arm.com>
This commit is contained in:
Sathees Balya 2018-10-18 19:14:21 +01:00
parent c385955764
commit 6baf85b3e0
3 changed files with 8 additions and 4 deletions

View File

@ -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

View File

@ -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
@ -32,4 +36,4 @@
25 mbedtls mbedtls_x509_get_sig_alg
26 mbedtls mbedtls_md_info_from_type
27 c exit
28 c atexit
28 c atexit

View File

@ -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 $$@"