               The Debian GNU Compiler Collection setup
               ========================================

Please see the README.Debian in /usr/share/doc/gcc, contained in the
gcc package for a description of the setup of the different compiler
versions.

For general discussion about the Debian toolchain (GCC, glibc, binutils)
please use the mailing list debian-toolchain@lists.debian.org; for GCC
specific things, please use debian-gcc@lists.debian.org.  When in doubt
use the debian-toolchain ML.


Maintainers of these packages
-----------------------------

Matthias Klose <doko@debian.org>
Ludovic Brenta <ludovic@ludovic-brenta.org>	(gnat)
Iain Buclaw <ibuclaw@ubuntu.com>		(gdc)
Aurelien Jarno <aurel32@debian.org>		(mips*-linux)
Aurelien Jarno <aurel32@debian.org>		(s390X*-linux)

The following ports lack maintenance in Debian: powerpc, ppc64,
sparc, sparc64 (unmentioned ports are usually handled by the Debian
porters).

Former and/or inactive maintainers of these packages
----------------------------------------------------

Falk Hueffner <falk@debian.org>			(alpha-linux)
Ray Dassen <jdassen@debian.org>
Jeff Bailey <jbailey@nisa.net>			(hurd-i386)
Joel Baker <fenton@debian.org>			(netbsd-i386)
Randolph Chung <tausq@debian.org>		(ia64-linux)
Philip Blundell <pb@debian.org>			(arm-linux)
Ben Collins <bcollins@debian.org>		(sparc-linux)
Dan Jacobowitz <dan@debian.org>			(powerpc-linux)
Thiemo Seufer <ths@networkno.de>		(mips*-linux)
Matt Taggart <taggart@carmen.fc.hp.com>		(hppa-linux)
Gerhard Tonn <GerhardTonn@swol.de>		(s390-linux)
Roman Zippel <zippel@linux-m68k.org>		(m68k-linux)
Arthur Loiret <arthur.loiret@gmail.com>		(gdc)

===============================================================================


svn-updates:
  updates from the 6 branch upto 20180424 (r259590).

libiberty-updates:
  libiberty updates, taken from the trunk 20161108

pr79041:
  Fix PR target/79041.

rename-info-files:
  Allow transformations on info file names. Reference the
  transformed info file names in the texinfo files.

gcc-SOURCE_DATE_EPOCH-doc:
  Allow embedded timestamps by C/C++ macros to be set externally (docs)

gcc-SOURCE_DATE_EPOCH-2-doc:

vulcan-cpu-doc:
  Accept vulcan as a cpu name for the AArch64 port of GCC (documentation)

gcc-fuse-ld-lld-doc:
  Allow to use lld with -fuse-ld=ld.lld (documentation)

gcc-gfdl-build:
  Build a dummy s-tm-texi without access to the texinfo sources

gcc-textdomain:
  Set gettext's domain and textdomain to the versioned package name.

gcc-driver-extra-langs:
  Add options and specs for languages that are not built from a source
  (but built from separate sources).

gcc-hash-style-gnu:
  Link using --hash-style=gnu (aarch64, alpha, amd64, armel, armhf, ia64,
  i386, powerpc, ppc64, s390, sparc)

libstdc++-pic:
  Build and install libstdc++_pic.a library.

libstdc++-doclink:
  adjust hrefs to point to the local documentation

libstdc++-man-3cxx:
  Install libstdc++ man pages with suffix .3cxx instead of .3

libstdc++-test-installed:
  Add support to run the libstdc++-v3 testsuite using the
  installed shared libraries.

libjava-stacktrace:
  libgcj: Lookup source file name and line number in separated
  debug files found in /usr/lib/debug

libjava-jnipath:
  - Add /usr/lib/jni and /usr/lib/<multiarch>/jni to java.library.path.
  - When running the i386 binaries on amd64, look in
  - /usr/lib32/gcj-x.y and /usr/lib32/jni instead.

libjava-sjlj:
  Don't try to use _Unwind_Backtrace on SJLJ targets.
  See bug #387875, #388505, GCC PR 29206.

