Commit 1d9ef30
committed
ppc64le-linux-gnu: Skip testing
Ubuntu 26.04 transitioned PowerPC64LE from the IBM long double format to
IEEE binary128 [1], which mean a handful of variadic functions needed to
switch to a binary128-compatible version. These were available starting
with glibc 2.32 (2020-08) per the abilist [2], which is quite a bit
newer than what we say we support at [3] (2.17, 2012-12).
This explains test failures, so skip checking the functions per now. We
should migrate to the `__<name>ieee128` functions at some point, which
need not be related to our documented minimum, but there is no reason to
do it now since Rust doesn't even stably support either IBM `long
double` or binary128.
Demo on Ubuntu 24.04:
$ cat demo.c
#include <stdio.h>
#include <syslog.h>
void demo() {
char buf1[20] = { 0 };
char buf2[20] = { 0 };
printf("Hello, world! %d\n", 1);
fprintf(stderr, "Hello, world! %d\n", 2);
sprintf(buf1, "Hello, world! %d\n", 3);
snprintf(buf2, 20, "Hello, world! %d\n", 4);
syslog(0, "Hello, world! %d\n", 5);
}
$ powerpc64le-linux-gnu-gcc demo.c -c
$ powerpc64le-linux-gnu-nm demo.o
U .TOC.
U __stack_chk_fail
0000000000000000 T demo
U fprintf
U printf
U snprintf
U sprintf
U stderr
U syslog
And the same demo on Ubuntu 26.04:
$ cat demo.c
#include <stdio.h>
#include <syslog.h>
void demo() {
char buf1[20] = { 0 };
char buf2[20] = { 0 };
printf("Hello, world! %d\n", 1);
fprintf(stderr, "Hello, world! %d\n", 2);
sprintf(buf1, "Hello, world! %d\n", 3);
snprintf(buf2, 20, "Hello, world! %d\n", 4);
syslog(0, "Hello, world! %d\n", 5);
}
$ powerpc64le-linux-gnu-gcc demo.c -c
$ powerpc64le-linux-gnu-nm demo.o
U .TOC.
U __fprintfieee128
U __printfieee128
U __snprintfieee128
U __sprintfieee128
U __stack_chk_fail
U __syslogieee128
0000000000000000 T demo
U stderr
[1]: https://bugs.launchpad.net/ubuntu/+bug/2132257
[2]: https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist;h=65d78e50760b5d6b1a9cb39016a7bf8064224794;hb=HEAD#l2519
[3]: https://doc.rust-lang.org/1.96.0/rustc/platform-support.html*printf functions1 parent ab4d04f commit 1d9ef30
1 file changed
Lines changed: 6 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3805 | 3805 | | |
3806 | 3806 | | |
3807 | 3807 | | |
| 3808 | + | |
| 3809 | + | |
3808 | 3810 | | |
3809 | 3811 | | |
3810 | 3812 | | |
| |||
4950 | 4952 | | |
4951 | 4953 | | |
4952 | 4954 | | |
| 4955 | + | |
| 4956 | + | |
| 4957 | + | |
| 4958 | + | |
4953 | 4959 | | |
4954 | 4960 | | |
4955 | 4961 | | |
| |||
0 commit comments