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]

[PATCH] Avoid DT_TEXTREL libgcj.so on s390*


Hi!

libgcj has one .text relocation (against ffi_closure_helper_SYSV).
Either it can be made .hidden (the attribute will be ignored by
older GCCs), or sysv.S should call ffi_closure_helper_SYSV through
PLT. The __attribute__ could be guarded with
#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 2)
if libffi is meant to be built by non-GCC compilers.

2003-02-04  Jakub Jelinek  <jakub@redhat.com>

	* src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
	attribute.

--- libffi/src/s390/ffi.c.jj	2002-10-12 17:47:03.000000000 -0400
+++ libffi/src/s390/ffi.c	2003-02-04 12:08:57.000000000 -0500
@@ -70,9 +70,10 @@
  
 static void ffi_prep_args (unsigned char *, extended_cif *);
 static int ffi_check_float_struct (ffi_type *);
-void ffi_closure_helper_SYSV (ffi_closure *, unsigned long *, 
-			      unsigned long long *, unsigned long *);
- 
+void __attribute__ ((visibility ("hidden")))
+ffi_closure_helper_SYSV (ffi_closure *, unsigned long *, 
+			 unsigned long long *, unsigned long *);
+
 /*====================== End of Prototypes ===========================*/
  
 /*====================================================================*/

	Jakub


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