This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: latest snapshot fails to build libobjc.so on Solaris


On Tue, Nov 21, 2000 at 05:19:29PM -0200, Alexandre Oliva wrote:

> What does the assembly code look like?  Particularly, the code just
> around the reference to the symbol, and the section in which it is
> stored.

The attachment is the sparc assembly output for linking.m -- two of
the bad symbols are in this file:

__objc_class_name_Object and __objc_class_name_NXConstantString.
	.file	"linking.m"
	.stabs	"/remote/dtg103/jbuck/gnu/src/cvs/gcc-racerx/sparc-sun-solaris2.5.1/libobjc/",100,0,0,.LLtext0
	.stabs	"../../../gcc/libobjc/linking.m",100,0,0,.LLtext0
	.section	".text"
.LLtext0:
	.stabs	"gcc2_compiled.", 0x3c, 0, 0, 0
	.stabs	"int:t(0,1)=r(0,1);-2147483648;2147483647;",128,0,0,0
	.stabs	"char:t(0,2)=r(0,2);0;127;",128,0,0,0
	.stabs	"long int:t(0,3)=r(0,3);-2147483648;2147483647;",128,0,0,0
	.stabs	"unsigned int:t(0,4)=r(0,4);0000000000000;0037777777777;",128,0,0,0
	.stabs	"long unsigned int:t(0,5)=r(0,5);0000000000000;0037777777777;",128,0,0,0
	.stabs	"long long int:t(0,6)=@s64;r(0,6);01000000000000000000000;0777777777777777777777;",128,0,0,0
	.stabs	"long long unsigned int:t(0,7)=@s64;r(0,7);0000000000000;01777777777777777777777;",128,0,0,0
	.stabs	"short int:t(0,8)=@s16;r(0,8);-32768;32767;",128,0,0,0
	.stabs	"short unsigned int:t(0,9)=@s16;r(0,9);0;65535;",128,0,0,0
	.stabs	"signed char:t(0,10)=@s8;r(0,10);-128;127;",128,0,0,0
	.stabs	"unsigned char:t(0,11)=@s8;r(0,11);0;255;",128,0,0,0
	.stabs	"float:t(0,12)=r(0,1);4;0;",128,0,0,0
	.stabs	"double:t(0,13)=r(0,1);8;0;",128,0,0,0
	.stabs	"long double:t(0,14)=r(0,1);16;0;",128,0,0,0
	.stabs	"complex int:t(0,15)=s8real:(0,1),0,32;imag:(0,1),32,32;;",128,0,0,0
	.stabs	"complex float:t(0,16)=r(0,16);8;0;",128,0,0,0
	.stabs	"complex double:t(0,17)=r(0,17);16;0;",128,0,0,0
	.stabs	"complex long double:t(0,18)=r(0,18);32;0;",128,0,0,0
	.stabs	"_Bool:t(0,19)=@s8;-16;",128,0,0,0
	.stabs	"__builtin_va_list:t(0,20)=*(0,21)=(0,21)",128,0,0,0
	.stabs	"../../../gcc/libobjc/objc/Object.h",130,0,0,0
	.stabs	"../../../gcc/libobjc/objc/objc.h",130,0,0,0
	.stabs	"/u/jbuck/gnu/src/cvs/gcc-racerx/gcc/include/stddef.h",130,0,0,0
	.stabs	"ptrdiff_t:t(3,1)=(0,1)",128,0,147,0
	.stabs	"size_t:t(3,2)=(0,4)",128,0,199,0
	.stabs	"wchar_t:t(3,3)=(0,3)",128,0,287,0
	.stabn	162,0,0,0
	.stabs	"BOOL:t(2,1)=(0,11)",128,0,42,0
	.stabs	"objc_selector:T(2,2)=s8sel_id:(2,3)=*(0,21),0,32;sel_types:(2,4)=*(0,2),32,32;;",128,0,0,0
	.stabs	"SEL:t(2,5)=(2,6)=*(2,2)",128,0,55,0
	.stabs	"objc_object:T(2,7)=s4class_pointer:(2,8)=*(2,9)=xsobjc_class:,0,32;;",128,0,0,0
	.stabs	"id:t(2,10)=(2,11)=*(2,7)",128,0,72,0
	.stabs	"IMP:t(2,12)=(2,13)=*(2,14)=f(2,10)",128,0,78,0
	.stabs	"STR:t(2,15)=(2,16)=*(0,2)",128,0,85,0
	.stabs	"MetaClass:t(2,17)=(2,8)",128,0,97,0
	.stabs	"Class:t(2,18)=(2,8)",128,0,98,0
	.stabs	"objc_class:T(2,9)=s52class_pointer:(2,17),0,32;super_class:(2,8),32,32;name:(2,4),64,32;version:(0,3),96,32;info:(0,5),128,32;instance_size:(0,3),160,32;ivars:(2,19)=*(2,20)=xsobjc_ivar_list:,192,32;methods:(2,21)=*(2,22)=xsobjc_method_list:,224,32;dtable:(2,23)=*(2,24)=xssarray:,256,32;subclass_list:(2,8),288,32;sibling_class:(2,8),320,32;protocols:(2,25)=*(2,26)=xsobjc_protocol_list:,352,32;gc_object_type:(2,3),384,32;;",128,0,0,0
	.stabs	"retval_t:t(2,27)=(2,3)",128,0,144,0
	.stabs	"apply_t:t(2,28)=(2,29)=*(2,30)=f(0,21)",128,0,145,0
	.stabs	"arglist_t:t(2,31)=(2,32)=*(2,33)=u4arg_ptr:(2,16),0,32;arg_regs:(2,34)=ar(2,35)=r(2,35);0000000000000;0037777777777;;0;3;(0,2),0,32;;",128,0,149,0
	.stabn	162,0,0,0
	.stabs	"../../../gcc/libobjc/objc/typedstream.h",130,0,0,0
	.stabs	"../../../gcc/libobjc/objc/hash.h",130,0,0,0
	.stabs	"/u/jbuck/gnu/src/cvs/gcc-racerx/gcc/include/stddef.h",130,0,0,0
	.stabn	162,0,0,0
	.stabs	"/usr/include/string.h",130,0,0,0
	.stabs	"/usr/include/sys/feature_tests.h",130,0,0,0
	.stabn	162,0,0,0
	.stabn	162,0,0,0
	.stabs	"cache_node:T(5,1)=s12next:(5,2)=*(5,1),0,32;key:(5,3)=*(0,21),32,32;value:(2,3),64,32;;",128,0,0,0
	.stabs	"node_ptr:t(5,4)=(5,2)",128,0,51,0
	.stabs	"hash_func_type:t(5,5)=(5,6)=*(5,7)=f(0,4)",128,0,63,0
	.stabs	"compare_func_type:t(5,8)=(5,9)=*(5,10)=f(0,1)",128,0,72,0
	.stabs	"cache:T(5,11)=s28node_table:(5,12)=*(5,4),0,32;size:(0,4),32,32;used:(0,4),64,32;mask:(0,4),96,32;last_bucket:(0,4),128,32;hash_func:(5,5),160,32;compare_func:(5,8),192,32;;",128,0,0,0
	.stabs	"cache_ptr:t(5,13)=(5,14)=*(5,11)",128,0,102,0
	.stabn	162,0,0,0
	.stabs	"/u/jbuck/gnu/src/cvs/gcc-racerx/gcc/include/stdio.h",130,0,0,0
	.stabs	"/u/jbuck/gnu/src/cvs/gcc-racerx/gcc/include/stdarg.h",130,0,0,0
	.stabs	"__gnuc_va_list:t(10,1)=(0,20)",128,0,43,0
	.stabn	162,0,0,0
	.stabs	"/usr/include/sys/va_list.h",130,0,0,0
	.stabs	"__va_list:t(11,1)=(2,3)",128,0,44,0
	.stabn	162,0,0,0
	.stabs	"fpos_t:t(9,1)=(0,3)",128,0,43,0
	.stabs	"FILE:t(9,2)=(9,3)=s16_cnt:(0,1),0,32;_ptr:(9,4)=*(0,11),32,32;_base:(9,4),64,32;_flag:(0,11),96,8;_file:(0,11),104,8;;",128,0,154,0
	.stabn	162,0,0,0
	.stabs	"objc_typed_read_func:t(4,1)=(4,2)=*(4,3)=f(0,1)",128,0,34,0
	.stabs	"objc_typed_write_func:t(4,4)=(4,5)=*(4,6)=f(0,1)",128,0,35,0
	.stabs	"objc_typed_flush_func:t(4,7)=(4,8)=*(4,9)=f(0,1)",128,0,36,0
	.stabs	"objc_typed_eof_func:t(4,10)=(4,8)",128,0,37,0
	.stabs	"objc_typed_stream:T(4,11)=s52physical:(2,3),0,32;object_table:(5,13),32,32;stream_table:(5,13),64,32;class_table:(5,13),96,32;object_refs:(5,13),128,32;mode:(0,1),160,32;type:(0,1),192,32;version:(0,1),224,32;writing_root_p:(0,1),256,32;read:(4,1),288,32;write:(4,4),320,32;eof:(4,10),352,32;flush:(4,7),384,32;;",128,0,0,0
	.stabs	"TypedStream:t(4,12)=(4,11)",128,0,62,0
	.stabn	162,0,0,0
	.stabs	"Object:T(1,1)=s4isa:/1(2,18),0,32;;",128,0,0,0
	.stabn	162,0,0,0
	.stabs	"../../../gcc/libobjc/objc/NXConstStr.h",130,0,0,0
	.stabs	"NXConstantString:T(12,1)=s12isa:/1(2,18),0,32;c_string:/1(2,16),32,32;len:/1(0,4),64,32;;",128,0,0,0
	.stabn	162,0,0,0
	.align 4
