Commit Graph

166 Commits

Author SHA1 Message Date
Caroline Tice
2077db1be5 Commit the vtable verification feature.
Commit the vtable verification feature.  This feature is designed to
detect, at run time, if/when the vtable pointer in a C++ object has
been corrupted, before allowing virtual calls through that pointer. 
If pointer corruption is detected, execution of the program is halted.

libstdc++-v3 ChangeLog:
2013-08-06  Caroline Tice  <cmtice@google.com>

        * fragment.am: Add XTEMPLATE_FLAGS.
        * configure.ac: Add definitions for --enable-vtable-verify.
        * acinclude.m4:  Add --enable-vtable-verify and
        --disable-vtable-verify; define --enable-vtable-verify; define
        VTV_CXXFLAGS, VTV_PCH_CXXFLAGS and VTV_CXXLINKFLAGS.
        * config/abi/pre/gnu.ver: Export symbols for vtable verification.
        * libsupc++/Makefile.am: Define vtv_sources and add it to
        libsupc___la_SOURCES and libsupc__convenience_la_SOURCES.
        * libsupc++/vtv_stubs.cc: New file.
        * include/Makefile.am: Add VTV_PCH_CXXFLAGS to PCHFLAGS.
        * src/Makefile.am: Add VTV_CXXFLAGS to AM_CXXFLAGS; add
        VTV_CXXLINKFLAGS to CXXLINK.
        * src/c++98/Makefile.am: Comment out XTEMPLATE_FLAGS; add VTV_CXXFLAGS
        to AM_CXXFLAGS; add VTV_CXXXLINKFLAGS to CXXLINK.
        * src/C++11/Makefile.am: Ditto.
        * doc/xml/manual/configure.xml: Add entry for --enable-vtable-verify.
        * scripts/testsuite_flags.in: Add cxxvtvflags to Usage; cause
        cxxvtvflags to use VTV_CXXFLAGS and VTV_CXXLINKFLAGS.
        * testsuite/lib/libstdc++.exp: Add cxxvtvflags; add code to locate
        libvtv if --enable-vtable-verify was used; set cxxvtvflags; add
        cxxvtvflags to cxx_final.
        * testsuite/18_support/bad_exception/23591_thread-1.c: Add
        -fvtable-verify=none to compiler flags.
        * testsuite/17_intro/freestanding.cc: Add -fvtable-verify=none
        to compiler flags.
        * configure: Regenerated.
        * Makefile.in: Regenerated.
        * python/Makefile.in: Regenerated.
        * include/Makefile.in: Regenerated.
        * libsupc++/Makefile.in: Regenerated.
        * config.h.in: Regenerated.
        * po/Makefile.in: Regenerated.
        * src/Makefile.in: Regenerated.
        * src/c++98/Makefile.in: Regenerated.
        * src/c++11/Makefile.in: Regenerated.
        * doc/Makefile.in: Regenerated.
        * testsuite/Makefile.in: Regenerated.

top level ChangeLog:
2013-08-06  Caroline Tice  <cmtice@google.com>

        * configure.ac: Add target-libvtv to target_libraries; disable libvtv
        on non-linux systems; add target-libvtv to noconfigdirs; add
        libsupc++/.libs to C++ library search paths.
        * configure: Regenerated.
        * Makefile.def: Add libvtv to target_modules; make libvtv depend on
        libstdc++ and libgcc.
        * Makefile.in: Regenerated.

include/ChangeLog:
2013-08-06  Caroline Tice  <cmtice@google.com>

        * vtv-change-permission.h: New file.

contrib/ChangeLog:
2013-08-06  Caroline Tice4  <cmtice@google.com>

        * gcc_update: Add libvtv files.

libgcc/ChangeLog:
2013-08-06  Caroline Tice  <cmtice@google.com>

        config.host (extra_parts): Add vtv_start.o, vtv_end.o
        vtv_start_preinit.o and vtv_end_preinit.o.
        configure.ac: Add code to check/set enable_vtable_verify.
        Makefile.in: Add rules to build vtv_*.o, if enable_vtable_verify is
        true.
        vtv_start_preinit.c: New file.
        vtv_end_preinit.c: New file.
        vtv_start.c: New file.
        vtv_end.c: New file.
        configure: Regenerated.

gcc/ChangeLog:
2013-08-06  Caroline Tice  <cmtice@google.com>

        * gcc.c (VTABLE_VERIFICATION_SPEC): New definition.
        (LINK_COMMAND_SPEC): Add VTABLE_VERIFICATION_SPEC.
        * tree-pass.h: Add pass_vtable_verify.
        * varasm.c (assemble_variable): Add code to properly set the comdat
        section and name for the .vtable_map_vars section.
        (assemble_vtyv_preinit_initializer): New function.
        (default_sectin_type_flags):  Make sure .vtable_map_vars section has
        LINK_ONCE flag.
        * output.h: Add function decl for assemble_vtv_preinit_initializer.
        * vtable-verify.c: New file.
        * vtable-verify.h: New file.
        * flag-types.h (enum vtv_priority): Defintions for flag_vtable_verify
        initialiation levels.
        * timevar.def (TV_VTABLE_VERIFICATION): New definition.
        * passes.def: Insert pass_vtable_verify.
        * aclocal.m4: Reorder includes.
        * doc/invoke.texi: Add documentation for the flags -fvtable-verify=,
	-fvtv-debug and -fvtv-counts.
        * config/gnu-user.h (GNU_USER_TARGET_STARTFILE_SPEC): Add vtv_start*.o,
