21 GCC regressions, 0 new, with your patch on 2003-06-26T09:45:01Z.

Andrew Pinski pinskia@physics.uc.edu
Thu Jun 26 15:13:00 GMT 2003


Here is the diff with and without -funit-at-a-time on Darwin:
--- test.s	Thu Jun 26 11:10:39 2003
+++ test1.s	Thu Jun 26 11:10:38 2003
@@ -26,6 +26,13 @@
  	mtlr r0
  	lmw r30,-8(r1)
  	blr
+	.lazy_reference .objc_class_name_B
+	.lazy_reference .objc_class_name_A
+	.lazy_reference .objc_class_name_Object
+	.objc_class_name_B=0
+	.globl .objc_class_name_B
+	.objc_class_name_A=0
+	.globl .objc_class_name_A
  .data
  .objc_cat_cls_meth
  .data
@@ -67,118 +74,20 @@
  .data
  .objc_symbols
  .data
-.objc_symbols
-	.align 2
-L_OBJC_SYMBOLS:
-	.long	0
-	.long	0
-	.short	2
-	.short	0
-	.long	L_OBJC_CLASS_B
-	.long	L_OBJC_CLASS_A
-.data
-.objc_meta_class
-	.align 2
-L_OBJC_METACLASS_B:
-	.long	L_OBJC_CLASS_NAME_2
-	.long	L_OBJC_CLASS_NAME_1
-	.long	L_OBJC_CLASS_NAME_0
-	.long	0
-	.long	2
-	.long	48
-	.long	0
-	.long	0
-	.long	0
-	.long	0
-	.long	0
-	.space 4
-.data
-.objc_class
-	.align 2
-L_OBJC_CLASS_B:
-	.long	L_OBJC_METACLASS_B
-	.long	L_OBJC_CLASS_NAME_1
-	.long	L_OBJC_CLASS_NAME_0
-	.long	0
-	.long	1
-	.long	4
-	.long	0
-	.long	0
-	.long	0
-	.long	0
-	.long	0
-	.space 4
-.data
-.objc_meta_class
-	.align 2
-L_OBJC_METACLASS_A:
-	.long	L_OBJC_CLASS_NAME_2
-	.long	L_OBJC_CLASS_NAME_2
-	.long	L_OBJC_CLASS_NAME_1
-	.long	0
-	.long	2
-	.long	48
-	.long	0
-	.long	0
-	.long	0
-	.long	0
-	.long	0
-	.space 4
-.data
-.objc_class
-	.align 2
-L_OBJC_CLASS_A:
-	.long	L_OBJC_METACLASS_A
-	.long	L_OBJC_CLASS_NAME_2
-	.long	L_OBJC_CLASS_NAME_1
-	.long	0
-	.long	1
-	.long	4
-	.long	0
-	.long	0
-	.long	0
-	.long	0
-	.long	0
-	.space 4
-.data
-.objc_message_refs
-	.align 2
-L_OBJC_SELECTOR_REFERENCES_0:
-	.long	L_OBJC_METH_VAR_NAME_0
-.data
-.objc_module_info
-	.align 2
-L_OBJC_MODULES:
-	.long	5
-	.long	16
-	.long	L_OBJC_CLASS_NAME_3
-	.long	L_OBJC_SYMBOLS
-	.lazy_reference .objc_class_name_B
-.data
  .objc_cls_refs
  	.align 2
  L_OBJC_CLASS_REFERENCES_0:
  	.long	L_OBJC_CLASS_NAME_0
-	.lazy_reference .objc_class_name_A
-	.lazy_reference .objc_class_name_Object
-	.objc_class_name_B=0
-	.globl .objc_class_name_B
-	.objc_class_name_A=0
-	.globl .objc_class_name_A
  .data
  .objc_class_names
  	.align 2
  L_OBJC_CLASS_NAME_0:
  	.ascii "B\0"
+.data
+.objc_message_refs
  	.align 2
-L_OBJC_CLASS_NAME_1:
-	.ascii "A\0"
-	.align 2
-L_OBJC_CLASS_NAME_2:
-	.ascii "Object\0"
-	.align 2
-L_OBJC_CLASS_NAME_3:
-	.ascii "test.m\0"
+L_OBJC_SELECTOR_REFERENCES_0:
+	.long	L_OBJC_METH_VAR_NAME_0
  .data
  .objc_meth_var_names
  	.align 2

Thanks,
Andrew Pinski


On Thursday, Jun 26, 2003, at 11:08 US/Eastern, Andrew Pinski wrote:

>
> On Thursday, Jun 26, 2003, at 10:36 US/Eastern, GCC regression checker 
> wrote:
>>
>> native objc.sum objc/execute/accessing_ivars.m
>> native objc.sum objc/execute/bycopy-2.m
>> native objc.sum objc/execute/enumeration-1.m
>> native objc.sum objc/execute/enumeration-2.m
>> native objc.sum objc/execute/formal_protocol-1.m
>> native objc.sum objc/execute/formal_protocol-2.m
>> native objc.sum objc/execute/formal_protocol-3.m
>> native objc.sum objc/execute/formal_protocol-4.m
>> native objc.sum objc/execute/formal_protocol-7.m
>> native objc.sum objc/execute/initialize.m
>> native objc.sum objc/execute/load-2.m
>> native objc.sum objc/execute/load-3.m
>> native objc.sum objc/execute/load.m
>> native objc.sum objc/execute/no_clash.m
>> native objc.sum objc/execute/object_is_class.m
>> native objc.sum objc/execute/object_is_meta_class.m
>
> Looks like still more unit-at-a-time problems with Objective-C, this 
> time only on Darwin :( .
>
> With the following code (which is valid and should not seg fault) seg 
> faults when runs on Darwin with -funit-at-a-time only as an option:
> ---------------------------------------------------------
> #include <objc/objc.h>
> #include <objc/Object.h>
> @interface A : Object
> @end
> @interface B : A
> @end
> @implementation A
> @end
> @implementation B
> @end
> int main()
> {
>         B *b = [B new];
>         return 0;
> }
> -----------------cut------------------------------------
> It does not seg fault on linux, remember that on Darwin there are 
> Objective-C sections in the asm.
>
>
> Thanks,
> Andrew Pinski
>
>
>



More information about the Gcc-regression mailing list