History log of /freebsd-10.0-release/contrib/gcc/
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
259279 12-Dec-2013 dim

Merge r259216 from stable/10 (head r259111):

Use correct casts in gcc's emmintrin.h for the first arguments of the
following builtin functions:

* __builtin_ia32_pslldi128() takes __v4si instead of __v8hi
* __builtin_ia32_psllqi128() takes __v2di instead of __v8hi
* __builtin_ia32_psradi128() takes __v4si instead of __v8hi

This should fix the following errors when building the LINT kernel with
gcc:

sys/crypto/aesni/aesni_wrap.c:191: error: incompatible type for argument 1 of
'__builtin_ia32_psradi128'
sys/crypto/aesni/aesni_wrap.c:195: error: incompatible type for argument 1 of
'__builtin_ia32_pslldi128'

Approved by: re (glebius)

259128 09-Dec-2013 gjb

Remove svn:mergeinfo from the releng/10.0 branch.

After branch creation from stable/10, the stable/10 branch mergeinfo
was moved to the root of the branch.

Since there have not been any merges from stable/10 to releng/10.0
yet, we do not need to track any of the existing mergeinfo here.

Merges to releng/10.0 should now be done to the root of the branch.

For future branches during the release cycle, unless otherwise noted,
this change will be done as part of the stable/ and releng/ branch
creation.

Discussed with: peter
Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


/freebsd-10.0-release/MAINTAINERS
/freebsd-10.0-release/Makefile.inc1
/freebsd-10.0-release/ObsoleteFiles.inc
/freebsd-10.0-release/UPDATING
/freebsd-10.0-release/bin/df
/freebsd-10.0-release/bin/freebsd-version
/freebsd-10.0-release/cddl
/freebsd-10.0-release/cddl/contrib/opensolaris
/freebsd-10.0-release/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/print
/freebsd-10.0-release/cddl/contrib/opensolaris/cmd/zfs
/freebsd-10.0-release/cddl/contrib/opensolaris/lib/libzfs
/freebsd-10.0-release/contrib/apr
/freebsd-10.0-release/contrib/apr-util
/freebsd-10.0-release/contrib/atf
/freebsd-10.0-release/contrib/binutils
/freebsd-10.0-release/contrib/bmake
/freebsd-10.0-release/contrib/byacc
/freebsd-10.0-release/contrib/bzip2
/freebsd-10.0-release/contrib/com_err
/freebsd-10.0-release/contrib/compiler-rt
/freebsd-10.0-release/contrib/dialog
/freebsd-10.0-release/contrib/dtc
/freebsd-10.0-release/contrib/ee
/freebsd-10.0-release/contrib/expat
/freebsd-10.0-release/contrib/file
/freebsd-10.0-release/contrib/gcc
/freebsd-10.0-release/contrib/gdb
/freebsd-10.0-release/contrib/gdtoa
/freebsd-10.0-release/contrib/groff
/freebsd-10.0-release/contrib/ipfilter
/freebsd-10.0-release/contrib/ipfilter/ml_ipl.c
/freebsd-10.0-release/contrib/ipfilter/mlfk_ipl.c
/freebsd-10.0-release/contrib/ipfilter/mlh_rule.c
/freebsd-10.0-release/contrib/ipfilter/mli_ipl.c
/freebsd-10.0-release/contrib/ipfilter/mln_ipl.c
/freebsd-10.0-release/contrib/ipfilter/mls_ipl.c
/freebsd-10.0-release/contrib/ldns
/freebsd-10.0-release/contrib/less
/freebsd-10.0-release/contrib/libarchive
/freebsd-10.0-release/contrib/libarchive/cpio
/freebsd-10.0-release/contrib/libarchive/libarchive
/freebsd-10.0-release/contrib/libarchive/libarchive_fe
/freebsd-10.0-release/contrib/libarchive/tar
/freebsd-10.0-release/contrib/libc++
/freebsd-10.0-release/contrib/libc-vis
/freebsd-10.0-release/contrib/libcxxrt
/freebsd-10.0-release/contrib/libexecinfo
/freebsd-10.0-release/contrib/libpcap
/freebsd-10.0-release/contrib/libstdc++
/freebsd-10.0-release/contrib/llvm
/freebsd-10.0-release/contrib/llvm/tools/clang
/freebsd-10.0-release/contrib/mtree
/freebsd-10.0-release/contrib/ncurses
/freebsd-10.0-release/contrib/netcat
/freebsd-10.0-release/contrib/ntp
/freebsd-10.0-release/contrib/nvi
/freebsd-10.0-release/contrib/one-true-awk
/freebsd-10.0-release/contrib/openbsm
/freebsd-10.0-release/contrib/openpam
/freebsd-10.0-release/contrib/openresolv
/freebsd-10.0-release/contrib/pf
/freebsd-10.0-release/contrib/sendmail
/freebsd-10.0-release/contrib/serf
/freebsd-10.0-release/contrib/smbfs
/freebsd-10.0-release/contrib/subversion
/freebsd-10.0-release/contrib/tcpdump
/freebsd-10.0-release/contrib/tcsh
/freebsd-10.0-release/contrib/tnftp
/freebsd-10.0-release/contrib/top
/freebsd-10.0-release/contrib/top/install-sh
/freebsd-10.0-release/contrib/tzcode/stdtime
/freebsd-10.0-release/contrib/tzcode/zic
/freebsd-10.0-release/contrib/tzdata
/freebsd-10.0-release/contrib/unbound
/freebsd-10.0-release/contrib/wpa
/freebsd-10.0-release/contrib/xz
/freebsd-10.0-release/crypto/heimdal
/freebsd-10.0-release/crypto/openssh
/freebsd-10.0-release/crypto/openssl
/freebsd-10.0-release/etc
/freebsd-10.0-release/etc/rc.d
/freebsd-10.0-release/gnu/lib
/freebsd-10.0-release/gnu/usr.bin/binutils
/freebsd-10.0-release/gnu/usr.bin/cc/cc_tools
/freebsd-10.0-release/gnu/usr.bin/gdb
/freebsd-10.0-release/include
/freebsd-10.0-release/lib
/freebsd-10.0-release/lib/libc
/freebsd-10.0-release/lib/libc/stdtime
/freebsd-10.0-release/lib/libc_nonshared
/freebsd-10.0-release/lib/libfetch
/freebsd-10.0-release/lib/libiconv_modules
/freebsd-10.0-release/lib/libsmb
/freebsd-10.0-release/lib/libthr
/freebsd-10.0-release/lib/libutil
/freebsd-10.0-release/lib/libvmmapi
/freebsd-10.0-release/lib/libyaml
/freebsd-10.0-release/lib/libz
/freebsd-10.0-release/release
/freebsd-10.0-release/release/doc
/freebsd-10.0-release/sbin
/freebsd-10.0-release/sbin/camcontrol
/freebsd-10.0-release/sbin/dumpon
/freebsd-10.0-release/sbin/hastd
/freebsd-10.0-release/sbin/ifconfig
/freebsd-10.0-release/sbin/ipfw
/freebsd-10.0-release/sbin/nvmecontrol
/freebsd-10.0-release/share
/freebsd-10.0-release/share/examples/bhyve
/freebsd-10.0-release/share/i18n/csmapper/JIS
/freebsd-10.0-release/share/i18n/esdb/EUC
/freebsd-10.0-release/share/man
/freebsd-10.0-release/share/man/man4
/freebsd-10.0-release/share/man/man4/bhyve.4
/freebsd-10.0-release/share/man/man5
/freebsd-10.0-release/share/man/man7
/freebsd-10.0-release/share/man/man8
/freebsd-10.0-release/share/misc
/freebsd-10.0-release/share/mk
/freebsd-10.0-release/share/mk/bsd.arch.inc.mk
/freebsd-10.0-release/share/syscons
/freebsd-10.0-release/share/zoneinfo
/freebsd-10.0-release/sys
/freebsd-10.0-release/sys/amd64/include/vmm.h
/freebsd-10.0-release/sys/amd64/include/vmm_dev.h
/freebsd-10.0-release/sys/amd64/include/vmm_instruction_emul.h
/freebsd-10.0-release/sys/amd64/include/xen
/freebsd-10.0-release/sys/amd64/vmm
/freebsd-10.0-release/sys/boot
/freebsd-10.0-release/sys/boot/i386/efi
/freebsd-10.0-release/sys/boot/ia64/efi
/freebsd-10.0-release/sys/boot/ia64/ski
/freebsd-10.0-release/sys/boot/powerpc/boot1.chrp
/freebsd-10.0-release/sys/boot/powerpc/ofw
/freebsd-10.0-release/sys/cddl/contrib/opensolaris
/freebsd-10.0-release/sys/conf
/freebsd-10.0-release/sys/contrib/dev/acpica
/freebsd-10.0-release/sys/contrib/dev/acpica/changes.txt
/freebsd-10.0-release/sys/contrib/dev/acpica/common
/freebsd-10.0-release/sys/contrib/dev/acpica/compiler
/freebsd-10.0-release/sys/contrib/dev/acpica/components/debugger
/freebsd-10.0-release/sys/contrib/dev/acpica/components/disassembler
/freebsd-10.0-release/sys/contrib/dev/acpica/components/dispatcher
/freebsd-10.0-release/sys/contrib/dev/acpica/components/events
/freebsd-10.0-release/sys/contrib/dev/acpica/components/executer
/freebsd-10.0-release/sys/contrib/dev/acpica/components/hardware
/freebsd-10.0-release/sys/contrib/dev/acpica/components/namespace
/freebsd-10.0-release/sys/contrib/dev/acpica/components/parser
/freebsd-10.0-release/sys/contrib/dev/acpica/components/resources
/freebsd-10.0-release/sys/contrib/dev/acpica/components/tables
/freebsd-10.0-release/sys/contrib/dev/acpica/components/utilities
/freebsd-10.0-release/sys/contrib/dev/acpica/include
/freebsd-10.0-release/sys/contrib/dev/acpica/os_specific
/freebsd-10.0-release/sys/contrib/ipfilter
/freebsd-10.0-release/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c
/freebsd-10.0-release/sys/contrib/ipfilter/netinet/ip_raudio_pxy.c
/freebsd-10.0-release/sys/contrib/libfdt
/freebsd-10.0-release/sys/contrib/octeon-sdk
/freebsd-10.0-release/sys/contrib/x86emu
/freebsd-10.0-release/sys/dev/bvm
/freebsd-10.0-release/sys/dev/fdt/fdt_ic_if.m
/freebsd-10.0-release/sys/dev/hyperv
/freebsd-10.0-release/sys/modules/hyperv
/freebsd-10.0-release/sys/modules/vmm
/freebsd-10.0-release/sys/x86/include/acpica_machdep.h
/freebsd-10.0-release/tools
/freebsd-10.0-release/tools/build
/freebsd-10.0-release/tools/build/options
/freebsd-10.0-release/tools/tools/atsectl
/freebsd-10.0-release/usr.bin/calendar
/freebsd-10.0-release/usr.bin/csup
/freebsd-10.0-release/usr.bin/iscsictl
/freebsd-10.0-release/usr.bin/procstat
/freebsd-10.0-release/usr.sbin
/freebsd-10.0-release/usr.sbin/bhyve
/freebsd-10.0-release/usr.sbin/bhyvectl
/freebsd-10.0-release/usr.sbin/bhyveload
/freebsd-10.0-release/usr.sbin/bsdconfig
/freebsd-10.0-release/usr.sbin/bsdinstall
/freebsd-10.0-release/usr.sbin/ctladm
/freebsd-10.0-release/usr.sbin/ctld
/freebsd-10.0-release/usr.sbin/freebsd-update
/freebsd-10.0-release/usr.sbin/jail
/freebsd-10.0-release/usr.sbin/mergemaster
/freebsd-10.0-release/usr.sbin/mount_smbfs
/freebsd-10.0-release/usr.sbin/ndiscvt
/freebsd-10.0-release/usr.sbin/pkg
/freebsd-10.0-release/usr.sbin/rtadvctl
/freebsd-10.0-release/usr.sbin/rtadvd
/freebsd-10.0-release/usr.sbin/rtsold
/freebsd-10.0-release/usr.sbin/zic
259065 07-Dec-2013 gjb

- Copy stable/10 (r259064) to releng/10.0 as part of the
10.0-RELEASE cycle.
- Update __FreeBSD_version [1]
- Set branch name to -RC1

[1] 10.0-CURRENT __FreeBSD_version value ended at '55', so
start releng/10.0 at '100' so the branch is started with
a value ending in zero.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation

256281 10-Oct-2013 gjb

Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


255361 07-Sep-2013 andrew

On ARM EABI double precision floating point values are stored in the
endian the CPU is in, i.e. little-endian on most ARM cores.

This allows ARMv4 and ARMv5 boards to boot with the ARM EABI.


255185 03-Sep-2013 jmg

add support to gcc for AES and PCLMUL intrinsics... This addes the
-maes option, but not the -mpclmul option as I ran out of bits in
the 32 bit flags field... You can -D__PCLMUL__ to get this, but it
won't be compatible w/ clang and modern gcc...

Reviewed by: -current, -toolchain


255107 31-Aug-2013 pfg

Add support for the GCC binary integer constants extension.

This is required to build the i965 backend with newer versions of mesa.

Original patch from Joerg Wunsch in GCC Bug 23479, under the GPLv2;
also taken from there in OpenBSD.

Obtained from: gcc 4.3 (rev. 125346; GPLv2)
MFC after: 5 days


255096 31-Aug-2013 andrew

Implement _Unwind_GetIP and _Unwind_GetIPInfo as functions as that is what
we expect on FreeBSD. The implementation is based on the existing macros.


255095 31-Aug-2013 andrew

Bring in gcc r128087 to add support for _Unwind_Backtrace on ARM. This is
prior to the licence change so is under the GPLv2.


252179 24-Jun-2013 pfg

gcc: configuration fix.

-Fix configuration support for FreeBSD 10 and 11.

Note this change is based on GCC-SVN-131197 with permission
by gerald@ .

Reported by: jmallet


252176 24-Jun-2013 pfg

gcc: add some configuration and references.

