various symbol referencing fixes
make weak symbol references and namespace renames references the renamed versions. function renaming, weak symbol references and libc namespace.h protection interact in hairy ways and causes weak symbol references for renamed functions to be unresolved; e.g. vfork should be an alias for _vfork but _vfork doesn't exist because __vfork14() exists. this is a problem for dynamically linked executables as all symbols have to be resolved, used or not, at link time. it was masked by clang-compiled base system libraries but is a problem when gcc does it.
This commit is contained in:
		
							parent
							
								
									8d1c219676
								
							
						
					
					
						commit
						c3db1c6939
					
				@ -222,8 +222,8 @@
 | 
			
		||||
#define confstr			_confstr
 | 
			
		||||
#define csetexpandtc		_csetexpandtc
 | 
			
		||||
#define ctermid			_ctermid
 | 
			
		||||
#define ctime_r			_ctime_r
 | 
			
		||||
#define ctime_rz		_ctime_rz
 | 
			
		||||
#define ctime_r			__ctime_r50
 | 
			
		||||
#define ctime_rz		__ctime_rz50
 | 
			
		||||
#define daemon			_daemon
 | 
			
		||||
#define dbopen			_dbopen
 | 
			
		||||
#define devname			_devname
 | 
			
		||||
@ -434,15 +434,15 @@
 | 
			
		||||
#define lcong48			_lcong48
 | 
			
		||||
#define llabs			_llabs
 | 
			
		||||
#define lldiv			_lldiv
 | 
			
		||||
#define localtime_r		_localtime_r
 | 
			
		||||
#define localtime_rz		_localtime_rz
 | 
			
		||||
#define localtime_r		__localtime_r50
 | 
			
		||||
#define localtime_rz		__localtime_rz50
 | 
			
		||||
#define lockf			_lockf
 | 
			
		||||
#define lrand48			_lrand48
 | 
			
		||||
#define lseek			_lseek
 | 
			
		||||
#define mergesort		_mergesort
 | 
			
		||||
#define mi_vector_hash		_mi_vector_hash
 | 
			
		||||
#define mkstemp			_mkstemp
 | 
			
		||||
#define mktime_z		_mktime_z
 | 
			
		||||
#define mktime_z		__mktime_z50
 | 
			
		||||
#define mpool_close		_mpool_close
 | 
			
		||||
#define mpool_filter		_mpool_filter
 | 
			
		||||
#define mpool_get		_mpool_get
 | 
			
		||||
@ -477,8 +477,8 @@
 | 
			
		||||
#define pmap_unset		_pmap_unset
 | 
			
		||||
#define pollts			_pollts
 | 
			
		||||
#define popen			_popen
 | 
			
		||||
#define posix2time		_posix2time
 | 
			
		||||
#define posix2time_z		_posix2time_z
 | 
			
		||||
#define posix2time		__posix2time50
 | 
			
		||||
#define posix2time_z		__posix2time_z50
 | 
			
		||||
#define pread			_pread
 | 
			
		||||
#define pselect			_pselect
 | 
			
		||||
#define psignal			_psignal
 | 
			
		||||
@ -924,7 +924,7 @@
 | 
			
		||||
#define minix_mmap _minix_mmap
 | 
			
		||||
#define minix_munmap _minix_munmap
 | 
			
		||||
#define minix_munmap_text _minix_munmap_text
 | 
			
		||||
#define vfork _vfork
 | 
			
		||||
#define vfork __vfork14
 | 
			
		||||
#endif /* __minix */
 | 
			
		||||
 | 
			
		||||
#endif /* __weak_alias */
 | 
			
		||||
 | 
			
		||||
@ -16,10 +16,6 @@
 | 
			
		||||
#include <stdarg.h>
 | 
			
		||||
#include <errno.h>
 | 
			
		||||
 | 
			
		||||
#ifdef __weak_alias
 | 
			
		||||
__weak_alias(sem, _sem)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
static int get_ipc_endpt(endpoint_t *pt)
 | 
			
		||||
{
 | 
			
		||||
	return minix_rs_lookup("ipc", pt);
 | 
			
		||||
 | 
			
		||||
@ -5,7 +5,7 @@
 | 
			
		||||
#include <unistd.h>
 | 
			
		||||
 | 
			
		||||
#ifdef __weak_alias
 | 
			
		||||
__weak_alias(vfork, _vfork)
 | 
			
		||||
__weak_alias(vfork, __vfork14)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
pid_t vfork()
 | 
			
		||||
 | 
			
		||||
@ -28,14 +28,14 @@ __RCSID("$NetBSD: localtime.c,v 1.54 2011/01/15 15:42:10 christos Exp $");
 | 
			
		||||
#include "reentrant.h"
 | 
			
		||||
 | 
			
		||||
#if defined(__weak_alias)
 | 
			
		||||
__weak_alias(ctime_r,_ctime_r)
 | 
			
		||||
__weak_alias(ctime_rz,_ctime_rz)
 | 
			
		||||
__weak_alias(ctime_r,__ctime_r50)
 | 
			
		||||
__weak_alias(ctime_rz,__ctime_rz50)
 | 
			
		||||
__weak_alias(daylight,_daylight)
 | 
			
		||||
__weak_alias(mktime_z,_mktime_z)
 | 
			
		||||
__weak_alias(localtime_r,_localtime_r)
 | 
			
		||||
__weak_alias(localtime_rz,_localtime_rz)
 | 
			
		||||
__weak_alias(posix2time,_posix2time)
 | 
			
		||||
__weak_alias(posix2time_z,_posix2time_z)
 | 
			
		||||
__weak_alias(mktime_z,__mktime_z50)
 | 
			
		||||
__weak_alias(localtime_r,__localtime_r50)
 | 
			
		||||
__weak_alias(localtime_rz,__localtime_rz50)
 | 
			
		||||
__weak_alias(posix2time,__posix2time50)
 | 
			
		||||
__weak_alias(posix2time_z,__posix2time_z50)
 | 
			
		||||
__weak_alias(tzname,_tzname)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -1,6 +1,6 @@
 | 
			
		||||
# $NetBSD: Makefile,v 1.8 2007/11/05 13:41:52 pooka Exp $
 | 
			
		||||
 | 
			
		||||
USE_FORT?=	yes	# data driven bugs?
 | 
			
		||||
USE_FORT?=	no	# data driven bugs?
 | 
			
		||||
 | 
			
		||||
LIB=		refuse
 | 
			
		||||
LIBDPLIBS+=	puffs	${.CURDIR}/../libpuffs
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user