Commit graph

261 commits

Author SHA1 Message Date
K. Richard Pixley
77b19d3d3e rework CFLAGS such that they can be passed on command line to make 1992-04-22 23:35:47 +00:00
Steve Chamberlain
ee0c4cf7d1 * ldlex.l: added CMDFILENAMECHAR state so that you can lex
different sorts of filenames on the command line than in a script.
1992-04-22 19:55:15 +00:00
K. Richard Pixley
119afd7b5f tooldir copy of ld belongs directly in tooldir 1992-04-21 05:34:11 +00:00
Steve Chamberlain
0d3e45eab0 * relax.c: added handling for new "padding" seclet type, used to
fill out gaps between section.
	* ldgram.y, ldlex.l: now -defsym on the command line is done
	properly.
1992-04-17 15:59:37 +00:00
Steve Chamberlain
1bd1fa2ddb Lint found by Rich and gcc 1992-04-16 18:03:51 +00:00
Steve Chamberlain
b11a9b2866 added mri.c 1992-04-15 23:11:53 +00:00
Steve Chamberlain
2e38b71d27 Strange link script support 1992-04-15 23:11:09 +00:00
Steve Chamberlain
3d2b83ea49 Personal checkpoint - now should parse some MRI stuff 1992-04-15 22:23:33 +00:00
Sean Eric Fagan
b6422192ea Changed to allow hosting on an Apollo Series 400 under the BSD4.3 emulation
environment.
1992-04-14 21:32:34 +00:00
Ken Raeburn
1900f884b3 Install second copy as $(tooldir)/bin/ld, since that's what gcc wants. 1992-04-09 09:54:52 +00:00
Steve Chamberlain
9d1fe8a410 New lexer.
New targets for h8/300 simulator and DOS
1992-04-05 01:47:16 +00:00
Steve Chamberlain
5531526a10 Fix for new filenames 1992-03-17 00:38:14 +00:00
Steve Chamberlain
d5a13d8ea0 i960 bitrot fix 1992-03-16 22:54:51 +00:00
K. Richard Pixley
f0280cd218 install man page too 1992-03-14 03:47:55 +00:00
Steve Chamberlain
12fa72d472 * config/mt-<foo> renamed to <foo>.mt
* config/mh-<foo> renamed to <foo>.mt
	* configure.in changed to reflect this
	* genscripts.sh now make .xbn files rather than .xN files
1992-03-13 16:25:26 +00:00
Steve Chamberlain
4fe79f062d *** empty log message *** 1992-03-07 18:32:27 +00:00
Steve Chamberlain
9aa97a39fe Lint removal, extra prototypes.
Recopied cplus-dem from gdb, makes more things come out right.
1992-03-07 18:31:24 +00:00
Steve Chamberlain
fe563ffeb7 * ldmain.c (Q_enter_file_symbols): now aliases work again 1992-03-06 15:00:57 +00:00
Steve Chamberlain
76971f0da2 Modifed to care about semi colons again, newlines are ignored - sorry
Per.
1992-03-02 22:22:59 +00:00
Steve Chamberlain
d286190140 Why didn't it start emacs 1992-02-27 17:24:13 +00:00
Steve Chamberlain
65aa37242b DJ naming change 1992-02-22 00:11:39 +00:00
Per Bothner
573da2f371 * Makefile.in: Change mkscript rule into one for ./mkscript
(for the sake of makes that don't realize they're the same).
	* PORTING:  Add more details.
	* genscripts.sh:  Add more tailorability of DATA_ALIGNMENT.
1992-02-21 01:59:57 +00:00
Per Bothner
1584d0697d New hp300bsd port. 1992-02-17 20:08:20 +00:00
Per Bothner
c3d97ef66b *** empty log message *** 1992-02-16 20:49:26 +00:00
Per Bothner
7e5c1057bb * Makefile.in: Major changes. Removed some the sed
magic to converts scripts, since that is now handled
	by genscripts.sh and the *.sc-sh scipt generators.
	* config.h:  Remove a bunch of macros defining emulations
	and targets.  This becomes one less file to edit when
	adding emulations or targets.
	* ldemul.h (struct ld_emulation_xfer_struct):  Add
	emulation_name and target_name fields.
	* ldemul.c, ldemul.h:  Define some default functions used
	by most emulations (and remove from the *.em scripts).
	* ldemul.c (ldemul_choose_target):  Search the new
	ld_emulations array using a loop (instead of a hardwired
	nested if statement).
	Define the ld_emulation from the automatically-geenrated
	ldemul-list.h.  This means you no longer have to edit ldemul.c
	to add a new emulation.
	* ldmain.c:  Replace {GLD,LNK}960_EMULATION_NAME by
	their expansions, since the former no longer exist.
	* PORTING:  A very rough first draft of a porting guide.
1992-02-15 23:13:00 +00:00
Per Bothner
15c5ec2e27 * config/mt-foo: Changed EMUL=GLDFOO_EMULATION_NAME
to EMUL=foo. (The GLDFOO_EMULATION_NAMEs have bee removed.)
	* config/mh-foo:  Rename LDEMULATION names as appropriate
	(usually 'gldfoo' -> plain 'foo').
1992-02-15 22:21:43 +00:00
Per Bothner
de566389ca Major rewrite of how ld is configured. The major idea
is to use shell scripts to generate everything.
	* Each emulation is defined by a short shell script with
	extension *.sh that specifies the emulation-specific
	parameters (such as the name of the *.sh-sc and *.em
	files to use).
	* genscript.sh is the master shell script used to generate
	an emulation.  It is passed various argument, including
	the name a the emulation-speciic *.sh file that it
	"sources" to set variables to emulation-specifc parameters.
