Commit Graph

100 Commits

Author SHA1 Message Date
Ruslan Ermilov
adcb86e214 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
David E. O'Brien
930d8c703a 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 Wemm
8e81109e14 Add AMD64 support. 2003-06-03 01:37:32 +00:00
Ruslan Ermilov
2343a53401 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
Ruslan Ermilov
7cc7315cfb 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
David E. O'Brien
2d57da023a Back out the totally unapproved backout of my commits. 2003-03-29 03:03:42 +00:00
Ruslan Ermilov
82c7cf3159 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
Ruslan Ermilov
d51456da6f 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
David E. O'Brien
90b77cf39a Use <sys/endian.h> rather than a private verison.
Tested on:	sparc64, Athlon[32]
2002-12-30 10:04:46 +00:00
Ruslan Ermilov
4192cfffe2 Bootstrapping aid for 4.0-RELEASE. 2002-11-13 11:50:40 +00:00
Philippe Charnier
557f7e714d Put author name under .An/Aq. 2002-10-16 15:51:16 +00:00
Gregory Neil Shapiro
b0c70f811b 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
Gregory Neil Shapiro
8f3548b29f 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
Ruslan Ermilov
3d8d000653 mdoc(7) police: markup nit. 2002-05-30 07:51:22 +00:00
Ruslan Ermilov
a2acc41379 Get all the fruit from makefile. 2002-05-25 13:39:20 +00:00
Ruslan Ermilov
ccde2810d9 Removed dead code. 2002-05-24 06:30:07 +00:00
Ruslan Ermilov
d8d9770881 Handle endianness. This completes cross-support for sparc64. 2002-05-24 06:24:40 +00:00
Ruslan Ermilov
66c795d4f4 Added support for ia64 and sparc64. 2002-05-21 15:36:29 +00:00
Ruslan Ermilov
64b06e7897 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
Dag-Erling Smørgrav
d397408818 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
Philippe Charnier
7f94b8deee Use `The .Nm utility' 2002-04-20 12:27:18 +00:00
Luigi Rizzo
252f13ab51 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 Wemm
2b30bcbb41 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
Josef Karthauser
1554755e12 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
Josef Karthauser
11384533ea 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
Ruslan Ermilov
753d686d34 mdoc(7) police: s/BSD/.Bx/ where appropriate. 2001-08-14 10:01:54 +00:00
David E. O'Brien
90e655ea4e 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
David E. O'Brien
ac24b049cc Remove GCC'isms in CFLAGS. 2001-07-20 04:23:13 +00:00
Dima Dorfman
f247324df7 Remove whitespace at EOL. 2001-07-15 08:06:20 +00:00
Ruslan Ermilov
a4c37c816b mdoc(7) police: removed HISTORY info from the .Os call. 2001-07-10 15:12:08 +00:00
Josef Karthauser
d1a97625be 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
Ruslan Ermilov
aff344349b mount_msdos(8) -> mount_msdosfs(8). 2001-06-01 11:25:40 +00:00
Ruslan Ermilov
4c3748cf1d mount_fdesc -> mount_fdescfs
mount_portal -> mount_portalfs
2001-05-24 13:23:54 +00:00
David E. O'Brien
5e6220d9d0 * 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
Ruslan Ermilov
67373d62bc Document ``special <progname> ident <identifier>'' command. 2001-04-04 08:28:00 +00:00
Ruslan Ermilov
a0bac7e013 - Call subclean' after clean' for each program.
- Eliminate compiler warning.
2001-04-04 08:26:54 +00:00
Ruslan Ermilov
42037fc8b4 `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
Josef Karthauser
87eb4a4220 Liberal application of style(9). 2001-01-10 14:08:48 +00:00
Josef Karthauser
617b818021 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
Dag-Erling Smørgrav
c4b267dc7e Retire kernfs (userland part). 2000-12-28 12:59:57 +00:00
Josef Karthauser
e3b7d1782a 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
Josef Karthauser
61ffadb185 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
Josef Karthauser
15d6ae10ad Avoid potential problems with the existance of a shadow obj directory
confusing the 'make -f tmpfile' in the tmpfile, by creating it in /tmp.
2000-12-17 17:07:40 +00:00
Josef Karthauser
5e5f382630 Clarify an ambiguous 'else' introduced by a recent commit. 2000-12-17 17:03:05 +00:00
Josef Karthauser
f3c47f54c6 o check strdup() return values
o strcpy() -> strlcpy()
o sprintf() -> snprintf()
o mktemp() -> mkstemp()
o use err() instead of errx() in out_of_memory() function since
  errno will probably be set

Submitted by:	jedgar
2000-12-17 16:51:00 +00:00
Josef Karthauser
843d8d5178 Hopefully the last patch in a series to try and teach crunchgen to
handle MAKEOBJDIRPREFIX better, in conjunction with the -o and -p
flags.
2000-12-17 16:13:23 +00:00
Ruslan Ermilov
50ab935d46 mdoc(7) police: fixed errors from the previous revision, keep
the synopsis in a nice form, and a few more cosmetic changes.
2000-12-01 08:17:15 +00:00
Luigi Rizzo
019d04d147 Make crunchgen aware of obj directories. Formerly it had
/usr/obj hardwired in the code, now you can override it
with a command line option or MAKEOBJDIRPREFIX env. variable.
The above is useful to build picobsd-specific objects in some other
place than /usr/obj

While at it, fix documentation and change a few sprintf -> snprintf.
2000-11-30 21:14:54 +00:00
Ruslan Ermilov
e97407b4f2 mdoc(7) police: use the new features of the Nm macro. 2000-11-20 20:10:44 +00:00
Ruslan Ermilov
251c176f41 mdoc(7) police: use certified section headers wherever possible. 2000-11-17 11:44:16 +00:00