Port libvtv to Solaris

Rainer Orth ro@CeBiTec.Uni-Bielefeld.DE
Wed Nov 25 12:20:00 GMT 2015


Jeff Law <law@redhat.com> writes:

>> 2015-08-20  Rainer Orth<ro@CeBiTec.Uni-Bielefeld.DE>
>>
>> 	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.
>> 	* 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*}.
> The non-Solaris and non-libvtv bits are OK as well.  I think that covers
> everything since you own the Solaris stuff and Caroline approved the libvtv
> stuff.  Right?

Yes indeed.  Thanks for all your totally amazing review work.

	Rainer

-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University



More information about the Gcc-patches mailing list