ac3245defa
my original implementation made both use the same code. Unfortunately, this meant libm depended on a vendor header at compile time and previously- unexposed vendor bits in libc at runtime. Hence, I just wrote my own version of the relevant vendor routine. As it turns out, mine has a factor of 8 fewer of lines of code, and is a bit more readable anyway. The strtod() and *scanf() routines still use vendor code. Reviewed by: bde
72 lines
939 B
Plaintext
72 lines
939 B
Plaintext
/*
|
|
* $FreeBSD$
|
|
*/
|
|
|
|
/*
|
|
* This only needs to contain symbols that are not listed in
|
|
* symbol maps from other parts of libc (i.e., not found in
|
|
* stdlib/Symbol.map, string/Symbol.map, sys/Symbol.map, ...).
|
|
*/
|
|
FBSD_1.0 {
|
|
/* PSEUDO syscalls */
|
|
_exit;
|
|
|
|
.mcount;
|
|
_setjmp;
|
|
_longjmp;
|
|
alloca;
|
|
fabs;
|
|
__flt_rounds;
|
|
__nan;
|
|
__infinity;
|
|
makecontext;
|
|
modf;
|
|
rfork_thread;
|
|
setjmp;
|
|
longjmp;
|
|
sigsetjmp;
|
|
siglongjmp;
|
|
htonl;
|
|
htons;
|
|
ntohl;
|
|
ntohs;
|
|
vfork;
|
|
brk;
|
|
exect;
|
|
i386_clr_watch;
|
|
i386_get_fsbase;
|
|
i386_get_gsbase;
|
|
i386_get_ioperm;
|
|
i386_get_ldt;
|
|
i386_set_fsbase;
|
|
i386_set_gsbase;
|
|
i386_set_ioperm;
|
|
i386_set_ldt;
|
|
i386_set_watch;
|
|
i386_vm86;
|
|
sbrk;
|
|
___tls_get_addr;
|
|
};
|
|
|
|
FBSDprivate_1.0 {
|
|
/* PSEUDO syscalls */
|
|
__sys_getlogin;
|
|
_getlogin;
|
|
__sys_exit;
|
|
|
|
_set_tp;
|
|
___longjmp;
|
|
__makecontext;
|
|
__longjmp;
|
|
__signalcontext;
|
|
signalcontext;
|
|
__siglongjmp;
|
|
__sys_vfork;
|
|
_vfork;
|
|
_end;
|
|
.cerror;
|
|
_brk;
|
|
.curbrk;
|
|
.minbrk;
|
|
};
|