X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Fldso-stubs.S;h=5e3351d09d88e911cfcd40d991900095005a53b5;hb=0d669e68a1ffbea42af6216f2ae8c7d7ca12ffb6;hp=fbfc0deb422a08cac35e9d3627cec528a127de49;hpb=e88f9c7fd830938e1261cc424437905fb50179ae;p=sbcl.git diff --git a/src/runtime/ldso-stubs.S b/src/runtime/ldso-stubs.S index fbfc0de..5e3351d 100644 --- a/src/runtime/ldso-stubs.S +++ b/src/runtime/ldso-stubs.S @@ -2,8 +2,11 @@ * stubs for C-linkage library functions which we need to refer to * from Lisp * - * These exist for the benefit of Lisp code that needs to refer to - * foreign symbols when dlsym() is not available (i.e. when dumping + * (But note this is only the Linux version, as per the FIXME + * note in the BSD version in undefineds.h.) + * + * These stubs exist for the benefit of Lisp code that needs to refer + * to foreign symbols when dlsym() is not available (i.e. when dumping * cold-sbcl.core, when we may be running in a host that's not SBCL, * or on platforms that don't have it at all). If the runtime is * dynamically linked, library functions won't be linked into it, so @@ -39,10 +42,6 @@ ldso_stub__ ## fct: ; \ .size ldso_stub__ ## fct,.L ## fct ## e1-ldso_stub__ ## fct ; #elif defined alpha - - /* I _hope_ this is correct - I haven't checked in the manual - * yet. It works to the point of building and passing tests, - * at any rate - dan 2001.05.10 */ #define LDSO_STUBIFY(fct) \ .globl ldso_stub__ ## fct ; \ .type ldso_stub__ ## fct,@function ; \ @@ -50,6 +49,29 @@ ldso_stub__ ## fct: ; \ jmp fct ; \ .L ## fct ## e1: ; \ .size ldso_stub__ ## fct,.L ## fct ## e1-ldso_stub__ ## fct ; + +#elif defined ppc +#define LDSO_STUBIFY(fct) \ +.globl ldso_stub__ ## fct ; \ + .type ldso_stub__ ## fct,@function ; \ +ldso_stub__ ## fct: ; \ + b fct ; \ +.L ## fct ## e1: ; \ + .size ldso_stub__ ## fct,.L ## fct ## e1-ldso_stub__ ## fct ; + +#elif defined sparc + + /* This is an attempt to follow DB's hint of sbcl-devel + * 2001-09-18. -- CSR */ +#define LDSO_STUBIFY(fct) \ +.globl ldso_stub__ ## fct ; \ + .type ldso_stub__ ## fct,@function ; \ +ldso_stub__ ## fct: ; \ + sethi %hi(fct),%g1 ; \ + jmpl %g1+%lo(fct),%g0 ; \ + nop /* delay slot*/ ; \ +.L ## fct ## e1: ; \ + .size ldso_stub__ ## fct,.L ## fct ## e1-ldso_stub__ ## fct ; #else #error unsupported CPU architecture @@ -95,7 +117,6 @@ ldso_stub__ ## fct: ; \ LDSO_STUBIFY(getegid) LDSO_STUBIFY(getenv) LDSO_STUBIFY(getgid) - LDSO_STUBIFY(gethostid) LDSO_STUBIFY(gethostbyaddr) LDSO_STUBIFY(gethostbyname) LDSO_STUBIFY(gethostname) @@ -136,13 +157,14 @@ ldso_stub__ ## fct: ; \ LDSO_STUBIFY(send) LDSO_STUBIFY(setitimer) LDSO_STUBIFY(setpgrp) - LDSO_STUBIFY(sigblock) - LDSO_STUBIFY(sigpause) +#if !defined(SVR4) LDSO_STUBIFY(sigsetmask) +#endif LDSO_STUBIFY(sinh) LDSO_STUBIFY(socket) LDSO_STUBIFY(stat) LDSO_STUBIFY(strerror) + LDSO_STUBIFY(strlen) LDSO_STUBIFY(symlink) LDSO_STUBIFY(sync) LDSO_STUBIFY(tanh) @@ -178,4 +200,8 @@ ldso_stub__ ## fct: ; \ LDSO_STUBIFY(log) LDSO_STUBIFY(log10) LDSO_STUBIFY(sqrt) -#endif \ No newline at end of file +#endif +#if defined alpha + LDSO_STUBIFY(ieee_get_fp_control) + LDSO_STUBIFY(ieee_set_fp_control) +#endif