[PATCH] Arc: fix entry point calculation for locales other than english
Vineet Gupta
Vineet.Gupta1 at synopsys.com
Wed Nov 4 03:56:28 PST 2015
On Tuesday 03 November 2015 11:04 PM, Lada Trimasova wrote:
> The problem was detected while making uImage.
> To find the line with entry point address in the result
> of the "readelf -h vmlinux" command "grep ENTRY POINT" is used.
>
> But if the operating system locale is not english,
> command readelf returns lines in local language.
>
> Grep cannot find the line which contains "ENTRY POINT" in english.
> Our decision uses readelf key which displays the symbol table.
> Using grep _stext it finds the line with entry point in this table.
>
> Signed-off-by: Lada Trimasova <ltrimas at synopsys.com>
> Cc: Vineet Gupta <vgupta at synopsys.com>
> Cc: Alexey Brodkin <abrodkin at synopsys.com>
> ---
> arch/arc/boot/Makefile | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/arch/arc/boot/Makefile b/arch/arc/boot/Makefile
> index e597cb34..fa89a47 100644
> --- a/arch/arc/boot/Makefile
> +++ b/arch/arc/boot/Makefile
> @@ -6,8 +6,7 @@ targets := vmlinux.bin vmlinux.bin.gz uImage
>
> OBJCOPYFLAGS= -O binary -R .note -R .note.gnu.build-id -R .comment -S
>
> -LINUX_START_TEXT = $$(readelf -h vmlinux | \
> - grep "Entry point address" | grep -o 0x.*)
> +LINUX_START_TEXT = $$(readelf -s vmlinux | grep _stext | awk '{print $$2}')
This seems too fragile. You are assuming _stext will be the entry point which I
recently changed and merged in Linux tree for 4.4-rc1.
See commit 3971cdc202f638f252e39316d42492ace04cc1b1
"ARC: boot: Support Halt-on-reset and Run-on-reset SMP booting modes"
And even if we change ur patch to use re_Service, it is still not future proof. We
need to somehow rely on elf header for this !
I do see your problem but lets us see how other arches do it !
>
> UIMAGE_LOADADDR = $(CONFIG_LINUX_LINK_BASE)
> UIMAGE_ENTRYADDR = $(LINUX_START_TEXT)
>
More information about the linux-snps-arc
mailing list