.LLGETPC0:
	retl
	add %o7,%l7,%l7
	.section	".rodata"
	.align 8
.LLC0:
	.asciz	"Object"
	.align 8
.LLC1:
	.asciz	"NXConstantString"
	.section	".text"
	.align 4
	.stabs	"__objc_linking:F(0,21)",36,0,36,__objc_linking
	.global __objc_linking
	.type	__objc_linking,#function
	.proc	020
__objc_linking:
	.stabn 68,0,39,.LLM1-__objc_linking
.LLM1:
	!#PROLOGUE# 0
	save	%sp, -112, %sp
	.stabn 68,0,37,.LLM2-__objc_linking
.LLM2:
	sethi	%hi(.LLC0), %o1
	.stabn 68,0,39,.LLM3-__objc_linking
.LLM3:
	sethi	%hi(_GLOBAL_OFFSET_TABLE_-4), %l7
	call	.LLGETPC0
	add	%l7, %lo(_GLOBAL_OFFSET_TABLE_+4), %l7
	.stabn 68,0,37,.LLM4-__objc_linking
.LLM4:
	or	%o1, %lo(.LLC0), %o1
	.stabn 68,0,39,.LLM5-__objc_linking
.LLM5:
	.stabn 68,0,37,.LLM6-__objc_linking
