🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

1 total messages Started by James Clark Wed, 14 Jun 1989 22:07
gas-1.34/sparc
#79
Author: James Clark
Date: Wed, 14 Jun 1989 22:07
612 lines
11394 bytes
When I use gas 1.34/sparc to assemble a g++ program, I get many error
messages from ld++ saying that i0, i1, i2 and other register names are
undefined.

If the following file is assembled with gas, nm will list

         U i0
         U i1
         U i2
         U i3
         U i4
         U o0
         U o1
         U o2

When assembled with /bin/as, nm does not list these symbols.

James Clark
jjc@jclark.uucp


gcc_compiled.:
.text
	.align 4
	.proc 1
_peek_PSchar_list_iterator:
	!#PROLOGUE# 0
	save %sp,-112,%sp
	!#PROLOGUE# 1
	mov %i0,%o1
	ld [%o1],%o0
	tst %o0
	bne L43
	nop
	b L42
	mov -1,%i0
L43:
	ldsh [%o1+4],%o3
	ld [%o1],%o2
	ld [%o2+4],%o0
	cmp %o3,%o0
	bge L45
	nop
	add %o2,%o3,%o0
	b L42
	ldub [%o0+8],%i0
L45:
	ld [%o1],%o0
	ld [%o0],%o4
	st %o4,[%o1]
	sth %g0,[%o1+4]
	call _peek_PSchar_list_iterator,0
	mov %o1,%o0
	mov %o0,%i0
L42:
	ret
	restore
	.align 4
	.proc 1
_next_PSchar_list_iterator:
	!#PROLOGUE# 0
	save %sp,-112,%sp
	!#PROLOGUE# 1
	mov %i0,%o2
	ld [%o2],%o0
	tst %o0
	bne L53
	nop
	b L52
	mov -1,%i0
L53:
	ldsh [%o2+4],%o0
	ld [%o2],%o3
	ld [%o3+4],%o1
	cmp %o0,%o1
	bge L55
	nop
	add %o2,4,%o0
	ldsh [%o0],%o1
	ldsh [%o0],%o2
	add %o2,1,%o2
	sth %o2,[%o0]
	sll %o1,0x10,%o1
	sra %o1,0x10,%o1
	add %o3,%o1,%o1
	b L52
	ldub [%o1+8],%i0
L55:
	ld [%o2],%o0
	ld [%o0],%o4
	st %o4,[%o2]
	sth %g0,[%o2+4]
	call _next_PSchar_list_iterator,0
	mov %o2,%o0
	mov %o0,%i0
L52:
	ret
	restore
	.align 4
	.proc 1
_is_dummy_PSnode:
	!#PROLOGUE# 0
	save %sp,-112,%sp
	!#PROLOGUE# 1
	mov 0,%i0
	ret
	restore
	.align 4
	.proc 1
_copy_PSline_start_node:
	!#PROLOGUE# 0
	save %sp,-120,%sp
	!#PROLOGUE# 1
	mov %i0,%l0
	call _line_start_node_PSline_start_node,0
	mov 0,%o0
	ld [%o0+4],%o4
	st %o4,[%fp-20]
	mov %o0,%o2
	ld [%l0+4],%g1
	st %g1,[%o2+4]
	ld [%l0+0],%g1
	st %g1,[%o2+0]
	ld [%fp-20],%o4
	st %o4,[%o0+4]
	mov %o0,%i0
	ret
	restore
LC0:
	.ascii "<line start>\0"
	.align 4
	.proc 1
_print_PSline_start_node:
	!#PROLOGUE# 0
	save %sp,-112,%sp
	!#PROLOGUE# 1
	sethi %hi(__iob),%o0
	or %lo(__iob),%o0,%o0
	add %o0,40,%o0
	sethi %hi(LC0),%o1
	call _fprintf,0
	or %o1,%lo(LC0),%o1
	ret
	restore
	.align 4
	.proc 1
_line_start_node_PSline_start_node:
	!#PROLOGUE# 0
	save %sp,-112,%sp
	!#PROLOGUE# 1
	orcc %i0,%g0,%o0 ! 2-insn combine
	bne L80
	nop
	call ___builtin_new,0
	mov 8,%o0
