On Wed, Jul 10, 2024 at 06:26:19PM +0200, Caleb Connolly wrote:
> This is mostly a port of the Xen hypervisor implementation. The U-Boot
> binary is built as normal, then its symbol table is fed into
> tools/symbols to generate an optimised lookup table. U-Boot is rebuilt
> with the symbol table and handling code in lib/symbols.c.
>
> Based on code from Xen at
> c20850540ad6("x86/altcall: always use a temporary parameter stashing
> variable")
>
> Signed-off-by: Caleb Connolly <[email protected]>
[snip]
> diff --git a/lib/Kconfig b/lib/Kconfig
> index b3baa4b85b07..06a78f83b7d6 100644
> --- a/lib/Kconfig
> +++ b/lib/Kconfig
> @@ -977,8 +977,14 @@ config VPL_OF_LIBFDT_ASSUME_MASK
> are made, and libfdt is able to deal with malicious data. A value of
> 0xff means all assumptions are made and any invalid data may cause
> unsafe execution. See FDT_ASSUME_PERFECT, etc. in libfdt_internal.h
>
> +config SYMBOL_LOOKUP
> + bool "Enable symbol lookup"
> + help
> + This enables support for looking up symbol names from addresses. The
> + primary usecase for this is improved debugging support.This only works on aarch64 for now so please add a depends on. > diff --git a/lib/Makefile b/lib/Makefile > index e389ad014f89..a4ccda76f438 100644 > --- a/lib/Makefile > +++ b/lib/Makefile > @@ -121,8 +121,9 @@ obj-y += linux_string.o > obj-$(CONFIG_LMB) += lmb.o > obj-y += membuff.o > obj-$(CONFIG_REGEX) += slre.o > obj-y += string.o > +#obj-y += symbols.o > obj-y += tables_csum.o > obj-y += time.o > obj-y += hexdump.o > obj-$(CONFIG_GETOPT) += getopt.o Drop this hunk. > diff --git a/lib/symbols.c b/lib/symbols.c > new file mode 100644 > index 000000000000..e881d5603425 > --- /dev/null > +++ b/lib/symbols.c > @@ -0,0 +1,126 @@ [snip] > +DECLARE_GLOBAL_DATA_PTR; You can drop this since there's no references to 'gd'. -- Tom
signature.asc
Description: PGP signature

