glibc/sysdeps/unix/sysv/linux/ia64/Versions
Florian Weimer c44838ebf8 Add libc ABI extension kludge for baseline-violating libdl symbols
Some targets have a GLIBC_2.0 baseline for libdl, while using
GLIBC_2.2 for libc.  This means that the generated libc.map file
does not have any version nodes for GLIBC_2.0 or GLIBC_2.1.  However,
moving symbols from libdl into libc needs such version nodes.
(Future symbol moves from librt will need this as well.)

This kludge is only necessary for symbols predating GLIBC_2.2 because
the affected targets use GLIBC_2.2 as the baseline for libc.  Given
the small number and fixed set of affected architectures, no generic
mechanism is implemented, and instead the map file fragment is
hard-coded in scripts/versions.mk.

The compat_symbol macro already emits the appropriate version strings,
so no adjustments are needed there.

Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>
2021-06-02 07:34:24 +02:00

37 lines
590 B
Plaintext

!libc_pre_versions
libc {
GLIBC_2.2 {
ioperm; iopl;
inb; inw; inl;
_inb; _inw; _inl;
outb; outw; _outl;
_outb; _outw; _outl;
pciconfig_read; pciconfig_write;
# linuxthreads
__clone2;
}
GLIBC_2.2.2 {
# w*
wordexp;
}
GLIBC_2.3.3 {
# Changed PTHREAD_STACK_MIN.
pthread_attr_setstack;
pthread_attr_setstacksize;
}
GLIBC_2.2.6 {
getunwind;
}
GLIBC_2.24 {
recvmsg; sendmsg;
}
}
librt {
GLIBC_2.3.3 {
# Changed timer_t.
timer_create; timer_delete; timer_getoverrun; timer_gettime;
timer_settime;
}
}