-Add configure support for FreeBSD 10 and 11.
-Adapt a threading fix to gnu POSIX95 (which we don't use).
-Refer to a bug fix for the disabled vrptree support.

This is all useless in our current build but it is included
for convenience in case someone may want to re-package our
older gcc.

Reviewed by: gerald (long ago)


252039 20-Jun-2013 dim

Pull in r183984 from llvm trunk:

Make PrologEpilogInserter save/restore all callee saved registers in
functions which call __builtin_unwind_init()

__builtin_unwind_init() is an undocumented gcc intrinsic which has
this effect, and is used in libgcc_eh.

Goes part of the way toward fixing PR8541.

This obsoletes the ugly hack to libgcc's unwind code from r245272, and
should also work for other arches, so revert the hack too.


251212 01-Jun-2013 pfg

GCC: bring back experimental support for amdfam10/barcelona CPUs.

Initial support for the AMD amdfam10 chipsets has been available in the
gcc43 branch under GPLv2. AMD and some linux distributions (OpenSUSE) did
a backport of the amdfam10 support and made it available.

This is a revised subset of the support initially brought in in r236962
and later reverted. The collateral efects seem to have disappeared but
it is still recommended to set the CPUTYPE with caution.

Reviewed by: jkim (ages ago)
MFC after: 3 weeks


250566 12-May-2013 pfg

Add support for "d" floating-point suffix, as defined by draft N1312
of TR 24732. Emit pedantic warning if the feature is being used.

Should solve GCC bug 39027.

Obtained from: OpenBSD
MFC after: 2 weeks


250550 12-May-2013 pfg

Update the gcc43 changelog.

The issue solved in r250392 actually originated upstream and was
fixed in upstream gcc43 branch in 2006/10/24 (under GPLv2).

Register it in the appropriate ChangeLog for reference.

MFC after: 3 days


250392 08-May-2013 dim

For some reason, the gcc intrinsics header tmmintrin.h was imported with
two copies of itself pasted together. Remove the extraneous copy.

MFC after: 3 days


246317 04-Feb-2013 andrew

Add #undef TARGET_DEFAULT back as it shouldn't have been removed in r245539


246314 04-Feb-2013 andrew

Allow the unwind functions int libgcc_s to interact correctly with libthr.

_Unwind_ForcedUnwind in libgcc_s takes as one of it's parameters a stop
function to tell it when to stop unwinding. One of the stop function's
parameters is a _Unwind_Exception_Class. On most architectures this is an
int64_t, however on ARM EABI the gcc developers have made this a char array
with 8 items. While both of these take the same space they are passed into
the stop function differently, an int64_t is passed in in registers r2 and
r3, while the char[8] is passed in as a pointer to the first item in
register r2.

Because libthr expects the value to be an int64_t we would get incorrect
results when it passes a function that take an int64_t but libgcc passes in
a pointer to a char array including crashing.

The fix is to update libgcc_s to make it pass an int64_t to the stop
function and to libstdc++ as it expects _Unwind_Exception_Class to be an
array.


245952 26-Jan-2013 pfg

Clean some 'svn:executable' properties in the tree.

Submitted by: Christoph Mallon
MFC after: 3 days


245539 17-Jan-2013 andrew

Add compiler support for the ARM EABI.

ARM EABI support is disabled by default and can be enabled by setting
WITH_ARM_EABI when building, however only the kernel-toolchain target will
work with this flag until the rest of the support is added.


245413 14-Jan-2013 andrew

Switch the default CPU to an arm9. This removes compiler support for the
unsupported 26-bit addressing mode. This change is required for moving to
the ARM EABI.


245272 10-Jan-2013 dim

Add an ugly hack to libgcc's unwind code, to make it behave properly at
runtime on amd64, when it is compiled by clang. Some versions of clang
don't save and restore all callee registers, if a __builtin_eh_return()
intrinsic is used in a function. This is particularly bad on amd64.

Until the problem gets fixed by upstream, use an asm statement to force
clang to assume the registers in question are clobbered, when invoking
__builtin_eh_return(), so it will emit code to save and restore them.

This should fix the crashes reported on -current with some C++ programs,
particularly those that throw exceptions over multiple function
boundaries.

Reported by: stefanf
MFC after: 3 days


244792 28-Dec-2012 pfg

gcc: avoid generating negative values to DW_AT_byte_size.

The previous change was actually a NOP because size is
unsigned and compilers are dumb.

Submitted by: Christoph Mallon
MFC after: 1 week


244776 28-Dec-2012 pfg

gcc: avoid generating negative values to DW_AT_byte_size.

There is a bug in gcc (GCC/35998) where dwarf reports
sizes of unsigned -1 (0xffffffff).

On NetBSD this generated a faulty CTF entry which then
caused a segfault in ctfmerge. The issue was worked
around in NetBSD's Dtrace but since the issue originated
in gcc, it seems reasonable to fix it here.

Upstream gcc has been slow to react to this issue and
the author that submitted the patch is not interested
in licensing the change to us, so I did an independent
workaround for the issue.

MFC after: 1 week


244276 15-Dec-2012 andrew

Don't define CTORS_SECTION_ASM_OP and DTORS_SECTION_ASM_OP on arm when
built with clang. When these are defined the lists are defined similar to:

asm(".section .ctors");
STATIC func_ptr __CTOR_LIST__[1] = { (func_ptr) (-1) };
asm(".section .dtors");
STATIC func_ptr __DTOR_LIST__[1] = { (func_ptr) (-1) };

The problem is clang will move the two arrays out of the .ctors and .dtors
sections causing these sections to contain a single null address. By not
defining these macros we use the version of the code that places the arrays
is their sections by using __attribute__((section(".ctors"))) and similar
for .dtors.

Submitted by: Daisuke Aoyama <aoyama AT peach.ne.jp>


244273 15-Dec-2012 andrew

Fix a comment in an asm block to work with compilers other than GCC


243933 06-Dec-2012 eadler

Clean up hardcoded ar(1) flags in the tree to use the global ARFLAGS in
share/mk/sys.mk instead.

This is part of a medium term project to permit deterministic builds of
FreeBSD.

Submitted by: Erik Cederstrand <erik@cederstrand.dk>
Reviewed by: imp, toolchain@
Approved by: cperciva
MFC after: 2 weeks


242182 27-Oct-2012 kan

Follow clang lead and include mm_malloc.h only in hosted configurations.

This makes the use of intrinsics easier in kernel environment, according
to the submitter.

Requested by: jmg


239272 15-Aug-2012 gonzo

Merging of projects/armv6, part 3

r238211:
Support TARGET_ARCH=armv6 and TARGET_ARCH=armv6eb

This adds a new TARGET_ARCH for building on ARM
processors that support the ARMv6K multiprocessor
extensions. In particular, these processors have
better support for TLS and mutex operations.

This mostly touches a lot of Makefiles to extend
existing patterns for inferring CPUARCH from ARCH.
It also configures:
* GCC to default to arm1176jz-s
* GCC to predefine __FreeBSD_ARCH_armv6__
* gas to default to ARM_ARCH_V6K
* uname -p to return 'armv6'
* make so that MACHINE_ARCH defaults to 'armv6'
It also changes a number of headers to use
the compiler __ARM_ARCH_XXX__ macros to configure
processor-specific support routines.

Submitted by: Tim Kientzle <kientzle@freebsd.org>


238472 15-Jul-2012 kib

Pass --enable-new-dtags to the linker invocation by default. If
desired, one can turn off the generation of post-ELF standard dtags by
overriding it with --disable-new-dtags after the default switch.

Immediate effect of the change is that -rpath path is now stored both
in DT_RPATH and DT_RUNPATH tags, which is the right way to provide
rpath for dynamic linker supporting DT_RUNPATH per specification.

Reviewed by: kan
MFC after: 1 month


237406 21-Jun-2012 pfg

Bring a couple of fixes for gcc optimizations.

The GCC4.3 branch contains some optimization fixes
that were not considered regressions and therefore
were never backported. We are bringing a couple of
them that are under GPLv2 since they were made
before the license switch upstream.

While here, add the GCC revision numbers in the
log.

Discussed with: jkim
MFC after: 1 week


237099 14-Jun-2012 marius

Merge r236137 from x86:
Enable GNU hash generation for dynamic ELF binaries.


237021 13-Jun-2012 pfg

Revert r236962 - Experimental amdfam10/barcelona support.

The patches are unexpectedly causing gcc to fail while
building ports/graphics/ImageMagick even when the cpu
flags are not used.

Reported by: Andreas Tobler


236964 12-Jun-2012 pfg

Space mismatch - typo in r236962.

Found by: Dima Panov
Approved by: jhb (mentor)
MFC after: 2 weeks


236962 12-Jun-2012 pfg

Add experimental support for amdfam10/barcelona from the GCC 4.3 branch.

Initial support for the AMD barcelona chipsets has been available in the
gcc43 branch under GPLv2 but was not included when the Core 2 support
was brought to the system gcc.

AMD and some linux distributions (OpenSUSE) did a backport of the amdfam10
support and made them available. Unfortunately this is still experimental
and while it can improve performance, enabling the CPUTYPE may break some
C++ ports (like clang).

Special care was taken to make sure that the patches predate the GPLv3
switch upstream.

Tested by: Vladimir Kushnir
Reviewed by: mm
Approved by: jhb (mentor)
MFC after: 2 weeks


236329 30-May-2012 marius

Merge r236137 from x86:
Enable GNU hash generation for dynamic ELF binaries.

While at it, sync the order of options with x86 and pass along the verbose
flag.


236137 27-May-2012 kib

Enable gnu hash generation for dynamic ELF binaries on x86.

Reviewed by: kan


235865 23-May-2012 obrien

Revert r235797. GCC's mis-assumptions has led to incorrect usage of
"%q[diouxX]" within FreeBSD sources.


235797 22-May-2012 obrien

Do not incorrectly warn when printing a quad_t using "%qd" on 64-bit platforms.


235794 22-May-2012 obrien

Record that r235793 (-objc) has been merged from vendor/gcc into HEAD.


235623 18-May-2012 pfg

Bring in a subset of gcc fixes that were back ported to
the GCC 4.1 branch and are available under GPLv2.

2007-11-07 Eric Botcazou <ebotcazou@libertysurf.fr>

PR rtl-optimization/33822
* rtl.h (REG_OFFSET): Fix comment.
* var-tracking.c (INT_MEM_OFFSET): New macro.
(var_mem_set): Use it.
(var_mem_delete_and_set): Likewise.
(var_mem_delete): Likewise.
(vt_get_decl_and_offset): Likewise.
(offset_valid_for_tracked_p): New predicate.
(count_uses): Do not track locations with invalid offsets.
(add_uses): Likewise.
(add_stores): Likewise.
http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=129972

2007-11-16 Richard Guenther <rguenther@suse.de>
PR middle-end/34030
* fold-const.c (fold_binary): Use correct types for folding
1 << X & Y to Y >> X & 1.
http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=130242

2008-01-14 Eric Botcazou <ebotcazou@adacore.com>

PR rtl-optimization/31944
* cse.c (remove_pseudo_from_table): New function.
(merge_equiv_classes): Use above function to remove pseudo-registers.
(invalidate): Likewise
http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=131524

2008-01-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>

Backport:
2007-11-07 Kenneth Zadeck <zadeck@naturalbridge.com>

PR middle-end/33826
* ipa-pure-const (static_execute): Added code to keep recursive
functions from being marked as pure or const.
* ipa-utils (searchc): Fixed comment.
http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=131807

2008-02-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>

Backport:
2007-08-02 Nathan Froyd <froydnj@codesourcery.com>

PR middle-end/25445
* varasm.c (default_binds_local_p_1): Consult flag_whole_program
if we are compiling with -fPIC.
http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=132061

2008-02-04 Richard Guenther <rguenther@suse.de>

PR middle-end/33631
* expr.c (count_type_elements): Give for unions instead of
guessing.
http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=132101

2008-02-14 Alan Modra <amodra@bigpond.net.au>

PR target/34393
* config/rs6000/rs6000.md (restore_stack_block): Force operands[1]
to a reg.
http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=132309

2008-03-25 Richard Guenther <rguenther@suse.de>

Backport from mainline:
2008-02-12 Richard Guenther <rguenther@suse.de>

PR middle-end/35163
* fold-const.c (fold_widened_comparison): Use get_unwidened in
value-preserving mode. Disallow final truncation.
http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=133509

2008-11-30 Eric Botcazou <ebotcazou@adacore.com>

PR target/38287
* config/sparc/sparc.md (divsi3 expander): Remove constraints.
(divsi3_sp32): Add new alternative with 'K' for operand #2.
(cmp_sdiv_cc_set): Factor common string.
(udivsi3_sp32): Add new alternative with 'K' for operand #2.
Add TARGET_V9 case.
(cmp_udiv_cc_set): Factor common string.
http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=142298

Reviewed by: mm
Approved by: jhb (mentor)
MFC after: 1 week


234855 30-Apr-2012 gonzo

Unbreak jemalloc build with MALLOC_PRODUCTION set. New jemalloc version
uncovered MIPS-related gcc bug described in
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33256

The patch was obtained from r128198 in gcc-4_1-branch, which is GPLv2,
so it's OK to merge it.


233923 05-Apr-2012 pfg

Fix a typo in GCC affecting calculations with -ffast-math.

The fix is similar to the one applied in GCC-4.3 in
GCCSVN-r117929 under the GPLv2.

Submitted by: Andrey Simonenko
Reviewed by: mm
Approved by: jhb (mentor)
MFC after: 3 days


233397 23-Mar-2012 gonzo

Disable IRIX compatibility flags for DWARF code generator. IRIX-compatible
DWARF code is not compatible with CTF tools


231852 17-Feb-2012 bz

Merge multi-FIB IPv6 support from projects/multi-fibv6/head/:

Extend the so far IPv4-only support for multiple routing tables (FIBs)
introduced in r178888 to IPv6 providing feature parity.

This includes an extended rtalloc(9) KPI for IPv6, the necessary
adjustments to the network stack, and user land support as in netstat.

Sponsored by: Cisco Systems, Inc.
Reviewed by: melifaro (basically)
MFC after: 10 days


231336 10-Feb-2012 kientzle

Implement -print-file-name=include (which is undocumented
but used by some Linux boot loaders). This option prints
out the directory holding the include files needed by
a freestanding program. The default implementation of
this doesn't work on FreeBSD because of the different
include file layout. But it's easy to implement:
just return /usr/include (or the cross-compiling equivalent).

Reviewed by: kan
MFC after: 1 week


229715 06-Jan-2012 andreast

Silence a warning about redefinition of TARGET_ELF on powerpc.


228756 21-Dec-2011 pfg

Clean an inconsistency with -ffinite-math-only.
Backported from the gcc-4_3-branch, revision 118001,
under the GPLv2.

This issue was also fixed in Apple's gcc.

PR: 157025
Reviewed by: mm
Approved by: jhb (mentor)
MFC: 2 weeks


227739 19-Nov-2011 andreast

Rename the linker emulation name for powerpc and powerc64. This is needed that
we can also use the upstream binutils linker where we have to have a unique
name for the FreeBSD emulation.


227586 16-Nov-2011 andreast

Copy over the ASM_DECLARE_FUNCTION_SIZE macro from linux64.h. This macro
declares the proper size of a function. Without this macro recent GNU as will
complain about with:
'Error: .size expression for main does not evaluate to a constant.'

Up to now we produce this:

.L.main:
....
.size main, .-main

With the macro defined the output is this:

.L.main:
....
.size main,.-.L.main

This affects only the 64-bit compiler.
Tested with world and kernel on both, 32 and 64-bit powerpc.


227391 09-Nov-2011 fabient

Import gcc fix for -fstack-protector that produces segfaulting
binaries on arm/armel.

Related gcc bug:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35965

PR: 161128
MFC after: 1 week


226702 24-Oct-2011 obrien

* Don't give the impression that this compiler is GPLv3.
(It is "well known" that GCC 4.2.2 is GPLv3.)
* Don't give the impression that this compiler isn't "trustable".
* Fix dependency nit.


226430 16-Oct-2011 stefanf

Adjust posix_memalign() prototype to match what we define in stdlib.h for
C++ compilation.

PR: standards/147210


224524 30-Jul-2011 mm

Fix accidential dos-style endings to unix-style line endings
from last commit (r224523) to match the version approved by re@

Approved by: re (implicit)


224523 30-Jul-2011 mm

Fix invalid assertion of C++ external static data member declarations
as anonymous namespaces are local to the current translation.

GCC PR: c++/33094

Reviewed by: uqs
Approved by: re (kib)
Obtained from: gcc (branches/redhat/gcc-4_1-branch, rev. 129554, GPLv2)
MFC after: 1 week


223758 04-Jul-2011 attilio

With retirement of cpumask_t and usage of cpuset_t for representing a
mask of CPUs, pc_other_cpus and pc_cpumask become highly inefficient.

Remove them and replace their usage with custom pc_cpuid magic (as,
atm, pc_cpumask can be easilly represented by (1 << pc_cpuid) and
pc_other_cpus by (all_cpus & ~(1 << pc_cpuid))).

This change is not targeted for MFC because of struct pcpu members
removal and dependency by cpumask_t retirement.

MD review by: marcel, marius, alc
Tested by: pluknet
MD testing by: marcel, marius, gonzo, andreast


223715 01-Jul-2011 uqs

- Fix typo in check_for_nested_with_variably_modified present
- Implement -Wvariable-decl.
- Port -Wtrampolines support from gcc3.
(all three also via OpenBSD)

PR: gnu/127136, gnu/157019
Submitted by: Henning Petersen, Pedro Giffuni
MFC after: 6 weeks


223262 18-Jun-2011 benl

Fix clang warnings.

Approved by: philip (mentor)


222813 07-Jun-2011 attilio

etire the cpumask_t type and replace it with cpuset_t usage.

This is intended to fix the bug where cpu mask objects are
capped to 32. MAXCPU, then, can now arbitrarely bumped to whatever
value. Anyway, as long as several structures in the kernel are
statically allocated and sized as MAXCPU, it is suggested to keep it
as low as possible for the time being.

Technical notes on this commit itself:
- More functions to handle with cpuset_t objects are introduced.
The most notable are cpusetobj_ffs() (which calculates a ffs(3)
for a cpuset_t object), cpusetobj_strprint() (which prepares a string
representing a cpuset_t object) and cpusetobj_strscan() (which
creates a valid cpuset_t starting from a string representation).
- pc_cpumask and pc_other_cpus are target to be removed soon.
With the moving from cpumask_t to cpuset_t they are now inefficient
and not really useful. Anyway, for the time being, please note that
access to pcpu datas is protected by sched_pin() in order to avoid
migrating the CPU while reading more than one (possible) word
- Please note that size of cpuset_t objects may differ between kernel
and userland. While this is not directly related to the patch itself,
it is good to understand that concept and possibly use the patch
as a reference on how to deal with cpuset_t objects in userland, when
accessing kernland members.
- KTR_CPUMASK is changed and now is represented through a string, to be
set as the example reported in NOTES.

Please additively note that no MAXCPU is bumped in this patch, but
private testing has been done until to MAXCPU=128 on a real 8x8x2(htt)
machine (amd64).

Please note that the FreeBSD version is not yet bumped because of
the upcoming pcpu changes. However, note that this patch is not
targeted for MFC.

People to thank for the time spent on this patch:
- sbruno, pluknet and Nicholas Esborn (nick AT desert DOT net) tested
several revision of the patches and really helped in improving
stability of this work.
- marius fixed several bugs in the sparc64 implementation and reviewed
patches related to ktr.
- jeff and jhb discussed the basic approach followed.
- kib and marcel made targeted review on some specific part of the
patch.
- marius, art, nwhitehorn and andreast reviewed MD specific part of
the patch.
- marius, andreast, gonzo, nwhitehorn and jceel tested MD specific
implementations of the patch.
- Other people have made contributions on other patches that have been
already committed and have been listed separately.

Companies that should be mentioned for having participated at several
degrees:
- Yahoo! for having offered the machines used for testing on big
count of CPUs.
- The FreeBSD Foundation for having sponsored my devsummit attendance,
which has been instrumental.
- Sandvine for having offered offices and infrastructure during
development.

(I really hope I didn't forget anyone, if it happened I apologize in
advance).


222207 22-May-2011 benl

Fix clang warnings.

Approved by: philip (mentor)


222097 19-May-2011 benl

Fix clang warnings.

Approved by: philip (mentor)


222082 18-May-2011 benl

Fix clang warnings.

Approved by: philip (mentor)


221282 30-Apr-2011 mm

Add ChangeLog.gcc43 for backported changes from gcc 4.3

MFC after: 3 days


220755 17-Apr-2011 dim

Remove libobjc and other Objective-C related components, as these are
extremely outdated, and not used by anything in the base system.

Silence from: current@


220150 29-Mar-2011 mm

Upgrade of base gcc and libstdc++ to the last GPLv2-licensed revision
(rev. 127959 of gcc-4_2-branch).

Resolved GCC bugs:
c++: 17763, 29365, 30535, 30917, 31337, 31941, 32108, 32112, 32346,
32898, 32992
debug: 32610, 32914
libstdc++: 33084, 33128
middle-end: 32563
rtl-optimization: 33148
tree-optimization: 25413, 32723
target: 32218

Tested by: pointyhat (miwi)
Obtained from: gcc (gcc-4_2-branch up to rev. 127959)
PR: gnu/153298, gnu/153959, gnu/154385
MFC after: 1 month


219711 17-Mar-2011 mm

Backport missing tunings for -march=core2:
- enable extra 80387 mathematical constants (ext_80387_constants) [1]
- enable compare and exchange 16 bytes (cmpxchg16b) [2]

Verified against llvm-gcc (and apple gcc)

Obtained from: gcc-4.3 (ref. svn revs. 119260 [1], 121140 [2]; GPLv2)
MFC after: 2 weeks


219697 16-Mar-2011 mm

Fix -march/-mtune=native autodetection for Intel Core 2 CPUs

Obtained from: gcc 4.3 (partial rev. 119454; GPLv2)
MFC after: 2 weeks


219639 14-Mar-2011 mm

Backport SSSE3 instruction set support to base gcc.
Enabled by default for -march=core2

Obtained from: gcc 4.3 (rev. 117958, 121687, 121726, 123639; GPLv2)
MFC after: 2 weeks


219534 11-Mar-2011 marius

Now that TLS is supported for sparc64 by both binutils 2.17.50 committed
in r218822 and rtld(1) committed in r219533 turn on TLS support in GCC.


219374 07-Mar-2011 mm

Backport Intel Core 2 and AMD Geode CPU types from gcc-4.3 (GPLv2)
These options are supported in this shape in all newer GCC versions.

PR: gnu/155308
Obtained from: gcc 4.3 (rev. 118090, 118973, 120846; GPLv2)
MFC after: 2 weeks


218895 20-Feb-2011 mm

Backport svn r124339 from gcc 4.3 and add opteron-sse3, athlon64-sse3
and k8-sse3 cpu-types for -march=/-mtune= gcc options.
These new cpu-types include the SSE3 instruction set that is supported
by all newer AMD Athlon 64 and Opteron processors.
All three cpu-types are supported by clang and all gcc versions
starting with 4.3 SVN rev 124339 (at that time GPLv2 licensed).

PR: gnu/154906
Discussed with: kib, kan, dim
Obtained from: gcc 4.3 (r124339, GPLv2 licensed)
MFC after: 2 weeks


218824 18-Feb-2011 nwhitehorn

Turn off default generation of userland dot symbols on powerpc64 now that
we have a binutils that supports it. Kernel dot symbols remain on to assist
DDB.


217396 14-Jan-2011 kib

Configure gcc to emit .note.GNU-stack for both 32 and 64 bits PowerPC.
Mark gcc-provided asm files as not requiring executable stack.

It seems that non-FreeBSD ABIs for powerpc64 claim stack non-executable.
Due to this, rs6000_elf_end_indicate_exec_stack() only emit the note for
32 bit target. I decided not to change FreeBSD ABI and patch
emit the notes for both variants.

Reviewed and tested by: nwhitehorn


217098 07-Jan-2011 kib

Make gcc emit the .note.GNU-stack section into the assembler files.

Reviewed by: kan


215841 25-Nov-2010 dim

Now that the fix for gcc PR 20218 is applied, and hidden attributes
actually work, linking of libgcc_s.so.1 on ia64 will fail with:

unwind-ia64.So(.text+0x1762): In function `_Unwind_FindEnclosingFunction':
: undefined reference to `_Unwind_FindTableEntry'
unwind-ia64.So(.text+0x1d82): In function `uw_frame_state_for':
: undefined reference to `_Unwind_FindTableEntry'
/usr/bin/ld: libgcc_s.so.1: hidden symbol `_Unwind_FindTableEntry' isn't defined

Repair this by not hiding the _Unwind_FindTableEntry symbol; on FreeBSD,
it is in libc, not in libgcc.

Silence from: current@


215840 25-Nov-2010 dim

Apply backported fix for gcc PR 20218. This makes __attribute__
((visibility ("hidden"))) work properly, and fixes building devel/glib20
with newer binutils.

Silence from: current@


213185 26-Sep-2010 nwhitehorn

Check for NULL link registers as found in initial stack frames when doing
stack unwinding, instead of naively trying to check the instruction at
that location. This fixes signal handling in threaded applications after
recent changes regarding unwinding in libthr. While here, clean up our
MD_FROB_UPDATE_CONTEXT() implementation a little.


211844 26-Aug-2010 rpaulo

Mark __DTOR_LIST__, __EH_FRAME_BEGIN__ and __CTOR_END__ as used to avoid
segfaults when building with clang.

This comes (partly) from the LLVM svn r41105.


211843 26-Aug-2010 rpaulo

Mark __JCR_LIST__, __DTOR_END__, __JCR_END__, __FRAME_END__ as used to
avoid segfaults when building with clang.

Permission to backport given by Jan hubicka <jh at suse.cz>.


211729 24-Aug-2010 rpaulo

Mark the following static variables as __used__ instead of __unused__:
o force_to_data
o __CTOR_LIST__
o __do_global_dtors_aux_fini_array_entry
o __frame_dummy_init_array_entry

This is necessary because Clang is smart enough to optimize out these
variables was they were marked as __unused__ (and they are also static).
The end result was programs segfaulting because these symbols weren't
present.

This follows the upstream revision 159228 and the author of that
revision (Jan Hubicka <jh at suse.de>) allowed us to backport this to our
GPLv2 GCC.

Discussed with: core


211537 21-Aug-2010 rpaulo

Revert part of r211505. Some of the removed casts are actually safe so
put them back in again. Also, clang only complained about the lvalue
cast.

Submitted by: Dimitry Andric <dimitry at andric.com>
Pointed out: bde


211505 19-Aug-2010 rpaulo

Remove unneeded casts in inline assembly in contrib/gcc/longlong.h,
which are apparently "heinous" GNU extensions, so clang can
compile this without using the -fheinous-gnu-extensions option.

Results in *no* binary change, neither with clang, nor with gcc.

Submitted by: Dimitry Andric <dimitry at andric.com>


209867 10-Jul-2010 nwhitehorn

Teach our toolchain how to generate 64-bit PowerPC binaries. This fixes
a variety of bugs in binutils related to handling of 64-bit PPC ELF,
provides a GCC configuration for 64-bit PowerPC on FreeBSD, and
associated build systems tweaks.

Obtained from: projects/ppc64


208737 02-Jun-2010 jmallett

Add/improve mips64r2, Octeon, n32 and n64 support in the toolchain.

o) Add TARGET_ABI to the MIPS toolchain build process. This sets the default
ABI to one of o32, n32 or n64. If it is not set, o32 is assumed as that is
the current default.
o) Set the default GCC cpu type to any specified TARGET_CPUTYPE. This is
necessary to have a working "cc" if e.g. mips64 is specified, as binutils
will refuse to link objects using different ISAs in some cases.
o) Add support for n32 and n64 ABIs to binutils and GCC.
o) Add additional required libgcc2 stubs for n32 and n64.
o) Add support for the "mips64r2" architecture to GCC. Add the "octeon"
o) When static linking, wrap default libraries in --start-group and
--end-group. This is required for static linking to work on n64 with the
interdependencies between libraries there. This is what other OSes that
support n64 seem to do, as well.
o) Fix our GCC spec to define __mips64 for 64-bit targets, not __mips64__, the
former being what libgcc, etc., check and the latter seemingly being a
misspelling of a hand merge from a Linux spec.
o) When no TARGET_CPUTYPE is specified at build time, make GCC take the default
ISA from the ABI. Our old defaults were too liberal and assumed that 64-bit
ABIs should default to the MIPS64 ISA and that 32-bit ABIs should default to
the MIPS32 ISA, when we are supporting or will support some systems based on
earlier 32-bit and 64-bit ISAs, most notably MIPS-III.
o) Merge a new opcode file (and support code) from a later version of binutils
and add flags and code necessary to support Octeon-specific instructions.
This should also make merging opcodes for other modern architectures easier.

Reviewed by: imp


204772 05-Mar-2010 imp

Tweak the linker spec a smidge.
Correct a typo.


204762 05-Mar-2010 imp

Add support for o32 (when it isn't the default), n32, n64, and o64 to
the linker spec. Provide the ability to have a default ABI that's
different than o32 (again, for all 4).

Submitted by: C. Jayachandran (JC) with tweaks for o64/o32 by me


204616 03-Mar-2010 imp

Also define _MIPS_ISA here.

Submitted by: jmallet@


204549 02-Mar-2010 imp

Bring in more built-in defines from NetBSD
a few #defines from JC.

# tested only with o32 at the moment

Submitted by: C. Jayachandran (CJ)
Obtained from: NetBSD


201855 08-Jan-2010 imp

Merge r194519 from projects/mips to head by hand:

r194519 | gonzo | 2009-06-19 17:28:26 -0600 (Fri, 19 Jun 2009) | 3 lines
- set -mabicalls and -msoft-float as a default in order to
simplify building ports


200038 02-Dec-2009 kib

Properly support -fPIE by linking PIE binaries with specially-built
Scrt1.o instead of crt1.o, since the later is built as non-PIC.

Separate i386-elf crt1.c into the pure assembler part and C code,
supplying all data extracted by assembler stub as explicit parameters [1].
Hide and localize _start1 symbol used as an interface between asm and
C code.

In collaboration with: kan
Inspired by: PR i386/127387 [1]
Prodded and tested by: rdivacky [1]
MFC after: 3 weeks


198344 21-Oct-2009 jhb

Change gcc to assume a default machine architecture of 486 instead of 386
on "i386". Doing it in the compiler is deemed to be less fragile then
attempting to provide a default -march setting via bsd.cpu.mk. FreeBSD
itself has not supported plain 386 CPUs since 5.x.

Suggested by: kan
Requested by: rdivacky
MFC after: 1 month


195815 22-Jul-2009 bms

Output DWARF debug information for global 'using' declarations, instead
of just blowing up. A very similar change to this exists which is
GPLv3 licensed, this is my own change.

This problem was triggered by running the Boost regression tests.

See also: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31899
Reviewed by: luigi
Approved by: re (kib)


195697 14-Jul-2009 kan

Second attempt at eliminating .text relocations in shared libraries
compiled with stack protector.

Use libssp_nonshared library to pull __stack_chk_fail_local symbol into
each library that needs it instead of pulling it from libc. GCC
generates local calls to this function which result in absolute
relocations put into position-independent code segment, making dynamic
loader do extra work every time given shared library is being relocated
and making affected text pages non-shareable.

Reviewed by: kib
Approved by: re (kib)


192599 22-May-2009 des

Expand $FreeBSD$


191518 26-Apr-2009 ed

Remove even more empty directories.

I just used `hidesvn find . -type d -empty' to figure out which
directories are empty. This means I couldn't easily figure out which
directories only contained empty subdirectories.


191517 26-Apr-2009 ed

Remove empty directories from the HEAD.

Discussed with: developers, imp


190404 25-Mar-2009 das

Merge an important change that I mistakenly left out when merging C99
inline function support. This should fix instances where gcc
spuriously reports the following error:

error: nested function 'foo' declared but never defined


189824 14-Mar-2009 das

Make gcc use C99 inline semantics in c99 and gnu99 mode. This was the
original intent, but the functionality wasn't implemented until after
gcc 4.2 was released. However, if you compiled a program that would
behave differently before and after this change, gcc 4.2 would have
warned you; hence, everything currently in the base system is
unaffected by this change. This patch also adds additional warnings
about certain inline function-related bogosity, e.g., using a
static non-const local variable in an inline function.

These changes were merged from a snapshot of gcc mainline from March
2007, prior to the GPLv3 switch. I then ran the regression test suite
from a more recent gcc snapshot and fixed the important bugs it found.
I also squelched the following warning unless -pedantic is specified:

foo is static but used in inline function bar which is not static

This is consistent with LLVM's behavior, but not consistent with gcc 4.3.

Reviewed by: arch@


182907 10-Sep-2008 obrien

If arm.h is going to define WCHAR_TYPE, don't assume WCHAR_TYPE_SIZE
doesn't already have a definition.

Reported by: imp


182654 01-Sep-2008 obrien

We're not quite ready for the full %(endian_spec).


182644 01-Sep-2008 obrien

Add __unix__. Tweak __KPRINTF_ATTRIBUTE__ while I'm here.


182627 01-Sep-2008 obrien

Add FreeBSD/MIPS support to GCC.


182579 31-Aug-2008 obrien

Turn cc_tools/Makefile and Makefile.tgt into a "linear" read. Shared
parts of the configuration aren't duplicated, and arch-specific exceptions
are made "in-place". Also clean up the FreeBSD/amd64 config a little.


181540 10-Aug-2008 das

Doc updates for changes in the default values of
-ffancy-math-387 and -mmath-errno.


181538 10-Aug-2008 das

Make -fno-math-errno the default. Our libm doesn't support the SysV
mistake of setting errno, and never has. This will need to be fixed
upstream in a more generic way, but the changes are somewhat more
involved.


181534 10-Aug-2008 das

Make -mfancy-math-387 the default on FreeBSD, as it is on most other
operating systems. Previously, gcc would inhibit the generation of
fsqrt, fsin, and several other floating point instructions, for the
benefit of the old in-kernel math emulator, which was removed over 5
years ago.


180079 28-Jun-2008 obrien

White space fixes.


180078 28-Jun-2008 obrien

Reduce diff to vendor.


178389 21-Apr-2008 marius

This commit was generated by cvs2svn to compensate for changes in r178388,
which included commits to RCS files with non-trunk default branches.


174532 11-Dec-2007 obrien

This commit was generated by cvs2svn to compensate for changes in r174531,
which included commits to RCS files with non-trunk default branches.


174482 09-Dec-2007 marius

Allow the targeted CPU type to be set via -mcpu instead of
limiting to the hardcoded equivalent of -mcpu=ultrasparc.

PR: 109510
MFC after: 3 months


172419 02-Oct-2007 obrien

Do not imply -ftree-vrp with -O2 and above. One must implicitly specify
'-ftree-vrp' if one wants it.
Some bad code generation has been tracked to -ftree-vrp. jdk1{5,6} are
notable examples.

Approved by: re(kensmith)


171836 14-Aug-2007 kan

Update locally changed files to GCC 4.2.1.

Approved by: re (kensmith)


171835 14-Aug-2007 kan

Merge files that are no longer carry FreeBSD local changes.

Approved by: re (kensmith)


171826 14-Aug-2007 kan

This commit was generated by cvs2svn to compensate for changes in r171825,
which included commits to RCS files with non-trunk default branches.


170077 28-May-2007 kan

Disable shared libgcc use for profiled builds. GNU linker pulls symbols
out of libgcc_s.so.1 somehow and fails to record DT_NEEED dependency
when linking with profiled libraries despite --ld-as-needed option.


169819 21-May-2007 cognet

FreeBSD expects VFP, so use that as the default FPU.

Reviewed by: kan


169737 19-May-2007 kan

Cosmetics: remove extra space from GCC version string.


169711 19-May-2007 kan

Merge arm-freebsd.h.diff directly into the target file. Maintaining
separate patch is much more painful than taking this file off the
vendor branch.


169710 19-May-2007 kan

Add FMT_FLAG_NULL_FORMAT_OK flag.


169709 19-May-2007 kan

This commit was generated by cvs2svn to compensate for changes in r169708,
which included commits to RCS files with non-trunk default branches.


169707 19-May-2007 kan

Remove files that are not part of GCC distribution anymore.


169706 19-May-2007 kan

Update configuration files for GCC 4.2.


169705 19-May-2007 kan

Merge local FreeBSD changes for -mno-align-long-strings.


169704 19-May-2007 kan

Merge local FreeBSD changes.


169703 19-May-2007 kan

In FreeBSD -O0 -O1 optimize alignment for time, not size.


169702 19-May-2007 kan

Merge local changes for -mprofiler-epilogue support.


169701 19-May-2007 kan

Merge local FreeBSD changes to support -fformat-extensions.


169700 19-May-2007 kan

Add FreeBSD suffix to GCC version string.


169699 19-May-2007 kan

FreeBSD uses unchanged versions of this files.


169690 19-May-2007 kan

This commit was generated by cvs2svn to compensate for changes in r169689,
which included commits to RCS files with non-trunk default branches.


163679 25-Oct-2006 bde

Fixed -mprofiler-epilogue. The garbage collector apparently doesn't
understand that non-local variables can never be collected, and when
it collected the static variable for mexitcount_libfunc, gcc aborted
on the next use of this variable.

This quick fix is to reinitialize the variable on every use and depend
on garbage collection recovering the small amount of memory wasted by
this, and not worry by the small amount of time wasted by this. It
would be better to initialize the variable together with most of the
other libfuncs in optabs.c and depend on whatever magic is there to
prevent its collection, but we initialize it here to avoid taking at
least 2 more files off the vendor branch.


162514 21-Sep-2006 ru

Removed these from HEAD as well.


162513 21-Sep-2006 ru

This commit was generated by cvs2svn to compensate for changes in r162512,
which included commits to RCS files with non-trunk default branches.


162510 21-Sep-2006 ru

This commit was generated by cvs2svn to compensate for changes in r162509,
which included commits to RCS files with non-trunk default branches.


161660 26-Aug-2006 kan

Resolve conflicts after GCC 3.4.6 20060825 import.


161652 26-Aug-2006 kan

This commit was generated by cvs2svn to compensate for changes in r161651,
which included commits to RCS files with non-trunk default branches.


151887 30-Oct-2005 obrien

Locate __FreeBSD_cc_version's value beside __FreeBSD__'s value to make it
easier to keep them in sync.


151857 29-Oct-2005 obrien

Catch up with FreeBSD 7.


151775 27-Oct-2005 rodrigc

Submitted following patch to FSF GCC:

* freebsd-spec.h (FBSD_TARGET_OS_CPP_BUILTINS):
Use builtin_define_with_int_value() instead of
adding a new check for every new major FreeBSD version.

Motivated by: simon
Discussed with: obrien, kan


149846 07-Sep-2005 obrien

Fix bug where static forward declarations weren't accepted.
This allows us to fix non-ISO-C constructs in our kernel to legal ISO-C.

Submitted by: rodrigc
Obtained from: http://gcc.gnu.org/ml/gcc-patches/2005-09/msg00006.html


148163 19-Jul-2005 obrien

Fix bug where GCC thought athlon-tbird had SSE support.


147823 07-Jul-2005 scottl

Patch the freebsd spec file for PowerPC so that PIC code builds correctly.
This allows FreeBSD/PPC to build and run out of stock CVS sources. This
also takes the file off of the vendor branch.

Submitted by: kan, grehan
Approved by: re, kan


146939 03-Jun-2005 kan

Enable handling of MS-compatible packing push and pop pragmas. This change was
inadvertedly left out of the last import.


146915 03-Jun-2005 kan

Fix a typo from previos commit.


146909 03-Jun-2005 kan

Catch up with changes in BDX_OUTPUT_[LR]BRAC callers.


146908 03-Jun-2005 kan

Merge conflicts for GCC 3.4.4.


146907 03-Jun-2005 kan

Localize GCC version string for FreeBSD.


146906 03-Jun-2005 kan

Stock files.


146896 03-Jun-2005 kan

This commit was generated by cvs2svn to compensate for changes in r146895,
which included commits to RCS files with non-trunk default branches.


137567 11-Nov-2004 obrien

Break lines at sentence ends, etc...


137566 11-Nov-2004 obrien

Don't attempt to claim what version of GCC we're documenting. The manpage
is still mostly the GCC 2.95 one, with faint attempts by me over the years
to document a few new switches. Thus, it is dubious to claim documentation
of specific modern GCC versions.

Noted by: delphij


136528 15-Oct-2004 kan

This commit was generated by cvs2svn to compensate for changes in r136527,
which included commits to RCS files with non-trunk default branches.


134097 21-Aug-2004 obrien

Enter the long awaited start of FreeBSD 6.0!


133583 12-Aug-2004 kan

This commit was generated by cvs2svn to compensate for changes in r133582,
which included commits to RCS files with non-trunk default branches.


133535 12-Aug-2004 kan

This commit was generated by cvs2svn to compensate for changes in r133534,
which included commits to RCS files with non-trunk default branches.


132857 29-Jul-2004 kan

Remove obsolete ASM_FINAL_SPEC definition.

Reported by: green


132811 29-Jul-2004 kan

Allow GCC to recognize -fformat-extensions flag.


132749 28-Jul-2004 kan

Merge rev. 1.2 (allow profiling of FORTRAN77 programs) info
GCC 3.4.3-prerelease sources.


132748 28-Jul-2004 kan

Merge FreeBSD changes into GCC 3.4.2-prerelease:
1.2 Printf format errors fixes.


132747 28-Jul-2004 kan

Use stock version of this file now.


132746 28-Jul-2004 kan

Update sparc64 MD bits to GCC 3.4.2-prerelease.


132745 28-Jul-2004 kan

Merge FreeBSD changes into GCC 3.4.2-prerelease:
1.2 Tweaks to make this file live beside our hacked config.


132744 28-Jul-2004 kan

Merge r1.10 (-mno-align-long-strings) and r1.11 (make LONG_TYPE_SIZE
overridable from the command line).


132743 28-Jul-2004 kan

Merge r1.11 (-mno-align-long-strings).


132742 28-Jul-2004 kan

Update Amd64 MD bits for GCC 3.4.2-prerelease.


132741 28-Jul-2004 kan

Update i386 MD bits for GCC 3.4.2-prerelease.


132740 28-Jul-2004 kan

Update Alpha config MD bits for GCC 3.4.2-prerelease.


132739 28-Jul-2004 kan

Merge FreeBSD modifications into gcc 3.4.2-prerelease:
1.8 Change symbol values to match freebsd.h.


132738 28-Jul-2004 kan

Update MI config bits for GCC 3.4.2-prerelease.


132737 28-Jul-2004 kan

Update for GCC 3.4.2. Bump __FreeBSD_cc_version_ and use correct ELF
interpreter on FreeBSD 5.x series.


132736 28-Jul-2004 kan

Merge FreeBSD modifications into gcc 3.4.2-prerelease:
1.2 Localize the version string.


132735 28-Jul-2004 kan

-O0 -O1 should optimize alignment for time, not size. Moved from toplev.c.


132734 28-Jul-2004 kan

Merge FreeBSD modifications into gcc 3.4.2-prelelease:
1.2 -fformat-extensions.

Remove r1.7 (FORCE_OPTIMIZATION_DOWNGRADE knob for Alpha) as obsolete.
Move r1.14 (-O0 -O1 optimize alignment for time, not size) to opts.c.


132733 28-Jul-2004 kan

Merge FreeBSD modifications into gcc 3.4.2-prerelease:
1.{2,15} FREEBSD_NATIVE.
1.21 "GCC_OPTIONS".
1.{16,25,27} Cross-compiling issues.
1.38 Correct priority for GCC_EXEC_PREFIX.


132732 28-Jul-2004 kan

Merge FreeBSD changes into GCC 3.4.2-prerelease.
1.19 Fix -mprofiler-epilogue on i386.


132731 28-Jul-2004 kan

Merge FreeBSD modifications into gcc 3.4.2-prerelease:
1.2 -fformat-extensions.
1.3 -printf0
1.6 teach GCC about %y for DDB.


132730 28-Jul-2004 kan

Use stock version of this file.
Revision 1.3 to suppress warnings on K&R main is not useful anymore
since GCC suppresses such warnings unconditionally now.


132729 28-Jul-2004 kan

Merge FreeBSD modifications into gcc 3.4.2-prerelease:
1.2 framework for our kernel printf enhancements.
1.3 suppress prototype warnings on K&R main.

Both flag variables declared here were disconnected through the 5-current
lifetime and are retained here for backwards compatibility reasons only.


132728 28-Jul-2004 kan

Merge FreeBSD changes into GCC 3.4.2-prerelease.
r1.18: Move FreeBSD specific flag variables from c-decl.c here.


132727 28-Jul-2004 kan

Use stock GCC versions on these files.


132719 28-Jul-2004 kan

This commit was generated by cvs2svn to compensate for changes in r132718,
which included commits to RCS files with non-trunk default branches.


130744 19-Jun-2004 obrien

Grrr. our rev 1.19 (FSF GCC rev 1.579) is causing some problems on 32-bit
systems. So only use the rev 1.19 (FSF GCC rev 1.579) change on 64-bit
systems.


130711 19-Jun-2004 obrien

Merge FSF GCC rev 1.579 change ((x86_output_mi_thunk): Don't pass MEM to
%P0, just SYMBOL_REF) into GCC 3.3.3. This fixes the bad C++ thunks code
generation building Firefox on AMD64.

Submitted by: Sean McNeil <sean@mcneil.com>


125920 17-Feb-2004 ache

Remove unneeded files


125231 30-Jan-2004 deischen

Make gcc -pthread link to -lpthread instead of -lc_r.


124167 06-Jan-2004 bde

Quick fix for breakage of non-i386 arches in previous commit. Only
use TARGET_PROFILER_EPILOGUE if it is defined.


124160 05-Jan-2004 kan

Fix -mprofiler-epilogue on i386. This should be extended to other
architectures in future.

Submitted by: bde


124152 05-Jan-2004 kan

This commit was generated by cvs2svn to compensate for changes in r124151,
which included commits to RCS files with non-trunk default branches.


123715 22-Dec-2003 kan

Fix ASM_OUTPUT_LABELREF to deal with TSL model prefixes GCC
started to use internally. They need to be stripped before
the name of the label or symbol is printed.


123561 16-Dec-2003 obrien

One might want to correctly generate 32-bit code on an Opteron.

Submitted by: peter


123546 15-Dec-2003 obrien

Consistently define __LP64__ on all our 64-bit platforms.


122632 13-Nov-2003 kan

Use correct priority parameter value in add_prefix from corresponding
enum instead of passing literal 0. This fixes gcc invocations with
GCC_EXEC_PREFIX environment set.

Submitted By: Geoff Morrison
PR: gnu/53476


122432 10-Nov-2003 deischen

Remove a comment stating that -pthread isn't supported.


122200 07-Nov-2003 kan

Drop r1.6 (warn_system_heders by default). Use stock version of
the file from now on.


122199 07-Nov-2003 kan

Merge revs 1.2 (-fformat-extensions), 1.7 (FORCE_OPTIMIZATION_DOWNGRADE knob),
1.14 (-O/-O1 optimize alignment for time, not size).

Back out r1.22 which used to enable warnings in system headers by
default.


122197 07-Nov-2003 kan

Merge revs 1.{2,15} (FREEBSD_NATIVE); 1.21 ("GCC_OPTIONS"); 1.{16,25,27}
(cross compiling issues).


122196 07-Nov-2003 kan

Merge r1.3 (suppress warnings on K&R main).


122195 07-Nov-2003 kan

New GCC version.


122194 07-Nov-2003 kan

Merge r1.11 (-mno-align-long-strings).


122193 07-Nov-2003 kan

Merge r1.10 (-mno-align-long-strings) and r1.11 (make LONG_TYPE_SIZE
overridable from the command line).


122192 07-Nov-2003 kan

Merge r1.8 (printf format error fixes).


122191 07-Nov-2003 kan

Drop the revision 1.2 (don't let gcc(1) hide warnings in system headers)
and use stock version of this file now.


122190 07-Nov-2003 kan

No FreeBSD-local changes in these files.


122181 07-Nov-2003 kan

This commit was generated by cvs2svn to compensate for changes in r122180,
which included commits to RCS files with non-trunk default branches.


120312 21-Sep-2003 deischen

The ports freeze may take longer than anticipated. Instead of
waiting for it to be delayed, temporarily back out the -pthread
removal until the freeze is lifted.

Freeze possibly taking longer than necessary: will
Requested by: kris


120006 12-Sep-2003 obrien

Bump __FreeBSD_cc_version for (1) 5.1 (post-mortem) (2) -pthread changes.


119720 03-Sep-2003 deischen

Remove the -pthread option (in FreeBSD versions 500016 and greater) as
threatened over 2 years ago.

Why? -pthread was a hack to prevent linking to both libc and libc_r
and became unecessary when libc_r became free of libc. Now that we
have multiple thread libraries from which to choose, it is more confusing
because you can't link to more than one threads library at a time.
Things like autoconf and libtool sometimes detect -pthread and
also -lc_r, and in conjunction with ports usage of ${PTHREAD_LIBS},
really wacky things ensue when PTHREAD_LIBS is set to another
threads library. This might not be so bad if the build broke
when this happens, but it doesn't and you don't know it until
funny things happen when you run the application (or use an
affected library).

Reviewed by: obrien


119642 01-Sep-2003 deischen

Backout rev 1.10.

Requested by: obrien


119621 31-Aug-2003 deischen

Remove -pthread as a compiler option. It was deprecated 2.5 years
ago, but not removed.

No reply from: threads, kan, obrien


119414 24-Aug-2003 obrien

Reformat FBSD_{START,END}FILE_SPEC to FSF coding standards.
Use these in our i386, amd64, and alpha platforms.


119272 22-Aug-2003 kan

Enable warn_system_heders by default.


119271 22-Aug-2003 kan

Merge FreeBSD modifications into gcc 3.3.1-prerelease:
1.2 don't let gcc(1) hide warnings in system headers.

Don't disable warning suppression unconditionally, but rather
make in dependent on warn_system_headers flag, one should be
able to use -Wno-system-headers flag if warnings from system
headers are not desired.


119270 22-Aug-2003 kan

Merge FreeBSD modifications into gcc 3.3.1-release:
1.8 printf format error fixes.


119269 22-Aug-2003 kan

Merge FreeBSD modifications into gcc 3.3.1-release:
1.2 Localize the version string.


119268 22-Aug-2003 kan

Merge FreeBSD modifications into gcc 3.3.1-release:
1.3 suppress warnings on K&R main.


119267 22-Aug-2003 kan

Merge FreeBSD modifications into gcc 3.3.1-release:
1.2 -fformat-extensions.
1.7 FORCE_OPTIMIZATION_DOWNGRADE knob for Alpha.
1.14 -O0 -O1 optimize alignment for time, not size.


119265 22-Aug-2003 kan

Stock files.


119257 22-Aug-2003 kan

This commit was generated by cvs2svn to compensate for changes in r119256,
which included commits to RCS files with non-trunk default branches.


119016 17-Aug-2003 gordon

Tell the toolchain to look for rtld in /libexec instead of /usr/libexec.


117694 17-Jul-2003 obrien

This file became OBE when we went to GCC 3.


117479 12-Jul-2003 kan

Do not override FP rounding options for 32bit platforms. amd64 doesn't
need this.


117431 11-Jul-2003 kan

Merge FreeBSD changes into GCC 3.3.1-prerelease.
Move FreeBSD specific flag variables from c-decl.c here.


117422 11-Jul-2003 kan

Merge FreeBSD modifications into gcc 3.3.1-prerelease:
1.2 -fformat-extensions.
1.3 -printf0
1.6 teach GCC about %y for DDB.


117421 11-Jul-2003 kan

Merge FreeBSD modifications into gcc 3.3.1-prerelease:
1.3 suppress warnings on K&R main.

Rev. 1.2 (options for kernel printf enhancements) changes have been
moved to another


117420 11-Jul-2003 kan

Update for GCC 3.3.1-prerelease.


117419 11-Jul-2003 kan

Merge FreeBSD modifications into gcc 3.3.1-prerelease:
1.8 Change symbol values to match freebsd.h.


117418 11-Jul-2003 kan

Update for 3.3.1-prerelease.


117417 11-Jul-2003 kan

Merge FreeBSD modifications into gcc 3.3.1-prerelease:
1.4 Look into right directory when linking 32-bit binaries.


117416 11-Jul-2003 kan

Use stock version of this file now.


117415 11-Jul-2003 kan

Merge FreeBSD modifications into gcc 3.3.1-prerelease:
1.2 don't let gcc(1) hide warnings in system headers.


117414 11-Jul-2003 kan

Merge FreeBSD modifications into gcc 3.3.1-prerelease:
1.2 -fformat-extensions.
1.7 FORCE_OPTIMIZATION_DOWNGRADE knob for Alpha.
1.14 -O0 -O1 optimize alignment for time, not size.


117413 11-Jul-2003 kan

Merge FreeBSD modifications into gcc 3.3.1-prerelease:
1.{2,15} FREEBSD_NATIVE.
1.21 "GCC_OPTIONS".
1.{16,25,27} Cross-compiling issues.


117412 11-Jul-2003 kan

Merge FreeBSD changes into GCC 3.3.1-prerelease:
1.2 Tweaks to make this file live beside our hacked config.


117411 11-Jul-2003 kan

Merge FreeBSD modifications into gcc 3.3.1-prerelease:
1.2 Localize the version string.


117410 11-Jul-2003 kan

Merge FreeBSD modifications into gcc 3.3.1-prerelease:
1.8 printf format error fixes.


117409 11-Jul-2003 kan

Merge FreeBSD changes into GCC 3.3.1-prerelease:
1.2 Printf format errors fixes.


117408 11-Jul-2003 kan

Merge FreeBSD modifications into gcc 3.3.1-prerelease:
1.11 -mno-align-long-strings.


117407 11-Jul-2003 kan

Merge FreeBSD modifications into gcc 3.3.1-prerelease:
1.10 -mno-align-long-strings.
1.11 Allow the specification of LONG_TYPE_SIZE on the command line.


117406 11-Jul-2003 kan

Merge FreeBSD modifications into gcc 3.3.1-pre:
1.2 framework for our kernel printf enhancements.
1.3 suppress prototype warnings on K&R main.


117405 11-Jul-2003 kan

Merge rev. 1.2 (allow profiling of FORTRAN77 programs) info GCC 3.3.1-pre
sources.


117404 11-Jul-2003 kan

FreeBSD uses stock versions of these GCC files.


117396 11-Jul-2003 kan

This commit was generated by cvs2svn to compensate for changes in r117395,
which included commits to RCS files with non-trunk default branches.


116826 25-Jun-2003 obrien

Remove bit about _THREAD_SAFE. deischen committed a change to stdio.h
that totally removed _THREAD_SAFE.

PR: 36167
Submitted by: gerald


114842 08-May-2003 obrien

I goofed in rev 1.59 (a.out support axing) and missed getting FUNCTION_PROFILER
fully clean. This resulted in inserted garbage into the produced assembly code
when the gcc -pg and -fPIC options are used together.

PR: i386/50598
Submitted by: Don Lewis <truckman@freebsd.org>


114083 26-Apr-2003 obrien

We're changing the platform name from x86[_-]86 to amd64.


114078 26-Apr-2003 obrien

Fix the LINK_SPEC. Our i386 32-bit emulation name changed.
We also need to look in the proper directory for 32-bit libs.


114077 26-Apr-2003 obrien

Remove the last vestiges (I hope) of the mixed ELF/a.out support.
As a plus we can use the stock CC1_SPEC and ASM_SPEC for AMD64.


113420 13-Apr-2003 kan

Teach gcc how to put unitialized data into BSS on FreeBSD.


112681 26-Mar-2003 kan

This commit was generated by cvs2svn to compensate for changes in r112680,
which included commits to RCS files with non-trunk default branches.


110631 10-Feb-2003 kan

Merge FreeBSD modifications into gcc 3.2.2 release:
1.8 printf format error fixes.


110629 10-Feb-2003 kan

Merge FreeBSD modifications into gcc 3.2.2 release:
1.10 -mno-align-long-strings.
1.11 Allow the specification of LONG_TYPE_SIZE on the command line.


110628 10-Feb-2003 kan

Merge FreeBSD modifications into gcc 3.2.2 release:
1.11 -mno-align-long-strings.
Note the change 1.15 is not needed anymore.


110627 10-Feb-2003 kan

Update for Gcc 3.2.2 release.


110626 10-Feb-2003 kan

Merge FreeBSD modifications into gcc 3.2.2 release:
1.{2,15} FREEBSD_NATIVE.
1.21 "GCC_OPTIONS".
1.{16,25,27} Cross-compiling issues.


110624 10-Feb-2003 kan

Merge FreeBSD modifications into gcc 3.2.2 release:
1.2 -fformat-extensions.
1.3 -printf0
1.6 Teach GCC about %y for DDB and implement
support for the C99 %z format modifier.


110623 10-Feb-2003 kan

Merge FreeBSD modifications into gcc 3.2.2 release:
1.2 kernel printf enhancements framework.
1.3 suppress prototype warnings on K&R main.


110622 10-Feb-2003 kan

Merge FreeBSD modifications into gcc 3.2.2 release:
1.2 framework for our kernel printf enhancements.
1.3 suppress prototype warnings on K&R main.


110621 10-Feb-2003 kan

Update HEAD with stock GCC 3.2.2 release files.


110612 10-Feb-2003 kan

This commit was generated by cvs2svn to compensate for changes in r110611,
which included commits to RCS files with non-trunk default branches.


110201 01-Feb-2003 imp

-kthread has been dead these many years. This PR has languished for a
long time. Go ahead and commit the patch since a co-worker has been
working up a code patch in this area and wondered why it hasn't been
committed yet.

PR: 35800


110024 29-Jan-2003 obrien

main() changed its argv declaration, so follow suit in some FBSD added code.


108173 22-Dec-2002 kan

Fix a bug in GCC which effectively prevents DEFAULT_PCC_STRUCT_RETURN from
having any effect. This restores a calling convention traditionally used
by FreeBSD/i386 and which is expected by a number of assembly sources
in libc.

Reviewed by: obrien
Approved by: re (rwatson)


107647 05-Dec-2002 obrien

_NIH, __NIH__, __N_I_H__, __nih__, _niH_.

*sigh* GCC developers can't seem to make up their mind which pre-defined arch
symbols are the official ones. So make them, and the Sparc64 using Martians
happy with every permutation.

This fixes f77 and possibly changes some 'long long' handling.

Approved by: re(bmah)


107620 04-Dec-2002 obrien

I really hate the GCC directory structure of gcc/gcc/gcc/<compiler files>


107605 04-Dec-2002 obrien

Update HEAD with FSF branch 3.2.1 release files.


107604 04-Dec-2002 obrien

Use pure stock files.


107601 04-Dec-2002 obrien

Merge rev 1.8 (printf format error fixes) into Gcc 3.2.1 release.


107600 04-Dec-2002 obrien

Gperf is usable again. We don't need this.


107599 04-Dec-2002 obrien

Fix typo to sync with FSF sources.


107598 04-Dec-2002 obrien

Merge revs 1.10 (-mno-align-long-strings) and 1.11 (LONG_TYPE_SIZE override)
into Gcc 3.2.1 release.


107597 04-Dec-2002 obrien

Merge rev 1.11 (-mno-align-long-strings) into Gcc 3.2.1 release.


107596 04-Dec-2002 obrien

Update for Gcc 3.2.1 release.


107595 04-Dec-2002 obrien

Merge revs 1.2 (-fformat-extensions), 1.7 (FORCE_OPTIMIZATION_DOWNGRADE knob),
1.14 (-O/-O1 optimize alignment for time, not size) into Gcc 3.2.1 release.


107594 04-Dec-2002 obrien

Merge revs 1.{2,15} (FREEBSD_NATIVE); 1.21 ("GCC_OPTIONS"); 1.{16,25,27}
(cross compiling issues) into GCC 3.2.1 release.

Note revs 1.{5,13} (ELF and objformat support) are OBE with the a.out dike-out.


107593 04-Dec-2002 obrien

Merge revs 1.2 (kernel printf framework) and 1.3 (suppress K&R main warnings)
into Gcc 3.2.1 release.


107591 04-Dec-2002 obrien

This commit was generated by cvs2svn to compensate for changes in r107590,
which included commits to RCS files with non-trunk default branches.


107589 04-Dec-2002 obrien

This commit was generated by cvs2svn to compensate for changes in r107588,
which included commits to RCS files with non-trunk default branches.


107540 03-Dec-2002 obrien

Add spaces around FBSD_ENDFILE_SPEC as it is used in string concatenation.

Approved by: re(bmah)


107295 27-Nov-2002 obrien

Update the version number.

Approved by: bmah, jhb, murray (independently)


107286 26-Nov-2002 obrien

Remove our custom mixed ELF/a.out support. This means the base compiler
now only produce ELF objects. It also makes us closer to stock GCC, and
simplifies the set of changes we still need from stock GCC on every import.

Applauded by: peter
Approved by: re


106442 05-Nov-2002 obrien

Sync with the stock FSF 3.2 file. This adds TRANSFER_FROM_TRAMPOLINE,
which is needed in order for nexted C functions to work.


105954 25-Oct-2002 mux

- Rename the DDB specific %z printf format to %y.
- Make DDB use %y instead of %z.
- Teach GCC about %y.
- Implement support for the C99 %z format modifier.

Approved by: re@
Reviewed by: peter
Tested on: i386, sparc64


104953 12-Oct-2002 obrien

ELF low-level toolchain bits now live in /usr/bin, not /usr/libexec/elf.


104769 10-Oct-2002 kan

Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.8 printf format error fixes

Approved by: obrien


104768 10-Oct-2002 kan

Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.10 -mno-align-long-strings
1.11 Allow the specification of LONG_TYPE_SIZE on the command line.

Approved by: obrien


104767 10-Oct-2002 kan

Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.11 -mno-align-long-strings

Approved by: obrien


104766 10-Oct-2002 kan

Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.2 Localize the version number

Approved by: obrien


104765 10-Oct-2002 kan

Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.2 -fformat-extensions
1.7 FORCE_OPTIMIZATION_DOWNGRADE knob for Alpha
1.14 -O0 -O1 should optimize alignment for time, not size

Approved by: obrien


104764 10-Oct-2002 kan

Use the stock 3.2.1-prerelease file.

Approved by: obrien


104763 10-Oct-2002 kan

Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.\\{2,15\\} FREEBSD_NATIVE
1.\\{5,13\\} ELF, and objformat support
1.\\{16,23,25\\} Better cross building control
1.21 'GCC_OPTIONS'
1.27 cross-arch MD_EXEC_PREFIX fixes
cc -print-search-dir fixes
1.28 Read specs from /usr/libdata/gcc/specs, if available

Approved by: obrien


104762 10-Oct-2002 kan

Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.2 kernel printf enchancements framework

Approved by: obrien


104761 10-Oct-2002 kan

Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.2 kernel printf enchancements framework
1.3 suppress warnings on K&R main

Approved by: obrien


104753 10-Oct-2002 kan

This commit was generated by cvs2svn to compensate for changes in r104752,
which included commits to RCS files with non-trunk default branches.


103792 22-Sep-2002 obrien

Turn off the "-O2 flag TRIGGERS KNOWN OPTIMIZER BUGS" warning.

From current testsuite results, the optimizer bugs don't appear to exist
anymore. RTH@cygnus.com did a lot of work on the Alpha ELF code generator
for GCC 3.2[.0]. A recent FreeBSD/AXP GCC bootstrap is at
http://gcc.gnu.org/ml/gcc-testresults/2002-09/msg00604.html
In this bootstraps, all gcc libraries are built with -O2 and c-torture
gives -O2 a real workout. None of the remaining failures have anything
to do with -O2 optimizer bugs.

Submitted by: Loren James Rittle <rittle@latour.rsch.comm.mot.com>


103455 17-Sep-2002 kan

Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.8 printf format error fixes

Approved by: obrien


103454 17-Sep-2002 kan

Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.2 Localize the version number

Approved by: obrien


103453 17-Sep-2002 kan

Use the stock 3.2.1-prerelease file.

Approved by: obrien


103452 17-Sep-2002 kan

Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.2 framework for our kernel printf enhancements
1.3 suppress prototype warning for K&R main

Approved by: obrien


103446 17-Sep-2002 kan

This commit was generated by cvs2svn to compensate for changes in r103445,
which included commits to RCS files with non-trunk default branches.


103261 12-Sep-2002 obrien

Emacs decides between v8 and v9 based on "__arch64__". So define it.

Desired by: tmm


103259 12-Sep-2002 obrien

Remove some debugging cruft I accidently committed with rev 1.4.


103258 12-Sep-2002 obrien

Try to detect support for the `long long' type so that ANSI-C[89] clean
code will know not to try to use `long long'.
Unfortunately the GCC spec parser will not allow us to properly detect the
"iso9899:1990" and "iso9899:199409" forms of the acceptable -std= arguments,
because of the ':' in the -std argument. :-( I have left them in the spec
as a place holder in hopes someone knows a way to make the detection of
them work.

Desired by: wollman


103117 09-Sep-2002 obrien

Bump __FreeBSD_cc_version for gcc 3.1-prerelease -> 3.2.1-snap upgrade.


102805 01-Sep-2002 kan

Revert rev. 1.2. GCC 3.2 seems to have builtin_memset fixed.

Approved by: obrien


102804 01-Sep-2002 kan

Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.8 printf format error fixes

Approved by: obrien


102802 01-Sep-2002 kan

Use the stock 3.2.1-prerelease file.

Approved by: obrien


102801 01-Sep-2002 kan

Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.10 -mno-align-long-strings
1.11 Allow the specification of LONG_TYPE_SIZE on the command line.

Approved by: obrien


102800 01-Sep-2002 kan

Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.11 -mno-align-long-strings

Approved by: obrien


102799 01-Sep-2002 kan

Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.8 Change symbol values to match freebsd.h

Approved by: obrien


102798 01-Sep-2002 kan

Use the stock 3.2.1-prerelease file.

Approved by: obrien


102797 01-Sep-2002 kan

Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.2 Localize the version number

Approved by: obrien


102796 01-Sep-2002 kan

Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.2 -fformat-extensions
1.7 optimization downgrade
1.14 -O0 -O1 should optimize alignment for time, not size

Approved by: obrien


102795 01-Sep-2002 kan

Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.\{2,15\} FREEBSD_NATIVE
1.\{5,13\} ELF, and objformat support
1.\{16,23,25\} Better cross building control
1.21 'GCC_OPTIONS'
1.27 cross-arch MD_EXEC_PREFIX fixes
cc -print-search-dir fixes
1.28 Read specs from /usr/libdata/gcc/specs,
if available

Approved by: obrien


102794 01-Sep-2002 kan

Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.2 a.out support

Approved by: obrien


102793 01-Sep-2002 kan

Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.2 do not create paradoxical FLOAT_MODE subregs

I am not sure if this is still required.

Approved by: obrien


102792 01-Sep-2002 kan

Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.2 kernel printf enchancements framework

Approved by: obrien


102791 01-Sep-2002 kan

Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.2 don't let gcc(1) hide warnings in system headers.

Approved by: obrien


102790 01-Sep-2002 kan

Merge FreeBSD modifications into gcc 3.2.1-prerelease:
1.2 kernel printf enchancements framework
1.3 suppress warnings on K&R main

Approved by: obrien


102789 01-Sep-2002 kan

Use the stock 3.2.1-prerelease file.

Approved by: obrien


102781 01-Sep-2002 kan

This commit was generated by cvs2svn to compensate for changes in r102780,
which included commits to RCS files with non-trunk default branches.


101910 15-Aug-2002 ru

Merge gcc.295/cccp.c,v 1.9: don't let gcc(1) hide warnings in system headers.

Reviewed by: bde

Original 2.95 change was subject to:

Approved by: obrien


99884 12-Jul-2002 obrien

Fix C++ exception handling. GCC was using the older BSD DBX register numbers
rather than the ELF ABI/SVR4 ones in its DWARF unwinding.

Submitted by: Alexander Kabaev <ak03@gte.com>


99883 12-Jul-2002 obrien

When I decided to use a stock dbxout.c rather than merge the rev 1.2 change
(put the function stabs in traditional order on a.out, or gdb doesn't see
function local variables), I failed to remove the related knobs here.

Effectively were overrode the ELF-wide definition in elfos.h w/o providing
new infrastructure. This is what caused GDB to fail to debug applications
compiled and linked with -stabs. This is because GCC was unconditionally
inserts .stabs instruction for functions after the function body. GDB was
getting confused because what it thinks is function beginning address is
actually function ending address.

Submitted by: Alexander Kabaev <ak03@gte.com>


99841 12-Jul-2002 obrien

Yep, revision 1.3 was 1/2assed.
This time use the right attribute for null_format_ok.

Submitted by: bde


99396 03-Jul-2002 obrien

Allow XFree86-4 to build
by not creating paradoxical FLOAT_MODE subregs.

Tested by: se
Obtained from: http://gcc.gnu.org/ml/gcc/2002-06/msg01709.html


98599 21-Jun-2002 obrien

Tweaks to make these files live beside our hacked config.


98597 21-Jun-2002 obrien

Tweaks for the 64-bit compiler.


98573 21-Jun-2002 obrien

cc -O0 and -O1 didn't do the easy optimization of alignment for space.
Instead it attempted to do the easy optimization of alignment for time,
which should be to 1-byte alignment on i386's.

Submitted by: bde


98572 21-Jun-2002 obrien

BDE prefers this organization.

Submitted by: bde


98096 10-Jun-2002 obrien

cvs -j -j gave me two copies of TARGET_VERSION and I didn't notice
it before committing.


98056 09-Jun-2002 obrien

Allow one to profile FORTRAN77 programs.


97943 06-Jun-2002 obrien

Match the DBX_OUTPUT_MAIN_SOURCE_FILE_END definition in dbxelf.h.

Bug found by: bde


97912 06-Jun-2002 obrien

Allow the specification of LONG_TYPE_SIZE on the command line.

Submitted by: bde


97911 06-Jun-2002 obrien

Implement "-mno-align-long-strings" which prevents pessimization of strings
for space. -Os could do this, but it was easy to hack an MD version.
This saves a whole 32 bytes in boot2, so I think it is worth using it.
(keep how much worse gcc 3.2 will compile boot2...)

Submitted by: bde (minus gcc 3.2 commentary)


97910 06-Jun-2002 obrien

Didn't get them all in revision 1.50.


97908 06-Jun-2002 obrien

Fix excessive alignment for the aout case, and unbreak genassym for that case.
Our aout linker has alignment hacks and doesn't need gcc to do anything special.

Tested for a year by: bde :-)


97907 06-Jun-2002 obrien

Tidy do-while.

Requested by: bde


97902 06-Jun-2002 obrien

Read specs from /usr/libdata/gcc/specs if it exists.


97827 04-Jun-2002 obrien

The brokenness in ix86_expand_clrstr is quite visible when you
compare the function with ix86_expand_movstr.

Submitted by: Tor Egge


97826 04-Jun-2002 obrien

Gcc 3.1 (-O) now generates broken inline code for memset in some cases.
This broke newfs (newfs left some garbage in a bitmap).

The ASM for:

#include <string.h>
int x, foo[100];
main()
{
memset(&foo[0], 0, x);
}

is (at least if you have fixed function alignment):

.file "z.c"
.text
.p2align 2,,3
.globl main
.type main,@function
main:
pushl %ebp
movl %esp, %ebp
pushl %edi
pushl %eax
movl x, %ecx
xorl %eax, %eax
shrl $2, %ecx
movl $foo, %edi
cld
rep
stosl
andl $-16, %esp
<-- the lower bits of `len' should be loaded
near here
testl $2, %edi <-- this seems to be meant to test the 2^1
bit in `len' (not alignment of the pointer
like it actually does). %edi is the wrong
register for holding the bits, since it is
still needed for the pointer.
je .L2
stosw
.L2:
testl $1, %edi <-- similarly for the 2^0 bit.
je .L3
stosb
.L3:
movl -4(%ebp), %edi
leave
ret
.Lfe1:
.size main,.Lfe1-main
.comm foo,400,32
.comm x,4,4
.ident "GCC: (GNU) 3.1 [FreeBSD] 20020509 (prerelease)"

This seems to only result in (len % 3) bytes not being cleared, since gcc
doesn't seem to use the builtin memset unless it knows that the pointer is
aligned. If %edi could be misaligned, then too many bytes would be set.

Submitted by: BDE


97543 30-May-2002 obrien

Seems we are not ready for revision 1.8.


97532 30-May-2002 obrien

Make our default predefines ANSI clean.


97308 26-May-2002 obrien

The special checks for %b and %D in rev 1.1 were done before skipping over
any characters between the % and the [bD], so only plain %b and %B worked.
This may un-1/2ass our -fformat-extensions support.

Submitted by: bde


97130 22-May-2002 obrien

1/2assed reimplementation of c-common.c revs 1.2 (-fformat-extensions)
and 1.3 (printf0) for GCC 3.1.


96823 17-May-2002 obrien

the processed hash file


96736 16-May-2002 ru

MD_EXEC_PREFIX doesn't work for the cross-arch compiler.
The change also makes the `cc -print-search-dirs' output
sane (the pre-3.1 way) in the non-cross case.

Draft reviewed by: obrien


96558 14-May-2002 obrien

Merge c-common.c rev 1.10 into GCC 3.1

Clarify that the "yields only last 2 digits of year in some locales" warning
does not apply to BSD.

Submitted by: ache


96557 14-May-2002 obrien

If you want to not warn on K&R main(); this is how it should be implemented.


96550 14-May-2002 obrien

Merge choose-temp.c rev 1.2 (use /tmp 1st, and then /var/tmp) into GCC 3.1.


96549 14-May-2002 obrien

Add framework for our kernel printf enhancements.


96490 13-May-2002 obrien

This commit was generated by cvs2svn to compensate for changes in r96489,
which included commits to RCS files with non-trunk default branches.


96466 12-May-2002 obrien

do-while ASM_OUTPUT_ALIGN to enable its use in more places.


96447 12-May-2002 obrien

Fixes for building a.out bits.

Submitted by: bde


96372 11-May-2002 obrien

Localize the version number at the request of the GCC developers.


96362 10-May-2002 obrien

Add tweaks needed when using as the system compiler.


96341 10-May-2002 obrien

Change symbol values to match freebsd.h to avoid warnings.


96331 10-May-2002 obrien

Remove files not part of GCC 3.1.


96330 10-May-2002 obrien

Import data for 3.0.2.


96294 09-May-2002 obrien

Use the stock (3.1 pre) file.


96293 09-May-2002 obrien

Use the stock file for now (but leave a note behind about our OBE changes).


96292 09-May-2002 obrien

Merge rev 1.2 (printf format error fixes) in its 1.8 form into Gcc 3.1 pre.


96291 09-May-2002 obrien

Use the stock (3.1) file.


96290 09-May-2002 obrien

We use the stock (3.1) file.


96289 09-May-2002 obrien

Merge rev 1.2 (-fformat-extensions) and rev 1.7 (optimization downgrade)
into the Gcc 3.1 prerelease.


96288 09-May-2002 obrien

Use the stock (3.1 pre) file.


96287 09-May-2002 obrien

Use the stock (3.1) version.


96286 09-May-2002 obrien

Merge rev 1.2 [_exit() over exit()] into the Gcc 3.1 prerelease.


96285 09-May-2002 obrien

Merge revs 1.{2,15} (FREEBSD_NATIVE); 1.{5,13} (ELF, and objformat support);
1.{16,23,25} (better cross building control); 1.21 ("GCC_OPTIONS")
into the GCC 3.1 prerelease.


96283 09-May-2002 obrien

Merge rev 1.2 (a.out support) into the GCC 3.1 prerelease.


96282 09-May-2002 obrien

Use the stock 3.1 prerelease version of this for now.


96281 09-May-2002 obrien

Use the stock 3.1 prerelease file now. Rev 1.2 (add_bb) just doesn't
cleanly fit in any more.


96280 09-May-2002 obrien

Use the stock (3.1) file.


96279 09-May-2002 obrien

We use the stock (3.1) file now.


96278 09-May-2002 obrien

Use the stock (3.1) file now.
The choosing of TMPDIR has moved to make-temp-file.c.


96276 09-May-2002 obrien

Use the stock 3.1 prerelease file.


96275 09-May-2002 obrien

Use the stock 3.1-prerelease file.


96273 09-May-2002 obrien

Use stock file.


96264 09-May-2002 obrien

This commit was generated by cvs2svn to compensate for changes in r96263,
which included commits to RCS files with non-trunk default branches.


96187 07-May-2002 obrien

Alpha MD bits for Gcc 3.1.


96144 07-May-2002 obrien

Comment a knob.


96143 07-May-2002 obrien

The default ASM_OUTPUT_ADDR_DIFF_ELT will now handle our mixed a.out/ELF.


95811 30-Apr-2002 obrien

MI bits for Gcc 3.1.


95810 30-Apr-2002 obrien

i386 MD bits for Gcc 3.1.

These are totally untested. Do these work? Hell if I know, I have yet to
bootstrap using these bits. But people want them, so here they are.


95349 24-Apr-2002 obrien

Style changes to reduce diff to things I did in the FSF repo.


95348 24-Apr-2002 obrien

Fix bug where we were loosing our platform-wide ASM_COMMENT_START
definition due to pollution in i386/unix.h.


93298 27-Mar-2002 obrien

GCC 3.1 uses crtstuff.c on Alpha now. [yay!]


93263 27-Mar-2002 obrien

Switch register numbers for DWARF2_DEBUG also.


91651 05-Mar-2002 obrien

Allow for better control over the GCC front-end when building a cross
compiler.

* Undo the diking out of cross compiler logic from gcc.c rev 1.16.
* Add the `CROSS_STARTFILE_PREFIX' knob.
* Add our own definition of `STANDARD_INCLUDE_DIR'. This should have been
included in freebsd-native.h rev 1.5.


91578 03-Mar-2002 obrien

Allow one to specify a STANDARD_EXEC_PREFIX for GCC (but not BINUTILS) bits.


91561 02-Mar-2002 obrien

Better granularity of the FREEBSD_NATIVE #ifdef's.


91221 25-Feb-2002 obrien

Use the default 'ld' emulation rather than hard coding it.
For FreeBSD, 'ld' 2.12.0 uses a different emulation than in the past.
So this change makes the upgrade easier.


90292 06-Feb-2002 obrien

Use the stock [3.1-snap] version of this.


90291 06-Feb-2002 obrien

A slightly more general version of rev 1.2 that might be more acceptable
to the GCC maintainers.


90290 06-Feb-2002 obrien

Merge BDE's printf format error fixes (rev 1.2) into GCC 3.1-snap.


90289 06-Feb-2002 obrien

Use the stock GCC 3.1-snap version of this.


90288 06-Feb-2002 obrien

A slightly different version of rev 1.2 that is closer to something the
GCC maintainers might actually accept.


90287 06-Feb-2002 obrien

Merge rev 1.2 (printf format error fixes) into GCC 3.1-snap.


90286 06-Feb-2002 obrien

Use the stock [3.l-snap] version of this.


90285 06-Feb-2002 obrien

Use the stock [3.1-snap] file.


90284 06-Feb-2002 obrien

Use the stock file for now.

The changes from GCC 2.95.3 to 3.1 are large and it is hard to figure
out how to apply our changes. Once BDE can properly test GCC 3.1 he'll
add back in our changes.


90283 06-Feb-2002 obrien

Merge the stock gcc-3.1_snap file onto HEAD.


90282 06-Feb-2002 obrien

Merge rev 1.2 (-fformat-extensions) and rev 1.7 (optimization downgrade)
into GCC 3.1-snap.


90280 06-Feb-2002 obrien

We use the stock [3.1-snap] file.


90277 06-Feb-2002 obrien

Merge revs 1.{2,15} (FREEBSD_NATIVE); 1.{5,13} (ELF, and objformat support);
1.16 (allow specification of TOOLS_PREFIX); 1.21 ("GCC_OPTIONS")
into GCC 3.1-snap.

Note that rev 1.20 was fixed in the stock GCC 3 sources.


90091 01-Feb-2002 obrien

Merge rev 1.2 (a.out support) into GCC 3.1-snap.


90090 01-Feb-2002 obrien

Use the stock 3.1-snap file now.
Until we can figure out how to reimpliment our custom format warnings
since the FSF developers totally revamped them, and took away the hooks
we were using to accomplish our desires.


90087 01-Feb-2002 obrien

Merge rev 1.2 (add_bb) into GCC 3.1-snap.

Note that the "NO_PROFILE_DATA"/"NO_PROFILE_COUNTERS" bits were added
to the stock FSF GCC 2.97 (and thus 3.1) source as i386 Linux needed them
also. (amazing what can get committed to the FSF GCC when needed by Linux...)


90086 01-Feb-2002 obrien

We use the stock [3.1-snap] version of this,
other than having to add $FreeBSD$...


90085 01-Feb-2002 obrien

Use the stock 3.1-snap file now.
I do not think our rev 1.2 changes are needed any longer.


90084 01-Feb-2002 obrien

The stock (3.1-snap) version of this file is used now.
The FreeBSD hacks now apply to `config.gcc'.


90083 01-Feb-2002 obrien

Go back to stock [3.1-snap] file -- our previous mods are OBE.


90082 01-Feb-2002 obrien

We use the stock 3.1-snap file now.
All the -Wformat related code moved to c-format.c.


90081 01-Feb-2002 obrien

Use the stock 3.1-snap file now.
I have folded all our local changes into the FSF CVS repo.


90076 01-Feb-2002 obrien

This commit was generated by cvs2svn to compensate for changes in r90075,
which included commits to RCS files with non-trunk default branches.


90029 31-Jan-2002 obrien

MFC: gcc.295/config/alpha/freebsd.h revision 1.12:
Remove our definition for FUNCTION_PROFILER as it is wrong.

Note that "jsr $28,_mcount" is a macro for
ldq $27, _mcount($29) !literal!1
jsr $28, ($27), _mcount !lituse_jsr!1

1. The call to _mcount is added by alpha_expand_prologue after we load the gp.
Our _mcount uses $27 for the incoming address, unlike OSF/1 and Linux,
which use $28. This probably doesn't matter since we probably don't use $27
within _mcount itself.
2. You can't use this insn with _mcount because it uses the PLT, which clobbers
the return address in $28. Note that the prologue_mcount pattern carefully
avoids adding the lituse_jsr relocation so that we call through the GOT
directly.

Submitted by: Richard Henderson <rth@redhat.com>


89885 27-Jan-2002 peter

This commit was generated by cvs2svn to compensate for changes in r89884,
which included commits to RCS files with non-trunk default branches.


81867 17-Aug-2001 obrien

Re-initialize gp after a jsr.

When rtld runs the .fini section in a shared lib (C++), the code in
question from .../contrib/gdb/config/alpha/crtbegin.asm first calls
__do_globals_dtors_aux and then __do_frame_takedown. Unfortunately, the
value of gp after a jsr is undefined and in this case had changed from before
the call, probably as a result of calling code in some other shared library.
The normal calling convention for alpha is to re-initialize gp using
'ldgp gp,0(ra)' after a jsr instruction but in this case no such
re-initialization is done. This leads to a bogus value being read for the
address of __do_frame_takedown and a quick segfault.

Submitted by: dfr
Obtained from: GCC 3.0


81749 16-Aug-2001 obrien

Add the `WANT_FORCE_OPTIMIZATION_DOWNGRADE' knob. If set to an integer
value, it forces GCC to not optimize above this level. For intance, GCC
made with "WANT_FORCE_OPTIMIZATION_DOWNGRADE=1" is a good setting for the
Alpha platform when building ports.


80927 01-Aug-2001 obrien

Correct the version number.


79643 12-Jul-2001 obrien

libiberty file list for the 11-July-2000 import.


77389 29-May-2001 obrien

Support the environmental var "GCC_OPTIONS". Which can hold a set of
default options for GCC. These options are interpreted first and can be
overwritten by explicit command line parameters. This provides one way of
adding [temporary] options to your world build w/o editing /etc/make.conf.


77193 25-May-2001 obrien

Teach gcc about '%+' so it will not warn when using '%+' in a format
string when using strftime(), since our libc supports it.

PR: 26827
Submitted by: Marc Olzheim <marcolz@ilse.nl>


76601 14-May-2001 obrien

Make it easy for people to use define DWARF2 exceptions unwinding.
If "WANT_DWARF2_UNWIND" you get it. Note that this is a different C++ ABI
than the FreeBSD default. So you will need to recompile all your C++ apps
that uses exceptions if you turn this on. I am adding it here for Yahoo!'s
use and for those that want to be early adopters to what I will make as the
default with the GCC 3.0 import.


76499 12-May-2001 obrien

Choose the right LIB_SPEC for threads based on "__FreeBSD_version".
This allows someone with an older -current to update their compiler [only].

Inspired by: Loren James Rittle <rittle@rsch.comm.mot.com>


75400 11-Apr-2001 obrien

Remove MIPS support.
It has rotted quite badly and no one has provided updates for it.


74723 24-Mar-2001 obrien

This commit was generated by cvs2svn to compensate for changes in r74722,
which included commits to RCS files with non-trunk default branches.


74479 19-Mar-2001 obrien

Remove some files that are no longer in the FSF branch.


74478 19-Mar-2001 obrien

Merge gcc-2.95.3 changes onto mainline. Update FreeBSD changes to converge
with changes made in the FSF tree.


74474 19-Mar-2001 obrien

This commit was generated by cvs2svn to compensate for changes in r74473,
which included commits to RCS files with non-trunk default branches.


73325 02-Mar-2001 obrien

Change "NO_PROFILE_DATA" to "NO_PROFILE_COUNTERS" to match the commit by
the FSF/GCC people in the stock 2.97 source that is like our custom change
modulo the conditional compilation symbol.


73305 02-Mar-2001 obrien

Move the obvious bits of mixed ELF and a.out support down into this MD
header to reduce the difference of our sources to the stock GNU/FSF ones.
While the mix binary format support was nice to have in the FreeBSD MI
header as a frame work, it just clutters up too much and makes the FreeBSD
MI header more different from the FSF/GNU stock one than it needs to be.


73304 02-Mar-2001 obrien

Push as much as was easy of the mixed ELF & a.out support for the i386
into the i386 MD FreeBSD header. Also comment tweaking, continuation line
style changes, and other minor changes to make this closer to the latest
FSF/GNU 3.0 sources (to reduce my headache when 3.0 is imported).


73243 28-Feb-2001 obrien

Stylistic changes mirroring ones done in the FSF/GNU 3.0 development sources.


72566 17-Feb-2001 obrien

Merge rev 1.2 (-fformat-extensions); 1.{7,9} (complain about -O2 on the
Alpha & FORCE_OPTIMIZATION_DOWNGRADE); 1.8 (-Wnon-const-format)
into GCC 2.95.3(RC#3).


72564 17-Feb-2001 obrien

Merge gcc-2.95.3-test3 changes onto mainline. Bump FreeBSD cc version.


72563 17-Feb-2001 obrien

This commit was generated by cvs2svn to compensate for changes in r72562,
which included commits to RCS files with non-trunk default branches.


72151 08-Feb-2001 obrien

Bump __FreeBSD_cc_version to 500002 to show the -pthread option change.


71646 25-Jan-2001 jdp

Make the "-pthread" option work again, now that libc_r has to be
linked in addition to libc rather than instead of libc.

Ideally, "-pthread" would now be equivalent to adding "-lc_r" to the
end of the link command. But it is slightly different in this
implementation. Adding "-lc_r" to the link command would produce a
"ld" command line containing this:

... -lc_r /usr/lib/libgcc.a -lc /usr/lib/libgcc.a ...

but this implementation of the "-pthread" option produces this:

... /usr/lib/libgcc.a -lc_r -lc /usr/lib/libgcc.a ...

It would be possible to make them identical, but that doesn't fit
as nicely into GCC's way of doing things. I don't think the ordering
change will make any difference in practice.


70662 04-Jan-2001 obrien

Upgrade instructions that describe the 11-July-2000 import.


70640 03-Jan-2001 obrien

Merge rev 1.2 (-fformat-extensions); 1.{7,9} (complain about -O2 on the
Alpha & FORCE_OPTIMIZATION_DOWNGRADE); 1.8 (-Wnon-const-format)
into GCC 2.95.3(RC#1).


70639 03-Jan-2001 obrien

Merge gcc.2.95.3-test1 changes onto mainline


70638 03-Jan-2001 obrien

Merge gcc 2.95.3-test1 changes onto vendor branch


70636 03-Jan-2001 obrien

This commit was generated by cvs2svn to compensate for changes in r70635,
which included commits to RCS files with non-trunk default branches.


69463 01-Dec-2000 obrien

Update the 3-June-2000 import delete list to keep mkdeps.[ch] which
is needed by the new C preprocessor.


69460 01-Dec-2000 obrien

Comment an endif.


68601 11-Nov-2000 obrien

Properly format the SUBTARGET_SWITCHES so that ``gcc -v --help'' prints
them out.

PR: 19326
Submitted by: Naohiko Tsuji <yakisoba@f2.dion.ne.jp>


68452 07-Nov-2000 obrien

Remove the -kthread option that matched [sort of] the LinuxThreads port.
This option depended on bits not part of the base system and required
people to install the LinuxThreads port in a manner non-consistent with
the workings of our Ports Collection.
The directions for properly linking with LinuxThreads are given by that
port at install time.

Requested by: jasone


67965 30-Oct-2000 obrien

Start using crt[in].o to adhear to the ELF ABI
(and crtstuff.c's requirements).


67060 13-Oct-2000 obrien

Helper listing file specs to remove from a FSF/GCC anoncvs checkout
before importing new versions of GCC. This differs from FREEBSD-Xlist
in that this is for use only with anoncvs checkouts, not tarball'ed
releases [snapshots].

This delete list applies to the 3-June-2000 import.


67059 13-Oct-2000 obrien

Upgrade instructions that describe the 3-June-2000 import.


60970 27-May-2000 obrien

Fix conflicts.


60968 27-May-2000 obrien

This commit was generated by cvs2svn to compensate for changes in r60967,
which included commits to RCS files with non-trunk default branches.


60776 22-May-2000 obrien

Do not use DWARF2 unwinding mechanisms for C++ exceptions on all of our
platforms.


60731 20-May-2000 obrien

ASM_DECLARE_OBJECT_NAME and ASM_FINISH_DECLARE_OBJECT are ELF MI routines
to generate the special .type and .size directives which are used to set
the corresponding fields of the linker symbol table entries in the ELF
object file. As such they are not i386-specific and thus belong in our
MI header. Otherwise on the Alpha we don't properly give the type and
size of dynamic symbols. Bintuil versions past 2.9.1 warn of this and
w/o this change, `ld' generates a lot of warnings during a `make world'.


59376 18-Apr-2000 obrien

Clarify that the "yields only last 2 digits of year in some locales" warning
does not apply to BSD.

Submitted by: ache


59347 18-Apr-2000 obrien

From FSFChangeLog: (tfaff): Now a function, not a string. All users changed.
I did not catch this on the EGCS 1.1.x --> GCC 2.95 upgrade.
So propogate this change to our custom hacks.

PR: 15549
Submitted by: Naohiko Tsuji <yakisoba@osaka.interq.or.jp>
Patrick Bihan-Faou <patrick@mindstep.com>


59067 06-Apr-2000 obrien

Sparc64 configure section.

Submitted by: steve


58810 30-Mar-2000 obrien

This commit was generated by cvs2svn to compensate for changes in r58809,
which included commits to RCS files with non-trunk default branches.


58599 26-Mar-2000 obrien

Yell about -O2 on the Alpha. Forceably downgrade -O2+ if
"FORCE_OPTIMIZATION_DOWNGRADE" is defined when GCC is built.


58478 23-Mar-2000 obrien

Clean up the FreeBSD configuration files -- includes removing the usage
of svr4.h on the i386, and moving all the shared arch neutral bits into
the FreeBSD general config header.


58469 23-Mar-2000 obrien

This is FreeBSD version 5.0.


57849 09-Mar-2000 obrien

Merge conflicts.


57845 09-Mar-2000 obrien

This commit was generated by cvs2svn to compensate for changes in r57844,
which included commits to RCS files with non-trunk default branches.


56810 29-Jan-2000 obrien

Fix our -mprofiler-epilogue code.

"The problem is that egcs/gcc-2.95's reorganisation of the prologue and
epilogue code to use rtl instead of output_asm_insn() completely broke our
hooks. rtl is emitted in a different order, only after optimisation, while
output_asm_insn() is emitted immediately. rtl is presumably used so that
the prologue and epilogue can be optimised.

I couldn't find any good examples to copy. gcc's own
FUNCTION_BLOCK_PROFILER still uses output_asm_insn() and seems to be
completely broken. One of the XXX comments points to this.

IIRC, the hacks here basically arrange to emit magic label names; then when
the magic names are output, they are transformed into prologue and epilogue
code."

Submitted by: bde


56700 27-Jan-2000 obrien

Bump __FreeBSD_version and __FreeBSD_cc_version due to the C++ ABI change
in GCC 2.95.2 from -fvtable-thunks to -fno-vtable-thunks by default.


56576 25-Jan-2000 obrien

Do not use "DEFAULT_VTABLE_THUNKS". The bugs that have existed since
EGCS 1.x have not been worked out. And with 4.0 RELEASE comming quickly
we need C++ to be stable and usable.


56392 22-Jan-2000 obrien

Merge in fixes from the GCC anoncvs tree.


56391 22-Jan-2000 obrien

Merge in the restore pic register fix from the vendor branch.

PR: 3441
Submitted by: Mark Diekhans <markd@Grizzly.COM>


56386 22-Jan-2000 obrien

This commit was generated by cvs2svn to compensate for changes in r56385,
which included commits to RCS files with non-trunk default branches.


56174 17-Jan-2000 obrien

This commit was generated by cvs2svn to compensate for changes in r56173,
which included commits to RCS files with non-trunk default branches.


55220 29-Dec-1999 obrien

Allow the specification of a prefix for gcc to find all the various bits.
If one wishes to anchor the compiler toolchain tree somewhere other than /,
all one needs to do is set "TOOLS_PREFIX" to a different rooting.

Submitted by: marcel (in a different format and reworked by me)


54990 22-Dec-1999 obrien

Reduce the FreeBSD custom hacks to gcc.c by using the GCC provided methods
of changing the search dirs. This also removes an used search dir,
removes unneeded redundancy, and a bugus dir we enherited on the i386
by baseing off of svr4.h.

We went from:
install: /usr/libexec/(null)
programs: /usr/libexec/<OBJFORMAT>/:/usr/libexec/:/usr/bin/:/usr/libexec/
libraries: /usr/libdata/gcc/:/usr/libexec/:/usr/ccs/lib/:/usr/lib/

to:
install: /usr/libexec/(null)
programs: /usr/libexec/<OBJFORMAT>/:/usr/libexec/
libraries: /usr/libexec/:/usr/lib/


54813 19-Dec-1999 obrien

Use symbolic values rather than constants in TARGET_DEFAULT.

Submitted by: bde on -current


54807 19-Dec-1999 obrien

Use a unified CPP_SPEC.


54778 18-Dec-1999 obrien

Provide complete coverage in switch statement to quiet -Wall.


54665 16-Dec-1999 obrien

Fix my CPP_SPEC synatax screwup.

Totally pissed at self: obrien


54630 15-Dec-1999 obrien

Remove the defining of __i486__ baesd on TARGET_CPU_DEFAULT and !m386 or m486.


53878 29-Nov-1999 obrien

* Use getobjformat() rather than manually do what it does.
* Don't conditional based on i386, but generalize to all FreeBSD arch's.
* Don't be a.out-centric, but generalize to handle other possible future
formats.

Submitted by: marcel (partial)


53661 24-Nov-1999 obrien

This commit was generated by cvs2svn to compensate for changes in r53660,
which included commits to RCS files with non-trunk default branches.


53658 24-Nov-1999 obrien

This commit was generated by cvs2svn to compensate for changes in r53657,
which included commits to RCS files with non-trunk default branches.


53655 24-Nov-1999 obrien

This commit was generated by cvs2svn to compensate for changes in r53654,
which included commits to RCS files with non-trunk default branches.


53262 17-Nov-1999 obrien

* Remove a trailing ";" from a macro.
* Style cleanup.


53260 17-Nov-1999 obrien

This temperary file can die now.


53188 15-Nov-1999 obrien

Fix a minor bogon.


53179 15-Nov-1999 obrien

Undo rev 1.13 (define "OBSTACK_CHUNK_SIZE" as getpagesize()).
It causes internal compiler errors and sig 11's with GCC 2.95.2.


53178 15-Nov-1999 obrien

Upgrade support file for GCC 2.95.2.


53177 15-Nov-1999 obrien

Add rev 1.2 profiling tweaks, to GCC 2.95.2.


53176 15-Nov-1999 obrien

Use the stock 2.95.2 file here.

I cannot determine if our previous (rev 1.2) changes for ObjC are still
appropriate.


53175 15-Nov-1999 obrien

Bump __FreeBSD_cc_version due to the compiler upgrade.


53149 14-Nov-1999 obrien

Make cross-compilation work for Alpha on i386 machines.
Note that the optimizer has a bug somewhere. This means that only -O0
works at this time.

Submitted by: marcel


53148 14-Nov-1999 obrien

Remove 'SET_ASM_OP' macro, which is unused now and rather harmful
for recent Egcs 1.1.x.

Submitted by: simokawa


53147 14-Nov-1999 obrien

Changes for Alpha and EGCS.
* Commonalities with i386, moved to a FreeBSD wide config file.
* Major additions to this file were adapted from Hidetoshi Shimokawa
<simokawa@FreeBSD.ORG>'s Alpha suppliment to the Egcs 1.1.2 port.


53143 14-Nov-1999 obrien

This commit was generated by cvs2svn to compensate for changes in r53142,
which included commits to RCS files with non-trunk default branches.


53141 14-Nov-1999 obrien

This commit was generated by cvs2svn to compensate for changes in r53140,
which included commits to RCS files with non-trunk default branches.


53110 12-Nov-1999 marcel

Make cross-compilation work for Alpha on i386 machines. Note that
the optimizer has a bug somewhere. This means that only -O0 works
at this time.


52879 04-Nov-1999 obrien

This commit was generated by cvs2svn to compensate for changes in r52878,
which included commits to RCS files with non-trunk default branches.


52877 04-Nov-1999 obrien

Merge rev 1.2 [_exit() over exit()] into GCC 2.95.1.


52876 04-Nov-1999 obrien

Merge rev 1.2 (use /tmp 1st, and then /var/tmp) into GCC 2.95.1.


52875 04-Nov-1999 obrien

This commit was generated by cvs2svn to compensate for changes in r52874,
which included commits to RCS files with non-trunk default branches.


52840 03-Nov-1999 obrien

Structure field name changed.


52769 01-Nov-1999 obrien

This brings rev 1.2 (reality check and document profiling extensions)
into GCC 2.95.2.


52768 01-Nov-1999 obrien

This adds rev 1.2 (-fformat-extensions) to GCC 2.95.2.


52763 01-Nov-1999 obrien

Merge rev 1.2 (a.out support) into GCC 2.95.2.


52762 01-Nov-1999 obrien

Add Alpha and proper x86 support to GCC 2.95.2.
[ Functionally speaking, this covers revs 1.{2,3} ]


52761 01-Nov-1999 obrien

Merge our -fformat-extensions and printf0() into GCC 2.95.2.


52751 01-Nov-1999 obrien

This commit was generated by cvs2svn to compensate for changes in r52750,
which included commits to RCS files with non-trunk default branches.


52561 27-Oct-1999 obrien

Use the stock file for now.


52560 27-Oct-1999 obrien

s brings rev 1.2 (document printf0()) into GCC 2.95.1.


52559 27-Oct-1999 obrien

This brings rev 1.2 (reality check and document profiling extensions)
into GCC 2.95.1.


52558 27-Oct-1999 obrien

This adds rev 1.2 (-fformat-extensions) to GCC 2.95.1.


52557 27-Oct-1999 obrien

Use the stock file.


52521 26-Oct-1999 obrien

Use the stock file now.


52520 26-Oct-1999 obrien

Merge the FREEBSD_NATIVE and ELF/a.out support into GCC 2.95.1.


52519 26-Oct-1999 obrien

Fix conflicts.


52518 26-Oct-1999 obrien

Merge rev 1.2 (a.out support) into GCC 2.95.1.


52517 26-Oct-1999 obrien

Merge our changes - this brings rev 1.2 (fix stabs ordering for a.out)
into GCC 2.95.1.


52516 26-Oct-1999 obrien

Merge our changes - this brings rev 1.2 (-fformat-extensions)
into GCC 2.95.1.


52515 26-Oct-1999 obrien

Merge our changes - this brings revs 1.{2,3} minus rev 1.4 into GCC 2.95.1.


52513 26-Oct-1999 obrien

Fix conflicts. (dist src now contains our rev 1.1->1.2 changes)


52302 16-Oct-1999 obrien

Add Alpha and proper x86 support to GCC 2.95.1.
[ Functionally speaking, this covers revs 1.{2,3} ]


52301 16-Oct-1999 obrien

Merge rev 1.2 (FreeBSD native support -- do not search the multitude of
extended include file paths that do not exist) into GCC 2.95.1.


52300 16-Oct-1999 obrien

Go back to stock file -- our mods are OBE.


52299 16-Oct-1999 obrien

Merge our -fformat-extensions and printf0() into GCC 2.95.1.


52298 16-Oct-1999 obrien

Stick with the stock version of this.


52297 16-Oct-1999 obrien

Use this stock version of this.


52296 16-Oct-1999 obrien

Use the stock file here. I cannot determine if our previous (rev 1.2)
changes for ObjC are still appropriate.


52295 16-Oct-1999 obrien

Use stock file here.


52294 16-Oct-1999 obrien

Bring our profiling tweaks from rev 1.2 into GCC 2.95.1.


52293 16-Oct-1999 obrien

Merge BDE's printf format error fixes into GCC 2.95.1.


52292 16-Oct-1999 obrien

Use the stock file here.


52291 16-Oct-1999 obrien

Use the stock GCC 2.95.1 file here. Our previous (rev 1.2) changes are OBE.


52290 16-Oct-1999 obrien

Merge rev 1.2 into GCC 2.95.1.


52289 16-Oct-1999 obrien

Fix conflicts.


52288 16-Oct-1999 obrien

This commit was generated by cvs2svn to compensate for changes in r52287,
which included commits to RCS files with non-trunk default branches.


52285 16-Oct-1999 obrien

This commit was generated by cvs2svn to compensate for changes in r52284,
which included commits to RCS files with non-trunk default branches.


52272 15-Oct-1999 obrien

Grrrrr. Put the $FreeBSD$ in a Bad Place.


52269 15-Oct-1999 obrien

Register the fact we want expand_main_function() to invoke __main.


52268 15-Oct-1999 obrien

Merge rev 1.2 (a.out support) into EGCS 1.1.2.


52212 13-Oct-1999 obrien

Return these files back to their stock versions.
These files aren't used in either building GCC or with a GCC installation
in the "FreeBSD native" case.


52144 12-Oct-1999 obrien

This commit was generated by cvs2svn to compensate for changes in r52143,
which included commits to RCS files with non-trunk default branches.


52142 12-Oct-1999 obrien

Remove a useless blank line, I accidently added.


52113 10-Oct-1999 obrien

Move RCS tag to our normal place.


52112 10-Oct-1999 obrien

Style cleanups:
* be consistant on protecting "#define FOO"s with "#undef FOO".
* be consistant that macro params are upper case, and commas are followed
by a space in the macro definition
* protect macro param expansion by ()'s
* break long lines
* line continuations chars to consistant column
* remove trailing spaces


52111 10-Oct-1999 obrien

Remove things common to all FreeBSD platforms. They will now live in a
FreeBSD wide config file.

This includes "WORD_SWITCH_TAKES_ARG" & "SWITCH_TAKES_ARG". Platforms
such as FreeBSD/MIPS will need to override these two defintions, but it
can #undef them and define them approapiately.


51900 03-Oct-1999 obrien

This commit was generated by cvs2svn to compensate for changes in r51899,
which included commits to RCS files with non-trunk default branches.


51886 02-Oct-1999 obrien

This commit was generated by cvs2svn to compensate for changes in r51885,
which included commits to RCS files with non-trunk default branches.


51884 02-Oct-1999 obrien

* We have /var/tmp, not /usr/tmp. So use that where EGCS used the latter.
* In the absence of the env vars TMPDIR, TMP, TEMP (which override this
ordering), attempt to create temperary files in /tmp, P_tmpdir (/var/tmp),
/usr/tmp, and . until successful.


51849 02-Oct-1999 obrien

This commit was generated by cvs2svn to compensate for changes in r51848,
which included commits to RCS files with non-trunk default branches.


51412 19-Sep-1999 obrien

Bring BDE's printf format error fixes into EGCS.


51411 19-Sep-1999 obrien

Bring our profiling tweaks into EGCS 1.1.2.


51410 19-Sep-1999 obrien

"COMMENT_BEGIN" is no longer used.


51409 19-Sep-1999 obrien

Support linking against libgcc_r.

Submitted by: Luoqi Chen <luoqi@chen.ml.org>


51408 19-Sep-1999 obrien

This should get us the same functionality we had with GCC 2.7.2.1.

* Support for our dual ELF/a.out building ability
* Our custom ASM_* definitions
* Our custom debugger and profiling related definitions
* Our custom STARTFILE/ENDFILE specs

* The stock EGCS 1.1.2 freebsd-elf.h file depended on
egcs-1.1.2/gcc/config/linux.h, which included "svr4.h". We will
include "svr4.h" via our "tm.h" definition. So add the few bits
from "linux.h" we actually needed.

* Using our current crtbegin.o/crtend.o we cannot support the DWARF2
unwinding mechanisms. In the future we will switch to the
non-sjlj-exceptions type exception machanism. However the `make world'
bootstrap problems with the EGCS crtstuff.c must be overcome first.

* Our a.out gas doesn't "know" to use NOP's for aligns while in the text
section. Thus the a.out alignment generation needed tweaking from
what we did with GCC 2.7.2. [from BDE]

* The definition of SUPPORTS_ONE_ONLY prevents the compiler from trying
to use "linkonce" sections for a.out. The definition of
NO_DBX_FUNCTION_END we had causes it to avoid .stabs symbols that the
assembler cannot handle for a.out. [from JDP]

* The previous "EXCEPTION_SECTION_FUNCTION" is the wrong name for EGCS.
It also needed tweaking for EGCS. [from JDP]

Also bump __FreeBSD_cc_version to 400002 in case we need to know we are
using EGCS at some point.


51406 19-Sep-1999 obrien

Use the stock EGCS version of this.


51405 19-Sep-1999 obrien

Document the new i386 family options.

Obtained from: invoke.texi


51403 19-Sep-1999 obrien

Document -Os optimization. Add to -O{0,2} documentation.

Obtained from: invoke.texi


51402 19-Sep-1999 obrien

Merge revs 1.2-1.11 (doc fixes and updates to reflect reality) into the
EGCS 1.1.2 manpage.


51395 19-Sep-1999 obrien

Merge rev 1.2 docs fixes into EGCS 1.1.2's manpage.


51366 18-Sep-1999 obrien

Fix conflicts. This has a small part of rev 1.2 in it.


51365 18-Sep-1999 obrien

Fix conflicts. This merges revs 1.{2,3} with EGCS 1.1.2.


51232 13-Sep-1999 bde

Merge from ../egcs/gcc/gcc.c rev.1.5:
Don't exclude directories that the linker is "known" to search (/lib
and /usr/lib) when deciding whether to pass certain paths to the
linker. Under FreeBSD, the linker is actually known to never search
/lib and to only search /usr/lib in the elf case. Not passing the
paths causes at best causes confusing differences for cross compiling.
This change is conditional on FREEBSD_NATIVE but should be absolute.


50654 30-Aug-1999 obrien

Use the stock EGCS 1.1.2 file here. Our previous changes are OBE.
(code change by rev 1.3 has been removed, and 1.2 is not needed since
contrib/gcc/cp/except.c is now the stock one)


50650 30-Aug-1999 obrien

Use the stock EGCS 1.1.2 file here. I cannot determine if our previous
changes for ObjC are still appropriate.


50647 30-Aug-1999 obrien

This brings rev 1.2 into EGCS 1.1.2. Also tweaks gleemed from EGCS
ChangeLog's. Note that rev 1.3 changes (HOST_PTR_PRINTF) was not
brought into EGCS 1.1.2 as that is the default.


50645 30-Aug-1999 obrien

Fix conflicts.


50643 30-Aug-1999 obrien

Use the stock EGCS 1.1.2 file here. Our previous changes are OBE.


50641 30-Aug-1999 obrien

This add Alpha and proper x86 support to EGCS 1.1.2. Functionally speaking,
this covers revs 1.{2,3}.


50621 30-Aug-1999 obrien

This brings rev 1.2 (reality check and document profiling extensions)
into EGCS 1.1.2.


50618 30-Aug-1999 obrien

This brings rev 1.2 (document printf0()) into EGCS 1.1.2.


50617 30-Aug-1999 obrien

Fix conflicts.


50615 30-Aug-1999 obrien

Fix conflicts.
This adds rev 1.2 (-fformat-extensions) to EGCS 1.1.2.


50605 30-Aug-1999 obrien

Fix conflict.


50600 30-Aug-1999 obrien

Fix conflicts.


50599 29-Aug-1999 obrien

This brings rev 1.2 (FREEBSD_NATIVE) and rev 1.5 (mixed ELF/aout support)
into EGCS 1.1.2.


50598 29-Aug-1999 obrien

Correct vfork()/exit() to vfork()/_exit().

Also return "1" rather than "-1". According to bde: -1 is unrepresentable.
Exit statuses must be >= 0 and <= 255, at least if chars are 8 bits and
shorts are 16 bits. This seems to only be documented indirectly in exit.2
by referring to wait.2. WEXITSTATUS() throws away all except the low 8 bits
of the status returned by _exit(), and the kernel actually only stores 8
bits of it (if chars are 8 bits, etc.), so wait() can't return any more bits.

Obtained from: rev 1.4 of contrib/gcc/gcc.c


50506 28-Aug-1999 obrien

Fix conflicts.
This brings rev 1.2 (-fformat-extensions) into EGCS 1.1.2.


50503 28-Aug-1999 obrien

Fix conflicts.
This brings revs 1.{2,3} minus rev 1.4 into EGCS 1.1.2.


50499 28-Aug-1999 obrien

Fix conflicts.


50495 28-Aug-1999 obrien

Fix conflicts. This brings rev 1.2 (fix stabs ordering for a.out) into
EGCS 1.1.2.


50455 27-Aug-1999 obrien

Fix conflicts. This brings in rev 1.2 (FreeBSD native support -- do not
search the multitude of extended include file paths that do not exist)
into EGCS 1.1.2.


50453 27-Aug-1999 obrien

Fix conflicts. This brings the "printf0" addition into EGCS 1.1.2.


50451 27-Aug-1999 obrien

Don't accept %q length specifiers in the kernel (more precisely,
if compiling with -fformat-extensions). Gcc's format checker never
actually supported %q length specifiers. It treats %q as an alias
for %ll, which is correct if quad_t is long long (e.g., on i386's)
and broken otherwise (e.g., on alphas).

quad_t's currently should be printed in the same way that they
already need to be printed to avoid compiler warnings on all
supported systems: cast them to a standard type that is at least
as large (long or long long) and use the length specifier for that
(%l or %ll). This is problematic since long long isn't standard
yet. C9x's intmax_t should be implemented soon.

Don't accept %L length specifiers in the kernel either. The only
legitimate ones are for long doubles, but the kernel doesn't even
support plain doubles. (gcc bogusly accepts %Ld as an alias for
%lld, and it sometimes prints "q" in error messages about "ll" and
"L" length specifiers, becauses it represents all these specifiers
as 'q'.)

Submitted by: bde


50450 27-Aug-1999 obrien

Fixed kernel format checking:
- plain %r and %z were disallowed. The hard NULs in the warnings were
hopefully caused by disallowing of plain formats being nonsense.
- new formats for shortening to a byte were allowed, but even the libc
printf doesn't support them.
- old %hr and %hz formats were allowed, but the kernel printf doesn't
support them. The kernel doesn't support %hd either, but this is
harder to fix.

Submitted by: bde


50449 27-Aug-1999 obrien

Fix conflicts.
This brings revs 1.2 (-fformat-extensions) and 1.3 (printf0())
into EGCS 1.1.2.


50448 27-Aug-1999 obrien

Fix conflicts.


50398 26-Aug-1999 obrien

This commit was generated by cvs2svn to compensate for changes in r50397,
which included commits to RCS files with non-trunk default branches.


50080 20-Aug-1999 obrien

* Consistantly surround macro parameters with ()
* Consistantly put spaces after "," in macro param lists
* Consistantly align continuation characters.
* Don't need to supply all variations of __FOO__ in CPP_PREDEFINES,
gcc will do that for us.


50048 19-Aug-1999 obrien

Move two of the DBX config directives to the common configuration header.
Also simply CPP_PREDEFINES a little.


49854 15-Aug-1999 obrien

Move "WORD_SWITCH_TAKES_ARG" & "SWITCH_TAKES_ARG" to the general spec file
since their definitions were identical. FreeBSD/MIPS will need to override
these two defintions, but it can #undef them and define them approapiately.


49853 15-Aug-1999 obrien

Move "LIBGCC_SPEC" to freebsd-native.h as it is not approapiate for
submitting to the GCC mainainers for folding into the stock GCC.


48744 10-Jul-1999 obrien

This commit was generated by cvs2svn to compensate for changes in r48743,
which included commits to RCS files with non-trunk default branches.


48475 02-Jul-1999 obrien

* The OBSTACK_CHUNK_SIZE #define was in the "Code generation parameters"
section rather than the "Miscellaneous parameters" where it belongs.

* Clarify what we are locating using the -m rule.

Submitted by: bde


48474 02-Jul-1999 obrien

The GNU standard about putting 2 spaces after sentences in comments
was not consistantly followed.

Submitted by: bde


48302 28-Jun-1999 obrien

Define "OBSTACK_CHUNK_SIZE" as getpagesize().
Our malloc can allocte pagesized blocks efficiently and the EGCS default size
of 4072 bytes is not optimal.

Submitted by: Hidetoshi Shimokawa <simokawa@sat.t.u-tokyo.ac.jp>


47866 10-Jun-1999 simokawa

Remove 'SET_ASM_OP' macro, which is unused now and rather harmful
for recent egcs.


47352 21-May-1999 jdp

Fix typo (#unset where #undef was meant).


47333 20-May-1999 obrien

Consistantly protect "#define FOO ..." with "#undef FOO".


46211 30-Apr-1999 obrien

Turn DEFAULT_VTABLE_THUNKS back on. It caused problems with undefined symbols
in libstdc++.

Until I have a chance to look at what that problem is and to carefully consider
the upgrade issues of turning it back on at a later date if we leave it turned
off for any extended peroid of time.


46157 28-Apr-1999 obrien

Rather than hack config/freebsd.h to contain our hacks for a native compiler,
just include them in tm.h (as built from cc/cc_tools/Makefile).

This will reduce the diffs from the vendor sources.

Excellent idea by: jdp


46122 27-Apr-1999 obrien

Simplify the definition of FBSD_SWITCH_TAKES_ARG, and make sure
SWITCH_TAKES_ARG isn't defined (which svr4.h does) when we assign our
definition to it.


46118 27-Apr-1999 obrien

Wait until EGCS 1.2 to use more efficient ``thunks'' to implement C++ vtables.
While I have yet to hear of any problems with us using thunks. The EGCS
mailing list notes some have problems with it and not using them are a
safer default. People wanting to use them, can set the appropiate
compiler flag.


45941 22-Apr-1999 obrien

Use new `FBSD_SWITCH_TAKES_ARG' and `FBSD_WORD_SWITCH_TAKES_ARG'.


45940 22-Apr-1999 obrien

Move `SWITCH_TAKES_ARG' to `FBSD_SWITCH_TAKES_ARG' and `WORD_SWITCH_TAKES_ARG'
to `FBSD_WORD_SWITCH_TAKES_ARG' which allows architectures to tweak these
values if needed.


45670 14-Apr-1999 obrien

Support linking against libgcc_r.

Submitted by: Luoqi Chen <luoqi@chen.ml.org>


45474 08-Apr-1999 bde

Removed unconditional definitions of __ELF__. They were redundant for
elf and wrong for i386-aout.


45458 08-Apr-1999 obrien

Merge shared LIB_SPEC into share config header.


45457 08-Apr-1999 obrien

merge alpha/freebsd-elf.h into alpha/freebsd.h

Submitted by: Hidetoshi Shimokawa <simokawa@sat.t.u-tokyo.ac.jp>


45379 06-Apr-1999 obrien

Mispelled global option in usage.


45317 04-Apr-1999 obrien

Fix space padding that was causing a problem in creating the final
CPP_PREDEFINES.


45277 03-Apr-1999 obrien

* Protect ourselves from any previously defined options.
* Turn on DEFAULT_VTABLE_THUNKS. (it is the default anyway, I'm just being
explicit about it, in case it causes us trouble it might be easier for
someone to notice it this way)


45253 03-Apr-1999 obrien

Bump __FreeBSD_cc_version to 400002 in case we need to know we are using
EGCS at some point.

Submitted by: jdp


45137 30-Mar-1999 obrien

Alpha architecture config files.

Obtained from: adapted from Hidetoshi Shimokawa <simokawa@FreeBSD.ORG>'s
alpha suppliment to the Egcs port.


45135 30-Mar-1999 obrien

Base configuration file for all FreeBSD targets.


44923 21-Mar-1999 phk

Remove the linker-set hack we used for BB profiling.


43052 22-Jan-1999 obrien

Update __FreeBSD__ and __FreeBSD_cc_version to be consistant with
__FreeBSD_version

Forgotten by: Eivind and Some anonymous release engineer


42719 16-Jan-1999 peter

a.out is default


41825 15-Dec-1998 cracauer

Compile threaded proframs with -D_THREAD_SAFE, not -D_THREADSAFE


40736 29-Oct-1998 jdp

Per request from ache, change the numbering scheme of __FreeBSD_cc_version.
Its form is now like __FreeBSD_version, with the FreeBSD revision in
the top digits.


40715 29-Oct-1998 jdp

Add a new predefined preprocessor symbol "__FreeBSD_cc_version",
with a numeric value that describes the feature level of the
compiler. This can be used to check for the presence/absence of
FreeBSD-specific compiler features. The value is a decimal number
whose digits have the form VRRRRFF, where:

V = Compiler vendor. 0 (elided) means gcc.
RRRR = Vendor's version number, e.g., 2721 for the current
gcc version (2.7.2.1).
FF = FreeBSD-specific revision level. 00 means the stock
compiler from the vendor.

The value of "__FreeBSD_cc_version" is hard-coded in
"src/contrib/gcc/config/i386/freebsd.h" and must be incremented
when new FreeBSD-specific compiler features are added. I considered
simply picking up the value of FreeBSD_version from <osreldate.h>.
But that would break cross compiles of gcc.

PR: Part of the fix for gnu/8452
Suggested by: bde


39011 09-Sep-1998 imp

Add alpha-*=freebsd* to configure


38928 07-Sep-1998 jdp

Make profiling work for ELF. gprof now autodetects the format of
the executable file, so it will work for both a.out and ELF format
files. I have split the object format specific code into separate
source files. It's cleaner than it was before, but it's still
pretty crufty.

Don't cheat on your make world for this update. A lot of things
have to be rebuilt for it to work, including the compiler and all
of the profiled libraries.


38657 30-Aug-1998 jb

Change /etc/objectformat to /etc/objformat. Last chance 'cause it's E-day.

Suggested by: jdp


38510 24-Aug-1998 bde

Support printf format checking of FreeBSD kernel formats %[Dbrz].
This is enabled by the undocumented option -fformat-extensions.
This option should be named better and/or give more control over
the extensions.

Fixed a message - don't warn about the field width when it's the
precision that has the wrong type. Didn't fix excessive checking
for the precision relative to the type - ANSI requires both to be
ints, but gcc permits the field width to be either int or unsigned
int.


38021 02-Aug-1998 bde

Fixed printf format errors. gcc should have a macro HOST_PTR_PRINTF_TYPE
to go with its HOST_PTR_PRINTF[_FORMAT], since if %p is wrong for the
format then `void *' is probably wrong for the type.


37654 15-Jul-1998 jdp

Add support for a new archetype "printf0" for the "format" function
attribute. It is like the existing "printf" archetype, except that
it doesn't complain if the format string is a null pointer. See
the node "Function Attributes" in the GCC info pages if you don't
know what this is all about.

This change will allow us to add format string checking for the
err(3) family of functions.


37312 30-Jun-1998 bde

Fixed printf format errors.


36769 08-Jun-1998 jb

Add LIB_SPEC (same as on i386) so that gcc knows about libc_r.


35168 13-Apr-1998 peter

-pg was causing a link with -lc_r... :-]

