diff -Naur glibc-2.25/libio/stdio.h glibc-2.25-patched/libio/stdio.h --- glibc-2.25/libio/stdio.h 2017-02-05 10:28:43.000000000 -0500 +++ glibc-2.25-patched/libio/stdio.h 2023-05-23 15:22:27.482980335 -0400 @@ -154,18 +154,23 @@ # define P_tmpdir "/tmp" #endif +#define L_tmpnam 20 +#define TMP_MAX 238328 /* Get the values: - L_tmpnam How long an array of chars must be to be passed to `tmpnam'. - TMP_MAX The minimum number of unique filenames generated by tmpnam - (and tempnam when it uses tmpnam's name space), - or tempnam (the two are separate). - L_ctermid How long an array to pass to `ctermid'. - L_cuserid How long an array to pass to `cuserid'. - FOPEN_MAX Minimum number of files that can be open at once. FILENAME_MAX Maximum length of a filename. */ #include +#ifdef __USE_POSIX +# define L_ctermid 9 +# if !defined __USE_XOPEN2K || defined __USE_GNU +# define L_cuserid 9 +# endif +#endif + +#undef FOPEN_MAX +#define FOPEN_MAX 16 + /* Standard streams. */ extern struct _IO_FILE *stdin; /* Standard input stream. */ diff -Naur glibc-2.25/Makerules glibc-2.25-patched/Makerules --- glibc-2.25/Makerules 2017-02-05 10:28:43.000000000 -0500 +++ glibc-2.25-patched/Makerules 2023-05-23 15:22:05.594967548 -0400 @@ -1474,55 +1474,7 @@ endif endif - -# These will have been set by sysdeps/posix/Makefile. -L_tmpnam ?= 1 -TMP_MAX ?= 0 -L_ctermid ?= 1 -L_cuserid ?= 1 -stdio_lim = $(common-objpfx)bits/stdio_lim.h - -$(stdio_lim:lim.h=%.h) $(stdio_lim:lim.h=%.d): $(stdio_lim:lim.h=%.st); @: -$(stdio_lim:h=st): $(..)stdio-common/stdio_lim.h.in $(..)Rules \ - $(common-objpfx)config.make - $(make-target-directory) - { echo '#include "$(..)posix/bits/posix1_lim.h"'; \ - echo '#define _LIBC 1'; \ - echo '#include "$(..)misc/sys/uio.h"'; } | \ - $(CC) -E -dM -MD -MP -MF $(@:st=dT) -MT '$(@:st=h) $(@:st=d)' \ - $(CPPUNDEFS) $(+includes) -xc - -o $(@:st=hT) - sed $(sed-remove-objpfx) $(sed-remove-dotdot) \ - $(@:st=dT) > $(@:st=dt) - mv -f $(@:st=dt) $(@:st=d) - fopen_max=`sed -n 's/^#define OPEN_MAX //1p' $(@:st=hT)`; \ - filename_max=`sed -n 's/^#define PATH_MAX //1p' $(@:st=hT)`; \ - iov_max=`sed -n 's/^#define UIO_MAXIOV //p' $(@:st=hT)`; \ - fopen_max=$${fopen_max:-16}; \ - filename_max=$${filename_max:-1024}; \ - if [ -z "$$iov_max" ]; then \ - define_iov_max="# undef IOV_MAX"; \ - else \ - define_iov_max="# define IOV_MAX $$iov_max"; \ - fi; \ - sed -e "s/@FOPEN_MAX@/$$fopen_max/" \ - -e "s/@FILENAME_MAX@/$$filename_max/" \ - -e "s/@L_tmpnam@/$(L_tmpnam)/" \ - -e "s/@TMP_MAX@/$(TMP_MAX)/" \ - -e "s/@L_ctermid@/$(L_ctermid)/" \ - -e "s/@L_cuserid@/$(L_cuserid)/" \ - -e "s/@define_IOV_MAX@/$$define_iov_max/" \ - $< > $(@:st=h.new) - $(move-if-change) $(@:st=h.new) $(@:st=h) -# Remove these last so that they can be examined if something went wrong. - rm -f $(@:st=hT) $(@:st=dT) $(@:st=dt) - touch $@ -# Get dependencies. -ifndef no_deps --include $(stdio_lim:h=d) -endif -common-generated += bits/stdio_lim.h bits/stdio_lim.d bits/stdio_lim.st - FORCE: .PHONY: echo-headers diff -Naur glibc-2.25/Rules glibc-2.25-patched/Rules --- glibc-2.25/Rules 2017-02-05 10:28:43.000000000 -0500 +++ glibc-2.25-patched/Rules 2023-05-23 15:22:27.482980335 -0400 @@ -60,9 +60,6 @@ common-generated := endif -# See below. This must be set before Makerules processes it. -before-compile += $(common-objpfx)bits/stdio_lim.h - include $(..)Makerules .PHONY: subdir_lib diff -Naur glibc-2.25/stdio-common/stdio_lim.h.in glibc-2.25-patched/stdio-common/stdio_lim.h.in --- glibc-2.25/stdio-common/stdio_lim.h.in 2017-02-05 10:28:43.000000000 -0500 +++ glibc-2.25-patched/stdio-common/stdio_lim.h.in 1969-12-31 19:00:00.000000000 -0500 @@ -1,42 +0,0 @@ -/* Copyright (C) 1994-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#if !defined _STDIO_H && !defined __need_FOPEN_MAX && !defined __need_IOV_MAX -# error "Never include directly; use instead." -#endif - -#ifdef _STDIO_H -# define L_tmpnam @L_tmpnam@ -# define TMP_MAX @TMP_MAX@ -# define FILENAME_MAX @FILENAME_MAX@ - -# ifdef __USE_POSIX -# define L_ctermid @L_ctermid@ -# if !defined __USE_XOPEN2K || defined __USE_GNU -# define L_cuserid @L_cuserid@ -# endif -# endif -#endif - -#if defined __need_FOPEN_MAX || defined _STDIO_H -# undef FOPEN_MAX -# define FOPEN_MAX @FOPEN_MAX@ -#endif - -#if defined __need_IOV_MAX && !defined IOV_MAX -@define_IOV_MAX@ -#endif diff -Naur glibc-2.25/sysdeps/mach/hurd/bits/stdio_lim.h glibc-2.25-patched/sysdeps/mach/hurd/bits/stdio_lim.h --- glibc-2.25/sysdeps/mach/hurd/bits/stdio_lim.h 1969-12-31 19:00:00.000000000 -0500 +++ glibc-2.25-patched/sysdeps/mach/hurd/bits/stdio_lim.h 2023-05-23 15:22:27.483980336 -0400 @@ -0,0 +1,28 @@ +/* System specific stdio.h definitions. Hurd version. + Copyright (C) 2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _BITS_STDIO_LIM_H +#define _BITS_STDIO_LIM_H 1 + +#ifndef _STDIO_H +# error "Never include directly; use instead." +#endif + +#define FILENAME_MAX 1024 + +#endif /* bits/stdio_lim.h */ diff -Naur glibc-2.25/sysdeps/posix/Makefile glibc-2.25-patched/sysdeps/posix/Makefile --- glibc-2.25/sysdeps/posix/Makefile 2017-02-05 10:28:43.000000000 -0500 +++ glibc-2.25-patched/sysdeps/posix/Makefile 2023-05-23 15:22:27.483980336 -0400 @@ -1,8 +1,3 @@ -# These affect the generated bits/stdio_lim.h file. -L_tmpnam = 20 -TMP_MAX = 238328 -L_ctermid = 9 -L_cuserid = 9 ifeq ($(subdir)|$(have-thread-library),rt|no) # With NPTL, this lives in libpthread so it can be used for sem_open too. diff -Naur glibc-2.25/sysdeps/unix/sysv/linux/bits/stdio_lim.h glibc-2.25-patched/sysdeps/unix/sysv/linux/bits/stdio_lim.h --- glibc-2.25/sysdeps/unix/sysv/linux/bits/stdio_lim.h 1969-12-31 19:00:00.000000000 -0500 +++ glibc-2.25-patched/sysdeps/unix/sysv/linux/bits/stdio_lim.h 2023-05-23 15:22:27.483980336 -0400 @@ -0,0 +1,28 @@ +/* System specific stdio.h definitions. Linux version. + Copyright (C) 2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _BITS_STDIO_LIM_H +#define _BITS_STDIO_LIM_H 1 + +//#ifndef _STDIO_H +//# error "Never include directly; use instead." +//#endif + +#define FILENAME_MAX 4096 + +#endif /* bits/stdio_lim.h */