From bc6b11a7c9ca7d79101a13577d7bca3b1d3fc92c Mon Sep 17 00:00:00 2001 From: jakub Date: Tue, 4 Oct 2016 07:49:44 +0000 Subject: gcc/ * defaults.h (JCR_SECTION_NAME, TARGET_USE_JCR_SECTION): Remove. * system.h (JCR_SECTION_NAME, TARGET_USE_JCR_SECTION): Poison. * doc/tm.texi.in (TARGET_USE_JCR_SECTION): Remove. * doc/tm.texi: Regenerated. * config/i386/mingw32.h (TARGET_USE_JCR_SECTION): Remove. * config/i386/cygming.h (TARGET_USE_JCR_SECTION): Remove. * config/darwin.h (JCR_SECTION_NAME): Remove. * config/pa/pa64-hpux.h (JCR_SECTION_NAME): Remove. * config/rs6000/aix71.h (TARGET_USE_JCR_SECTION): Remove. * config/rs6000/aix51.h (TARGET_USE_JCR_SECTION): Remove. * config/rs6000/aix52.h (TARGET_USE_JCR_SECTION): Remove. * config/rs6000/aix53.h (TARGET_USE_JCR_SECTION): Remove. * config/rs6000/aix61.h (TARGET_USE_JCR_SECTION): Remove. gcc/c-family/ * c-cppbuiltin.c (c_cpp_builtins): Don't define __LIBGCC_JCR_SECTION_NAME__. libgcc/ * config/i386/cygming-crtbegin.c (_Jv_RegisterClasses): Remove. (__JCR_LIST__): Remove. (__gcc_register_frame): Don't attempt to _Jv_RegisterClasses. * config/i386/cygming-crtend.c (__JCR_END__): Remove. * config/ia64/crtbegin.S (__JCR_LIST__): Remove. * config/ia64/crtend.S (__JCR_END__): Remove. * crtstuff.c: Remove __LIBGCC_JCR_SECTION_NAME__ from preprocessor conditionals. (__JCR_LIST__, __JCR_END__): Remove. (frame_dummy): Don't attempt to _Jv_RegisterClasses. (__do_global_ctors_1): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240739 138bc75d-0d04-0410-961f-82ee72b054a4 --- libgcc/ChangeLog | 14 ++++++++++ libgcc/config/i386/cygming-crtbegin.c | 34 ------------------------- libgcc/config/i386/cygming-crtend.c | 8 ------ libgcc/config/ia64/crtbegin.S | 4 --- libgcc/config/ia64/crtend.S | 5 ---- libgcc/crtstuff.c | 48 ++--------------------------------- 6 files changed, 16 insertions(+), 97 deletions(-) (limited to 'libgcc') diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index f876b9b16d3..2baca35456a 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,3 +1,17 @@ +2016-10-04 Jakub Jelinek + + * config/i386/cygming-crtbegin.c (_Jv_RegisterClasses): Remove. + (__JCR_LIST__): Remove. + (__gcc_register_frame): Don't attempt to _Jv_RegisterClasses. + * config/i386/cygming-crtend.c (__JCR_END__): Remove. + * config/ia64/crtbegin.S (__JCR_LIST__): Remove. + * config/ia64/crtend.S (__JCR_END__): Remove. + * crtstuff.c: Remove __LIBGCC_JCR_SECTION_NAME__ from preprocessor + conditionals. + (__JCR_LIST__, __JCR_END__): Remove. + (frame_dummy): Don't attempt to _Jv_RegisterClasses. + (__do_global_ctors_1): Likewise. + 2015-09-28 Uros Bizjak * config/i386/cpuinfo.c (__get_cpuid_output): Remove. diff --git a/libgcc/config/i386/cygming-crtbegin.c b/libgcc/config/i386/cygming-crtbegin.c index e4a6672294a..be8344d6f9b 100644 --- a/libgcc/config/i386/cygming-crtbegin.c +++ b/libgcc/config/i386/cygming-crtbegin.c @@ -73,18 +73,6 @@ __deregister_frame_info (__attribute__((unused)) const void *p) #endif #endif /* DWARF2_UNWIND_INFO */ -#if TARGET_USE_JCR_SECTION -extern void _Jv_RegisterClasses (__attribute__((unused)) const void *) - TARGET_ATTRIBUTE_WEAK; - -#ifdef __x86_64__ -TARGET_ATTRIBUTE_WEAK void -_Jv_RegisterClasses (__attribute__((unused)) const void *p) -{ -} -#endif -#endif /* TARGET_USE_JCR_SECTION */ - #if defined(HAVE_LD_RO_RW_SECTION_MIXING) # define EH_FRAME_SECTION_CONST const #else @@ -105,12 +93,6 @@ HANDLE hmod_libgcc; static void * (*deregister_frame_fn) (const void *) = NULL; #endif -#if TARGET_USE_JCR_SECTION -static void *__JCR_LIST__[] - __attribute__ ((used, section(__LIBGCC_JCR_SECTION_NAME__), aligned(4))) - = { }; -#endif - #ifdef __CYGWIN__ /* Declare the __dso_handle variable. It should have a unique value in every shared-object; in a main program its value is zero. The @@ -163,22 +145,6 @@ __gcc_register_frame (void) register_frame_fn (__EH_FRAME_BEGIN__, &obj); #endif -#if TARGET_USE_JCR_SECTION - if (__JCR_LIST__[0]) - { - void (*register_class_fn) (const void *); - HANDLE h = GetModuleHandle (LIBGCJ_SONAME); - if (h) - register_class_fn = (void (*) (const void *)) - GetProcAddress (h, "_Jv_RegisterClasses"); - else - register_class_fn = _Jv_RegisterClasses; - - if (register_class_fn) - register_class_fn (__JCR_LIST__); - } -#endif - #if DEFAULT_USE_CXA_ATEXIT /* If we use the __cxa_atexit method to register C++ dtors at object construction, also use atexit to register eh frame diff --git a/libgcc/config/i386/cygming-crtend.c b/libgcc/config/i386/cygming-crtend.c index fdf6a0e9452..9bd0e10a1c7 100644 --- a/libgcc/config/i386/cygming-crtend.c +++ b/libgcc/config/i386/cygming-crtend.c @@ -53,14 +53,6 @@ static EH_FRAME_SECTION_CONST int __FRAME_END__[] = { 0 }; #endif -#if TARGET_USE_JCR_SECTION -/* Null terminate the .jcr section array. */ -static void *__JCR_END__[1] - __attribute__ ((used, section(__LIBGCC_JCR_SECTION_NAME__), - aligned(sizeof(void *)))) - = { 0 }; -#endif - extern void __gcc_register_frame (void); extern void __gcc_deregister_frame (void); diff --git a/libgcc/config/ia64/crtbegin.S b/libgcc/config/ia64/crtbegin.S index a8d738b9592..3bf0e71a3ac 100644 --- a/libgcc/config/ia64/crtbegin.S +++ b/libgcc/config/ia64/crtbegin.S @@ -34,10 +34,6 @@ __CTOR_LIST__: __DTOR_LIST__: data8 -1 -.section .jcr,"aw","progbits" - .align 8 -__JCR_LIST__: - .section .sdata .type dtor_ptr,@object .size dtor_ptr,8 diff --git a/libgcc/config/ia64/crtend.S b/libgcc/config/ia64/crtend.S index 7434930040a..69cc5d77881 100644 --- a/libgcc/config/ia64/crtend.S +++ b/libgcc/config/ia64/crtend.S @@ -34,11 +34,6 @@ __CTOR_END__: __DTOR_END__: data8 0 -.section .jcr,"aw","progbits" - .align 8 -__JCR_END__: - data8 0 - #if HAVE_INITFINI_ARRAY_SUPPORT .global __do_global_ctors_aux .hidden __do_global_ctors_aux diff --git a/libgcc/crtstuff.c b/libgcc/crtstuff.c index f3343fc4fd8..5449c4dbdb6 100644 --- a/libgcc/crtstuff.c +++ b/libgcc/crtstuff.c @@ -266,15 +266,6 @@ STATIC EH_FRAME_SECTION_CONST char __EH_FRAME_BEGIN__[] = { }; #endif /* USE_EH_FRAME_REGISTRY */ -#ifdef __LIBGCC_JCR_SECTION_NAME__ -/* Stick a label at the beginning of the java class registration info - so we can register them properly. */ -STATIC void *__JCR_LIST__[] - __attribute__ ((used, section(__LIBGCC_JCR_SECTION_NAME__), - aligned(sizeof(void*)))) - = { }; -#endif /* __LIBGCC_JCR_SECTION_NAME__ */ - #if USE_TM_CLONE_REGISTRY STATIC func_ptr __TMC_LIST__[] __attribute__((used, section(".tm_clone_table"), aligned(sizeof(void*)))) @@ -449,7 +440,6 @@ CRT_CALL_STATIC_FUNCTION (__LIBGCC_INIT_SECTION_ASM_OP__, #endif #if defined(USE_EH_FRAME_REGISTRY) \ - || defined(__LIBGCC_JCR_SECTION_NAME__) \ || defined(USE_TM_CLONE_REGISTRY) /* Stick a call to __register_frame_info into the .init section. For some reason calls with no arguments work more reliably in .init, so stick the @@ -472,18 +462,6 @@ frame_dummy (void) #endif /* CRT_GET_RFIB_DATA */ #endif /* USE_EH_FRAME_REGISTRY */ -#ifdef __LIBGCC_JCR_SECTION_NAME__ - void **jcr_list; - __asm ("" : "=g" (jcr_list) : "0" (__JCR_LIST__)); - if (__builtin_expect (*jcr_list != NULL, 0)) - { - void (*register_classes) (void *) = _Jv_RegisterClasses; - __asm ("" : "+r" (register_classes)); - if (register_classes) - register_classes (jcr_list); - } -#endif /* __LIBGCC_JCR_SECTION_NAME__ */ - #if USE_TM_CLONE_REGISTRY register_tm_clones (); #endif /* USE_TM_CLONE_REGISTRY */ @@ -496,7 +474,7 @@ static func_ptr __frame_dummy_init_array_entry[] __attribute__ ((__used__, section(".init_array"), aligned(sizeof(func_ptr)))) = { frame_dummy }; #endif /* !defined(__LIBGCC_INIT_SECTION_ASM_OP__) */ -#endif /* USE_EH_FRAME_REGISTRY || __LIBGCC_JCR_SECTION_NAME__ || USE_TM_CLONE_REGISTRY */ +#endif /* USE_EH_FRAME_REGISTRY || USE_TM_CLONE_REGISTRY */ #else /* OBJECT_FORMAT_ELF */ @@ -564,7 +542,6 @@ __do_global_dtors (void) } #if defined(USE_EH_FRAME_REGISTRY) \ - || defined(__LIBGCC_JCR_SECTION_NAME__) \ || defined(USE_TM_CLONE_REGISTRY) /* A helper function for __do_global_ctors, which is in crtend.o. Here in crtbegin.o, we can reference a couple of symbols not visible there. @@ -579,23 +556,11 @@ __do_global_ctors_1(void) __register_frame_info (__EH_FRAME_BEGIN__, &object); #endif -#ifdef __LIBGCC_JCR_SECTION_NAME__ - void **jcr_list; - __asm ("" : "=g" (jcr_list) : "0" (__JCR_LIST__)); - if (__builtin_expect (*jcr_list != NULL, 0)) - { - void (*register_classes) (void *) = _Jv_RegisterClasses; - __asm ("" : "+r" (register_classes)); - if (register_classes) - register_classes (jcr_list); - } -#endif - #if USE_TM_CLONE_REGISTRY register_tm_clones (); #endif /* USE_TM_CLONE_REGISTRY */ } -#endif /* USE_EH_FRAME_REGISTRY || __LIBGCC_JCR_SECTION_NAME__ || USE_TM_CLONE_REGISTRY */ +#endif /* USE_EH_FRAME_REGISTRY || USE_TM_CLONE_REGISTRY */ #else /* ! __LIBGCC_INIT_SECTION_ASM_OP__ && ! HAS_INIT_SECTION */ #error "What are you doing with crtstuff.c, then?" @@ -671,14 +636,6 @@ STATIC EH_FRAME_SECTION_CONST int32 __FRAME_END__[] = { 0 }; #endif /* __LIBGCC_EH_FRAME_SECTION_NAME__ */ -#ifdef __LIBGCC_JCR_SECTION_NAME__ -/* Null terminate the .jcr section array. */ -STATIC void *__JCR_END__[1] - __attribute__ ((used, section(__LIBGCC_JCR_SECTION_NAME__), - aligned(sizeof(void *)))) - = { 0 }; -#endif /* __LIBGCC_JCR_SECTION_NAME__ */ - #if USE_TM_CLONE_REGISTRY # ifndef HAVE_GAS_HIDDEN static @@ -757,7 +714,6 @@ __do_global_ctors (void) { func_ptr *p; #if defined(USE_EH_FRAME_REGISTRY) \ - || defined(__LIBGCC_JCR_SECTION_NAME__) \ || defined(USE_TM_CLONE_REGISTRY) __do_global_ctors_1(); #endif -- cgit v1.2.1