Submitted by: Dmitry Khrustalev <dima@xyzzy.machaon.ru>
PR: 6287


35116 10-Apr-1998 jb

Document the FreeBSD specific options from LIB_SPEC.


34570 14-Mar-1998 jb

Ouch, my local cvs walloped the version I thought I was committing.
Here is what I intended.


34559 13-Mar-1998 jb

On i386, freebsd.h and freebsd-elf.h have been merged to combine
aout and elf support. freebsd-elf.h died as a result, so the BINFORMAT
test for elf in src/gnu/usr.bin/cc/cc_tool/Makefile will need to
use freebsd.h, not freebsd-elf.h. That means that alpha will have to
go the same way. The new alpha/freebsd.h has the alpha/freebsd-elf.h
definitions merged in.


34490 11-Mar-1998 jb

Nuke crti.o from the STARTFILE_SPEC again. No asm code is needed on alpha.

Add the define that lets gas know how to ".set" and enable pragmas
so that #pragma weak will work.


34451 10-Mar-1998 jb

Change the LINK_SPEC to specify the same runtime loader as used on
i386-elf because that is what will be used for FreeBSD/Alpha.

Change the STARTFILE_SPEC to match the non-aout version of i386 so
that the csu files can be built in exactly the same way as i386-elf.
This means that FreeBSD/Alpha departs from NetBSD/Alpha which uses
crt0 and crtbegin/crtend. Since i386-aout uses crt0, I guess it was
decided that i386-elf should use crt1. i386-elf also references
crti and with this change, so does FreeBAS/Alpha.