.LLM6:
	call	objc_get_class, 0
	ld	[%l7+%o1], %o0
	sethi	%hi(_OBJC_SELECTOR_TABLE), %o1
	or	%o1, %lo(_OBJC_SELECTOR_TABLE), %o1
	ld	[%l7+%o1], %l0
	mov	%o0, %l1
	call	objc_msg_lookup, 0
	mov	%l0, %o1
	mov	%o0, %o2
	mov	%l1, %o0
	call	%o2, 0
	mov	%l0, %o1
	.stabn 68,0,38,.LLM7-__objc_linking
.LLM7:
	sethi	%hi(.LLC1), %o1
	or	%o1, %lo(.LLC1), %o1
	call	objc_get_class, 0
	ld	[%l7+%o1], %o0
	mov	%o0, %l1
	call	objc_msg_lookup, 0
	add	%l0, 8, %o1
	mov	%o0, %o2
	mov	%l1, %o0
	call	%o2, 0
	add	%l0, 8, %o1
	ret
	restore
.LLfe1:
	.size	__objc_linking,.LLfe1-__objc_linking
.LLscope0:
	.stabs	"",36,0,0,.LLscope0-__objc_linking
	.stabs	"_objc_category:T(0,22)=s20category_name:(2,16),0,32;class_name:(2,16),32,32;instance_methods:(0,23)=*(0,24)=xs_objc_method_list:,64,32;class_methods:(0,23),96,32;protocol_list:(0,25)=*(0,26)=*(0,27)=xs_objc_protocol:,128,32;;",128,0,0,0
	.stabs	"_objc_symtab:T(0,28)=s16sel_ref_cnt:(0,3),0,32;refs:(0,29)=*(0,30)=*(2,2),32,32;cls_def_cnt:(0,8),64,16;cat_def_cnt:(0,8),80,16;defs:(0,31)=ar(2,35);0;0;(2,3),96,32;;",128,0,0,0
	.section	".data"
	.align 4
	.type	_OBJC_SYMBOLS,#object
	.size	_OBJC_SYMBOLS,16
