Hi Radek, can you send this patch, as well as the newlib patch, as git patch with subject line commit message and Signed-off-by, please?
`git format-patch' and `git send-email' are a great help there. Thanks, Corinna On Dec 3 11:32, Radek Barton via Cygwin-patches wrote: > GCC 15 enables `-std=gnu23` by default which breaks build of `newlib` and > `winsup` on old-style C function declarations. This patch changes the > declarations to ANSI style. > diff --git a/winsup/cygwin/libc/fts.c b/winsup/cygwin/libc/fts.c > index 1826d2213..6f060e54e 100644 > --- a/winsup/cygwin/libc/fts.c > +++ b/winsup/cygwin/libc/fts.c > @@ -1111,8 +1111,7 @@ fts_padjust(FTS *sp, FTSENT *head) > } > > static size_t > -fts_maxarglen(argv) > - char * const *argv; > +fts_maxarglen(char * const *argv) > { > size_t len, max; > > diff --git a/winsup/cygwin/libc/inet_network.c > b/winsup/cygwin/libc/inet_network.c > index 43a394cf4..17b61f7aa 100644 > --- a/winsup/cygwin/libc/inet_network.c > +++ b/winsup/cygwin/libc/inet_network.c > @@ -56,8 +56,7 @@ __FBSDID("$FreeBSD$"); > * network numbers. > */ > in_addr_t > -cygwin_inet_network(cp) > - const char *cp; > +cygwin_inet_network(const char *cp) > { > in_addr_t val, base, n; > char c; > diff --git a/winsup/testsuite/libltp/include/test.h > b/winsup/testsuite/libltp/include/test.h > index 757f3b8a1..af7c3c0c8 100644 > --- a/winsup/testsuite/libltp/include/test.h > +++ b/winsup/testsuite/libltp/include/test.h > @@ -225,7 +225,7 @@ extern void tt_exit(); > extern int t_environ(); > extern void t_breakum(char *tcid, int total, int typ, char *msg, void > (*fnc)()); > > -extern void tst_sig(int fork_flag, void (*handler)(), void (*cleanup)()); > +extern void tst_sig(int fork_flag, void (*handler)(int), void (*cleanup)()); > extern void tst_tmpdir(); > extern void tst_rmdir(); > > diff --git a/winsup/testsuite/libltp/include/usctest.h > b/winsup/testsuite/libltp/include/usctest.h > index 637635a25..08db49551 100644 > --- a/winsup/testsuite/libltp/include/usctest.h > +++ b/winsup/testsuite/libltp/include/usctest.h > @@ -198,7 +198,7 @@ struct tblock { > * in the macros that follow. > ***********************************************************************/ > extern struct tblock tblock; > -extern void STD_go(); > +extern void STD_go(int); > extern int (*_TMP_FUNC)(void); > extern void STD_opts_help(); > > diff --git a/winsup/testsuite/libltp/include/write_log.h > b/winsup/testsuite/libltp/include/write_log.h > index 784d5b3eb..505d2c08a 100644 > --- a/winsup/testsuite/libltp/include/write_log.h > +++ b/winsup/testsuite/libltp/include/write_log.h > @@ -154,7 +154,7 @@ extern int wlog_close(struct wlog_file *wfile); > extern int wlog_record_write(struct wlog_file *wfile, > struct wlog_rec *wrec, long offset); > extern int wlog_scan_backward(struct wlog_file *wfile, int nrecs, > - int (*func)(struct wlog_rec *rec), > + int (*func)(struct wlog_rec *rec, long), > long data); > #else > int wlog_open(); > diff --git a/winsup/testsuite/libltp/lib/dataascii.c > b/winsup/testsuite/libltp/lib/dataascii.c > index 5bc201852..41ed440c0 100644 > --- a/winsup/testsuite/libltp/lib/dataascii.c > +++ b/winsup/testsuite/libltp/lib/dataascii.c > @@ -43,11 +43,12 @@ > static char Errmsg[80]; > > int > -dataasciigen(listofchars, buffer, bsize, offset) > -char *listofchars; /* a null terminated list of characters */ > -char *buffer; > -int bsize; > -int offset; > +dataasciigen( > + char *listofchars, /* a null terminated list of characters */ > + char *buffer, > + int bsize, > + int offset > +) > { > int cnt; > int total; > @@ -78,12 +79,13 @@ int offset; > } /* end of dataasciigen */ > > int > -dataasciichk(listofchars, buffer, bsize, offset, errmsg) > -char *listofchars; /* a null terminated list of characters */ > -char *buffer; > -int bsize; > -int offset; > -char **errmsg; > +dataasciichk( > + char *listofchars, /* a null terminated list of characters */ > + char *buffer, > + int bsize, > + int offset, > + char **errmsg > +) > { > int cnt; > int total; > diff --git a/winsup/testsuite/libltp/lib/databin.c > b/winsup/testsuite/libltp/lib/databin.c > index e43fef4e4..6cf27f77c 100644 > --- a/winsup/testsuite/libltp/lib/databin.c > +++ b/winsup/testsuite/libltp/lib/databin.c > @@ -42,11 +42,12 @@ > static char Errmsg[80]; > > void > -databingen (mode, buffer, bsize, offset) > -int mode; /* either a, c, r, o, z or C */ > -unsigned char *buffer; /* buffer pointer */ > -int bsize; /* size of buffer */ > -int offset; /* offset into the file where buffer starts */ > +databingen ( > + int mode, /* either a, c, r, o, z or C */ > + unsigned char *buffer, /* buffer pointer */ > + int bsize, /* size of buffer */ > + int offset /* offset into the file where buffer starts */ > +) > { > int ind; > > @@ -89,12 +90,13 @@ int ind; > * < 0 : no error > ***********************************************************************/ > int > -databinchk(mode, buffer, bsize, offset, errmsg) > -int mode; /* either a, c, r, z, o, or C */ > -unsigned char *buffer; /* buffer pointer */ > -int bsize; /* size of buffer */ > -int offset; /* offset into the file where buffer starts */ > -char **errmsg; > +databinchk( > + int mode, /* either a, c, r, z, o, or C */ > + unsigned char *buffer, /* buffer pointer */ > + int bsize, /* size of buffer */ > + int offset, /* offset into the file where buffer starts */ > + char **errmsg > +) > { > int cnt; > unsigned char *chr; > diff --git a/winsup/testsuite/libltp/lib/datapid.c > b/winsup/testsuite/libltp/lib/datapid.c > index 9414eae90..ca091311b 100644 > --- a/winsup/testsuite/libltp/lib/datapid.c > +++ b/winsup/testsuite/libltp/lib/datapid.c > @@ -83,11 +83,12 @@ static char Errmsg[80]; > * Thus, offset 8 is in middle of word 1 > ***********************************************************************/ > int > -datapidgen(pid, buffer, bsize, offset) > -int pid; > -char *buffer; > -int bsize; > -int offset; > +datapidgen( > + int pid, > + char *buffer, > + int bsize, > + int offset > +) > { > #if CRAY > > @@ -178,12 +179,13 @@ printf("partial at end\n"); > * > ***********************************************************************/ > int > -datapidchk(pid, buffer, bsize, offset, errmsg) > -int pid; > -char *buffer; > -int bsize; > -int offset; > -char **errmsg; > +datapidchk( > + int pid, > + char *buffer, > + int bsize, > + int offset, > + char **errmsg > +) > { > #if CRAY > > diff --git a/winsup/testsuite/libltp/lib/forker.c > b/winsup/testsuite/libltp/lib/forker.c > index 99bc58550..65f1036a3 100644 > --- a/winsup/testsuite/libltp/lib/forker.c > +++ b/winsup/testsuite/libltp/lib/forker.c > @@ -133,8 +133,7 @@ int Forker_npids=0; /* number of entries in > Forker_pids */ > * !0 : if fork failed, the return value will be the errno. > ***********************************************************************/ > int > -background(prefix) > -char *prefix; > +background(char *prefix) > { > switch (fork()) { > case -1: > @@ -159,12 +158,13 @@ char *prefix; > * > ***********************************************************************/ > int > -forker(ncopies, mode, prefix) > -int ncopies; > -int mode; /* 0 - all childern of parent, 1 - only 1 direct child */ > -char *prefix; /* if ! NULL, an message will be printed to stderr */ > - /* if fork fails. The prefix (program name) will */ > - /* preceed the message */ > +forker( > + int ncopies, > + int mode, /* 0 - all childern of parent, 1 - only 1 > direct child */ > + char *prefix /* if ! NULL, an message will be printed to stderr */ > + /* if fork fails. The prefix (program > name) will */ > + /* preceed the message */ > +) > { > int cnt; > int pid; > diff --git a/winsup/testsuite/libltp/lib/parse_opts.c > b/winsup/testsuite/libltp/lib/parse_opts.c > index 1f41bfdd2..0d1b80247 100644 > --- a/winsup/testsuite/libltp/lib/parse_opts.c > +++ b/winsup/testsuite/libltp/lib/parse_opts.c > @@ -198,7 +198,11 @@ int STD_ERRNO_LIST[USC_MAX_ERRNO]; > #define STRLEN 2048 > > static char Mesg2[STRLEN]; /* holds possible return string */ > -static void usc_recressive_func(); > +static void usc_recressive_func( > + int cnt, > + int max, > + struct usc_bigstack_t **bstack > +); > > /* > * Define bits for options that might have env variable default > @@ -633,7 +637,7 @@ usc_global_setup_hook() > if ( STD_PAUSE ) { > _TMP_FUNC = (int (*)())signal(SIGUSR1, STD_go); > pause(); > - signal(SIGUSR1, (void (*)())_TMP_FUNC); > + signal(SIGUSR1, (_sig_func_ptr)_TMP_FUNC); > } > > > @@ -693,8 +697,7 @@ get_current_time() > * counter integer is supplied by the user program. > ***********************************************************************/ > int > -usc_test_looping(counter) > -int counter; > +usc_test_looping(int counter) > { > static int first_time = 1; > static int stop_time = 0; /* stop time in rtc or usecs */ > @@ -803,10 +806,11 @@ int counter; > * This function recressively calls itself max times. > */ > static void > -usc_recressive_func(cnt, max, bstack) > -int cnt; > -int max; > -struct usc_bigstack_t bstack; > +usc_recressive_func( > + int cnt, > + int max, > + struct usc_bigstack_t **bstack > +) > { > if ( cnt < max ) > usc_recressive_func(cnt+1, max, bstack); > diff --git a/winsup/testsuite/libltp/lib/pattern.c > b/winsup/testsuite/libltp/lib/pattern.c > index 7f4d5873e..5a88bfd3b 100644 > --- a/winsup/testsuite/libltp/lib/pattern.c > +++ b/winsup/testsuite/libltp/lib/pattern.c > @@ -38,12 +38,13 @@ > */ > > int > -pattern_check(buf, buflen, pat, patlen, patshift) > -char *buf; > -int buflen; > -char *pat; > -int patlen; > -int patshift; > +pattern_check( > + char *buf, > + int buflen, > + char *pat, > + int patlen, > + int patshift > +) > { > int nb, ncmp, nleft; > char *cp; > @@ -105,12 +106,13 @@ int patshift; > } > > int > -pattern_fill(buf, buflen, pat, patlen, patshift) > -char *buf; > -int buflen; > -char *pat; > -int patlen; > -int patshift; > +pattern_fill( > + char *buf, > + int buflen, > + char *pat, > + int patlen, > + int patshift > +) > { > int trans, ncopied, nleft; > char *cp; > diff --git a/winsup/testsuite/libltp/lib/search_path.c > b/winsup/testsuite/libltp/lib/search_path.c > index 697b4037b..f6936094a 100644 > --- a/winsup/testsuite/libltp/lib/search_path.c > +++ b/winsup/testsuite/libltp/lib/search_path.c > @@ -103,11 +103,12 @@ char **argv; > /* > */ > int > -search_path(cmd, res_path, access_mode, fullpath) > -const char *cmd; /* The requested filename */ > -char *res_path; /* The resulting path or error mesg */ > -int access_mode; /* the mode used by access(2) */ > -int fullpath; /* if set, cwd will be prepended to all non-full paths > */ > +search_path( > + const char *cmd, /* The requested filename */ > + char *res_path, /* The resulting path or error mesg */ > + int access_mode, /* the mode used by access(2) */ > + int fullpath /* if set, cwd will be prepended to all > non-full paths */ > +) > { > char *cp; /* used to scan PATH for directories */ > int ret; /* return value from access */ > diff --git a/winsup/testsuite/libltp/lib/str_to_bytes.c > b/winsup/testsuite/libltp/lib/str_to_bytes.c > index beecb71b6..70157dcde 100644 > --- a/winsup/testsuite/libltp/lib/str_to_bytes.c > +++ b/winsup/testsuite/libltp/lib/str_to_bytes.c > @@ -75,8 +75,7 @@ > #define T_MULT 1099511627776 /* tera or 2^40 */ > > int > -str_to_bytes(s) > -char *s; > +str_to_bytes(char *s) > { > char mult, junk; > int nconv; > @@ -110,8 +109,7 @@ char *s; > } > > long > -str_to_lbytes(s) > -char *s; > +str_to_lbytes(char *s) > { > char mult, junk; > long nconv; > @@ -150,8 +148,7 @@ char *s; > */ > > long long > -str_to_llbytes(s) > -char *s; > +str_to_llbytes(char *s) > { > char mult, junk; > long nconv; > diff --git a/winsup/testsuite/libltp/lib/string_to_tokens.c > b/winsup/testsuite/libltp/lib/string_to_tokens.c > index 6f0d775dd..a2b3a7617 100644 > --- a/winsup/testsuite/libltp/lib/string_to_tokens.c > +++ b/winsup/testsuite/libltp/lib/string_to_tokens.c > @@ -80,7 +80,7 @@ int > string_to_tokens(char *arg_string, char *arg_array[], int array_size, char > *separator) > { > int num_toks = 0; /* number of tokens found */ > - char *strtok(); > + char *strtok(char *, const char *); > > if ( arg_array == NULL || array_size <= 1 || separator == NULL ) > return -1; > diff --git a/winsup/testsuite/libltp/lib/tst_res.c > b/winsup/testsuite/libltp/lib/tst_res.c > index 99767ec9b..731dcbc1b 100644 > --- a/winsup/testsuite/libltp/lib/tst_res.c > +++ b/winsup/testsuite/libltp/lib/tst_res.c > @@ -563,8 +563,6 @@ tst_exit() > int > tst_environ() > { > - FILE *fdopen(); > - > if ( (T_out = fdopen(dup(fileno(stdout)), "w")) == NULL ) > return(-1); > else > diff --git a/winsup/testsuite/libltp/lib/tst_sig.c > b/winsup/testsuite/libltp/lib/tst_sig.c > index f5b64b666..976b5eecb 100644 > --- a/winsup/testsuite/libltp/lib/tst_sig.c > +++ b/winsup/testsuite/libltp/lib/tst_sig.c > @@ -81,7 +81,7 @@ > void (*T_cleanup)(); /* pointer to cleanup function */ > > extern int errno; > -static void def_handler(); /* default signal handler */ > +static void def_handler(int); /* default signal handler */ > > /**************************************************************************** > * tst_sig() : set-up to catch unexpected signals. fork_flag is set to > NOFORK > @@ -93,7 +93,7 @@ static void def_handler(); /* default signal > handler */ > ***************************************************************************/ > > void > -tst_sig(int fork_flag, void (*handler)(), void (*cleanup)()) > +tst_sig(int fork_flag, void (*handler)(int), void (*cleanup)()) > { > char mesg[MAXMESG]; /* message buffer for tst_res */ > int sig; > diff --git a/winsup/testsuite/libltp/lib/write_log.c > b/winsup/testsuite/libltp/lib/write_log.c > index 8104b05ac..bfbf6adfa 100644 > --- a/winsup/testsuite/libltp/lib/write_log.c > +++ b/winsup/testsuite/libltp/lib/write_log.c > @@ -115,10 +115,11 @@ static int wlog_rec_unpack(); > */ > > int > -wlog_open(wfile, trunc, mode) > -struct wlog_file *wfile; > -int trunc; > -int mode; > +wlog_open( > + struct wlog_file *wfile, > + int trunc, > + int mode > +) > { > int omask, oflags; > > @@ -166,8 +167,7 @@ int mode; > */ > > int > -wlog_close(wfile) > -struct wlog_file *wfile; > +wlog_close(struct wlog_file *wfile) > { > close(wfile->w_afd); > close(wfile->w_rfd); > @@ -201,10 +201,11 @@ struct wlog_file *wfile; > */ > > int > -wlog_record_write(wfile, wrec, offset) > -struct wlog_file *wfile; > -struct wlog_rec *wrec; > -long offset; > +wlog_record_write( > + struct wlog_file *wfile, > + struct wlog_rec *wrec, > + long offset > +) > { > int reclen; > char wbuf[WLOG_REC_MAX_SIZE + 2]; > @@ -249,11 +250,12 @@ long offset; > */ > > int > -wlog_scan_backward(wfile, nrecs, func, data) > -struct wlog_file *wfile; > -int nrecs; > -int (*func)(); > -long data; > +wlog_scan_backward( > + struct wlog_file *wfile, > + int nrecs, > + int (*func)(struct wlog_rec*, long), > + long data > +) > { > int fd, leftover, nbytes, recnum, reclen, rval; > off_t offset; > @@ -381,10 +383,11 @@ long data; > */ > > static int > -wlog_rec_pack(wrec, buf, flag) > -struct wlog_rec *wrec; > -char *buf; > -int flag; > +wlog_rec_pack( > + struct wlog_rec *wrec, > + char *buf, > + int flag > +) > { > char *file, *host, *pattern; > struct wlog_rec_disk *wrecd; > @@ -430,9 +433,10 @@ int flag; > } > > static int > -wlog_rec_unpack(wrec, buf) > -struct wlog_rec *wrec; > -char *buf; > +wlog_rec_unpack( > + struct wlog_rec *wrec, > + char *buf > +) > { > char *file, *host, *pattern; > struct wlog_rec_disk *wrecd;