L80:
	call _node_PSnode_PSnode,0
	mov 0,%o1
	sethi %hi(__vt$line_start_node),%o2
	or %lo(__vt$line_start_node),%o2,%o2
	st %o2,[%o0+4]
	mov %o0,%i0
	ret
	restore
	.align 4
.global _spline_node_PSspline_node_PDF_SI_DF
	.proc 1
_spline_node_PSspline_node_PDF_SI_DF:
	!#PROLOGUE# 0
	save %sp,-112,%sp
	!#PROLOGUE# 1
	mov %i0,%l0
	mov %i1,%l2
	mov %i2,%l1
	mov %i3,%l4
	mov %i4,%l5
	tst %l0
	bne L92
	nop
	call ___builtin_new,0
	mov 24,%o0
	mov %o0,%l0
L92:
	mov %l0,%o0
	call _node_PSnode_PSnode,0
	mov 0,%o1
	mov %o0,%l0
	sethi %hi(__vt$spline_node),%o3
	or %lo(__vt$spline_node),%o3,%o3
	st %o3,[%l0+4]
	st %l1,[%l0+20]
	st %l4,[%l0+8]
	st %l5,[%l0+12]
	call ___builtin_new,0
	sll %l1,4,%o0
	st %o0,[%l0+16]
	mov %l2,%o1
	call _memcpy,0
	sll %l1,4,%o2
	mov %l0,%i0
	ret
	restore
	.align 4
.global __$_spline_node
	.proc 1
__$_spline_node:
	!#PROLOGUE# 0
	save %sp,-112,%sp
	!#PROLOGUE# 1
	orcc %i0,%g0,%l0 ! 3-insn reorder
	be L95
	mov %i1,%l1
	call ___builtin_delete,0
	ld [%l0+16],%o0
	sethi %hi(__vt$node),%o2
	or %lo(__vt$node),%o2,%o2
	st %o2,[%l0+4]
	mov %l0,%o0
	call __$_node,0
	mov %l1,%o1
L95:
	ret
	restore
.global _dfont$next_dfontno
.common _dfont$next_dfontno,8,"bss"
.global _font_size$next_size
.common _font_size$next_size,8,"bss"
.global _font_size$table
.common _font_size$table,8192,"bss"
.global _symbol$block_size
.common _symbol$block_size,8,"bss"
.global _symbol$block
.common _symbol$block,8,"bss"
.global _symbol$table_size
.common _symbol$table_size,8,"bss"
.global _symbol$table_used
.common _symbol$table_used,8,"bss"
.global _symbol$table
.common _symbol$table,8,"bss"
.data
	.align 8
__vt$spline_node:
	.half 0
	.half 0
	.word 0
	.half 0
	.half 0
	.word __$_spline_node
	.half 0
	.half 0
	.word _copy_PSspline_node
	.half 0
	.half 0
	.word _width_PSspline_node
	.half 0
	.half 0
	.word _space_width_PSnode
	.half 0
	.half 0
	.word _vertical_width_PSspline_node
	.half 0
	.half 0
	.word _prev_char_width_PSnode
	.half 0
	.half 0
	.word _character_type_PSnode
	.half 0
	.half 0
	.word _set_vertical_size_PSnode_PSvertical_size
	.half 0
	.half 0
	.word _print_PSspline_node
	.half 0
	.half 0
	.word _is_dummy_PSnode
	.half 0
	.half 0
	.word _ends_sentence_PSnode
	.half 0
	.half 0
	.word _merge_glyph_node_PSnode_PSglyph_node
	.half 0
	.half 0
	.word _add_discretionary_hyphen_PSnode
	.half 0
	.half 0
	.word _add_self_PSnode_PSnode_PPShyphen_list
	.half 0
	.half 0
	.word _get_hyphen_list_PSnode_PShyphen_list
	.half 0
	.half 0
	.word _typeset_PSspline_node_PStypeset_output_file
	.half 0
	.half 0
	.word _zero_width_typeset_PSnode_PStypeset_output_file
	.half 0
	.half 0
	.word _ascii_print_PSnode_PSascii_output_file
	.half 0
	.half 0
	.word _discardable_PSnode
	.half 0
	.half 0
	.word _set_space_factor_PSnode_DF
	.half 0
	.half 0
	.word _get_breakpoints_PSnode_DF_DF_PSbreakpoint_SI
	.half 0
	.half 0
	.word _nbreaks_PSnode
	.half 0
	.half 0
	.word _split_PSnode_SI_PPSnode_PPSnode
	.half 0
	.half 0
	.word _get_hyphenation_type_PSnode
	.half 0
	.half 0
	.word _get_diverted_space_node_PSnode
	.half 0
	.half 0
	.word _overlaps_vertically_PSnode
	.half 0
	.half 0
	.word _overlaps_horizontally_PSnode
	.half 0
	.half 0
	.word _size_PSnode
	.half 0
	.half 0
	.word _transparent_char_PSnode
	.align 8
