This is the mail archive of the binutils-cvs@sourceware.org mailing list for the binutils 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]

[binutils-gdb] Port libvtv to Solaris


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=87746c154ae96bd3b632198273061eb6879f20a5

commit 87746c154ae96bd3b632198273061eb6879f20a5
Author: Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
Date:   Sat Nov 28 16:39:32 2015 +0000

    Port libvtv to Solaris
    
    	libstdc++-v3:
    	* acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY) <solaris2*>: Use
    	-Wl,-R in VTV_CXXLINKFLAGS.
    	* configure: Regenerate.
    
    	* testsuite/18_support/bad_exception/23591_thread-1.c: Use
    	-fvtable-verify=none on Solaris 12+.
    
    	libgcc:
    	* Makefile.in (VTV_CFLAGS): New variable.
    	(vtv_start$(objext), vtv_end$(objext), vtv_end$(objext))
    	(vtv_start_preinit$(objext), vtv_end_preinit$(objext)): Use it.
    	* config.host (*-*-solaris2*): Add t-crtstuff-pic to tmake_file.
    	Add vtv_start.o, vtv_end.o, vtv_start_preinit.o, vtv_end_preinit.o
    	to extra_parts if $enable_vtable_verify = yes.
    
    	libvtv:
    	* configure.tgt (*-*-solaris2.[1-9]*): Declare supported.
    	* configure.ac: Call AC_USE_SYSTEM_EXTENSIONS.
    	<*-*-solaris2*>: Check for init priority support.
    	Check for getexecname, __fortify_fail, _obstack_begin.
    	(VTV_NO_OBSTACK): New conditional.
    	* configure: Regenerate.
    	* Makefile.am [VTV_NO_OBSTACK] (obstack.c): Use new condition.
    	Create empty config.h
    	* Makefile.in: Regenerate.
    
    	* vtv_rts.cc [HAVE_GETEXECNAME] (program_invocation_name): New
    	variable.
    	(read_section_offset_and_length) [HAVE_GETEXECNAME]: Set it.
    	(dl_iterate_phdr_callback) [HAVE_GETEXECNAME]: Set it.
    
    	(__fortify_fail): Wrap in HAVE___FORTIFY_FAIL
    	[!HAVE___FORTIFY_FAIL]: Provide non-Cygwin implementation.
    
    	(read_section_offset_and_length): Assert sh_size >= VTV_PAGE_SIZE.
    	(iterate_modules): Fix typo.
    	Use VTV_PAGE_SIZE.
    	(dl_iterate_phdr_callback): Fix typo.
    	Use VTV_PAGE_SIZE.
    	(__VLTChangePermission): Fix typos.
    
    	include:
    	* vtv-change-permission.h (VTV_PAGE_SIZE) [__sun__ && __svr4__ &&
    	__sparc__]: Define.
    
    	gcc:
    	* config/sol2.h (SUPPORTS_INIT_PRIORITY): Move up.
    	(STARTFILE_VTV_SPEC, ENDFILE_VTV_SPEC): Define.
    	(STARTFILE_SPEC): Use %(startfile_vtv).
    	(ENDFILE_SPEC): Use %(endfile_vtv).
    	(SUBTARGET_EXTRA_SPECS): Handle STARTFILE_VTV_SPEC,
    	ENDFILE_VTV_SPEC.
    
    	* gcc.c (LINK_COMMAND_SPEC): Move VTABLE_VERIFICATION_SPEC after %{L*}.
    
    git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230865 138bc75d-0d04-0410-961f-82ee72b054a4

Diff:
---
 include/ChangeLog               | 5 +++++
 include/vtv-change-permission.h | 4 ++++
 2 files changed, 9 insertions(+)

diff --git a/include/ChangeLog b/include/ChangeLog
index 6b01d24..c8c0900 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,3 +1,8 @@
+2015-11-25  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+	* vtv-change-permission.h (VTV_PAGE_SIZE) [__sun__ && __svr4__ &&
+	__sparc__]: Define.
+
 2015-11-09  Alan Modra  <amodra@gmail.com>
 
 	PR gdb/17133
diff --git a/include/vtv-change-permission.h b/include/vtv-change-permission.h
index 92e0a2e..04ad8c3 100644
--- a/include/vtv-change-permission.h
+++ b/include/vtv-change-permission.h
@@ -46,8 +46,12 @@ extern void __VLTChangePermission (int);
 /* TODO - Replace '4096' below with correct big page size.  */
 #define VTV_PAGE_SIZE 4096
 #else 
+#if defined(__sun__) && defined(__svr4__) && defined(__sparc__)
+#define VTV_PAGE_SIZE 8192
+#else
 #define VTV_PAGE_SIZE 4096
 #endif
+#endif


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