Path: utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!ucsd!sdcsvax!ucsdhub!hp-sdd!hplabs!otter!hplb!anorman!ange From: ange@hplb.hpl.hp.com (Andy Norman) Newsgroups: gnu.emacs.bug Subject: Re: crt0.c problem on hpux 6.5 on hp9000s300 ... Message-ID: Date: 7 Jul 89 20:08:42 GMT References: <615713029.830000.TRANLE@INTELLICORP.COM> Sender: news@hplb.hpl.hp.com Distribution: gnu Organization: Hewlett-Packard Laboratories, Bristol, UK. Lines: 110 In-reply-to: TRANLE@INTELLICORP.COM's message of 6 Jul 89 08:23:49 GMT 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