gcompat issueshttps://git.adelielinux.org/adelie/gcompat/-/issues2022-10-21T12:40:35Zhttps://git.adelielinux.org/adelie/gcompat/-/issues/355Please consider making a new release2022-10-21T12:40:35ZAleksana QwQPlease consider making a new releaseThere are already 20+ commits since last release two years ago. Managing new features is problematic for packagers.There are already 20+ commits since last release two years ago. Managing new features is problematic for packagers.https://git.adelielinux.org/adelie/gcompat/-/issues/349`fopen("/proc/self/exe", ...)` opens the dynamic linker instead of the expect...2022-10-17T06:45:22ZS. Zeid`fopen("/proc/self/exe", ...)` opens the dynamic linker instead of the expected targetCalling `fopen("/proc/self/exe", "rb")` should return a stream for the file being executed. Instead, it returns a stream for the dynamic linker, e.g. `/lib/ld-musl-x86_64.so.1` on Alpine Linux edge x86_64 with gcompat-1.0.0-r4.
This le...Calling `fopen("/proc/self/exe", "rb")` should return a stream for the file being executed. Instead, it returns a stream for the dynamic linker, e.g. `/lib/ld-musl-x86_64.so.1` on Alpine Linux edge x86_64 with gcompat-1.0.0-r4.
This leads to AppImages failing to run with [the error message "This doesn't look like a squashfs image." from squashfuse](https://github.com/vasi/squashfuse/blob/e51978cd6bb5c4d16fae9eee43d0b258f570bb0f/util.c#L81-L82), since squashfuse is attempting to read the linker instead of the AppImage itself.
See <https://github.com/AppImage/AppImageKit/pull/1168>. However, that fix would only affect newly built AppImages. Existing AppImages would still have this problem.
Test case: [proc-self-exe-test.c](/uploads/c4863752016def85f2a79c9568b29f94/proc-self-exe-test.c)
Sample output: [proc-self-exe-test.out.txt](/uploads/26ed181d2883684000c5676c8aa10d6d/proc-self-exe-test.out.txt)https://git.adelielinux.org/adelie/gcompat/-/issues/354Segmentation Fault when glibc binary has TLS header2022-08-27T16:36:26ZMora UnieSegmentation Fault when glibc binary has TLS headerI'm going to move to my Gentoo Musl build and I decided to use gcompat for glibc precompiled binaries. Everything works fine, until precompiled binary has TLS header.
Musl and gcompat are built with debug symbols to show additional info...I'm going to move to my Gentoo Musl build and I decided to use gcompat for glibc precompiled binaries. Everything works fine, until precompiled binary has TLS header.
Musl and gcompat are built with debug symbols to show additional information. Neither changing optimization flags nor preloading gcompat shared object helps. I tested three glibc binaries:
dummy_glibc - Binary compiled on Arch Linux of `int main(){}` dummy. As it doesn't have TLS header, it works.
```
dummy_glibc: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=1c389cec7d30338441e49d3af709c74840680b85, for GNU/Linux 4.4.0, with debug_info, not stripped
```
```
Elf file type is DYN (Position-Independent Executable file)
Entry point 0x1020
There are 13 program headers, starting at offset 64
Program Headers:
Type Offset VirtAddr PhysAddr
FileSiz MemSiz Flags Align
PHDR 0x0000000000000040 0x0000000000000040 0x0000000000000040
0x00000000000002d8 0x00000000000002d8 R 0x8
INTERP 0x0000000000000318 0x0000000000000318 0x0000000000000318
0x000000000000001c 0x000000000000001c R 0x1
[Requesting program interpreter: /lib64/ld-linux-x86-64.so.2]
LOAD 0x0000000000000000 0x0000000000000000 0x0000000000000000
0x00000000000005f8 0x00000000000005f8 R 0x1000
LOAD 0x0000000000001000 0x0000000000001000 0x0000000000001000
0x0000000000000131 0x0000000000000131 R E 0x1000
LOAD 0x0000000000002000 0x0000000000002000 0x0000000000002000
0x0000000000000074 0x0000000000000074 R 0x1000
LOAD 0x0000000000002e10 0x0000000000003e10 0x0000000000003e10
0x0000000000000200 0x0000000000000208 RW 0x1000
DYNAMIC 0x0000000000002e20 0x0000000000003e20 0x0000000000003e20
0x00000000000001a0 0x00000000000001a0 RW 0x8
NOTE 0x0000000000000338 0x0000000000000338 0x0000000000000338
0x0000000000000040 0x0000000000000040 R 0x8
NOTE 0x0000000000000378 0x0000000000000378 0x0000000000000378
0x0000000000000044 0x0000000000000044 R 0x4
GNU_PROPERTY 0x0000000000000338 0x0000000000000338 0x0000000000000338
0x0000000000000040 0x0000000000000040 R 0x8
GNU_EH_FRAME 0x0000000000002004 0x0000000000002004 0x0000000000002004
0x000000000000001c 0x000000000000001c R 0x4
GNU_STACK 0x0000000000000000 0x0000000000000000 0x0000000000000000
0x0000000000000000 0x0000000000000000 RW 0x10
GNU_RELRO 0x0000000000002e10 0x0000000000003e10 0x0000000000003e10
0x00000000000001f0 0x00000000000001f0 R 0x1
Section to Segment mapping:
Segment Sections...
00
01 .interp
02 .interp .note.gnu.property .note.gnu.build-id .note.ABI-tag .gnu.hash .dynsym .dynstr .gnu.version .gnu.version_r .rela.dyn
03 .init .text .fini
04 .rodata .eh_frame_hdr .eh_frame
05 .init_array .fini_array .dynamic .got .got.plt .data .bss
06 .dynamic
07 .note.gnu.property
08 .note.gnu.build-id .note.ABI-tag
09 .note.gnu.property
10 .eh_frame_hdr
11
12 .init_array .fini_array .dynamic .got .got.plt
```
```
(gdb) r
Starting program: /home/mora/dummy_glibc
warning: Unable to find dynamic linker breakpoint function.
GDB will be unable to debug shared library initializers
and track explicitly loaded dynamic code.
process 12057 is executing new program: /usr/lib/libc.so
warning: Unable to find libthread_db matching inferior's thread library, thread debugging will not be available.
[Inferior 1 (process 12057) exited normally]
(gdb) p __libc.tls_head
$1 = (struct tls_module *) 0x0
(gdb) p __libc.tls_size
$2 = 0
(gdb) p __libc.tls_cnt
$3 = 0
```
Kotatogram - Binary compiled in Docker environment
```
Kotatogram: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=19394b23d73341ec7b44c399c0cd19a1f724f433, for GNU/Linux 2.6.32, stripped
```
```
Elf file type is EXEC (Executable file)
Entry point 0x1cb30c6
There are 13 program headers, starting at offset 64
Program Headers:
Type Offset VirtAddr PhysAddr
FileSiz MemSiz Flags Align
PHDR 0x0000000000000040 0x00000000003ff040 0x00000000003ff040
0x00000000000002d8 0x00000000000002d8 R 0x8
GNU_STACK 0x0000000000001000 0x0000000000000000 0x0000000000000000
0x0000000000000000 0x0000000000000000 RW 0x10
LOAD 0x0000000000000000 0x00000000003ff000 0x00000000003ff000
0x0000000000001000 0x0000000000001000 RW 0x1000
INTERP 0x0000000000000318 0x00000000003ff318 0x00000000003ff318
0x000000000000001c 0x000000000000001c R 0x1
[Requesting program interpreter: /lib64/ld-linux-x86-64.so.2]
LOAD 0x0000000000001000 0x0000000000400000 0x0000000000400000
0x00000000014dbd18 0x00000000014dbd18 R 0x1000
NOTE 0x00000000000012fc 0x00000000004002fc 0x00000000004002fc
0x0000000000000044 0x0000000000000044 R 0x4
LOAD 0x00000000014dd000 0x00000000018dc000 0x00000000018dc000
0x0000000004dbc655 0x0000000004dbc655 R E 0x1000
LOAD 0x000000000629a000 0x0000000006699000 0x0000000006699000
0x00000000026f43fd 0x00000000026f43fd R 0x1000
GNU_EH_FRAME 0x0000000007a9d4e0 0x0000000007e9c4e0 0x0000000007e9c4e0
0x00000000001ea61c 0x00000000001ea61c R 0x4
LOAD 0x000000000898ea20 0x0000000008d8ea20 0x0000000008d8ea20
0x0000000000303240 0x00000000007fe650 RW 0x1000
TLS 0x000000000898ea20 0x0000000008d8ea20 0x0000000008d8ea20
0x0000000000001848 0x0000000000001988 R 0x10
GNU_RELRO 0x000000000898ea20 0x0000000008d8ea20 0x0000000008d8ea20
0x00000000002805e0 0x00000000002805e0 R 0x1
DYNAMIC 0x0000000008c05980 0x0000000009005980 0x0000000009005980
0x00000000000002b0 0x00000000000002b0 RW 0x8
Section to Segment mapping:
Segment Sections...
00
01
02 .interp
03 .interp
04 .note.gnu.build-id .note.ABI-tag .gnu.hash .dynsym .dynstr .gnu.version .gnu.version_r .rela.dyn .rela.plt
05 .note.gnu.build-id .note.ABI-tag
06 .init .plt .text .fini
07 .rodata .qtmetadata .qtmimedatabase .eh_frame_hdr .eh_frame .gcc_except_table
08 .eh_frame_hdr
09 .tdata .init_array .fini_array .data.rel.ro .dynamic .got .data .bss
10 .tdata .tbss
11 .tdata .init_array .fini_array .data.rel.ro .dynamic .got
12 .dynamic
```
```
(gdb) r
Starting program: /home/mora/Kotatogram
warning: Unable to find dynamic linker breakpoint function.
GDB will be unable to debug shared library initializers
and track explicitly loaded dynamic code.
Program received signal SIGSEGV, Segmentation fault.
memcpy () at src/string/x86_64/memcpy.s:18
18 rep
(gdb) bt
#0 memcpy () at src/string/x86_64/memcpy.s:18
#1 0x00007ffff7fe42d4 in __copy_tls (mem=0x7ffff7fd99a0 "") at src/env/__init_tls.c:66
#2 static_init_tls (aux=aux@entry=0x7fffffffe400) at src/env/__init_tls.c:149
#3 0x00007ffff7fe3d5c in __init_libc (envp=envp@entry=0x7fffffffe578, pn=<optimized out>) at src/env/__libc_start_main.c:39
#4 0x00007ffff7fe3fd1 in __libc_start_main (main=0x7ffff7fe9190 <main>, argc=1, argv=0x7fffffffe568, init_dummy=<optimized out>,
fini_dummy=<optimized out>, ldso_dummy=<optimized out>) at src/env/__libc_start_main.c:80
#5 0x00007ffff7fe3956 in _start () from /lib64/ld-linux-x86-64.so.2
#6 0x0000000000000001 in ?? ()
#7 0x00007fffffffe823 in ?? ()
#8 0x0000000000000000 in ?? ()
(gdb) p __libc.tls_head
$1 = (tls_module *) 0x7ffff7ff2e00 <main_tls>
(gdb) p __libc.tls_size
$2 = 6768
(gdb) p __libc.tls_cnt
$3 = 1
```
vivaldi-bin - Binary from Vivaldi Snapshot .deb package
```
vivaldi-bin: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=88523a487f1e9ce515bc9cdf9784f22990e1dd52, stripped
```
```
Elf file type is DYN (Position-Independent Executable file)
Entry point 0x23b0000
There are 18 program headers, starting at offset 64
Program Headers:
Type Offset VirtAddr PhysAddr
FileSiz MemSiz Flags Align
PHDR 0x0000000000000040 0x0000000000000040 0x0000000000000040
0x00000000000003f0 0x00000000000003f0 R 0x8
LOAD 0x0000000000000000 0x0000000000000000 0x0000000000000000
0x00000000023ae90c 0x00000000023ae90c R 0x1000
GNU_STACK 0x0000000000000000 0x0000000000000000 0x0000000000000000
0x0000000000000000 0x0000000000000000 RW 0x0
GNU_EH_FRAME 0x00000000022dd0bc 0x00000000022dd0bc 0x00000000022dd0bc
0x00000000000231a4 0x00000000000231a4 R 0x4
LOAD 0x00000000023af000 0x00000000023b0000 0x00000000023b0000
0x000000000b5d40e0 0x000000000b5d40e0 R E 0x1000
LOAD 0x000000000d9830e0 0x000000000d9850e0 0x000000000d9850e0
0x0000000000848170 0x0000000000848170 RW 0x1000
TLS 0x000000000d9830e0 0x000000000d9850e0 0x000000000d9850e0
0x0000000000000040 0x0000000000000178 R 0x10
GNU_RELRO 0x000000000d9830e0 0x000000000d9850e0 0x000000000d9850e0
0x0000000000848170 0x0000000000848f20 R 0x1
DYNAMIC 0x000000000e1c6560 0x000000000e1c8560 0x000000000e1c8560
0x00000000000003c0 0x00000000000003c0 RW 0x8
LOAD 0x000000000e1cb280 0x000000000e1ce280 0x000000000e1ce280
0x000000000008b610 0x00000000001d1ce0 RW 0x1000
LOAD 0x000000000e258000 0x000000000e3a0000 0x000000000e3a0000
0x00000000000087e8 0x00000000000087e8 RW 0x1000
NOTE 0x000000000e260780 0x000000000e3a8780 0x000000000e3a8780
0x0000000000000020 0x0000000000000020 R 0x4
NOTE 0x000000000e2607a0 0x000000000e3a87a0 0x000000000e3a87a0
0x0000000000000020 0x0000000000000020 R 0x4
NOTE 0x000000000e2607c0 0x000000000e3a87c0 0x000000000e3a87c0
0x0000000000000024 0x0000000000000024 R 0x4
LOAD 0x000000000e261000 0x000000000e3a9000 0x000000000e3a9000
0x0000000000000020 0x0000000000000020 RW 0x1000
LOAD 0x000000000e262000 0x000000000e3aa000 0x000000000e3aa000
0x0000000000000020 0x0000000000000020 RW 0x1000
INTERP 0x000000000e263000 0x000000000e3ab000 0x000000000e3ab000
0x000000000000001c 0x000000000000001c R 0x1
[Requesting program interpreter: /lib64/ld-linux-x86-64.so.2]
LOAD 0x000000000e263000 0x000000000e3ab000 0x000000000e3ab000
0x0000000000000020 0x0000000000000020 RW 0x1000
Section to Segment mapping:
Segment Sections...
00
01 .gnu.version .gnu.version_r .gnu.hash .dynstr .rela.dyn .rela.plt .rodata .gcc_except_table .eh_frame_hdr .eh_frame
02
03 .eh_frame_hdr
04 .text .init .fini malloc_hook .plt
05 .tdata .fini_array .init_array .data.rel.ro .dynamic .got .got.plt
06 .tdata .tbss
07 .tdata .fini_array .init_array .data.rel.ro .dynamic .got .got.plt
08 .dynamic
09 .data .bss
10 .dynsym .note.ABI-tag .note.crashpad.info .note.gnu.build-id
11 .note.ABI-tag
12 .note.crashpad.info
13 .note.gnu.build-id
14
15
16 .interp
17 .interp
```
```
(gdb) r
Starting program: /opt/vivaldi-snapshot/vivaldi-bin
warning: Unable to find dynamic linker breakpoint function.
GDB will be unable to debug shared library initializers
and track explicitly loaded dynamic code.
Program received signal SIGSEGV, Segmentation fault.
memcpy () at src/string/x86_64/memcpy.s:18
18 rep
(gdb) bt
#0 memcpy () at src/string/x86_64/memcpy.s:18
#1 0x00007ffff7fe42d4 in __copy_tls (mem=0x7ffff7fd9190 "") at src/env/__init_tls.c:66
#2 static_init_tls (aux=aux@entry=0x7fffffffe3e0) at src/env/__init_tls.c:149
#3 0x00007ffff7fe3d5c in __init_libc (envp=envp@entry=0x7fffffffe558, pn=<optimized out>) at src/env/__libc_start_main.c:39
#4 0x00007ffff7fe3fd1 in __libc_start_main (main=0x7ffff7fe9190 <main>, argc=1, argv=0x7fffffffe548, init_dummy=<optimized out>,
fini_dummy=<optimized out>, ldso_dummy=<optimized out>) at src/env/__libc_start_main.c:80
#5 0x00007ffff7fe3956 in _start () from /lib64/ld-linux-x86-64.so.2
#6 0x0000000000000001 in ?? ()
#7 0x00007fffffffe80b in ?? ()
#8 0x0000000000000000 in ?? ()
(gdb) p __libc.tls_head
$1 = (tls_module *) 0x7ffff7ff2e00 <main_tls>
(gdb) p __libc.tls_size
$2 = 608
(gdb) p __libc.tls_cnt
$3 = 1
```https://git.adelielinux.org/adelie/gcompat/-/issues/344SIGSEGV in savestate_r2022-02-20T03:19:02ZPatrycja Rosaadelie@ptrcnull.meSIGSEGV in savestate_r```
(gdb) bt
#0 0x00007fefa3eea0c3 in savestate_r () at /lib/libgcompat.so.0
#1 0x00007fefa3eea269 in initstate_r () at /lib/libgcompat.so.0
#2 0x00007fef9efd03f9 in () at /home/patrycja/Downloads/spotify-client_1.1.72.439.gc253025e/...```
(gdb) bt
#0 0x00007fefa3eea0c3 in savestate_r () at /lib/libgcompat.so.0
#1 0x00007fefa3eea269 in initstate_r () at /lib/libgcompat.so.0
#2 0x00007fef9efd03f9 in () at /home/patrycja/Downloads/spotify-client_1.1.72.439.gc253025e/usr/share/spotify/libcef.so
#3 0x0000000000000000 in ()
```https://git.adelielinux.org/adelie/gcompat/-/issues/345Would you please support Android SDK ?2021-12-22T01:33:28ZFeng YuWould you please support Android SDK ?I run Alpine with Android SDK. Here is the ldd result:
```sh
/opt/android_sdk/build-tools/27.0.0 # ldd ./aapt2
/lib64/ld-linux-x86-64.so.2 (0x7fa9ffdb3000)
libc++.so => ./lib64/libc++.so (0x7fa9ffa81000)
libz.so...I run Alpine with Android SDK. Here is the ldd result:
```sh
/opt/android_sdk/build-tools/27.0.0 # ldd ./aapt2
/lib64/ld-linux-x86-64.so.2 (0x7fa9ffdb3000)
libc++.so => ./lib64/libc++.so (0x7fa9ffa81000)
libz.so.1 => /lib/libz.so.1 (0x7fa9ffa67000)
libpthread.so.0 => /lib64/ld-linux-x86-64.so.2 (0x7fa9ffdb3000)
libm.so.6 => /lib64/ld-linux-x86-64.so.2 (0x7fa9ffdb3000)
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x7fa9ffa4d000)
libc.so.6 => /lib64/ld-linux-x86-64.so.2 (0x7fa9ffdb3000)
ld-linux-x86-64.so.2 => /lib/ld-linux-x86-64.so.2 (0x7fa9ffa47000)
librt.so.1 => /lib64/ld-linux-x86-64.so.2 (0x7fa9ffdb3000)
libdl.so.2 => /lib64/ld-linux-x86-64.so.2 (0x7fa9ffdb3000)
Error relocating ./lib64/libc++.so: strtoll_l: symbol not found
Error relocating ./lib64/libc++.so: strtoull_l: symbol not found
Error relocating ./aapt2: __snprintf_chk: symbol not found
Error relocating ./aapt2: __vsnprintf_chk: symbol not found
Error relocating ./aapt2: __strdup: symbol not found
Error relocating ./aapt2: __strtok_r: symbol not found
Error relocating ./aapt2: __fprintf_chk: symbol not found
Error relocating ./aapt2: __strcat_chk: symbol not found
Error relocating ./aapt2: __strncat_chk: symbol not found
Error relocating ./aapt2: __strncpy_chk: symbol not found
Error relocating ./aapt2: __longjmp_chk: symbol not found
Error relocating ./aapt2: __longjmp_chk: symbol not found
```
Thankshttps://git.adelielinux.org/adelie/gcompat/-/issues/343execve error on 32 bit architecture2021-07-27T01:30:31ZDull Bananasexecve error on 32 bit architectureI installed gcompat and when I try running a glibc-linked binary, it exits with this error:
```
execve: No such file or directory
```
`strace` shows that it's looking for /lib/ld-musl-x86.so.1, but I only have /lib/ld-musl-i386.so.1I installed gcompat and when I try running a glibc-linked binary, it exits with this error:
```
execve: No such file or directory
```
`strace` shows that it's looking for /lib/ld-musl-x86.so.1, but I only have /lib/ld-musl-i386.so.1https://git.adelielinux.org/adelie/gcompat/-/issues/334gcompat: Bus Error when running 7za arm64 glibc binary on Alpine2020-08-22T06:25:28ZEmilygcompat: Bus Error when running 7za arm64 glibc binary on Alpine| | |
| --- | --- |
| Bugzilla ID | 334 |
| Reporter | kittens |
| Assignee | A. Wilcox (awilfox) |
| Reported | 2020-07-20 03:17:57 -0500 |
| Modified | 2020-08-22 01:25:28 -0500 |
| Status | RESOLVED FIXED |
| Version | 0.4.0 |
| Har...| | |
| --- | --- |
| Bugzilla ID | 334 |
| Reporter | kittens |
| Assignee | A. Wilcox (awilfox) |
| Reported | 2020-07-20 03:17:57 -0500 |
| Modified | 2020-08-22 01:25:28 -0500 |
| Status | RESOLVED FIXED |
| Version | 0.4.0 |
| Hardware | Other Linux / [Community] ARM (64-bit) |
| Importance | --- / normal |
| URL | https://code.foxkit.us/adelie/gcompat/compare/aa649428f2...4ac4d7f60f |
## Description
I tried to use gcompat to run a glibc arm64 binary of 7za on the PinePhone with postmarketOS (which is an Alpine-based system that packages gcompat 0.4.0). I thought maybe 7za could be a simple enough program to test, sadly it seems to result in a Bus Error:
$ /home/user/Develop/element-desktop/node_modules/7zip-bin/linux/arm64/7za --help
Bus error
$ echo $?
135
I attached the binary in case anyone wants to test this out, it's called 7za. Is this possibly a gcompat bug? (I apologize I haven't tried 0.9.0 yet, Alpine doesn't seem to have picked up that release so far.)0.9.1 (1.0-RC2)https://git.adelielinux.org/adelie/gcompat/-/issues/341Inverted assertion in __poll_chk2020-08-11T00:17:02ZEmilyInverted assertion in __poll_chk| | |
| --- | --- |
| Bugzilla ID | 341 |
| Reporter | Magne Hov |
| Assignee | A. Wilcox (awilfox) |
| Reported | 2020-08-05 13:11:25 -0500 |
| Modified | 2020-08-10 19:17:02 -0500 |
| Status | RESOLVED FIXED |
| Version | 0.2.0 |
| H...| | |
| --- | --- |
| Bugzilla ID | 341 |
| Reporter | Magne Hov |
| Assignee | A. Wilcox (awilfox) |
| Reported | 2020-08-05 13:11:25 -0500 |
| Modified | 2020-08-10 19:17:02 -0500 |
| Status | RESOLVED FIXED |
| Version | 0.2.0 |
| Hardware | Adélie Linux / Intel x86 (64-bit) |
| Importance | --- / normal |
| URL | https://code.foxkit.us/adelie/gcompat/commit/2d75993 |
## Description
**Created [attachment 35](/uploads/40c8a832037b9f01e551c3df095ae881/reproducer.c)**
Reproducer program
When compiling the attached reproducer with gcc -D_FORTIFY_SOURCE=1 -O1 reproducer.c, I get the following failure when running it in a paleozogt/adelie docker image:
# ./a.out
Assertion failed: (fdslen / sizeof(*fds)) < nfds (libgcompat/socket.c: __poll_chk: 52)
This assertion seems bogus to me:
https://code.foxkit.us/adelie/gcompat/-/blob/715b50e/libgcompat/socket.c#L52
The expression is identical to that in glibc, but the logic is inverted:
https://sourceware.org/git/?p=glibc.git;a=blob;f=debug/poll_chk.c;hb=07ed32f920f0bcb1ddb400e4ed606104756dee32#l24
Reproducer compiled on Ubuntu 19.10 with gcc (Ubuntu 9.2.1-9ubuntu2) 9.2.1 20191008.
# apk list | grep gcompat
gcompat-0.4.0-r0 x86_64 {gcompat} (UoI-NCSA) [installed]1.0-RELEASEhttps://git.adelielinux.org/adelie/gcompat/-/issues/43Implement __vsprintf_chk2018-02-01T22:44:54ZEmilyImplement __vsprintf_chk| | |
| --- | --- |
| Bugzilla ID | 43 |
| Reporter | Filip Matijević |
| Assignee | A. Wilcox (awilfox) |
| Reported | 2018-01-01 01:00:59 -0600 |
| Modified | 2018-02-01 16:44:54 -0600 |
| Status | RESOLVED FIXED |
| Version | 0.1.0 ...| | |
| --- | --- |
| Bugzilla ID | 43 |
| Reporter | Filip Matijević |
| Assignee | A. Wilcox (awilfox) |
| Reported | 2018-01-01 01:00:59 -0600 |
| Modified | 2018-02-01 16:44:54 -0600 |
| Status | RESOLVED FIXED |
| Version | 0.1.0 |
| Hardware | Other / [Community] ARM (32-bit) |
| Importance | Lowest / enhancement |
## Description
For using PowerVR SGX GPU in older TI SoC based systems (namely Nokia N9 with OMAP3630 SoC), TI provides Linux-Graphics-SDK (http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/4_10_00_01/index_FDS.html) that contains (amongst other things) some binaries targeting ld-linux.so.3. Simple ln -s ld-linux-armhf.so.3 ld-linux.so.3 makes most of them run OK, but the ones that fail complain about missing __vsprintf_chk. Quick search reveals that it should be rather simple to implement: http://www.openwall.com/lists/musl/2015/06/17/11.0-RELEASE