I think it is important for FreeBSD to have a consistent implementation
across architectures and since ELF is quite compatible (ignoring
differences in 32 and 64 bits), gcc might as well be configured the
same.

Another change is that the entry symbol is _start, not __start as
in NetBSD.


34363 09-Mar-1998 peter

Both our a.out (hacked) gas and the binutils gas support .weak

Prompted by: bde


34356 09-Mar-1998 peter

Only do a.out/elf switching on i386 family


34349 09-Mar-1998 peter

Don't disable the use of $ in assembler labels.. It changes libstdc++
and libg++ so that they won't work with existing binaries (including
netscape!!).


34314 08-Mar-1998 peter

Spell -Bshareable correctly... :-]


34285 08-Mar-1998 peter

svr4.h defines ASM_IDENTIFY_GCC, but neglects to define
ASM_IDENTIFY_LANGUAGE. Use the osfrose.h method, because gdb assumes
'C' by default, so there's no need to further clutter the symbol table.


34284 08-Mar-1998 peter

Cosmetic cleanup for a.out asm generation.. Don't put the end-of-file
markers that the stabs-in-elf system uses.


34269 08-Mar-1998 peter

Put the function stabs in traditional order on a.out, or gdb doesn't see
function local variables.


34230 08-Mar-1998 peter