as appropriate, if -fvtable-verify=... is used.
        (GNU_USER_TARGET_ENDFILE_SPEC): Add vtv_end*.o as appropriate, if
        -fvtable-verify=... is used.
        * Makefile.in (OBJS):  Add vtable-verify.o to list.
        (vtable-verify.o): Add new build rule.
        (GTFILES): Add vtable-verify.c to list.
        * common.opt (fvtable-verify=): New flag.
        (vtv_priority): Values for fvtable-verify= flag.
        (fvtv-counts): New flag.
(fvtv-debug): New flag.
        * tree.h (save_vtable_map_decl): New extern function decl.


gcc/cp/ChangeLog:
2013-08-06  Caroline Tice  <cmtice@google.com>

        * Make-lang.in (*CXX_AND_OBJCXX_OBJS):  Add vtable-class-hierarchy.o to
        list.
        (vtable-class-hierarchy.o): Add build rule.
        * cp-tree.h (vtv_start_verification_constructor_init_function): New
        extern function decl.
        (vtv_finish_verification_constructor_init_function): New extern
        function decl.
        (build_vtbl_address): New extern function decl.
        (get_mangled_vtable_map_var_name): New extern function decl.
        (vtv_compute_class_hierarchy_transitive_closure): New extern function
        decl.
        (vtv_generate_init_routine): New extern function decl.
        (vtv_save_class_info): New extern function decl.
        (vtv_recover_class_info): New extern function decl.
        (vtv_build_vtable_verify_fndecl): New extern function decl.
        * class.c (finish_struct_1): Add call to vtv_save_class_info if
        flag_vtable_verify is true.
        * config-lang.in: Add vtable-class-hierarchy.c to gtfiles list.
        * vtable-class-hierarchy.c: New file.
        * mangle.c (get_mangled_vtable_map_var_name):  New function.
        * decl2.c (start_objects): Update function comment.
        (cp_write_global_declarations): Call vtv_recover_class_info,
        vtv_compute_class_hierarchy_transitive_closure and
        vtv_build_vtable_verify_fndecl, before calling
        finalize_compilation_unit, and call vtv_generate_init_rount after, IFF
        flag_vtable_verify is true.
        (vtv_start_verification_constructor_init_function): New function.
        (vtv_finish_verification_constructor_init_function): New function.
        * init.c (build_vtbl_address): Remove static qualifier from function.

libvtv/ChangeLog:
2013-08-06  Caroline Tice  <cmtice@google.com>

        Initial check-in of new vtable verification feature.
        * configure.ac : New file.
        * acinclude.m4 : New file.
        * Makefile.am : New file.
        * aclocal.m4 : New file.
        * configure.tgt : New file.
        * configure: New file (generated).
        * Makefile.in: New file (generated).
        * vtv_set.h : New file.
        * vtv_utils.cc : New file.
        * vtv_utils.h : New file.
        * vtv_malloc.cc : New file.
        * vtv_rts.cc : New file.
        * vtv_malloc.h : New file.
        * vtv_rts.h : New file.
        * vtv_fail.cc : New file.
        * vtv_fail.h : New file.
        * vtv_map.h : New file.
        * scripts/run-testsuite.sh : New file.
        * scripts/sum-vtv-counts.c : New file.
        * testsuite/parts-test-main.h : New file.
        * testusite/dataentry.cc : New file.
        * testsuite/temp_deriv.cc : New file.
        * testsuite/register_pair.cc : New file.
        * testsuite/virtual_inheritance.cc : New file.
        * testsuite/field-test.cc : New file.
        * testsuite/nested_vcall_test.cc : New file.
        * testsuite/template-list-iostream.cc : New file.
        * testsuite/register_pair_inserts.cc : New file.
        * testsuite/register_pair_inserts_mt.cc : New file.
        * testsuite/event.list : New file.
        * testsuite/parts-test-extra-parts-views.cc : New file.
        * testsuite/parts-test-extra-parts-views.h : New file.
        * testsuite/environment-fail-32.s : New file.
        * testsuite/parts-test-extra-parts.h : New file.
        * testsuite/temp_deriv2.cc : New file.
        * testsuite/dlopen_mt.cc : New file.
        * testsuite/event.h : New file.
        * testsuite/template-list.cc : New file.
        * testsuite/replace-fail.cc : New file.
        * testsuite/Makefile.am : New file.
        * testsuite/Makefile.in: New file (generated).
        * testsuite/mempool_negative.c : New file.
        * testsuite/parts-test-main.cc : New file.
        * testsuite/event-private.cc : New file.
        * testsuite/thunk.cc : New file.
        * testsuite/event-defintiions.cc : New file.
        * testsuite/event-private.h : New file.
        * testsuite/parts-test.list : New file.
        * testusite/register_pair_mt.cc : New file.
        * testsuite/povray-derived.cc : New file.
        * testsuite/event-main.cc : New file.
        * testsuite/environment.cc : New file.
        * testsuite/template-list2.cc : New file.
        * testsuite/thunk_vtable_map_attack.cc : New file.
        * testsuite/parts-test-extra-parts.cc : New file.
        * testsuite/environment-fail-64.s : New file.
        * testsuite/dlopen.cc : New file.
        * testsuite/so.cc : New file.
        * testsuite/temp_deriv3.cc : New file.
        * testsuite/const_vtable.cc : New file.
        * testsuite/mempool_positive.c : New file.
        * testsuite/dup_name.cc : New file.

From-SVN: r201555
2013-08-06 20:38:59 -07:00
Matthias Klose
6ab7e76a59 Makefile.def (target_modules): Don't install libffi.
2013-03-30  Matthias Klose  <doko@ubuntu.com>

        * Makefile.def (target_modules): Don't install libffi.
        * Makefile.in: Regenerate.

