From ef0c2739f5b0cf00d48e8311a1e6165792c8a1f9 Mon Sep 17 00:00:00 2001 From: Brendan Kehoe Date: Thu, 5 Jun 1997 22:23:14 -0400 Subject: [PATCH] * fixinc.irix: Add declaration of __vfork to unistd.h. From-SVN: r14159 --- gcc/fixinc.irix | 35 ++++++++++++++++++++++++++++++++--- 1 file changed, 32 insertions(+), 3 deletions(-) diff --git a/gcc/fixinc.irix b/gcc/fixinc.irix index 222097718fb..337289a121e 100755 --- a/gcc/fixinc.irix +++ b/gcc/fixinc.irix @@ -55,9 +55,9 @@ echo 'Building fixincludes in ' ${LIB} # # Note: For Irix, we deliberately don't try to create the directory trees, -# since we only modify math.h and limits.h. If we ADD ANY OTHERS, -# the "Making directories:" and symlinks code from fixinc.svr4 may -# have to go back in. +# since we only modify math.h, limits.h and unistd.h. If we +# ADD ANY OTHERS, the "Making directories:" and symlinks code from +# fixinc.svr4 may have to go back in. # The Irix math.h defines struct exception, which conflicts with # the class exception defined in the C++ file std/stdexcept.h. We @@ -158,4 +158,33 @@ if [ \! -z "$file_to_fix" ]; then rm -f /tmp/$base fi +# The Irix unistd.h will introduce a call to __vfork in its libc, but the +# function is never actually prototyped. +file=unistd.h +base=`basename $file` +if [ -r ${LIB}/$file ]; then + file_to_fix=${LIB}/$file +else + if [ -r ${INPUT}/$file ]; then + file_to_fix=${INPUT}/$file + else + file_to_fix="" + fi +fi +if [ \! -z "$file_to_fix" ]; then + echo Checking $file_to_fix + sed -e '/__vfork/i\ +extern pid_t __vfork(void);'\ + $file_to_fix > /tmp/$base + if cmp $file_to_fix /tmp/$base >/dev/null 2>&1; then \ + true + else + echo Fixed $file_to_fix + rm -f ${LIB}/$file + cp /tmp/$base ${LIB}/$file + chmod a+r ${LIB}/$file + fi + rm -f /tmp/$base +fi + exit 0