freebsd-dev/lib/libc/amd64/Symbol.map
Jilles Tjoelker 5ac7ffcc38 libc/amd64: Do not export .cerror.
For some reason, libc exports the symbol .cerror (HIDENAME(cerror)), albeit
in the FBSDprivate_1.0 version. It looks like there is no reason for this
since it is not used from other libraries. Given that it cannot be accessed
from C and its strange calling convention, it is rather unlikely that other
things rely on it. Perhaps it is from a time when symbols could not be
hidden.

Most of the amd64 assembler code jumps to .cerror using the GOT. It can jump
to it directly now, as in non-PIC mode.

There are also some minor size optimizations to instructions but they yield
virtually no benefit in the size of libc.so.7 due to padding.

Reviewed by:	kib
2012-09-06 20:59:49 +00:00

73 lines
911 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;
fabs;
__flt_rounds;
fpgetmask;
fpgetprec;
fpgetround;
fpgetsticky;
fpsetmask;
fpsetprec;
fpsetround;
__infinity;
__nan;
makecontext;
rfork_thread;
setjmp;
longjmp;
sigsetjmp;
siglongjmp;
htonl;
htons;
ntohl;
ntohs;
amd64_get_fsbase;
amd64_get_gsbase;
amd64_set_fsbase;
amd64_set_gsbase;
brk;
exect;
sbrk;
vfork;
};
/*
*
* FreeBSD private ABI
*
*/
FBSDprivate_1.0 {
/* PSEUDO syscalls */
__sys_getlogin;
_getlogin;
__sys_exit;
_set_tp;
___longjmp;
__makecontext;
__longjmp;
__signalcontext;
signalcontext;
__siglongjmp;
.curbrk;
.minbrk;
_brk;
_end;
__sys_vfork;
_vfork;
};