libjava-disable-plugin:
  Don't build the gcjwebplugin, even when configured with --enable-plugin

alpha-no-ev4-directive:
  never emit .ev4 directive.

boehm-gc-getnprocs:
  boehm-gc/pthread_support.c (GC_get_nprocs): Use sysconf as fallback.

note-gnu-stack:
  Add .note.GNU-stack sections for gcc's crt files, libffi and boehm-gc
  Taken from FC.

libgomp-omp_h-multilib:
  Fix up omp.h for multilibs.

gccgo-version:
  Omit the subminor number from the go libdir

pr47818:
  Fix PR ada/47818: Pragma Assert is rejected with No_Implementation_Pragmas restriction.

gcc-base-version:
  Set base version to 5, introduce full version 5.x.y.

libgo-testsuite:
  Only run the libgo testsuite for flags configured in RUNTESTFLAGS

gcc-target-include-asm:
  Search $(builddir)/sys-include for the asm header files

libgo-revert-timeout-exp:

libgo-setcontext-config:
  libgo: Overwrite the setcontext_clobbers_tls check on mips*

gcc-auto-build:
  Fix cross building a native compiler.

kfreebsd-unwind:
  DWARF2 EH unwinding support for AMD x86-64 and x86 KFreeBSD.

libitm-no-fortify-source:
  Build libitm with -U_FORTIFY_SOURCE on x86 and x86_64.

sparc64-biarch-long-double-128:
  Fix --with-long-double-128 for sparc32 when defaulting to 64-bit.

gcc-ia64-bootstrap-ignore:
  Ignore bootstrap comparison failure on ia64. Filed upstream as
  PR middle-end/65874.

gotools-configury:
  Fix gotools cross build.

pr66368:
  PR go/66368, build libgo with -fno-stack-protector

pr67590:
  Fix PR67590, setting objdump macro.

ada-gnattools-ldflags:
  Link gnat tools with the defaults LDFLAGS

libjit-ldflags:

gcc-SOURCE_DATE_EPOCH:
  Allow embedded timestamps by C/C++ macros to be set externally

gcc-SOURCE_DATE_EPOCH-2:

cmd-go-combine-gccgo-s-ld-and-ldShared-methods:
  cmd/go: combine gccgo's ld() and ldShared() methods

libjava-mips64el:

gccgo-issue16780:
  gccgo: Call default_file_start from s390_asm_file_start

vulcan-cpu:
  Accept vulcan as a cpu name for the AArch64 port of GCC

vulcan-costs:
  Add cost model for vulcan CPU

libffi-pax:

libffi-race-condition:

libgo-add-getrandom-mips-sparc:
  Backport r240457 from trunk

libgo-fix-getrandom-clone-sparc64:
  Backport r241072 from trunk

libgo-rawClone-no_split_stack:
  Backport r241171 from trunk

libgo-rawClone-no-pt_regs:
  Backport r241084 from trunk

libgo-elf-relocations-sparc64:
  Backport r241051 from trunk
  src/libgo/go/debug/elf/testdata/go-relocation-test-gcc620-sparc64.obj is
  encoded in debian/go-relocation-test-gcc620-sparc64.obj.uue and is
  decoded at patch time.

libobjc-system-gc:
  Build the GC enabled libobjc using the system libgc when available

compress-debug-check:

pr77267:
  Fix PR target/77267 (x86), taken from the trunk.

pr78774:
  Fix PR c++/78774, proposed for the gcc-6-branch

CVE-2016-9840:

CVE-2016-9841:

CVE-2016-9842:

CVE-2016-9843:

libcc1-compiler-name:
  Don't add the configured prefix to libcc1's compiler name.

mips-pr78176-add-mlxc1-sxc1:

mips-loongson3a-use-fused-madd.d:

mips-madd4:

gcc-fuse-ld-lld:
  Allow to use lld with -fuse-ld=ld.lld

pr72813:
  Fix PR c++/72813, taken from the trunk.

pr70909:
  Fix PR demangler/70909, libiberty Demangler segfaults. CVE-2016-4491.

