mirror of
				https://sourceware.org/git/glibc.git
				synced 2025-10-30 10:45:40 +03:00 
			
		
		
		
	Exporting functions and relying on symbol interposition from libc.so
makes the choice of implementation dependent on DT_NEEDED order, which
is not what some compiler drivers expect.
This commit replaces one magic mechanism (symbol interposition) with
another one (preprocessor-/compiler-based redirection).  This makes
the hand-over from the minimal malloc to the full malloc more
explicit.
Removing the ABI symbols is backwards-compatible because libc.so is
always in scope, and the dynamic loader will find the malloc-related
symbols there since commit f0b2132b35
("ld.so: Support moving versioned symbols between sonames
[BZ #24741]").
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
		
	
		
			
				
	
	
		
			34 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| libc.so: _OtsAddX ?
 | |
| libc.so: _OtsConvertFloatTX ?
 | |
| libc.so: _OtsConvertFloatXT ?
 | |
| libc.so: _OtsCvtQUX ?
 | |
| libc.so: _OtsCvtQX ?
 | |
| libc.so: _OtsCvtXQ ?
 | |
| libc.so: _OtsDivX ?
 | |
| libc.so: _OtsEqlX ?
 | |
| libc.so: _OtsGeqX ?
 | |
| libc.so: _OtsGtrX ?
 | |
| libc.so: _OtsLeqX ?
 | |
| libc.so: _OtsLssX ?
 | |
| libc.so: _OtsMulX ?
 | |
| libc.so: _OtsNeqX ?
 | |
| libc.so: _OtsNintXQ ?
 | |
| libc.so: _OtsSubX ?
 | |
| libc.so: _Unwind_Find_FDE
 | |
| libc.so: calloc + RELA R_ALPHA_GLOB_DAT
 | |
| libc.so: free + RELA R_ALPHA_GLOB_DAT
 | |
| libc.so: malloc + RELA R_ALPHA_GLOB_DAT
 | |
| libc.so: memalign + RELA R_ALPHA_GLOB_DAT
 | |
| libc.so: realloc + RELA R_ALPHA_GLOB_DAT
 | |
| libm.so: matherr + RELA R_ALPHA_GLOB_DAT
 | |
| # We used to offer inline functions that used this, so it must be exported.
 | |
| # Ought to reorg things such that carg isn't thus forced to use a plt.
 | |
| libm.so: __atan2
 | |
| # The dynamic loader needs __tls_get_addr for TLS.
 | |
| ld.so: __tls_get_addr ?
 | |
| # The TLS-enabled version of these functions is interposed from libc.so.
 | |
| ld.so: _dl_signal_error + RELA R_ALPHA_GLOB_DAT
 | |
| ld.so: _dl_catch_error + RELA R_ALPHA_GLOB_DAT
 | |
| ld.so: _dl_signal_exception + RELA R_ALPHA_GLOB_DAT
 | |
| ld.so: _dl_catch_exception + RELA R_ALPHA_GLOB_DAT
 |