- Move _Qp_* and __dtoul from FBSDprivate to the list of FBSD_1.0 symbols

as well as add __sparc_utrap_install to FBSD_1.0; these are required by
  the SCD libc 64 psABI and thus meant to be officially exported symbols.
- Remove the __fpu_* entries as well as the __sigtramp entry altogether as
  these are internal to the libc FPU emulation and the signal trampoline
  initialization in sigaction(2) respectively and thus don't need to be
  externally visible.
- Add __sparc_utrap_setup to the list of FBSDprivate symbols as it's used
  in src/lib/csu/sparc64/crt1.c to initialize the libc FPU emulation (I
  think alternatively src/lib/csu/sparc64/crt1.c could be changed to use
  __sparc_utrap_install instead, at the expense of increasing the size of
  executables a bit).
- Add an entry for the vfork symbol to the FBSD_1 list and entries for it's
  associated symbols generated by the RSYSCALL() macro to the FBSDprivate
  list. There's some magic in place that automatically generates code for
  vfork() if there's no explicit MD code for it so it might make sense to
  move these symbols from the MD symbol map files to a MI one.

The last two changes make the libc symbol versioning useable on sparc64.

Ok'ed by:	deischen
This commit is contained in:
Marius Strobl 2006-04-11 19:43:36 +00:00
parent 71af8134f7
commit ea84e2b899
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=157666

View File

@ -37,32 +37,9 @@ FBSD_1.0 {
brk;
exect;
sbrk;
};
vfork;
FBSDprivate {
# PSEUDO syscalls
__sys_getlogin;
_getlogin;
__sys_exit;
_set_tp;
__fpu_exception;
__fpu_add;
__fpu_compare;
__fpu_div;
__fpu_itof;
__fpu_xtof;
__fpu_stof;
__fpu_dtof;
__fpu_qtof;
__fpu_explode;
__fpu_ftoi;
__fpu_ftox;
__fpu_ftos;
__fpu_ftod;
__fpu_ftoq;
__fpu_implode;
__fpu_mul;
# SCD libc 64 psABI
_Qp_sqrt;
_Qp_add;
_Qp_div;
@ -88,16 +65,18 @@ FBSDprivate {
_Qp_fne;
_Qp_cmp;
_Qp_cmpe;
__fpu_ld32;
__fpu_st32;
__fpu_ld64;
__fpu_st64;
__fpu_sqrt;
__fpu_shr;
__fpu_norm;
__fpu_newnan;
___longjmp;
__dtoul;
__sparc_utrap_install;
};
FBSDprivate {
# PSEUDO syscalls
__sys_getlogin;
_getlogin;
__sys_exit;
_set_tp;
___longjmp;
__makecontext;
__longjmp;
signalcontext;
@ -113,5 +92,9 @@ FBSDprivate {
_end;
__sys_sbrk;
_sbrk;
__sigtramp;
__sys_vfork;
_vfork;
# used in src/lib/csu/sparc64/crt1.c
__sparc_utrap_setup;
};