pr77857:
  Fix PR go/77857, gccgo vendoring. Taken from the trunk.

pr80533:
  Fix PR middle-end/80533, taken from the trunk.

sanitizer-Fix-a-crash-in-SizeClassAllocator32-with-a:

asan-Enable-48-bit-VMA-support-on-aarch64:

libffi-mipsen-r6:
  libffi: mips/n32.S: disable .set mips4 on mips r6

gcc-force-cross-layout:
  Add FORCE_CROSS_LAYOUT env var to force a cross directory layout.

gcc-as-needed-push-pop:

gcc-hppa-caller-copies-ABI:
  Switch hppa-linux to caller copies ABI (as done in GCC 8).

ada-arm:

ada-kfreebsd:
  add support for GNU/kFreeBSD.

ada-revert-pr63225:
  Revert the changes made to allow bootstrapping with -fno-inline.
  We allow inlining during bootstrap and this change breaks aliversion compatibility
  with earlier uploads of libgnatvsn5.  This patch shall be removed in the next
  major version of GNAT.

ada-driver-check:
  Simplify Ada driver check (we always build using the required
  Ada version. Needed for warnings on alpha.

ada-default-project-path:
  - Change the default search path for project files to the one specified
  by the Debian Policy for Ada: /usr/share/ada/adainclude.

ada-library-project-files-soname:
  - in project files, use the exact Library_Version provided, if any, as
  the soname of libraries; do not strip minor version numbers
  (PR ada/40025).

ada-link-lib:
  - Install the shared Ada libraries as '.so.1', not '.so' to conform
  to the Debian policy.
  - Don't include a runtime link path (-rpath), when linking binaries.
  - Build the shared libraries on hppa-linux.
  - Instead of building libada as a target library only, build it as
  both a host and, if different, target library.
  - Build the GNAT tools in their top-level directory; do not use
  recursive makefiles.
  - Link the GNAT tools dynamically.

ada-libgnatvsn:
  - Introduce a new shared library named libgnatvsn, containing
  common components of GNAT under the GNAT-Modified GPL, for
  use in GNAT tools, ASIS, GLADE and GPS.   Link the gnat tools
  against this new library.

ada-libgnatprj:
  - Introduce a new shared library named libgnatprj, containing
  the GNAT project file manager licensed under the pure GPL, for
  use in GNAT tools, GLADE and GPS.  Link the GNAT tools against
  this new library.

ada-gnattools-cross:
  - When building the native gnat, link the gnat tools against
  the build tree (build/$(host_alias)/{libgnatvsn,libgnatprj}.)
  - When building a cross gnat, link against the libgnatvsn-6-dev
  and libgnatprj-6-dev packages.
  This link will be done by /usr/bin/$(host_alias)-gnat*, thus
  the native gnat with the same major version will be required.

ada-acats:
  - When running the ACATS, look for the gnat tools in their new
  directory (build/gnattools), and for the shared libraries in
  build/gcc/ada/rts, build/libgnatvsn and build/libgnatprj.

libgnatprj-cross-hack:

ada-sjlj:

ada-link-shlib:
  In gnatlink, pass the options and libraries after objects to the
  linker to avoid link failures with --as-needed. Closes: #680292.

ada-gcc-name:
  use gcc-7 instead of gcc as the command name.

gdc-6:
  This implements D language support in the GCC back end, and adds
  relevant documentation about the GDC front end (code part).

gdc-updates:
  gdc updates up to 20160115.

libphobos-zlib:
  Build zlib in any case to have a fall back for missing libz multilibs

gdc-versym-cpu:
  Implements D CPU version conditions.

gdc-versym-os:
  Implements D OS version conditions.

gdc-frontend-posix:
  Fix build of the D frontend on the Hurd and KFreeBSD.

gdc-base-version:
  Use the GCC base version for the D include dir name

gdc-profiledbuild:
  Don't build gdc build tools idgen and impcnvgen with profiling flags

gdc-6-doc:
  This implements D language support in the GCC back end, and adds
  relevant documentation about the GDC front end (documentation part).

gdc-driver-nophobos:
  Modify gdc driver to have no libphobos by default.

disable-gdc-tests:
  Disable D tests, hang on many buildds

pr65618:
  Proposed patch for PR rtl-optimization/65618

sys-auxv-header:
  Check for the sys/auxv.h header file.

libcilkrts-targets:
  Disable libcilkrts on KFreeBSD and the Hurd. See #734973.

arm-multilib-soft-cross:
  ARM hard/soft float multilib support

arm-multilib-defaults:
  Set MULTILIB_DEFAULTS for ARM multilib builds

cross-fixes:
  Fix the linker error when creating an xcc for ia64

cross-install-location:

gdc-cross-install-location:

gcc-ice-dump:
  For ICEs, dump the preprocessed source file to stderr
  when in a distro build environment.

gcc-ice-apport:
  Report an ICE to apport (if apport is available
  and the environment variable GCC_NOAPPORT is not set)

skip-bootstrap-multilib:
  Skip non-default multilib and libstdc++-v3 debug builds in bootstrap builds

libjava-fixed-symlinks:
  Remove unneed '..' elements from symlinks in JAVA_HOME

libffi-ro-eh_frame_sect:
  PR libffi/47248, force a read only eh frame section.

libffi-mips:
  Backport Mips go closure support, taken from libffi issue #197.

gcc-multiarch:
  - Remaining multiarch patches, not yet submitted upstream.
  - Add MULTIARCH_DIRNAME definitions for multilib configurations,
  which are used for the non-multilib builds.

libjava-multiarch:
  Install libjava libraries to multiarch location

libjava-nobiarch-check:
  For biarch builds, disable the testsuite for the non-default architecture
  for runtime libraries, which are not built by default (libjava).

config-ml:
  - Disable some biarch libraries for biarch builds.
  - Fix multilib builds on kernels which don't support all multilibs.

cross-no-locale-include:
  Don't add /usr/local/include for cross compilers. Assume that
  /usr/include is ready for multiarch, but not /usr/local/include.

cross-biarch:
  Fix the location of target's libs in cross-build for biarch

gcc-multilib-multiarch:
  Don't auto-detect multilib osdirnames.

gcc-as-needed:
  On linux targets pass --as-needed by default to the linker, but always
  link the sanitizer libraries with --no-as-needed.

gcc-as-needed-gold:
  Use --push-state/--pop-state for gold as well when linking libtsan.

libgomp-kfreebsd-testsuite:
  Disable lock-2.c test on kfreebsd-*

go-testsuite:
  Skip Go testcase on AArch64 which hangs on the buildds.

ada-749574:

ada-mips:
  Improve support for mips.

gcc-default-ssp:
  Turn on -fstack-protector by default for C, C++, ObjC, ObjC++.
  Build libgcc using -fno-stack-protector.

gcc-default-format-security:
  Turn on -Wformat -Wformat-security by  default for C, C++, ObjC, ObjC++.

gcc-default-ssp-strong:
  Default to -fstack-protector-strong starting with Ubuntu 14.10.

gcc-default-fortify-source:
  Turn on -D_FORTIFY_SOURCE=2 by default for C, C++, ObjC, ObjC++,
  if the optimization level is > 0

gcc-default-relro:
  Turn on -Wl,-z,relro by default.

testsuite-hardening-format:
  Description: use -Wno-format on tests that cannot be adjusted other ways.
  Author: Kees Cook <kees@ubuntu.com>
  Ubuntu: https://bugs.launchpad.net/bugs/344502

testsuite-hardening-printf-types:
  Description: adjust/standardize printf types to avoid -Wformat warnings.
  Author: Kees Cook <kees@ubuntu.com>
  Ubuntu: https://bugs.launchpad.net/bugs/344502

testsuite-hardening-updates:
  Fix some gcc and g++ testcases to pass with hardening defaults

testsuite-glibc-warnings:
  fix testcases that triggered -Wunused-result with glibc
  Author: Steve Beattie <steve.beattie@canonical.com>
