Commit Graph

108 Commits

Author SHA1 Message Date
ru
b381267c64 In crunchgen(1), when calling make(1), don't redirect stderr to stdout,
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
2005-01-20 10:49:03 +00:00
ru
54d390266a Start the dreaded NOFOO -> NO_FOO conversion.
OK'ed by:	core
2004-12-21 08:47:35 +00:00
ru
1edab47bcf For variables that are only checked with defined(), don't provide
any fake value.
2004-10-24 15:33:08 +00:00
harti
39715d99e4 Fix a 4.X -> 5.X upgrade problem: crunchgen used to emit a line 'MAKE=make'
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.
2004-08-09 19:18:19 +00:00
ru
485e003d41 Mechanically kill hard sentence breaks. 2004-07-02 23:13:00 +00:00
obrien
da617ae2ac Adjust the system endian and a.out headers to be more MI and cross-building
friendly.  Use the systems headers rather than local versions.

Reviewed by:	ru
2004-06-22 17:05:39 +00:00
cognet
e2a82c14a1 Tell crunchide to deal with arm elf binaries as well.
Rescue can now be built for arm.
2004-06-06 16:01:36 +00:00
stefanf
6a060e0abd Include <netinet/in.h> for ntoh*() and hton*() prototypes.
Approved by:	das (mentor)
2004-05-24 11:59:17 +00:00
ru
dd8fda3b7e Fix a bug that caused i386 to produce broken binaries for big-endian
64-bit platforms.  (size_t is 32bit on i386, but Elf_Shdr.sh_size is
64bit on SPARC64.)
2003-08-08 15:44:17 +00:00
obrien
fb3e8f8d50 Teach crunchide(1) about PowerPC ELF.
PR:		54526
Submitted by:	Stefan Farfeleder <stefan@fafoe.narf.at>
2003-07-22 00:19:40 +00:00
peter
ab505c1cc1 Add AMD64 support. 2003-06-03 01:37:32 +00:00
ru
efd3b690d1 The second chdir(1) that I trimmed is needed too
if the program has an object directory.