Add hooks for John Birrell's kernel thread support library.

Submitted by: John Birrell <jb@cimlogic.com.au>


34229 08-Mar-1998 peter

First round of changes to support generation of assembler for the old
a.out gas and the binutils gas (elf or a.out) with a single compiler.

This uses other infrastructure not yet committed, in order to support
both a.out and elf it needs to be able to get to both a.out and elf
gas, ld, libs, crt* etc. So for now, the support is pretty much dormant.

The new freebsd.h file is based on the old freebsd-elf.h file (which has a
long lineage, right back through linux and svr4 files). The change is
pretty dramatic from a gcc internals standpoint as it overrides a lot of
definitions in order to generate different output based on target mode.
There is potential for screw-ups, so please be on the lookout - gcc's
configuration mechanism wasn't really meant for this kind of thing.
It's believed to compile world etc just fine under both a.out and elf, can
handle global constructors and destructors, handles the differences in
a.out and elf stabs, and what sections things like exceptions go in.

The initial idea came from i386/osfrose.h which is a dual rose/elf format
target. These two are not as diverse as a.out and elf it would seem.

The cc front-end uses external configuration to determine default object
format (still being thrashed out, so read the source if you want to see
it so far), and has a '-aout' and '-elf' override command line switch.
There are some other internal switches that can be accessed, namely -maout,
-mno-aout, -munderscores and -mnounderscores. The underscore and local
symbol prefixing rules are controllable seperately to the output format.
(ie: it's possible to generate a.out without the _ prefixes on symbols and
also to generate elf with the _ prefixes. This isn't quite optimal, but
does seem to work pretty well, except the linkers don't always recognise
the local symbols without their normal names)