From-SVN: r197264
2013-03-30 11:22:02 +00:00
Matthias Klose
197fa28c0e Makefile.def (install-target-libsanitizer): Depend on install-target-libstdc++-v3.
2013-01-14  Matthias Klose  <doko@ubuntu.com>

        * Makefile.def (install-target-libsanitizer): Depend on
        install-target-libstdc++-v3.
        * Makefile.in: Regenerate.

From-SVN: r195152
2013-01-14 16:15:21 +00:00
H.J. Lu
458752def1 Build gmp before configuring gcc
* Makefile.def (configure-gcc): Depend on all-gmp.
	(all-gcc): Remove dependency on all-gmp.
	* Makefile.in: Regenerated.

From-SVN: r195052
2013-01-09 07:00:41 -08:00
Jan-Benedict Glaw
51c1ff0cbd Makefile.def: Merge from binutils.
* Makefile.def: Merge from binutils.
	* Makefile.in: Dito.

From-SVN: r195038
2013-01-08 22:34:23 +00:00
Matthias Klose
d89da9dbda Makefile.def (install-target-libgfortran): Depend on install-target-libquadmath, install-target-libgcc.
2012-12-20  Matthias Klose  <doko@ubuntu.com>

        * Makefile.def (install-target-libgfortran): Depend on
        install-target-libquadmath, install-target-libgcc.
        (install-target-libsanitizer): Depend on install-target-libgcc.
        (install-target-libjava): Depend on install-target-libgcc.
        (install-target-libitm): Depend on install-target-libgcc.
        (install-target-libobjc): Depend on install-target-libgcc.
        (install-target-libstdc++-v3): Depend on install-target-libgcc.
        * Makefile.in: Regenerate.

From-SVN: r194650
2012-12-20 19:17:53 +00:00
Matthias Klose
6ce8fd9d2b Makefile.def (install-target-libgo): Depend on install-target-libatomic.
2012-12-19  Matthias Klose  <doko@ubuntu.com>

        * Makefile.def (install-target-libgo): Depend on 
        install-target-libatomic.
        * Makefile.in: Regenerate.

From-SVN: r194616
2012-12-19 16:18:37 +00:00
Andreas Schwab
0b8ca8fefe libgo: Link against libatomic.
./:
	PR go/55201
	* Makefile.def (all-target-libgo): Depend on all-target-libatomic.
	* Makefile.in: Regenerate.
gcc/go:
	PR go/55201
	* gospec.c (LIBATOMIC): Define.
	(LIBATOMIC_PROFILE): Define.
	(lang_specific_driver): Add LIBATOMIC[_PROFILE] option.
gcc/testsuite:
	* lib/go.exp (go_link_flags): Add libatomic location to flags and
	ld_library_path.

From-SVN: r194581
2012-12-18 14:28:24 +00:00
H.J. Lu
ac8701fe91 Add --with-build-config=bootstrap-asan support
* Makefile.def (target_modules): Add bootstrap=true and
	raw_cxx=true to libsanitizer.
	* configure.ac (bootstrap_target_libs): Add libsanitizer.
	* Makefile.in: Regenerated.
	* configure: Likewise.

From-SVN: r194425
2012-12-11 13:35:40 -08:00
H.J. Lu
99319980d3 Remove bootstrap=true from libsanitizer
* Makefile.def (target_modules): Remove bootstrap=true and
	raw_cxx=true from libsanitizer.
	* configure.ac (bootstrap_target_libs): Remove libsanitizer.
	* Makefile.in: Regenerated.
	* configure: Likewise.

From-SVN: r193950
2012-11-29 11:13:08 -08:00
H.J. Lu
c3cc0031a0 Add --with-build-config=bootstrap-asan support
* Makefile.def (target_modules): Add bootstrap=true and
	raw_cxx=true to libsanitizer.
	* configure.ac (bootstrap_target_libs): Add libsanitizer.
	* Makefile.in: Regenerated.
	* configure: Likewise.

config/

	* bootstrap-asan.mk: New file.

From-SVN: r193940
2012-11-29 08:33:35 -08:00
Wei Mi
f35db108b9 Import the asan runtime library into GCC tree
This patch imports the runtime library in the GCC tree, ensures that
-lasan is passed to the linker when -faddress-sanitizer is used and
sets up the build system accordingly.

ChangeLog:

	* configure.ac: Add libsanitizer to target_libraries.
	* Makefile.def: Ditto.
	* configure: Regenerate.
	* Makefile.in: Regenerate.
	* libsanitizer: New directory for asan runtime.  Contains an empty
	tsan directory.

gcc/ChangeLog:

	* gcc.c (LINK_COMMAND_SPEC): Add -laddress-sanitizer to link
	command if -faddress-sanitizer is on.

libsanitizer:

	Initial checkin: migrate asan runtime from llvm.

From-SVN: r193441
2012-11-12 16:53:47 +01:00
Ian Lance Taylor
0e56e59065 libgo: Use libbacktrace rather than debug/elf registration.
From-SVN: r191831
2012-09-28 14:48:30 +00:00
Ian Lance Taylor
d83697f4f0 Makefile.def: Make all-gcc depend on all-libbacktrace.
./:	* Makefile.def: Make all-gcc depend on all-libbacktrace.
	* Makefile.in: Rebuild.
gcc/:
	* diagnostic.c: Include "demangle.h" and "backtrace.h".
	(bt_stop): New static array.
	(bt_callback, bt_err_callback): New static functions.
	(diagnostic_action_after_output): Call backtrace_full for DK_ICE.
	* Makefile.in (BACKTRACE): New variable.
	(BACKTRACEINC, LIBBACKTRACE): New variables.
	(BACKTRACE_H): New variable.
	(LIBDEPS, LIBS): Add $(LIBBACKTRACE).
	(INCLUDES): Add $(BACKTRACEINC).
	(diagnostic.o): Depend upon $(DEMANGLE_H) and $(BACKTRACE_H).

