romlib: Allow patching of romlib functions
authorSathees Balya <sathees.balya@arm.com>
Thu, 18 Oct 2018 18:14:21 +0000 (19:14 +0100)
committerSathees Balya <sathees.balya@arm.com>
Thu, 22 Nov 2018 17:26:57 +0000 (17:26 +0000)
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>
lib/romlib/genwrappers.sh
lib/romlib/jmptbl.i
make_helpers/build_macros.mk

index bcf670b980fefde374d3866617fe3fb1d06521ae..48ee5a43b438ace4753aaa96766ccdf40dc01bd6 100755 (executable)
@@ -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
index 338cd8a7143d078ff2a173a67157fbfe37544f99..5e33e0e1b1c6bc065727a9a1d8d389d116bcd1fb 100644 (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
\ No newline at end of file
index e186fc100019064b64abe04316443398fb2b08f7..d60a5bf0ee8dc9d1629f197922d213e6f081e2f7 100644 (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      $$@"