The default format is a.out (still), nobody should see any major changes.

With both elf and a.out tools and libraries installed:

[1:26pm]/tmp-223> cc -elf -o hello hello.c
peter@beast[1:27pm]/tmp-224> file hello
hello: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), dynamically linked, not stripped
[1:27pm]/tmp-225> ./hello
hello world!

[1:27pm]/tmp-226> cc -aout -o hello hello.c
[1:27pm]/tmp-227> file hello
hello: FreeBSD/i386 compact demand paged dynamically linked executable not stripped
1:27pm]/tmp-228> ./hello
hello world!

Since my co-conspirators put a lot of effort into this too, I'll add them
so they can share the blame^H^H^H^H^Hglory. :-)

Reviewed by: sos, jdp


32455 12-Jan-1998 jb

Upgrade the cpp pre-defines to include -Dunix. Turns out we need that
to compile m4.

And don't just define __FreeBSD__, but define it as -D__FreeBSD__=3
like on i386.


32424 11-Jan-1998 jb

Add the alpha MD files for gcc to product ELF for FreeBSD/Alpha.

See freebsd.h and freebsd-elf.h for the silly comment that cgd@netbsd.org
wanted me to add about his claim that uncommented source files that
have been publicly available for ftp for nearly a year; that are
configuration patches to a GPL'ed program; are owned by his previous
employer who refuses to release them. Well... I did as he said. As if
that makes a difference!

