aboutsummaryrefslogtreecommitdiff
path: root/TODO
diff options
context:
space:
mode:
authorRon Yorston <rmy@pobox.com>2023-09-12 14:03:26 +0100
committerRon Yorston <rmy@pobox.com>2023-09-12 15:01:06 +0100
commit504f373c8d4447a4801a74887f99f0dfa809f53e (patch)
treeb96d61abd47657a60f8e1a194e31b1019f2a2be4 /TODO
parentfaf0d38e40e099eebccac4013ab2692e545f612e (diff)
downloadbusybox-w32-504f373c8d4447a4801a74887f99f0dfa809f53e.tar.gz
busybox-w32-504f373c8d4447a4801a74887f99f0dfa809f53e.tar.bz2
busybox-w32-504f373c8d4447a4801a74887f99f0dfa809f53e.zip
make: return non-zero exit status when a command fails
When a build command returned a non-zero exit status 'make' reported a warning and returned an exit code of zero. This was due to the misuse of the status returned by system(3). As the man page says: the return value is a "wait status" that can be examined using the macros described in waitpid(2). (i.e., WIFEXITED(), WEXITSTATUS(), and so on). Use the error() function to correctly report the problem on stderr and return an exit status of 2. Some additional changes in the same area: - When a target is removed report the diagnostic on stderr, as required by POSIX. - When a build command receives a signal GNU make removes the target. bmake doesn't and it isn't required by POSIX. Implement this as an extension. - Expand the error message when a build command fails so it includes the exit status or signal number, as obtained from the value returned by system(3). - Alter the WIN32 implementation of system(3) to handle exit codes which represent termination as if by a signal. Adds 200-240 bytes. (GitHub issue #354)
Diffstat (limited to 'TODO')
0 files changed, 0 insertions, 0 deletions