home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
M.u.C.S. Disc 2000
/
MUCS2000.iso
/
gnuc
/
util-41s.lzh
/
util-41
/
ChangeLog
< prev
next >
Wrap
Text File
|
1998-11-10
|
17KB
|
564 lines
previous history lost in the dungeons of RCS!
printstk.c, fixstk.c:: ++jrb (relevant to tos gcc only)
ensure that we are looking at a _stksize in the data section.
(user defined _stksize). (thanks bernd)
fixstk.c:: ++jrb (relevant to tos gcc only)
if new size did'nt have a trailing K or M calc_newsize was
terminating the size string one character too soon. (thanks bernd)
ld.c:: ++jrb (GNULIB is relevant to tos-gcc only)
environment variable GNULIB can now specify a list of dirs
to look for lib files. GNULIB is a ';' or ',' delimited
list of dirs. in the simplest case it is just one dir
as it was previously. (thanks bernd)
(gulam users: be sure to quote ';' s)
Also note: gcc (tos) will look for the startfile 'crt0.o' *only*
on the first directory specified in GNULIB.
gcc-cpp.ttp now will look for include files in each of the dirs
specified in GNULIB, if it does not find the environment var GNUINC
first (which can be a list of dirs too).
makefile.st:: ++jrb
target names adjusted.
ld.c, sym-ld.c:: ++jrb
for sparc based cross-linker, was missing a
!defined(CROSSATARI) around the reloc defns. thanks lars!
ld.c, sym-ld.c, ar.c:: ++jrb
adjusted for +ve errno's
ld.c :: andreas schwab
handle the case when there are no reloc bytes in the program
(impossible for C programs, but in a handwritten asm program
its possible)
ld.c, sym-ld.c:: ++jrb
exit code from main was getting lost. put an explicit exit() there.
thanks allan for pointing this out.
ld.c:: ++jrb
#ifdef'ed out coptxtrel aand copdatrel that are not used by atari
Makefile.st, Makefile.minix:: ++jrb
add LDFLAGS
cnm.c:: ++jrb
cast was missing.
size68.c:: ++jrb
fixed it up for WORD_ALIGNED (32 bit alignment) machines.
nm.c:: ++jrb
fixed up alloca stuff for sparc cross-nm
Makefile.cross:: ++jrb
make for size68 adjusted so that .c.o rule applies and CFLAGS
are picked up (for -DWORD_ALIGNED).
ld.c:: ++jrb
look up env var GNULIB for minix (native) too. GNULIB can be
a ',' or ';' seperated list of dirs to search for libs (-llib)
ld.c:: ++jrb
fixed for -DWORD_ALIGNED for minix cross-dev
(cross-sparc-minix verified). In Makefile.minix
# define WORD_ALIGNED if on a 32 bit alignment host.
Makefile*, ld.c, cnm.c, nm.c :: ++jrb
minor adjustments for sparc (WORD_ALIGNED).
gnu-out.h:: ++jrb
replaced with newer one from gnu (from gas-1.37)
ld.c:: ++jrb
minor adjustment for new gnu-out.h
ld.c:: ++jrb
write_atari_sym(): distinguish between local and global sym
thanks Michal.
nm.c::++jrb
fixed up headers, and new magic field in gnu-out
ar.c:: ++jrb
fixed up rename bug
nm.c, size.c, (sym-ld just for completeness):: jens
complete sync with new gnu-out
printstk.c, fixstk.c: michal
use _initial_stack when it it defined instead of _stksize
thanks michal.
nm.c, ar.c:: Frank Ridderbusch
changes to correctly read stuff on WORD_ALIGNED machines
support for USG machines
cnm.c:: frank, michal, jrb
put in changes for gst sym.
put the WORD_ALIGNED code back.
correct minor bugs with mem free
make it fopen "rb" for atari
PLEASE -- when you make changes, dont strip out WORD_ALIGNED
code. it may not be important on the machine you use, but
it is imporant on other machines.
ld.c:: frank
out in gst symbol support. ld -G will activate it.
(note: ld -g does'nt)
ld -v will now give you a version.
make -v and -G valid for cross ld too
thanks to frank and michal for their diffs.
size68.c:: ++jrb
return valid status from main()
ld.c:: ++jrb
ok, i got enough bitching from people about the disk i/o in ld.
changed it to use buffererd i/o. you can tune up the buffer
sizes for your configuration. look for the
setvbuf(, , , size) calls.
strip.c:: michal
new coding from michal. more options, and gst syms compatible.
Thanks!
usage: strip [-g] [-k] [-l filenames] files ...
-g keep all global symbols
-k keep _stksize symbol, so stack size can be adjusted
even for nearly-stripped gcc produced executables
-l nms keep all symbols listed in a file 'nms'
fixed up slightly for WORD_ALIGNED and unix cc
strip.c:: andreas
try to rename the temp file, before trying to copy. if rename
fails, just copy. (the renaming will succeed if the tmp
is on the same device. I think).
size68.c:: andreas
i had the message backwards.
ld.c:: andreas
cleanup. Thanks andreas
andreas: i did not change the default to fastload. i think in
this case (to borrow pres. bush's favorite word) its PRUDENT to be
conservative :-)
ld.c:: michal
cleanup lots of int/pointer warnings. Thanks mical.
ar.c:: frank
finish WORD_ALIGNED ar diffs.
ld.c:: frank
make a cross-ld use env var GNULIB (like the tos verison) instead
of having a hard coded path.
ld.c, sym-ld.c, gnu-out.old...:: ++jrb
hack up ld to fake out debugger syms when producing tos executables
you should definitely not get any bogon alerts now, when linking
with a '-g' (note: NOT -gg) compiled files.
hack up others to work with -g.
gcc -g should work now, and gdb should work with -g compiled
programs.
ld.c, sym-ld.c: ++jrb
fix initialization of xtra_ref.n_type
sym-ld.c:: ++jrb
shit i have to fix this... fix up WORD_ALIGNED problems (just enough
to get by!). merge all the ld changes, except protos and buffered i/o
changes. It works now on a sparc!
gcc -g is working well now.
let sym-ld use gnu-out.old
gnu-out.h, stab.h:: ++jrb
merge in minor changes from binutils 1.9. these changes should
make no difference.
----------------------------- Patchlevel 18 ---------------------------------
ld.c:: david boyce (uunet!sifvs3.SINet.SLB.COM!boyce)
changes for g++
-- handle set vectors (g++ does constructors this way)
-- added code for N_INDR too (though its not used)
yeah, we finally have a g++ that is not a total kludge, and works
ALL the time, and not some of the time -- great work david.
******************* RENAME PatchLevel.h to PatchLev.h ******************
----------------------------- Patchlevel 19 ---------------------------------
ld.c, sym-ld.c:: ++jrb
include PatchLevel in version printout.
ld.c:: ++jrb
merge the changes above.
more hacks to get set_vectors working.
dont pass nlist->string when calling write_atari_sym() for
a set vector. just pass it a dummy string, and write_atari_sym()
will fake it in any case. gdb will gobble it up, no problem.
i dont know about other debuggers though.
----------------------------- Patchlevel 20 ---------------------------------
ld.c:: Kurt Olsen (uunet!cache.usu.edu!kurto)
Changes for cross-ld on a byte-swapped host. cross-ld will now work
correctly when hosted on a machine that has the opposite byte sex
than the 68K. ie: cross-ld on a little endian host (like the decStations 3100/vax,
intel 808* series etc), cross linking for the 68k a big endian machine.
On a little endian host make sure you have -DBYTE_SWAP in CFLAGS or on
the cc command line.
sym-ld.c:: ++jrb
merge in set vector changes. G++ may just work with gdb :-) :-)
i will let someone else do the BYTE_SWAP changes. hint hint :-)
sym-ld.c, ld.c:: ++jrb
fix up symbol that is output for set_vectors. the comment in ld.c
that indicated that the storage for s set_symbol was not trashed
was completely wrong, and hence misleading.
----------------------------- Patchlevel 21 ---------------------------------
sym-ld.c, ld.c:: david
demangle g++ names is -lg++
cplusdem.c:: david
new file, copy of cplus-dem.c from the g++-1.39.0 distribution.
cp ../gcc-1.39/cplus-dem.c cplusdem.c : the demangler source
nm.o:: david
add the demangler:
add a new option `-x'. if -x is specified, DO NOT try to demangle
names. by default try to demangle them. This is fine because
the demangle will leave ordinary names alone.
--------------- ooops, some history got lost here, sigh! ----------------
gnu-out.old: ++jrb
remove this file, no longer needed.
sym-ld.c:: ++jrb
use gnu-out.h instead of gnu-out.old.
----------------------------- Patchlevel 24 ---------------------------------
cplusdem.c:: ++jrb
update C++ demangler for gcc 2.0
----------------------------- Patchlevel 25 ---------------------------------
ldd.c, sym-ld.c:: ++jrb
hook in the demangler into write_map (-M) too. the output of
gcc-ld -M -t looks much nicer now when dealing with -lang-c++.
dont try to print set elements as local symbols (when -M). guess
who was seeing bombs!
nm.c:: ++jrb
free demangled storage.
----------------------------- Patchlevel 26 ---------------------------------
ld.c:: Michal
clean up compiler noise.
cnm.c:: andreas
adjust proto for ckfread; correctly count symbols if
WORD_ALIGNED
cplusdem.c:: andreas
some names couldn't be demangled (like template
functions, static members)
ld.c:: andreas
adjust protos for mywrite, xmalloc, xrealloc;
initialize gst_symboltable and gst_symbols if CROSSATARI
strip.c:: andreas
preserve long symbols, avoid warnings about cast
sym-ld.c:: andreas
write only the symbols since this is all what gdb needs
----------------------------- Patchlevel 27 ---------------------------------
fixstk, printstk.c:: ++jrb
fix them up for word aligned machines. ie ifdef WORD_ALIGNED
Makefile.cross, Makefile.hp:: ++jrb
add target for fixstk/printstk to the cross-makefiles.
----------------------------- Patchlevel 28 ---------------------------------
cplusdem.c:: michal
cleanup, plus in one routine was'nt returning the correct value.
sym-ld.c, ld.c:: ++jrb
always link in the demangler (earlier it only kicked it in
when -lg++ was seen on the command line). the demangler will
corectly not demangle C and other unmangled symbols.
----------------------------- Patchlevel 29 ---------------------------------
ar.c:: jean-marc jmz@obsbea.dnet.nasa.gov
diff for BYTE_SWAP (for gcc-ar cross on a little endian host, now
gcc-ar and gcc-ld are all set for cross work on a litle endian machine.
i suppose we should do rest of the utils too).
----------------------------- Patchlevel 30 ---------------------------------
ld.c:: ++jrb
-- sync up with some changes from gnu-binutils v 1.92, especially
the common allocation stuff.
-- make fatal() varargs
-- detect undefined globals not referenced from a text or data segment
(thanks to Ulrich Kuehn who sent and example that silently failed).
sym-ld.c:: ++jrb
fold in relevant changes from above.
----------------------------- Patchlevel 30.5 -------------------------------
strip.c:: alexander lehmann (alexlehm@iti.informatik.th-darmstadt.de)
I rewrote strip to strip trailing garbage from executables. The
debug information of TurboC/PureC adds such stuff for example.
While at this I rewrote the code to support BYTE_SWAPed machines.
ld.c/sym-ld.c/st-out.h, cnmc:: ++jrb
put out file symbols ala aln. julians nm should do better now.
----------------------------- Patchlevel 31 --------------------------------
sym-ld.c:: michal
was`nt compiling anymore.
ld.c, sym-ld.c:: michal
When searching through a library a function symdef_library was
repeatedly allocating and freeing (at the same address)
subentry->strings and subentry (line 2962) and later it was executing
free (subentry->strings);
subentry->strings = 0;
My NeXT was patient enough to survive such treatment for a few
iterations but after a while it was dropping a core from malloc().
Exactly the same applies to sym-ld. I do not know why this problem
ld.c :: howard
Incorporate baserel patches.
toglclr.c:: Frank Ridderbusch
rewrote toglclr for all flags: usage
toglclr [options] file file ...
options: -fload = toggle `fast load'
-frun = toggle `load program into fast ram'
-fram = toggle `malloc from fast ram'
toglclr.c:: ++jrb
clean it up for cross-environment, add support for
WORD_ALIGNED
Makefile.cross, Makefile.st:: ++jrb
add target for toglclr
cnm.c:: ++jrb
cleanup for hpux
----------------------------- Patchlevel 32 --------------------------------
ld.c:: howard
more fixes for baserel
ld.c:: ++jrb
fixed BYTE_SWAP problem.
ld.c:: ++jrb
more BYTE_SWAP fixes in the relocation stuff
toglclr.c: Thomas Schulze, ts@uni-paderborn.de
add -fshare flag for sharex text (mint 0.96 and up).
----------------------------- Patchlevel 33 --------------------------------
REMOVE the following files from this (utils) directory
they have been moved to the include directory
rm gnu-ar.h
rm gnu-out.h
rm stab.def
rm stab.h
cnm.c: andreas
New flag -u, print symbols unsorted
Cleanups
cplusdem.c:: andreas
Cleanups to sync up with Gnu
stab.def, stab.h:: andreas
Cleanups to sync up with Gnu *********** NOTE moved to <include>
printstk.c fixstk.c: andreas
Allow more than one file name argument
strip.c:: andreas
Preserve the file mode and long symbols,
keep __stksize by default, new flag -a to strip
really all symbols
****************************
* NOTE: new flag -a *
****************************
ld.c sym-ld.c:
- Many cleanups
- All large stack requirements removed
[ allocas turned into xmalloc/frees should be much more
MiNT freindlier!]
- defaults changed! ************** NOTE *****************
default prgflags == 7 now /* fastload and TT ram */
default symbol table type == gst_format symbols
- new options ******************* NEW OPTIONS**************
-f load_flags
-h heap size
nm.c:: andreas
- turn alloca()s into xmalloc()s
printstk.c:: andreas
cleanup
make it handle long symbols properly
size68.c:: andreas
cleanup
fixstk.c:: ++jrb
was missing *argv in usage message
stab.def, stab.h:: ++jrb
removed from util subdir. use the one in the include
directory. the one in include has been brought upto date with
all the cygnus changes.
----------------------------- Patchlevel 35 --------------------------------
Makefile.cross:: michal
added important note for NeXT users.
************* NeXT users take note *****************
ar.c nm.c size.c size68.c:: michal
There were also various instances of
"#include /usr/include/something.h"
I changed them to <something.h> and rely on include path.
size68.c:: michal
sync up with various recent changes to util.
toglclr.c:: frank
Added code to handle the memory protection bits under MultiTOS.
Changed output format slightly.
size68.c:: frank
change output format to include any MiNT memory prots.
merged with michals chenages from above. ++jrb
fixstk.c, printstk.c:: ++jrb
cleanup
----------------------------- Patchlevel 36 --------------------------------
ld.c, sym-ld.c:: ++jrb
do chmod() on output file.
----------------------------- Patchlevel 37 --------------------------------
ld.c:: Jean-Marc Zucconi (jmz@cabri.obs-besancon.fr )
on a little endian machine, the output symbol type was'nt being byte
byte swapped.
printstk.c, fixstk.c:: Jean-Marc Zucconi (jmz@cabri.obs-besancon.fr )
fix up for little endian machines. ( BYTE_SWAP #defined)
ld.c:: Thomas FFH002@VM.HRZ.UNI-ESSEN.DE
fixes for BYTE_SWAP (ie little endian machines for N_SETV (for
global ctor/dtor table) to ld.c. Thanks!
nm.c:: Thomas FFH002@VM.HRZ.UNI-ESSEN.DE
fixes for BYTE_SWAP (little endian machines). thanks!
486/freeBSD now reported to work great as a cross-compile
platform for the atari-gcc/g++. (for 486/freeBSD use
-DBYTE_SWAP while compiling utils. Dont know if
-DWORD_ALIGNED is needed)
----------------------------- Patchlevel 38 --------------------------------
ld.c, sym-ld.c:: Christian Felsch (felsch@tu-harburg.d400.de)
Fix up for a new lib name scheme:
If $GNULIB is set, ld/sym-ld assume, that the compiler is
installed on TOS file system and they use TOS lib names (xxx.olb),
otherwise they use UNIX names (libxxx.a).
gcc 2.7.2 set option -n, when using -mbaserel. Then the linker load
bxxx.olb instead of xxx.olb
gcc 2.7.2 set new option -H, when using -mshort. Then the linker append
'16' to the lib name (xxx.olb -> xxx16.olb)
----------------------------- Patchlevel 39 --------------------------------
ld.c, sym-ld:: Christian Felsch (felsch@tu-harburg.d400.de)
Adapted for gcc 2.7.2.3.
The correct lib names (b for mbaserel, 16 for short ints) are now
generated by gcc!
Option -H removed.
version.c, *.c:: Christian Felsch (felsch@tu-harburg.d400.de)
Add option '-v' to all programs.
strings.c:: Christian Felsch (felsch@tu-harburg.d400.de)
New program.
sym-ld.c:: Christian Felsch (felsch@tu-harburg.d400.de)
Default output file named a.sym instead of a.out.
ld.c, sym-ld.c:: Christian Felsch (felsch@tu-harburg.d400.de)
Default lib paths changed from \\gnu.. to UNIX-defaults (/lib,
/usr/lib, /usr/local/lib)
----------------------------- Patchlevel 40 --------------------------------
ld.c,
sym-ld.c:
Now all lib names are genereated by the linker again (add option -H
for mshort). The linker now behaves like the linker of the gcc-2.7.2
package, it uses .a instead of .olb! If you set for example
'-mshort -lgem' to gcc, the linker will link automatically libgem16.a
instead of libgem.a!
Note: for the new linker you need gcc 2.8.1.c !
cnm.c:
Add BYTE_SWAP for little endian cross environments.
*.*
Various changes for cross environment.
----------------------------- Patchlevel 41 --------------------------------