Solaris2 fails libobjc (as: location counter not on doubleword boundary)
Kaveh R. Ghazi
ghazi@caip.rutgers.edu
Mon Nov 19 20:21:00 GMT 2001
I'm getting this failure when building libobjc on sparc-sun-solaris2.7:
> /teal/caip5/ghazi/gcc-testing/build/gcc/xgcc
> -B/teal/caip5/ghazi/gcc-testing/build/gcc/
> -B/usr/local/sparc-sun-solaris2.7/bin/
> -B/usr/local/sparc-sun-solaris2.7/lib/ -isystem
> /usr/local/sparc-sun-solaris2.7/include -fgnu-runtime -c
> -I. -I../../../../egcc-CVS20011129/libobjc -g -m64 -DHAVE_GTHR_DEFAULT
> -DIN_GCC -DIN_TARGET_LIBS -I../../../../egcc-CVS20011129/libobjc/objc
> -I../../../../egcc-CVS20011129/libobjc/../gcc
> -I../../../../egcc-CVS20011129/libobjc/../gcc/config -I../../../gcc
> -I../../../../egcc-CVS20011129/libobjc/../include
> ../../../../egcc-CVS20011129/libobjc/linking.m -o linking.o
> /usr/ccs/bin/as: "/var/tmp//cclNBu4d.s", line 198: error: location
> counter not on doubleword boundary
> /usr/ccs/bin/as: "/var/tmp//cclNBu4d.s", line 225: error: location
> counter not on doubleword boundary
> make[4]: *** [linking.lo] Error 1
> make[4]: Leaving directory
> `/teal/caip5/ghazi/gcc-testing/build/sparc-sun-solaris2.7/sparcv9/libobjc'
Here's the assembly file from -save-temps:
.file "linking.m"
.stabs "/teal/caip5/ghazi/gcc-testing/build/sparc-sun-solaris2.7/sparcv9/libobjc/",100,0,0,.LLtext0
.stabs "../../../../egcc-CVS20011129/libobjc/linking.m",100,0,0,.LLtext0
.section ".text"
.LLtext0:
.stabs "gcc2_compiled.",60,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)=@s64;r(0,3);001000000000000000000000;000777777777777777777777;",128,0,0,0
.stabs "unsigned int:t(0,4)=r(0,4);000000000000000000000000;000000000000037777777777;",128,0,0,0
.stabs "long unsigned int:t(0,5)=@s64;r(0,5);000000000000000000000000;001777777777777777777777;",128,0,0,0
.stabs "long long int:t(0,6)=@s64;r(0,6);001000000000000000000000;000777777777777777777777;",128,0,0,0
.stabs "long long unsigned int:t(0,7)=@s64;r(0,7);000000000000000000000000;001777777777777777777777;",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 "__int128_t:t(0,12)=@s128;r(0,12);000000000000000000000000;0377777777777777777777777777777777;",128,0,0,0
.stabs "__uint128_t:t(0,13)=@s128;r(0,13);000000000000000000000000;0377777777777777777777777777777777;",128,0,0,0
.stabs "float:t(0,14)=r(0,1);4;0;",128,0,0,0
.stabs "double:t(0,15)=r(0,1);8;0;",128,0,0,0
.stabs "long double:t(0,16)=r(0,1);16;0;",128,0,0,0
.stabs "complex int:t(0,17)=s8real:(0,1),0,32;imag:(0,1),32,32;;",128,0,0,0
.stabs "complex float:t(0,18)=r(0,18);8;0;",128,0,0,0
.stabs "complex double:t(0,19)=r(0,19);16;0;",128,0,0,0
.stabs "complex long double:t(0,20)=r(0,20);32;0;",128,0,0,0
.stabs "__builtin_va_list:t(0,21)=*(0,22)=(0,22)",128,0,0,0
.stabs "_Bool:t(0,23)=@s8;-16;",128,0,0,0
.stabs "../../../../egcc-CVS20011129/libobjc/objc/Object.h",130,0,0,0
.stabs "../../../../egcc-CVS20011129/libobjc/objc/objc.h",130,0,0,0
.stabs "/teal/caip5/ghazi/gcc-testing/build/gcc/include/stddef.h",130,0,0,0
.stabs "ptrdiff_t:t(3,1)=(0,3)",128,0,147,0
.stabs "size_t:t(3,2)=(0,5)",128,0,201,0
.stabs "wchar_t:t(3,3)=(0,1)",128,0,293,0
.stabn 162,0,0,0
.stabs "BOOL:t(2,1)=(0,11)",128,0,42,0
.stabs "objc_selector:T(2,2)=s16sel_id:(2,3)=*(0,22),0,64;sel_types:(2,4)=*(0,2),64,64;;",128,0,0,0
.stabs "SEL:t(2,5)=(2,6)=*(2,2)",128,0,55,0
.stabs "objc_object:T(2,7)=s8class_pointer:(2,8)=*(2,9)=xsobjc_class:,0,64;;",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)=s104class_pointer:(2,17),0,64;super_class:(2,8),64,64;name:(2,4),128,64;version:(0,3),192,64;info:(0,5),256,64;instance_size:(0,3),320,64;ivars:(2,19)=*(2,20)=xsobjc_ivar_list:,384,64;methods:(2,21)=*(2,22)=xsobjc_method_list:,448,64;dtable:(2,23)=*(2,24)=xssarray:,512,64;subclass_list:(2,8),576,64;sibling_class:(2,8),640,64;protocols:(2,25)=*(2,26)=xsobjc_protocol_list:,704,64;gc_object_type:(2,3),768,64;;",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,22)",128,0,145,0
.stabs "arglist_t:t(2,31)=(2,32)=*(2,33)=u8arg_ptr:(2,16),0,64;arg_regs:(2,34)=ar(2,35)=@s64;r(2,35);000000000000000000000000;001777777777777777777777;;0;7;(0,2),0,64;;",128,0,149,0
.stabn 162,0,0,0
.stabs "../../../../egcc-CVS20011129/libobjc/objc/typedstream.h",130,0,0,0
.stabs "../../../../egcc-CVS20011129/libobjc/objc/hash.h",130,0,0,0
.stabs "/teal/caip5/ghazi/gcc-testing/build/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
.stabs "/usr/include/sys/isa_defs.h",130,0,0,0
.stabn 162,0,0,0
.stabn 162,0,0,0
.stabn 162,0,0,0
.stabs "cache_node:T(5,1)=s24next:(5,2)=*(5,1),0,64;key:(5,3)=*(0,22),64,64;value:(2,3),128,64;;",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)=s40node_table:(5,12)=*(5,4),0,64;size:(0,4),64,32;used:(0,4),96,32;mask:(0,4),128,32;last_bucket:(0,4),160,32;hash_func:(5,5),192,64;compare_func:(5,8),256,64;;",128,0,0,0
.stabs "cache_ptr:t(5,13)=(5,14)=*(5,11)",128,0,102,0
.stabn 162,0,0,0
.stabs "/teal/caip5/ghazi/gcc-testing/build/gcc/include/stdio.h",130,0,0,0
.stabs "/teal/caip5/ghazi/gcc-testing/build/gcc/include/stdarg.h",130,0,0,0
.stabs "__gnuc_va_list:t(11,1)=(0,21)",128,0,43,0
.stabn 162,0,0,0
.stabs "/usr/include/sys/va_list.h",130,0,0,0
.stabs "__va_list:t(12,1)=(2,3)",128,0,26,0
.stabn 162,0,0,0
.stabs "/usr/include/stdio_tag.h",130,0,0,0
.stabs "__FILE:t(13,1)=(13,2)=xs__FILE:",128,0,21,0
.stabn 162,0,0,0
.stabs "/usr/include/stdio_impl.h",130,0,0,0
.stabs "ssize_t:t(14,1)=(0,3)",128,0,20,0
.stabs "__FILE:T(13,2)=s128__pad:(14,2)=ar(2,35);0;15;(0,3),0,1024;;",128,0,0,0
.stabn 162,0,0,0
.stabs "FILE:t(10,1)=(13,1)",128,0,55,0
.stabs "off_t:t(10,2)=(0,3)",128,0,88,0
.stabs "off64_t:t(10,3)=(10,2)",128,0,94,0
.stabs "fpos_t:t(10,4)=(0,3)",128,0,103,0
.stabs "fpos64_t:t(10,5)=(10,4)",128,0,109,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)=s88physical:(2,3),0,64;object_table:(5,13),64,64;stream_table:(5,13),128,64;class_table:(5,13),192,64;object_refs:(5,13),256,64;mode:(0,1),320,32;type:(0,1),352,32;version:(0,1),384,32;writing_root_p:(0,1),416,32;read:(4,1),448,64;write:(4,4),512,64;eof:(4,10),576,64;flush:(4,7),640,64;;",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)=s8isa:/1(2,18),0,64;;",128,0,0,0
.stabn 162,0,0,0
.stabs "../../../../egcc-CVS20011129/libobjc/objc/NXConstStr.h",130,0,0,0
.stabs "NXConstantString:T(15,1)=s24isa:/1(2,18),0,64;c_string:/1(2,16),64,64;len:/1(0,4),128,32;;",128,0,0,0
.stabn 162,0,0,0
.section ".rodata"
.align 8
.LLC0:
.asciz "Object"
.align 8
.LLC1:
.asciz "NXConstantString"
.section ".text"
.align 4
.stabs "__objc_linking:F(0,22)",36,0,36,__objc_linking
.global __objc_linking
.type __objc_linking,#function
.proc 020
__objc_linking:
.stabn 68,0,36,.LLM1-__objc_linking
.LLM1:
!#PROLOGUE# 0
save %sp, -192, %sp
!#PROLOGUE# 1
.stabn 68,0,37,.LLM2-__objc_linking
.LLM2:
sethi %hh(.LLC0), %o0
sethi %lm(.LLC0), %o1
or %o0, %hm(.LLC0), %o0
sllx %o0, 32, %o0
add %o0, %o1, %o0
or %o0, %lo(.LLC0), %o0
call objc_get_class, 0
nop
mov %o0, %l0
mov %l0, %o0
sethi %hh(_OBJC_SELECTOR_TABLE), %o1
sethi %lm(_OBJC_SELECTOR_TABLE), %o2
or %o1, %hm(_OBJC_SELECTOR_TABLE), %o1
sllx %o1, 32, %o1
add %o1, %o2, %o1
or %o1, %lo(_OBJC_SELECTOR_TABLE), %o1
call objc_msg_lookup, 0
nop
mov %o0, %o3
mov %l0, %o0
sethi %hh(_OBJC_SELECTOR_TABLE), %o1
sethi %lm(_OBJC_SELECTOR_TABLE), %o2
or %o1, %hm(_OBJC_SELECTOR_TABLE), %o1
sllx %o1, 32, %o1
add %o1, %o2, %o1
or %o1, %lo(_OBJC_SELECTOR_TABLE), %o1
call %o3, 0
nop
.stabn 68,0,38,.LLM3-__objc_linking
.LLM3:
sethi %hh(.LLC1), %o0
sethi %lm(.LLC1), %o1
or %o0, %hm(.LLC1), %o0
sllx %o0, 32, %o0
add %o0, %o1, %o0
or %o0, %lo(.LLC1), %o0
call objc_get_class, 0
nop
mov %o0, %l0
sethi %hh(_OBJC_SELECTOR_TABLE), %o0
sethi %lm(_OBJC_SELECTOR_TABLE), %o1
or %o0, %hm(_OBJC_SELECTOR_TABLE), %o0
sllx %o0, 32, %o0
add %o0, %o1, %o0
or %o0, %lo(_OBJC_SELECTOR_TABLE), %o0
add %o0, 16, %o1
mov %l0, %o0
call objc_msg_lookup, 0
nop
mov %o0, %o2
sethi %hh(_OBJC_SELECTOR_TABLE), %o0
sethi %lm(_OBJC_SELECTOR_TABLE), %o1
or %o0, %hm(_OBJC_SELECTOR_TABLE), %o0
sllx %o0, 32, %o0
add %o0, %o1, %o0
or %o0, %lo(_OBJC_SELECTOR_TABLE), %o0
add %o0, 16, %o1
mov %l0, %o0
call %o2, 0
nop
.stabn 68,0,39,.LLM4-__objc_linking
.LLM4:
return %i7+8
nop
.LLfe1:
.size __objc_linking,.LLfe1-__objc_linking
.LLscope0:
.stabs "",36,0,0,.LLscope0-__objc_linking
.stabs "_objc_category:T(0,24)=s40category_name:(2,16),0,64;class_name:(2,16),64,64;instance_methods:(0,25)=*(0,26)=xs_objc_method_list:,128,64;class_methods:(0,25),192,64;protocol_list:(0,27)=*(0,28)=*(0,29)=xs_objc_protocol:,256,64;;",128,0,0,0
.stabs "_objc_symtab:T(0,30)=s32sel_ref_cnt:(0,3),0,64;refs:(0,31)=*(0,32)=*(2,2),64,64;cls_def_cnt:(0,8),128,16;cat_def_cnt:(0,8),144,16;defs:(0,33)=ar(2,35);0;0;(2,3),192,64;;",128,0,0,0
.section ".data"
.align 8
.type _OBJC_SYMBOLS,#object
.size _OBJC_SYMBOLS,32
_OBJC_SYMBOLS:
.uaword 0
.uaword 0
.skip 4
.xword _OBJC_SELECTOR_TABLE
.uahalf 0
.uahalf 0
.skip 12
.align 8
.type _OBJC_SELECTOR_TABLE,#object
.size _OBJC_SELECTOR_TABLE,48
_OBJC_SELECTOR_TABLE:
.xword _OBJC_METH_VAR_NAME_0
.xword _OBJC_METH_VAR_TYPE_0
.xword _OBJC_METH_VAR_NAME_0
.xword _OBJC_METH_VAR_TYPE_0
.uaword 0
.uaword 0
.uaword 0
.uaword 0
.skip 12
.stabs "_objc_module:T(0,34)=s32version:(0,3),0,64;size:(0,3),64,64;name:(2,16),128,64;symtab:(0,35)=*(0,30),192,64;;",128,0,0,0
.align 8
.type _OBJC_MODULES,#object
.size _OBJC_MODULES,32
_OBJC_MODULES:
.uaword 0
.uaword 8
.skip 4
.uaword 0
.uaword 32
.xword _OBJC_CLASS_NAME_0
.xword _OBJC_SYMBOLS
.section ".text"
.align 4
.stabs "_GLOBAL__I___objc_linking:f(0,22)",36,0,204,_GLOBAL__I___objc_linking
.type _GLOBAL__I___objc_linking,#function
.proc 020
_GLOBAL__I___objc_linking:
.stabn 68,0,204,.LLM5-_GLOBAL__I___objc_linking
.LLM5:
!#PROLOGUE# 0
save %sp, -192, %sp
!#PROLOGUE# 1
.stabn 68,0,204,.LLM6-_GLOBAL__I___objc_linking
.LLM6:
sethi %hh(_OBJC_MODULES), %o0
sethi %lm(_OBJC_MODULES), %o1
or %o0, %hm(_OBJC_MODULES), %o0
sllx %o0, 32, %o0
add %o0, %o1, %o0
or %o0, %lo(_OBJC_MODULES), %o0
call __objc_exec_class, 0
nop
return %i7+8
nop
.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
.align 8
.xword _GLOBAL__I___objc_linking
.section ".data"
.align 8
.type __objc_class_ref_Object,#object
.size __objc_class_ref_Object,8
__objc_class_ref_Object:
.xword __objc_class_name_Object
.align 8
.type __objc_class_ref_NXConstantString,#object
.size __objc_class_ref_NXConstantString,8
__objc_class_ref_NXConstantString:
.xword __objc_class_name_NXConstantString
.section ".rodata"
.align 8
.type _OBJC_CLASS_NAME_0,#object
.size _OBJC_CLASS_NAME_0,47
_OBJC_CLASS_NAME_0:
.asciz "../../../../egcc-CVS20011129/libobjc/linking.m"
.align 8
.type _OBJC_METH_VAR_NAME_0,#object
.size _OBJC_METH_VAR_NAME_0,5
_OBJC_METH_VAR_NAME_0:
.asciz "name"
.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:+16"
.stabs "_OBJC_SELECTOR_TABLE:S(0,36)=ar(2,35);0;2;(0,37)=xs_objc_selector:",38,0,0,_OBJC_SELECTOR_TABLE
.stabs "_OBJC_METH_VAR_NAME_0:S(0,38)=ar(2,35);0;4;(0,2)",38,0,204,_OBJC_METH_VAR_NAME_0
.stabs "_OBJC_METH_VAR_TYPE_0:S(0,39)=ar(2,35);0;10;(0,2)",38,0,204,_OBJC_METH_VAR_TYPE_0
.stabs "_OBJC_CLASS_NAME_0:S(0,40)=ar(2,35);0;46;(0,2)",38,0,204,_OBJC_CLASS_NAME_0
.stabs "__objc_class_ref_Object:S(2,16)",38,0,204,__objc_class_ref_Object
.stabs "__objc_class_ref_NXConstantString:S(2,16)",38,0,204,__objc_class_ref_NXConstantString
.text
.stabs "",100,0,0,Letext
Letext:
.ident "GCC: (GNU) 3.1 20011129 (experimental)"
More information about the Gcc-bugs
mailing list