From-SVN: r191757
2012-09-26 12:38:08 +00:00
Ian Lance Taylor
eff02e4f84 libbacktrace/:
* Initial implementation.

./:
	* MAINTAINERS (Various Maintainers): Add libbacktrace.
	* configure.ac (host_libs): Add libbacktrace.
	(target_libraries): Add libbacktrace.
	* Makefile.def (host_modules): Add libbacktrace.
	(target_modules): Likewise.
	* configure, Makefile.in: Rebuild.

gcc/go:
	* config-lang.in (target_libs): Add target-libbacktrace.

From-SVN: r191397
2012-09-17 16:38:38 +00:00
H.J. Lu
61171996fc Don't set HOST_LIB_PATH_bfd/HOST_LIB_PATH_opcodes
PR binutils/4970
	* Makefile.def (host_modules): Rmove lib_path=.libs from bfd
	and opcodes.
	* Makefile.in: Regenerated.

From-SVN: r190689
2012-08-26 07:40:22 -07:00
Richard Guenther
81ef887874 Makefile.def (cloog): Pass $(HOST_GMPINC) and $(HOST_ISLINC) as CPPFLAGS...
2012-07-06  Richard Guenther  <rguenther@suse.de>

	* Makefile.def (cloog): Pass $(HOST_GMPINC) and $(HOST_ISLINC)
	as CPPFLAGS, pass path to built gmp as LDFLAGS, always use
	--with-gmp=system.
	* Makefile.in: Regenerated.
	* configure: Likewise.

From-SVN: r189328
2012-07-06 12:55:34 +00:00
Richard Guenther
0ff2d841ec configure.ac (extra_isl_gmp_configure_flags): Initialize and subst.
2012-07-06  Richard Guenther  <rguenther@suse.de>

	* configure.ac (extra_isl_gmp_configure_flags): Initialize and subst.
	* Makefile.def (isl): Use extra_isl_gmp_configure_flags and
	supply V=1 as extra_make_flags.
	* configure: Regenerated.
	* Makefile.in: Likewise.

From-SVN: r189327
2012-07-06 12:31:03 +00:00
Richard Guenther
1fcd23ac0d Makfile.def (isl): Remove not necessary extra_exports and extra_make_flags.
2012-07-03  Richard Guenther  <rguenther@suse.de>

	* Makfile.def (isl): Remove not necessary extra_exports and
	extra_make_flags.
	(cloog): Use $$CPPFLAGS instead of ${CPPFLAGS}.
	* Makefile.in: Regenerated.

From-SVN: r189212
2012-07-03 10:12:34 +00:00
Richard Guenther
32d024bfd2 cloog.m4: Remove debugging print.
2012-07-03  Richard Guenther  <rguenther@suse.de>

	config/
	* cloog.m4: Remove debugging print.

	* Makefile.def (cloog): Add V=1 to extra_make_flags.
	* configure.ac: If either the ISL or the CLooG check failed
	do not try to build in-tree versions.
	* Makefile.in: Regenerated.
	* configure: Regenerated.

From-SVN: r189209
2012-07-03 09:44:53 +00:00
Richard Guenther
33ad93b9f4 cloog.m4: Set up to work against ISL only.
2012-07-02  Richard Guenther  <rguenther@suse.de>
	Michael Matz  <matz@suse.de>
	Tobias Grosser <tobias@grosser.es>
	Sebastian Pop <sebpop@gmail.com>

	config/
	* cloog.m4: Set up to work against ISL only.
	* isl.m4: New file.

	* Makefile.def: Add ISL host module, remove PPL host module.
	Adjust ClooG host module to use the proper ISL.
	* Makefile.tpl: Pass ISL include flags instead of PPL ones.
	* configure.ac: Include config/isl.m4.  Add ISL host library,
	remove PPL.  Remove PPL configury, add ISL configury, adjust
	ClooG configury.
	* Makefile.in: Regenerated.
	* configure: Likewise.

	gcc/
	* Makefile.in: Remove PPL flags in favor of ISL ones.
	(BACKENDLIBS): Remove PPL libs.
	(INCLUDES): Remove PPL includes in favor of ISL ones.
	(graphite-clast-to-gimple.o): Remove graphite-dependences.h and
	graphite-cloog-compat.h dependencies.
	(graphite-dependences.o): Likewise.
	(graphite-poly.o): Likewise.
	* configure.ac: Declare ISL vars instead of PPL ones.
	* configure: Regenerated.
	* doc/install.texi: Replace PPL requirement documentation
	with ISL one.
	* graphite-blocking.c: Remove PPL code, add ISL equivalent.
	* graphite-clast-to-gimple.c: Likewise.
	* graphite-dependences.c: Likewise.
	* graphite-interchange.c: Likewise.
	* graphite-poly.h: Likewise.
	* graphite-poly.c: Likewise.
	* graphite-sese-to-poly.c: Likewise.
	* graphite.c: Likewise.
	* graphite-scop-detection.c: Re-arrange includes.
	* graphite-cloog-util.c: Remove.
	* graphite-cloog-util.h: Likewise.
	* graphite-ppl.h: Likewise.
	* graphite-ppl.c: Likewise.
	* graphite-dependences.h: Likewise.

	libgomp/
	* testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
	* testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
	* testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
	* testsuite/libgomp.graphite/force-parallel-8.c: Likewise.