Explained by:	Tim Kientzle <kientzle@acm.org>
2003-04-23 04:28:35 +00:00
ru
a06b7cc581 chdir(1) into a source directory before attempting to determine the
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>
2003-04-22 14:01:33 +00:00
obrien
151315bd69 Back out the totally unapproved backout of my commits. 2003-03-29 03:03:42 +00:00
ru
4955db01ba Complete the endianness support -- sparc64 can now do i386.
Tested on:	sparc64 -> i386, i386 -> sparc64
Debugged by:	elfdump(1)
2003-03-13 11:47:31 +00:00
ru
f5662bee6b Part 1/3 of unbreaking cross releases:
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
2003-01-29 08:37:26 +00:00
obrien
2a3b46cf04 Use <sys/endian.h> rather than a private verison.
Tested on:	sparc64, Athlon[32]
2002-12-30 10:04:46 +00:00
ru
840bf04e2a Bootstrapping aid for 4.0-RELEASE. 2002-11-13 11:50:40 +00:00
charnier
cdf3cc2dcc Put author name under .An/Aq. 2002-10-16 15:51:16 +00:00
gshapiro
5bb36c6275 Apply the envp fix to the other call to main() as well.
Submitted by:	Peter Edwards <pmedwards@eircom.net>
2002-08-09 02:39:38 +00:00
gshapiro
e4415199ca Pass envp to crunched program's main() routines as some depend on it.
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
2002-08-04 22:14:44 +00:00
ru
e6009c48b3 mdoc(7) police: markup nit. 2002-05-30 07:51:22 +00:00
ru
5745b572c7 Get all the fruit from makefile. 2002-05-25 13:39:20 +00:00
ru
d164ffdc7d Removed dead code. 2002-05-24 06:30:07 +00:00
ru
abde38f1f8 Handle endianness. This completes cross-support for sparc64. 2002-05-24 06:24:40 +00:00
ru
c1125485ae Added support for ia64 and sparc64. 2002-05-21 15:36:29 +00:00
ru
c20285f0d4 Make crunchide(1) a cross-tool; needed for cross-arch "make release".
Note that a.out is only supported for the non-cross i386 case.
2002-04-30 09:34:53 +00:00
des
c91c856b3e Usage style sweep: spell "usage" with a small 'u'.
Also change one case of blatant __progname abuse (several more remain)
This commit does not touch anything in src/{contrib,crypto,gnu}/.
2002-04-22 13:44:47 +00:00
charnier
339ef6c936 Use `The .Nm utility' 2002-04-20 12:27:18 +00:00
luigi
3d32810cda Add a "special progname lib xxx ..." command to crunchgen
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
2002-03-30 16:48:30 +00:00
peter
d4b2379cbb ia64 support. Hide a.out support solely under i386. While alpha never
was released in a.out form, it does define the a.out data structures.
The ia64 port does not.
2001-10-23 10:18:41 +00:00
joe
207831986a Make source crunches work as well as object crunches; broken in the
last commit that fixed object crunches.

Repeat after me, "no excuses for not testing".
2001-08-17 11:11:10 +00:00
joe
31668157f2 Make crunchgen crunch pre-built object files again, i.e.:
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>
2001-08-15 14:37:26 +00:00
ru
173222b339 mdoc(7) police: s/BSD/.Bx/ where appropriate. 2001-08-14 10:01:54 +00:00
obrien
4b92fa588b Perform a major cleanup of the usr.sbin Makefiles.
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.
2001-07-20 06:20:32 +00:00
obrien
b64625adfb Remove GCC'isms in CFLAGS. 2001-07-20 04:23:13 +00:00
dd
7d1013753f Remove whitespace at EOL. 2001-07-15 08:06:20 +00:00
ru
5617dbcc22 mdoc(7) police: removed HISTORY info from the .Os call. 2001-07-10 15:12:08 +00:00
joe
0a7c403ffd Use 'LIBS+= ...' instead of 'LIBS= ...' in the generated makefile
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
2001-06-20 23:21:02 +00:00
ru
c751d26a91 mount_msdos(8) -> mount_msdosfs(8). 2001-06-01 11:25:40 +00:00
ru
88d6fd0d56 mount_fdesc -> mount_fdescfs
mount_portal -> mount_portalfs
2001-05-24 13:23:54 +00:00
obrien
e1f6b578aa * include/elf.h has been repo copied to include/elf-hints.h, and it no
longer includes machine/elf.h.
* consumers of elf.h now use the minimalist elf header possible.

This change is motivated by Binutils 2.11.0 and too much clashing over
our base elf headers and the Binutils elf headers.
2001-05-02 23:56:21 +00:00
ru
acf4680285 Document ``special <progname> ident <identifier>'' command. 2001-04-04 08:28:00 +00:00
ru
e62b5a8239 - Call subclean' after clean' for each program.
- Eliminate compiler warning.
2001-04-04 08:26:54 +00:00
ru
99beb84315 `buildopts' may affect the selection of object files.
Make sure we pass $(BUILDOPTS) to the `clean' target
so that `make clean' works on the same set of object
files.  Otherwise, we may end up with an incorrectly
built and up-to-date object file.
2001-03-30 08:04:25 +00:00
joe
1b927f9965 Liberal application of style(9). 2001-01-10 14:08:48 +00:00
joe
030266a74e Flag an error and remove the program from the list if there is
no source directory or no objects can be determined.

Initialise a structure variable.
2001-01-10 13:27:38 +00:00
des
b14c7cbbcf Retire kernfs (userland part). 2000-12-28 12:59:57 +00:00
joe
766c10a107 Clean up the source directory finding code, and in the process fix a
problem that occurs when a program's source isn't found.
2000-12-24 12:21:15 +00:00
joe
f7bfd5b1bc Use one of the TMPDIR env variable or _PATH_TMP instead of hardcoding
/tmp.

Submitted by:	jedgar
2000-12-17 19:49:07 +00:00