glenne@HPLSLA.HP.COM (Glenn Engel) (12/02/89)
I found the following patches necessary for hp-ux 7.0 on the 9000/300.
The first patch involves setting cpp pre-defines and the second involves
the loader. ld needs to set __edata,__etext, and __end instead of
_edata, _etext, and _end.
Glenn
*** config/tm-hp9k320.h.orig Mon Nov 27 11:10:22 1989
--- config/tm-hp9k320.h Thu Nov 30 20:45:51 1989
***************
*** 101,107
/* These are the ones defined by HPUX cc, plus mc68000 for uniformity with
GCC on other 68000 systems. */
! #define CPP_PREDEFINES "-Dhp9000s200 -Dhp9000s300 -DPWB -Dhpux -Dunix"
/* Every structure or union's size must be a multiple of 2 bytes. */
--- 101,107 -----
/* These are the ones defined by HPUX cc, plus mc68000 for uniformity with
GCC on other 68000 systems. */
! #define CPP_PREDEFINES "-Dhp9000s200 -Dhp9000s300 -DPWB -Dhpux -Dunix -D__hp9000s300 -D_HPUX_SOURCE"
/* Every structure or union's size must be a multiple of 2 bytes. */
*** ld.c.orig Fri Dec 1 06:37:31 1989
--- ld.c Fri Dec 1 16:48:09 1989
***************
*** 4375,4380
symtab_init ()
{
#ifndef nounderscore
edata_symbol = getsym ("_edata");
etext_symbol = getsym ("_etext");
end_symbol = getsym ("_end");
--- 4375,4385 -----
symtab_init ()
{
#ifndef nounderscore
+ # ifdef doubleunderscore
+ edata_symbol = getsym ("__edata");
+ etext_symbol = getsym ("__etext");
+ end_symbol = getsym ("__end");
+ # else
edata_symbol = getsym ("_edata");
etext_symbol = getsym ("_etext");
end_symbol = getsym ("_end");
***************
*** 4378,4383
edata_symbol = getsym ("_edata");
etext_symbol = getsym ("_etext");
end_symbol = getsym ("_end");
#else
edata_symbol = getsym ("edata");
etext_symbol = getsym ("etext");
--- 4383,4389 -----
edata_symbol = getsym ("_edata");
etext_symbol = getsym ("_etext");
end_symbol = getsym ("_end");
+ # endif
#else
edata_symbol = getsym ("edata");
etext_symbol = getsym ("etext");