Commit ade7386a by Manfred Hollstein Committed by Jeff Law

fixincludes (size_t): Add support for Motorola's stdlib.h which fails to provide…

fixincludes (size_t): Add support for Motorola's stdlib.h which fails to provide a definition for size_t.

        * fixincludes (size_t): Add support for Motorola's stdlib.h
        which fails to provide a definition for size_t.
        (fabs/hypot): Provide a prototype for fabs on m88k-motorola-sysv3.
        (strlen,strspn,strcspn return value): Handle different layout on sysV88.
        (hypot): Provide a fake for hypot for m88k-motorola-sysv3.
Fixes from Manfred.

From-SVN: r17120
parent a24ebe1b
Tue Dec 16 23:44:54 1997 Manfred Hollstein <manfred@s-direktnet.de>
* fixincludes (size_t): Add support for Motorola's stdlib.h
which fails to provide a definition for size_t.
(fabs/hypot): Provide a prototype for fabs on m88k-motorola-sysv3.
(strlen,strspn,strcspn return value): Handle different layout on sysV88.
(hypot): Provide a fake for hypot for m88k-motorola-sysv3.
* m68k/xm-mot3300.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Define to
prevent unresolved externals in libio.
* m88k/xm-sysv3.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Likewise.
......@@ -121,7 +127,7 @@ Fri Oct 10 17:58:31 CEST 1997 Marc Lehmann <pcg@goof.com>
Thu Dec 11 23:55:17 1997 Manfred Hollstein <manfred@s-direktnet.de>
* fixincludes (str{len,spn,cspn} return value): Handle different
* fixincludes (strlen,strspn,strcspn return value): Handle different
layout on sysV88.
(hypot): Provide a fake for hypot which is broken on
m88k-motorola-sysv3.
......
......@@ -366,6 +366,13 @@ for file in sys/types.h stdlib.h sys/stdtypes.h stddef.h memory.h unistd.h; do
if [ -r ${LIB}/$file ]; then
echo Fixing size_t, ptrdiff_t and wchar_t in $file
sed \
-e '/^[ ]*\*[ ]*typedef unsigned int size_t;/N' \
-e 's/^\([ ]*\*[ ]*typedef unsigned int size_t;\n[ ]*\*\/\)/\1\
#ifndef __SIZE_TYPE__\
#define __SIZE_TYPE__ long unsigned int\
#endif\
typedef __SIZE_TYPE__ size_t;\
/' \
-e '/typedef[ ][ ]*[a-z_][ a-z_]*[ ]size_t/i\
#ifndef __SIZE_TYPE__\
#define __SIZE_TYPE__ long unsigned int\
......@@ -2300,6 +2307,8 @@ done
# libm.a on m88k-motorola-sysv3 contains a stupid optimization for function
# hypot(), which returns the second argument without even looking at its value
# if the other is 0.0
# Another drawback is that fix-header doesn't fix fabs' prototype, and I have
# no idea why.
file=math.h
if [ $target_canonical = m88k-motorola-sysv3 ]; then
if [ -r $file ] && [ ! -r ${LIB}/$file ]; then
......@@ -2309,8 +2318,10 @@ if [ $target_canonical = m88k-motorola-sysv3 ]; then
fi
if [ -r ${LIB}/$file ]; then
echo Fixing $file, hypot definition
sed -e '/^extern double hypot();$/a\
echo Fixing $file, fabs/hypot definition
sed \
-e 's/extern double floor(), ceil(), fmod(), fabs();/extern double floor(), ceil(), fmod(), fabs _PARAMS((double));/' \
-e '/^extern double hypot();$/a\
\/* Workaround a stupid Motorola optimization if one\
of x or y is 0.0 and the other is negative! *\/\
#ifdef __STDC__\
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment