diff options
author | Ron Yorston <rmy@pobox.com> | 2023-09-12 14:03:26 +0100 |
---|---|---|
committer | Ron Yorston <rmy@pobox.com> | 2023-09-12 15:01:06 +0100 |
commit | 504f373c8d4447a4801a74887f99f0dfa809f53e (patch) | |
tree | b96d61abd47657a60f8e1a194e31b1019f2a2be4 /TODO | |
parent | faf0d38e40e099eebccac4013ab2692e545f612e (diff) | |
download | busybox-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