This patch makes preparation for btf/kallsyms support of makedumpfile and extensions. Any needed kernel symbols/types will be reserved within a special section, .init_ksyms for kallsyms symbols and .init_ktypes for kernel types. During makedumpfile kallsyms/btf initialization, those missing info will be resolved. A makedumpfile.ld script is introduced for the purpose.
Reviewed-by: Stephen Brennan <[email protected]> Signed-off-by: Tao Liu <[email protected]> --- Makefile | 2 +- makedumpfile.ld | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 makedumpfile.ld diff --git a/Makefile b/Makefile index 74acbe2..9482332 100644 --- a/Makefile +++ b/Makefile @@ -113,7 +113,7 @@ $(OBJ_ARCH): $(SRC_ARCH) $(CC) $(CFLAGS_ARCH) -c -o ./$@ $(VPATH)$(@:.o=.c) makedumpfile: $(SRC_BASE) $(OBJ_PART) $(OBJ_ARCH) - $(CC) $(CFLAGS) $(LDFLAGS) $(OBJ_PART) $(OBJ_ARCH) -rdynamic -o $@ $< $(LIBS) + $(CC) $(CFLAGS) $(LDFLAGS) $(OBJ_PART) $(OBJ_ARCH) -rdynamic -Wl,-T,makedumpfile.ld -o $@ $< $(LIBS) @sed -e "s/@DATE@/$(DATE)/" \ -e "s/@VERSION@/$(VERSION)/" \ $(VPATH)makedumpfile.8.in > $(VPATH)makedumpfile.8 diff --git a/makedumpfile.ld b/makedumpfile.ld new file mode 100644 index 0000000..474ad41 --- /dev/null +++ b/makedumpfile.ld @@ -0,0 +1,16 @@ +SECTIONS +{ + .init_ksyms ALIGN(8) : { + __start_init_ksyms = .; + KEEP(*(.init_ksyms*)) + __stop_init_ksyms = .; + } + + .init_ktypes ALIGN(8) : { + __start_init_ktypes = .; + KEEP(*(.init_ktypes*)) + __stop_init_ktypes = .; + } +} +INSERT AFTER .data; + -- 2.54.0