1992-02-15 22:13:53 +00:00
Per Bothner
6ecb2b74ee Major rewrite of how ld is configured. The major idea
is to use shell scripts to generate everything.
	* generic.em replaces ldtemplate.
	* Other *.em files replace various *.c files.
	A *.em file is a shell script that generates the corresponding
	ld__*.c file that implements an emulation.  This is usually
	a straight 'cat' of a here-document, possibly with substitutions.
	* Script files (*.sc) are places by *.sc-sh scripts.
	Again, these are simple shell scripts that 'cat'
	here-documents, usually with some substitutions.
	The output a *.sc-sh is a script file.
1992-02-15 22:07:15 +00:00
Steve Chamberlain
ee1e80ef4c Make the emulation GLD960, not GLD 1992-02-12 06:42:21 +00:00
Steve Chamberlain
dcde00c429 ldlang.c: now won't core dump with -M
configure.in: add configure target for vxworks960
1992-02-11 20:21:52 +00:00
Steve Chamberlain
ffc5003225 * ldexp.c, ldlang.c: added new idea "abs_output_section", removes
tests for NULL pointers all over the place.
	* ldlang.c (lang_process): remember to relocate global symbols
	*after* relaxing has done it stuff.
1992-02-11 00:23:32 +00:00
Steve Chamberlain
ca3c5c6329 Make undefined refs not make an executable 1992-02-10 18:54:27 +00:00
Heinz G. Seidl
7d5326148d added mt-sun3 mt-vxworks68 mt-vxworks960 1992-02-07 22:34:19 +00:00
Heinz G. Seidl
2c43314875 added h8300hms.c and h8300hms.sc 1992-02-07 22:32:29 +00:00
Michael Tiemann
c556c4267b Add ${srcdir} for makefile_frags. 1992-02-07 07:52:08 +00:00
Steve Chamberlain
ab6c26bae1 From h8300hds* 1992-02-06 19:44:44 +00:00
Steve Chamberlain
67c7ea668f * config/mt-coff-h8300: use EMUL like everything else
* ldlang.c: (print_padding_statement): print the right address.
	* Makefile.in, config.h, ldemul.c: renamed  h8300hds to h8300hms
1992-02-06 19:43:25 +00:00
Steve Chamberlain
aa34a7c3c1 * ldlex.l: Put pack -noinhibit-exec and -sort-common
* ldlang.c (print_data_statement): print the right address.
1992-02-04 23:29:33 +00:00
Michael Tiemann
58216160ef Work around for problems in linking C++ programs that need file-level
initialization.  Now C++ programs can be linked.
1992-02-02 21:12:25 +00:00
Steve Chamberlain
d20fb44510 A change to the makefile got lost; ldmain. forgot that it should set
DEFAULT_EMULATION, so ld didn't know who it was.
1992-02-01 00:50:35 +00:00
K. Richard Pixley
60048a2cee add bootstrap target 1992-01-29 22:47:09 +00:00
Steve Chamberlain
0cc6a79622 ldlnk960.c: Special #ifdef to choose little endian ony
ldgram.y: allow forward ref of section
1992-01-29 16:44:09 +00:00
Steve Chamberlain
cbbdbb9f29 * config/mh-sparc.h: now uses libgcc.a
* ldmain.c: quit using exit
	* *.sc: use *(COMMON) rather than [COMMON]
	* ldlex.l, lexsup.c: much thinking moved from .l and put into .c,
	to allow preprocessing of .l file.
	* Makefile.in: New ldlex.l mangling
	* ldexp.c (fold_binary): perform expressions with % and / in
	integer.
	* ldfile.c (open_a): open archives on VMS in a special way
	* lderror.c: forgot to check in from a long while ago
1992-01-29 16:43:16 +00:00
Steve Chamberlain
870f54b2c8 * ldgram.y: map -M behave in the same way as -Map (sets file name
to be "-".
	* ldsym.c, ldlang.c: remember that size of a section is dependent on
	whether or not relaxing has been done.
	* ldmain.c: don't open a map file if it doesn't have a name
	* relax.c: all the brains have moved into bfd.
	* ldwrite.c: ammend comment
1992-01-28 18:21:36 +00:00
Steve Chamberlain
ac5939079f Now compiles with gcc too. 1992-01-24 23:44:10 +00:00
Steve Chamberlain
95a876f3fa target file for h8300 1992-01-24 22:37:17 +00:00
Steve Chamberlain
6fd50a2010 .Sanitize: added relax.c
ldsym.c ldlang.* more map stuff
1992-01-24 22:36:06 +00:00
Steve Chamberlain
2e2bf962db * Makefile.in: added relax, also made three stage go through a
partial link stage.
	* relax.c : added
	* config.h: if GNU960 defined, then default emulation mode is
	GLD960
	* ldexp.h, ldexp.c: map to file hooks
	* ldlang.c: map to file hooks
	* ldgram.y: added -Map -relax
	* ldlex.l: added -relax, -Map
	* ldmain.c: open map file
	* ldmisc.c: support for map file
	* ldwrite.c: new relax magic
1992-01-24 22:34:34 +00:00
Heinz G. Seidl
2cbe4c5f9e install ld in the gcclibdir if present 1992-01-24 22:11:28 +00:00
Steve Chamberlain
c611e285bd Merging from VMS port. Doc to follow.. 1992-01-24 18:41:32 +00:00