At this point we've got cpp, gcc, g++ ported to FreeBSD/Alpha so all
the code that uses __FreeBSD__ is correctly pre-processed. Yay.

I'll commit the bootstrap makefile next to let others play, then on
to libc.


29329 13-Sep-1997 wosch

spelling corrections.

PR: docs/4450
Submitted by: josh@quick.net


28882 29-Aug-1997 peter

Merge in some of my changes with John's. I've used this to build
an ELF system. I'm not sure about some of the things here. We definately
need to go back and rationalize this.


28846 28-Aug-1997 jdp

Add the necessary defines to the freebsd-elf configuration so that
it can be built via BINFORMAT=elf in the environment. Most likely
some of the directory defines such as STANDARD_EXEC_PREFIX will
change again soon, as we settle on the proper locations for the
various components.

Note, the build still fails when it tries to compile libgcc2.c
using the ELF compiler, unless arrangements have been made for the
compiler to find the ELF assembler instead of the a.out assembler.


27059 29-Jun-1997 bde

Attempt to fix clobbered vendor Id.


26223 28-May-1997 asami

Make all the info dir entries line up neatly.


25932 19-May-1997 eivind

`it's'' -> `its'' where appropriate and typo fixes in time2posix.3.

Closes PR docs/3612.

Submitted by: Josh Gilliam <soil@quick.net>


