Unfortunately it looks like I won't be able to get this solved. I was hoping to, and even thinking of contributing some README-type documentation on how to do it, but I just couldn't get it to work and we ended up solving the problem another way so the impetus is gone. I didn't keep track of all the details but in case anyone's curious here are a few:
- The first bisection (between tags 4.3 and 4.4.1) happened to land on 6f8da5f4b86a679143d6f6b99e8cfcc1f19a0593 which says "Don't use STRING_SIZE_TUPLE in mempcpy. If mempcpy() is a macro then STRING_SIZE_TUPLE won't compile". And sure enough the compile fails on my system. The fix is simple but having a local change breaks the subsequent bisection with various complications. - README.git says that autoconf 2.69 is required which is exactly what I have. But at some point in the bisection it aborts saying 2.71 is required. I have no idea how that could happen but it did, repeatedly. - When rolling time backward using GNU make, or really with any timestamp-based build tool, it's necessary to do clean builds. But make clean seems to remove src/mkcustom.h which then breaks further builds. Dmitry's makefile has a workaround for this but stashing and reusing a generated file seems unsafe. - Sometimes the generated binary dumped core. I'm sure this could be diagnosed, and if git HEAD core-dumped locally it would be worth my looking into it, but I can't justify debugging a core dump in a hacked environment at some random hash from the past. So at this point I dropped the project. Dmitry: I did make some changes to your makefile so I attach a renamed version in case you want to take any of them. The one I remember is to cause "make --version" to show the git hash it was built from which I think might even be worth keeping in the production version though not in the first line. If the idea is kept, though, it shouldn't be done by hacking config.h as I did but presumably with a -D flag. Also, I had to add -std=c99 and some -W flags to keep the compiler happy. And I removed the -MMD etc since I was doing clean builds every time anyway. David On Tue, Mar 12, 2024 at 11:21 AM David Boyce <david.s.bo...@gmail.com> wrote: > Thank you both for the replies. I've had little time to get back to this > and little success when I tried but it's too early to draw any conclusions. > I'll update on progress when I get back to it. > > Paul, I didn't know "make make" was an option but it doesn't seem to help. > Actually I think there's a bit of a bug. Starting from latest git on > CentOS7.6 here's what I see: > > ./bootstrap && ./configure && make make > ... > make: *** No rule to make target 'lib/libgnu.a', needed by 'make'. Stop. > > A regular "make" completes after which "make make" works. > > David > > On Sat, Mar 9, 2024 at 12:16 PM Dmitry Goncharov <dgoncha...@users.sf.net> > wrote: > >> On Fri, Mar 8, 2024 at 9:32 AM DSB <ya...@boyski.com> wrote: >> > Is there a scripted way to >> > reliably build make at each bisection point (assuming 4.3 as the >> minimum)? >> >> There is definitely a scripted way to do this. >> i use this small makefile (see in the attachment) instead of the >> automake generated one. >> This makefile builds make from all .c files located in src/ and lib/. >> Keep your src/ and lib/ free of stray .c files. >> This makefile also correctly handles removals of header files and all >> other known .d file necessities. >> >> To use it >> 1. Create a subdirectory in your make source code directory. Step to >> this newly created subdirectory. >> 2. Run ../configure. This needs to be done once to generate config.h. >> 3. Run make -f ../test.mk. >> 4. Checkout another commit and run make -f ../test.mk. No need to run >> configure or bootstrap again. >> >> Here is a sample bash session. >> >> dgoncharov@opti:~/src/gmake/make $ mkdir t64 >> dgoncharov@opti:~/src/gmake/make $ cd t64 >> dgoncharov@opti:~/src/gmake/make/t64 $ ../configure --without-guile >> 'CFLAGS=-Wall -Wextra -ggdb -O0 -DMAKE_MAINTAINER_MODE=1 -m64 >> -fsanitize=leak -fsanitize=undefined >> -fsanitize-address-use-after-scope -fsanitize=address >> -fsanitize=pointer-compare -fsanitize=pointer-subtract' LDFLAGS=-m64 > >> /dev/null >> dgoncharov@opti:~/src/gmake/make/t64 $ make -f ../test.mk >> cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\" >> -DLIBDIR=\"/usr/local/lib\" -Wall -Wextra -Wno-error -ggdb -O0 -m64 >> -fno-omit-frame-pointer -fno-common -fsanitize=address >> -fsanitize=pointer-compare -fsanitize=undefined >> -fsanitize=pointer-subtract -fsanitize=leak -MMD -MF ar.td -o ar.o -c >> ../src/ar.c || exit 1 >> read obj src headers <ar.td; echo "$headers" >ar.d || exit 1 >> touch -c ar.o >> cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\" >> -DLIBDIR=\"/usr/local/lib\" -Wall -Wextra -Wno-error -ggdb -O0 -m64 >> -fno-omit-frame-pointer -fno-common -fsanitize=address >> -fsanitize=pointer-compare -fsanitize=undefined >> -fsanitize=pointer-subtract -fsanitize=leak -MMD -MF arscan.td -o >> arscan.o -c ../src/arscan.c || exit 1 >> read obj src headers <arscan.td; echo "$headers" >arscan.d || exit 1 >> touch -c arscan.o >> cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\" >> -DLIBDIR=\"/usr/local/lib\" -Wall -Wextra -Wno-error -ggdb -O0 -m64 >> -fno-omit-frame-pointer -fno-common -fsanitize=address >> -fsanitize=pointer-compare -fsanitize=undefined >> -fsanitize=pointer-subtract -fsanitize=leak -MMD -MF commands.td -o >> commands.o -c ../src/commands.c || exit 1 >> read obj src headers <commands.td; echo "$headers" >commands.d || exit 1 >> touch -c commands.o >> cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\" >> -DLIBDIR=\"/usr/local/lib\" -Wall -Wextra -Wno-error -ggdb -O0 -m64 >> -fno-omit-frame-pointer -fno-common -fsanitize=address >> -fsanitize=pointer-compare -fsanitize=undefined >> -fsanitize=pointer-subtract -fsanitize=leak -MMD -MF default.td -o >> default.o -c ../src/default.c || exit 1 >> read obj src headers <default.td; echo "$headers" >default.d || exit 1 >> touch -c default.o >> cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\" >> -DLIBDIR=\"/usr/local/lib\" -Wall -Wextra -Wno-error -ggdb -O0 -m64 >> -fno-omit-frame-pointer -fno-common -fsanitize=address >> -fsanitize=pointer-compare -fsanitize=undefined >> -fsanitize=pointer-subtract -fsanitize=leak -MMD -MF dir.td -o dir.o >> -c ../src/dir.c || exit 1 >> read obj src headers <dir.td; echo "$headers" >dir.d || exit 1 >> touch -c dir.o >> cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\" >> -DLIBDIR=\"/usr/local/lib\" -Wall -Wextra -Wno-error -ggdb -O0 -m64 >> -fno-omit-frame-pointer -fno-common -fsanitize=address >> -fsanitize=pointer-compare -fsanitize=undefined >> -fsanitize=pointer-subtract -fsanitize=leak -MMD -MF expand.td -o >> expand.o -c ../src/expand.c || exit 1 >> read obj src headers <expand.td; echo "$headers" >expand.d || exit 1 >> touch -c expand.o >> cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\" >> -DLIBDIR=\"/usr/local/lib\" -Wall -Wextra -Wno-error -ggdb -O0 -m64 >> -fno-omit-frame-pointer -fno-common -fsanitize=address >> -fsanitize=pointer-compare -fsanitize=undefined >> -fsanitize=pointer-subtract -fsanitize=leak -MMD -MF file.td -o >> file.o -c ../src/file.c || exit 1 >> read obj src headers <file.td; echo "$headers" >file.d || exit 1 >> touch -c file.o >> cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\" >> -DLIBDIR=\"/usr/local/lib\" -Wall -Wextra -Wno-error -ggdb -O0 -m64 >> -fno-omit-frame-pointer -fno-common -fsanitize=address >> -fsanitize=pointer-compare -fsanitize=undefined >> -fsanitize=pointer-subtract -fsanitize=leak -MMD -MF function.td -o >> function.o -c ../src/function.c || exit 1 >> read obj src headers <function.td; echo "$headers" >function.d || exit 1 >> touch -c function.o >> cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\" >> -DLIBDIR=\"/usr/local/lib\" -Wall -Wextra -Wno-error -ggdb -O0 -m64 >> -fno-omit-frame-pointer -fno-common -fsanitize=address >> -fsanitize=pointer-compare -fsanitize=undefined >> -fsanitize=pointer-subtract -fsanitize=leak -MMD -MF getopt.td -o >> getopt.o -c ../src/getopt.c || exit 1 >> read obj src headers <getopt.td; echo "$headers" >getopt.d || exit 1 >> touch -c getopt.o >> cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\" >> -DLIBDIR=\"/usr/local/lib\" -Wall -Wextra -Wno-error -ggdb -O0 -m64 >> -fno-omit-frame-pointer -fno-common -fsanitize=address >> -fsanitize=pointer-compare -fsanitize=undefined >> -fsanitize=pointer-subtract -fsanitize=leak -MMD -MF getopt1.td -o >> getopt1.o -c ../src/getopt1.c || exit 1 >> read obj src headers <getopt1.td; echo "$headers" >getopt1.d || exit 1 >> touch -c getopt1.o >> cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\" >> -DLIBDIR=\"/usr/local/lib\" -Wall -Wextra -Wno-error -ggdb -O0 -m64 >> -fno-omit-frame-pointer -fno-common -fsanitize=address >> -fsanitize=pointer-compare -fsanitize=undefined >> -fsanitize=pointer-subtract -fsanitize=leak -MMD -MF guile.td -o >> guile.o -c ../src/guile.c || exit 1 >> read obj src headers <guile.td; echo "$headers" >guile.d || exit 1 >> touch -c guile.o >> cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\" >> -DLIBDIR=\"/usr/local/lib\" -Wall -Wextra -Wno-error -ggdb -O0 -m64 >> -fno-omit-frame-pointer -fno-common -fsanitize=address >> -fsanitize=pointer-compare -fsanitize=undefined >> -fsanitize=pointer-subtract -fsanitize=leak -MMD -MF hash.td -o >> hash.o -c ../src/hash.c || exit 1 >> read obj src headers <hash.td; echo "$headers" >hash.d || exit 1 >> touch -c hash.o >> cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\" >> -DLIBDIR=\"/usr/local/lib\" -Wall -Wextra -Wno-error -ggdb -O0 -m64 >> -fno-omit-frame-pointer -fno-common -fsanitize=address >> -fsanitize=pointer-compare -fsanitize=undefined >> -fsanitize=pointer-subtract -fsanitize=leak -MMD -MF implicit.td -o >> implicit.o -c ../src/implicit.c || exit 1 >> read obj src headers <implicit.td; echo "$headers" >implicit.d || exit 1 >> touch -c implicit.o >> cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\" >> -DLIBDIR=\"/usr/local/lib\" -Wall -Wextra -Wno-error -ggdb -O0 -m64 >> -fno-omit-frame-pointer -fno-common -fsanitize=address >> -fsanitize=pointer-compare -fsanitize=undefined >> -fsanitize=pointer-subtract -fsanitize=leak -MMD -MF job.td -o job.o >> -c ../src/job.c || exit 1 >> read obj src headers <job.td; echo "$headers" >job.d || exit 1 >> touch -c job.o >> cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\" >> -DLIBDIR=\"/usr/local/lib\" -Wall -Wextra -Wno-error -ggdb -O0 -m64 >> -fno-omit-frame-pointer -fno-common -fsanitize=address >> -fsanitize=pointer-compare -fsanitize=undefined >> -fsanitize=pointer-subtract -fsanitize=leak -MMD -MF load.td -o >> load.o -c ../src/load.c || exit 1 >> read obj src headers <load.td; echo "$headers" >load.d || exit 1 >> touch -c load.o >> cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\" >> -DLIBDIR=\"/usr/local/lib\" -Wall -Wextra -Wno-error -ggdb -O0 -m64 >> -fno-omit-frame-pointer -fno-common -fsanitize=address >> -fsanitize=pointer-compare -fsanitize=undefined >> -fsanitize=pointer-subtract -fsanitize=leak -MMD -MF loadapi.td -o >> loadapi.o -c ../src/loadapi.c || exit 1 >> read obj src headers <loadapi.td; echo "$headers" >loadapi.d || exit 1 >> touch -c loadapi.o >> cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\" >> -DLIBDIR=\"/usr/local/lib\" -Wall -Wextra -Wno-error -ggdb -O0 -m64 >> -fno-omit-frame-pointer -fno-common -fsanitize=address >> -fsanitize=pointer-compare -fsanitize=undefined >> -fsanitize=pointer-subtract -fsanitize=leak -MMD -MF main.td -o >> main.o -c ../src/main.c || exit 1 >> read obj src headers <main.td; echo "$headers" >main.d || exit 1 >> touch -c main.o >> cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\" >> -DLIBDIR=\"/usr/local/lib\" -Wall -Wextra -Wno-error -ggdb -O0 -m64 >> -fno-omit-frame-pointer -fno-common -fsanitize=address >> -fsanitize=pointer-compare -fsanitize=undefined >> -fsanitize=pointer-subtract -fsanitize=leak -MMD -MF misc.td -o >> misc.o -c ../src/misc.c || exit 1 >> read obj src headers <misc.td; echo "$headers" >misc.d || exit 1 >> touch -c misc.o >> cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\" >> -DLIBDIR=\"/usr/local/lib\" -Wall -Wextra -Wno-error -ggdb -O0 -m64 >> -fno-omit-frame-pointer -fno-common -fsanitize=address >> -fsanitize=pointer-compare -fsanitize=undefined >> -fsanitize=pointer-subtract -fsanitize=leak -MMD -MF output.td -o >> output.o -c ../src/output.c || exit 1 >> read obj src headers <output.td; echo "$headers" >output.d || exit 1 >> touch -c output.o >> cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\" >> -DLIBDIR=\"/usr/local/lib\" -Wall -Wextra -Wno-error -ggdb -O0 -m64 >> -fno-omit-frame-pointer -fno-common -fsanitize=address >> -fsanitize=pointer-compare -fsanitize=undefined >> -fsanitize=pointer-subtract -fsanitize=leak -MMD -MF posixos.td -o >> posixos.o -c ../src/posixos.c || exit 1 >> read obj src headers <posixos.td; echo "$headers" >posixos.d || exit 1 >> touch -c posixos.o >> cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\" >> -DLIBDIR=\"/usr/local/lib\" -Wall -Wextra -Wno-error -ggdb -O0 -m64 >> -fno-omit-frame-pointer -fno-common -fsanitize=address >> -fsanitize=pointer-compare -fsanitize=undefined >> -fsanitize=pointer-subtract -fsanitize=leak -MMD -MF read.td -o >> read.o -c ../src/read.c || exit 1 >> read obj src headers <read.td; echo "$headers" >read.d || exit 1 >> touch -c read.o >> cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\" >> -DLIBDIR=\"/usr/local/lib\" -Wall -Wextra -Wno-error -ggdb -O0 -m64 >> -fno-omit-frame-pointer -fno-common -fsanitize=address >> -fsanitize=pointer-compare -fsanitize=undefined >> -fsanitize=pointer-subtract -fsanitize=leak -MMD -MF remake.td -o >> remake.o -c ../src/remake.c || exit 1 >> read obj src headers <remake.td; echo "$headers" >remake.d || exit 1 >> touch -c remake.o >> cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\" >> -DLIBDIR=\"/usr/local/lib\" -Wall -Wextra -Wno-error -ggdb -O0 -m64 >> -fno-omit-frame-pointer -fno-common -fsanitize=address >> -fsanitize=pointer-compare -fsanitize=undefined >> -fsanitize=pointer-subtract -fsanitize=leak -MMD -MF remote-stub.td >> -o remote-stub.o -c ../src/remote-stub.c || exit 1 >> read obj src headers <remote-stub.td; echo "$headers" >remote-stub.d || >> exit 1 >> touch -c remote-stub.o >> cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\" >> -DLIBDIR=\"/usr/local/lib\" -Wall -Wextra -Wno-error -ggdb -O0 -m64 >> -fno-omit-frame-pointer -fno-common -fsanitize=address >> -fsanitize=pointer-compare -fsanitize=undefined >> -fsanitize=pointer-subtract -fsanitize=leak -MMD -MF rule.td -o >> rule.o -c ../src/rule.c || exit 1 >> read obj src headers <rule.td; echo "$headers" >rule.d || exit 1 >> touch -c rule.o >> cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\" >> -DLIBDIR=\"/usr/local/lib\" -Wall -Wextra -Wno-error -ggdb -O0 -m64 >> -fno-omit-frame-pointer -fno-common -fsanitize=address >> -fsanitize=pointer-compare -fsanitize=undefined >> -fsanitize=pointer-subtract -fsanitize=leak -MMD -MF shuffle.td -o >> shuffle.o -c ../src/shuffle.c || exit 1 >> read obj src headers <shuffle.td; echo "$headers" >shuffle.d || exit 1 >> touch -c shuffle.o >> cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\" >> -DLIBDIR=\"/usr/local/lib\" -Wall -Wextra -Wno-error -ggdb -O0 -m64 >> -fno-omit-frame-pointer -fno-common -fsanitize=address >> -fsanitize=pointer-compare -fsanitize=undefined >> -fsanitize=pointer-subtract -fsanitize=leak -MMD -MF signame.td -o >> signame.o -c ../src/signame.c || exit 1 >> read obj src headers <signame.td; echo "$headers" >signame.d || exit 1 >> touch -c signame.o >> cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\" >> -DLIBDIR=\"/usr/local/lib\" -Wall -Wextra -Wno-error -ggdb -O0 -m64 >> -fno-omit-frame-pointer -fno-common -fsanitize=address >> -fsanitize=pointer-compare -fsanitize=undefined >> -fsanitize=pointer-subtract -fsanitize=leak -MMD -MF strcache.td -o >> strcache.o -c ../src/strcache.c || exit 1 >> read obj src headers <strcache.td; echo "$headers" >strcache.d || exit 1 >> touch -c strcache.o >> cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\" >> -DLIBDIR=\"/usr/local/lib\" -Wall -Wextra -Wno-error -ggdb -O0 -m64 >> -fno-omit-frame-pointer -fno-common -fsanitize=address >> -fsanitize=pointer-compare -fsanitize=undefined >> -fsanitize=pointer-subtract -fsanitize=leak -MMD -MF variable.td -o >> variable.o -c ../src/variable.c || exit 1 >> read obj src headers <variable.td; echo "$headers" >variable.d || exit 1 >> touch -c variable.o >> cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\" >> -DLIBDIR=\"/usr/local/lib\" -Wall -Wextra -Wno-error -ggdb -O0 -m64 >> -fno-omit-frame-pointer -fno-common -fsanitize=address >> -fsanitize=pointer-compare -fsanitize=undefined >> -fsanitize=pointer-subtract -fsanitize=leak -MMD -MF version.td -o >> version.o -c ../src/version.c || exit 1 >> read obj src headers <version.td; echo "$headers" >version.d || exit 1 >> touch -c version.o >> cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\" >> -DLIBDIR=\"/usr/local/lib\" -Wall -Wextra -Wno-error -ggdb -O0 -m64 >> -fno-omit-frame-pointer -fno-common -fsanitize=address >> -fsanitize=pointer-compare -fsanitize=undefined >> -fsanitize=pointer-subtract -fsanitize=leak -MMD -MF vpath.td -o >> vpath.o -c ../src/vpath.c || exit 1 >> read obj src headers <vpath.td; echo "$headers" >vpath.d || exit 1 >> touch -c vpath.o >> cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\" >> -DLIBDIR=\"/usr/local/lib\" -Wall -Wextra -Wno-error -ggdb -O0 -m64 >> -fno-omit-frame-pointer -fno-common -fsanitize=address >> -fsanitize=pointer-compare -fsanitize=undefined >> -fsanitize=pointer-subtract -fsanitize=leak -MMD -MF warning.td -o >> warning.o -c ../src/warning.c || exit 1 >> read obj src headers <warning.td; echo "$headers" >warning.d || exit 1 >> touch -c warning.o >> cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\" >> -DLIBDIR=\"/usr/local/lib\" -Wall -Wextra -Wno-error -ggdb -O0 -m64 >> -fno-omit-frame-pointer -fno-common -fsanitize=address >> -fsanitize=pointer-compare -fsanitize=undefined >> -fsanitize=pointer-subtract -fsanitize=leak -MMD -MF alloca.td -o >> alloca.o -c ../lib/alloca.c || exit 1 >> read obj src headers <alloca.td; echo "$headers" >alloca.d || exit 1 >> touch -c alloca.o >> cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\" >> -DLIBDIR=\"/usr/local/lib\" -Wall -Wextra -Wno-error -ggdb -O0 -m64 >> -fno-omit-frame-pointer -fno-common -fsanitize=address >> -fsanitize=pointer-compare -fsanitize=undefined >> -fsanitize=pointer-subtract -fsanitize=leak -MMD -MF >> concat-filename.td -o concat-filename.o -c ../lib/concat-filename.c || >> exit 1 >> read obj src headers <concat-filename.td; echo "$headers" >> >concat-filename.d || exit 1 >> touch -c concat-filename.o >> cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\" >> -DLIBDIR=\"/usr/local/lib\" -Wall -Wextra -Wno-error -ggdb -O0 -m64 >> -fno-omit-frame-pointer -fno-common -fsanitize=address >> -fsanitize=pointer-compare -fsanitize=undefined >> -fsanitize=pointer-subtract -fsanitize=leak -MMD -MF findprog-in.td >> -o findprog-in.o -c ../lib/findprog-in.c || exit 1 >> read obj src headers <findprog-in.td; echo "$headers" >findprog-in.d || >> exit 1 >> touch -c findprog-in.o >> cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\" >> -DLIBDIR=\"/usr/local/lib\" -Wall -Wextra -Wno-error -ggdb -O0 -m64 >> -fno-omit-frame-pointer -fno-common -fsanitize=address >> -fsanitize=pointer-compare -fsanitize=undefined >> -fsanitize=pointer-subtract -fsanitize=leak -MMD -MF fnmatch.td -o >> fnmatch.o -c ../lib/fnmatch.c || exit 1 >> read obj src headers <fnmatch.td; echo "$headers" >fnmatch.d || exit 1 >> touch -c fnmatch.o >> cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\" >> -DLIBDIR=\"/usr/local/lib\" -Wall -Wextra -Wno-error -ggdb -O0 -m64 >> -fno-omit-frame-pointer -fno-common -fsanitize=address >> -fsanitize=pointer-compare -fsanitize=undefined >> -fsanitize=pointer-subtract -fsanitize=leak -MMD -MF getloadavg.td -o >> getloadavg.o -c ../lib/getloadavg.c || exit 1 >> read obj src headers <getloadavg.td; echo "$headers" >getloadavg.d || >> exit 1 >> touch -c getloadavg.o >> cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\" >> -DLIBDIR=\"/usr/local/lib\" -Wall -Wextra -Wno-error -ggdb -O0 -m64 >> -fno-omit-frame-pointer -fno-common -fsanitize=address >> -fsanitize=pointer-compare -fsanitize=undefined >> -fsanitize=pointer-subtract -fsanitize=leak -MMD -MF glob.td -o >> glob.o -c ../lib/glob.c || exit 1 >> read obj src headers <glob.td; echo "$headers" >glob.d || exit 1 >> touch -c glob.o >> cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\" >> -DLIBDIR=\"/usr/local/lib\" -Wall -Wextra -Wno-error -ggdb -O0 -m64 >> -fno-omit-frame-pointer -fno-common -fsanitize=address >> -fsanitize=pointer-compare -fsanitize=undefined >> -fsanitize=pointer-subtract -fsanitize=leak -MMD -MF strtol.td -o >> strtol.o -c ../lib/strtol.c || exit 1 >> read obj src headers <strtol.td; echo "$headers" >strtol.d || exit 1 >> touch -c strtol.o >> cc -o make ar.o arscan.o commands.o default.o dir.o expand.o file.o >> function.o getopt.o getopt1.o guile.o hash.o implicit.o job.o load.o >> loadapi.o main.o misc.o output.o posixos.o read.o remake.o >> remote-stub.o rule.o shuffle.o signame.o strcache.o variable.o >> version.o vpath.o warning.o alloca.o concat-filename.o findprog-in.o >> fnmatch.o getloadavg.o glob.o strtol.o -fsanitize=address >> -fsanitize=pointer-compare -fsanitize=undefined >> -fsanitize=pointer-subtract -fsanitize=leak >> dgoncharov@opti:~/src/gmake/make/t64 $ >> >> This makefile assumes the gcc depfiles format. See here >> https://github.com/dgoncharov/efficient-autodeps-with-gmake how to >> modify this makefile if your compiler generates depfiles of the other >> format. >> >> >> regards, Dmitry >> >
bisect.mk
Description: Binary data