diff mbox

Remove .jcr registry from the crtfiles

Message ID mvmwphnw7uo.fsf@hawking.suse.de
State New
Headers show

Commit Message

Andreas Schwab Oct. 5, 2016, 7:52 a.m. UTC
* config/ia64/crtbegin.S (__do_jv_register_classes): Remove.
	(.section .init_array): Don't call __do_jv_register_classes.
	(.section .init): Likewise.

Comments

Jakub Jelinek Oct. 5, 2016, 7:55 a.m. UTC | #1
On Wed, Oct 05, 2016 at 09:52:31AM +0200, Andreas Schwab wrote:
> 	* config/ia64/crtbegin.S (__do_jv_register_classes): Remove.
> 	(.section .init_array): Don't call __do_jv_register_classes.
> 	(.section .init): Likewise.

Oops, sorry for missing that.  The patch is ok.
> 
> diff --git a/libgcc/config/ia64/crtbegin.S b/libgcc/config/ia64/crtbegin.S
> index 3bf0e71a3a..cee0cf567d 100644
> --- a/libgcc/config/ia64/crtbegin.S
> +++ b/libgcc/config/ia64/crtbegin.S
> @@ -63,7 +63,6 @@ __dso_handle:
>  	data8 @fptr(__do_global_dtors_aux)
>  
>  .section .init_array, "a"
> -	data8 @fptr(__do_jv_register_classes)
>  	data8 @fptr(__do_global_ctors_aux)
>  
>  #else /* !HAVE_INITFINI_ARRAY_SUPPORT */
> @@ -95,24 +94,6 @@ __dso_handle:
>  	  mov b6 = r2
>  	  br.call.sptk.many b0 = b6
>  	}
> -
> -/* Likewise for _init.  */
> -
> -.section .init,"ax","progbits"
> -	{ .mlx
> -	  movl r2 = @pcrel(__do_jv_register_classes - 16)
> -	}
> -	{ .mii
> -	  mov r3 = ip
> -	  ;;
> -	  add r2 = r2, r3
> -	  ;;
> -	}
> -	{ .mib
> -	  nop 0
> -	  mov b6 = r2
> -	  br.call.sptk.many b0 = b6
> -	}
>  #endif /* !HAVE_INITFINI_ARRAY_SUPPORT */
>  
>  .section .text
> @@ -200,50 +181,6 @@ __do_global_dtors_aux:
>  	br.ret.sptk.many rp
>  	.endp __do_global_dtors_aux
>  
> -	.align	32
> -	.proc	__do_jv_register_classes
> -__do_jv_register_classes:
> -	.prologue
> -	.save ar.pfs, r33
> -	alloc loc1 = ar.pfs, 0, 3, 1, 0
> -	movl out0 = @gprel(__JCR_LIST__)
> -	;;
> -
> -	addl r14 = @ltoff(@fptr(_Jv_RegisterClasses)), gp
> -	add out0 = out0, gp
> -	.save rp, loc0
> -	mov loc0 = rp
> -	.body
> -	;;
> -
> -	ld8 r14 = [r14]
> -	ld8 r15 = [out0]
> -	cmp.ne p6, p0 = r0, r0
> -	;;
> -
> -	cmp.eq.or p6, p0 = r0, r14
> -	cmp.eq.or p6, p0 = r0, r15
> -(p6)	br.ret.sptk.many rp
> -
> -	ld8 r15 = [r14], 8
> -	;;
> -	nop 0
> -	mov b6 = r15
> -
> -	mov loc2 = gp
> -	ld8 gp = [r14]
> -	br.call.sptk.many rp = b6
> -	;;
> -
> -	mov gp = loc2
> -	mov rp = loc0
> -	mov ar.pfs = loc1
> -
> -	nop 0
> -	nop 0
> -	br.ret.sptk.many rp
> -	.endp	__do_jv_register_classes
> -
>  #ifdef SHARED
>  .weak __cxa_finalize
>  #endif
> -- 
> 2.10.1
> 
> 
> Andreas.
> 
> -- 
> Andreas Schwab, SUSE Labs, schwab@suse.de
> GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
> "And now for something completely different."

	Jakub
diff mbox

Patch

diff --git a/libgcc/config/ia64/crtbegin.S b/libgcc/config/ia64/crtbegin.S
index 3bf0e71a3a..cee0cf567d 100644
--- a/libgcc/config/ia64/crtbegin.S
+++ b/libgcc/config/ia64/crtbegin.S
@@ -63,7 +63,6 @@  __dso_handle:
 	data8 @fptr(__do_global_dtors_aux)
 
 .section .init_array, "a"
-	data8 @fptr(__do_jv_register_classes)
 	data8 @fptr(__do_global_ctors_aux)
 
 #else /* !HAVE_INITFINI_ARRAY_SUPPORT */
@@ -95,24 +94,6 @@  __dso_handle:
 	  mov b6 = r2
 	  br.call.sptk.many b0 = b6
 	}
-
-/* Likewise for _init.  */
-
-.section .init,"ax","progbits"
-	{ .mlx
-	  movl r2 = @pcrel(__do_jv_register_classes - 16)
-	}
-	{ .mii
-	  mov r3 = ip
-	  ;;
-	  add r2 = r2, r3
-	  ;;
-	}
-	{ .mib
-	  nop 0
-	  mov b6 = r2
-	  br.call.sptk.many b0 = b6
-	}
 #endif /* !HAVE_INITFINI_ARRAY_SUPPORT */
 
 .section .text
@@ -200,50 +181,6 @@  __do_global_dtors_aux:
 	br.ret.sptk.many rp
 	.endp __do_global_dtors_aux
 
-	.align	32
-	.proc	__do_jv_register_classes
-__do_jv_register_classes:
-	.prologue
-	.save ar.pfs, r33
-	alloc loc1 = ar.pfs, 0, 3, 1, 0
-	movl out0 = @gprel(__JCR_LIST__)
-	;;
-
-	addl r14 = @ltoff(@fptr(_Jv_RegisterClasses)), gp
-	add out0 = out0, gp
-	.save rp, loc0
-	mov loc0 = rp
-	.body
-	;;
-
-	ld8 r14 = [r14]
-	ld8 r15 = [out0]
-	cmp.ne p6, p0 = r0, r0
-	;;
-
-	cmp.eq.or p6, p0 = r0, r14
-	cmp.eq.or p6, p0 = r0, r15
-(p6)	br.ret.sptk.many rp
-
-	ld8 r15 = [r14], 8
-	;;
-	nop 0
-	mov b6 = r15
-
-	mov loc2 = gp
-	ld8 gp = [r14]
-	br.call.sptk.many rp = b6
-	;;
-
-	mov gp = loc2
-	mov rp = loc0
-	mov ar.pfs = loc1
-
-	nop 0
-	nop 0
-	br.ret.sptk.many rp
-	.endp	__do_jv_register_classes
-
 #ifdef SHARED
 .weak __cxa_finalize
 #endif