cruff@NIWOT.UCAR.EDU (Craig Ruff) (03/25/89)
Version: 1.34
Input file: (t.c)
------------------
main() {
}
------------------
Command arguments:
gcc -a t.c
Machine files:
tm.h: tm-sun3-nfp.h
md: m68k.md
Machine:
Sun-3, SunOS 4.0.1
Description:
Produces incorrect assembler opcode for call to the function
block profiler '__bb_init_func' using the Sun assembler.
Opcode produced, 'call', should be 'jsr'.
Compiler output:
-----------------
#NO_APP
gcc_compiled.:
.text
.even
.globl _main
_main:
link a6,#0
tstl LPBX0
bne LPI0
pea LPBX0
call ___bb_init_func
addql #4,sp
LPI0:
L1:
unlk a6
rts
.data
.even
LPBX0:
.long 0
.long LPBX1
.long LPBX2
.long 0
.long 0
.long LPBX3
LPBX1:
.ascii "t.c\0"
LPBX2:
.skip 0
.text
LPBX3:
.long LPBX3
-----------------
Source fix context diff:
-----------------
*** tm-m68k.h Fri Mar 24 09:21:18 1989
--- tm-m68k.h.old Wed Mar 8 08:20:45 1989
***************
*** 632,638 ****
basic block profiling info, if that has not already been done. */
#define FUNCTION_BLOCK_PROFILER(FILE, LABELNO) \
! fprintf (FILE, "\ttstl LPBX0\n\tbne LPI%d\n\tpea LPBX0\n\tjsr ___bb_init_func\n\taddql #4,sp\nLPI%d:\n", \
LABELNO, LABELNO);
/* Output assembler code to FILE to increment the entry-count for
--- 632,638 ----
basic block profiling info, if that has not already been done. */
#define FUNCTION_BLOCK_PROFILER(FILE, LABELNO) \
! fprintf (FILE, "\ttstl LPBX0\n\tbne LPI%d\n\tpea LPBX0\n\tcall ___bb_init_func\n\taddql #4,sp\nLPI%d:\n", \
LABELNO, LABELNO);
/* Output assembler code to FILE to increment the entry-count for
-----------------
adamj%WEB.Berkeley.EDU@LILAC.BERKELEY.EDU (03/26/89)
cc1 is dumping core for the program I am going to send to you. This is GCC 1.34 compiled the normal way for a Sun 3/50. gcc -g -c bits.c gcc: Program cc1 got fatal signal 11. make: *** Error 1 In the next three messages, I'm mailing you bits.[ch], and utils.h. This should be enough to induce the segmentation fault. --Adam J. Richter adamj@widow.berkeley.edu