diff options
author | Ulrich Drepper <drepper@redhat.com> | 1997-10-26 20:13:00 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 1997-10-26 20:13:00 +0000 |
commit | af6f39063b4433ee73647159200d105994d75b49 (patch) | |
tree | 9775bb32db5cffc9ab0fba29a6c11d853cbcd943 /sysdeps/m68k/fpu | |
parent | f2ea0f5b0d6ff2bbf261a5fd3d61f967e36f22e6 (diff) | |
download | glibc-af6f39063b4433ee73647159200d105994d75b49.tar.gz glibc-af6f39063b4433ee73647159200d105994d75b49.tar.xz glibc-af6f39063b4433ee73647159200d105994d75b49.zip |
Update. cvs/libc-ud-971026
1997-10-26 18:12 Ulrich Drepper <drepper@cygnus.com> * libio/genops.c: Partial undo of last patch. * libio/stdfiles.c: Likewise. * libio/iofdopen.c: Use _IO_FILE_complete, not _IO_file_plus. * libio/iopopen.c: Likewise. * libio/iovdprintf.c: Likewise. * libio/libio.h: Remove duplicated `;'. * libio/stdio.c: Remove misleading comment. * libio/stdio.h: Declare standard streams as variables. * login/Makefile (distribute): Add README.utmpd. * login/README.utmpd: New file. Provided by Mark M. Kettenis <kettenis@phys.uva.nl>. * manual/job.texi: Document tcgetsid. * manual/pattern.texi: Document globfree. * manual/terminal.texi: Document B38400 ... B460800. * posix/confstr.c: Print "-D_FILE_OFFSET_SIZE=64" for _CS_LFS_CFLAGS. * posix/unistd.h: Add explanation of _POSIX_* constants. * posix/unists.h: Add prototypes for __pread, __pread64, __pwrite and __pwrite64. * sysdeps/generic/pread.c: Define as __pread and make pread weak alias. * sysdeps/generic/pread64.c: Likewise. * sysdeps/generic/pwrite.c: Likewise. * sysdeps/generic/pwrite64.c: Likewise. * sysdeps/posix/pread.c: Likewise. * sysdeps/posix/pwrite.c: Likewise. * sysdeps/posix/pread64.c: New file. * sysdeps/posix/pwrite64.c: Likewise. * sysdeps/unix/sysv/linux/Makefile [$(subdir)=posix] (sysdep_routines): Add s_pread64 and s_pwrite64. * sysdeps/unix/sysv/linux/pread.c: New file. * sysdeps/unix/sysv/linux/pread64.c: New file. * sysdeps/unix/sysv/linux/pwrite.c: New file. * sysdeps/unix/sysv/linux/pwrite64.c: New file. * sysdeps/unix/sysv/linux/s_pread64.c: New file. * sysdeps/unix/sysv/linux/s_pwrite64.c: New file. * sysdeps/unix/sysv/linux/syscalls.list: Add pread and pwrite. * sysdeps/unix/sysv/linux/alpha/pread64.c: New (empty) file. * sysdeps/unix/sysv/linux/alpha/pwrite64.c: New (empty) file. * sysdeps/unix/sysv/linux/sparc/sparc64/pread64.c: New (empty) file. * sysdeps/unix/sysv/linux/sparc/sparc64/pwrite64.c: New (empty) file. * sysdeps/unix/sysv/linux/alpha/syscalls.list: Add pread and pwrite with weak aliases for *64 functions. * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise. * string/bits/string2.h: Add casts to allow void * arguments. * sysdeps/i386/i486/bits/string.h: Define index and rindex only if __USE_BSD or __USE_XOPEN_EXTENDED. * sysdeps/unix/sysv/linux/bits/socket.h: Add SCM_RIGHTS and other SCM_* constants from kernel header. * termios/termios.h: Add prototype for tcgetsid. 1997-10-26 13:26 Thorsten Kukuk <kukuk@vt.uni-paderborn.de> * sunrpc/clnt_perr.c: Add trailing '\0' to strings. * sunrpc/get_myaddr.c: Include rpc/clnt.h for prototypes. * sunrpc/pmap_clnt.c: Use get_myaddress from header file. 1997-10-26 05:26 Ulrich Drepper <drepper@cygnus.com> * configure.in: Punt if any directory mentioned in the enable-add-on parameter does not exist. 1997-10-25 19:25 Ulrich Drepper <drepper@cygnus.com> * termios/Makefile (routines): Add tcgetsid. * termios/tcgetsid.c: New file. Provided by Mark M. Kettenis <kettenis@phys.uva.nl>. 1997-10-25 18:56 Ulrich Drepper <drepper@cygnus.com> * stdlib/stdlib.h: Remove mblen optimization. * stdlib/mblen.c: Rewrite to make sure global state is not changed. Reported by anderson@metrolink.com. 1997-10-19 21:51 Wolfram Gloger <wg@wolfram.dent.med.uni-muenchen.de> * malloc/thread-m.h [_LIBC]: Use new __libc_internal_tsd_{set,get} interface for thread-specific data. 1997-10-25 06:51 Ulrich Drepper <drepper@cygnus.com> * elf/dl-addr.c: Use braces for correct logical grouping. Patch by Wolfram Gloger <wmglo@dent.med.uni-muenchen.de>. 1997-10-18 09:15 Geoff Keating <geoffk@ozemail.com.au> * io/ftwtest-sh: Sometimes /tmp is a symlink to somewhere more convenient; that caused this test to break. * sysdeps/powerpc/dl-machine.h: Fix typo. * sysdeps/powerpc/bits/fenv.h: Don't use floating-point registers when -msoft-float is in effect, because this causes compilation to stop. * sysdeps/powerpc/bits/mathinlines.h: Likewise. * rpm/template: Add description, use RPM flags rather than the ones used to build the spec. Build in a temporary directory, not /. * elf/dl-lookup.c: Don't include _itoa.h, it's not used. * elf/dl-minimal.c: Use _itoa_word rather than _itoa. It seems that _itoa is the only routine that ld.so uses that requires something from libgcc.a on powerpc, so it would be best to avoid it in ld.so. * elf/rtld.c: Likewise. * sysdeps/generic/_strerror.c: Likewise. * stdio-common/_itoa.c: Split out digits strings. * stdio-common/itoa-digits.c: New file. * stdio-common/Makefile: Add itoa-digits. 1997-10-21 Andreas Jaeger <aj@arthur.rhein-neckar.de> * manual/filesys.texi (Scanning Directory Content): Document error case more. * dirent/scandir.c (scandir): Ignore errors from select function. Suggested by urbanw@cs.umu.se (closes PR libc/316). 1997-10-25 06:18 Ulrich Drepper <drepper@cygnus.com> * sysdeps/unix/sysv/linux/sparc/sparc32/socket.S: Corrections. Patch by Erik Troan <ewt@redhat.com>. 1997-10-25 04:00 Ulrich Drepper <drepper@cygnus.com> * sysdeps/generic/dl-cache.c (_dl_load_cache_lookup): Favour exact matching of version function if both the general (1) and glibc-specific (3) entry are present. 1997-10-22 18:47 Thorsten Kukuk <kukuk@vt.uni-paderborn.de> * sunrpc/rpc/clnt.h: Add get_myaddress prototype. * nis/libnsl.map: Fix typo. * nis/nis_call.c: Fix memory leak. 1997-10-22 19:29 Ulrich Drepper <drepper@cygnus.com> * sysdeps/generic/memcmp.c: Define __P if not defined before. Patch by Jim Meyering <meyering@eng.ascend.com>. 1997-10-21 22:09 Ulrich Drepper <drepper@cygnus.com> * sysdeps/unix/sysv/linux/sys/prctl.h: New file by Richard Gooch <rgooch@atnf.csiro.au>. 1997-10-21 21:50 Ulrich Drepper <drepper@cygnus.com> * misc/syslog.c (vsyslog): Open console with O_NOCTTY. Patch by Zack Weinberg <zack@rabi.phys.columbia.edu>. 1997-10-21 18:07 Ulrich Drepper <drepper@cygnus.com> * posix/wordexp.c: Improve handling of $... expressions. Patch by Tim Waugh <tim@cyberelk.demon.co.uk>. 1997-10-21 16:12 Ulrich Drepper <drepper@cygnus.com> * manual/string.texi: Correct return values of bcopy and bzero. Patch by Matthew Wilcox <willy@odie.barnet.ac.uk>. 1997-10-18 15:03 Philip Blundell <Philip.Blundell@pobox.com> * sysdeps/unix/sysv/linux/bits/socket.h: Correct types of some elements in struct msghdr and struct cmsghdr, to keep in step with the kernel. 1997-10-17 22:29 Ulrich Drepper <drepper@cygnus.com> * sysdeps/unix/sysv/linux/sparc/sparc32/init-first.h: Fix another bug in startup code. Patch by Eric Delaunay <delaunay@lix.polytechnique.fr>. 1997-10-16 20:17 Richard Henderson <rth@cygnus.com> * sysdeps/unix/sysv/linux/sparc/sparc32/socket.S: Dump args to the stack and give the kernel a pointer. Use the sysdep.h macros. 1997-10-17 04:07 Ulrich Drepper <drepper@cygnus.com> * sysdeps/sparc/sparc32/elf/start.S: Calculate argv correctly. Patch by Eric Delaunay <delaunay@lix.polytechnique.fr>. 1997-10-16 Andreas Jaeger <aj@arthur.rhein-neckar.de> * sysdeps/libm-ieee754/s_nextafterxf.c [!__STDC__]: Correct typo. 1997-10-16 14:50 Ulrich Drepper <drepper@cygnus.com> * manual/pattern.texi: Document globfree. 1997-10-15 21:11 Philip Blundell <Philip.Blundell@pobox.com> * sysdeps/unix/sysv/linux/net/if_packet.h: New file. * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add net/if_packet.h. * sysdeps/unix/sysv/linux/net/if_arp.h (ARPHRD_ASH): New type, for 64Mbps ASH. (ARPHRD_ETHER): This is used for 100Mbps networks too. 1997-10-15 Andreas Jaeger <aj@arthur.rhein-neckar.de> * Makerules (install): Use full pathnames for linker script. This is to work around a limitation in `ld' while no better solution is possible. 1997-10-15 Andreas Jaeger <aj@arthur.rhein-neckar.de> * malloc/malloc.c (mmap_chunk): Put inline before static in function definition to avoid compiler warning. (malloc_extend): Likewise. * sysdeps/generic/des_impl.c: Include "des.h" to avoid warning. 1997-10-15 Andreas Jaeger <aj@arthur.rhein-neckar.de> * NEWS: Fix @gnu.ai.mit.edu -> @gnu.org. * README.template: Likewise. * db/makedb.c: Likewise. * elf/ldd.bash.in: Likewise. * elf/ldd.sh.in: Likewise. * intl/locale.alias: Likewise. * login/programs/utmpd.c: Likewise. * libio/stdfiles.c [!_IO_MTSAFE] (DEF_STDFILE): Fix parameter list. 1997-10-14 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * Rules: Remove all empty.* files. (shared-only-routines): Correct implementation. 1997-10-14 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/libm-ieee754/s_lrintl.c: Make compilable. * sysdeps/libm-ieee754/s_llrintl.c: Likewise. Optimized. 1997-10-14 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * elf/ldd.bash.in: Only prepend ./ if the file contains no slash at all. * elf/ldd.sh.in: Likewise. 1997-10-14 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/m68k/sys/ucontext.h: New file. 1997-10-13 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/m68k/fpu/s_scalbln.c: New (empty) file. * sysdeps/m68k/fpu/s_scalblnf.c: New (empty) file. * sysdeps/m68k/fpu/s_scalblnl.c: New (empty) file. * sysdeps/m68k/fpu/s_scalbn.c: Add scalbln alias. * sysdeps/m68k/fpu/s_scalbnf.c: Adapted. * sysdeps/m68k/fpu/s_scalbnl.c: Adapted. * sysdeps/m68k/fpu/s_lrint.c: Add standard skeleton stuff. * sysdeps/m68k/fpu/s_lrintf.c: New file. * sysdeps/m68k/fpu/s_lrintl.c: New file. * sysdeps/m68k/fpu/bits/mathinline.h: Add fma and scalbln. Update lrint and scalbn. (__m81_inline) [__cplusplus]: Define to __inline. * math/bits/mathcalls.h: Remove whitespace before second argument of __MATHDECL. Add note explaining this. 1997-10-13 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * manual/arith.texi (Absolute Value): Spelling fix. 1997-10-13 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * malloc/obstack.h (obstack_empty_p) [!__GNUC__]: Properly parenthesize the macro parameter. * Rules: Remove rules to magically install <subdir>.h headers.
Diffstat (limited to 'sysdeps/m68k/fpu')
-rw-r--r-- | sysdeps/m68k/fpu/bits/mathinline.h | 69 | ||||
-rw-r--r-- | sysdeps/m68k/fpu/s_lrint.c | 16 | ||||
-rw-r--r-- | sysdeps/m68k/fpu/s_lrintf.c | 3 | ||||
-rw-r--r-- | sysdeps/m68k/fpu/s_lrintl.c | 3 | ||||
-rw-r--r-- | sysdeps/m68k/fpu/s_scalbln.c | 2 | ||||
-rw-r--r-- | sysdeps/m68k/fpu/s_scalblnf.c | 2 | ||||
-rw-r--r-- | sysdeps/m68k/fpu/s_scalblnl.c | 2 | ||||
-rw-r--r-- | sysdeps/m68k/fpu/s_scalbn.c | 29 | ||||
-rw-r--r-- | sysdeps/m68k/fpu/s_scalbnf.c | 4 | ||||
-rw-r--r-- | sysdeps/m68k/fpu/s_scalbnl.c | 4 |
10 files changed, 99 insertions, 35 deletions
diff --git a/sysdeps/m68k/fpu/bits/mathinline.h b/sysdeps/m68k/fpu/bits/mathinline.h index 1e68ea00c0..c3ed76c0de 100644 --- a/sysdeps/m68k/fpu/bits/mathinline.h +++ b/sysdeps/m68k/fpu/bits/mathinline.h @@ -76,12 +76,16 @@ /* This is used when defining the functions themselves. Define them with __ names, and with `static inline' instead of `extern inline' so the bodies will always be used, never an external function call. */ -# define __m81_u(x) __CONCAT(__,x) -# define __m81_inline static __inline +#define __m81_u(x) __CONCAT(__,x) +#define __m81_inline static __inline #else -# define __m81_u(x) x -# define __m81_inline extern __inline -# define __M81_MATH_INLINES 1 +#define __m81_u(x) x +#ifdef __cplusplus +#define __m81_inline __inline +#else +#define __m81_inline extern __inline +#endif +#define __M81_MATH_INLINES 1 #endif /* Define a const math function. */ @@ -95,12 +99,12 @@ is the name of the fpu operation (without leading f). */ #if defined __USE_MISC || defined __USE_ISOC9X -# define __inline_mathop(func, op) \ +#define __inline_mathop(func, op) \ __inline_mathop1(double, func, op) \ __inline_mathop1(float, __CONCAT(func,f), op) \ __inline_mathop1(long double, __CONCAT(func,l), op) #else -# define __inline_mathop(func, op) \ +#define __inline_mathop(func, op) \ __inline_mathop1(double, func, op) #endif @@ -309,13 +313,19 @@ __m81_defun (int, __CONCAT(__signbit,s), (float_type __value)) \ } \ \ __m81_defun (float_type, __CONCAT(__scalbn,s), \ - (float_type __x, long int __n)) \ + (float_type __x, int __n)) \ { \ float_type __result; \ __asm ("fscale%.l %1, %0" : "=f" (__result) : "dmi" (__n), "0" (__x)); \ return __result; \ } \ \ +__m81_defun (float_type, __CONCAT(__scalbln,s), \ + (float_type __x, long int __n)) \ +{ \ + return __CONCAT(__scalbn,s) (__x, __n); \ +} \ + \ __m81_defun (float_type, __CONCAT(__nearbyint,s), (float_type __x)) \ { \ float_type __result; \ @@ -330,12 +340,26 @@ __m81_defun (float_type, __CONCAT(__nearbyint,s), (float_type __x)) \ return __result; \ } \ \ +__m81_defun (long int, __CONCAT(__lrint,s), (float_type __x)) \ +{ \ + long int __result; \ + __asm ("fmove%.l %1, %0" : "=dm" (__result) : "f" (__x)); \ + return __result; \ +} \ + \ __m81_inline void \ __m81_u(__CONCAT(__sincos,s))(float_type __x, float_type *__sinx, \ float_type *__cosx) \ { \ __asm ("fsincos%.x %2,%1:%0" \ : "=f" (*__sinx), "=f" (*__cosx) : "f" (__x)); \ +} \ + \ +__m81_inline float_type \ +__m81_u(__CONCAT(__fma,s))(float_type __x, float_type __y, \ + float_type __z) \ +{ \ + return (__x * __y) + __z; \ } /* This defines the three variants of the inline functions. */ @@ -344,17 +368,12 @@ __inline_functions (float,f) __inline_functions (long double,l) #undef __inline_functions -__m81_defun (long int, __lrint, (long double __x)) -{ - long int __result; - __asm ("fmove%.l %1, %0" : "=dm" (__result) : "f" (__x)); - return __result; -} - #if !defined __NO_MATH_INLINES && defined __OPTIMIZE__ /* Define inline versions of the user visible functions. */ +/* Note that there must be no whitespace before the argument passed for + NAME, to make token pasting work correctly with -traditional. */ #define __inline_forward_c(rettype, name, args1, args2) \ extern __inline rettype __attribute__((__const__)) \ name args1 \ @@ -375,7 +394,8 @@ __inline_forward_c(double,ceil, (double __x), (__x)) #ifdef __USE_MISC __inline_forward_c(int,isinf, (double __value), (__value)) __inline_forward_c(int,finite, (double __value), (__value)) -__inline_forward_c(double,scalbn, (double __x, long int __n), (__x, __n)) +__inline_forward_c(double,scalbn, (double __x, int __n), (__x, __n)) +__inline_forward_c(double,scalbln, (double __x, long int __n), (__x, __n)) #endif #if defined __USE_MISC || defined __USE_XOPEN #ifndef __USE_ISOC9X /* Conflict with macro of same name. */ @@ -384,6 +404,9 @@ __inline_forward_c(int,isnan, (double __value), (__value)) #endif #ifdef __USE_ISOC9X __inline_forward_c(double,nearbyint, (double __value), (__value)) +__inline_forward_c(long int,lrint, (double __value), (__value)) +__inline_forward_c(double,fma, (double __x, double __y, double __z), + (__x, __y, __z)) #endif #ifdef __USE_GNU __inline_forward(void,sincos, (double __x, double *__sinx, double *__cosx), @@ -399,11 +422,15 @@ __inline_forward_c(float,ceilf, (float __x), (__x)) #ifdef __USE_MISC __inline_forward_c(int,isinff, (float __value), (__value)) __inline_forward_c(int,finitef, (float __value), (__value)) -__inline_forward_c(float,scalbnf, (float __x, long int __n), (__x, __n)) +__inline_forward_c(float,scalbnf, (float __x, int __n), (__x, __n)) +__inline_forward_c(float,scalblnf, (float __x, long int __n), (__x, __n)) __inline_forward_c(int,isnanf, (float __value), (__value)) #endif #ifdef __USE_ISOC9X __inline_forward_c(float,nearbyintf, (float __value), (__value)) +__inline_forward_c(long int,lrintf, (float __value), (__value)) +__inline_forward_c(float,fmaf, (float __x, float __y, float __z), + (__x, __y, __z)) #endif #ifdef __USE_GNU __inline_forward(void,sincosf, (float __x, float *__sinx, float *__cosx), @@ -417,13 +444,17 @@ __inline_forward_c(long double,ceill, (long double __x), (__x)) #ifdef __USE_MISC __inline_forward_c(int,isinfl, (long double __value), (__value)) __inline_forward_c(int,finitel, (long double __value), (__value)) -__inline_forward_c(long double,scalbnl, (long double __x, long int __n), +__inline_forward_c(long double,scalbnl, (long double __x, int __n), (__x, __n)) +__inline_forward_c(long double,scalblnl, (long double __x, long int __n), (__x, __n)) __inline_forward_c(int,isnanl, (long double __value), (__value)) #endif #ifdef __USE_ISOC9X __inline_forward_c(long double,nearbyintl, (long double __value), (__value)) -__inline_forward_c(long int,lrint, (long double __value), (__value)) +__inline_forward_c(long int,lrintl, (long double __value), (__value)) +__inline_forward_c(long double,fmal, + (long double __x, long double __y, long double __z), + (__x, __y, __z)) #endif #ifdef __USE_GNU __inline_forward(void,sincosl, diff --git a/sysdeps/m68k/fpu/s_lrint.c b/sysdeps/m68k/fpu/s_lrint.c index a7044113af..511d28880c 100644 --- a/sysdeps/m68k/fpu/s_lrint.c +++ b/sysdeps/m68k/fpu/s_lrint.c @@ -22,10 +22,20 @@ #define __LIBC_M81_MATH_INLINES #include <math.h> +#ifndef suffix +#define suffix /*empty*/ +#endif +#ifndef float_type +#define float_type double +#endif + +#define CONCATX(a,b) __CONCAT(a,b) + long int -__lrint (long double x) +CONCATX(__lrint,suffix) (float_type x) { - return __m81_u(__lrint) (x); + return __m81_u(CONCATX(__lrint,suffix)) (x); } -weak_alias (__lrint, lrint) +#define weak_aliasx(a,b) weak_alias(a,b) +weak_aliasx (CONCATX(__lrint,suffix), CONCATX(lrint,suffix)) diff --git a/sysdeps/m68k/fpu/s_lrintf.c b/sysdeps/m68k/fpu/s_lrintf.c new file mode 100644 index 0000000000..44924cb82f --- /dev/null +++ b/sysdeps/m68k/fpu/s_lrintf.c @@ -0,0 +1,3 @@ +#define suffix f +#define float_type float +#include <s_lrint.c> diff --git a/sysdeps/m68k/fpu/s_lrintl.c b/sysdeps/m68k/fpu/s_lrintl.c new file mode 100644 index 0000000000..cd0bd23b8a --- /dev/null +++ b/sysdeps/m68k/fpu/s_lrintl.c @@ -0,0 +1,3 @@ +#define suffix l +#define float_type long double +#include <s_lrint.c> diff --git a/sysdeps/m68k/fpu/s_scalbln.c b/sysdeps/m68k/fpu/s_scalbln.c new file mode 100644 index 0000000000..1009713fbc --- /dev/null +++ b/sysdeps/m68k/fpu/s_scalbln.c @@ -0,0 +1,2 @@ +/* Nothing to do. This function is the same as scalbn. So we define an + alias. */ diff --git a/sysdeps/m68k/fpu/s_scalblnf.c b/sysdeps/m68k/fpu/s_scalblnf.c new file mode 100644 index 0000000000..5e558c3540 --- /dev/null +++ b/sysdeps/m68k/fpu/s_scalblnf.c @@ -0,0 +1,2 @@ +/* Nothing to do. This function is the same as scalbnf. So we define an + alias. */ diff --git a/sysdeps/m68k/fpu/s_scalblnl.c b/sysdeps/m68k/fpu/s_scalblnl.c new file mode 100644 index 0000000000..cda2ec11c8 --- /dev/null +++ b/sysdeps/m68k/fpu/s_scalblnl.c @@ -0,0 +1,2 @@ +/* Nothing to do. This function is the same as scalbnl. So we define an + alias. */ diff --git a/sysdeps/m68k/fpu/s_scalbn.c b/sysdeps/m68k/fpu/s_scalbn.c index d3ba27fa46..1b219ec108 100644 --- a/sysdeps/m68k/fpu/s_scalbn.c +++ b/sysdeps/m68k/fpu/s_scalbn.c @@ -17,10 +17,22 @@ Boston, MA 02111-1307, USA. */ #define __LIBC_M81_MATH_INLINES +#define scalbln __no_scalbln_decl +#define scalblnf __no_scalblnf_decl +#define scalblnl __no_scalblnl_decl +#define __scalbln __no__scalbln_decl +#define __scalblnf __no__scalblnf_decl +#define __scalblnl __no__scalblnl_decl #include <math.h> - -#ifndef FUNC -#define FUNC scalbn +#undef scalbln +#undef scalblnf +#undef scalblnl +#undef __scalbln +#undef __scalblnf +#undef __scalblnl + +#ifndef suffix +#define suffix /*empty*/ #endif #ifndef float_type #define float_type double @@ -29,12 +41,15 @@ #define __CONCATX(a,b) __CONCAT(a,b) float_type -__CONCATX(__,FUNC) (x, exp) +__CONCATX(__scalbn,suffix) (x, exp) float_type x; - long int exp; + int exp; { - return __m81_u(__CONCATX(__,FUNC))(x, exp); + return __m81_u(__CONCATX(__scalbn,suffix))(x, exp); } #define weak_aliasx(a,b) weak_alias(a,b) -weak_aliasx (__CONCATX(__,FUNC), FUNC) +#define strong_aliasx(a,b) strong_alias(a,b) +weak_aliasx (__CONCATX(__scalbn,suffix), __CONCATX(scalbn,suffix)) +strong_aliasx (__CONCATX(__scalbn,suffix), __CONCATX(__scalbln,suffix)) +weak_aliasx (__CONCATX(__scalbn,suffix), __CONCATX(scalbln,suffix)) diff --git a/sysdeps/m68k/fpu/s_scalbnf.c b/sysdeps/m68k/fpu/s_scalbnf.c index 33459718e9..547971836a 100644 --- a/sysdeps/m68k/fpu/s_scalbnf.c +++ b/sysdeps/m68k/fpu/s_scalbnf.c @@ -1,5 +1,3 @@ -#ifndef FUNC -#define FUNC scalbnf -#endif +#define suffix f #define float_type float #include <s_scalbn.c> diff --git a/sysdeps/m68k/fpu/s_scalbnl.c b/sysdeps/m68k/fpu/s_scalbnl.c index c6ad95079c..874bafb04b 100644 --- a/sysdeps/m68k/fpu/s_scalbnl.c +++ b/sysdeps/m68k/fpu/s_scalbnl.c @@ -1,5 +1,3 @@ -#ifndef FUNC -#define FUNC scalbnl -#endif +#define suffix l #define float_type long double #include <s_scalbn.c> |