| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
The generated Makefile clashes with the src/bin/sh/Makefile, causing
it to try to use a rule to build something it doesn't need to.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Define the xxx_OBJPATHS earlier and then use it in the xxx_make
target because each obj is actually made through that.
This allows the crunch to work with -j32 on sun4v.
The makefile generated is still poor, though. It really shouldn't use
the general 'make all' to do the submakes in the app directories being
crunched because each of those objects is listed as a dependency in
the generated crunch makefile. Doing that really requires a unique rule
to generate them.
|
|
|
|
|
|
| |
for linking the crunched app so that when a parallel make is run
(like -j32 on sun4v), the link waits for the sub-make processes
to complete.
|
|
|
|
| |
Reminded by: ru
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
classes from say, /lib/geom, cannot be statically linked completely.
Moreover, those shared objects may require other shared objects (i.e.
for geom, libraries like -lmd, -lcrypto).
The libs_so extension to crunchgen fixes this by allowing some libraries
to be linked in dynamically. This requires that a copy of rtld and the
shared libraries be made available to the crunched binary, and so is not
suitable for all environments. Crunchgen configurations which do not
use the 'libs_so' keyword are unaffected and produce identical binaries
with and without this commit.
Approved by: murray (mentor, in spirit), jhb
In collaboration with: Adrian Steinmann <ast at marabu dot ch>
MFC After: 6 weeks
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
means:
o Remove Elf64_Quarter,
o Redefine Elf64_Half to be 16-bit,
o Redefine Elf64_Word to be 32-bit,
o Add Elf64_Xword and Elf64_Sxword for 64-bit entities,
o Use Elf_Size in MI code to abstract the difference between
Elf32_Word and Elf64_Word.
o Add Elf_Ssize as the signed counterpart of Elf_Size.
MFC after: 2 weeks
|
|
|
|
|
|
|
| |
just rely on the exit status to detect an error. This makes crunchgen(1)
safe to use with certain make(1) debugging flags.
MFC after: 1 week
|
|
|
|
| |
OK'ed by: core
|
|
|
|
| |
any fake value.
|
|
|
|
|
|
|
|
|
|
|
| |
or 'env MAKEOBJDIRPREFIX=... make' depending on the setting of
MAKEOBJDIRPREFIX in the environment. In any case this line kills the
original value of ${MAKE}. When during buildworld a new make is built (as
is the case during the upgrade) this causes a wrong make to be picked up
(the first one in the path). Use the same technique as Makefile.inc1:
create a MAKEENV variable and a CRUNCHMAKE that calls ${MAKE} with that
MAKEENV prefixed. Use CRUNCHMAKE instead of MAKE throughout the generated
makefile. This leaves the original ${MAKE} undisturbed.
|
| |
|
|
|
|
|
|
| |
friendly. Use the systems headers rather than local versions.
Reviewed by: ru
|
|
|
|
| |
Rescue can now be built for arm.
|
|
|
|
| |
Approved by: das (mentor)
|
|
|
|
|
| |
64-bit platforms. (size_t is 32bit on i386, but Elf_Shdr.sh_size is
64bit on SPARC64.)
|
|
|
|
|
| |
PR: 54526
Submitted by: Stefan Farfeleder <stefan@fafoe.narf.at>
|
| |
|
|
|
|
|
|
| |
if the program has an object directory.
Explained by: Tim Kientzle <kientzle@acm.org>
|
|
|
|
|
|
|
| |
OBJS list. This is needed to crunch any program that relies on the
correct .CURDIR setting, e.g. src/bin/csh.
Submitted by: Tim Kientzle <kientzle@acm.org>
|
| |
|
|
|
|
|
| |
Tested on: sparc64 -> i386, i386 -> sparc64
Debugged by: elfdump(1)
|
|
|
|
|
|
|
|
|
| |
Back out the removal of custom version of endian.h system header.
On recent systems, it just falls back to <sys/endian.h>. But on
older systems like 5.0-DP1 or 4-STABLE, this private version may
be necessary, as crunchide(1) is a cross-tool for "make release".
Spotted by: kris, markm
|
|
|
|
| |
Tested on: sparc64, Athlon[32]
|
| |
|
| |
|
|
|
|
| |
Submitted by: Peter Edwards <pmedwards@eircom.net>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Note that crunchgen's stub .c programs already have the code to use it:
"int _crunched_%s_stub(int argc, char **argv, char **envp)"
"{return main(argc,argv,envp);}\" >%s_stub.c\n",
Add $FreeBSD$ to allow the commit.
Reviewed by: luigi
MFC after: 3 days
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Note that a.out is only supported for the non-cross i386 case.
|
|
|
|
|
| |
Also change one case of blatant __progname abuse (several more remain)
This commit does not touch anything in src/{contrib,crypto,gnu}/.
|
| |
|
|
|
|
|
|
|
|
|
| |
so the .lo files can be partially linked against libraries
which redefine symbols in the standard libs, or which reference
symbols in the objects.
Submitted by: Sam Leffler
MFC After: 3 days
|
|
|
|
|
| |
was released in a.out form, it does define the a.out data structures.
The ia64 port does not.
|
|
|
|
|
|
| |
last commit that fixed object crunches.
Repeat after me, "no excuses for not testing".
|
|
|
|
|
|
|
|
|
|
| |
progs prog1
special prog1 objdir ../../prog1/obj
special prog1 objs prog1.o
This fixes a bug that I introduced around the time of 4.2-release.
Reported by: Larry Baird <lab@gta.com>
|
| |
|
|
|
|
|
| |
These are not perfectly in agreement with each other style-wise, but they
are orders of orders of magnitude more consistent style-wise than before.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
so that the user can override libraries at build time. This is
makes it easier to cross-compile crunch builds.
Suggested by: luigi
MFC after: 3 days
|
| |
|