This is the mail archive of the gcc-patches@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]
Other format: [Raw text]

Re: [PATCH] Remove .jcr registry from the crtfiles


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


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