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 <caleb.conno...@linaro.org>
[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

Attachment: signature.asc
Description: PGP signature

Reply via email to