Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
the same as dieing in a sub job, since waiting on sub-jobs won't work.
So keep track of who we are via a state variable.
|
|
a lot of the time.
|
|
|
|
real files get updated anyways, but phony nodes stay around as unmade,
which breaks things in subtle ways, since parallel mode just assumes things
get built.
|
|
|
|
|
|
|
|
inside tilde_expand_filename(); save the data we need carefully
ok djm
|
|
ok dtucker@
|
|
frobbing with WIF* macros. Originally based on a diff from deraadt@.
OK deraadt@.
|
|
|
|
|
|
This is a really big step towards getting parallel make to work.
Note that this is not yet complete. There are still a few `details' to
fix before this works 100%. Specifically: sequential make (compat) and
parallel make don't use the same engine, and the parallel engine still
has a few limitations. For instance, some known issues:
- parallel make does not deal with .phony targets correctly all the time.
- some errors are deadly in parallel make mode.
- parallel make NEEDS way more sturdy correspondance of file system paths
and target names, since it often needs to match dependencies to targets
before the corresponding files exist.
- some local variables like $* get set in a bogus way in some cases.
- suffix handling has issues, especially related to the NULL suffix.
So, if you find stuff that does NOT yet work with parallel make, don't go
blindly try to fix the Makefile. It's very likely you might have stumbled
into a make bug. (unless you really, really, understand Makefiles, DON'T
GO CHANGING THEM YET).
Tested by lots of people, thanks go to miod@, and robert@ among other people.
Quick summary of what this does:
- remove `saving commands' extension (it's not really usable, nor used)
- move compat job runner and parallel interrupt handling into engine.c
- tweak the code so that both compat and parallel mode use the same job runner
and the same interrupt handling. Remove the other one.
- optimize job runner so that, in parallel mode, the last command does not
fork if we can avoid it (as it's already running in a sub shell).
- scrape all the code that dealt with creating shell scripts from commands.
- scrape all the code that dealt with recognizing special sequences in
command output to print/not print output.
- fix the parallel job pipe to not keep around file descriptors that are not
needed.
- replace the parallel job buffering with a nicer one, that deals with
non-blocking descriptors to try to agregate as much output from one job in
one go (greed) to unconfuse the users.
- create two pipes per job, so that stdout and stderr stay separate.
- make job token printing a debug option.
- always use the parallel job-runner to `execute' commands, even if we just
print them out.
- store list of errors encountered during parallel make running, and print them
on exit, so that we know what went wrong.
- add a dirty hack to targ.c to deal with paths produced by gccmakedep.
|
|
|
|
|
|
twist by me. ok deraadt@
|
|
next step for ELFABI, hello world works with ELFABI, but register
pairs still produce wrong assembly; with Dale Rahn
|
|
Don't let temporary file lie around if -S is used. ok ragge@
|
|
Reset the sue to UCHAR if using CHAR_UNSIGNED. Fixes warnings on
powerpc.
|
|
Provide compile-time flag STAB_LINE_ASSOLUTE which creates N_SLINE stabs
using absolute addresses instead of relative addresses. Fixes debugging
on OSX (and probably other non-ELF targets).
|
|
originally requested by sobrado, and now Pierre Riteau
|
|
|
|
ok sobrado
|
|
from Pierre Riteau
|
|
Fix sorting bug in addcase(). Spotted by Gregory McGarry.
ok gmcgarry, ragge@
|
|
> calls argument numbers are in registers, not bytes.
> If a jump is to the return label, emit ret insn instead.
> Add ADDROF table entry.
> Remove some unused entries.
> Do a Z call for emitted GOTOs.
> Only create constants for function names, they are called by name anyway.
|
|
> Allow ADDROF to fall through to table, for PIC code generation.
> Tighten check on GOTO argument and only complain that the label is out-of-range
> if we are actually jumping to label (ICON).
|
|
|
|
|
|
|
|
set by a Match block (eg Banner) behave the same for non-existent
users. Found by and ok djm@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
> Fix preprocessor number overflow check, by Jan Kryl.
|
|
|
|
- the "fre" column width is increased
- adds a whitespace between the "avm" and "fre" columns
- aligns the "memory" and "traps" labels with their column sets
ok millert@
|
|
ok deraadt
|
|
|
|
Ok gilles@ moritz@
|
|
ok art deraadt
|
|
Forces make to see the -j4 in MAKEFLAGS and to actually pass it to submakes
|
|
to handle short reads, apply bandwidth limits and update counters.
make network IO non-blocking, so a small trickle of reads/writes has a
chance of updating the progress meter; bz #799
ok dtucker@
|