-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Closed
Description
When using Rosetta in the guest Linux environment, which is Debian testing in my case, Rosetta fails with VDSO & DT_HASH errors. This seemed to have started in the last week or so. As prior to then, everything was functioning. I'm guessing that it may be because Debian testing updated to a newer 6.11.4-arm64 kernel? Here is an example error:
$ file hello
hello: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, stripped
$ /media/rosetta/rosetta hello
assertion failed [hash_table != nullptr]: Failed to find vdso DT_HASH
(Vdso.cpp:78 get_vdso_dynamic_data)
Trace/breakpoint trap
$ strings /media/rosetta/rosetta | ag "Failed to find vdso DT_HASH"
Failed to find vdso DT_HASH
Note, I can run a Mach-O binary on the host platform with Rosetta, showing it must be related to the ELF header.
$ file hello
hello: Mach-O 64-bit executable x86_64
$ arch -x86_64 ./hello
Hello, World!
And the ELF sections are as such:
$ readelf -S hello
There are 13 section headers, starting at offset 0x3088:
Section Headers:
[Nr] Name Type Address Offset
Size EntSize Flags Link Info Align
[ 0] NULL 0000000000000000 00000000
0000000000000000 0000000000000000 0 0 0
[ 1] .init PROGBITS 0000000000401000 00001000
0000000000000003 0000000000000000 AX 0 0 1
[ 2] .text PROGBITS 0000000000401010 00001010
00000000000006ec 0000000000000000 AX 0 0 16
[ 3] .fini PROGBITS 00000000004016fc 000016fc
0000000000000003 0000000000000000 AX 0 0 1
[ 4] .rodata PROGBITS 0000000000402000 00002000
0000000000000332 0000000000000000 A 0 0 32
[ 5] .eh_frame PROGBITS 0000000000402338 00002338
0000000000000034 0000000000000000 A 0 0 8
[ 6] .init_array INIT_ARRAY 0000000000403fe8 00002fe8
0000000000000008 0000000000000008 WA 0 0 8
[ 7] .fini_array FINI_ARRAY 0000000000403ff0 00002ff0
0000000000000008 0000000000000008 WA 0 0 8
[ 8] .got PROGBITS 0000000000403ff8 00002ff8
0000000000000008 0000000000000000 WA 0 0 8
[ 9] .got.plt PROGBITS 0000000000404000 00003000
0000000000000018 0000000000000008 WA 0 0 8
[10] .data PROGBITS 0000000000404018 00003018
000000000000000c 0000000000000000 WA 0 0 8
[11] .bss NOBITS 0000000000404040 00003024
0000000000000258 0000000000000000 WA 0 0 32
[12] .shstrtab STRTAB 0000000000000000 00003024
0000000000000060 0000000000000000 0 0 1
I don't see DT_HASH, yet I'm not as familiar with this.
Configuration
- UTM Version: Version 4.5.4 (100)
- macOS Version: 15.0.1 (24A348)
- Mac Chip: Apple M1 Max
Metadata
Metadata
Assignees
Labels
No labels