Re: [U-Boot] [PATCH] x86: Fix car_uninit weak symbol definition

2018-10-28 Thread Bin Meng
On Fri, Oct 26, 2018 at 12:22 AM Heinrich Schuchardt  wrote:
>
> On 10/25/2018 12:05 PM, Bin Meng wrote:
> > Since commit 80df194f0165 ("x86: detect unsupported relocation types"),
> > an error message is seen on QEMU x86 target during boot:
> >
> > do_elf_reloc_fixups32: unsupported relocation type 0x1 at fff841f0, offset 
> > = 0xfff00087
> > do_elf_reloc_fixups32: unsupported relocation type 0x2 at fff841f8, offset 
> > = 0xfff00091
> >
> > Check offset 0xfff00087 and 0xfff00091 in the u-boot ELF image,
> >
> > fff00087  000df401 R_386_32     car_uninit
> > fff00091  000df402 R_386_PC32   car_uninit
> >
> > we see R_386_32 and R_386_PC32 relocation type is generated for
> > symbol car_uninit, which is declared as a weak symbol in start.S.
> >
> > However the actual weak symbol implementation ends up nowhere. As
> > we can see below, it's *UND*.
> >
> > $ objdump -t u-boot | grep car_uninit
> >   w  *UND*   car_uninit
> >
> > With this fix, it is normal now.
> >
> > $ objdump -t u-boot | grep car_uninit
> > fff00094  wF .text.start0001 car_uninit
> >
> > Reported-by: Hannes Schmelzer 
> > Signed-off-by: Bin Meng 
> > ---
>
> qemu-x86_defconfig works fine now.
>
> Tested-by: Heinrich Schuchardt 
> Reviewed-by: Heinrich Schuchardt 

applied to u-boot-x86, thanks!
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [PATCH] x86: Fix car_uninit weak symbol definition

2018-10-25 Thread Hannes Schmelzer

On 10/25/18 12:05 PM, Bin Meng wrote:

Since commit 80df194f0165 ("x86: detect unsupported relocation types"),
an error message is seen on QEMU x86 target during boot:

do_elf_reloc_fixups32: unsupported relocation type 0x1 at fff841f0, offset = 
0xfff00087
do_elf_reloc_fixups32: unsupported relocation type 0x2 at fff841f8, offset = 
0xfff00091

Check offset 0xfff00087 and 0xfff00091 in the u-boot ELF image,

fff00087  000df401 R_386_32     car_uninit
fff00091  000df402 R_386_PC32   car_uninit

we see R_386_32 and R_386_PC32 relocation type is generated for
symbol car_uninit, which is declared as a weak symbol in start.S.

However the actual weak symbol implementation ends up nowhere. As
we can see below, it's *UND*.

$ objdump -t u-boot | grep car_uninit
  w  *UND*   car_uninit

With this fix, it is normal now.


My pp065 board is also working fine with this.

Tested-by: Hannes Schmelzer 

___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [PATCH] x86: Fix car_uninit weak symbol definition

2018-10-25 Thread Heinrich Schuchardt
On 10/25/2018 12:05 PM, Bin Meng wrote:
> Since commit 80df194f0165 ("x86: detect unsupported relocation types"),
> an error message is seen on QEMU x86 target during boot:
> 
> do_elf_reloc_fixups32: unsupported relocation type 0x1 at fff841f0, offset = 
> 0xfff00087
> do_elf_reloc_fixups32: unsupported relocation type 0x2 at fff841f8, offset = 
> 0xfff00091
> 
> Check offset 0xfff00087 and 0xfff00091 in the u-boot ELF image,
> 
> fff00087  000df401 R_386_32     car_uninit
> fff00091  000df402 R_386_PC32   car_uninit
> 
> we see R_386_32 and R_386_PC32 relocation type is generated for
> symbol car_uninit, which is declared as a weak symbol in start.S.
> 
> However the actual weak symbol implementation ends up nowhere. As
> we can see below, it's *UND*.
> 
> $ objdump -t u-boot | grep car_uninit
>   w  *UND*   car_uninit
> 
> With this fix, it is normal now.
> 
> $ objdump -t u-boot | grep car_uninit
> fff00094  wF .text.start0001 car_uninit
> 
> Reported-by: Hannes Schmelzer 
> Signed-off-by: Bin Meng 
> ---

qemu-x86_defconfig works fine now.

Tested-by: Heinrich Schuchardt 
Reviewed-by: Heinrich Schuchardt 
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot