Path: utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!tut.cis.ohio-state.edu!HPLSLA.HP.COM!glenne From: glenne@HPLSLA.HP.COM (Glenn Engel) Newsgroups: gnu.gcc.bug Subject: patch for hp-ux 7.0 Message-ID: <8912020109.AA06222@labgre.HP.COM> Date: 2 Dec 89 01:09:46 GMT Sender: daemon@tut.cis.ohio-state.edu Distribution: gnu Organization: GNUs Not Usenet Lines: 69 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");