Co-Authored-By: Michael Matz <matz@suse.de>
Co-Authored-By: Sebastian Pop <sebpop@gmail.com>
Co-Authored-By: Tobias Grosser <tobias@grosser.es>

From-SVN: r189156
2012-07-02 11:43:46 +00:00
Jason Merrill
056d8580b6 Makefile.tpl (check-target-libgomp-c++): New.
* Makefile.tpl (check-target-libgomp-c++): New.
	(check-target-libitm-c++): New.
	* Makefile.def (c++): Add them.
	* Makefile.in: Regenerate.

From-SVN: r188842
2012-06-20 14:26:04 -04:00
Richard Henderson
483104922a Add libatomic as a target library.
From-SVN: r187018
2012-05-01 08:48:28 -07:00
Richard Guenther
d18ede3732 re PR bootstrap/51686 ("make install-strip-gcc" didn't install liblto-plugin* files)
2012-01-02  Richard Guenther  <rguenther@suse.de>

	PR bootstrap/51686
	* Makefile.def (install-strip-gcc): Depend on install-strip-lto-plugin.
	* Makefile.in: Regenerate.

From-SVN: r182788
2012-01-02 10:59:04 +00:00
Roland McGrath
e7a82751a5 configure.ac: Add tool checks for READELF and READELF_FOR_TARGET.
2011-11-09  Roland McGrath  <mcgrathr@google.com>
* configure.ac: Add tool checks for READELF and READELF_FOR_TARGET.
* configure: Rebuild.
* Makefile.def (flags_to_pass): Add READELF_FOR_TARGET.
* Makefile.tpl (READELF, READELF_FOR_TARGET): New variables.
(HOST_EXPORTS): Add READELF, READELF_FOR_TARGET.
(BASE_FLAGS_TO_PASS): Add READELF_FOR_TARGET.
(BASE_TARGET_EXPORTS, EXTRA_HOST_FLAGS, EXTRA_TARGET_FLAGS):
Add READELF.
* Makefile.in: Rebuild.

From-SVN: r181230
2011-11-09 13:57:26 -05:00
Jason Merrill
e399136a6a Run most tests in both C++98 and C++11 modes.
gcc/testsuite/
	* lib/target-supports.exp (check_effective_target_c++11): New.
	(check_effective_target_c++98): New.
	* lib/g++-dg.exp (g++-dg-runtest): New.
	* [various.exp]: Use g++-dg-runtest.
	* [various.C]: Fix for C++11 mode.
gcc/cp/
	* Make-lang.in (check_g++_parallelize): Add dg-torture.exp.
	(check-c++0x): Obsolete.
/
	* Makefile.def (language=c++): Remove check-c++0x.
	* Makefile.in (check-gcc-c++): Regenerate.

From-SVN: r181222
2011-11-09 12:53:53 -05:00
Aldy Hernandez
0a35513e4e Merge from transactional-memory branch.
From-SVN: r181154
2011-11-08 11:13:41 +00:00
Jason Merrill
32c87d63d2 Makefile.def (language=c++): Add check-c++0x and check-target-libmudflap-c++.
* Makefile.def (language=c++): Add check-c++0x and
	check-target-libmudflap-c++.
	* Makefile.tpl (check-target-libmudflap-c++): New.
	* Makefile.in: Regenerate.

From-SVN: r176367
2011-07-16 23:34:13 -04:00
Matthias Klose
a4a2c37d8b install.texi: Document --enable-static-libjava.
gcc/

2011-07-16  Matthias Klose  <doko@ubuntu.com>

        * doc/install.texi: Document --enable-static-libjava.

<toplevel>

2011-07-16  Matthias Klose  <doko@ubuntu.com>

        * Makefile.tpl (EXTRA_CONFIGARGS_LIBJAVA): Define.
        * Makefile.def (target_modules/libjava): Pass
        $(EXTRA_CONFIGARGS_LIBJAVA).
        * configure.ac: Pass --disable-static in EXTRA_CONFIGARGS_LIBJAVA,
        if not configured with --enable-static-libjava.
        * Makefile.in: Regenerate.
        * configure: Likewise.

From-SVN: r176351
2011-07-16 08:33:10 +00:00
Hans-Peter Nilsson
8499116aa3 re PR regression/47836 (Some Cross Compiler can't build target-libiberty or target-zlib)
PR47836
	PR23656
	PR47733
	PR49247
	* configure.ac (target_libraries): Remove target-libiberty.
	Remove case-statement setting skipdirs=target-libiberty for
	multiple targets.  Remove checking target_configdirs and
	removing target-libiberty but keeping target-libgcc if
	otherwise empty.
	* Makefile.def (target_modules): Don't add libiberty.
	(dependencies): Remove all traces of target-libiberty.
	* configure, Makefile.in: Regenerate.

From-SVN: r175304
2011-06-22 19:40:45 +00:00
Joseph Myers
85bfb75e74 configure.ac (build_tools): Remove build-byacc.
* configure.ac (build_tools): Remove build-byacc.
	(host_libs): Remove mmalloc.
	(host_tools): Remove byacc make patch prms send-pr ash bash bzip2
	autoconf automake libtool diff rcs fileutils shellutils time
	textutils wdiff find uudecode hello tar gzip indent recode release
	sed perl gawk findutils gettext zip.
	(libgcj): Remove target-qthreads.
	(target_tools): Remove target-examples target-gperf.
	(YACC): Don't handle building byacc.
	* configure: Regenerate.
	* Makefile.def (ash, autoconf, automake, bash, byacc, bzip2, diff,
	dosutils, examples, fileutils, find, findutils, gawk, gettext,
	gnuserv, gperf, gzip, hello, indent, libtool, make, mmalloc,
	patch, perl, prms, qthreads, rcs, recode, release, sed, send-pr,
	shellutils, tar, textutils, time, uudecode, wdiff, zip): Don't
	handle building components.
	* Makefile.in: Regenerate.

From-SVN: r172042
2011-04-06 13:18:12 +01:00
Paolo Bonzini
50e373331f configure.ac: Remove references to mt-mep, mt-netware, mt-wince.
2011-03-24  Paolo Bonzini  <pbonzini@redhat.com>

        * configure.ac: Remove references to mt-mep, mt-netware,
        mt-wince.
        * Makefile.def: Add all-utils soft dependencies.
        * Makefile.tpl: Remove GDB_NLM_DEPS.
        * configure: Regenerate.
        * Makefile.in: Regenerate.

config:
2011-03-24  Paolo Bonzini  <pbonzini@redhat.com>

        * mt-mep: Remove, obsolete.
        * mt-netware: Remove, obsolete.
        * mt-wince: Remove, obsolete.
        * mt-v810: Remove, unused.

From-SVN: r171422
2011-03-24 17:47:30 +00:00
Paolo Bonzini
1e2c3ec441 Makefile.def: Add dependency from termcap to gdb.
2011-03-24  Paolo Bonzini  <bonzini@gnu.org>
 
	* Makefile.def: Add dependency from termcap to gdb.
	* Makefile.in: Regenerate.

config:
2011-03-24  Paolo Bonzini  <bonzini@gnu.org>

        * mh-cygwin: Remove obsolete variables and dependencies.

From-SVN: r171417
2011-03-24 17:11:26 +00:00
Paolo Bonzini
73a817c422 configure.ac: Remove all mentions of mh-sysv4 and mh-solaris.
2011-03-24  Paolo Bonzini  <bonzini@gnu.org>

	* configure.ac: Remove all mentions of mh-sysv4 and mh-solaris.
	* configure: Regenerate.
	* Makefile.def: Remove all mentions of X11_FLAGS_TO_PASS.
	* Makefile.tpl: Likewise.
	* Makefile.in: Regenerate.

config:
2011-03-24  Paolo Bonzini  <bonzini@gnu.org>

	* mh-sysv4: Remove.
	* mh-solaris: Remove.

From-SVN: r171416
2011-03-24 17:07:44 +00:00
Alexandre Oliva
f3d533d3b5 re PR lto/47225 (cross-compile fails while configuring libgcc with "xgcc: fatal error: -fuse-linker-plugin, but liblto_plugin.so not found")
ChangeLog:
PR lto/47225
* Makefile.def (lto-plugin): Double dash for enable-shared.
(configure-gcc): Depend on all-lto-plugin.
* Makefile.in: Rebuilt.
lto-plugin/ChangeLog:
PR lto/47225
* Makefile.am (gcc_build_dir, in_gcc_libs): New.
(liblto_plugin_la_LDFLAGS): Add -module.
(copy_lto_plugin): Renamed to...
($(in_gcc_libs)): ... this.  Add mkinstalldirs.  Skip copying
of static modules.
* Makefile.in: Rebuild.
gcc/ChangeLog:
PR lto/47225
* configure.ac (gcc_cv_lto_plugin): Test for liblto_plugin.la
in the current directory.
* configure: Rebuilt.

From-SVN: r170070
2011-02-12 12:02:24 +00:00
Kai Tietz
b1b0c7e63d re PR lto/47225 (cross-compile fails while configuring libgcc with "xgcc: fatal error: -fuse-linker-plugin, but liblto_plugin.so not found")
2011-02-06  Kai Tietz  <kai.tietz@onevision.com>

	PR lto/47225
	* Makefile.def: Add dependency for install-gcc
	on install-lto-plugin.
	* Makfile.in: Regenerated

From-SVN: r169863
2011-02-06 16:06:56 +01:00
Jan Hubicka
03ebe6c3b3 re PR lto/47225 (cross-compile fails while configuring libgcc with "xgcc: fatal error: -fuse-linker-plugin, but liblto_plugin.so not found")
PR lto/47225
	* Makefile.in: Regenerate.
	* Makefile.def (lto-plugin): Always pass enable-shared to the plugin
	configure.

From-SVN: r168612
2011-01-09 14:34:41 +00:00
Jan Hubicka
96bdf9b403 Makefile.in: Regenerate.
* Makefile.in: Regenerate.
	* Makefile.def (gcc host module) and soft dependency on lto-plugin
	and configure dependency on lto-plugin configure.
	(lto-plugin module): Remove dependency on GCC; add dependency on
	liniberty.

	* doc/invoke.texi: (-flto, -fuse-linker-plugin): Update defaults
	and no longer claim that gold is required for linker plugin.
	* configure: Regenerate.
	* gcc.c (PLUGIN_COND): New macro.
	(LINK_COMMAND_SPEC): Use it.
	(main): Default to plugin enabled with HAVE_LTO_PLUGIN is set.
	* config.in (HAVE_LTO_PLUGIN): New.
	* configure.ac (--with-lto-plugin): New parameter; autodetect
	HAVE_LTO_PLUGIN.

From-SVN: r168593
2011-01-08 01:37:00 +00:00
Jakub Jelinek
d652f226fc Update Copyright years for files modified in 2010.
From-SVN: r168438
2011-01-03 21:52:22 +01:00
Alexandre Oliva
9aff220f24 re PR fortran/46020 (Improve error string for BIND(C) diagnostic for len>1 character return type)
PR other/46020
* configure.ac (CXX_FOR_TARGET): Add -funconfigured-libstdc++-v3.
* Makefile.def (CXX_FOR_TARGET): Removed from flags_to_pass.
* Makefile.tpl (CXX_FOR_TARGET_FLAG_TO_PASS): New.
(BASE_FLAGS_TO_PASS): Use it.
* configure: Rebuilt.
* Makefile.in: Rebuilt.

From-SVN: r167160
2010-11-26 04:25:32 +00:00
Ralf Wildenhues
455c8f4873 PR other/46202: implement install-strip.
/:
	PR other/46202
	* configure.ac: Fix just-built in-tree STRIP name to be
	binutils/strip-new.
	* configure: Regenerate.
	* Makefile.def (install-strip-gcc, install-strip-binutils)
	(install-strip-opcodes, install-strip-ld, install-strip-itcl)
	(install-strip-sid): Mirror dependencies on non-strip variants
	of these targets on the respective -strip prerequisites.
	* Makefile.tpl (install-strip, install-strip-host)
	(install-strip-target): New targets.
	(install-strip-[+module+], install-strip-target-[+module+]):
	New targets.
	* Makefile.in: Regenerate.

gcc/:
	PR other/46202
	* Makefile.in (install_sh, INSTALL_STRIP_PROGRAM): New
	variables.
	(AR_FOR_TARGET, RANLIB_FOR_TARGET, STRIP_FOR_TARGET): Fix
	shell quoting.
	(STRIP_FOR_TARGET): Look for in-tree strip under name strip-new.
	(install-strip): New target.
	(STRIPPROG): New variable, exported if STRIP is set.
	* doc/install.texi (Final install): Minor markup and code style
	fixes.  Document install-strip target.

fixincludes/:
	PR other/46202
	* Makefile.in (install-strip): New phony target.
	(all, check, install): Also mark as phony.

libgcc/:
	PR other/46202
	* Makefile.in (install-strip): New phony target.

libiberty/:
	PR other/46202
	* Makefile.in (install-strip): New phony target.
	(install): Also mark as phony.

gnattools/:
	PR other/46202
	* Makefile.in (install-strip): New phony target.
	(check, installcheck, info, dvi, pdf, html, install)
	(install-info, install-pdf, install-html, mostlyclean)
	(clean, distclean, maintainer-clean): Mark phony.

libada/:
	PR other/46202
	* Makefile.in (install-strip): New phony target.
	(check, installcheck, info, dvi, pdf, html, install)
	(install-info, install-pdf, install-html, mostlyclean)
	(clean, distclean, maintainer-clean): Mark phony.

From-SVN: r166980
2010-11-20 19:37:08 +00:00
Ian Lance Taylor
632e2a0763 configure.ac: Add target-libgo to target_libraries.
* configure.ac: Add target-libgo to target_libraries.  Set
	and substitute GOC_FOR_BUILD and GOC_FOR_TARGET.
	* Makefile.tpl (BUILD_EXPORTS): Add GOC and GOCFLAGS.
	(HOST_EXPORTS): Add GOC.
	(BASE_TARGET_EXPORTS): Add GOC.
	(GOC_FOR_BUILD, GOCFLAGS, GOC_FOR_TARGET): New variables.
	(GOCFLAGS_FOR_TARGET): New variable.
	(EXTRA_HOST_FLAGS): Add GOC.
	(EXTRA_TARGET_FLAGS): Add GOC and GOCFLAGS.
	* Makefile.def (target_modules): Add libgo.
	(flags_to_pass): Add GOC_FOR_TARGET and GOCFLAGS_FOR_TARGET.
	(dependencies): Add dependency from configure-target-libgo to
	configure-target-libffi and all-target-libstdc++-v3.  Add
	dependencies from all-target-libgo to all-target-libffi.
	(languages): Add go.
	* configure: Rebuild.
	* Makefile.in: Rebuild.

Co-Authored-By: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>

From-SVN: r166959
2010-11-19 21:47:18 +00:00
Francois-Xavier Coudert
1ec601bf9f re PR fortran/32049 (Support on x86_64 also kind=16)
/
2010-11-13  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
            Tobias Burnus  <burnus@net-b.de>

        PR fortran/32049
        * Makefile.def: Add libquadmath; build it with language=fortran.
        * configure.ac: Add libquadmath.
        * Makefile.tpl: Handle multiple libs in check-[+language+].
        * Makefile.in: Regenerate.
        * configure: Regenerate.

libquadmath/
2010-11-13  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
            Tobias Burnus  <burnus@net-b.de>

        PR fortran/32049
        Initial implementation and checkin.

gcc/fortran/
2010-11-13  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
            Tobias Burnus  <burnus@net-b.de>

        PR fortran/32049
        * gfortranspec.c (find_spec_file): New function.
        (lang_specific_driver): Try to find .spec file and use it.
        * trans-io.c (iocall): Define
        * IOCALL_X_REAL128/COMPLEX128(,write).
        (gfc_build_io_library_fndecls): Build decl for __float128 I/O.
        (transfer_expr): Call __float128 I/O functions.
        * trans-types.c (gfc_init_kinds): Allow kind-16 belonging
        to __float128.

gcc/testsuite/
2010-11-13  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
            Tobias Burnus  <burnus@net-b.de>

        PR fortran/32049
        * gfortran.dg/quad_1.f90: New.
        * lib/gcc-defs.exp (gcc-set-multilib-library-path): Use also
        compiler arguments.
        * lib/gfortran.exp (gfortran_link_flags): Add libquadmath to
        library search path; call gcc-set-multilib-library-path with
        arguments such that libgfortran.spec is found.
        (gfortran_init): Add path for libgfortran.spec to
GFORTRAN_UNDER_TEST.

libgomp/
2010-11-13  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
            Tobias Burnus  <burnus@net-b.de>

        PR fortran/32049
        * configure.ac: 
        * configure: Regenerate.

libgfortran/
2010-11-13  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
            Tobias Burnus  <burnus@net-b.de>

        PR fortran/32049
        * Makefile.am: Add missing pow_r16_i4.c, add transfer128.c,
        link libquadmath, if used.
        * acinclude.m4 (LIBGFOR_CHECK_FLOAT128): Add.
        * configure.ac: Use it, touch spec file.
        * gfortran.map: Add pow_r16_i4 and
        transfer_(real,complex)128(,write) functions.
        * intrinsics/cshift0.c (cshift0): Handle __float128 type.
        * intrinsics/erfc_scaled_inc.c: Ditto.
        * intrinsics/pack_generic.c (pack): Ditto
        * intrinsics/spread_generic.c (spread): Ditto.
        * intrinsics/unpack_generic.c (unpack1): Ditto.
        * io/read.c (convert_real): Ditto.
        * io/transfer.c: Update comments.
        * io/transfer128.c: New file.
        * io/write_float.def (write_float): Handle __float128 type.
        * libgfortran.h: #include quadmath_weak.h, define __builtin_infq
        and nanq.
        * m4/mtype.m4: Handle __float128 type.
        * runtime/in_pack_generic.c (internal_pack): Ditto.
        * runtime/in_unpack_generic.c (internal_unpack): Ditto.
        * kinds-override.h: New file.
        * libgfortran.spec.in: Ditto.
        * generated/pow_r16_i4.c: Generated.
        * Makefile.in: Regenerate.
        * configure: Regenerate.
        * config.h: Regenerate.
        * bessel_r10.c: Regenerate.
        * bessel_r16.c: Regenerate.
        * bessel_r4.c: Regenerate.
        * bessel_r8.c: Regenerate.
        * exponent_r16.c: Regenerate.
        * fraction_r16.c: Regenerate.
        * nearest_r16.c: Regenerate.
        * norm2_r10.c: Regenerate.
        * norm2_r16.c: Regenerate.
        * norm2_r4.c: Regenerate.
        * norm2_r8.c: Regenerate.
        * rrspacing_r16.c: Regenerate.
        * set_exponent_r16.c: Regenerate.
        * spacing_r16.c: Regenerate.


Co-Authored-By: Tobias Burnus <burnus@net-b.de>

From-SVN: r166825
2010-11-16 22:23:19 +01:00
Ian Lance Taylor
66c9242547 Makefile.def (target_modules): Set lib_path to src/.libs for libstdc++-v3 module.
* Makefile.def (target_modules): Set lib_path to src/.libs for
	libstdc++-v3 module.
	* Makefile.tpl: Fix typo in TARGET_LIB_PATH comment.
	* Makefile.in: Rebuild.

From-SVN: r165727
2010-10-20 14:39:17 +00:00
Ralf Wildenhues
e1826acc35 build: info-gcc, dvi-gcc etc work from unbuilt configured tree.
/:
	PR bootstrap/45796
	* Makefile.def (info-gcc, dvi-gcc, pdf-gcc, html-gcc):
	Depend on all-build-libiberty.
	* Makefile.in: Regenerate.

From-SVN: r164760
2010-09-30 19:16:34 +00:00
Alexandre Oliva
c63a4676a8 Makefile.def (configure-gcc): Depend on all-libelf.
* Makefile.def (configure-gcc): Depend on all-libelf.
* Makefile.in: Rebuild.

From-SVN: r160560
2010-06-10 16:44:04 +00:00
Roland McGrath
38e3d8681f configure.ac (--enable-gold): Support both, both/gold and both/bfd to add gold to configdirs without removing ld.
* configure.ac (--enable-gold): Support both, both/gold and
        both/bfd to add gold to configdirs without removing ld.
        * configure: Regenerated.

        * Makefile.def: Add install-gold dependency to install-ld.
        * Makefile.in: Regenerated.

Co-Authored-By: H.J. Lu <hongjiu.lu@intel.com>

From-SVN: r158786
2010-04-27 14:27:15 +00:00
Joern Rennecke
aae29963cf PR libstdc++/36101, PR libstdc++/42813
PR libstdc++/36101, PR libstdc++/42813
[toplevel]:
	* configure.ac (target_configdirs): Substitute.
	* Makefile.def: Bootstrap target module libgomp.
	Add dependency of all-target-libstdc++-v3 on configure-target-libgomp.
	* Makefile.tpl (TARGET_CONFIGDIRS): New makefile variable.
	(BASE_TARGET_EXPORTS): Export TARGET_CONFIGDIRS.
	* configure, Makefile.in: Regenerate.
libstdc++-v3:
	* acinclude.m4: (enable_parallel): Test ${TARGET_CONFIGDIRS} instead of
	loking for omp.h .
	* configure: Regenerate.

From-SVN: r156172
2010-01-22 13:35:38 +00:00
Richard Guenther
c164615b36 re PR lto/41569 (.../prev-gcc/xgcc used for the install step of the lto-plugin)
2010-01-11  Richard Guenther  <rguenther@suse.de>

	PR lto/41569
	* Makefile.def (all-lto-plugin): Depend on all-gcc.
	* Makefile.in: Regenerated.

	lto-plugin/
	* Makefile.am: Disable dependencies.
	* Makefile.in: Regenerated.

From-SVN: r155809
2010-01-11 12:38:09 +00:00
Alexandre Oliva
87213cd496 Makefile.def: Restore host and target settings for gmp.
* Makefile.def: Restore host and target settings for gmp.
* Makefile.in: Rebuild.

From-SVN: r154217
2009-11-16 22:56:33 +00:00