mirror of
				https://sourceware.org/git/glibc.git
				synced 2025-11-03 20:53:13 +03:00 
			
		
		
		
	As noted in <https://sourceware.org/ml/libc-alpha/2012-12/msg00240.html>, stdlib/Versions and wcsmbs/Versions list some functions as __strto*_internal and __wcsto*_internal rather than explicitly listing the symbols to be exported (so any new internal function matching one of those patterns would be wrongly added to version GLIBC_2.0), which seems like a bad idea. This patch changes those files to list the exported symbols explicitly. There are still entries in sysdeps/nacl/Versions for __nacl_irt_*, but as GLIBC_PRIVATE symbols that seems less significant. Tested with build-many-glibcs.py that installed stripped shared libraries are unchanged by the patch. * stdlib/Versions (__strtod_internal): List explicitly, not as wildcard. (__strtof_internal): Likewise. (__strtold_internal): Likewise. (__strtol_internal): Likewise. (__strtoll_internal): Likewise. (__strtoul_internal): Likewise. (__strtoull_internal): Likewise. (__strtoq_internal): Likewise. (__strtouq_internal): Likewise. * wcsmbs/Versions (__wcstod_internal): Likewise. (__wcstof_internal): Likewise. (__wcstold_internal): Likewise. (__wcstol_internal): Likewise. (__wcstoll_internal): Likewise. (__wcstoul_internal): Likewise. (__wcstoull_internal): Likewise.
		
			
				
	
	
		
			136 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			136 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
libc {
 | 
						|
  GLIBC_2.0 {
 | 
						|
    # functions with required interface outside normal name space
 | 
						|
    __xpg_basename;
 | 
						|
 | 
						|
    # functions used in inline functions or macros
 | 
						|
    __strtod_internal; __strtof_internal; __strtold_internal;
 | 
						|
    __strtol_internal; __strtoll_internal;
 | 
						|
    __strtoul_internal; __strtoull_internal;
 | 
						|
    # functions formerly so used (compatibility symbols)
 | 
						|
    __strtoq_internal; __strtouq_internal;
 | 
						|
 | 
						|
    # compatibility symbol
 | 
						|
    __secure_getenv;
 | 
						|
 | 
						|
    # a*
 | 
						|
    a64l; abort; abs; atexit; atof; atoi; atol; atoll;
 | 
						|
 | 
						|
    # b*
 | 
						|
    bsearch;
 | 
						|
 | 
						|
    # c*
 | 
						|
    canonicalize_file_name; clearenv;
 | 
						|
 | 
						|
    # d*
 | 
						|
    div; drand48; drand48_r;
 | 
						|
 | 
						|
    # e*
 | 
						|
    erand48; erand48_r; exit;
 | 
						|
 | 
						|
    # g*
 | 
						|
    getenv; getsubopt;
 | 
						|
 | 
						|
    # i*
 | 
						|
    initstate; initstate_r;
 | 
						|
 | 
						|
    # l*
 | 
						|
    l64a; labs; lcong48; lcong48_r; ldiv; llabs; lldiv; lrand48; lrand48_r;
 | 
						|
 | 
						|
    # m*
 | 
						|
    mblen; mbrlen; mbrtowc; mbsinit; mbsnrtowcs; mbsrtowcs; mbstowcs;
 | 
						|
    mbtowc; mcheck; mcount; mrand48; mrand48_r;
 | 
						|
 | 
						|
    # n*
 | 
						|
    nrand48; nrand48_r;
 | 
						|
 | 
						|
    # o*
 | 
						|
    on_exit;
 | 
						|
 | 
						|
    # p*
 | 
						|
    putenv;
 | 
						|
 | 
						|
    # q*
 | 
						|
    qsort;
 | 
						|
 | 
						|
    # r*
 | 
						|
    rand; rand_r; random; random_r; realpath; rpmatch;
 | 
						|
 | 
						|
    # s*
 | 
						|
    seed48; seed48_r; setcontext; setenv; setstate; setstate_r; srand; srand48;
 | 
						|
    srand48_r; srandom; srandom_r; step; strfmon; strtod; strtof; strtol;
 | 
						|
    strtold; strtoll; strtoq; strtoul; strtoull; strtouq; system;
 | 
						|
 | 
						|
    # u*
 | 
						|
    unsetenv;
 | 
						|
 | 
						|
    # w*
 | 
						|
    wcstombs; wctomb;
 | 
						|
  }
 | 
						|
  GLIBC_2.1 {
 | 
						|
    # a*
 | 
						|
    addseverity;
 | 
						|
 | 
						|
    # f*
 | 
						|
    fmtmsg;
 | 
						|
 | 
						|
    # g*
 | 
						|
    getcontext;
 | 
						|
 | 
						|
    # m*
 | 
						|
    makecontext;
 | 
						|
 | 
						|
    # s*
 | 
						|
    strtoimax; strtoumax; swapcontext;
 | 
						|
  }
 | 
						|
  GLIBC_2.1.1 {
 | 
						|
    # _*
 | 
						|
    _Exit;
 | 
						|
 | 
						|
    # i*
 | 
						|
    imaxabs; imaxdiv;
 | 
						|
  }
 | 
						|
  GLIBC_2.1.3 {
 | 
						|
    # used by new G++ ABI
 | 
						|
    __cxa_atexit; __cxa_finalize;
 | 
						|
  }
 | 
						|
  GLIBC_2.3 {
 | 
						|
    # Silent change in SUS.
 | 
						|
    realpath;
 | 
						|
  }
 | 
						|
  GLIBC_2.8 {
 | 
						|
    qsort_r;
 | 
						|
  }
 | 
						|
  GLIBC_2.10 {
 | 
						|
    quick_exit; __cxa_at_quick_exit;
 | 
						|
  }
 | 
						|
  GLIBC_2.13 {
 | 
						|
    __fentry__;
 | 
						|
  }
 | 
						|
  GLIBC_2.17 {
 | 
						|
    secure_getenv;
 | 
						|
  }
 | 
						|
  GLIBC_2.18 {
 | 
						|
    __cxa_thread_atexit_impl;
 | 
						|
  }
 | 
						|
  GLIBC_2.24 {
 | 
						|
    quick_exit;
 | 
						|
  }
 | 
						|
  GLIBC_2.25 {
 | 
						|
    # s*
 | 
						|
    strfromd; strfromf; strfroml;
 | 
						|
    getrandom; getentropy;
 | 
						|
  }
 | 
						|
  GLIBC_PRIVATE {
 | 
						|
    # functions which have an additional interface since they are
 | 
						|
    # are cancelable.
 | 
						|
    __libc_system;
 | 
						|
    # Variable which needs a dynamic symbol table entry.
 | 
						|
    __abort_msg;
 | 
						|
    # Used from other libraries
 | 
						|
    __libc_secure_getenv;
 | 
						|
    __call_tls_dtors;
 | 
						|
    __strtof_nan; __strtod_nan; __strtold_nan;
 | 
						|
  }
 | 
						|
}
 |