_OBJC_SYMBOLS:
	.uaword	0
	.uaword	_OBJC_SELECTOR_TABLE
	.uahalf	0
	.uahalf	0
	.skip 4
	.stabs	"_OBJC_SELECTOR_TABLE:S(0,32)=ar(2,35);0;2;(0,33)=xs_objc_selector:",38,0,0,_OBJC_SELECTOR_TABLE
	.align 4
	.type	_OBJC_SELECTOR_TABLE,#object
	.size	_OBJC_SELECTOR_TABLE,24
_OBJC_SELECTOR_TABLE:
	.uaword	_OBJC_METH_VAR_NAME_0
	.uaword	_OBJC_METH_VAR_TYPE_0
	.uaword	_OBJC_METH_VAR_NAME_0
	.uaword	_OBJC_METH_VAR_TYPE_0
	.uaword	0
	.uaword	0
	.stabs	"_objc_module:T(0,34)=s16version:(0,3),0,32;size:(0,3),32,32;name:(2,16),64,32;symtab:(0,35)=*(0,28),96,32;;",128,0,0,0
	.align 4
	.type	_OBJC_MODULES,#object
	.size	_OBJC_MODULES,16
_OBJC_MODULES:
	.uaword	8
	.uaword	16
	.uaword	_OBJC_CLASS_NAME_0
	.uaword	_OBJC_SYMBOLS
	.section	".text"
	.align 4
	.stabs	"_GLOBAL_.I.__objc_linking:F(0,21)",36,0,41,_GLOBAL_.I.__objc_linking
	.global _GLOBAL_.I.__objc_linking
	.type	_GLOBAL_.I.__objc_linking,#function
	.proc	020
_GLOBAL_.I.__objc_linking:
	.stabn 68,0,41,.LLM8-_GLOBAL_.I.__objc_linking
.LLM8:
	!#PROLOGUE# 0
	save	%sp, -112, %sp
	sethi	%hi(_OBJC_MODULES), %i1
	sethi	%hi(_GLOBAL_OFFSET_TABLE_-4), %l7
	call	.LLGETPC0
	add	%l7, %lo(_GLOBAL_OFFSET_TABLE_+4), %l7
	or	%i1, %lo(_OBJC_MODULES), %i1
	ld	[%l7+%i1], %i0
	call	__objc_exec_class, 0
	 restore
.LLfe2:
	.size	_GLOBAL_.I.__objc_linking,.LLfe2-_GLOBAL_.I.__objc_linking
.LLscope1:
	.stabs	"",36,0,0,.LLscope1-_GLOBAL_.I.__objc_linking
	.section	".ctors",#alloc,#write
	.long	_GLOBAL_.I.__objc_linking
	.section	".rodata"
	.align 4
	.uaword	__objc_class_name_Object
	.align 4
	.uaword	__objc_class_name_NXConstantString
	.stabs	"_OBJC_CLASS_NAME_0:S(0,36)=ar(2,35);0;30;(0,2)",38,0,41,_OBJC_CLASS_NAME_0
	.align 8
	.type	_OBJC_CLASS_NAME_0,#object
	.size	_OBJC_CLASS_NAME_0,31
_OBJC_CLASS_NAME_0:
	.asciz	"../../../gcc/libobjc/linking.m"
	.stabs	"_OBJC_METH_VAR_NAME_0:S(0,37)=ar(2,35);0;4;(0,2)",38,0,41,_OBJC_METH_VAR_NAME_0
	.align 8
	.type	_OBJC_METH_VAR_NAME_0,#object
	.size	_OBJC_METH_VAR_NAME_0,5
_OBJC_METH_VAR_NAME_0:
	.asciz	"name"
	.stabs	"_OBJC_METH_VAR_TYPE_0:S(0,38)=ar(2,35);0;10;(0,2)",38,0,41,_OBJC_METH_VAR_TYPE_0
	.align 8
	.type	_OBJC_METH_VAR_TYPE_0,#object
	.size	_OBJC_METH_VAR_TYPE_0,11
_OBJC_METH_VAR_TYPE_0:
	.asciz	"r*0@+8:+12"
	.text
	.stabs "",100,0,0,Letext
Letext:
	.ident	"GCC: (GNU) 2.97 20001120 (experimental)"

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]