ports/Xen on CURRENT, error: ELF start or entries are out of bounds.
dfh0522 .
dfh0522 at gmail.com
Thu Mar 17 17:30:28 UTC 2016
> I've just noticied this issue, it's probably due to an issue with kernel
> linking. It seems like the physical address specified in the ELF program
> headers is wrong. I'm currently trying to bisect it in order to find the
> commit that caused it, in the meantime I can confirm that r295683 and
> older revisions should work fine.
I need to add WITHOUT_ELFCOPY_AS_OBJCOPY after r296096,
> $ readelf -l /boot/kernel/kernel
# readelf -l /boot/kernel/kernel
Elf file type is EXEC (Executable file)
Entry point 0xffffffff802fb000
There are 6 program headers, starting at offset 64
Program Headers:
Type Offset VirtAddr PhysAddr
FileSiz MemSiz Flg Align
PHDR 0x0000000000000040 0xffffffff80200040 0x0000000000200040
0x0000000000000150 0x0000000000000150 R E 0x8
INTERP 0x0000000000000190 0xffffffff80200190 0x0000000000200190
0x000000000000000d 0x000000000000000d R 0x1
[Requesting program interpreter: /red/herring]
LOAD 0x0000000000000000 0xffffffff80200000 0x0000000000200000
0x000000000147b978 0x000000000147b978 R E 0x200000
LOAD 0x000000000147b978 0xffffffff8187b978 0x000000000187b978
0x0000000000134e40 0x000000000056e448 RW 0x200000
DYNAMIC 0x000000000147b978 0xffffffff8187b978 0x000000000187b978
0x00000000000000d0 0x00000000000000d0 RW 0x8
GNU_STACK 0x0000000000000000 0x0000000000000000 0x0000000000000000
0x0000000000000000 0x0000000000000000 RWE 0x8
Section to Segment mapping:
Segment Sections...
00
01 .interp
02 .interp .hash .dynsym .dynstr .text .rodata set_sysctl_set
set_sysinit_set set_sysuninit_set set_modmetadata_set set_kdb_dbbe_set
set_ah_chips set_ah_rfs set_kbddriver_set set_sdt_providers_set
set_sdt_probes_set set_sdt_argtypes_set set_cons_set
set_gdb_dbgport_set usb_host_id set_vt_drv_set set_ratectl_set
set_crypto_set set_ieee80211_ioctl_getset set_ieee80211_ioctl_setset
set_scanner_set set_videodriver_set set_scterm_set set_scrndr_set
set_vga_set kern_conf .eh_frame
03 .dynamic .got.plt .data set_pcpu .bss
04 .dynamic
05
# objcopy --version GNU objcopy 2.17.50 [FreeBSD] 2007-07-03
> With the non-working kernel?
# readelf -l /boot/kernel.old/kernel
Elf file type is EXEC (Executable file)
Entry point 0xffffffff802fb000
There are 6 program headers, starting at offset 64
Program Headers:
Type Offset VirtAddr PhysAddr
FileSiz MemSiz Flg Align
PHDR 0x0000000000000040 0xffffffff80200040 0xffffffff80200040
0x0000000000000150 0x0000000000000150 R E 0x8
INTERP 0x0000000000000190 0xffffffff80200190 0xffffffff80200190
0x000000000000000d 0x000000000000000d R 0x1
[Requesting program interpreter: /red/herring]
LOAD 0x0000000000000000 0xffffffff80200000 0xffffffff80200000
0x000000000147a418 0x000000000147a418 R E 0x200000
LOAD 0x000000000147a418 0xffffffff8187a418 0xffffffff8187a418
0x0000000000134aa0 0x000000000056e0a8 RW 0x200000
DYNAMIC 0x000000000147a418 0xffffffff8187a418 0xffffffff8187a418
0x00000000000000d0 0x00000000000000d0 RW 0x8
GNU_STACK 0x0000000000000000 0x0000000000000000 0x0000000000000000
0x0000000000000000 0x0000000000000000 RWE 0x8
Section to Segment mapping:
Segment Sections...
00
01 .interp
02 .interp .hash .dynsym .dynstr .text .rodata set_sysctl_set
set_sysinit_set set_sysuninit_set set_modmetadata_set set_kdb_dbbe_set
set_ah_chips set_ah_rfs set_kbddriver_set set_sdt_providers_set
set_sdt_probes_set set_sdt_argtypes_set set_cons_set
set_gdb_dbgport_set usb_host_id set_vt_drv_set set_ratectl_set
set_crypto_set set_ieee80211_ioctl_getset set_ieee80211_ioctl_setset
set_scanner_set set_videodriver_set set_scterm_set set_scrndr_set
set_vga_set kern_conf .eh_frame
03 .dynamic .got.plt .data set_pcpu .bss
04 .dynamic
05
# objcopy --version objcopy (elftoolchain r3400M)
Cheers, JH.
More information about the freebsd-virtualization
mailing list