TRANLE@INTELLICORP.COM (Minh Tran-Le) (07/06/89)
Does anybody has a correct crt0.c for gnu emacs 18.54 on hp9000s300 running hpux 6.5 ? It seems that some of the library files use the variable "float_loc" which seem to be defined in the /lib/crt0.o given by hp. But that file cannot be used for gnu emacs. Tran-Le. Arpanet: tranle@intellicorp.com Uucp: ..sun!icmv!mtranle -------
ange@hplb.hpl.hp.com (Andy Norman) (07/08/89)
In article <615713029.830000.TRANLE@INTELLICORP.COM> Minh Tran-Le writes: > Does anybody has a correct crt0.c for gnu emacs 18.54 on hp9000s300 running > hpux 6.5 ? > It seems that some of the library files use the variable "float_loc" which seem > to be defined in the /lib/crt0.o given by hp. But that file cannot be used for > gnu emacs. Try this patch... *** oldcrt0.c Wed Aug 31 07:48:46 1988 --- crt0.c Fri Jul 7 14:52:09 1989 *************** *** 444,450 put an underscore character in its name otherwise. */ #else /* new hp assembler */ ! asm(" text"); asm(" global __start"); asm(" global _exit"); --- 444,450 ----- put an underscore character in its name otherwise. */ #else /* new hp assembler */ ! #pragma OPT_LEVEL 1 asm(" text"); asm(" global fpa_loc"); asm(" set fpa_loc,0xfff08000"); *************** *** 446,451 #else /* new hp assembler */ asm(" text"); asm(" global __start"); asm(" global _exit"); asm(" global _main"); --- 446,453 ----- #else /* new hp assembler */ #pragma OPT_LEVEL 1 asm(" text"); + asm(" global fpa_loc"); + asm(" set fpa_loc,0xfff08000"); asm(" global __start"); asm(" global _exit"); asm(" global _main"); *************** *** 459,464 asm(" fmov.l &0x7480,%fpcr"); #endif /* HPUX_68010 */ asm("skip_float:"); asm(" subx.w %d1,%d1"); asm(" mov.w %d1,flag_68010"); asm(" mov.l 4(%a7),%d0"); --- 461,468 ----- asm(" fmov.l &0x7480,%fpcr"); #endif /* HPUX_68010 */ asm("skip_float:"); + asm(" mov.l %a0,%d0"); + asm(" add.l %d0,%d0"); asm(" subx.w %d1,%d1"); asm(" mov.w %d1,flag_68010"); asm(" add.l %d0,%d0"); *************** *** 461,466 asm("skip_float:"); asm(" subx.w %d1,%d1"); asm(" mov.w %d1,flag_68010"); asm(" mov.l 4(%a7),%d0"); asm(" beq.b skip_1"); asm(" mov.l %d0,%a0"); --- 465,473 ----- asm(" add.l %d0,%d0"); asm(" subx.w %d1,%d1"); asm(" mov.w %d1,flag_68010"); + asm(" add.l %d0,%d0"); + asm(" subx.w %d1,%d1"); + asm(" mov.w %d1,flag_fpa"); asm(" mov.l 4(%a7),%d0"); asm(" beq.b skip_1"); asm(" mov.l %d0,%a0"); *************** *** 492,498 asm(" comm float_soft, 4"); asm(" comm flag_68881, 4"); asm(" comm flag_68010, 4"); ! #endif /* new hp assembler */ #endif /* hp9000s300 */ --- 499,506 ----- asm(" comm float_soft, 4"); asm(" comm flag_68881, 4"); asm(" comm flag_68010, 4"); ! asm(" comm flag_fpa, 4"); ! asm(" comm float_loc, 4"); /* Added for 6.5 */ #endif /* new hp assembler */ #endif /* hp9000s300 */ -- -- ange -- ange@hplb.hpl.hp.com