Skip to content

Commit 29794c7

Browse files
committed
Let Gnulib deal with malloc/realloc 0
Instead of worrying about whether malloc and realloc yield a non-null pointer when given size 0 (the traditional behavior recommended by Doug McIlroy, and the only behavior that makes sense for Emacs), let Gnulib arrange for the traditional behavior. * admin/merge-gnulib (GNULIB_MODULES): Add malloc-gnu (which we were already depending on indirectly) and realloc-posix. * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate by running admin/merge-gnulib.
1 parent 9eefe7c commit 29794c7

File tree

3 files changed

+14
-41
lines changed

3 files changed

+14
-41
lines changed

admin/merge-gnulib

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,11 @@ GNULIB_MODULES='
4141
free-posix fstatat fsusage fsync futimens
4242
getline getloadavg getopt-gnu getrandom gettime gettimeofday gitlog-to-changelog
4343
ieee754-h ignore-value intprops largefile libgmp lstat
44-
manywarnings memmem-simple mempcpy memrchr memset_explicit
44+
malloc-gnu manywarnings memmem-simple mempcpy memrchr memset_explicit
4545
minmax mkostemp mktime
4646
nanosleep nproc nstrftime
4747
pathmax pipe2 pselect pthread_sigmask
48-
qcopy-acl readlink readlinkat regex
48+
qcopy-acl readlink readlinkat realloc-posix regex
4949
sig2str sigdescr_np socklen stat-time std-gnu11
5050
stdc_bit_width stdc_count_ones stdc_trailing_zeros
5151
stdckdint-h stddef-h stdio-h

lib/gnulib.mk.in

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,7 @@
132132
# largefile \
133133
# libgmp \
134134
# lstat \
135+
# malloc-gnu \
135136
# manywarnings \
136137
# memmem-simple \
137138
# mempcpy \
@@ -150,6 +151,7 @@
150151
# qcopy-acl \
151152
# readlink \
152153
# readlinkat \
154+
# realloc-posix \
153155
# regex \
154156
# sig2str \
155157
# sigdescr_np \
@@ -1478,14 +1480,12 @@ gl_GNULIB_ENABLED_03e0aaad4cb89ca757653bd367a6ccb7_CONDITION = @gl_GNULIB_ENABLE
14781480
gl_GNULIB_ENABLED_260941c0e5dc67ec9e87d1fb321c300b_CONDITION = @gl_GNULIB_ENABLED_260941c0e5dc67ec9e87d1fb321c300b_CONDITION@
14791481
gl_GNULIB_ENABLED_5264294aa0a5557541b53c8c741f7f31_CONDITION = @gl_GNULIB_ENABLED_5264294aa0a5557541b53c8c741f7f31_CONDITION@
14801482
gl_GNULIB_ENABLED_6099e9737f757db36c47fa9d9f02e88c_CONDITION = @gl_GNULIB_ENABLED_6099e9737f757db36c47fa9d9f02e88c_CONDITION@
1481-
gl_GNULIB_ENABLED_61bcaca76b3e6f9ae55d57a1c3193bc4_CONDITION = @gl_GNULIB_ENABLED_61bcaca76b3e6f9ae55d57a1c3193bc4_CONDITION@
14821483
gl_GNULIB_ENABLED_8444034ea779b88768865bb60b4fb8c9_CONDITION = @gl_GNULIB_ENABLED_8444034ea779b88768865bb60b4fb8c9_CONDITION@
14831484
gl_GNULIB_ENABLED_925677f0343de64b89a9f0c790b4104c_CONDITION = @gl_GNULIB_ENABLED_925677f0343de64b89a9f0c790b4104c_CONDITION@
14841485
gl_GNULIB_ENABLED_a9786850e999ae65a836a6041e8e5ed1_CONDITION = @gl_GNULIB_ENABLED_a9786850e999ae65a836a6041e8e5ed1_CONDITION@
14851486
gl_GNULIB_ENABLED_be453cec5eecf5731a274f2de7f2db36_CONDITION = @gl_GNULIB_ENABLED_be453cec5eecf5731a274f2de7f2db36_CONDITION@
14861487
gl_GNULIB_ENABLED_cloexec_CONDITION = @gl_GNULIB_ENABLED_cloexec_CONDITION@
14871488
gl_GNULIB_ENABLED_dirfd_CONDITION = @gl_GNULIB_ENABLED_dirfd_CONDITION@
1488-
gl_GNULIB_ENABLED_e80bf6f757095d2e5fc94dafb8f8fc8b_CONDITION = @gl_GNULIB_ENABLED_e80bf6f757095d2e5fc94dafb8f8fc8b_CONDITION@
14891489
gl_GNULIB_ENABLED_endian_CONDITION = @gl_GNULIB_ENABLED_endian_CONDITION@
14901490
gl_GNULIB_ENABLED_euidaccess_CONDITION = @gl_GNULIB_ENABLED_euidaccess_CONDITION@
14911491
gl_GNULIB_ENABLED_fd38c7e463b54744b77b98aeafb4fa7c_CONDITION = @gl_GNULIB_ENABLED_fd38c7e463b54744b77b98aeafb4fa7c_CONDITION@
@@ -2688,9 +2688,7 @@ endif
26882688
## begin gnulib module malloc-gnu
26892689
ifeq (,$(OMIT_GNULIB_MODULE_malloc-gnu))
26902690