25733 12-May-1997 peter

The -pthread option was added to freebsd.h but missed from freebsd-elf.h


25480 05-May-1997 jmg

change `an' to `a'...

Submitted by: Josh Gilliam
Closes PR#3471


25400 03-May-1997 jb

Let gcc know about libc_r. Use -pthread to link against libc_r instead
of libc.


25128 25-Apr-1997 peter

correct vfork()/exit() to vfork()/_exit(). This is far more important
now that vfork() actually works in FreeBSD for the first time.

Spotted by: se


24758 09-Apr-1997 jdp

Make "gcc -shared" work properly for building shared libraries. An
up-to-date version of c++rt0.o is necessary for this to work right.

Closes PR gnu/3035: gcc -shared flag is broken.


24658 05-Apr-1997 jdp

Disallow "-p" when linking, with a diagnostic that recommends using
"-pg" and gprof(1) instead. FreeBSD does not support plain "-p" or
prof(1).

Plain "-p" is still allowed when just compiling. In the compile
phase, "-p" is identical "-pg". It is used by <bsd.lib.mk> for
building profiled object files.


24295 26-Mar-1997 jdp

Update the value of "__FreeBSD__" to 3 for the ELF compiler.


24257 25-Mar-1997 asami

-current is now 3.0. NOT a 2.2 candidate. :)


24129 23-Mar-1997 jmg

slight fix to gcc's man page...


23076 24-Feb-1997 obrien

Undo rev 1.4 of freebsd.h and 1.2 freebsd-elf.h, where I added
_BSD4_4 as a predefined symbol. People on the lists generally didn't care
for it.


22994 22-Feb-1997 peter

check for /usr/libdata/gcc/specs and use it if it exists.


22977 22-Feb-1997 peter

Back out easy $FreeBSD$ (file already left vendor branch)


22809 16-Feb-1997 obrien

Add _BSD4_4 as a predefined symbol.
Peter Dufault (dufault@hda.com) suggested this is the most approate symbol
to use.

2.2-R candidate.


21673 14-Jan-1997 jkh

Make the long-awaited change from $Id$ to $FreeBSD$

This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.

Boy, I'm glad we're not using sup anymore. This update would have been
insane otherwise.


21655 13-Jan-1997 phk

Fix BB profiling.

Submitted by: bde


21507 11-Jan-1997 jmacd

This file has the info annotation, except its annotated name
is different from its filename for some reason.


19194 26-Oct-1996 peter

Apparently this patch fixes the objc backend on the i386 platforms.
Without this, compiled programs die with FP errors.

This is originally credited to: jlemon@netcom.com (Jonathan Lemon), and
has been forwarded to me by quite a few of people.


18675 04-Oct-1996 peter

Remove temporary hack to disable use of libstdc++ now that it's built and
installed (and hopefully: working).


18659 03-Oct-1996 jdp

Fix a bug that caused incorrect PIC code to be generated for exceptions.
The symptom was an assembler warning

"GOT relocation burb: `___EXCEPTION_TABLE__' should be global"

followed (sometimes) by a core dump. The fix makes the compiler
generate the correct GOTOFF addressing for that symbol, rather than the
GOT addressing it was emitting before.

Warning: There is still at least one serious bug in the i386 exception
code for PIC. The exception code that is generated clobbers the GOT
register (%ebx) and then tries to use it later. That leads to core
dumps at program execution time. I know where the problem is, but I do
not have a fix for it at this time. Until it is fixed, exceptions will
not work in PIC code. This is a general problem for all i386 platforms;
it is not specific to FreeBSD.


18604 01-Oct-1996 peter

Activate the .weak code generation for libgcc.a and g++ now that it works.


18505 27-Sep-1996 peter

Temporarily disable the code that wants to add -lstdc++ in tge g++ driver
since we don't have it yet and I've taken too long on the libg++-2.7.2
stuff (it causes problems due to to the lack of .weak support which I've
nearly finished)

Submitted by: "Ph. Charnier" <charnier@xp11.frmug.org>


18350 18-Sep-1996 peter

Doc fixes and updates to reflect reality, as well as info about profiling
extensions.


18349 18-Sep-1996 peter

Merge in freebsd-specific changes


18348 18-Sep-1996 peter

Add in hooks to produce assembler output suitable for binutils+elf
Obtained from: John Polstra <jdp@freebsd.org>, from his elfkit.


18347 18-Sep-1996 peter

Add the hooks that we use for our profiling extensions.
Obtained from: bde


18346 18-Sep-1996 peter

When running native on freebsd (ie: in /usr/bin, /usr/libexec, not the
gnu-style /usr/local/lib/gcc* layout), only search the paths that
exist for the modules (cc1, cc1plus , cc1obj etc)

Also, update an error message.


18345 18-Sep-1996 peter

When compiling native on freebsd, do not search the multitude of extended
include file paths that do not exist.


18344 18-Sep-1996 peter

build libgcc*.a a little more compact by removing excess local symbols
Obtained from: bde


18343 18-Sep-1996 peter

My feeble attempt at fixing complaints that makeinfo makes about
errors in this doc.


18342 18-Sep-1996 peter

Do not print two \n's in a fatal error message.
Obtained from: bde


18341 18-Sep-1996 peter

Patches originally obtained from Bruce Evans <bde@freebsd.org> to make
gcc "do the right thing" when running standalone on FreeBSD


18337 18-Sep-1996 peter

This commit was generated by cvs2svn to compensate for changes in r18336,
which included commits to RCS files with non-trunk default branches.


18335 18-Sep-1996 peter

This commit was generated by cvs2svn to compensate for changes in r18334,
which included commits to RCS files with non-trunk default branches.