glibc/time
Florian Weimer 0923f74ada Support for multiple versions in versioned_symbol, compat_symbol
This essentially folds compat_symbol_unique functionality into
compat_symbol.

This change eliminates the need for intermediate aliases for defining
multiple symbol versions, for both compat_symbol and versioned_symbol.
Some binutils versions do not suport multiple versions per symbol on
some targets, so aliases are automatically introduced, similar to what
compat_symbol_unique did.  To reduce symbol table sizes, a configure
check is added to avoid these aliases if they are not needed.

The new mechanism works with data symbols as well as function symbols,
due to the way an assembler-level redirect is used.  It is not
compatible with weak symbols for old binutils versions, which is why
the definition of __malloc_initialize_hook had to be changed.  This
is not a loss of functionality because weak symbols do not matter
to dynamic linking.

The placeholder symbol needs repeating in nptl/libpthread-compat.c
now that compat_symbol is used, but that seems more obvious than
introducing yet another macro.

A subtle difference was that compat_symbol_unique made the symbol
global automatically.  compat_symbol does not do this, so static
had to be removed from the definition of
__libpthread_version_placeholder.

Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>
2021-03-25 12:33:02 +01:00
..
bits/types time: Add 64-bit time_t support for ftime 2020-10-27 09:54:50 -03:00
sys Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
adjtime.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
alt_digit.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
asctime.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
bug-asctime_r.c [BZ #1468] 2005-10-14 17:20:58 +00:00
bug-asctime.c [BZ #1460] 2005-10-14 15:17:40 +00:00
bug-getdate1.c support: Introduce new subdirectory for test infrastructure 2016-12-09 08:18:27 +01:00
bug-mktime1.c [BZ #2821] 2006-09-09 16:56:29 +00:00
bug-mktime4.c mktime: new test for mktime failure 2018-11-15 22:59:33 +01:00
clock_getcpuclockid.c Support for multiple versions in versioned_symbol, compat_symbol 2021-03-25 12:33:02 +01:00
clock_getres.c Support for multiple versions in versioned_symbol, compat_symbol 2021-03-25 12:33:02 +01:00
clock_gettime.c Support for multiple versions in versioned_symbol, compat_symbol 2021-03-25 12:33:02 +01:00
clock_nanosleep.c Support for multiple versions in versioned_symbol, compat_symbol 2021-03-25 12:33:02 +01:00
clock_settime.c Support for multiple versions in versioned_symbol, compat_symbol 2021-03-25 12:33:02 +01:00
clock.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
clocktest.c Add missing header files throughout the testsuite. 2017-02-16 17:33:18 -05:00
ctime_r.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
ctime.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
datemsk
Depend
difftime.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
dysize.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
era.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
ftime.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
getdate.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
getitimer.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
gettimeofday.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
gmtime.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
lc-time-cleanup.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
localtime.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
Makefile tst: Add test for settimeofday 2021-03-08 22:41:41 +01:00
mktime-internal.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
mktime.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
offtime.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
setitimer.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
settimeofday.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
settimezone.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
stime.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
strftime_l.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
strftime.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
strptime_l.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
strptime.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
test_time.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
time.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
time.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
timegm.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
timespec_get.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst_wcsftime.c Don't use the argument to time. 2019-08-21 08:26:36 -04:00
tst-adjtime.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-clock2.c Finish move of clock_* functions to libc. [BZ #24959] 2019-09-04 14:39:38 +02:00
tst-clock_nanosleep.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-clock_settime.c tst: Add test for clock_settime 2021-03-08 22:41:34 +01:00
tst-clock.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cpuclock1.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-ctime.c tst: Provide test for ctime 2021-02-16 20:36:47 +01:00
tst-difftime.c tst: Provide test for difftime 2021-02-16 20:37:27 +01:00
tst-ftime_l.c Modify several tests to use test-skeleton.c 2014-11-05 15:24:08 +05:30
tst-ftime.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-getdate.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-mktime2.c time/tst-mktime2: Improve test error reporting 2018-10-23 11:25:05 +02:00
tst-mktime3.c Modify several tests to use test-skeleton.c 2014-11-05 15:24:08 +05:30
tst-mktime4.c tst: time: Provide Y2038 tests for mktime (tst-mktime4.c) 2021-02-16 20:41:45 +01:00
tst-mktime.c Modify several tests to use test-skeleton.c 2014-11-05 15:24:08 +05:30
tst-posixtz.c Add missing header files throughout the testsuite. 2017-02-16 17:33:18 -05:00
tst-settimeofday.c tst: Add test for settimeofday 2021-03-08 22:41:41 +01:00
tst-strftime2.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-strftime3.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-strftime.c Fix BZ #18985 -- out of range data to strftime() causes a segfault 2015-09-26 13:27:48 -07:00
tst-strptime2.c Split DIAG_* macros to new header libc-diag.h. 2017-02-25 09:59:46 -05:00
tst-strptime3.c time: ensure failing strptime() tests are reported correctly 2015-03-06 06:06:26 -05:00
tst-strptime-whitespace.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-strptime.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-tzname.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-y2039.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tzfile.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tzset.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
Versions y2038: Export __clock_gettime64 to be usable in other libraries 2020-05-05 18:45:13 +02:00
wcsftime_l.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
wcsftime.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00