2691-
ifneq (,$(gl_GNULIB_ENABLED_e80bf6f757095d2e5fc94dafb8f8fc8b_CONDITION))
26922691

2693-
endif
26942692
EXTRA_DIST += malloc.c
26952693

26962694
EXTRA_libgnu_a_SOURCES += malloc.c
@@ -2933,12 +2931,10 @@ endif
29332931
## begin gnulib module realloc-posix
29342932
ifeq (,$(OMIT_GNULIB_MODULE_realloc-posix))
29352933

2936-
ifneq (,$(gl_GNULIB_ENABLED_61bcaca76b3e6f9ae55d57a1c3193bc4_CONDITION))
29372934
ifneq (,$(GL_COND_OBJ_REALLOC_POSIX_CONDITION))
29382935
libgnu_a_SOURCES += realloc.c
29392936
endif
29402937

2941-
endif
29422938
endif
29432939
## end gnulib module realloc-posix
29442940

m4/gnulib-comp.m4

Lines changed: 10 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -424,6 +424,11 @@ AC_DEFUN([gl_INIT],
424424
])
425425
gl_SYS_STAT_MODULE_INDICATOR([lstat])
426426
gl_MODULE_INDICATOR([lstat])
427+
gl_FUNC_MALLOC_GNU
428+
if test $REPLACE_MALLOC_FOR_MALLOC_GNU = 1; then
429+
AC_LIBOBJ([malloc])
430+
fi
431+
gl_STDLIB_MODULE_INDICATOR([malloc-gnu])
427432
AC_REQUIRE([gl_FUNC_MALLOC_POSIX])
428433
if test $REPLACE_MALLOC_FOR_MALLOC_POSIX = 1; then
429434
AC_LIBOBJ([malloc])
@@ -502,6 +507,11 @@ AC_DEFUN([gl_INIT],
502507
gl_CONDITIONAL([GL_COND_OBJ_READLINKAT],
503508
[test $HAVE_READLINKAT = 0 || test $REPLACE_READLINKAT = 1])
504509
gl_UNISTD_MODULE_INDICATOR([readlinkat])
510+
gl_FUNC_REALLOC_POSIX
511+
gl_FUNC_REALLOC_0_NONNULL
512+
gl_CONDITIONAL([GL_COND_OBJ_REALLOC_POSIX],
513+
[test $REPLACE_REALLOC_FOR_REALLOC_POSIX != 0])
514+
gl_STDLIB_MODULE_INDICATOR([realloc-posix])
505515
gl_REGEX
506516
gl_CONDITIONAL([GL_COND_OBJ_REGEX], [test $ac_use_included_regex = yes])
507517
AM_COND_IF([GL_COND_OBJ_REGEX], [
@@ -684,12 +694,10 @@ AC_DEFUN([gl_INIT],
684694
gl_gnulib_enabled_8444034ea779b88768865bb60b4fb8c9=false
685695
gl_gnulib_enabled_a9786850e999ae65a836a6041e8e5ed1=false
686696
gl_gnulib_enabled_lchmod=false
687-
gl_gnulib_enabled_e80bf6f757095d2e5fc94dafb8f8fc8b=false
688697
gl_gnulib_enabled_5264294aa0a5557541b53c8c741f7f31=false
689698
gl_gnulib_enabled_open=false
690699
gl_gnulib_enabled_03e0aaad4cb89ca757653bd367a6ccb7=false
691700
gl_gnulib_enabled_rawmemchr=false
692-
gl_gnulib_enabled_61bcaca76b3e6f9ae55d57a1c3193bc4=false
693701
gl_gnulib_enabled_6099e9737f757db36c47fa9d9f02e88c=false
694702
gl_gnulib_enabled_strtoll=false
695703
gl_gnulib_enabled_utimens=false
@@ -811,7 +819,6 @@ AC_DEFUN([gl_INIT],
811819
if $gl_gnulib_enabled_8444034ea779b88768865bb60b4fb8c9; then :; else
812820
AC_PROG_MKDIR_P
813821
gl_gnulib_enabled_8444034ea779b88768865bb60b4fb8c9=true
814-
func_gl_gnulib_m4code_61bcaca76b3e6f9ae55d57a1c3193bc4
815822
fi
816823
}
817824
func_gl_gnulib_m4code_a9786850e999ae65a836a6041e8e5ed1 ()
@@ -827,9 +834,6 @@ AC_DEFUN([gl_INIT],
827834
if test $HAVE_GROUP_MEMBER = 0; then
828835
func_gl_gnulib_m4code_getgroups
829836
fi
830-
if test $HAVE_GROUP_MEMBER = 0; then
831-
func_gl_gnulib_m4code_e80bf6f757095d2e5fc94dafb8f8fc8b
832-
fi
833837
fi
834838
}
835839
func_gl_gnulib_m4code_lchmod ()
@@ -844,17 +848,6 @@ AC_DEFUN([gl_INIT],
844848
gl_gnulib_enabled_lchmod=true
845849
fi
846850
}
847-
func_gl_gnulib_m4code_e80bf6f757095d2e5fc94dafb8f8fc8b ()
848-
{
849-
if $gl_gnulib_enabled_e80bf6f757095d2e5fc94dafb8f8fc8b; then :; else
850-
gl_FUNC_MALLOC_GNU
851-
if test $REPLACE_MALLOC_FOR_MALLOC_GNU = 1; then
852-
AC_LIBOBJ([malloc])
853-
fi
854-
gl_STDLIB_MODULE_INDICATOR([malloc-gnu])
855-
gl_gnulib_enabled_e80bf6f757095d2e5fc94dafb8f8fc8b=true
856-
fi
857-
}
858851
func_gl_gnulib_m4code_5264294aa0a5557541b53c8c741f7f31 ()
859852
{
860853
if $gl_gnulib_enabled_5264294aa0a5557541b53c8c741f7f31; then :; else
@@ -899,17 +892,6 @@ AC_DEFUN([gl_INIT],
899892
gl_gnulib_enabled_rawmemchr=true
900893
fi
901894
}
902-
func_gl_gnulib_m4code_61bcaca76b3e6f9ae55d57a1c3193bc4 ()
903-
{
904-
if $gl_gnulib_enabled_61bcaca76b3e6f9ae55d57a1c3193bc4; then :; else
905-
gl_FUNC_REALLOC_POSIX
906-
gl_FUNC_REALLOC_0_NONNULL
907-
gl_CONDITIONAL([GL_COND_OBJ_REALLOC_POSIX],
908-
[test $REPLACE_REALLOC_FOR_REALLOC_POSIX != 0])
909-
gl_STDLIB_MODULE_INDICATOR([realloc-posix])
910-
gl_gnulib_enabled_61bcaca76b3e6f9ae55d57a1c3193bc4=true
911-
fi
912-
}
913895
func_gl_gnulib_m4code_6099e9737f757db36c47fa9d9f02e88c ()
914896
{
915897
if $gl_gnulib_enabled_6099e9737f757db36c47fa9d9f02e88c; then :; else
@@ -1011,9 +993,6 @@ AC_DEFUN([gl_INIT],
1011993
if test $ac_use_included_regex = yes; then
1012994
func_gl_gnulib_m4code_fd38c7e463b54744b77b98aeafb4fa7c
1013995
fi
1014-
if test $ac_use_included_regex = yes; then
1015-
func_gl_gnulib_m4code_e80bf6f757095d2e5fc94dafb8f8fc8b
1016-
fi
1017996
if test $ac_use_included_regex = yes; then
1018997
func_gl_gnulib_m4code_verify
1019998
fi
@@ -1047,12 +1026,10 @@ AC_DEFUN([gl_INIT],
10471026
AM_CONDITIONAL([gl_GNULIB_ENABLED_8444034ea779b88768865bb60b4fb8c9], [$gl_gnulib_enabled_8444034ea779b88768865bb60b4fb8c9])
10481027
AM_CONDITIONAL([gl_GNULIB_ENABLED_a9786850e999ae65a836a6041e8e5ed1], [$gl_gnulib_enabled_a9786850e999ae65a836a6041e8e5ed1])
10491028
AM_CONDITIONAL([gl_GNULIB_ENABLED_lchmod], [$gl_gnulib_enabled_lchmod])
1050-
AM_CONDITIONAL([gl_GNULIB_ENABLED_e80bf6f757095d2e5fc94dafb8f8fc8b], [$gl_gnulib_enabled_e80bf6f757095d2e5fc94dafb8f8fc8b])
10511029
AM_CONDITIONAL([gl_GNULIB_ENABLED_5264294aa0a5557541b53c8c741f7f31], [$gl_gnulib_enabled_5264294aa0a5557541b53c8c741f7f31])
10521030
AM_CONDITIONAL([gl_GNULIB_ENABLED_open], [$gl_gnulib_enabled_open])
10531031
AM_CONDITIONAL([gl_GNULIB_ENABLED_03e0aaad4cb89ca757653bd367a6ccb7], [$gl_gnulib_enabled_03e0aaad4cb89ca757653bd367a6ccb7])
10541032
AM_CONDITIONAL([gl_GNULIB_ENABLED_rawmemchr], [$gl_gnulib_enabled_rawmemchr])
1055-
AM_CONDITIONAL([gl_GNULIB_ENABLED_61bcaca76b3e6f9ae55d57a1c3193bc4], [$gl_gnulib_enabled_61bcaca76b3e6f9ae55d57a1c3193bc4])
10561033
AM_CONDITIONAL([gl_GNULIB_ENABLED_6099e9737f757db36c47fa9d9f02e88c], [$gl_gnulib_enabled_6099e9737f757db36c47fa9d9f02e88c])
10571034
AM_CONDITIONAL([gl_GNULIB_ENABLED_strtoll], [$gl_gnulib_enabled_strtoll])
10581035
AM_CONDITIONAL([gl_GNULIB_ENABLED_utimens], [$gl_gnulib_enabled_utimens])

0 commit comments

Comments
 (0)