__vt$space_node:
	.half 0
	.half 0
	.word 0
	.half 0
	.half 0
	.word __$_node
	.half 0
	.half 0
	.word _copy_PSspace_node
	.half 0
	.half 0
	.word _width_PSspace_node
	.half 0
	.half 0
	.word _space_width_PSspace_node
	.half 0
	.half 0
	.word _vertical_width_PSnode
	.half 0
	.half 0
	.word _prev_char_width_PSnode
	.half 0
	.half 0
	.word _character_type_PSnode
	.half 0
	.half 0
	.word _set_vertical_size_PSnode_PSvertical_size
	.half 0
	.half 0
	.word _print_PSspace_node
	.half 0
	.half 0
	.word _is_dummy_PSnode
	.half 0
	.half 0
	.word _ends_sentence_PSnode
	.half 0
	.half 0
	.word _merge_glyph_node_PSnode_PSglyph_node
	.half 0
	.half 0
	.word _add_discretionary_hyphen_PSnode
	.half 0
	.half 0
	.word _add_self_PSnode_PSnode_PPShyphen_list
	.half 0
	.half 0
	.word _get_hyphen_list_PSnode_PShyphen_list
	.half 0
	.half 0
	.word _typeset_PSspace_node_PStypeset_output_file
	.half 0
	.half 0
	.word _zero_width_typeset_PSnode_PStypeset_output_file
	.half 0
	.half 0
	.word _ascii_print_PSspace_node_PSascii_output_file
	.half 0
	.half 0
	.word _discardable_PSspace_node
	.half 0
	.half 0
	.word _set_space_factor_PSspace_node_DF
	.half 0
	.half 0
	.word _get_breakpoints_PSspace_node_DF_DF_PSbreakpoint_SI
	.half 0
	.half 0
	.word _nbreaks_PSspace_node
	.half 0
	.half 0
	.word _split_PSspace_node_SI_PPSnode_PPSnode
	.half 0
	.half 0
	.word _get_hyphenation_type_PSnode
	.half 0
	.half 0
	.word _get_diverted_space_node_PSnode
	.half 0
	.half 0
	.word _overlaps_vertically_PSnode
	.half 0
	.half 0
	.word _overlaps_horizontally_PSnode
	.half 0
	.half 0
	.word _size_PSnode
	.half 0
	.half 0
	.word _transparent_char_PSnode
	.align 8
