Subject: bug#59586: closed (Re: bug#59586: Conflicting types for 'wait' in binutils test program)

From: [email-masked] (GNU bug Tracking System)
Date: Thu, 01 Dec 2022 02:20:01 +0000

Your bug report

#59586: Conflicting types for 'wait' in binutils test program

which was filed against the dejagnu package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
59586: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=59586
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#59586: Conflicting types for 'wait' in binutils test program
From: Jacob Bachmeyer <[email-masked]>
To: John David Anglin <[email-masked]>
Cc: [email-masked]
Date: Wed, 30 Nov 2022 20:19:25 -0600
List-Id: <debbugs-submit.debbugs.gnu.org>

John David Anglin wrote:
> On 2022-11-28 10:43 p.m., Jacob Bachmeyer wrote:
>> An initial patch has been pushed to Savannah in the 
>> "topic-improved-unit-test" branch.  Please confirm that this resolves 
>> your issues.
>
> The patch fixes the wait conflict in the binutils libsframe on 
> hppa64-hp-hpux11.11.

Since the patch removes wait() entirely, it will also fix other 
platforms.  Thanks for confirming that this was the cause.  The patch is 
now on track to land in 1.6.4, so I am closing this bug report.

-- Jacob

Subject: Conflicting types for 'wait' in binutils test program
From: John David Anglin <[email-masked]>
To: [email-masked]
Date: Fri, 25 Nov 2022 18:44:07 -0500
List-Id: <debbugs-submit.debbugs.gnu.org>

https://sourceware.org/bugzilla/show_bug.cgi?id=29828

             Bug ID: 29828
            Summary: error: conflicting types for 'wait'
            Product: binutils
            Version: 2.40 (HEAD)
             Status: NEW
           Severity: normal
           Priority: P2
          Component: binutils
           Assignee: unassigned at sourceware dot org
           Reporter: danglin at gcc dot gnu.org
   Target Milestone: ---
               Host: hppa2.0w-hp-hpux11.11
             Target: hppa2.0w-hp-hpux11.11
              Build: hppa2.0w-hp-hpux11.11

make[2]: Entering directory '/home/dave/gnu/binutils/objdir/libsframe'
make  testsuite/libsframe.decode/be-flipping
testsuite/libsframe.decode/frecnt-1
  testsuite/libsframe.decode/frecnt-2 testsuite/libsframe.encode/encode-1
make[3]: Entering directory '/home/dave/gnu/binutils/objdir/libsframe'
gcc -DHAVE_CONFIG_H -I. -I../../src/libsframe -I../../src/libsframe/../include
-Wall  -Wall -Wextra -Wwrite-strings -Wmissing-format-attribute
-Wstrict-prototy
pes -Wmissing-prototypes -O2 -g     -MT
testsuite/libsframe.decode/testsuite_lib
sframe_decode_be_flipping-be-flipping.o -MD -MP -MF
testsuite/libsframe.decode/.
deps/testsuite_libsframe_decode_be_flipping-be-flipping.Tpo -c -o
testsuite/libs
frame.decode/testsuite_libsframe_decode_be_flipping-be-flipping.o `test -f
'test
suite/libsframe.decode/be-flipping.c' || echo
'../../src/libsframe/'`testsuite/l
ibsframe.decode/be-flipping.c
In file included from
../../src/libsframe/testsuite/libsframe.decode/be-flipping
.c:28:
/opt/gnu/include/dejagnu.h:48:1: error: conflicting types for 'wait'
    48 | wait (void)
       | ^~~~
In file included from
/home/opt/gnu/gcc/gcc-10/lib/gcc/hppa2.0w-hp-hpux11.11/10.
3.1/include-fixed/stdlib.h:307,
                  from
../../src/libsframe/testsuite/libsframe.decode/be-flipping
.c:21:
/usr/include/sys/wait.h:74:21: note: previous declaration of 'wait' was here
    74 |        extern pid_t wait(int *);
       |                     ^~~~
make[3]: *** [Makefile:733:
testsuite/libsframe.decode/testsuite_libsframe_decod
e_be_flipping-be-flipping.o] Error 1
make[3]: Target 'testsuite/libsframe.decode/be-flipping' not remade because of
e
rrors.

In dejagnu.h, we have:

void
wait (void)
{
#ifdef_DEJAGNU_WAIT_
   fd_set rfds;
   struct timeval tv;

   FD_ZERO (&rfds);
   tv.tv_sec = 0;
   tv.tv_usec = 1;

   select (0, &rfds, NULL, NULL, &tv);
#endif
}

In fixed stdlib.h, we have:
#ifdef _INCLUDE_XOPEN_SOURCE_EXTENDED
# include <sys/wait.h>     /* For required W* macros */

Seems like a dejagnu bug. dejagnu-1.6.3 is installed.

Dave

-- 
John David Anglin  [email-masked]