#
1.26 |
|
07-Jan-2022 |
rillig |
make: rename local variable in bmake_malloc
The length of a string does not include the trailing '\0'.
No binary change.
|
Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base
|
#
1.25 |
|
19-Jan-2021 |
rillig |
make(1): remove do-not-format markers from comments
These markers had been used inconsistently. Furthermore the source code had not been formatted automatically before 2020 at all, otherwise there wouldn't have been any trailing whitespace left.
|
#
1.24 |
|
07-Dec-2020 |
rillig |
make(1): remove duplicate code from bmake_strdup
Inlining is the job of the compiler, not of humans.
|
#
1.23 |
|
05-Oct-2020 |
rillig |
make(1): revert previous commit
It had accidentally reverted all the work from the past few days.
|
#
1.22 |
|
05-Oct-2020 |
rillig |
make(1): fix double-free bug in -DCLEANUP mode (since 2020-10-02)
The bug had been introduced with dir.c 1.155 on 2020-10-02 22:20:25. In that commit, openDirectories was replaced with a combination of a list with a hash table, for more efficient lookup by name.
Upon cleanup, OpenDirs_Done is called, which in turn called Dir_ClearPath. Dir_ClearPath takes full ownership of the given list and empties it. This was no problem before since afterwards the list was empty and calling Lst_Free just frees the remaining list pointer.
With OpenDirs, this list was combined with a hash table, and the hash table contains the list nodes, assuming that the OpenDirs functions have full ownership of both the list and the hash table. This assumption was generally correct, except for the one moment during cleanup where full ownership of the list was passed to Dir_ClearPath, while the hash table still contained pointers to the (now freed) list nodes. This by itself was not a problem since the hash table would be freed afterwards. But as part of Dir_ClearPath, OpenDirs_Remove was called, which looked up the freed directory by name and now found the freed list node, trying to free it again. Boom.
Fixed by replacing the call to Dir_ClearPath with code that only frees the directories, without giving up control over the list.
|
#
1.21 |
|
03-Oct-2020 |
rillig |
make(1): clean up #include sections
|
#
1.20 |
|
01-Oct-2020 |
rillig |
make(1): remove redundant function prototypes
|
#
1.19 |
|
13-Sep-2020 |
rillig |
make(1): clean up RCSID blocks
These blocks mostly consisted of redundant structure, following the same #ifndef pattern over and over, with only minimal variation.
It's easier to maintain if the common structure is only written once and encapsulated in a macro.
To avoid "defined but unused" warnings from GCC in the case where MAKE_NATIVE is not defined, I had to add volatile. Adding MAKE_ATTR_UNUSED alone would not preserve the rcsid variable in the resulting binary.
|
#
1.18 |
|
02-Sep-2020 |
rillig |
make(1): remove redundancy from comments in make_malloc.c
|
#
1.17 |
|
29-Aug-2020 |
rillig |
make(1): fix build with -DUSE_EMALLOC
|
#
1.16 |
|
29-Aug-2020 |
rillig |
make(1): add bmake_strsedup for duplicating a substring
|
#
1.15 |
|
20-Aug-2020 |
rillig |
make(1): remove unreached code from bmake_strndup
The "at most" branch was never taken since all call sites in var.c only ever need a substring, and the target buffer is not limited. Therefore rename the function and make it simpler.
It's ok that bmake_strldup is defined as estrndup in case of USE_EMALLOC since that function's implementation is compatible to the "copy exactly", it just contains some extra null checks that will never match since the variable values cannot (well, or should not) contain null bytes. Theoretically they can, but the behavior then depends on the exact implementation and is unreliable, therefore nobody does this. After all, Makefiles are used for text processing, not for binary data.
|
#
1.14 |
|
12-Aug-2020 |
rillig |
make(1): remove unnecessary test from bmake_strndup
The passed memory is never NULL.
|
#
1.13 |
|
12-Aug-2020 |
rillig |
make(1): in bmake_strndup, only scan the relevant part of the string
Just in case the given str is not really a string.
The POSIX 2018 documentation on strndup does not specify as clearly as possible whether s has to be a string or whether raw memory is acceptable as well. It only indirectly calls the s parameter of strndup a string.
|
#
1.12 |
|
03-Jul-2020 |
rillig |
make(1): remove redundant parentheses around return values
|
Revision tags: netbsd-9-2-RELEASE netbsd-9-1-RELEASE phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
|
#
1.11 |
|
16-Apr-2017 |
dholland |
nowadays function specifiers go in declaration_specifiers (not after the declarator)
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE pgoyette-localcount-20170320 netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 bouyer-socketcan-base pgoyette-localcount-20170107 netbsd-7-1-RC1 pgoyette-localcount-20161104 netbsd-7-0-2-RELEASE localcount-20160914 netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base dholland-make-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6 tls-maxphys-base
|
#
1.10 |
|
20-Jun-2012 |
sjg |
branches: 1.10.14; 1.10.18; Do not include make_malloc.h or declare progname, both are already done in make.h
|
#
1.9 |
|
12-Jun-2012 |
joerg |
Replace __dead, __unused and the various printf format attributes with versions prefixed by MAKE_ATTR_* to avoid modifying the implementation namespace. Make sure they are available in all places using nonints.h to fix bootstrap on Linux.
|
#
1.8 |
|
10-Jun-2012 |
wiz |
Declare enomem __dead for clang.
|
Revision tags: yamt-pagecache-base5
|
#
1.7 |
|
18-May-2012 |
sjg |
Avoid nested extern declaration warnings
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base4 netbsd-6-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
|
#
1.6 |
|
25-Dec-2010 |
dholland |
branches: 1.6.6; Many C libraries don't set errno when malloc fails, so always use strerror(ENOMEM).
|
Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
|
#
1.5 |
|
24-Jan-2009 |
dsl |
Fix sense of MAKE_NATICE test.
|
#
1.4 |
|
24-Jan-2009 |
dsl |
Add #ifndef MAKE_NATIVE around __RCSID
|
#
1.3 |
|
24-Jan-2009 |
dsl |
Fixes to includes of make_malloc.h to that it actually builds when USE_EMALLOC is undefined. Fixes earlier fixes :-)
|
#
1.2 |
|
24-Jan-2009 |
cegger |
buildfixes for OSX: - include <sys/types> for size_t - progname is undeclared - include <string.h> for string functions like strlen() - include <errno.h> for errno
|
#
1.1 |
|
24-Jan-2009 |
dsl |
Move the bmake_malloc() functions into their own .c and .h files. Include instead of make.h in a few places.
|
#
1.25 |
|
19-Jan-2021 |
rillig |
make(1): remove do-not-format markers from comments
These markers had been used inconsistently. Furthermore the source code had not been formatted automatically before 2020 at all, otherwise there wouldn't have been any trailing whitespace left.
|
#
1.24 |
|
07-Dec-2020 |
rillig |
make(1): remove duplicate code from bmake_strdup
Inlining is the job of the compiler, not of humans.
|
#
1.23 |
|
05-Oct-2020 |
rillig |
make(1): revert previous commit
It had accidentally reverted all the work from the past few days.
|
#
1.22 |
|
05-Oct-2020 |
rillig |
make(1): fix double-free bug in -DCLEANUP mode (since 2020-10-02)
The bug had been introduced with dir.c 1.155 on 2020-10-02 22:20:25. In that commit, openDirectories was replaced with a combination of a list with a hash table, for more efficient lookup by name.
Upon cleanup, OpenDirs_Done is called, which in turn called Dir_ClearPath. Dir_ClearPath takes full ownership of the given list and empties it. This was no problem before since afterwards the list was empty and calling Lst_Free just frees the remaining list pointer.
With OpenDirs, this list was combined with a hash table, and the hash table contains the list nodes, assuming that the OpenDirs functions have full ownership of both the list and the hash table. This assumption was generally correct, except for the one moment during cleanup where full ownership of the list was passed to Dir_ClearPath, while the hash table still contained pointers to the (now freed) list nodes. This by itself was not a problem since the hash table would be freed afterwards. But as part of Dir_ClearPath, OpenDirs_Remove was called, which looked up the freed directory by name and now found the freed list node, trying to free it again. Boom.
Fixed by replacing the call to Dir_ClearPath with code that only frees the directories, without giving up control over the list.
|
#
1.21 |
|
03-Oct-2020 |
rillig |
make(1): clean up #include sections
|
#
1.20 |
|
01-Oct-2020 |
rillig |
make(1): remove redundant function prototypes
|
#
1.19 |
|
13-Sep-2020 |
rillig |
make(1): clean up RCSID blocks
These blocks mostly consisted of redundant structure, following the same #ifndef pattern over and over, with only minimal variation.
It's easier to maintain if the common structure is only written once and encapsulated in a macro.
To avoid "defined but unused" warnings from GCC in the case where MAKE_NATIVE is not defined, I had to add volatile. Adding MAKE_ATTR_UNUSED alone would not preserve the rcsid variable in the resulting binary.
|
#
1.18 |
|
02-Sep-2020 |
rillig |
make(1): remove redundancy from comments in make_malloc.c
|
#
1.17 |
|
29-Aug-2020 |
rillig |
make(1): fix build with -DUSE_EMALLOC
|
#
1.16 |
|
29-Aug-2020 |
rillig |
make(1): add bmake_strsedup for duplicating a substring
|
#
1.15 |
|
20-Aug-2020 |
rillig |
make(1): remove unreached code from bmake_strndup
The "at most" branch was never taken since all call sites in var.c only ever need a substring, and the target buffer is not limited. Therefore rename the function and make it simpler.
It's ok that bmake_strldup is defined as estrndup in case of USE_EMALLOC since that function's implementation is compatible to the "copy exactly", it just contains some extra null checks that will never match since the variable values cannot (well, or should not) contain null bytes. Theoretically they can, but the behavior then depends on the exact implementation and is unreliable, therefore nobody does this. After all, Makefiles are used for text processing, not for binary data.
|
#
1.14 |
|
12-Aug-2020 |
rillig |
make(1): remove unnecessary test from bmake_strndup
The passed memory is never NULL.
|
#
1.13 |
|
12-Aug-2020 |
rillig |
make(1): in bmake_strndup, only scan the relevant part of the string
Just in case the given str is not really a string.
The POSIX 2018 documentation on strndup does not specify as clearly as possible whether s has to be a string or whether raw memory is acceptable as well. It only indirectly calls the s parameter of strndup a string.
|
#
1.12 |
|
03-Jul-2020 |
rillig |
make(1): remove redundant parentheses around return values
|
Revision tags: netbsd-9-1-RELEASE phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
|
#
1.11 |
|
16-Apr-2017 |
dholland |
nowadays function specifiers go in declaration_specifiers (not after the declarator)
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE pgoyette-localcount-20170320 netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 bouyer-socketcan-base pgoyette-localcount-20170107 netbsd-7-1-RC1 pgoyette-localcount-20161104 netbsd-7-0-2-RELEASE localcount-20160914 netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base dholland-make-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6 tls-maxphys-base
|
#
1.10 |
|
20-Jun-2012 |
sjg |
branches: 1.10.14; 1.10.18; Do not include make_malloc.h or declare progname, both are already done in make.h
|
#
1.9 |
|
12-Jun-2012 |
joerg |
Replace __dead, __unused and the various printf format attributes with versions prefixed by MAKE_ATTR_* to avoid modifying the implementation namespace. Make sure they are available in all places using nonints.h to fix bootstrap on Linux.
|
#
1.8 |
|
10-Jun-2012 |
wiz |
Declare enomem __dead for clang.
|
Revision tags: yamt-pagecache-base5
|
#
1.7 |
|
18-May-2012 |
sjg |
Avoid nested extern declaration warnings
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base4 netbsd-6-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
|
#
1.6 |
|
25-Dec-2010 |
dholland |
branches: 1.6.6; Many C libraries don't set errno when malloc fails, so always use strerror(ENOMEM).
|
Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
|
#
1.5 |
|
24-Jan-2009 |
dsl |
Fix sense of MAKE_NATICE test.
|
#
1.4 |
|
24-Jan-2009 |
dsl |
Add #ifndef MAKE_NATIVE around __RCSID
|
#
1.3 |
|
24-Jan-2009 |
dsl |
Fixes to includes of make_malloc.h to that it actually builds when USE_EMALLOC is undefined. Fixes earlier fixes :-)
|
#
1.2 |
|
24-Jan-2009 |
cegger |
buildfixes for OSX: - include <sys/types> for size_t - progname is undeclared - include <string.h> for string functions like strlen() - include <errno.h> for errno
|
#
1.1 |
|
24-Jan-2009 |
dsl |
Move the bmake_malloc() functions into their own .c and .h files. Include instead of make.h in a few places.
|
#
1.24 |
|
07-Dec-2020 |
rillig |
make(1): remove duplicate code from bmake_strdup
Inlining is the job of the compiler, not of humans.
|
#
1.23 |
|
05-Oct-2020 |
rillig |
make(1): revert previous commit
It had accidentally reverted all the work from the past few days.
|
#
1.22 |
|
05-Oct-2020 |
rillig |
make(1): fix double-free bug in -DCLEANUP mode (since 2020-10-02)
The bug had been introduced with dir.c 1.155 on 2020-10-02 22:20:25. In that commit, openDirectories was replaced with a combination of a list with a hash table, for more efficient lookup by name.
Upon cleanup, OpenDirs_Done is called, which in turn called Dir_ClearPath. Dir_ClearPath takes full ownership of the given list and empties it. This was no problem before since afterwards the list was empty and calling Lst_Free just frees the remaining list pointer.
With OpenDirs, this list was combined with a hash table, and the hash table contains the list nodes, assuming that the OpenDirs functions have full ownership of both the list and the hash table. This assumption was generally correct, except for the one moment during cleanup where full ownership of the list was passed to Dir_ClearPath, while the hash table still contained pointers to the (now freed) list nodes. This by itself was not a problem since the hash table would be freed afterwards. But as part of Dir_ClearPath, OpenDirs_Remove was called, which looked up the freed directory by name and now found the freed list node, trying to free it again. Boom.
Fixed by replacing the call to Dir_ClearPath with code that only frees the directories, without giving up control over the list.
|
#
1.21 |
|
03-Oct-2020 |
rillig |
make(1): clean up #include sections
|
#
1.20 |
|
01-Oct-2020 |
rillig |
make(1): remove redundant function prototypes
|
#
1.19 |
|
13-Sep-2020 |
rillig |
make(1): clean up RCSID blocks
These blocks mostly consisted of redundant structure, following the same #ifndef pattern over and over, with only minimal variation.
It's easier to maintain if the common structure is only written once and encapsulated in a macro.
To avoid "defined but unused" warnings from GCC in the case where MAKE_NATIVE is not defined, I had to add volatile. Adding MAKE_ATTR_UNUSED alone would not preserve the rcsid variable in the resulting binary.
|
#
1.18 |
|
02-Sep-2020 |
rillig |
make(1): remove redundancy from comments in make_malloc.c
|
#
1.17 |
|
29-Aug-2020 |
rillig |
make(1): fix build with -DUSE_EMALLOC
|
#
1.16 |
|
29-Aug-2020 |
rillig |
make(1): add bmake_strsedup for duplicating a substring
|
#
1.15 |
|
20-Aug-2020 |
rillig |
make(1): remove unreached code from bmake_strndup
The "at most" branch was never taken since all call sites in var.c only ever need a substring, and the target buffer is not limited. Therefore rename the function and make it simpler.
It's ok that bmake_strldup is defined as estrndup in case of USE_EMALLOC since that function's implementation is compatible to the "copy exactly", it just contains some extra null checks that will never match since the variable values cannot (well, or should not) contain null bytes. Theoretically they can, but the behavior then depends on the exact implementation and is unreliable, therefore nobody does this. After all, Makefiles are used for text processing, not for binary data.
|
#
1.14 |
|
12-Aug-2020 |
rillig |
make(1): remove unnecessary test from bmake_strndup
The passed memory is never NULL.
|
#
1.13 |
|
12-Aug-2020 |
rillig |
make(1): in bmake_strndup, only scan the relevant part of the string
Just in case the given str is not really a string.
The POSIX 2018 documentation on strndup does not specify as clearly as possible whether s has to be a string or whether raw memory is acceptable as well. It only indirectly calls the s parameter of strndup a string.
|
#
1.12 |
|
03-Jul-2020 |
rillig |
make(1): remove redundant parentheses around return values
|
Revision tags: netbsd-9-1-RELEASE phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
|
#
1.11 |
|
16-Apr-2017 |
dholland |
nowadays function specifiers go in declaration_specifiers (not after the declarator)
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE pgoyette-localcount-20170320 netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 bouyer-socketcan-base pgoyette-localcount-20170107 netbsd-7-1-RC1 pgoyette-localcount-20161104 netbsd-7-0-2-RELEASE localcount-20160914 netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base dholland-make-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6 tls-maxphys-base
|
#
1.10 |
|
20-Jun-2012 |
sjg |
branches: 1.10.14; 1.10.18; Do not include make_malloc.h or declare progname, both are already done in make.h
|
#
1.9 |
|
12-Jun-2012 |
joerg |
Replace __dead, __unused and the various printf format attributes with versions prefixed by MAKE_ATTR_* to avoid modifying the implementation namespace. Make sure they are available in all places using nonints.h to fix bootstrap on Linux.
|
#
1.8 |
|
10-Jun-2012 |
wiz |
Declare enomem __dead for clang.
|
Revision tags: yamt-pagecache-base5
|
#
1.7 |
|
18-May-2012 |
sjg |
Avoid nested extern declaration warnings
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base4 netbsd-6-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
|
#
1.6 |
|
25-Dec-2010 |
dholland |
branches: 1.6.6; Many C libraries don't set errno when malloc fails, so always use strerror(ENOMEM).
|
Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
|
#
1.5 |
|
24-Jan-2009 |
dsl |
Fix sense of MAKE_NATICE test.
|
#
1.4 |
|
24-Jan-2009 |
dsl |
Add #ifndef MAKE_NATIVE around __RCSID
|
#
1.3 |
|
24-Jan-2009 |
dsl |
Fixes to includes of make_malloc.h to that it actually builds when USE_EMALLOC is undefined. Fixes earlier fixes :-)
|
#
1.2 |
|
24-Jan-2009 |
cegger |
buildfixes for OSX: - include <sys/types> for size_t - progname is undeclared - include <string.h> for string functions like strlen() - include <errno.h> for errno
|
#
1.1 |
|
24-Jan-2009 |
dsl |
Move the bmake_malloc() functions into their own .c and .h files. Include instead of make.h in a few places.
|
#
1.23 |
|
05-Oct-2020 |
rillig |
make(1): revert previous commit
It had accidentally reverted all the work from the past few days.
|
#
1.22 |
|
05-Oct-2020 |
rillig |
make(1): fix double-free bug in -DCLEANUP mode (since 2020-10-02)
The bug had been introduced with dir.c 1.155 on 2020-10-02 22:20:25. In that commit, openDirectories was replaced with a combination of a list with a hash table, for more efficient lookup by name.
Upon cleanup, OpenDirs_Done is called, which in turn called Dir_ClearPath. Dir_ClearPath takes full ownership of the given list and empties it. This was no problem before since afterwards the list was empty and calling Lst_Free just frees the remaining list pointer.
With OpenDirs, this list was combined with a hash table, and the hash table contains the list nodes, assuming that the OpenDirs functions have full ownership of both the list and the hash table. This assumption was generally correct, except for the one moment during cleanup where full ownership of the list was passed to Dir_ClearPath, while the hash table still contained pointers to the (now freed) list nodes. This by itself was not a problem since the hash table would be freed afterwards. But as part of Dir_ClearPath, OpenDirs_Remove was called, which looked up the freed directory by name and now found the freed list node, trying to free it again. Boom.
Fixed by replacing the call to Dir_ClearPath with code that only frees the directories, without giving up control over the list.
|
#
1.21 |
|
03-Oct-2020 |
rillig |
make(1): clean up #include sections
|
#
1.20 |
|
01-Oct-2020 |
rillig |
make(1): remove redundant function prototypes
|
#
1.19 |
|
13-Sep-2020 |
rillig |
make(1): clean up RCSID blocks
These blocks mostly consisted of redundant structure, following the same #ifndef pattern over and over, with only minimal variation.
It's easier to maintain if the common structure is only written once and encapsulated in a macro.
To avoid "defined but unused" warnings from GCC in the case where MAKE_NATIVE is not defined, I had to add volatile. Adding MAKE_ATTR_UNUSED alone would not preserve the rcsid variable in the resulting binary.
|
#
1.18 |
|
02-Sep-2020 |
rillig |
make(1): remove redundancy from comments in make_malloc.c
|
#
1.17 |
|
29-Aug-2020 |
rillig |
make(1): fix build with -DUSE_EMALLOC
|
#
1.16 |
|
29-Aug-2020 |
rillig |
make(1): add bmake_strsedup for duplicating a substring
|
#
1.15 |
|
20-Aug-2020 |
rillig |
make(1): remove unreached code from bmake_strndup
The "at most" branch was never taken since all call sites in var.c only ever need a substring, and the target buffer is not limited. Therefore rename the function and make it simpler.
It's ok that bmake_strldup is defined as estrndup in case of USE_EMALLOC since that function's implementation is compatible to the "copy exactly", it just contains some extra null checks that will never match since the variable values cannot (well, or should not) contain null bytes. Theoretically they can, but the behavior then depends on the exact implementation and is unreliable, therefore nobody does this. After all, Makefiles are used for text processing, not for binary data.
|
#
1.14 |
|
12-Aug-2020 |
rillig |
make(1): remove unnecessary test from bmake_strndup
The passed memory is never NULL.
|
#
1.13 |
|
12-Aug-2020 |
rillig |
make(1): in bmake_strndup, only scan the relevant part of the string
Just in case the given str is not really a string.
The POSIX 2018 documentation on strndup does not specify as clearly as possible whether s has to be a string or whether raw memory is acceptable as well. It only indirectly calls the s parameter of strndup a string.
|
#
1.12 |
|
03-Jul-2020 |
rillig |
make(1): remove redundant parentheses around return values
|
Revision tags: phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
|
#
1.11 |
|
16-Apr-2017 |
dholland |
nowadays function specifiers go in declaration_specifiers (not after the declarator)
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE pgoyette-localcount-20170320 netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 bouyer-socketcan-base pgoyette-localcount-20170107 netbsd-7-1-RC1 pgoyette-localcount-20161104 netbsd-7-0-2-RELEASE localcount-20160914 netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base dholland-make-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6 tls-maxphys-base
|
#
1.10 |
|
20-Jun-2012 |
sjg |
branches: 1.10.14; 1.10.18; Do not include make_malloc.h or declare progname, both are already done in make.h
|
#
1.9 |
|
12-Jun-2012 |
joerg |
Replace __dead, __unused and the various printf format attributes with versions prefixed by MAKE_ATTR_* to avoid modifying the implementation namespace. Make sure they are available in all places using nonints.h to fix bootstrap on Linux.
|
#
1.8 |
|
10-Jun-2012 |
wiz |
Declare enomem __dead for clang.
|
Revision tags: yamt-pagecache-base5
|
#
1.7 |
|
18-May-2012 |
sjg |
Avoid nested extern declaration warnings
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base4 netbsd-6-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
|
#
1.6 |
|
25-Dec-2010 |
dholland |
branches: 1.6.6; Many C libraries don't set errno when malloc fails, so always use strerror(ENOMEM).
|
Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
|
#
1.5 |
|
24-Jan-2009 |
dsl |
Fix sense of MAKE_NATICE test.
|
#
1.4 |
|
24-Jan-2009 |
dsl |
Add #ifndef MAKE_NATIVE around __RCSID
|
#
1.3 |
|
24-Jan-2009 |
dsl |
Fixes to includes of make_malloc.h to that it actually builds when USE_EMALLOC is undefined. Fixes earlier fixes :-)
|
#
1.2 |
|
24-Jan-2009 |
cegger |
buildfixes for OSX: - include <sys/types> for size_t - progname is undeclared - include <string.h> for string functions like strlen() - include <errno.h> for errno
|
#
1.1 |
|
24-Jan-2009 |
dsl |
Move the bmake_malloc() functions into their own .c and .h files. Include instead of make.h in a few places.
|
#
1.19 |
|
13-Sep-2020 |
rillig |
make(1): clean up RCSID blocks
These blocks mostly consisted of redundant structure, following the same #ifndef pattern over and over, with only minimal variation.
It's easier to maintain if the common structure is only written once and encapsulated in a macro.
To avoid "defined but unused" warnings from GCC in the case where MAKE_NATIVE is not defined, I had to add volatile. Adding MAKE_ATTR_UNUSED alone would not preserve the rcsid variable in the resulting binary.
|
#
1.18 |
|
02-Sep-2020 |
rillig |
make(1): remove redundancy from comments in make_malloc.c
|
#
1.17 |
|
29-Aug-2020 |
rillig |
make(1): fix build with -DUSE_EMALLOC
|
#
1.16 |
|
29-Aug-2020 |
rillig |
make(1): add bmake_strsedup for duplicating a substring
|
#
1.15 |
|
20-Aug-2020 |
rillig |
make(1): remove unreached code from bmake_strndup
The "at most" branch was never taken since all call sites in var.c only ever need a substring, and the target buffer is not limited. Therefore rename the function and make it simpler.
It's ok that bmake_strldup is defined as estrndup in case of USE_EMALLOC since that function's implementation is compatible to the "copy exactly", it just contains some extra null checks that will never match since the variable values cannot (well, or should not) contain null bytes. Theoretically they can, but the behavior then depends on the exact implementation and is unreliable, therefore nobody does this. After all, Makefiles are used for text processing, not for binary data.
|
#
1.14 |
|
12-Aug-2020 |
rillig |
make(1): remove unnecessary test from bmake_strndup
The passed memory is never NULL.
|
#
1.13 |
|
12-Aug-2020 |
rillig |
make(1): in bmake_strndup, only scan the relevant part of the string
Just in case the given str is not really a string.
The POSIX 2018 documentation on strndup does not specify as clearly as possible whether s has to be a string or whether raw memory is acceptable as well. It only indirectly calls the s parameter of strndup a string.
|
#
1.12 |
|
03-Jul-2020 |
rillig |
make(1): remove redundant parentheses around return values
|
Revision tags: phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
|
#
1.11 |
|
16-Apr-2017 |
dholland |
nowadays function specifiers go in declaration_specifiers (not after the declarator)
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE pgoyette-localcount-20170320 netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 bouyer-socketcan-base pgoyette-localcount-20170107 netbsd-7-1-RC1 pgoyette-localcount-20161104 netbsd-7-0-2-RELEASE localcount-20160914 netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base dholland-make-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6 tls-maxphys-base
|
#
1.10 |
|
20-Jun-2012 |
sjg |
branches: 1.10.14; 1.10.18; Do not include make_malloc.h or declare progname, both are already done in make.h
|
#
1.9 |
|
12-Jun-2012 |
joerg |
Replace __dead, __unused and the various printf format attributes with versions prefixed by MAKE_ATTR_* to avoid modifying the implementation namespace. Make sure they are available in all places using nonints.h to fix bootstrap on Linux.
|
#
1.8 |
|
10-Jun-2012 |
wiz |
Declare enomem __dead for clang.
|
Revision tags: yamt-pagecache-base5
|
#
1.7 |
|
18-May-2012 |
sjg |
Avoid nested extern declaration warnings
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base4 netbsd-6-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
|
#
1.6 |
|
25-Dec-2010 |
dholland |
branches: 1.6.6; Many C libraries don't set errno when malloc fails, so always use strerror(ENOMEM).
|
Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
|
#
1.5 |
|
24-Jan-2009 |
dsl |
Fix sense of MAKE_NATICE test.
|
#
1.4 |
|
24-Jan-2009 |
dsl |
Add #ifndef MAKE_NATIVE around __RCSID
|
#
1.3 |
|
24-Jan-2009 |
dsl |
Fixes to includes of make_malloc.h to that it actually builds when USE_EMALLOC is undefined. Fixes earlier fixes :-)
|
#
1.2 |
|
24-Jan-2009 |
cegger |
buildfixes for OSX: - include <sys/types> for size_t - progname is undeclared - include <string.h> for string functions like strlen() - include <errno.h> for errno
|
#
1.1 |
|
24-Jan-2009 |
dsl |
Move the bmake_malloc() functions into their own .c and .h files. Include instead of make.h in a few places.
|
#
1.18 |
|
02-Sep-2020 |
rillig |
make(1): remove redundancy from comments in make_malloc.c
|
#
1.17 |
|
29-Aug-2020 |
rillig |
make(1): fix build with -DUSE_EMALLOC
|
#
1.16 |
|
29-Aug-2020 |
rillig |
make(1): add bmake_strsedup for duplicating a substring
|
#
1.15 |
|
20-Aug-2020 |
rillig |
make(1): remove unreached code from bmake_strndup
The "at most" branch was never taken since all call sites in var.c only ever need a substring, and the target buffer is not limited. Therefore rename the function and make it simpler.
It's ok that bmake_strldup is defined as estrndup in case of USE_EMALLOC since that function's implementation is compatible to the "copy exactly", it just contains some extra null checks that will never match since the variable values cannot (well, or should not) contain null bytes. Theoretically they can, but the behavior then depends on the exact implementation and is unreliable, therefore nobody does this. After all, Makefiles are used for text processing, not for binary data.
|
#
1.14 |
|
12-Aug-2020 |
rillig |
make(1): remove unnecessary test from bmake_strndup
The passed memory is never NULL.
|
#
1.13 |
|
12-Aug-2020 |
rillig |
make(1): in bmake_strndup, only scan the relevant part of the string
Just in case the given str is not really a string.
The POSIX 2018 documentation on strndup does not specify as clearly as possible whether s has to be a string or whether raw memory is acceptable as well. It only indirectly calls the s parameter of strndup a string.
|
#
1.12 |
|
03-Jul-2020 |
rillig |
make(1): remove redundant parentheses around return values
|
Revision tags: phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
|
#
1.11 |
|
16-Apr-2017 |
dholland |
nowadays function specifiers go in declaration_specifiers (not after the declarator)
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE pgoyette-localcount-20170320 netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 bouyer-socketcan-base pgoyette-localcount-20170107 netbsd-7-1-RC1 pgoyette-localcount-20161104 netbsd-7-0-2-RELEASE localcount-20160914 netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base dholland-make-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6 tls-maxphys-base
|
#
1.10 |
|
20-Jun-2012 |
sjg |
branches: 1.10.14; 1.10.18; Do not include make_malloc.h or declare progname, both are already done in make.h
|
#
1.9 |
|
12-Jun-2012 |
joerg |
Replace __dead, __unused and the various printf format attributes with versions prefixed by MAKE_ATTR_* to avoid modifying the implementation namespace. Make sure they are available in all places using nonints.h to fix bootstrap on Linux.
|
#
1.8 |
|
10-Jun-2012 |
wiz |
Declare enomem __dead for clang.
|
Revision tags: yamt-pagecache-base5
|
#
1.7 |
|
18-May-2012 |
sjg |
Avoid nested extern declaration warnings
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base4 netbsd-6-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
|
#
1.6 |
|
25-Dec-2010 |
dholland |
branches: 1.6.6; Many C libraries don't set errno when malloc fails, so always use strerror(ENOMEM).
|
Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
|
#
1.5 |
|
24-Jan-2009 |
dsl |
Fix sense of MAKE_NATICE test.
|
#
1.4 |
|
24-Jan-2009 |
dsl |
Add #ifndef MAKE_NATIVE around __RCSID
|
#
1.3 |
|
24-Jan-2009 |
dsl |
Fixes to includes of make_malloc.h to that it actually builds when USE_EMALLOC is undefined. Fixes earlier fixes :-)
|
#
1.2 |
|
24-Jan-2009 |
cegger |
buildfixes for OSX: - include <sys/types> for size_t - progname is undeclared - include <string.h> for string functions like strlen() - include <errno.h> for errno
|
#
1.1 |
|
24-Jan-2009 |
dsl |
Move the bmake_malloc() functions into their own .c and .h files. Include instead of make.h in a few places.
|
#
1.17 |
|
29-Aug-2020 |
rillig |
make(1): fix build with -DUSE_EMALLOC
|
#
1.16 |
|
29-Aug-2020 |
rillig |
make(1): add bmake_strsedup for duplicating a substring
|
#
1.15 |
|
20-Aug-2020 |
rillig |
make(1): remove unreached code from bmake_strndup
The "at most" branch was never taken since all call sites in var.c only ever need a substring, and the target buffer is not limited. Therefore rename the function and make it simpler.
It's ok that bmake_strldup is defined as estrndup in case of USE_EMALLOC since that function's implementation is compatible to the "copy exactly", it just contains some extra null checks that will never match since the variable values cannot (well, or should not) contain null bytes. Theoretically they can, but the behavior then depends on the exact implementation and is unreliable, therefore nobody does this. After all, Makefiles are used for text processing, not for binary data.
|
#
1.14 |
|
12-Aug-2020 |
rillig |
make(1): remove unnecessary test from bmake_strndup
The passed memory is never NULL.
|
#
1.13 |
|
12-Aug-2020 |
rillig |
make(1): in bmake_strndup, only scan the relevant part of the string
Just in case the given str is not really a string.
The POSIX 2018 documentation on strndup does not specify as clearly as possible whether s has to be a string or whether raw memory is acceptable as well. It only indirectly calls the s parameter of strndup a string.
|
#
1.12 |
|
03-Jul-2020 |
rillig |
make(1): remove redundant parentheses around return values
|
Revision tags: phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
|
#
1.11 |
|
16-Apr-2017 |
dholland |
nowadays function specifiers go in declaration_specifiers (not after the declarator)
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE pgoyette-localcount-20170320 netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 bouyer-socketcan-base pgoyette-localcount-20170107 netbsd-7-1-RC1 pgoyette-localcount-20161104 netbsd-7-0-2-RELEASE localcount-20160914 netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base dholland-make-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6 tls-maxphys-base
|
#
1.10 |
|
20-Jun-2012 |
sjg |
branches: 1.10.14; 1.10.18; Do not include make_malloc.h or declare progname, both are already done in make.h
|
#
1.9 |
|
12-Jun-2012 |
joerg |
Replace __dead, __unused and the various printf format attributes with versions prefixed by MAKE_ATTR_* to avoid modifying the implementation namespace. Make sure they are available in all places using nonints.h to fix bootstrap on Linux.
|
#
1.8 |
|
10-Jun-2012 |
wiz |
Declare enomem __dead for clang.
|
Revision tags: yamt-pagecache-base5
|
#
1.7 |
|
18-May-2012 |
sjg |
Avoid nested extern declaration warnings
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base4 netbsd-6-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
|
#
1.6 |
|
25-Dec-2010 |
dholland |
branches: 1.6.6; Many C libraries don't set errno when malloc fails, so always use strerror(ENOMEM).
|
Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
|
#
1.5 |
|
24-Jan-2009 |
dsl |
Fix sense of MAKE_NATICE test.
|
#
1.4 |
|
24-Jan-2009 |
dsl |
Add #ifndef MAKE_NATIVE around __RCSID
|
#
1.3 |
|
24-Jan-2009 |
dsl |
Fixes to includes of make_malloc.h to that it actually builds when USE_EMALLOC is undefined. Fixes earlier fixes :-)
|
#
1.2 |
|
24-Jan-2009 |
cegger |
buildfixes for OSX: - include <sys/types> for size_t - progname is undeclared - include <string.h> for string functions like strlen() - include <errno.h> for errno
|
#
1.1 |
|
24-Jan-2009 |
dsl |
Move the bmake_malloc() functions into their own .c and .h files. Include instead of make.h in a few places.
|