__vt$line_start_node:
	.half 0
	.half 0
	.word 0
	.half 0
	.half 0
	.word __$_node
	.half 0
	.half 0
	.word _copy_PSline_start_node
	.half 0
	.half 0
	.word _width_PSnode
	.half 0
	.half 0
	.word _space_width_PSnode
	.half 0
	.half 0
	.word _vertical_width_PSnode
	.half 0
	.half 0
	.word _prev_char_width_PSnode
	.half 0
	.half 0
	.word _character_type_PSnode
	.half 0
	.half 0
	.word _set_vertical_size_PSnode_PSvertical_size
	.half 0
	.half 0
	.word _print_PSline_start_node
	.half 0
	.half 0
	.word _is_dummy_PSnode
	.half 0
	.half 0
	.word _ends_sentence_PSnode
	.half 0
	.half 0
	.word _merge_glyph_node_PSnode_PSglyph_node
	.half 0
	.half 0
	.word _add_discretionary_hyphen_PSnode
	.half 0
	.half 0
	.word _add_self_PSnode_PSnode_PPShyphen_list
	.half 0
	.half 0
	.word _get_hyphen_list_PSnode_PShyphen_list
	.half 0
	.half 0
	.word _typeset_PSnode_PStypeset_output_file
	.half 0
	.half 0
	.word _zero_width_typeset_PSnode_PStypeset_output_file
	.half 0
	.half 0
	.word _ascii_print_PSnode_PSascii_output_file
	.half 0
	.half 0
	.word _discardable_PSnode
	.half 0
	.half 0
	.word _set_space_factor_PSnode_DF
	.half 0
	.half 0
	.word _get_breakpoints_PSnode_DF_DF_PSbreakpoint_SI
	.half 0
	.half 0
	.word _nbreaks_PSnode
	.half 0
	.half 0
	.word _split_PSnode_SI_PPSnode_PPSnode
	.half 0
	.half 0
	.word _get_hyphenation_type_PSnode
	.half 0
	.half 0
	.word _get_diverted_space_node_PSnode
	.half 0
	.half 0
	.word _overlaps_vertically_PSnode
	.half 0
	.half 0
	.word _overlaps_horizontally_PSnode
	.half 0
	.half 0
	.word _size_PSnode
	.half 0
	.half 0
	.word _transparent_char_PSnode
	.align 8
__vt$node:
	.half 0
	.half 0
	.word 0
	.half 0
	.half 0
	.word __$_node
	.half 0
	.half 0
	.word _abort
	.half 0
	.half 0
	.word _width_PSnode
	.half 0
	.half 0
	.word _space_width_PSnode
	.half 0
	.half 0
	.word _vertical_width_PSnode
	.half 0
	.half 0
	.word _prev_char_width_PSnode
	.half 0
	.half 0
	.word _character_type_PSnode
	.half 0
	.half 0
	.word _set_vertical_size_PSnode_PSvertical_size
	.half 0
	.half 0
	.word _print_PSnode
	.half 0
	.half 0
	.word _is_dummy_PSnode
	.half 0
	.half 0
	.word _ends_sentence_PSnode
	.half 0
	.half 0
	.word _merge_glyph_node_PSnode_PSglyph_node
	.half 0
	.half 0
	.word _add_discretionary_hyphen_PSnode
	.half 0
	.half 0
	.word _add_self_PSnode_PSnode_PPShyphen_list
	.half 0
	.half 0
	.word _get_hyphen_list_PSnode_PShyphen_list
	.half 0
	.half 0
	.word _typeset_PSnode_PStypeset_output_file
	.half 0
	.half 0
	.word _zero_width_typeset_PSnode_PStypeset_output_file
	.half 0
	.half 0
	.word _ascii_print_PSnode_PSascii_output_file
	.half 0
	.half 0
	.word _discardable_PSnode
	.half 0
	.half 0
	.word _set_space_factor_PSnode_DF
	.half 0
	.half 0
	.word _get_breakpoints_PSnode_DF_DF_PSbreakpoint_SI
	.half 0
	.half 0
	.word _nbreaks_PSnode
	.half 0
	.half 0
	.word _split_PSnode_SI_PPSnode_PPSnode
	.half 0
	.half 0
	.word _get_hyphenation_type_PSnode
	.half 0
	.half 0
	.word _get_diverted_space_node_PSnode
	.half 0
	.half 0
	.word _overlaps_vertically_PSnode
	.half 0
	.half 0
	.word _overlaps_horizontally_PSnode
	.half 0
	.half 0
	.word _size_PSnode
	.half 0
	.half 0
	.word _transparent_char_PSnode
.global _sys_nerr
.common _sys_nerr,8,"bss"
.global _errno
.common _errno,8,"bss"
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads