Commits on Nov 5, 2016
  1. libgcc: backport Rainer's fix for gcc/38239

    _mcount needs to save/restore callee-saved registers
    committed Nov 5, 2016
Commits on Feb 21, 2014
  1. 14 feature request: add HANDLE_PRAGMA_PACK_PUSH_POP

    Reviewed by: Keith Wesolowski <>
    committed Feb 18, 2014
Commits on Oct 30, 2012
  1. Implement -fstrict-calling-conventions

    Stock GCC is overly willing to violate the ABI when calling local functions,
    such that it passes arguments in registers on i386.  This hampers debugging
    with anything other than a fully-aware DWARF debugger, and is generally not
    something we desire.
    Implement a flag which disables this behaviour, enabled by default.  The flag is
    global, though only effective on i386, to more easily allow its globalization
    later which, given the odds, is likely to be necessary.
    committed Oct 27, 2012
Commits on Sep 30, 2012
  1. Update to say something more currently and directly useful

    Mention bugurl, pkgversion, and how these are generally built for the
    illumos build environment.
    committed Sep 30, 2012
Commits on Jun 5, 2012
Commits on Jun 1, 2012
  1. sparc: implement -massume-32bit-callers

    Implement an option which selectively restores pre-4.2 argument
    promotion behaviour, which happens to be safe sign-extension safe when a
    32bit sparcv7 process calls a 64bit sparcv9 system call.
    committed Jun 1, 2012
  2. Remove -fconstant-pools (supported by cw, unused by the build)

    This reverts commit 57866e0.
    committed May 12, 2012
  3. g++spec: Remove more vestiges of runpath magic

    We used to add runpath entries, and needed to keep track of 64bit-ness
    to do this.  The runpath magic was removed, the tracking was not.
    committed May 12, 2012
Commits on May 12, 2012
Commits on Jan 2, 2012
  1. remove support for -fno-dwarf2-indirect-strings

    This reverts commit 127cc57.
    This was needed because the old libdwarf (at the time, current) used by
    the ctf tools could not handle general absolute relocations in DWARF
    sections.  The libdwarf we now use can do this sufficiently to allow
    this option to be removed.
    committed Jan 2, 2012
Commits on Dec 14, 2011
  1. config: Do not force runpath entries unless necessary

    Sun patched their GCC3 to force /lib:/usr/lib:/usr/sfw/lib into the runpath, in
    that order, such that /usr/sfw libraries did not take precedence over system
    libraries, but nevertheless libgcc did not need a specific -R entry to be added
    to the command line when building.
    This has caused us nothing but trouble when patching it forward, since suddenly
    we need our _own_ prefix in thre too, and it must beat /usr/sfw, and because
    it's using -R it means that LD_RUN_PATH doesn't function, and because it's
    unexpected it causes confusion for 3rd party software.
    This change only uses -R to force the runpath in the BSD compat environment, as
    GCC upstream does, leaving the sole artifact of Sun's change being the addition
    of /lib to the default library search path. (-YP)
    committed Dec 14, 2011
Commits on Nov 21, 2011
  1. Revert "[HACK] builtins: Add -Wno-vastart-last-param to disable va_st…

    …art arg warning"
    This reverts commit d90aac2.
    committed Nov 18, 2011
Commits on Jun 27, 2011
  1. [HACK] libstdc++: Force atomic builtin checks to use sparc v8

    This in effect forces libstdc++ to refuse to use the atomic builtins
    unless they're going to work across a more sensible range of CPU
    configurations.  Without this hack libstdc++ detects that they're
    present with the default cpu (presumably v9, even 32bit) and instead
    fails at link-time for non-v9 code.
    committed Jun 22, 2011
Commits on Jun 21, 2011
  1. * gcc/config/sparc/sparc.h (MASK_NO_INTEGER_LDD_STD,

    	(TARGET_SWITCHES): Define -mno-integer-ldd-std option.
    	* gcc/doc/invoke.texi (-mno-integer-std-ldd): Document.
    	* gcc/config/sparc/sparc.c (save_regs, restore_regs,
    	sparc_splitdi_legitimate, sparc_flat_save_restore): Check
    	* gcc/config/sparc/ (movdi_insn_sp32_v9, movdi_insn_sp32):
    	Disable unless TARGET_INTEGER_LDD_STD.
    	(movdi_insn_sp32_v9_nolddstd, movdi_insn_sp32_nolddstd): New
    	patterns if !TARGET_INTEGER_LDD_STD.
    	(define_peephole2): Disable use of widen_memory_access unless
    git-svn-id: svn+ssh:// 138bc75d-0d04-0410-961f-82ee72b054a4
        	* gcc/doc/invoke.texi: Correct typos in previous change.
        	* gcc/config/sparc/ (movdi_insn_sp32_v9_nolddstd,
        	movdi_insn_sp32_nolddstd): Give # alternatives length 2.
        	* gcc/config/sparc.c (save_regs, restore_regs,
        	sparc_flat_save_restore): Revert previous changes.
        	(legitimate_address_p): Do not allow REG+REG addressing for DImode
        git-svn-id: svn+ssh:// 138bc75d-0d04-0410-961f-82ee72b054a4
    jsm28 committed with May 19, 2005
Commits on May 15, 2011
  1. 2009-10-09 Neil Vachharajani <>

           * libcpp/directives.c (DIRECTIVE_TABLE): Remove DEPRECATED from ident and
           * gcc/doc/cpp.texi (Other Directives): Do not list #ident and #sccs as
    git-svn-id: svn+ssh:// 138bc75d-0d04-0410-961f-82ee72b054a4
    nvachhar committed with Oct 10, 2009
  2. PR debug/42278

    	* dwarf2out.c (base_type_die): Don't add name attribute here.
    	(modified_type_die): Instead of sizetype use
    	its underlying original type.  If a DW_TAG_base_type doesn't
    	have name added, add __unknown__.
    	(dwarf2out_imported_module_or_decl_1): Don't call base_type_die,
    	always call force_type_die instead.
    git-svn-id: svn+ssh:// 138bc75d-0d04-0410-961f-82ee72b054a4
    jakub committed with May 12, 2010
Commits on May 14, 2011
  1. * (gcc_cv_as_cfi_directive) [i?86-*-solaris*]:

    	Disable cfi directives unless GCC and gas agree on using read-only
    	.eh_frame sections for 64-bit.
    	* configure: Regenerate.
    git-svn-id: svn+ssh:// 138bc75d-0d04-0410-961f-82ee72b054a4
    ro committed with Mar 1, 2010
  2. [HACK] builtins: Add -Wno-vastart-last-param to disable va_start arg …

    In various places we get warned that the second argument to va_start() is not
    the last formal parameter, in all cases it actually is.  No warning was
    producid in 3.4.3.  Add a hacky toggle so the warning can be disabled.
    committed Apr 17, 2011
  3. * g++.old-deja/g++.mike/eh16.C: Rename err to e.

    	* g++.old-deja/g++.mike/eh17.C: Likewise.
    	* g++.old-deja/g++.mike/p5571.C: Likewise.
    git-svn-id: svn+ssh:// 138bc75d-0d04-0410-961f-82ee72b054a4
    ro committed with Jan 29, 2010
  4. gcc.dg/save-args-1.c: Add a cheesy test for -msave-args

    Build a simple main-like function and make sure we see the movq to store
    the pointer argument to the stack.
    committed Apr 10, 2011
  5. 2006-04-06 Carlos O'Donell <>

    	* gcc/testsuite/gcc.dg/pragma-re-4.c: New test.
    	* gcc/c-pragma.c (init_pragma) : Call c_register_pragma_with_expansion
    	for pragma redefine_extname.
    git-svn-id: svn+ssh:// 138bc75d-0d04-0410-961f-82ee72b054a4
    carlos committed with Apr 7, 2006
  6. * gcc/dwarf2.h (DW_AT_SUN_amd64_parmdump): New.

    	* gcc/dwarf2out.c (gen_subprogram_die): Add this attribute.
    	* gcc/doc/invoke.texi (-msave-args): New x86-64 option.
    	* gcc/config/i386/i386.h (MASK_SAVE_ARGS, TARGET_SAVE_ARGS): New.
    	(TARGET_SWITCHES): Add -msave-args.
    	* gcc/config/i386/i386.c (struct ix86_frame): Add nmsave_args and
    	(pro_epilogue_adjust_stack): Declare.
    	(ix86_nsaved_args): New.
    	(override_options, ix86_can_use_return_insn_p,
    	ix86_frame_pointer_required, ix86_compute_frame_layout,
    	ix86_emit_save_regs, ix86_emit_save_regs_using_mov,
    	ix86_expand_prologue, ix86_expand_epilogue): Handle -msave-args.
    git-svn-id: svn+ssh:// 138bc75d-0d04-0410-961f-82ee72b054a4
    jsm28 committed with Jun 29, 2005
  7. * gcc/common.opt (fconstant-pools): New.

    	* gcc/doc/invoke.texi (-fno-constant-pools): Document.
    	* gcc/flags.h (flag_constant_pools): New.
    	* gcc/opts.c (common_handle_option): Handle OPT_fconstant_pools.
    	* gcc/toplev.c (flag_constant_pools): New.
    	* gcc/varasm.c (force_const_mem): Return NULL_RTX for
    	* gcc/reload.c (find_reloads): Do not try reloading a constant
    	from a constant pool if -fno-constant-pools.
    git-svn-id: svn+ssh:// 138bc75d-0d04-0410-961f-82ee72b054a4
    jsm28 committed with May 20, 2005
  8. i386: Rename padding0 -> padding05

    Ease the merge of msave-args (by using a crappy variable name, but we
    can fix that later.)
    committed May 14, 2011
  9. 2005-05-05 Michael Pogue <>

                Joseph S. Myers  <>
    	* gcc/common.opt (-fdwarf2-indirect-strings): New option.
    	* gcc/doc/invoke.texi (-fdwarf2-indirect-strings): Document.
    	* gcc/flags.h (flag_dwarf2_indirect_strings): New.
    	* gcc/toplev.c (flag_dwarf2_indirect_strings): New.
    	* gcc/opts.c (common_handle_option): Handle
    	* gcc/dwarf2out.c (AT_string_form): Check
    	* gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-strp-1.c: New test.
    git-svn-id: svn+ssh:// 138bc75d-0d04-0410-961f-82ee72b054a4
    jsm28 committed with May 4, 2005
  10. * gcc/varasm.c (assemble_alias): Return early if

    	TREE_ASM_WRITTEN (decl).
    	* gcc/testsuite/gcc.dg/weak/weak-13.c: New test.
    git-svn-id: svn+ssh:// 138bc75d-0d04-0410-961f-82ee72b054a4
    jsm28 committed with Apr 22, 2005
  11. * gcc/cp/g++spec.c (lang_specific_driver): Add a -R option if

    	-lstdc++ is added.
    	* gcc/cp/ (g++spec.o): Define LIBDIR.
    	* gcc/config/i386/t-sol2-10 (MULTILIB_DIRNAMES,
    	MULTILIB_OSDIRNAMES): Use amd64 instead of 64.
    	* gcc/config/i386/i386.c (optimization_options): Use
    	* gcc/config/i386/sol2-10.h (SUBTARGET_OPTIMIZATION_OPTIONS):
    	(TARGET_SUBTARGET_DEFAULT): Don't include
    git-svn-id: svn+ssh:// 138bc75d-0d04-0410-961f-82ee72b054a4
    jsm28 committed with Nov 17, 2004