--- /dev/null
+ GCC 8 Release Series
+ Changes, New Features, and Fixes
+
+This page is a "brief" summary of some of the huge number of improvements in
+GCC 8. You may also want to check out our Porting_to_GCC_8 page and the full
+GCC_documentation.
+
+Caveats
+
+ * Support for the obsolete SDB/coff debug info format has been removed. The
+ option -gcoff no longer does anything.
+ * The Cilk+ extensions to the C and C++ languages have been removed.
+ * The MPX extensions to the C and C++ languages have been deprecated and
+ will be removed in a future release.
+ * The extension allowing arithmetic on std::atomic<void*> and types like
+ std::atomic<R(*)()> has been deprecated.
+ * The non-standard C++0x std::copy_exception function was removed. std::
+ make_exception_ptr should be used instead.
+ * Support for the powerpc*-*-*spe* target ports which have been recently
+ unmaintained and untested in GCC has been declared obsolete in GCC 8 as
+ announced here. Unless there is activity to revive them, the next release
+ of GCC will have their sources permanently removed.
+
+General Improvements
+
+ * Inter-procedural optimization improvements:
+ o Reworked run-time estimation metrics leading to more realistic
+ guesses driving inliner and cloning heuristics.
+ o The ipa-pure-const pass is extended to propagate the malloc
+ attribute, and the corresponding warning option -Wsuggest-
+ attribute=malloc emits a diagnostic for functions which can be
+ annotated with the malloc attribute.
+ * Profile driven optimization improvements:
+ o New infrastructure for representing profiles (both statically
+ guessed and profile feedback) which allows propagation of
+ additional information about the reliability of the profile.
+ o A number of improvements in the profile updating code solving
+ problems found by new verification code.
+ o Static detection of code which is not executed in a valid run of
+ the program. This includes paths which trigger undefined behavior
+ as well as calls to functions declared with the cold attribute.
+ Newly the noreturn attribute does not imply all effects of cold to
+ differentiate between exit (which is noreturn) and abort (which is
+ in addition not executed in valid runs).
+ o -freorder-blocks-and-partition, a pass splitting function bodies
+ into hot and cold regions, is now enabled by default at -O2 and
+ higher for x86 and x86-64.
+ * Link-time optimization improvements:
+ o We have significantly improved debug information on ELF targets
+ using DWARF by properly preserving language-specific information.
+ This allows for example the libstdc++ pretty-printers to work with
+ LTO optimized executables.
+ * A new option -fcf-protection=[full|branch|return|none] is introduced to
+ perform code instrumentation to increase program security by checking
+ that target addresses of control-flow transfer instructions (such as
+ indirect function call, function return, indirect jump) are valid.
+ Currently the instrumentation is supported on x86 GNU/Linux targets only.
+ See the user guide for further information about the option syntax and
+ section "New Targets and Target Specific Improvements" for IA-32/x86-64
+ for more details.
+ * The -gcolumn-info option is now enabled by default. It includes column
+ information in addition to just filenames and line numbers in DWARF
+ debugging information.
+ * The polyhedral-based loop nest optimization pass -floop-nest-optimize has
+ been overhauled. It's still considered experimental and may not result in
+ any runtime improvements.
+ * Two new classical loop nest optimization passes have been added. -floop-
+ unroll-and-jam performs outer loop unrolling and fusing of the inner loop
+ copies. -floop-interchange exchanges loops in a loop nest to improve data
+ locality. Both passes are enabled by default at -O3 and above.
+ * The classic loop nest optimization pass -ftree-loop-distribution has been
+ improved and enabled by default at -O3 and above. It supports loop nest
+ distribution in some restricted scenarios; it also supports cancellable
+ innermost loop distribution with loop versioning under run-time alias
+ checks.
+ * The new option -fstack-clash-protection causes the compiler to insert
+ probes whenever stack space is allocated statically or dynamically to
+ reliably detect stack overflows and thus mitigate the attack vector that
+ relies on jumping over a stack guard page as provided by the operating
+ system.
+ * A new pragma GCC unroll has been implemented in the C family of
+ languages, as well as Fortran and Ada, so as to make it possible for the
+ user to have a finer-grained control over the loop unrolling
+ optimization.
+ * GCC has been enhanced to detect more instances of meaningless or mutually
+ exclusive attribute specifications and handle such conflicts more
+ consistently. Mutually exclusive attribute specifications are ignored
+ with a warning regardless of whether they appear on the same declaration
+ or on distinct declarations of the same entity. For example, because the
+ noreturn attribute on the second declaration below is mutually exclusive
+ with the malloc attribute on the first, it is ignored and a warning is
+ issued.
+ void* __attribute__ ((malloc)) f (unsigned);
+ void* __attribute__ ((noreturn)) f (unsigned);
+
+ warning: ignoring attribute 'noreturn' because it conflicts with
+ attribute 'malloc' [-Wattributes]
+ * The gcov tool can distinguish functions that begin on a same line in a
+ source file. This can be a different template instantiation or a class
+ constructor:
+ File 'ins.C'
+ Lines executed:100.00% of 8
+ Creating 'ins.C.gcov'
+
+ -: 0:Source:ins.C
+ -: 0:Graph:ins.gcno
+ -: 0:Data:ins.gcda
+ -: 0:Runs:1
+ -: 0:Programs:1
+ -: 1:template<class T>
+ -: 2:class Foo
+ -: 3:{
+ -: 4: public:
+ 2: 5: Foo(): b (1000) {}
+ ------------------
+ Foo<char>::Foo():
+ 1: 5: Foo(): b (1000) {}
+ ------------------
+ Foo<int>::Foo():
+ 1: 5: Foo(): b (1000) {}
+ ------------------
+ 2: 6: void inc () { b++; }
+ ------------------
+ Foo<char>::inc():
+ 1: 6: void inc () { b++; }
+ ------------------
+ Foo<int>::inc():
+ 1: 6: void inc () { b++; }
+ ------------------
+ -: 7:
+ -: 8: private:
+ -: 9: int b;
+ -: 10:};
+ -: 11:
+ 1: 12:int main(int argc, char **argv)
+ -: 13:{
+ 1: 14: Foo<int> a;
+ 1: 15: Foo<char> b;
+ -: 16:
+ 1: 17: a.inc ();
+ 1: 18: b.inc ();
+ 1: 19:}
+ * The gcov tool has more accurate numbers for execution of lines in a
+ source file.
+ * The gcov tool can use TERM colors to provide more readable output.
+ * AddressSanitizer gained a new pair of sanitization options, -
+ fsanitize=pointer-compare and -fsanitize=pointer-subtract, which warn
+ about subtraction (or comparison) of pointers that point to a different
+ memory object:
+ int
+ main ()
+ {
+ /* Heap allocated memory. */
+ char *heap1 = (char *)__builtin_malloc (42);
+ char *heap2 = (char *)__builtin_malloc (42);
+ if (heap1 > heap2)
+ return 1;
+
+ return 0;
+ }
+
+ ==17465==ERROR: AddressSanitizer: invalid-pointer-pair:
+ 0x604000000010 0x604000000050
+ #0 0x40070f in main /tmp/pointer-compare.c:7
+ #1 0x7ffff6a72a86 in __libc_start_main (/lib64/
+ libc.so.6+0x21a86)
+ #2 0x400629 in _start (/tmp/a.out+0x400629)
+
+ 0x604000000010 is located 0 bytes inside of 42-byte region
+ [0x604000000010,0x60400000003a)
+ allocated by thread T0 here:
+ #0 0x7ffff6efb390 in __interceptor_malloc ../../../../
+ libsanitizer/asan/asan_malloc_linux.cc:86
+ #1 0x4006ea in main /tmp/pointer-compare.c:5
+ #2 0x7ffff6a72a86 in __libc_start_main (/lib64/
+ libc.so.6+0x21a86)
+
+ 0x604000000050 is located 0 bytes inside of 42-byte region
+ [0x604000000050,0x60400000007a)
+ allocated by thread T0 here:
+ #0 0x7ffff6efb390 in __interceptor_malloc ../../../../
+ libsanitizer/asan/asan_malloc_linux.cc:86
+ #1 0x4006f8 in main /tmp/pointer-compare.c:6
+ #2 0x7ffff6a72a86 in __libc_start_main (/lib64/
+ libc.so.6+0x21a86)
+
+ SUMMARY: AddressSanitizer: invalid-pointer-pair /tmp/pointer-
+ compare.c:7 in main
+ * The store merging pass has been enhanced to handle bit-fields and not
+ just constant stores, but also data copying from adjacent memory
+ locations into other adjacent memory locations, including bitwise logical
+ operations on the data. The pass can also handle byte swapping into
+ memory locations.
+ * The undefined behavior sanitizer gained two new options included in -
+ fsanitize=undefined: -fsanitize=builtin which diagnoses at run time
+ invalid arguments to __builtin_clz or __builtin_ctz prefixed builtins,
+ and -fsanitize=pointer-overflow which performs cheap run time tests for
+ pointer wrapping.
+
+New Languages and Language specific improvements
+
+Ada
+
+ * For its internal exception handling used on the host for error recovery
+ in the front-end, the compiler now relies on the native exception
+ handling mechanism of the host platform, which should be more efficient
+ than the former mechanism.
+
+BRIG (HSAIL)
+
+In this release cycle, the focus for the BRIGFE was on stabilization and
+performance improvements. Also a couple of completely new features were added.
+ * Improved support for function and module scope group segment variables.
+ PRM specs define function and module scope group segment variables as an
+ experimental feature. However, PRM test suite uses them. Now group
+ segment is handled by separate book keeping of module scope and function
+ (kernel) offsets. Each function has a "frame" in the group segment offset
+ to which is given as an argument, similar to traditional call stack frame
+ handling.
+ * Reduce the number of type conversions due to the untyped HSAIL registers.
+ Instead of always representing the HSAIL's untyped registers as unsigned
+ int, the gccbrig now pre-analyzes the BRIG code and builds the register
+ variables as a type used the most when storing or reading data to/from
+ each register. This reduces the number of total casts which cannot be
+ always optimized away.
+ * Support for BRIG_KIND_NONE directives.
+ * Made -O3 the default optimization level for BRIGFE.
+ * Fixed illegal addresses generated from address expressions which refer
+ only to offset 0.
+ * Fixed a bug with reg+offset addressing on 32b segments. In 'large' mode,
+ the offset is treated as 32bits unless it's in global, read-only or
+ kernarg address space.
+ * Fixed a crash caused sometimes by calls with more than 4 arguments.
+ * Fixed a mis-execution issue with kernels that have both unexpanded ID
+ functions and calls to subfunctions.
+ * Treat HSAIL barrier builtins as setjmp/longjump style functions to avoid
+ illegal optimizations.
+ * Ensure per WI copies of private variables are aligned correctly.
+ * libhsail-rt: Assume the host runtime allocates the work group memory.
+
+C family
+
+ * New command-line options have been added for the C and C++ compilers:
+ o -Wmultistatement-macros warns about unsafe macros expanding to
+ multiple statements used as a body of a statement such as if, else,
+ while, switch, or for.
+ o -Wstringop-truncation warns for calls to bounded string
+ manipulation functions such as strncat, strncpy, and stpncpy that
+ might either truncate the copied string or leave the destination
+ unchanged. For example, the following call to strncat is diagnosed
+ because it appends just three of the four characters from the
+ source string.
+ void append (char *buf, size_t bufsize)
+ {
+ strncat (buf, ".txt", 3);
+ }
+ warning: 'strncat' output truncated copying 3 bytes from a
+ string of length 4 [-Wstringop-truncation]
+ Similarly, in the following example, the call to strncpy specifies
+ the size of the destination buffer as the bound. If the length of
+ the source string is equal to or greater than this size the result
+ of the copy will not be NUL-terminated. Therefore, the call is also
+ diagnosed. To avoid the warning, specify sizeof buf - 1 as the
+ bound and set the last element of the buffer to NUL.
+ void copy (const char *s)
+ {
+ char buf[80];
+ strncpy (buf, s, sizeof buf);
+ …
+ }
+ warning: 'strncpy' specified bound 80 equals destination size
+ [-Wstringop-truncation]
+ The -Wstringop-truncation option is included in -Wall.
+ Note that due to GCC bug 82944, defining strncat, strncpy, or
+ stpncpy as a macro in a system header as some implementations do,
+ suppresses the warning.
+ o -Wif-not-aligned controls warnings issued in response to invalid
+ uses of objects declared with attribute warn_if_not_aligned.
+ The -Wif-not-aligned option is included in -Wall.
+ o -Wmissing-attributes warns when a declaration of a function is
+ missing one or more attributes that a related function is declared
+ with and whose absence may adversely affect the correctness or
+ efficiency of generated code. For example, in C++, the warning is
+ issued when an explicit specialization of a primary template
+ declared with attribute alloc_align, alloc_size, assume_aligned,
+ format, format_arg, malloc, or nonnull is declared without it.
+ Attributes deprecated, error, and warning suppress the warning.
+ The -Wmissing-attributes option is included in -Wall.
+ o -Wpacked-not-aligned warns when a struct or union declared with
+ attribute packed defines a member with an explicitly specified
+ alignment greater than 1. Such a member will wind up under-aligned.
+ For example, a warning will be issued for the definition of struct
+ A in the following:
+ struct __attribute__ ((aligned (8)))
+ S8 { char a[8]; };
+
+ struct __attribute__ ((packed)) A
+ {
+ struct S8 s8;
+ };
+ warning: alignment 1 of 'struct S' is less than 8 [-Wpacked-
+ not-aligned]
+ The -Wpacked-not-aligned option is included in -Wall.
+ o -Wcast-function-type warns when a function pointer is cast to an
+ incompatible function pointer. This warning is enabled by -Wextra.
+ o -Wsizeof-pointer-div warns for suspicious divisions of the size of
+ a pointer by the size of the elements it points to, which looks
+ like the usual way to compute the array size but won't work out
+ correctly with pointers. This warning is enabled by -Wall.
+ o -Wcast-align=strict warns whenever a pointer is cast such that the
+ required alignment of the target is increased. For example, warn if
+ a char * is cast to an int * regardless of the target machine.
+ o -fprofile-abs-path creates absolute path names in the .gcno files.
+ This allows gcov to find the correct sources in projects where
+ compilations occur with different working directories.
+ * -fno-strict-overflow is now mapped to -fwrapv -fwrapv-pointer and signed
+ integer overflow is now undefined by default at all optimization levels.
+ Using -fsanitize=signed-integer-overflow is now the preferred way to
+ audit code, -Wstrict-overflow is deprecated.
+ * The -Warray-bounds option has been improved to detect more instances of
+ out-of-bounds array indices and pointer offsets. For example, negative or
+ excessive indices into flexible array members and string literals are
+ detected.
+ * The -Wrestrict option introduced in GCC 7 has been enhanced to detect
+ many more instances of overlapping accesses to objects via restrict-
+ qualified arguments to standard memory and string manipulation functions
+ such as memcpy and strcpy. For example, the strcpy call in the function
+ below attempts to truncate the string by replacing its initial characters
+ with the last four. However, because the function writes the terminating
+ NUL into a[4], the copies overlap and the call is diagnosed.
+ void f (void)
+ {
+ char a[] = "abcd1234";
+ strcpy (a, a + 4);
+ …
+ }
+ The -Wrestrict option is included in -Wall.
+ * Several optimizer enhancements have enabled improvements to the -Wformat-
+ overflow and -Wformat-truncation options. The warnings detect more
+ instances of buffer overflow and truncation than in GCC 7 and are better
+ at avoiding certain kinds of false positives.
+ * When reporting mismatching argument types at a function call, the C and
+ C++ compilers now underline both the argument and the pertinent parameter
+ in the declaration.
+ $ gcc arg-type-mismatch.cc
+ arg-type-mismatch.cc: In function 'int caller(int, int,
+ float)':
+ arg-type-mismatch.cc:5:24: error: invalid conversion from 'int'
+ to 'const char*' [-fpermissive]
+ return callee(first, second, third);
+ ^~~~~~
+ arg-type-mismatch.cc:1:40: note: initializing argument 2 of 'int
+ callee(int, const char*, float)'
+ extern int callee(int one, const char *two, float three);
+ ~~~~~~~~~~~~^~~
+ * When reporting on unrecognized identifiers, the C and C++ compilers will
+ now emit fix-it hints suggesting #include directives for various headers
+ in the C and C++ standard libraries.
+ $ gcc incomplete.c
+ incomplete.c: In function 'test':
+ incomplete.c:3:10: error: 'NULL' undeclared (first use in this
+ function)
+ return NULL;
+ ^~~~
+ incomplete.c:3:10: note: 'NULL' is defined in header
+ '<stddef.h>'; did you forget to '#include
+ <stddef.h>'?
+ incomplete.c:1:1:
+ +#include <stddef.h>
+ const char *test(void)
+ incomplete.c:3:10:
+ return NULL;
+ ^~~~
+ incomplete.c:3:10: note: each undeclared identifier is reported only once
+ for each function it appears in
+ $ gcc incomplete.cc
+ incomplete.cc:1:6: error: 'string' in namespace 'std'
+ does not name a type
+ std::string s("hello world");
+ ^~~~~~
+ incomplete.cc:1:1: note: 'std::string' is defined in header
+ '<string>'; did you forget to '#include <string>'?
+ +#include <string>
+ std::string s("hello world");
+ ^~~
+ * The C and C++ compilers now use more intuitive locations when reporting
+ on missing semicolons, and offer fix-it hints:
+ $ gcc t.c
+ t.c: In function 'test':
+ t.c:3:12: error: expected ';' before '}' token
+ return 42
+ ^
+ ;
+ }
+ ~
+ * When reporting on missing '}' and ')' tokens, the C and C++ compilers
+ will now highlight the corresponding '{' and '(' token, issuing a 'note'
+ if it's on a separate line:
+ $ gcc unclosed.c
+ unclosed.c: In function 'log_when_out_of_range':
+ unclosed.c:12:50: error: expected ')' before '{'
+ token
+ && (temperature < MIN || temperature > MAX) {
+ ^~
+ )
+ unclosed.c:11:6: note: to match this '('
+ if (logging_enabled && check_range ()
+ ^
+ or highlighting it directly if it's on the same line:
+ $ gcc unclosed-2.c
+ unclosed-2.c: In function 'test':
+ unclosed-2.c:8:45: error: expected ')' before '{'
+ token
+ if (temperature < MIN || temperature > MAX {
+ ~ ^~
+ )
+ They will also emit fix-it hints.
+
+C++
+
+ * The value of the C++11 alignof operator has been corrected to match C
+ _Alignof (minimum alignment) rather than GNU __alignof__ (preferred
+ alignment); on ia32 targets this means that alignof(double) is now 4
+ rather than 8. Code that wants the preferred alignment should use
+ __alignof__ instead.
+ * New command-line options have been added for the C++ compiler to control
+ warnings:
+ o -Wclass-memaccess warns when objects of non-trivial class types are
+ manipulated in potentially unsafe ways by raw memory functions such
+ as memcpy, or realloc. The warning helps detect calls that bypass
+ user-defined constructors or copy-assignment operators, corrupt
+ virtual table pointers, data members of const-qualified types or
+ references, or member pointers. The warning also detects calls that
+ would bypass access controls to data members. For example, a call
+ such as:
+ memcpy (&std::cout, &std::cerr, sizeof std::cout);
+ results in
+ warning: 'void* memcpy(void*, const void*, long unsigned int)'
+ writing to an object of type 'std::ostream' {aka 'class std::
+ basic_ostream<char>'} with no trivial copy-assignment [-Wclass-
+ memaccess]
+ The -Wclass-memaccess option is included in -Wall.
+ * The C++ front end has experimental support for some of the upcoming C++2a
+ draft features with the -std=c++2a or -std=gnu++2a flags, including
+ designated initializers, default member initializers for bit-fields,
+ __VA_OPT__ (except that #__VA_OPT__ is unsupported), lambda [=, this]
+ captures, etc. For a full list of new features, see the_C++_status_page.
+ * When reporting on attempts to access private fields of a class or struct,
+ the C++ compiler will now offer fix-it hints showing how to use an
+ accessor function to get at the field in question, if one exists.
+ $ gcc accessor.cc
+ accessor.cc: In function 'void test(foo*)':
+ accessor.cc:12:12: error: 'double foo::m_ratio' is private
+ within this context
+ if (ptr->m_ratio >= 0.5)
+ ^~~~~~~
+ accessor.cc:7:10: note: declared private here
+ double m_ratio;
+ ^~~~~~~
+ accessor.cc:12:12: note: field 'double foo::m_ratio' can be
+ accessed via 'double foo::get_ratio() const'
+ if (ptr->m_ratio >= 0.5)
+ ^~~~~~~
+ get_ratio()
+ * The C++ compiler can now give you a hint if you use a macro before it was
+ defined (e.g. if you mess up the order of your #include directives):
+ $ gcc ordering.cc
+ ordering.cc:2:24: error: expected ';' at end of member
+ declaration
+ virtual void clone() const OVERRIDE { }
+ ^~~~~
+ ;
+ ordering.cc:2:30: error: 'OVERRIDE' does not name a type
+ virtual void clone() const OVERRIDE { }
+ ^~~~~~~~
+ ordering.cc:2:30: note: the macro 'OVERRIDE' had not yet been
+ defined
+ In file included from ordering.cc:5:
+ c++11-compat.h:2: note: it was later defined here
+ #define OVERRIDE override
+ * The -Wold-style-cast diagnostic can now emit fix-it hints telling you
+ when you can use a static_cast, const_cast, or reinterpret_cast.
+ $ gcc -c old-style-cast-fixits.cc -Wold-style-cast
+ old-style-cast-fixits.cc: In function 'void test(void*)':
+ old-style-cast-fixits.cc:5:19: warning: use of old-style cast to
+ 'struct foo*' [-Wold-style-cast]
+ foo *f = (foo *)ptr;
+ ^~~
+ ----------
+ static_cast<foo *> (ptr)
+ * When reporting on problems within extern "C" linkage specifications, the
+ C++ compiler will now display the location of the start of the extern
+ "C".
+ $ gcc -c extern-c.cc
+ extern-c.cc:3:1: error: template with C linkage
+ template <typename T> void test (void);
+ ^~~~~~~~
+ In file included from extern-c.cc:1:
+ unclosed.h:1:1: note: 'extern "C"' linkage started here
+ extern "C" {
+ ^~~~~~~~~~
+ extern-c.cc:3:39: error: expected '}' at end of input
+ template <typename T> void test (void);
+ ^
+ In file included from extern-c.cc:1:
+ unclosed.h:1:12: note: to match this '{'
+ extern "C" {
+ ^
+ * When reporting on mismatching template types, the C++ compiler will now
+ use color to highlight the mismatching parts of the template, and will
+ elide the parameters that are common between two mismatching templates,
+ printing [...] instead:
+ $ gcc templates.cc
+ templates.cc: In function 'void test()':
+ templates.cc:9:8: error: could not convert 'vector<double>()'
+ from 'vector<double>' to 'vector<int>'
+ fn_1(vector<double> ());
+ ^~~~~~~~~~~~~~~~~
+ templates.cc:10:8: error: could not convert 'map<int, double>
+ ()' from 'map<[...],double>' to 'map<[...],int>'
+ fn_2(map<int, double>());
+ ^~~~~~~~~~~~~~~~~~
+ Those [...] elided parameters can be seen using -fno-elide-type:
+ $ gcc templates.cc -fno-elide-type
+ templates.cc: In function 'void test()':
+ templates.cc:9:8: error: could not convert 'vector<double>()'
+ from 'vector<double>' to 'vector<int>'
+ fn_1(vector<double> ());
+ ^~~~~~~~~~~~~~~~~
+ templates.cc:10:8: error: could not convert 'map<int, double>
+ ()' from 'map<int,double>' to 'map<int,int>'
+ fn_2(map<int, double>());
+ ^~~~~~~~~~~~~~~~~~
+ The C++ compiler has also gained an option -fdiagnostics-show-template-
+ tree which visualizes such mismatching templates in a hierarchical form:
+ $ gcc templates-2.cc -fdiagnostics-show-template-tree
+ templates-2.cc: In function 'void test()':
+ templates-2.cc:9:8: error: could not convert 'vector<double>()'
+ from 'vector<double>' to 'vector<int>'
+ vector<
+ [double != int]>
+ fn_1(vector<double> ());
+ ^~~~~~~~~~~~~~~~~
+ templates-2.cc:10:8: error: could not convert 'map<map<int,
+ vector<double> >, vector<double> >()' from 'map<map<
+ [...],vector<double>>,vector<double>>' to 'map<map<
+ [...],vector<float>>,vector<float>>'
+ map<
+ map<
+ [...],
+ vector<
+ [double != float]>>,
+ vector<
+ [double != float]>>
+ fn_2(map<map<int, vector<double>>, vector<double>> ());
+ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ which again works with -fno-elide-type:
+ $ gcc templates-2.cc -fdiagnostics-show-template-tree -fno-elide-type
+ templates-2.cc: In function 'void test()':
+ templates-2.cc:9:8: error: could not convert 'vector<double>()'
+ from 'vector<double>' to 'vector<int>'
+ vector<
+ [double != int]>
+ fn_1(vector<double> ());
+ ^~~~~~~~~~~~~~~~~
+ templates-2.cc:10:8: error: could not convert 'map<map<int,
+ vector<double> >, vector<double> >()' from
+ 'map<map<int,vector<double>>,vector<double>>' to
+ 'map<map<int,vector<float>>,vector<float>>'
+ map<
+ map<
+ int,
+ vector<
+ [double != float]>>,
+ vector<
+ [double != float]>>
+ fn_2(map<map<int, vector<double>>, vector<double>> ());
+ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ * Flowing off the end of a non-void function is considered unreachable and
+ may be subject to optimization on that basis. As a result of this change,
+ -Wreturn-type warnings are enabled by default for C++.
+
+Runtime Library (libstdc++)
+
+ * Improved experimental support for C++17, including the following
+ features:
+ o Deduction guides to support class template argument deduction.
+ o std::filesystem implementation.
+ o std::char_traits<char> and std::char_traits<wchar_t> are usable in
+ constant expressions.
+ o std::to_chars and std::from_chars (for integers only, not for
+ floating point types).
+ * Experimental support for C++2a: std::to_address (thanks to Glen
+ Fernandes) and std::endian.
+ * On GNU/Linux, std::random_device::entropy() accesses the kernel's entropy
+ count for the random device, if known (thanks to Xi Ruoyao).
+ * Support for std::experimental::source_location.
+ * AddressSanitizer integration for std::vector, detecting out-of-range
+ accesses to the unused capacity of a vector.
+ * Extensions __gnu_cxx::airy_ai and __gnu_cxx::airy_bi added to the
+ Mathematical Special Functions.
+
+Fortran
+
+ * The main version of libfortran has been changed to 5.
+ * Parameterized derived types, a major feature of Fortran 2003, have been
+ implemented.
+ * The maximum rank for arrays has been increased to 15, conforming to the
+ Fortran 2008 standard.
+ * Transformational intrinsics are now fully supported in initialization
+ expressions.
+ * New flag -fc-prototypes to write C prototypes for BIND(C) procedures and
+ variables.
+ * If -fmax-stack-var-size is honored if given together with -Ofast, -
+ fstack-arrays is no longer set in that case.
+ * New options -fdefault-real-16 and -fdefault-real-10 to control the
+ default kind of REAL variables.
+ * A warning is now issued if an array subscript inside a DO loop could lead
+ to an out-of-bounds-access. The new option -Wdo-subscript, enabled by -
+ Wextra, warns about this even if the compiler can not prove that the code
+ will be executed.
+ * The Fortran front end now attempts to interchange loops if it is deemed
+ profitable. So far, this is restricted to FORALL and DO CONCURRENT
+ statements with multiple indices. This behavior be controlled with the
+ new flag -ffrontend-loop-interchange, which is enabled with optimization
+ by default. The -Wfrontend-loop-interchange option warns about such
+ occurrences.
+ * When an actual argument contains too few elements for a dummy argument,
+ an error is now issued. The -std=legacy option can be used to still
+ compile such code.
+ * The RECL= argument to OPEN and INQUIRE statements now allows 64-bit
+ integers, making records larger than 2GiB possible.
+ * The GFORTRAN_DEFAULT_RECL environment variable no longer has any effect.
+ The record length for preconnected units is now larger than any practical
+ limit, same as for sequential access units opened without an explicit
+ RECL= specifier.
+ * Character variables longer than HUGE(0) elements are now possible on 64-
+ bit targets. Note that this changes the procedure call ABI for all
+ procedures with character arguments on 64-bit targets, as the type of the
+ hidden character length argument has changed. The hidden character length
+ argument is now of type INTEGER(C_SIZE_T).
+
+Go
+
+ * GCC 8 provides a complete implementation of the Go 1.10.1 user packages.
+ * The garbage collector is now fully concurrent. As before, values stored
+ on the stack are scanned conservatively, but value stored in the heap are
+ scanned precisely.
+ * Escape analysis is fully implemented and enabled by default in the Go
+ frontend. This significantly reduces the number of heap allocations by
+ allocating values on the stack instead.
+
+libgccjit
+
+The libgccjit API gained four new entry points:
+ * gcc_jit_type_get_vector and
+ * gcc_jit_context_new_rvalue_from_vector for working with vectors,
+ * gcc_jit_type_get_aligned
+ * gcc_jit_function_get_address
+The C code generated by gcc_jit_context_dump_reproducer_to_file is now easier-
+to-read.
+
+New Targets and Target Specific Improvements
+
+AArch64
+
+ * The Armv8.4-A architecture is now supported. It can be used by specifying
+ the -march=armv8.4-a option.
+ * The Dot Product instructions are now supported as an optional extension
+ to the Armv8.2-A architecture and newer and are mandatory on Armv8.4-A.
+ The extension can be used by specifying the +dotprod architecture
+ extension. E.g. -march=armv8.2-a+dotprod.
+ * The Armv8-A +crypto extension has now been split into two extensions for
+ finer grained control:
+ o +aes which contains the Armv8-A AES crytographic instructions.
+ o +sha2 which contains the Armv8-A SHA2 and SHA1 cryptographic
+ instructions.
+ Using +crypto will now enable these two extensions.
+ * New Armv8.4-A FP16 Floating Point Multiplication Variant instructions
+ have been added. These instructions are mandatory in Armv8.4-A but
+ available as an optional extension to Armv8.2-A and Armv8.3-A. The new
+ extension can be used by specifying the +fp16fml architectural extension
+ on Armv8.2-A and Armv8.3-A. On Armv8.4-A the instructions can be enabled
+ by specifying +fp16.
+ * New cryptographic instructions have been added as optional extensions to
+ Armv8.2-A and newer. These instructions can be enabled with:
+ o +sha3 New SHA3 and SHA2 instructions from Armv8.4-A. This implies
+ +sha2.
+ o +sm4 New SM3 and SM4 instructions from Armv8.4-A.
+ * The Scalable Vector Extension (SVE) is now supported as an optional
+ extension to the Armv8.2-A architecture and newer. This support includes
+ automatic vectorization with SVE instructions, but it does not yet
+ include the SVE Arm C Language Extensions (ACLE). It can be enabled by
+ specifying the +sve architecture extension (for example, -march=armv8.2-
+ a+sve). By default, the generated code works with all vector lengths, but
+ it can be made specific to N-bit vectors using -msve-vector-bits=N.
+ * Support has been added for the following processors (GCC identifiers in
+ parentheses):
+ o Arm Cortex-A75 (cortex-a75).
+ o Arm Cortex-A55 (cortex-a55).
+ o Arm Cortex-A55/Cortex-A75 DynamIQ big.LITTLE (cortex-a75.cortex-
+ a55).
+ The GCC identifiers can be used as arguments to the -mcpu or -mtune
+ options, for example: -mcpu=cortex-a75 or -mtune=cortex-a75 or as
+ arguments to the equivalent target attributes and pragmas.
+
+ARC
+
+ * Added support for:
+ o Fast interrupts.
+ o Naked functions.
+ o aux variable attributes.
+ o uncached type qualifier.
+ o Secure functions via sjli instruction.
+ * New exception handling implementation.
+ * Revamped trampoline implementation.
+ * Refactored small data feature implementation, controlled via -G command
+ line option.
+ * New support for reduced register set ARC architecture configurations,
+ controlled via -mrf16 command line option.
+ * Refurbished and improved support for zero overhead loops. Introduced -
+ mlpc-width command line option to control the width of lp_count register.
+
+ARM
+
+ * The -mfpu option now takes a new option setting of -mfpu=auto. When set
+ to this the floating-point and SIMD settings are derived from the
+ settings of the -mcpu or -march options. The internal CPU configurations
+ have been updated with information about the permitted floating-point
+ configurations supported. See the user guide for further information
+ about the extended option syntax for controlling architectural extensions
+ via the -march option. -mfpu=auto is now the default setting unless the
+ compiler has been configured with an explicit --with-fpu option.
+ * The -march and -mcpu options now accept optional extensions to the
+ architecture or CPU option, allowing the user to enable or disable any
+ such extensions supported by that architecture or CPU such as (but not
+ limited to) floating-point and AdvancedSIMD. For example: the option -
+ mcpu=cortex-a53+nofp will generate code for the Cortex-A53 processor with
+ no floating-point support. This, in combination with the new -mfpu=auto
+ option, provides a straightforward way of specifying a valid build target
+ through a single -mcpu or -march option. The -mtune option accepts the
+ same arguments as -mcpu but only the CPU name has an effect on tuning.
+ The architecture extensions do not have any effect. For details of what
+ extensions a particular architecture or CPU option supports please refer
+ to the documentation.
+ * The -mstructure-size-boundary option has been deprecated and will be
+ removed in a future release.
+ * The default link behavior for Armv6 and Armv7-R targets has been changed
+ to produce BE8 format when generating big-endian images. A new flag -
+ mbe32 can be used to force the linker to produce legacy BE32 format
+ images. There is no change of behavior for Armv6-M and other Armv7 or
+ later targets: these already defaulted to BE8 format. This change brings
+ GCC into alignment with other compilers for the ARM architecture.
+ * The Armv8-R architecture is now supported. It can be used by specifying
+ the -march=armv8-r option.
+ * The Armv8.3-A architecture is now supported. It can be used by specifying
+ the -march=armv8.3-a option.
+ * The Armv8.4-A architecture is now supported. It can be used by specifying
+ the -march=armv8.4-a option.
+ * The Dot Product instructions are now supported as an optional extension
+ to the Armv8.2-A architecture and newer and are mandatory on Armv8.4-A.
+ The extension can be used by specifying the +dotprod architecture
+ extension. E.g. -march=armv8.2-a+dotprod.
+ * Support for setting extensions and architectures using the GCC target
+ pragma and attribute has been added. It can be used by specifying #pragma
+ GCC target ("arch=..."), #pragma GCC target ("+extension"), __attribute__
+ ((target("arch=..."))) or __attribute__((target("+extension"))).
+ * New Armv8.4-A FP16 Floating Point Multiplication Variant instructions
+ have been added. These instructions are mandatory in Armv8.4-A but
+ available as an optional extension to Armv8.2-A and Armv8.3-A. The new
+ extension can be used by specifying the +fp16fml architectural extension
+ on Armv8.2-A and Armv8.3-A. On Armv8.4-A the instructions can be enabled
+ by specifying +fp16.
+ * Support has been added for the following processors (GCC identifiers in
+ parentheses):
+ o Arm Cortex-A75 (cortex-a75).
+ o Arm Cortex-A55 (cortex-a55).
+ o Arm Cortex-A55/Cortex-A75 DynamIQ big.LITTLE (cortex-a75.cortex-
+ a55).
+ o Arm Cortex-R52 for Armv8-R (cortex-r52).
+ The GCC identifiers can be used as arguments to the -mcpu or -mtune
+ options, for example: -mcpu=cortex-a75 or -mtune=cortex-r52 or as
+ arguments to the equivalent target attributes and pragmas.
+
+AVR
+
+ * The AVR port now supports the following XMEGA-like devices:
+ ATtiny212, ATtiny214, ATtiny412, ATtiny414, ATtiny416,
+ ATtiny417, ATtiny814, ATtiny816, ATtiny817, ATtiny1614,
+ ATtiny1616, ATtiny1617, ATtiny3214, ATtiny3216, ATtiny3217
+ The new devices are listed under -mmcu=avrxmega3.
+ o These devices see flash memory in the RAM address space, so that
+ features like PROGMEM and __flash are not needed any more (as
+ opposed to other AVR families for which read-only data will be
+ located in RAM except special, non-standard features are used to
+ locate and access such data). This requires that the compiler is
+ used with Binutils 2.29 or newer so that read-only_data_will_be
+ located_in_flash_memory.
+ o A new command-line option -mshort-calls is supported. This option
+ is used internally for multilib selection of the avrxmega3
+ variants. It is not an optimization option. Do not set it by hand.
+ * The compiler now generates efficient_interrupt_service_routine_(ISR)
+ prologues_and_epilogues. This is achieved by using the new AVR_pseudo
+ instruction __gcc_isr which is supported and resolved by the GNU
+ assembler.
+ o As the __gcc_isr pseudo-instruction will be resolved by the
+ assembler, inline assembly is transparent to the process. This
+ means that when inline assembly uses an instruction like INC that
+ clobbers the condition code, then the assembler will detect this
+ and generate an appropriate ISR prologue / epilogue chunk to save /
+ restore SREG as needed.
+ o A new command-line option -mno-gas-isr-prologues disables the
+ generation of the __gcc_isr pseudo instruction. Any non-naked ISR
+ will save and restore SREG, tmp_reg and zero_reg, no matter whether
+ the respective register is clobbered or used.
+ o The feature is turned on per default for all optimization levels
+ except for -O0 and -Og. It is explicitly enabled by means of option
+ -mgas-isr-prologues.
+ o Support has been added for a new AVR_function_attribute no_gccisr.
+ It can be used to disable __gcc_isr pseudo instruction generation
+ for individual ISRs.
+ o This optimization is only available if GCC is configured with GNU
+ Binutils 2.29 or newer; or at least with a version of Binutils that
+ implements feature PR21683.
+ * The compiler no more saves / restores registers in main; the effect is
+ the same as if attribute OS_task was specified for main. This
+ optimization can be switched off by the new command-line option -mno-
+ main-is-OS_task.
+
+IA-32/x86-64
+
+ * The x86 port now supports the naked function attribute.
+ * Better tuning for znver1 and Intel Core based CPUs.
+ * Vectorization cost metrics has been reworked leading to significant
+ improvements on some benchmarks.
+ * GCC now supports the Intel CPU named Cannonlake through -
+ march=cannonlake. The switch enables the AVX512VBMI, AVX512IFMA and SHA
+ ISA extensions.
+ * GCC now supports the Intel CPU named and Icelake through -march=icelake.
+ The switch enables the AVX512VNNI, GFNI, VAES, AVX512VBMI2, VPCLMULQDQ,
+ AVX512BITALG, RDPID and AVX512VPOPCNTDQ ISA extensions.
+ * GCC now supports the Intel Control-flow Enforcement Technology (CET)
+ extension through -mibt, -mshstk, -mcet options. One of these options has
+ to accompany the -fcf-protection option to enable code instrumentation
+ for control-flow protection.
+
+NDS32
+
+ * New command-line options -mext-perf, -mext-perf2, and -mext-string have
+ been added for performance extension instructions.
+
+Nios II
+
+ * The Nios II back end has been improved to generate better-optimized code.
+ Changes include switching to LRA, more accurate cost models, and more
+ compact code for addressing static variables.
+ * New command-line options -mgprel-sec= and -mr0rel-sec= have been added.
+ * The stack-smashing protection options are now enabled on Nios II.
+
+PA-RISC
+
+ * The default call ABI on 32-bit linux has been changed from callee copies
+ to caller copies. This affects objects larger than eight bytes passed by
+ value. The goal is to improve compatibility with x86 and resolve issues
+ with OpenMP.
+ * Other PA-RISC targets are unchanged.
+
+PowerPC / PowerPC64 / RS6000
+
+ * The PowerPC SPE support is split off to a separate powerpcspe port. The
+ separate port is deprecated and might be removed in a future release.
+ * The Paired Single support (as used on some PPC750 CPUs, -mpaired,
+ powerpc*-*-linux*paired*) is deprecated and will be removed in a future
+ release.
+ * The Xilinx floating point support (-mxilinx-fpu, powerpc-xilinx-eabi*) is
+ deprecated and will be removed in a future release.
+ * Support for using big-endian AltiVec intrinsics on a little-endian target
+ (-maltivec=be) is deprecated and will be removed in a future release.
+
+Tile
+
+ * The TILE-Gx port is deprecated and will be removed in a future release.
+
+Operating Systems
+
+Windows
+
+ * GCC on Microsoft Windows can now be configured via --enable-mingw-
+ wildcard or --disable-mingw-wildcard to force a specific behavior for GCC
+ itself with regards to supporting the wildcard character. Prior versions
+ of GCC would follow the configuration of the MinGW runtime. This behavior
+ can still be obtained by not using the above options or by using --
+ enable-mingw-wildcard=platform.
+
+Improvements for plugin authors
+
+ * Plugins can now register a callback hook for when comments are
+ encountered by the C and C++ compilers, e.g. allowing for plugins to
+ handle documentation markup in code comments.
+ * The gdbinit support script for debugging GCC now has a break-on-
+ diagnostic command, providing an easy way to trigger a breakpoint
+ whenever a diagnostic is emitted.
+ * The API for creating fix-it hints now supports newlines, and for emitting
+ mutually incompatible fix-it hints for one diagnostic.
+
+Other significant improvements
+
+ For questions related to the use of GCC, please consult these web
+ pages and the GCC_manuals. If that fails, the gcc-help@gcc.gnu.org
+ mailing list might help. Comments on these web pages and the
+ development of GCC are welcome on our developer list at
+ gcc@gcc.gnu.org. All of our_lists have public archives.
+
+Copyright (C) Free_Software_Foundation,_Inc. Verbatim copying and distribution
+of this entire article is permitted in any medium, provided this notice is
+preserved.
+These pages are maintained_by_the_GCC_team. Last modified 2018-04-27.
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+ <!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+
+ <head>
+
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <link rev="made" href="mailto:gcc@gcc.gnu.org" />
+ <link rel="stylesheet" type="text/css" href="gcc.css" />
+
+ <title>
+GCC 8 Release Series — Changes, New Features, and Fixes
+- GNU Project - Free Software Foundation (FSF)</title>
+ </head>
+
+
+<!-- GCC maintainers, please do not hesitate to update/contribute entries
+ concerning those part of GCC you maintain! 2002-03-23, Gerald.
+-->
+
+<body>
+
+
+
+<h1>GCC 8 Release Series<br/>Changes, New Features, and Fixes</h1>
+
+<p>
+This page is a "brief" summary of some of the huge number of improvements
+in GCC 8.
+You may also want to check out our
+<a href="porting_to.html">Porting to GCC 8</a> page and the
+<a href="../onlinedocs/index.html#current">full GCC documentation</a>.
+</p>
+
+<h2>Caveats</h2>
+<ul>
+ <li>Support for the obsolete SDB/coff debug info format has been
+ <strong>removed</strong>. The option <code>-gcoff</code> no longer
+ does anything.</li>
+ <li>The Cilk+ extensions to the C and C++ languages have been removed.</li>
+ <li>
+ The MPX extensions to the C and C++ languages have been deprecated and
+ will be removed in a future release.
+ </li>
+ <li>
+ The extension allowing arithmetic on <code>std::atomic<void*></code>
+ and types like <code>std::atomic<R(*)()></code>
+ has been deprecated.</li>
+ <li>
+ The non-standard C++0x <code>std::copy_exception</code> function was
+ removed. <code>std::make_exception_ptr</code> should be used instead.
+ </li>
+ <li><p>Support for the <code>powerpc*-*-*spe*</code> target ports which have
+ been recently unmaintained and untested in GCC has been declared
+ obsolete in GCC 8 as announced
+ <a href="https://gcc.gnu.org/ml/gcc/2018-04/msg00102.html">here</a>.
+ Unless there is activity to revive them, the
+ next release of GCC will have their sources permanently
+ <strong>removed</strong>.</p>
+ </li>
+</ul>
+
+
+<!-- .................................................................. -->
+<h2 id="general">General Improvements</h2>
+<ul>
+ <li>Inter-procedural optimization improvements:
+ <ul>
+ <li>Reworked run-time estimation metrics leading to more realistic guesses
+ driving inliner and cloning heuristics.</li>
+ <li>The ipa-pure-const pass is extended to propagate the
+ <code>malloc</code> attribute, and the corresponding warning option
+ <code>-Wsuggest-attribute=malloc</code> emits a diagnostic for
+ functions which can be annotated with the <code>malloc</code>
+ attribute.</li>
+ </ul></li>
+ <li>Profile driven optimization improvements:
+ <ul>
+ <li>New infrastructure for representing profiles (both statically guessed
+ and profile feedback) which allows propagation of additional information
+ about the reliability of the profile.</li>
+ <li>A number of improvements in the profile updating code solving problems
+ found by new verification code.</li>
+ <li>Static detection of code which is not executed in a valid run of the
+ program. This includes paths which trigger undefined behavior
+ as well as calls to functions declared with the <code>cold</code> attribute.
+ Newly the <code>noreturn</code> attribute does not imply all effects of
+ <code>cold</code> to differentiate between <code>exit</code> (which
+ is <code>noreturn</code>) and <code>abort</code> (which is in addition
+ not executed in valid runs).</li>
+ <li><code>-freorder-blocks-and-partition</code>, a pass splitting function
+ bodies into hot and cold regions, is now enabled by default at <code>-O2</code>
+ and higher for x86 and x86-64.</li>
+ </ul></li>
+ <li>Link-time optimization improvements:
+ <ul>
+ <li>We have significantly improved debug information on ELF targets
+ using DWARF by properly preserving language-specific information.
+ This allows for example the libstdc++ pretty-printers to work with
+ LTO optimized executables.</li>
+ </ul></li>
+ <li>
+ A new option <code>-fcf-protection=[full|branch|return|none]</code> is
+ introduced to perform code instrumentation to increase program security by
+ checking that target addresses of control-flow transfer instructions (such as
+ indirect function call, function return, indirect jump) are valid. Currently
+ the instrumentation is supported on x86 GNU/Linux targets only. See the user
+ guide for further information about the option syntax and section "New Targets
+ and Target Specific Improvements" for IA-32/x86-64 for more details.
+ </li>
+ <li>The <code>-gcolumn-info</code> option is now enabled by default.
+ It includes column information in addition to just filenames and
+ line numbers in DWARF debugging information.</li>
+ <li>
+ The polyhedral-based loop nest optimization pass
+ <code>-floop-nest-optimize</code> has been overhauled. It's still
+ considered experimental and may not result in any runtime improvements.
+ </li>
+ <li>
+ Two new classical loop nest optimization passes have been added.
+ <code>-floop-unroll-and-jam</code> performs outer loop unrolling
+ and fusing of the inner loop copies. <code>-floop-interchange</code>
+ exchanges loops in a loop nest to improve data locality. Both passes
+ are enabled by default at <code>-O3</code> and above.
+ </li>
+ <li>
+ The classic loop nest optimization pass <code>-ftree-loop-distribution</code>
+ has been improved and enabled by default at <code>-O3</code> and above.
+ It supports loop nest distribution in some restricted scenarios; it also
+ supports cancellable innermost loop distribution with loop versioning
+ under run-time alias checks.
+ </li>
+ <li>
+ The new option <code>-fstack-clash-protection</code> causes the
+ compiler to insert probes whenever stack space is allocated
+ statically or dynamically to reliably detect stack overflows and
+ thus mitigate the attack vector that relies on jumping over
+ a stack guard page as provided by the operating system.
+ </li>
+ <li>
+ A new pragma <code>GCC unroll</code> has been implemented in the C
+ family of languages, as well as Fortran and Ada, so as to make it
+ possible for the user to have a finer-grained control over the loop
+ unrolling optimization.
+ </li>
+ <li>
+ GCC has been enhanced to detect more instances of meaningless or
+ mutually exclusive attribute specifications and handle such conflicts
+ more consistently. Mutually exclusive attribute specifications are
+ ignored with a warning regardless of whether they appear on the same
+ declaration or on distinct declarations of the same entity. For
+ example, because the <code>noreturn</code> attribute on the second
+ declaration below is mutually exclusive with the <code>malloc</code>
+ attribute on the first, it is ignored and a warning is issued.
+ <pre>
+ void* __attribute__ ((malloc)) f (unsigned);
+ void* __attribute__ ((noreturn)) f (unsigned);
+
+ <span class="boldmagenta">warning: </span>ignoring attribute '<b>noreturn</b>' because it conflicts with attribute '<b>malloc</b>' [<span class="boldmagenta">-Wattributes</span>]</pre></li>
+ <li>
+ The <code>gcov</code> tool can distinguish functions that begin
+ on a same line in a source file. This can be a different template
+ instantiation or a class constructor:
+ <blockquote><pre>
+File 'ins.C'
+Lines executed:100.00% of 8
+Creating 'ins.C.gcov'
+
+ -: 0:Source:ins.C
+ -: 0:Graph:ins.gcno
+ -: 0:Data:ins.gcda
+ -: 0:Runs:1
+ -: 0:Programs:1
+ -: 1:template<class T>
+ -: 2:class Foo
+ -: 3:{
+ -: 4: public:
+ 2: 5: Foo(): b (1000) {}
+------------------
+Foo<char>::Foo():
+ 1: 5: Foo(): b (1000) {}
+------------------
+Foo<int>::Foo():
+ 1: 5: Foo(): b (1000) {}
+------------------
+ 2: 6: void inc () { b++; }
+------------------
+Foo<char>::inc():
+ 1: 6: void inc () { b++; }
+------------------
+Foo<int>::inc():
+ 1: 6: void inc () { b++; }
+------------------
+ -: 7:
+ -: 8: private:
+ -: 9: int b;
+ -: 10:};
+ -: 11:
+ 1: 12:int main(int argc, char **argv)
+ -: 13:{
+ 1: 14: Foo<int> a;
+ 1: 15: Foo<char> b;
+ -: 16:
+ 1: 17: a.inc ();
+ 1: 18: b.inc ();
+ 1: 19:}
+ </pre></blockquote>
+ </li>
+ <li>The <code>gcov</code> tool has more accurate numbers for execution of lines
+ in a source file.</li>
+ <li>The <code>gcov</code> tool can use TERM colors to provide more readable output.</li>
+ <li>AddressSanitizer gained a new pair of sanitization options,
+ <code>-fsanitize=pointer-compare</code> and <code>-fsanitize=pointer-subtract</code>, which
+ warn about subtraction (or comparison) of pointers that point to
+ a different memory object:
+ <blockquote><pre>
+int
+main ()
+{
+ /* Heap allocated memory. */
+ char *heap1 = (char *)__builtin_malloc (42);
+ char *heap2 = (char *)__builtin_malloc (42);
+ if (heap1 > heap2)
+ return 1;
+
+ return 0;
+}
+
+<span class="boldred">==17465==ERROR: AddressSanitizer: invalid-pointer-pair: 0x604000000010 0x604000000050</span>
+ #0 0x40070f in main /tmp/pointer-compare.c:7
+ #1 0x7ffff6a72a86 in __libc_start_main (/lib64/libc.so.6+0x21a86)
+ #2 0x400629 in _start (/tmp/a.out+0x400629)
+
+<span class="boldlime">0x604000000010 is located 0 bytes inside of 42-byte region [0x604000000010,0x60400000003a)</span>
+allocated by thread T0 here:
+ #0 0x7ffff6efb390 in __interceptor_malloc ../../../../libsanitizer/asan/asan_malloc_linux.cc:86
+ #1 0x4006ea in main /tmp/pointer-compare.c:5
+ #2 0x7ffff6a72a86 in __libc_start_main (/lib64/libc.so.6+0x21a86)
+
+<span class="boldlime">0x604000000050 is located 0 bytes inside of 42-byte region [0x604000000050,0x60400000007a)</span>
+allocated by thread T0 here:
+ #0 0x7ffff6efb390 in __interceptor_malloc ../../../../libsanitizer/asan/asan_malloc_linux.cc:86
+ #1 0x4006f8 in main /tmp/pointer-compare.c:6
+ #2 0x7ffff6a72a86 in __libc_start_main (/lib64/libc.so.6+0x21a86)
+
+SUMMARY: AddressSanitizer: invalid-pointer-pair /tmp/pointer-compare.c:7 in main
+ </pre></blockquote>
+ </li>
+ <li>
+ The store merging pass has been enhanced to handle bit-fields and not
+ just constant stores, but also data copying from adjacent memory
+ locations into other adjacent memory locations, including bitwise
+ logical operations on the data. The pass can also handle byte swapping
+ into memory locations.
+ </li>
+ <li>
+ The undefined behavior sanitizer gained two new options included in
+ <code>-fsanitize=undefined</code>: <code>-fsanitize=builtin</code> which
+ diagnoses at run time invalid arguments to <code>__builtin_clz</code> or
+ <code>__builtin_ctz</code> prefixed builtins, and
+ <code>-fsanitize=pointer-overflow</code> which performs cheap run time
+ tests for pointer wrapping.
+ </li>
+</ul>
+
+
+<!-- .................................................................. -->
+<h2 id="languages">New Languages and Language specific improvements</h2>
+
+<h3 id="ada">Ada</h3>
+<ul>
+ <li>For its internal exception handling used on the host for error
+ recovery in the front-end, the compiler now relies on the native
+ exception handling mechanism of the host platform, which should
+ be more efficient than the former mechanism.
+ </li>
+</ul>
+
+<h3 id="brig">BRIG (HSAIL)</h3>
+
+<p>In this release cycle, the focus for the BRIGFE was on stabilization and
+ performance improvements. Also a couple of completely new features were
+ added.</p>
+
+<ul>
+ <li>Improved support for function and module scope group
+ segment variables. PRM specs define function and module scope group
+ segment variables as an experimental feature. However, PRM test
+ suite uses them. Now group segment is handled by separate book
+ keeping of module scope and function (kernel) offsets. Each function
+ has a "frame" in the group segment offset to which is given as an
+ argument, similar to traditional call stack frame handling.</li>
+ <li>Reduce the number of type conversions due to
+ the untyped HSAIL registers. Instead of always representing the HSAIL's
+ untyped registers as unsigned int, the gccbrig now pre-analyzes
+ the BRIG code and builds the register variables as a type used
+ the most when storing or reading data to/from each register.
+ This reduces the number of total casts which cannot be always
+ optimized away.</li>
+ <li>Support for BRIG_KIND_NONE directives.</li>
+ <li>Made -O3 the default optimization level for BRIGFE.</li>
+ <li>Fixed illegal addresses generated from address expressions
+ which refer only to offset 0.</li>
+ <li>Fixed a bug with reg+offset addressing on 32b segments.
+ In 'large' mode, the offset is treated as 32bits unless it's
+ in global, read-only or kernarg address space.</li>
+ <li>Fixed a crash caused sometimes by calls with more
+ than 4 arguments.</li>
+ <li>Fixed a mis-execution issue with kernels that have
+ both unexpanded ID functions and calls to subfunctions.</li>
+ <li>Treat HSAIL barrier builtins as setjmp/longjump style
+ functions to avoid illegal optimizations.</li>
+ <li>Ensure per WI copies of private variables are aligned correctly.</li>
+ <li>libhsail-rt: Assume the host runtime allocates the work group
+ memory.</li>
+</ul>
+
+
+<h3 id="c-family">C family</h3>
+<ul>
+ <li>New command-line options have been added for the C and C++ compilers:
+ <ul>
+ <li><code><a href="https://gcc.gnu.org/onlinedocs/gcc-8.1.0/gcc/Warning-Options.html#index-Wmultistatement-macros">-Wmultistatement-macros</a></code>
+ warns about unsafe macros expanding to multiple statements used
+ as a body of a statement such as <code>if</code>, <code>else</code>,
+ <code>while</code>, <code>switch</code>, or <code>for</code>.</li>
+ <li><code><a href="https://gcc.gnu.org/onlinedocs/gcc-8.1.0/gcc/Warning-Options.html#index-Wstringop-truncation">-Wstringop-truncation</a></code>
+ warns for calls to bounded string manipulation functions such as
+ <code>strncat</code>, <code>strncpy</code>, and <code>stpncpy</code>
+ that might either truncate the copied string or leave the destination
+ unchanged. For example, the following call to <code>strncat</code>
+ is diagnosed because it appends just three of the four characters
+ from the source string.<pre>
+ void append (char *buf, size_t bufsize)
+ {
+ strncat (buf, ".txt", 3);
+ }
+ <span class="boldmagenta">warning: '</span><b>strncat</b>' output truncated copying 3 bytes from a string of length 4 [<span class="boldmagenta">-Wstringop-truncation</span>]</pre>
+ Similarly, in the following example, the call to <code>strncpy</code>
+ specifies the size of the destination buffer as the bound. If the
+ length of the source string is equal to or greater than this size
+ the result of the copy will not be NUL-terminated. Therefore,
+ the call is also diagnosed. To avoid the warning, specify
+ <code>sizeof buf - 1</code> as the bound and set the last element of
+ the buffer to NUL.<pre>
+ void copy (const char *s)
+ {
+ char buf[80];
+ strncpy (buf, s, sizeof buf);
+ …
+ }
+ <span class="boldmagenta">warning: '</span><b>strncpy</b>' specified bound 80 equals destination size [<span class="boldmagenta">-Wstringop-truncation</span>]</pre>
+ The <code>-Wstringop-truncation</code> option is included in
+ <code>-Wall</code>.<br/>
+ Note that due to GCC bug <a href="https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82944" title="missing -Wstringop-truncation on strncpy due to system header macro">82944</a>, defining <code>strncat</code>, <code>strncpy</code>,
+ or <code>stpncpy</code> as a macro in a system header as some
+ implementations do, suppresses the warning.</li>
+ <li><code><a href="https://gcc.gnu.org/onlinedocs/gcc-8.1.0/gcc/Warning-Options.html#index-Wif-not-aligned">-Wif-not-aligned</a></code> controls warnings issued in response
+ to invalid uses of objects declared with attribute
+ <code><a href="https://gcc.gnu.org/onlinedocs/gcc-8.1.0/gcc/Common-Variable-Attributes.html#index-warn_005fif_005fnot_005faligned-variable-attribute">warn_if_not_aligned</a></code>.<br/>
+ The <code>-Wif-not-aligned</code> option is included in
+ <code>-Wall</code>.</li>
+ <li><code><a href="https://gcc.gnu.org/onlinedocs/gcc-8.1.0/gcc/Warning-Options.html#index-Wmissing-attributes">-Wmissing-attributes</a></code> warns
+ when a declaration of a function is missing one or more attributes
+ that a related function is declared with and whose absence may
+ adversely affect the correctness or efficiency of generated code.
+ For example, in C++, the warning is issued when an explicit
+ specialization of a primary template declared with attribute
+ <code>alloc_align</code>, <code>alloc_size</code>,
+ <code>assume_aligned</code>, <code>format</code>,
+ <code>format_arg</code>, <code>malloc</code>, or <code>nonnull</code>
+ is declared without it. Attributes <code>deprecated</code>,
+ <code>error</code>, and <code>warning</code> suppress the warning.
+ <br/>
+ The <code>-Wmissing-attributes</code> option is included in
+ <code>-Wall</code>.</li>
+ <li><code><a href="https://gcc.gnu.org/onlinedocs/gcc-8.1.0/gcc/Warning-Options.html#index-Wpacked-not-aligned">-Wpacked-not-aligned</a></code> warns
+ when a <code>struct</code> or <code>union</code> declared with
+ attribute <code>packed</code> defines a member with an explicitly
+ specified alignment greater than 1. Such a member will wind up
+ under-aligned. For example, a warning will be issued for
+ the definition of <code>struct A</code> in the following:
+ <pre>
+ struct __attribute__ ((aligned (8)))
+ S8 { char a[8]; };
+
+ struct __attribute__ ((packed)) A
+ {
+ struct S8 s8;
+ };
+ <span class="boldmagenta">warning: </span>alignment 1 of '<b>struct S</b>' is less than 8 [<span class="boldmagenta">-Wpacked-not-aligned</span>]</pre>
+ The <code>-Wpacked-not-aligned</code> option is included in
+ <code>-Wall</code>.</li>
+ </ul>
+ <ul>
+ <li><code>-Wcast-function-type</code> warns when a function pointer
+ is cast to an incompatible function pointer. This warning is enabled
+ by <code>-Wextra</code>.</li>
+ </ul>
+ <ul>
+ <li><code>-Wsizeof-pointer-div</code> warns for suspicious divisions
+ of the size of a pointer by the size of the elements it points to,
+ which looks like the usual way to compute the array size but
+ won't work out correctly with pointers.
+ This warning is enabled by <code>-Wall</code>.</li>
+ </ul>
+ <ul>
+ <li><code>-Wcast-align=strict</code> warns whenever a pointer is cast
+ such that the required alignment of the target is increased. For
+ example, warn if a <code>char *</code> is cast to an <code>int *</code>
+ regardless of the target machine.</li>
+ </ul>
+ <ul>
+ <li><code>-fprofile-abs-path</code> creates absolute path names in the
+ <code>.gcno</code> files. This allows <code>gcov</code> to find the
+ correct sources in projects where compilations occur with different
+ working directories.</li>
+ </ul>
+ </li>
+ <li><code>-fno-strict-overflow</code> is now mapped to
+ <code>-fwrapv -fwrapv-pointer</code> and signed integer overflow
+ is now undefined by default at all optimization levels. Using
+ <code>-fsanitize=signed-integer-overflow</code> is now the preferred
+ way to audit code, <code>-Wstrict-overflow</code> is deprecated.</li>
+ <li>The <code><a href="https://gcc.gnu.org/onlinedocs/gcc-8.1.0/gcc/Warning-Options.html#index-Warray-bounds">-Warray-bounds</a></code> option has been
+ improved to detect more instances of out-of-bounds array indices and
+ pointer offsets. For example, negative or excessive indices into
+ flexible array members and string literals are detected.</li>
+ <li>The <code><a href="https://gcc.gnu.org/onlinedocs/gcc-8.1.0/gcc/Warning-Options.html#index-Wrestrict">-Wrestrict</a></code> option introduced in
+ GCC 7 has been enhanced to detect many more instances of overlapping
+ accesses to objects via <code>restrict</code>-qualified arguments to
+ standard memory and string manipulation functions such as
+ <code>memcpy</code> and <code>strcpy</code>. For example,
+ the <code>strcpy</code> call in the function below attempts to truncate
+ the string by replacing its initial characters with the last four.
+ However, because the function writes the terminating NUL into
+ <code>a[4]</code>, the copies overlap and the call is diagnosed.<pre>
+ void f (void)
+ {
+ char a[] = "abcd1234";
+ strcpy (a, a + 4);
+ …
+ }</pre>
+ The <code>-Wrestrict</code> option is included in <code>-Wall</code>.
+ </li>
+ <li>Several optimizer enhancements have enabled improvements to
+ the <code><a href="https://gcc.gnu.org/onlinedocs/gcc-8.1.0/gcc/Warning-Options.html#index-Wformat-overflow">-Wformat-overflow</a></code> and
+ <code><a href="https://gcc.gnu.org/onlinedocs/gcc-8.1.0/gcc/Warning-Options.html#index-Wformat-truncation">-Wformat-truncation</a></code> options.
+ The warnings detect more instances of buffer overflow and truncation
+ than in GCC 7 and are better at avoiding certain kinds of false
+ positives.</li>
+ <li>When reporting mismatching argument types at a function call, the
+ C and C++ compilers now underline both the argument and the pertinent
+ parameter in the declaration.
+<pre class="blackbg">
+$ gcc arg-type-mismatch.cc
+<span class="bold">arg-type-mismatch.cc:</span> In function '<span class="bold">int caller(int, int, float)</span>':
+<span class="bold">arg-type-mismatch.cc:5:24:</span> <span class="boldred">error: </span>invalid conversion from '<span class="bold">int</span>' to '<span class="bold">const char*</span>' [<span class="boldred">-fpermissive</span>]
+ return callee(first, <span class="boldred">second</span>, third);
+ <span class="boldred">^~~~~~</span>
+<span class="bold">arg-type-mismatch.cc:1:40:</span> <span class="boldcyan">note: </span> initializing argument 2 of '<span class="bold">int callee(int, const char*, float)</span>'
+ extern int callee(int one, <span class="boldcyan">const char *two</span>, float three);
+ <span class="boldcyan">~~~~~~~~~~~~^~~</span>
+</pre>
+
+ </li>
+ <li>When reporting on unrecognized identifiers, the C and C++ compilers
+ will now emit fix-it hints suggesting <code>#include</code> directives
+ for various headers in the C and C++ standard libraries.
+<pre class="blackbg">
+$ gcc incomplete.c
+<span class="bold">incomplete.c:</span> In function '<span class="bold">test</span>':
+<span class="bold">incomplete.c:3:10:</span> <span class="boldred">error: </span>'<span class="bold">NULL</span>' undeclared (first use in this function)
+ return <span class="boldred">NULL</span>;
+ <span class="boldred">^~~~</span>
+<span class="bold">incomplete.c:3:10:</span> <span class="boldcyan">note: </span>'<span class="bold">NULL</span>' is defined in header '<span class="bold"><stddef.h></span>'; did you forget to '<span class="bold">#include <stddef.h></span>'?
+<span class="bold">incomplete.c:1:1:</span>
++<span class="green">#include <stddef.h></span>
+ const char *test(void)
+<span class="bold">incomplete.c:3:10:</span>
+ return <span class="boldcyan">NULL</span>;
+ <span class="boldcyan">^~~~</span>
+<span class="bold">incomplete.c:3:10:</span> <span class="boldcyan">note: </span>each undeclared identifier is reported only once for each function it appears in
+</pre>
+
+<pre class="blackbg">
+$ gcc incomplete.cc
+<span class="bold">incomplete.cc:1:6:</span> <span class="boldred">error: </span>'<span class="bold">string</span>' in namespace '<span class="bold">std</span>' does not name a type
+ std::<span class="boldred">string</span> s("hello world");
+ <span class="boldred">^~~~~~</span>
+<span class="bold">incomplete.cc:1:1:</span> <span class="boldcyan">note: </span>'<span class="bold">std::string</span>' is defined in header '<span class="bold"><string></span>'; did you forget to '<span class="bold">#include <string></span>'?
++<span class="green">#include <string></span>
+ <span class="boldcyan">std</span>::string s("hello world");
+ <span class="boldcyan">^~~</span>
+</pre>
+
+ </li>
+ <li>The C and C++ compilers now use more intuitive locations when
+ reporting on missing semicolons, and offer fix-it hints:
+<pre class="blackbg">
+$ gcc t.c
+<span class="bold">t.c:</span> In function '<span class="bold">test</span>':
+<span class="bold">t.c:3:12:</span> <span class="boldred">error: </span>expected '<span class="bold">;</span>' before '<span class="bold">}</span>' token
+ return 42
+ <span class="boldred">^</span>
+ <span class="green">;</span>
+ <span class="green">}</span>
+ <span class="green">~</span>
+</pre>
+
+ </li>
+ <li>When reporting on missing '}' and ')' tokens, the C and C++
+ compilers will now highlight the corresponding '{' and '(' token,
+ issuing a 'note' if it's on a separate line:
+<pre class="blackbg">
+$ gcc unclosed.c
+<span class="bold">unclosed.c:</span> In function '<span class="bold">log_when_out_of_range</span>':
+<span class="bold">unclosed.c:12:50:</span> <span class="boldred">error: </span>expected '<span class="bold">)</span>' before '<span class="bold">{</span>' token
+ && (temperature < MIN || temperature > MAX)<span class="boldred"> </span><span class="green">{</span>
+ <span class="boldred">^</span><span class="green">~</span>
+ <span class="green">)</span>
+<span class="bold">unclosed.c:11:6:</span> <span class="boldcyan">note: </span>to match this '<span class="bold">(</span>'
+ if <span class="boldcyan">(</span>logging_enabled && check_range ()
+ <span class="boldcyan">^</span>
+</pre>
+ or highlighting it directly if it's on the same line:
+<pre class="blackbg">
+$ gcc unclosed-2.c
+<span class="bold">unclosed-2.c:</span> In function '<span class="bold">test</span>':
+<span class="bold">unclosed-2.c:8:45:</span> <span class="boldred">error: </span>expected '<span class="bold">)</span>' before '<span class="bold">{</span>' token
+ if <span class="blue">(</span>temperature < MIN || temperature > MAX<span class="boldred"> </span><span class="green">{</span>
+ <span class="blue">~</span> <span class="boldred">^</span><span class="green">~</span>
+ <span class="green">)</span>
+</pre>
+ They will also emit fix-it hints.
+ </li>
+</ul>
+
+<h3 id="cxx">C++</h3>
+<ul>
+ <li>The value of the C++11 <code>alignof</code> operator has been corrected
+ to match C <code>_Alignof</code> (minimum alignment) rather than
+ GNU <code>__alignof__</code> (preferred alignment); on ia32 targets this
+ means that <code>alignof(double)</code> is now 4 rather than 8. Code that
+ wants the preferred alignment should use <code>__alignof__</code> instead.
+ </li>
+ <li>New command-line options have been added for the C++ compiler to
+ control warnings:
+ <ul>
+ <li><code><a href="https://gcc.gnu.org/onlinedocs/gcc/C_002b_002b-Dialect-Options.html#index-Wclass-memaccess">-Wclass-memaccess</a></code> warns
+ when objects of non-trivial class types are manipulated in potentially
+ unsafe ways by raw memory functions such as <code>memcpy</code>, or
+ <code>realloc</code>. The warning helps detect calls that bypass
+ user-defined constructors or copy-assignment operators, corrupt
+ virtual table pointers, data members of <code>const</code>-qualified
+ types or references, or member pointers. The warning also detects
+ calls that would bypass access controls to data members. For example,
+ a call such as:
+ <pre>
+ memcpy (&std::cout, &std::cerr, sizeof std::cout);</pre>
+ results in
+ <pre>
+ <span class="boldmagenta">warning: </span>'<b>void* memcpy(void*, const void*, long unsigned int)</b>' writing to an object of type 'std::ostream' {aka 'class std::basic_ostream<char>'} with no trivial copy-assignment [<span class="boldmagenta">-Wclass-memaccess</span>]</pre>
+ The <code>-Wclass-memaccess</code> option is included in
+ <code>-Wall</code>.</li>
+ </ul>
+ </li>
+ <li>
+ The C++ front end has experimental support for some of the upcoming C++2a
+ draft features with the <code>-std=c++2a</code> or <code>-std=gnu++2a</code>
+ flags, including designated initializers, default member initializers for
+ bit-fields, <code>__VA_OPT__</code> (except that
+ <code>#__VA_OPT__</code> is unsupported), lambda <code>[=, this]</code>
+ captures, etc.
+ For a full list of new features,
+ see <a href="../projects/cxx-status.html#cxx2a">the C++
+ status page</a>.
+ </li>
+ <li>When reporting on attempts to access private fields of a class or
+ struct, the C++ compiler will now offer fix-it hints showing how to
+ use an accessor function to get at the field in question, if one exists.
+<pre class="blackbg">
+$ gcc accessor.cc
+<span class="bold">accessor.cc:</span> In function '<span class="bold">void test(foo*)</span>':
+<span class="bold">accessor.cc:12:12:</span> <span class="boldred">error: </span>'<span class="bold">double foo::m_ratio</span>' is private within this context
+ if (ptr-><span class="boldred">m_ratio</span> >= 0.5)
+ <span class="boldred">^~~~~~~</span>
+<span class="bold">accessor.cc:7:10:</span> <span class="boldcyan">note: </span>declared private here
+ double <span class="boldcyan">m_ratio</span>;
+ <span class="boldcyan">^~~~~~~</span>
+<span class="bold">accessor.cc:12:12:</span> <span class="boldcyan">note: </span>field '<span class="bold">double foo::m_ratio</span>' can be accessed via '<span class="bold">double foo::get_ratio() const</span>'
+ if (ptr-><span class="boldcyan">m_ratio</span> >= 0.5)
+ <span class="boldcyan">^~~~~~~</span>
+ <span class="green">get_ratio()</span>
+</pre>
+
+ </li>
+ <li>The C++ compiler can now give you a hint if you use a macro before it
+ was defined (e.g. if you mess up the order of your <code>#include</code>
+ directives):
+<pre class="blackbg">
+$ gcc ordering.cc
+<span class="bold">ordering.cc:2:24:</span> <span class="boldred">error: </span>expected '<span class="bold">;</span>' at end of member declaration
+ virtual void clone() <span class="boldred">const</span> OVERRIDE { }
+ <span class="boldred">^~~~~</span>
+ <span class="green">;</span>
+<span class="bold">ordering.cc:2:30:</span> <span class="boldred">error: </span>'<span class="bold">OVERRIDE</span>' does not name a type
+ virtual void clone() const <span class="boldred">OVERRIDE</span> { }
+ <span class="boldred">^~~~~~~~</span>
+<span class="bold">ordering.cc:2:30:</span> <span class="boldcyan">note: </span>the macro '<span class="bold">OVERRIDE</span>' had not yet been defined
+In file included from <span class="bold">ordering.cc:5</span>:
+<span class="bold">c++11-compat.h:2:</span> <span class="boldcyan">note: </span>it was later defined here
+ #define OVERRIDE override
+
+</pre>
+
+ </li>
+ <li>The <code>-Wold-style-cast</code> diagnostic can now emit fix-it hints
+ telling you when you can use a <code>static_cast</code>,
+ <code>const_cast</code>, or <code>reinterpret_cast</code>.
+<pre class="blackbg">
+$ gcc -c old-style-cast-fixits.cc -Wold-style-cast
+<span class="bold">old-style-cast-fixits.cc:</span> In function '<span class="bold">void test(void*)</span>':
+<span class="bold">old-style-cast-fixits.cc:5:19:</span> <span class="boldmagenta">warning: </span>use of old-style cast to '<span class="bold">struct foo*</span>' [<span class="boldmagenta">-Wold-style-cast</span>]
+ foo *f = (foo *)<span class="boldmagenta">ptr</span>;
+ <span class="boldmagenta">^~~</span>
+ <span class="red">----------</span>
+ <span class="green">static_cast<foo *> (ptr)</span>
+</pre>
+
+ </li>
+ <li>When reporting on problems within <code>extern "C"</code> linkage
+ specifications, the C++ compiler will now display the location of the
+ start of the <code>extern "C"</code>.
+<pre class="blackbg">
+$ gcc -c extern-c.cc
+<span class="bold">extern-c.cc:3:1:</span> <span class="boldred">error: </span>template with C linkage
+ <span class="boldred">template</span> <typename T> void test (void);
+ <span class="boldred">^~~~~~~~</span>
+In file included from <span class="bold">extern-c.cc:1</span>:
+<span class="bold">unclosed.h:1:1:</span> <span class="boldcyan">note: </span>'<span class="bold">extern "C"</span>' linkage started here
+ <span class="boldcyan">extern "C"</span> {
+ <span class="boldcyan">^~~~~~~~~~</span>
+<span class="bold">extern-c.cc:3:39:</span> <span class="boldred">error: </span>expected '<span class="bold">}</span>' at end of input
+ template <typename T> void test (void)<span class="boldred">;</span>
+ <span class="boldred">^</span>
+In file included from <span class="bold">extern-c.cc:1</span>:
+<span class="bold">unclosed.h:1:12:</span> <span class="boldcyan">note: </span>to match this '<span class="bold">{</span>'
+ extern "C" <span class="boldcyan">{</span>
+ <span class="boldcyan">^</span>
+</pre>
+
+ </li>
+ <li>When reporting on mismatching template types, the C++ compiler will
+ now use color to highlight the mismatching parts of the template, and will
+ elide the parameters that are common between two mismatching templates,
+ printing <code>[...]</code> instead:
+<pre class="blackbg">
+$ gcc templates.cc
+<span class="bold">templates.cc:</span> In function '<span class="bold">void test()</span>':
+<span class="bold">templates.cc:9:8:</span> <span class="boldred">error: </span>could not convert '<span class="bold">vector<double>()</span>' from '<span class="bold">vector<<span class="boldgreen">double</span>></span>' to '<span class="bold">vector<<span class="boldgreen">int</span>></span>'
+ fn_1(<span class="boldred">vector<double> ()</span>);
+ <span class="boldred">^~~~~~~~~~~~~~~~~</span>
+<span class="bold">templates.cc:10:8:</span> <span class="boldred">error: </span>could not convert '<span class="bold">map<int, double>()</span>' from '<span class="bold">map<[...],<span class="boldgreen">double</span>></span>' to '<span class="bold">map<[...],<span class="boldgreen">int</span>></span>'
+ fn_2(<span class="boldred">map<int, double>()</span>);
+ <span class="boldred">^~~~~~~~~~~~~~~~~~</span>
+</pre>
+
+ Those <code>[...]</code> elided parameters can be seen using
+ <code>-fno-elide-type</code>:
+<pre class="blackbg">
+$ gcc templates.cc -fno-elide-type
+<span class="bold">templates.cc:</span> In function '<span class="bold">void test()</span>':
+<span class="bold">templates.cc:9:8:</span> <span class="boldred">error: </span>could not convert '<span class="bold">vector<double>()</span>' from '<span class="bold">vector<<span class="boldgreen">double</span>></span>' to '<span class="bold">vector<<span class="boldgreen">int</span>></span>'
+ fn_1(<span class="boldred">vector<double> ()</span>);
+ <span class="boldred">^~~~~~~~~~~~~~~~~</span>
+<span class="bold">templates.cc:10:8:</span> <span class="boldred">error: </span>could not convert '<span class="bold">map<int, double>()</span>' from '<span class="bold">map<int,<span class="boldgreen">double</span>></span>' to '<span class="bold">map<int,<span class="boldgreen">int</span>></span>'
+ fn_2(<span class="boldred">map<int, double>()</span>);
+ <span class="boldred">^~~~~~~~~~~~~~~~~~</span>
+</pre>
+
+ The C++ compiler has also gained an option
+ <code>-fdiagnostics-show-template-tree</code> which visualizes such
+ mismatching templates in a hierarchical form:
+<pre class="blackbg">
+$ gcc templates-2.cc -fdiagnostics-show-template-tree
+<span class="bold">templates-2.cc:</span> In function '<span class="bold">void test()</span>':
+<span class="bold">templates-2.cc:9:8:</span> <span class="boldred">error: </span>could not convert '<span class="bold">vector<double>()</span>' from '<span class="bold">vector<<span class="boldgreen">double</span>></span>' to '<span class="bold">vector<<span class="boldgreen">int</span>></span>'
+ vector<
+ [<span class="boldgreen">double</span> != <span class="boldgreen">int</span>]>
+ fn_1(<span class="boldred">vector<double> ()</span>);
+ <span class="boldred">^~~~~~~~~~~~~~~~~</span>
+<span class="bold">templates-2.cc:10:8:</span> <span class="boldred">error: </span>could not convert '<span class="bold">map<map<int, vector<double> >, vector<double> >()</span>' from '<span class="bold">map<map<[...],vector<<span class="boldgreen">double</span>>>,vector<<span class="boldgreen">double</span>>></span>' to '<span class="bold">map<map<[...],vector<<span class="boldgreen">float</span>>>,vector<<span class="boldgreen">float</span>>></span>'
+ map<
+ map<
+ [...],
+ vector<
+ [<span class="boldgreen">double</span> != <span class="boldgreen">float</span>]>>,
+ vector<
+ [<span class="boldgreen">double</span> != <span class="boldgreen">float</span>]>>
+ fn_2(<span class="boldred">map<map<int, vector<double>>, vector<double>> ()</span>);
+ <span class="boldred">^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~</span>
+</pre>
+
+ which again works with <code>-fno-elide-type</code>:
+<pre class="blackbg">
+$ gcc templates-2.cc -fdiagnostics-show-template-tree -fno-elide-type
+<span class="bold">templates-2.cc:</span> In function '<span class="bold">void test()</span>':
+<span class="bold">templates-2.cc:9:8:</span> <span class="boldred">error: </span>could not convert '<span class="bold">vector<double>()</span>' from '<span class="bold">vector<<span class="boldgreen">double</span>></span>' to '<span class="bold">vector<<span class="boldgreen">int</span>></span>'
+ vector<
+ [<span class="boldgreen">double</span> != <span class="boldgreen">int</span>]>
+ fn_1(<span class="boldred">vector<double> ()</span>);
+ <span class="boldred">^~~~~~~~~~~~~~~~~</span>
+<span class="bold">templates-2.cc:10:8:</span> <span class="boldred">error: </span>could not convert '<span class="bold">map<map<int, vector<double> >, vector<double> >()</span>' from '<span class="bold">map<map<int,vector<<span class="boldgreen">double</span>>>,vector<<span class="boldgreen">double</span>>></span>' to '<span class="bold">map<map<int,vector<<span class="boldgreen">float</span>>>,vector<<span class="boldgreen">float</span>>></span>'
+ map<
+ map<
+ int,
+ vector<
+ [<span class="boldgreen">double</span> != <span class="boldgreen">float</span>]>>,
+ vector<
+ [<span class="boldgreen">double</span> != <span class="boldgreen">float</span>]>>
+ fn_2(<span class="boldred">map<map<int, vector<double>>, vector<double>> ()</span>);
+ <span class="boldred">^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~</span>
+</pre>
+
+ </li>
+ <li>Flowing off the end of a non-void function
+ is considered unreachable and may be subject to optimization
+ on that basis. As a result of this change, <code>-Wreturn-type</code>
+ warnings are enabled by default for C++.</li>
+</ul>
+
+<h4 id="libstdcxx">Runtime Library (libstdc++)</h4>
+<ul>
+ <li>Improved experimental support for C++17, including the following features:
+ <ul>
+ <li>Deduction guides to support class template argument deduction.</li>
+ <li><code>std::filesystem</code> implementation.</li>
+ <li><code>std::char_traits<char></code> and
+ <code>std::char_traits<wchar_t></code> are usable in constant
+ expressions.</li>
+ <li><code>std::to_chars</code> and <code>std::from_chars</code> (for
+ integers only, not for floating point types).</li>
+ </ul>
+ </li>
+ <li>Experimental support for C++2a:
+ <code>std::to_address</code> (thanks to Glen Fernandes)
+ and <code>std::endian</code>.</li>
+ <li>On GNU/Linux, <code>std::random_device::entropy()</code> accesses the
+ kernel's entropy count for the random device, if known
+ (thanks to Xi Ruoyao).</li>
+ <li>Support for <code>std::experimental::source_location</code>.</li>
+ <li>AddressSanitizer integration for <code>std::vector</code>, detecting
+ out-of-range accesses to the unused capacity of a vector.
+ </li>
+ <li>Extensions <code>__gnu_cxx::airy_ai</code> and
+ <code>__gnu_cxx::airy_bi</code> added to the Mathematical Special
+ Functions.
+ </li>
+</ul>
+
+<h3 id="fortran">Fortran</h3>
+<ul>
+ <li>
+ The main version of libfortran has been changed to 5.
+ </li>
+ <li>
+ Parameterized derived types, a major feature of Fortran 2003, have been
+ implemented.
+ </li>
+ <li>
+ The maximum rank for arrays has been increased to 15, conforming to the
+ Fortran 2008 standard.
+ </li>
+ <li>
+ Transformational intrinsics are now fully supported in initialization
+ expressions.
+ </li>
+ <li>
+ New flag <code>-fc-prototypes</code> to write C prototypes for
+ <code>BIND(C)</code> procedures and variables.
+ </li>
+ <li>
+ If <code>-fmax-stack-var-size</code> is honored if given together with
+ <code>-Ofast</code>, <code>-fstack-arrays</code> is no longer set in that
+ case.
+ </li>
+ <li>
+ New options <code>-fdefault-real-16</code> and <code>-fdefault-real-10</code>
+ to control the default kind of <code>REAL</code> variables.
+ </li>
+ <li>
+ A warning is now issued if an array subscript inside a DO loop could lead
+ to an out-of-bounds-access. The new option <code>-Wdo-subscript</code>,
+ enabled by <code>-Wextra</code>, warns about this even if the compiler can
+ not prove that the code will be executed.
+ </li>
+ <li>
+ The Fortran front end now attempts to interchange loops if it is deemed
+ profitable. So far, this is restricted to <code>FORALL</code> and <code>DO
+ CONCURRENT</code> statements with multiple indices. This behavior be
+ controlled with the new flag <code>-ffrontend-loop-interchange</code>,
+ which is enabled with optimization by default.
+ The <code>-Wfrontend-loop-interchange</code> option warns about such
+ occurrences.
+ </li>
+ <li>
+ When an actual argument contains too few elements for a dummy argument,
+ an error is now issued. The <code>-std=legacy</code> option can be
+ used to still compile such code.
+ </li>
+ <li>
+ The <code>RECL=</code> argument to <code>OPEN</code>
+ and <code>INQUIRE</code> statements now allows 64-bit
+ integers, making records larger than 2GiB possible.
+ </li>
+ <li>
+ The <code>GFORTRAN_DEFAULT_RECL</code> environment variable no
+ longer has any effect. The record length for preconnected units is
+ now larger than any practical limit, same as for sequential access
+ units opened without an explicit <code>RECL=</code> specifier.
+ </li>
+ <li>
+ Character variables longer than <code>HUGE(0)</code> elements are
+ now possible on 64-bit targets. Note that this changes the
+ procedure call ABI for all procedures with character arguments on
+ 64-bit targets, as the type of the hidden character length
+ argument has changed. The hidden character length argument is now
+ of type <code>INTEGER(C_SIZE_T)</code>.
+ </li>
+</ul>
+
+<h3 id="go">Go</h3>
+<ul>
+ <li>GCC 8 provides a complete implementation of the Go 1.10.1
+ user packages.</li>
+
+ <li>The garbage collector is now fully concurrent. As before,
+ values stored on the stack are scanned conservatively, but value
+ stored in the heap are scanned precisely.</li>
+
+ <li>Escape analysis is fully implemented and enabled by default in
+ the Go frontend. This significantly reduces the number of heap
+ allocations by allocating values on the stack instead.</li>
+</ul>
+
+
+<!-- .................................................................. -->
+<h2 id="jit">libgccjit</h2>
+
+<p>The libgccjit API gained four new entry points:</p>
+<ul>
+ <li><a href="https://gcc.gnu.org/onlinedocs/jit/topics/types.html#gcc_jit_type_get_vector">gcc_jit_type_get_vector</a>
+ and
+ </li>
+ <li><a href="https://gcc.gnu.org/onlinedocs/jit/topics/expressions.html#gcc_jit_context_new_rvalue_from_vector">gcc_jit_context_new_rvalue_from_vector</a> for working with vectors,
+ </li>
+ <li><a href="https://gcc.gnu.org/onlinedocs/jit/topics/types.html#gcc_jit_type_get_aligned">gcc_jit_type_get_aligned</a></li>
+ <li><a href="https://gcc.gnu.org/onlinedocs/jit/topics/function-pointers.html#gcc_jit_function_get_address">gcc_jit_function_get_address</a></li>
+</ul>
+<p>The C code generated by
+<a href="https://gcc.gnu.org/onlinedocs/jit/topics/contexts.html#gcc_jit_context_dump_reproducer_to_file">gcc_jit_context_dump_reproducer_to_file</a>
+is now easier-to-read.</p>
+
+<!-- .................................................................. -->
+<h2 id="targets">New Targets and Target Specific Improvements</h2>
+
+<h3 id="aarch64">AArch64</h3>
+<ul>
+ <li>
+ The Armv8.4-A architecture is now supported. It can be used by
+ specifying the <code>-march=armv8.4-a</code> option.
+ </li>
+ <li>
+ The Dot Product instructions are now supported as an optional extension to the
+ Armv8.2-A architecture and newer and are mandatory on Armv8.4-A. The extension can be used by
+ specifying the <code>+dotprod</code> architecture extension. E.g. <code>-march=armv8.2-a+dotprod</code>.
+ </li>
+ <li>
+ The Armv8-A <code>+crypto</code> extension has now been split into two extensions for finer grained control:
+ <ul>
+ <li><code>+aes</code> which contains the Armv8-A AES crytographic instructions.</li>
+ <li><code>+sha2</code> which contains the Armv8-A SHA2 and SHA1 cryptographic instructions.</li>
+ </ul>
+ Using <code>+crypto</code> will now enable these two extensions.
+ </li>
+ <li>
+ New Armv8.4-A FP16 Floating Point Multiplication Variant instructions have been added. These instructions are
+ mandatory in Armv8.4-A but available as an optional extension to Armv8.2-A and Armv8.3-A. The new extension
+ can be used by specifying the <code>+fp16fml</code> architectural extension on Armv8.2-A and Armv8.3-A. On Armv8.4-A
+ the instructions can be enabled by specifying <code>+fp16</code>.
+ </li>
+ <li>
+ New cryptographic instructions have been added as optional extensions to Armv8.2-A and newer. These instructions can
+ be enabled with:
+ <ul>
+ <li><code>+sha3</code> New SHA3 and SHA2 instructions from Armv8.4-A. This implies <code>+sha2</code>.</li>
+ <li><code>+sm4</code> New SM3 and SM4 instructions from Armv8.4-A.</li>
+ </ul>
+ </li>
+ <li>
+ The Scalable Vector Extension (SVE) is now supported as an
+ optional extension to the Armv8.2-A architecture and newer.
+ This support includes automatic vectorization with SVE instructions,
+ but it does not yet include the SVE Arm C Language Extensions (ACLE).
+ It can be enabled by specifying the <code>+sve</code> architecture
+ extension (for example, <code>-march=armv8.2-a+sve</code>).
+ By default, the generated code works with all vector lengths,
+ but it can be made specific to <i>N</i>-bit vectors using
+ <code>-msve-vector-bits=<i>N</i></code>.
+ </li>
+ <li>
+ Support has been added for the following processors
+ (GCC identifiers in parentheses):
+ <ul>
+ <li>Arm Cortex-A75 (<code>cortex-a75</code>).</li>
+ <li>Arm Cortex-A55 (<code>cortex-a55</code>).</li>
+ <li>Arm Cortex-A55/Cortex-A75 DynamIQ big.LITTLE (<code>cortex-a75.cortex-a55</code>).</li>
+ </ul>
+ The GCC identifiers can be used
+ as arguments to the <code>-mcpu</code> or <code>-mtune</code> options,
+ for example: <code>-mcpu=cortex-a75</code> or
+ <code>-mtune=cortex-a75</code> or as arguments to the equivalent target
+ attributes and pragmas.
+ </li>
+</ul>
+
+<h3 id="arc">ARC</h3>
+<ul>
+ <li>
+ Added support for:
+ <ul>
+ <li>Fast interrupts.</li>
+ <li>Naked functions.</li>
+ <li><code>aux</code> variable attributes.</li>
+ <li><code>uncached</code> type qualifier.</li>
+ <li>Secure functions via <code>sjli</code> instruction.</li>
+ </ul>
+ </li>
+ <li>
+ New exception handling implementation.
+ </li>
+ <li>
+ Revamped trampoline implementation.
+ </li>
+ <li>
+ Refactored small data feature implementation, controlled
+ via <code>-G</code> command line option.
+ </li>
+ <li>
+ New support for reduced register set ARC architecture
+ configurations, controlled via <code>-mrf16</code> command line
+ option.
+ </li>
+ <li>
+ Refurbished and improved support for zero overhead loops.
+ Introduced <code>-mlpc-width</code> command line option to control the
+ width of <code>lp_count</code> register.
+ </li>
+</ul>
+
+<h3 id="arm">ARM</h3>
+<ul>
+ <li>
+ The <code>-mfpu</code> option now takes a new option setting of
+ <code>-mfpu=auto</code>. When set to this the floating-point and SIMD
+ settings are derived from the settings of the <code>-mcpu</code>
+ or <code>-march</code> options. The internal CPU configurations have been
+ updated with information about the permitted floating-point configurations
+ supported. See the user guide for further information about the extended
+ option syntax for controlling architectural extensions via the
+ <code>-march</code> option. <code>-mfpu=auto</code> is now the default
+ setting unless the compiler has been configured with an explicit
+ <code>--with-fpu</code> option.
+ </li>
+ <li>
+ The <code>-march</code> and <code>-mcpu</code> options now accept optional
+ extensions to the architecture or CPU option, allowing the user to enable
+ or disable any such extensions supported by that architecture or CPU
+ such as (but not limited to) floating-point and AdvancedSIMD.
+ For example: the option
+ <code>-mcpu=cortex-a53+nofp</code> will generate code for the Cortex-A53
+ processor with no floating-point support.
+ This, in combination with the new <code>-mfpu=auto</code> option,
+ provides a straightforward way of specifying a valid build target through
+ a single <code>-mcpu</code> or <code>-march</code> option.
+ The <code>-mtune</code> option accepts the same arguments as
+ <code>-mcpu</code> but only the CPU name has an effect on tuning.
+ The architecture extensions do not have any effect.
+ For details of what extensions a particular architecture or CPU option
+ supports please refer to the
+ <a href="https://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html#ARM-Options">documentation</a>.
+ </li>
+ <li>
+ The <code>-mstructure-size-boundary</code> option has been deprecated and will be
+ removed in a future release.
+ </li>
+ <li>
+ The default link behavior for Armv6 and Armv7-R targets has been
+ changed to produce BE8 format when generating big-endian images. A new
+ flag <code>-mbe32</code> can be used to force the linker to produce
+ legacy BE32 format images. There is no change of behavior for
+ Armv6-M and other Armv7 or later targets: these already defaulted
+ to BE8 format. This change brings GCC into alignment with other
+ compilers for the ARM architecture.
+ </li>
+ <li>
+ The Armv8-R architecture is now supported. It can be used by specifying the
+ <code>-march=armv8-r</code> option.
+ </li>
+ <li>
+ The Armv8.3-A architecture is now supported. It can be used by
+ specifying the <code>-march=armv8.3-a</code> option.
+ </li>
+ <li>
+ The Armv8.4-A architecture is now supported. It can be used by
+ specifying the <code>-march=armv8.4-a</code> option.
+ </li>
+ <li>
+ The Dot Product instructions are now supported as an optional extension to the
+ Armv8.2-A architecture and newer and are mandatory on Armv8.4-A. The extension can be used by
+ specifying the <code>+dotprod</code> architecture extension. E.g. <code>-march=armv8.2-a+dotprod</code>.
+ </li>
+
+ <li>
+ Support for setting extensions and architectures using the GCC target pragma and attribute has been added.
+ It can be used by specifying <code>#pragma GCC target ("arch=...")</code>, <code>#pragma GCC target ("+extension")</code>,
+ <code>__attribute__((target("arch=...")))</code> or <code>__attribute__((target("+extension")))</code>.
+ </li>
+ <li>
+ New Armv8.4-A FP16 Floating Point Multiplication Variant instructions have been added. These instructions are
+ mandatory in Armv8.4-A but available as an optional extension to Armv8.2-A and Armv8.3-A. The new extension
+ can be used by specifying the <code>+fp16fml</code> architectural extension on Armv8.2-A and Armv8.3-A. On Armv8.4-A
+ the instructions can be enabled by specifying <code>+fp16</code>.
+ </li>
+ <li>
+ Support has been added for the following processors
+ (GCC identifiers in parentheses):
+ <ul>
+ <li>Arm Cortex-A75 (<code>cortex-a75</code>).</li>
+ <li>Arm Cortex-A55 (<code>cortex-a55</code>).</li>
+ <li>Arm Cortex-A55/Cortex-A75 DynamIQ big.LITTLE (<code>cortex-a75.cortex-a55</code>).</li>
+ <li>Arm Cortex-R52 for Armv8-R (<code>cortex-r52</code>).</li>
+ </ul>
+ The GCC identifiers can be used
+ as arguments to the <code>-mcpu</code> or <code>-mtune</code> options,
+ for example: <code>-mcpu=cortex-a75</code> or
+ <code>-mtune=cortex-r52</code> or as arguments to the equivalent target
+ attributes and pragmas.
+ </li>
+</ul>
+
+<h3 id="avr">AVR</h3>
+<ul>
+ <li>
+ The AVR port now supports the following XMEGA-like devices:
+ <blockquote>
+ ATtiny212, ATtiny214, ATtiny412, ATtiny414, ATtiny416, ATtiny417,
+ ATtiny814, ATtiny816, ATtiny817, ATtiny1614, ATtiny1616, ATtiny1617,
+ ATtiny3214, ATtiny3216, ATtiny3217
+ </blockquote>
+ The new devices are listed under
+ <a href="https://gcc.gnu.org/onlinedocs/gcc/AVR-Options.html"><code>-mmcu=avrxmega3</code></a>.
+ <ul>
+ <li>These devices see flash memory in the RAM address space, so that
+ features like <code>PROGMEM</code> and <code>__flash</code>
+ are not needed any more (as opposed to other AVR families for which
+ read-only data will be located in RAM except special, non-standard
+ features are used to locate and access such data). This requires
+ that the compiler is used with Binutils 2.29 or newer so that
+ <a href="https://sourceware.org/PR21472">read-only data will be
+ located in flash memory</a>.</li>
+ <li>A new command-line option <code>-mshort-calls</code> is supported.
+ This option is used internally for multilib selection of the
+ <code>avrxmega3</code> variants. It is
+ <em>not an optimization option</em>. Do not set it by hand.</li>
+ </ul>
+ </li>
+ <li>
+ The compiler now generates
+ <a href="https://gcc.gnu.org/PR20296"> efficient interrupt service routine
+ (ISR) prologues and epilogues</a>. This is achieved by using the new
+ <a href="https://sourceware.org/binutils/docs-2.29/as/AVR-Pseudo-Instructions.html">
+ AVR pseudo instruction</a> <code>__gcc_isr</code> which is supported
+ and resolved by the GNU assembler.
+ <ul>
+ <li>As the <code>__gcc_isr</code> pseudo-instruction will be resolved by
+ the assembler, inline assembly is transparent to the process.
+ This means that when inline assembly uses an instruction like
+ <code>INC</code> that clobbers the condition code,
+ then the assembler will detect this and generate an appropriate
+ ISR prologue / epilogue chunk to save / restore SREG as needed.</li>
+ <li>A new command-line option <code>-mno-gas-isr-prologues</code>
+ disables the generation of the <code>__gcc_isr</code> pseudo
+ instruction. Any non-naked ISR will save and restore <code>SREG</code>,
+ <code>tmp_reg</code> and <code>zero_reg</code>, no matter
+ whether the respective register is clobbered or used.</li>
+ <li>The feature is turned on per default for all optimization levels
+ except for <code>-O0</code> and <code>-Og</code>. It is explicitly
+ enabled by means of option <code>-mgas-isr-prologues</code>.</li>
+ <li>Support has been added for a new
+ <a href="https://gcc.gnu.org/onlinedocs/gcc/AVR-Function-Attributes.html">
+ AVR function attribute</a> <code>no_gccisr</code>. It can be used
+ to disable <code>__gcc_isr</code> pseudo instruction generation
+ for individual ISRs.</li>
+ <li>This optimization is only available if GCC is configured with GNU
+ Binutils 2.29 or newer; or at least with a version of Binutils
+ that implements feature
+ <a href="https://sourceware.org/PR21683">PR21683</a>.</li>
+ </ul>
+ </li>
+ <li>
+ The compiler no more saves / restores registers in <code>main</code>;
+ the effect is the same as if attribute <code>OS_task</code> was
+ specified for <code>main</code>. This optimization can be switched
+ off by the new command-line option <code>-mno-main-is-OS_task</code>.
+ </li>
+</ul>
+
+<!-- <h3 id="hsa">Heterogeneous Systems Architecture</h3> -->
+
+<h3 id="x86">IA-32/x86-64</h3>
+<ul>
+ <li>
+ The x86 port now supports the <code>naked</code> function attribute.</li>
+ <li>
+ Better tuning for <code>znver1</code> and Intel Core based CPUs.</li>
+ <li>
+ Vectorization cost metrics has been reworked leading to significant improvements
+ on some benchmarks.</li>
+ <li>GCC now supports the Intel CPU named Cannonlake through
+ <code>-march=cannonlake</code>. The switch enables the AVX512VBMI,
+ AVX512IFMA and SHA ISA extensions.</li>
+ <li>GCC now supports the Intel CPU named and Icelake through
+ <code>-march=icelake</code>. The switch enables the AVX512VNNI, GFNI, VAES,
+ AVX512VBMI2, VPCLMULQDQ, AVX512BITALG, RDPID and AVX512VPOPCNTDQ ISA
+ extensions.</li>
+ <li>
+ GCC now supports the Intel Control-flow Enforcement Technology
+ (CET) extension through <code>-mibt</code>, <code>-mshstk</code>,
+ <code>-mcet</code> options. One of these options has to accompany the
+ <code>-fcf-protection</code> option to enable code instrumentation for
+ control-flow protection.
+ </li>
+</ul>
+
+<!-- <h3 id="mips">MIPS</h3> -->
+
+<!-- <h3 id="mep">MeP</h3> -->
+
+<!-- <h3 id="msp430">MSP430</h3> -->
+
+<!-- <h3 id="nds32">NDS32</h3> -->
+<h3 id="nds32">NDS32</h3>
+<ul>
+ <li>
+ New command-line options <code>-mext-perf</code>, <code>-mext-perf2</code>, and
+ <code>-mext-string</code> have been added for performance extension instructions.
+ </li>
+</ul>
+
+<h3 id="nios2">Nios II</h3>
+<ul>
+ <li>
+ The Nios II back end has been improved to generate better-optimized
+ code. Changes include switching to LRA, more accurate cost models,
+ and more compact code for addressing static variables.
+ </li>
+ <li>
+ New command-line options <code>-mgprel-sec=</code> and
+ <code>-mr0rel-sec=</code> have been added.
+ </li>
+ <li>
+ The stack-smashing protection options are now enabled on Nios II.
+ </li>
+</ul>
+
+<!-- <h3 id="nvptx">NVPTX</h3> -->
+
+<h3 id="hppa">PA-RISC</h3>
+<ul>
+ <li>
+ The default call ABI on 32-bit linux has been changed from callee
+ copies to caller copies. This affects objects larger than eight
+ bytes passed by value. The goal is to improve compatibility with
+ x86 and resolve issues with OpenMP.
+ </li>
+ <li>
+ Other PA-RISC targets are unchanged.
+ </li>
+</ul>
+
+<h3 id="powerpc">PowerPC / PowerPC64 / RS6000</h3>
+<ul>
+ <li>
+ The PowerPC SPE support is split off to a separate <code>powerpcspe</code>
+ port. The separate port is deprecated and might be removed in a future
+ release.
+ </li>
+ <li>
+ The Paired Single support (as used on some PPC750 CPUs,
+ <code>-mpaired</code>, <code>powerpc*-*-linux*paired*</code>)
+ is deprecated and will be removed in a future release.
+ </li>
+ <li>
+ The Xilinx floating point support (<code>-mxilinx-fpu</code>,
+ <code>powerpc-xilinx-eabi*</code>)
+ is deprecated and will be removed in a future release.
+ </li>
+ <li>
+ Support for using big-endian AltiVec intrinsics on a little-endian target
+ (<code>-maltivec=be</code>) is deprecated and will be removed in a
+ future release.
+ </li>
+</ul>
+
+<!-- <h3 id="s390">S/390, System z, IBM z Systems</h3> -->
+
+<!-- <h3 id="riscv">RISC-V</h3> -->
+
+<!-- <h3 id="rx">RX</h3> -->
+
+<!-- <h3 id="sh">SH</h3> -->
+
+<!-- <h3 id="sparc">SPARC</h3> -->
+
+<h3 id="Tile">Tile</h3>
+<ul>
+ <li>
+ The TILE-Gx port is deprecated and will be removed in a future release.
+ </li>
+</ul>
+
+<!-- .................................................................. -->
+<h2 id="os">Operating Systems</h2>
+
+<!-- <h3 id="aix">AIX</h3> -->
+
+<!-- <h3 id="fuchsia">Fuchsia</h3> -->
+
+<!-- <h3 id="dragonfly">DragonFly BSD</h3> -->
+
+<!-- <h3 id="freebsd">FreeBSD</h3> -->
+
+<!-- <h3 id="gnulinux">GNU/Linux</h3> -->
+
+<!-- <h3 id="rtems">RTEMS</h3> -->
+
+<!-- <h3 id="solaris">Solaris</h3> -->
+
+<!-- <h3 id="vxmils">VxWorks MILS</h3> -->
+
+<h3 id="windows">Windows</h3>
+ <ul>
+ <li>GCC on Microsoft Windows can now be configured via
+ <code>--enable-mingw-wildcard</code> or
+ <code>--disable-mingw-wildcard</code> to force a specific behavior for
+ GCC itself with regards to supporting the wildcard character. Prior
+ versions of GCC would follow the configuration of the MinGW runtime.
+ This behavior can still be obtained by not using the above options or by
+ using <code>--enable-mingw-wildcard=platform</code>.</li>
+ </ul>
+
+
+<!-- .................................................................. -->
+<!-- <h2>Documentation improvements</h2> -->
+
+
+<!-- .................................................................. -->
+<h2 id="plugins">Improvements for plugin authors</h2>
+<ul>
+ <li>Plugins can now register a callback hook for when comments are
+ encountered by the C and C++ compilers, e.g. allowing for plugins
+ to handle documentation markup in code comments.
+ </li>
+ <li>The gdbinit support script for debugging GCC now has a
+ <code>break-on-diagnostic</code> command, providing an easy way
+ to trigger a breakpoint whenever a diagnostic is emitted.
+ </li>
+ <li>The API for creating fix-it hints now supports newlines, and for
+ emitting mutually incompatible fix-it hints for one diagnostic.
+ </li>
+</ul>
+
+<!-- .................................................................. -->
+<h2>Other significant improvements</h2>
+<ul>
+ <li></li>
+</ul>
+
+
+<!-- .................................................................. -->
+<!-- <h2><a name="8.2">GCC 8.2</a></h2>
+
+<p>This is the <a href="https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=8.2">list
+of problem reports (PRs)</a> from GCC's bug tracking system that are
+known to be fixed in the 8.2 release. This list might not be
+complete (that is, it is possible that some PRs that have been fixed
+are not listed here).</p>
+-->
+
+
+
+
+<!-- ==================================================================== -->
+
+<div class="copyright">
+
+<address>For questions related to the use of GCC,
+please consult these web pages and the
+<a href="https://gcc.gnu.org/onlinedocs/">GCC manuals</a>. If that fails,
+the <a href="mailto:gcc-help@gcc.gnu.org">gcc-help@gcc.gnu.org</a>
+mailing list might help.
+Comments on these web pages and the development of GCC are welcome on our
+developer list at <a href="mailto:gcc@gcc.gnu.org">gcc@gcc.gnu.org</a>.
+All of <a href="https://gcc.gnu.org/lists.html">our lists</a>
+have public archives.
+</address>
+
+<p>Copyright (C)
+<a href="https://www.fsf.org">Free Software Foundation, Inc.</a>
+Verbatim copying and distribution of this entire article is
+permitted in any medium, provided this notice is preserved.</p>
+
+<p>These pages are
+<a href="https://gcc.gnu.org/about.html">maintained by the GCC team</a>.
+Last modified 2018-04-27<!-- IGNORE DIFF
+--><a href="http://validator.w3.org/check/referer">.</a></p>
+
+</div>
+
+<!-- ==================================================================== -->
+
+</body>
+ </html>
+
+
--- /dev/null
+Reporting Bugs in the GNU Compiler Collection for DIST
+========================================================
+
+Before reporting a bug, please
+------------------------------
+
+- Check that the behaviour really is a bug. Have a look into some
+ ANSI standards document.
+
+- Check the list of well known bugs: http://gcc.gnu.org/bugs.html#known
+
+- Try to reproduce the bug with a current GCC development snapshot. You
+ usually can get a recent development snapshot from the gcc-snapshot
+ifelse(DIST,`Debian',`dnl
+ package in the unstable (or experimental) distribution.
+
+ See: http://packages.debian.org/gcc-snapshot
+', DIST, `Ubuntu',`dnl
+ package in the current development distribution.
+
+ See: http://archive.ubuntu.com/ubuntu/pool/universe/g/gcc-snapshot/
+')dnl
+
+- Try to find out if the bug is a regression (an older GCC version does
+ not show the bug).
+
+- Check if the bug is already reported in the bug tracking systems.
+
+ifelse(DIST,`Debian',`dnl
+ Debian: http://bugs.debian.org/debian-gcc@lists.debian.org
+', DIST, `Ubuntu',`dnl
+ Ubuntu: https://bugs.launchpad.net/~ubuntu-toolchain/+packagebugs
+ Debian: http://bugs.debian.org/debian-gcc@lists.debian.org
+')dnl
+ Upstream: http://gcc.gnu.org/bugzilla/
+
+
+Where to report a bug
+---------------------
+
+ifelse(DIST,`Debian',`dnl
+Please report bugs found in the packaging of GCC to the Debian bug tracking
+system. See http://www.debian.org/Bugs/ for instructions (or use the
+reportbug script).
+', DIST, `Ubuntu',`dnl
+Please report bugs found in the packaging of GCC to Launchpad. See below
+how issues should be reported.
+')dnl
+
+DIST's current policy is to closely follow the upstream development and
+only apply a minimal set of patches (which are summarized in the README.Debian
+document).
+
+ifelse(DIST,`Debian',`dnl
+If you think you have found an upstream bug, you did check the section
+above ("Before reporting a bug") and are able to provide a complete bug
+report (see below "How to report a bug"), then you may help the Debian
+GCC package maintainers, if you report the bug upstream and then submit
+a bug report to the Debian BTS and tell us the upstream report number.
+This way you are able to follow the upstream bug handling as well. If in
+doubt, report the bug to the Debian BTS (but read "How to report a bug"
+below).
+', DIST, `Ubuntu',`dnl
+If you think you have found an upstream bug, you did check the section
+above ("Before reporting a bug") and are able to provide a complete bug
+report (see below "How to report a bug"), then you may help the Ubuntu
+GCC package maintainers, if you report the bug upstream and then submit
+a bug report to Launchpad and tell us the upstream report number.
+This way you are able to follow the upstream bug handling as well. If in
+doubt, report the bug to Launchpad (but read "How to report a bug" below).
+
+Report the issue to https://bugs.launchpad.net/ubuntu/+source/SRCNAME.
+')dnl
+
+
+How to report a bug
+-------------------
+
+There are complete instructions in the gcc info manual (found in the
+gcc-doc package), section Bugs.
+
+The manual can be read using `M-x info' in Emacs, or if the GNU info
+program is installed on your system by `info --node "(gcc)Bugs"'. Or see
+the file BUGS included with the gcc source code.
+
+Online bug reporting instructions can be found at
+
+ http://gcc.gnu.org/bugs.html
+
+[Some paragraphs taken from the above URL]
+
+The main purpose of a bug report is to enable us to fix the bug. The
+most important prerequisite for this is that the report must be
+complete and self-contained, which we explain in detail below.
+
+Before you report a bug, please check the list of well-known bugs and,
+if possible in any way, try a current development snapshot.
+
+Summarized bug reporting instructions
+-------------------------------------
+
+What we need
+
+Please include in your bug report all of the following items, the
+first three of which can be obtained from the output of gcc -v:
+
+ * the exact version of GCC;
+ * the system type;
+ * the options given when GCC was configured/built;
+ * the complete command line that triggers the bug;
+ * the compiler output (error messages, warnings, etc.); and
+ * the preprocessed file (*.i*) that triggers the bug, generated by
+ adding -save-temps to the complete compilation command, or, in
+ the case of a bug report for the GNAT front end, a complete set
+ of source files (see below).
+
+What we do not want
+
+ * A source file that #includes header files that are left out
+ of the bug report (see above)
+ * That source file and a collection of header files.
+ * An attached archive (tar, zip, shar, whatever) containing all
+ (or some :-) of the above.
+ * A code snippet that won't cause the compiler to produce the
+ exact output mentioned in the bug report (e.g., a snippet with
+ just a few lines around the one that apparently triggers the
+ bug, with some pieces replaced with ellipses or comments for
+ extra obfuscation :-)
+ * The location (URL) of the package that failed to build (we won't
+ download it, anyway, since you've already given us what we need
+ to duplicate the bug, haven't you? :-)
+ * An error that occurs only some of the times a certain file is
+ compiled, such that retrying a sufficient number of times
+ results in a successful compilation; this is a symptom of a
+ hardware problem, not of a compiler bug (sorry)
+ * E-mail messages that complement previous, incomplete bug
+ reports. Post a new, self-contained, full bug report instead, if
+ possible as a follow-up to the original bug report
+ * Assembly files (*.s) produced by the compiler, or any binary files,
+ such as object files, executables, core files, or precompiled
+ header files
+ * Duplicate bug reports, or reports of bugs already fixed in the
+ development tree, especially those that have already been
+ reported as fixed last week :-)
+ * Bugs in the assembler, the linker or the C library. These are
+ separate projects, with separate mailing lists and different bug
+ reporting procedures
+ * Bugs in releases or snapshots of GCC not issued by the GNU
+ Project. Report them to whoever provided you with the release
+ * Questions about the correctness or the expected behavior of
+ certain constructs that are not GCC extensions. Ask them in
+ forums dedicated to the discussion of the programming language
+
+
+Known Bugs and Non-Bugs
+-----------------------
+
+[Please see /usr/share/doc/gcc/FAQ or http://gcc.gnu.org/faq.html first]
+
+
+C++ exceptions don't work with C libraries
+------------------------------------------
+
+[Taken from the closed bug report #22769] C++ exceptions don't work
+with C libraries, if the C code wasn't designed to be thrown through.
+A solution could be to translate all C libraries with -fexceptions.
+Mostly trying to throw an exception in a callback function (qsort,
+Tcl command callbacks, etc ...). Example:
+
+ #include <stdio.h>
+ #include <tcl.h>
+
+ class A {};
+
+ static
+ int SortCondition(void const*, void const*)
+ {
+ printf("throwing 'sortcondition' exception\n");
+ throw A();
+ }
+
+ int main(int argc, char *argv[])
+ {
+ int list[2];
+
+ try {
+ SortCondition(NULL,NULL);
+ } catch (A) {
+ printf("caught test-sortcondition exception\n");
+ }
+ try {
+ qsort(&list, sizeof(list)/sizeof(list[0]),sizeof(list[0]),
+ &SortCondition);
+ } catch (A) {
+ printf("caught real-sortcondition exception\n");
+ }
+ return 0;
+}
+
+Andrew Macleod <amacleod@cygnus.com> responded:
+
+When compiled with the table driven exception handling, exception can only
+be thrown through functions which have been compiled with the table driven EH.
+If a function isn't compiled that way, then we do not have the frame
+unwinding information required to restore the registers when unwinding.
+
+I believe the setjmp/longjmp mechanism will throw through things like this,
+but its produces much messier code. (-fsjlj-exceptions)
+
+The C compiler does support exceptions, you just have to turn them on
+with -fexceptions.
+
+Your main options are to:
+ a) Don't use callbacks, or at least don't throw through them.
+ b) Get the source and compile the library with -fexceptions (You have to
+ explicitly turn on exceptions in the C compiler)
+ c) always use -fsjlj-exceptions (boo, bad choice :-)
+
+
+g++: "undefined reference" to static const array in class
+---------------------------------------------------------
+
+The following code compiles under GNU C++ 2.7.2 with correct results,
+but produces the same linker error with GNU C++ 2.95.2.
+Alexandre Oliva <oliva@lsd.ic.unicamp.br> responded:
+
+All of them are correct. A static data member *must* be defined
+outside the class body even if it is initialized within the class
+body, but no diagnostic is required if the definition is missing. It
+turns out that some releases do emit references to the missing symbol,
+while others optimize it away.
+
+#include <iostream>
+
+class Test
+{
+ public:
+ Test(const char *q);
+ protected:
+ static const unsigned char Jam_signature[4] = "JAM";
+};
+
+Test::Test(const char *q)
+{
+ if (memcmp(q, Jam_signature, sizeof(Jam_signature)) != 0)
+ cerr << "Hello world!\n";
+}
+
+int main(void)
+{
+ Test::Test("JAM");
+ return 0;
+}
+
+g++: g++ causes passing non const ptr to ptr to a func with const arg
+ to cause an error (not a bug)
+---------------------------------------------------------------------
+
+Example:
+
+#include <stdio.h>
+void test(const char **b){
+ printf ("%s\n",*b);
+}
+int main(void){
+ char *test1="aoeu";
+ test(&test1);
+}
+
+make const
+g++ const.cc -o const
+const.cc: In function `int main()':
+const.cc:7: passing `char **' as argument 1 of `test(const char **)' adds cv-quals without intervening `const'
+make: *** [const] Error 1
+
+Answer from "Martin v. Loewis" <martin@loewis.home.cs.tu-berlin.de>:
+
+> ok... maybe I missed something.. I haven't really kept up with the latest in
+> C++ news. But I've never heard anything even remotly close to passing a non
+> const var into a const arg being an error before.
+
+Thanks for your bug report. This is a not a bug in the compiler, but
+in your code. The standard, in 4.4/4, puts it that way
+
+# A conversion can add cv-qualifiers at levels other than the first in
+# multi-level pointers, subject to the following rules:
+# Two pointer types T1 and T2 are similar if there exists a type T and
+# integer n > 0 such that:
+# T1 is cv(1,0) pointer to cv(1,1) pointer to ... cv(1,n-1)
+# pointer to cv(1,n) T
+# and
+# T2 is cv(2,0) pointer to cv(2,1) pointer to ... cv(2,n-1)
+# pointer to cv(2,n) T
+# where each cv(i,j) is const, volatile, const volatile, or
+# nothing. The n-tuple of cv-qualifiers after the first in a pointer
+# type, e.g., cv(1,1) , cv(1,2) , ... , cv(1,n) in the pointer type
+# T1, is called the cv-qualification signature of the pointer type. An
+# expression of type T1 can be converted to type T2 if and only if the
+# following conditions are satisfied:
+# - the pointer types are similar.
+# - for every j > 0, if const is in cv(1,j) then const is in cv(2,j) ,
+# and similarly for volatile.
+# - if the cv(1,j) and cv(2,j) are different, then const is in every
+# cv(2,k) for 0 < k < j.
+
+It is the last rule that your code violates. The standard gives then
+the following example as a rationale:
+
+# [Note: if a program could assign a pointer of type T** to a pointer
+# of type const T** (that is, if line //1 below was allowed), a
+# program could inadvertently modify a const object (as it is done on
+# line //2). For example,
+# int main() {
+# const char c = 'c';
+# char* pc;
+# const char** pcc = &pc; //1: not allowed
+# *pcc = &c;
+# *pc = 'C'; //2: modifies a const object
+# }
+# - end note]
+
+If you question this line of reasoning, please discuss it in one of
+the public C++ fora first, eg. comp.lang.c++.moderated, or
+comp.std.c++.
+
+
+cpp removes blank lines
+-----------------------
+
+With the new cpp, you need to add -traditional to the "cpp -P" args, else
+blank lines get removed.
+
+[EDIT ME: scan Debian bug reports and write some nice summaries ...]
--- /dev/null
+libstdc++ is an implementation of the Standard C++ Library, including the
+Standard Template Library (i.e. as specified by ANSI and ISO).
+
+Some notes on porting applications from libstdc++-2.90 (or earlier versions)
+to libstdc++-v3 can be found in the libstdc++6-4.3-doc package. After the
+installation of the package, look at:
+
+ file:///usr/share/doc/gcc-4.3-base/libstdc++/html/17_intro/porting-howto.html
+
+On Debian GNU/Linux you find additional documentation in the
+libstdc++6-4.3-doc package. After installing these packages,
+point your browser to
+
+ file:///usr/share/doc/libstdc++6-4.3-doc/libstdc++/html/index.html
+
+Other documentation can be found:
+
+ http://www.sgi.com/tech/stl/
+
+with a good, recent, book on C++.
+
+A great deal of useful C++ documentation can be found in the C++ FAQ-Lite,
+maintained by Marshall Cline <cline@parashift.com>. It can be found at the
+mirror sites linked from the following URL (this was last updated on
+2010/09/11):
+
+ http://www.parashift.com/c++-faq/
+
+or use some search engin site to find it, e.g.:
+
+ http://www.google.com/search?q=c%2B%2B+faq+lite
+
+Be careful not to use outdated mirors.
+
+Please send updates to this list as bug report for the g++ package.
--- /dev/null
+ 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)
+
+===============================================================================
+
--- /dev/null
+Building cross-compiler Debian packages
+---------------------------------------
+
+The packaging for cross toolchains is now in the archive, including
+all frontends, and targeting all release and ports architectures.
+
+Cross toolchains are built from the following source packages:
+
+ - binutils
+ - cross-toolchain-base
+ - cross-toolchain-base-ports
+ - gcc-7-cross
+ - gcc-7-cross-ports
+ - gcc-8-cross
+ - gcc-8-cross-ports
+ - gcc-defaults
+ - gcc-defaults-ports
+
+Issues about the cross toolchains should be filed for one of the
+above source packages.
--- /dev/null
+If you want to develop Ada programs and libraries on Debian, please
+read the Debian Policy for Ada:
+
+http://people.debian.org/~lbrenta/debian-ada-policy.html
+
+The default Ada compiler is and always will be the package `gnat'.
+Debian contains many programs and libraries compiled with it, which
+are all ABI-compatible.
+
+Starting with gnat-4.2, Debian provides both zero-cost and
+setjump/longjump versions of the run-time library. The zero-cost
+exception handling mechanism is the default as it provides the best
+performance. The setjump/longjump exception handling mechanism is new
+and only provided as a static library. It is necessary to use this
+exception handling mechanism in distributed (annex E) programs. If
+you wish to use the new sjlj library:
+
+1) call gnatmake with --RTS=sjlj
+2) call gnatbind with -static
+
+Do NOT link your programs with libgnat-4.2.so, because it uses the ZCX
+mechanism.
+
+
+This package also includes small tools covering specific needs.
+
+* When linking objects compiled from both Ada and C sources, you need
+ to use compatible versions of the Ada and C compilers. The
+ /usr/bin/gnatgcc symbolic link targets a version of the C compiler
+ compatible with the default Ada compiler, and may differ from the
+ default C compiler /usr/bin/gcc.
+
+* When packaging Ada sources for Debian, you may want to read the
+ /usr/share/ada/debian_packaging-$(gnat_version).mk Makefile snippet.
--- /dev/null
+The libstdc++ baseline file is a list of symbols exported by the
+libstdc++ library.
--- /dev/null
+-*- Outline -*-
+
+Read this file if you are a Debian Developer or would like to become
+one, or if you would like to create your own binary packages of GCC.
+
+* Overview
+
+From the GCC sources, Debian currently builds 3 source packages and
+almost 100 binary packages, using a single set of build scripts. The
+3 source packages are:
+
+gcc-x.y: C, C++, Fortran, Objective-C and Objective-C++, plus many
+ common libraries like libssp and libgcc.
+gnat-x.y: Ada.
+
+The way we do this is quite peculiar, so listen up :)
+
+When we build from the gcc-x.y source package, we produce, among many
+others, a gcc-x.y-source binary package that contains the pristine
+upstream tarball and some Debian-specific patches. Any user can then
+install this package on their Debian system, and will have the full
+souces in /usr/src/gcc-x.y/gcc-<timestamp>.tar.bz2, along with the
+Makefile snippets that unpack and patch them.
+
+The intended use for this package is twofold: (a) allow users to build
+their own cross-compilers, and (b) build the other packages like
+gnat-x.y.
+
+- gcc-x.y requires only a C compiler to build and produces C, C++,
+ Fortran, Go and Objective-C compilers and libraries. It also
+ produces the binary package gcc-x.y-source containing all the
+ sources and patches in a tarball.
+
+- gnat-x.y build-depends on gcc-x.y-source and an Ada compiler. It
+ does not even have an .orig.tar.bz2 package; it is a Debian native
+ package.
+
+The benefits of this split are many:
+
+- bootstrapping a subset of languages is much faster than
+ bootstrapping all languages and libraries (which can take a full
+ week on slow architectures like mips or arm)
+
+- the language maintainers don't have to wait for each other
+
+- for new ports, the absence of a port of, say, gnat-x.y does not
+ block the porting of gcc-x.y.
+
+gcc-x.y-source is also intended for interested users to build
+cross-compiler packages. Debian cannot provide all possible
+cross-compiler packages (i.e. all possible host, target, language and
+library combinations), so instead tries to facilitate building them.
+
+* The build sequence
+
+As for all other Debian packages, you build GCC by calling
+debian/rules.
+
+The first thing debian/rules does it to look at the top-most entry in
+debian/changelog: this tells it which source package it is building.
+For example, if the first entry in debian/changelog reads:
+
+gnat-6 (6.2.0-1) unstable; urgency=low
+
+ * Upload as gnat-6.
+
+ -- Ludovic Brenta <lbrenta@debian.org> Tue, 26 Jun 2007 00:26:42 +0200
+
+then, debian/rules will build only the gnat binary packages.
+
+The second step is to build debian/control from debian/control.m4 and
+a complex set of rules specified in debian/rules.conf. The resulting
+control file contains only the binary packages to be built.
+
+The third step is to select which patches to apply (this is done in
+debian/rules.defs), and then to apply the selected patches (see
+debian/rules.patch). The result of this step is a generated
+debian/patches/series file for use by quilt.
+
+The fourth step is to unpack the GCC source tarball. This tarball is
+either in the build directory (when building gcc-x.y), or in
+/usr/src/gcc-x.y/gcc-x.y.z.tar.xz (when building the other source
+packages).
+
+The fifth step is to apply all patches to the unpacked sources with
+quilt.
+
+The sixth step is to create a "build" directory, cd into it, call
+../src/configure, and bootstrap the compiler and libraries selected.
+This is in debian/rules2.
+
+The seventh step is to call "make install" in the build directory:
+this installs the compiler and libraries into debian/tmp
+(i.e. debian/tmp/usr/bin/gcc, etc.)
+
+The eighth step is to run the GCC test suite. This actually takes at
+least as much time as bootstrapping, and you can disable it by setting
+WITHOUT_CHECK to "yes" in the environment.
+
+The ninth step is to build the binary packages, i.e. the .debs. This
+is done by a set of language- and architecture-dependent Makefile
+snippets in the debian/rules.d/ directory, which move files from the
+debian/tmp tree to the debian/<package> trees.
+
+* Making your own packages
+
+In this example, we will build our own gnat-x.y package.
+
+1) Install gcc-x.y-source, which contains the real sources:
+
+# aptitude install gcc-x.y-source
+
+2) Create a build directory:
+
+$ mkdir gnat-x.y-x.y.z; cd gnat-x.y-x.y.z
+
+3) Checkout from Subversion:
+
+$ svn checkout svn://svn.debian.org/gcccvs/branches/sid/gcc-x.y/debian
+
+4) Edit the debian/changelog file, adding a new entry at the top that
+ starts with "gnat-x.y".
+
+5) Generate the debian/control file, adjusted for gnat:
+
+$ debian/rules control
+
+8) Build:
+
+$ dpkg-buildpackage
+
+* Hints
+
+You need a powerful machine to build GCC. The larger, the better.
+The build scripts take advantage of as many CPU threads as are
+available in your box (for example: 2 threads on a dual-core amd64; 4
+threads on a dual-core POWER5; 32 threads on an 8-core UltraSPARC T1,
+etc.).
+
+If you have 2 GB or more of physical RAM, you can achieve maximum
+performance by building in a tmpfs, like this:
+
+1) as root, create the new tmpfs:
+
+# mount -t tmpfs -o size=1280m none /home/lbrenta/src/debian/ram
+
+By default, the tmpfs will be limited to half your physical RAM. The
+beauty of it is that it only consumes as much physical RAM as
+necessary to hold the files in it; deleting files frees up RAM.
+
+2) As your regular user, create the working directory in the tmpfs
+
+$ cp --archive ~/src/debian/gcc-x.y-x.y.z ~/src/debian/ram
+
+3) Build in there. On my dual-core, 2 GHz amd64, it takes 34 minutes
+ to build gnat, and the tmpfs takes 992 MiB of physical RAM but
+ exceeds 1 GiB during the build.
+
+Note that the build process uses a lot of temporary files. Your $TEMP
+directory should therefore also be in a ram disk. You can achieve
+that either by mounting it as tmpfs, or by setting TEMP to point to
+~/src/debian/ram.
+
+Also note that each thread in your processor(s) will run a compiler in
+it and use up RAM. Therefore your physical memory should be:
+
+Physical_RAM >= 1.2 + 0.4 * Threads (in GiB)
+
+(this is an estimate; your mileage may vary). If you have less
+physical RAM than recommended, reduce the number of threads allocated
+to the build process, or do not use a tmpfs to build.
+
+* Patching GCC
+
+Debian applies a large number of patches to GCC as part of the build
+process. It uses quilt but the necessary debian/patches/series is not
+part of the packaging scripts; instead, "debian/rules patch" generates
+this file by looking at debian/control (which is itself generated!),
+debian/changelog and other files. Then it applies all the patches.
+At this point, you can use quilt as usual:
+
+$ cd ~/src/debian/gcc-x.y
+$ export QUILT_PATCHES=$PWD/debian/patches
+$ quilt series
+
+If you add new patches, remember to add them to the version control
+system too.
+
+--
+Ludovic Brenta, 2012-04-02.
--- /dev/null
+Debian gcc-snapshot package
+===========================
+
+This package contains a recent development SNAPSHOT of all files
+contained in the GNU Compiler Collection (GCC).
+
+DO NOT USE THIS SNAPSHOT FOR BUILDING DEBIAN PACKAGES!
+
+This package will NEVER hit the testing distribution. It's used for
+tracking gcc bugs submitted to the Debian BTS in recent development
+versions of gcc.
+
+To use this snapshot, you should set the following environment variables:
+
+ LD_LIBRARY_PATH=/usr/lib/gcc-snapshot/lib:$LD_LIBRARY_PATH
+ PATH=/usr/lib/gcc-snapshot/bin:$PATH
+
+You might also like to use a shell script to wrap up this
+funcationality, e.g.
+
+place in /usr/local/bin/gcc-snapshot and chmod +x it
+
+----------- snip ----------
+#! /bin/sh
+LD_LIBRARY_PATH=/usr/lib/gcc-snapshot/lib:$LD_LIBRARY_PATH
+PATH=/usr/lib/gcc-snapshot/bin:$PATH
+gcc "$@"
+----------- snip ----------
+
+Make the same for g++, g77, cpp, ...
+
+Don't forget the quotes around the $@ or gcc will not parse it's
+command line correctly!
+
+Unset these variables before building Debian packages destined for an
+upload to ftp-master.debian.org.
--- /dev/null
+Patches applied to the Debian version of GCC
+--------------------------------------------
+
+Debian specific patches can be found in the debian/patches directory.
+Quilt is used as the patch system. See /usr/share/doc/quilt/README.source
+for details about quilt.
+
+Patches are applied by calling `debian/rules patch'. The `series'
+file is constructed on the fly based on the files found in the to
+debian/rules.patch "debian_patches" variable, configure scripts are
+regenerated in the `patch' target. The gcc source is unpacked under
+src/ this needs to be reflected in the patch header.
+
+The source packages gdc-x.y and gnat-x.y do not contain copies of the
+source code but build-depend on the appropriate gcc-x.y-source package
+instead.
--- /dev/null
+Stack smashing protection is a feature of GCC that enables a program to
+detect buffer overflows and immediately terminate execution, rather than
+continuing execution with corrupt internal data structures. It uses
+"canaries" and local variable reordering to reduce the likelihood of
+stack corruption through buffer overflows.
+
+Options that affect stack smashing protection:
+
+-fstack-protector
+ Enables protection for functions that are vulnerable to stack
+ smashing, such as those that call alloca() or use pointers.
+
+-fstack-protector-all
+ Enables protection for all functions.
+
+-Wstack-protector
+ Warns about functions that will not be protected. Only active when
+ -fstack-protector has been used.
+
+Applications built with stack smashing protection should link with the
+ssp library by using the option "-lssp" for systems with glibc-2.3.x or
+older; glibc-2.4 and newer versions provide this functionality in libc.
+
+The Debian architectures alpha, hppa, ia64, m68k, mips, mipsel do not
+have support for stack smashing protection.
+
+More documentation can be found at the project's website:
+http://researchweb.watson.ibm.com/trl/projects/security/ssp/
--- /dev/null
+(It is recommended to edit this file with emacs' todoo mode)
+Last updated: 2008-05-02
+
+* General
+
+- Clean up the sprawl of debian/rules. I'm sure there are neater
+ ways to do some of it; perhaps split it up into some more files?
+ Partly done.
+
+- Make debian/rules control build the control file without unpacking
+ the sources or applying patches. Currently, it unpacks the sources,
+ patches them, creates the control file, and a subsequent
+ dpkg-buildpackage deletes the sources, re-unpacks them, and
+ re-patches them.
+
+- Reorganise debian/rules.defs to decide which packages to build in a
+ more straightforward and less error-prone fashion: (1) start with
+ all languages; override the list of languages depending on the name
+ of the source package (gcc-4.3, gnat-4.3, gdc-4.3). (2)
+ filter the list of languages depending on the target platform; (3)
+ depending on the languages to build, decide on which libraries to
+ build.
+
+o [Ludovic Brenta] Ada
+
+- Done: Link the gnat tools with libgnat.so, instead of statically.
+
+- Done: Build libgnatvsn containing parts of the compiler (version
+ string, etc.) under GNAT-Modified GPL. Link the gnat tools with it.
+
+- Done: Build libgnatprj containing parts of the compiler (the project
+ manager) under pure GPL. Link the gnat tools with it.
+
+- Done: Build both the zero-cost and setjump/longjump exceptions
+ versions of libgnat. In particular, gnat-glade (distributed systems)
+ works best with SJLJ.
+
+- Done: Re-enable running the test suite.
+
+- Add support for building cross-compilers.
+
+- Add support for multilib (not yet supported upstream).
+
+* Fortran
+
+- gfortran man page generation
--- /dev/null
+#! /bin/sh
+
+# on ia64 systems, the acats hangs in unaligned memory accesses.
+# kill these testcases.
+
+pidfile=acats-killer.pid
+
+usage()
+{
+ echo >&2 "usage: `basename $0` [-p <pidfile>] <ada logfile> <next logfile>"
+ exit 1
+}
+
+while [ $# -gt 0 ]; do
+ case $1 in
+ -p)
+ pidfile=$2
+ shift
+ shift
+ ;;
+ -*)
+ usage
+ ;;
+ *)
+ break
+ esac
+done
+
+[ $# -eq 2 ] || usage
+
+logfile=$1
+stopfile=$2
+interval=30
+
+echo $$ > $pidfile
+
+while true; do
+ if [ -f "$stopfile" ]; then
+ echo "`basename $0`: finished."
+ rm -f $pidfile
+ exit 0
+ fi
+ sleep $interval
+ if [ ! -f "$logfile" ]; then
+ continue
+ fi
+ pids=$(ps aux | awk '/testsuite\/ada\/acats\/tests/ { print $2 }')
+ if [ -n "$pids" ]; then
+ sleep $interval
+ pids2=$(ps aux | awk '/testsuite\/ada\/acats\/tests/ { print $2 }')
+ if [ "$pids" = "$pids2" ]; then
+ #echo kill: $pids
+ kill $pids
+ sleep 1
+ pids2=$(ps aux | awk '/testsuite\/ada\/acats\/tests/ { print $2 }')
+ if [ "$pids" = "$pids2" ]; then
+ #echo kill -9: $pids
+ kill -9 $pids
+ fi
+ fi
+ fi
+done
--- /dev/null
+#!/usr/bin/python3
+
+# Helper when migrating bugs from a gnat version to another.
+
+from __future__ import print_function
+import os.path
+import re
+import shutil
+import subprocess
+import tempfile
+
+os.environ ['LC_ALL'] = 'C'
+
+# If True, "reassign" -> "found" and "retitle" -> "fixed".
+# Once the bug tracking system is informed, please update this boolean.
+same_gcc_base_version = True
+
+# The current version.
+new_version = "8"
+
+for line in subprocess.check_output (("dpkg", "--status", "gnat-" + new_version)).decode ().split ("\n"):
+ if line.startswith ("Version: "):
+ deb_version = line [len ("Version: "):]
+ break
+# Will cause an error later if deb_version is not defined.
+
+# Each bug has its own subdirectory in WORKSPACE.
+# Every bug subdir is removed if the bug is confirmed,
+# and WORKSPACE is removed if empty.
+workspace = tempfile.mkdtemp (suffix = "-gnat-" + deb_version + "-bugs")
+
+def attempt_to_reproduce (bug, make, sources):
+ tmp_dir = os.path.join (workspace, "bug{}".format (bug))
+ os.mkdir (tmp_dir)
+
+ for (name, contents) in sources:
+ with open (os.path.join (tmp_dir, name), "w") as f:
+ f.write (contents)
+
+ path = os.path.join (tmp_dir, "stderr.log")
+ with open (path, "w") as e:
+ status = subprocess.call (make, stderr=e, cwd=tmp_dir)
+ with open (path, "r") as e:
+ stderr = e.read ()
+ return tmp_dir, status, stderr
+
+def reassign_and_remove_dir (bug, tmp_dir):
+ if same_gcc_base_version:
+ print ("found {} {}".format (bug, deb_version))
+ else:
+ print ("reassign {} {} {}".format (bug, "gnat-" + new_version, deb_version))
+ shutil.rmtree (tmp_dir)
+
+def report (bug, message, output):
+ print ("# {}: {}.".format (bug, message))
+ for line in output.split ("\n"):
+ print ("# " + line)
+
+def report_and_retitle (bug, message, output):
+ report (bug, message, output)
+ if same_gcc_base_version:
+ print ("fixed {} {}".format (bug, deb_version))
+ else:
+ print ("retitle {} [Fixed in {}] <current title>".format (bug, new_version))
+
+def check_compiles_but_should_not (bug, make, sources):
+ tmp_dir, status, stderr = attempt_to_reproduce (bug, make, sources)
+ if status == 0:
+ reassign_and_remove_dir (bug, tmp_dir)
+ else:
+ report_and_retitle (bug, "now fails to compile (bug is fixed?)", stderr)
+
+def check_reports_an_error_but_should_not (bug, make, sources, regex):
+ tmp_dir, status, stderr = attempt_to_reproduce (bug, make, sources)
+ if status == 0:
+ report_and_retitle (bug, "now compiles (bug is fixed?)", stderr)
+ elif re.search (regex, stderr):
+ reassign_and_remove_dir (bug, tmp_dir)
+ else:
+ report (bug, "still fails to compile, but with a new stderr", stderr)
+
+def check_reports_error_but_forgets_one (bug, make, sources, regex):
+ tmp_dir, status, stderr = attempt_to_reproduce (bug, make, sources)
+ if status == 0:
+ report (bug, "now compiles (?)", stderr);
+ elif re.search (regex, stderr):
+ report_and_retitle (bug, "now reports the error (bug is fixed ?)", stderr)
+ else:
+ reassign_and_remove_dir (bug, tmp_dir)
+
+def check_produces_a_faulty_executable (bug, make, sources, regex, trigger):
+ tmp_dir, status, stderr = attempt_to_reproduce (bug, make, sources)
+ if status != 0:
+ report (bug, "cannot compile the trigger anymore", stderr)
+ else:
+ output = subprocess.check_output ((os.path.join (tmp_dir, trigger),), cwd=tmp_dir).decode ()
+ if re.search (regex, output):
+ reassign_and_remove_dir (bug, tmp_dir)
+ else:
+ report_and_retitle (bug, "output of the trigger changed (bug fixed?)", output)
+
+######################################################################
+
+check_reports_an_error_but_should_not (
+ bug = 244936,
+ make = ("gnatmake", "p"),
+ regex = 'p\.ads:3:25: "foo" is hidden within declaration of instance',
+ sources = (
+ ("foo.ads", """generic
+procedure foo;
+"""),
+ ("foo.adb", """procedure foo is
+begin
+ null;
+end foo;
+"""), ("p.ads", """with foo;
+package p is
+ procedure FOO is new foo; -- OK
+end p;
+""")))
+
+check_compiles_but_should_not (
+ bug = 244970,
+ make = ("gnatmake", "pak5"),
+ sources = (
+ ("pak1.ads", """generic
+package pak1 is
+end pak1;
+"""),
+ ("pak1-pak2.ads", """generic
+package pak1.pak2 is
+end pak1.pak2;
+"""),
+ ("pak5.ads", """with pak1.pak2;
+generic
+ with package new_pak2 is new pak1.pak2; -- ERROR: illegal use of pak1
+package pak5 is
+end pak5;
+""")))
+
+check_reports_an_error_but_should_not (
+ bug = 246187,
+ make = ("gnatmake", "test_43"),
+ regex = "Error detected at system.ads:156:5",
+ sources = (
+ ("test_43.ads", """package Test_43 is
+ type T1 is private;
+
+private
+
+ type T2 is record
+ a: T1;
+ end record;
+ type T2_Ptr is access T2;
+
+ type T1 is record
+ n: T2_Ptr := new T2;
+ end record;
+
+end Test_43;
+"""),))
+
+check_compiles_but_should_not (
+ bug = 247013,
+ make = ("gnatmake", "test_53"),
+ sources = (
+ ("test_53.ads", """generic
+ type T1 is private;
+package Test_53 is
+ type T2 (x: integer) is new T1; -- ERROR: x not used
+end Test_53;
+"""),))
+
+check_compiles_but_should_not (
+ bug = 247017,
+ make = ("gnatmake", "test_59"),
+ sources = (
+ ("test_59.adb", """procedure Test_59 is
+
+ generic
+ type T1 (<>) is private;
+ procedure p1(x: out T1);
+
+ procedure p1 (x: out T1) is
+ b: boolean := x'constrained; --ERROR: not a discriminated type
+ begin
+ null;
+ end p1;
+
+begin
+ null;
+end Test_59;
+"""),))
+
+check_compiles_but_should_not (
+ bug = 247018,
+ make = ("gnatmake", "test_60"),
+ sources = (
+ ("pak1.ads", """package pak1 is
+ generic
+ package pak2 is
+ end pak2;
+end pak1;
+"""),
+ ("test_60.ads", """with pak1;
+package Test_60 is
+ package PAK1 is new pak1.pak2; --ERROR: illegal reference to pak1
+end Test_60;
+""")))
+
+check_compiles_but_should_not (
+ bug = 247019,
+ make = ("gnatmake", "test_61"),
+ sources = (
+ ("test_61.adb", """procedure Test_61 is
+ procedure p1;
+
+ generic
+ package pak1 is
+ procedure p2 renames p1;
+ end pak1;
+
+ package new_pak1 is new pak1;
+ procedure p1 renames new_pak1.p2; --ERROR: circular renames
+begin
+ p1;
+end Test_61;
+"""),))
+
+check_produces_a_faulty_executable (
+ bug = 247569,
+ make = ("gnatmake", "test_75"),
+ trigger = "test_75",
+ regex = "failed: wrong p1 called",
+ sources = (
+ ("test_75.adb", """with text_io;
+procedure Test_75 is
+ generic
+ package pak1 is
+ type T1 is null record;
+ end pak1;
+
+ generic
+ with package A is new pak1(<>);
+ with package B is new pak1(<>);
+ package pak2 is
+ procedure p1(x: B.T1);
+ procedure p1(x: A.T1);
+ end pak2;
+
+ package body pak2 is
+
+ procedure p1(x: B.T1) is
+ begin
+ text_io.put_line("failed: wrong p1 called");
+ end p1;
+
+ procedure p1(x: A.T1) is
+ begin
+ text_io.put_line("passed");
+ end p1;
+
+ x: A.T1;
+ begin
+ p1(x);
+ end pak2;
+
+ package new_pak1 is new pak1;
+ package new_pak2 is new pak2(new_pak1, new_pak1); -- (1)
+
+begin
+ null;
+end Test_75;
+"""),))
+
+check_compiles_but_should_not (
+ bug = 247570,
+ make = ("gnatmake", "test_76"),
+ sources = (
+ ("test_76.adb", """procedure Test_76 is
+
+ generic
+ procedure p1;
+
+ pragma Convention (Ada, p1);
+
+ procedure p1 is
+ begin
+ null;
+ end p1;
+
+ procedure new_p1 is new p1;
+ pragma Convention (Ada, new_p1); --ERROR: new_p1 already frozen
+
+begin
+ null;
+end Test_76;
+"""),))
+
+check_produces_a_faulty_executable (
+ bug = 247571,
+ make = ("gnatmake", "test_77"),
+ trigger = "test_77",
+ regex = "failed: wrong p1 called",
+ sources = (
+ ("pak.ads", """package pak is
+ procedure p1;
+ procedure p1(x: integer);
+ pragma export(ada, p1);
+end pak;
+"""),
+ ("pak.adb", """with text_io; use text_io;
+package body pak is
+ procedure p1 is
+ begin
+ put_line("passed");
+ end;
+
+ procedure p1(x: integer) is
+ begin
+ put_line("failed: wrong p1 called");
+ end;
+end pak;
+"""),
+ ("test_77.adb", """with pak;
+procedure Test_77 is
+ procedure p1;
+ pragma import(ada, p1);
+begin
+ p1;
+end Test_77;
+""")))
+
+check_compiles_but_should_not (
+ bug = 248166,
+ make = ("gnatmake", "test_82"),
+ sources = (
+ ("test_82.adb", """procedure Test_82 is
+ package pak1 is
+ type T1 is tagged null record;
+ end pak1;
+
+ package body pak1 is
+ -- type T1 is tagged null record; -- line 7
+
+ function "=" (x, y : T1'class) return boolean is -- line 9
+ begin
+ return true;
+ end "=";
+
+ procedure proc (x, y : T1'class) is
+ b : boolean;
+ begin
+ b := x = y; --ERROR: ambiguous "="
+ end proc;
+
+ end pak1;
+
+begin
+ null;
+end Test_82;
+"""),))
+
+check_compiles_but_should_not (
+ bug = 248168,
+ make = ("gnatmake", "test_84"),
+ sources = (
+ ("test_84.adb", """procedure Test_84 is
+ package pak1 is
+ type T1 is abstract tagged null record;
+ procedure p1(x: in out T1) is abstract;
+ end pak1;
+
+ type T2 is new pak1.T1 with null record;
+
+ protected type T3 is
+ end T3;
+
+ protected body T3 is
+ end T3;
+
+ procedure p1(x: in out T2) is --ERROR: declared after body of T3
+ begin
+ null;
+ end p1;
+
+begin
+ null;
+end Test_84;
+"""),))
+
+check_compiles_but_should_not (
+ bug = 248678,
+ make = ("gnatmake", "test_80"),
+ sources = (
+ ("test_80.ads", """package Test_80 is
+ generic
+ type T1(<>) is private;
+ with function "=" (Left, Right : T1) return Boolean is <>;
+ package pak1 is
+ end pak1;
+
+ package pak2 is
+ type T2 is abstract tagged null record;
+ package new_pak1 is new pak1 (T2'Class); --ERROR: no matching "="
+ end pak2;
+end Test_80;
+"""),))
+
+check_compiles_but_should_not (
+ bug = 248680,
+ make = ("gnatmake", "test_90"),
+ sources = (
+ ("test_90.adb", """procedure Test_90 is
+ type T1 is tagged null record;
+
+ procedure p1 (x : access T1) is
+ b: boolean;
+ y: aliased T1;
+ begin
+ B := Y'Access = X; -- ERROR: no matching "="
+-- B := X = Y'Access; -- line 11: error detected
+ end p1;
+
+begin
+ null;
+end Test_90;
+"""),))
+
+check_compiles_but_should_not (
+ bug = 248681,
+ make = ("gnatmake", "test_91"),
+ sources = (
+ ("test_91.adb", """-- RM 8.5.4(5)
+-- ...the convention of the renamed subprogram shall not be
+-- Intrinsic.
+with unchecked_deallocation;
+procedure Test_91 is
+ generic -- when non generic, we get the expected error
+ package pak1 is
+ type int_ptr is access integer;
+ procedure free(x: in out int_ptr);
+ end pak1;
+
+ package body pak1 is
+ procedure deallocate is new
+ unchecked_deallocation(integer, int_ptr);
+ procedure free(x: in out int_ptr) renames
+ deallocate; --ERROR: renaming as body can't rename intrinsic
+ end pak1;
+begin
+ null;
+end Test_91;
+"""),))
+
+check_compiles_but_should_not (
+ bug = 248682,
+ make = ("gnatmake", "main"),
+ sources = (
+ ("main.adb", """-- RM 6.3.1(9)
+-- The default calling convention is Intrinsic for ... an attribute
+-- that is a subprogram;
+
+-- RM 8.5.4(5)
+-- ...the convention of the renamed subprogram shall not be
+-- Intrinsic.
+procedure main is
+ package pak1 is
+ function f1(x: integer'base) return integer'base;
+ end pak1;
+
+ package body pak1 is
+ function f1(x: integer'base) return integer'base renames
+ integer'succ; --ERROR: renaming as body can't rename intrinsic
+ end pak1;
+begin
+ null;
+end;
+"""),))
+
+check_reports_an_error_but_should_not (
+ bug = 253737,
+ make = ("gnatmake", "test_4"),
+ regex = 'test_4.ads:.:01: "pak2" not declared in "pak1"',
+ sources = (
+ ("parent.ads", """generic
+package parent is
+end parent;
+"""),
+ ("parent-pak2.ads", """generic
+package parent.pak2 is
+end parent.pak2;
+"""),
+ ("parent-pak2-pak3.ads", """generic
+package parent.pak2.pak3 is
+end parent.pak2.pak3;
+"""),
+ ("parent-pak2-pak4.ads", """with parent.pak2.pak3;
+generic
+package parent.pak2.pak4 is
+ package pak3 is new parent.pak2.pak3;
+end parent.pak2.pak4;
+"""),
+ ("pak1.ads", """with parent;
+package pak1 is new parent;
+"""),
+ ("pak6.ads", """with parent.pak2;
+with pak1;
+package pak6 is new pak1.pak2;
+"""),
+ ("test_4.ads", """with parent.pak2.pak4;
+with pak6;
+package Test_4 is new pak6.pak4;
+""")))
+
+check_compiles_but_should_not (
+ bug = 269948,
+ make = ("gnatmake", "test_119"),
+ sources = (
+ ("test_119.ads", """-- RM 3.9.3/11 A generic actual subprogram shall not be an abstract
+-- subprogram. works OK if unrelated line (A) is commented out.
+package Test_119 is
+ generic
+ with function "=" (X, Y : integer) return Boolean is <>; -- Removing this allows GCC to detect the problem.
+ package pak1 is
+ function "=" (X, Y: float) return Boolean is abstract;
+ generic
+ with function Equal (X, Y : float) return Boolean is "="; --ERROR:
+ package pak2 is
+ end pak2;
+ end pak1;
+
+ package new_pak1 is new pak1;
+ package new_pak2 is new new_pak1.pak2;
+end Test_119;
+"""),))
+
+check_compiles_but_should_not (
+ bug = 269951,
+ make = ("gnatmake", "test_118"),
+ sources = (
+ ("pak1.ads", """generic
+package pak1 is
+end pak1;
+"""),
+ ("pak1-foo.ads", """generic
+package pak1.foo is
+end pak1.foo;
+"""),
+ ("test_118.ads", """with pak1.foo;
+package Test_118 is
+ package pak3 is
+ foo: integer;
+ end pak3;
+ use pak3;
+
+ package new_pak1 is new pak1;
+ use new_pak1;
+
+ x: integer := foo; -- ERROR: foo hidden by use clauses
+end Test_118;
+"""),))
+
+# As long as 24:14 is detected, it inhibits detection of 25:21.
+check_reports_error_but_forgets_one (
+ bug = 276224,
+ make = ("gnatmake", "test_121"),
+ regex = "test_121\.adb:25:21: dynamically tagged expression not allowed",
+ sources = (
+ ("test_121.adb", """-- If the expected type for an expression or name is some specific
+-- tagged type, then the expression or name shall not be dynamically
+-- tagged unless it is a controlling operand in a call on a
+-- dispatching operation.
+procedure Test_121 is
+ package pak1 is
+ type T1 is tagged null record;
+ function f1 (x1: T1) return T1;
+ end pak1;
+
+ package body pak1 is
+ function f1 (x1: T1) return T1 is
+ begin
+ return x1;
+ end;
+ end pak1;
+ use pak1;
+
+ type T2 is record
+ a1: T1;
+ end record;
+
+ z0: T1'class := T1'(null record);
+ z1: T1 := f1(z0); -- ERROR: gnat correctly rejects
+ z2: T2 := (a1 => f1(z0)); -- ERROR: gnat mistakenly allows
+begin
+ null;
+end Test_121;
+"""),))
+
+check_reports_an_error_but_should_not (
+ bug = 276227,
+ make = ("gnatmake", "test_124"),
+ regex = 'test_124\.ads:6:35: size for "T_arr_constrained" too small, minimum allowed is 256',
+ sources = (
+ ("test_124.ads", """package Test_124 is
+ type T is range 1 .. 32;
+ type T_arr_unconstrained is array (T range <>) of boolean;
+ type T_arr_constrained is new T_arr_unconstrained (T);
+ pragma pack (T_arr_unconstrained);
+ for T_arr_constrained'size use 32;
+end Test_124;
+"""),))
+
+check_reports_an_error_but_should_not (
+ bug = 278687,
+ make = ("gnatmake", "test_127"),
+ regex = 'test_127\.adb:1.:21: expected type "T2" defined at line .',
+ sources = (
+ ("test_127.ads", """-- The second parameter of T2'Class'Read is of type T2'Class,
+-- which should match an object of type T3, which is derived
+-- from T2.
+package test_127 is
+ pragma elaborate_body;
+end test_127;
+"""),
+ ("test_127.adb", """with ada.streams;
+package body test_127 is
+ type T1 is access all ada.streams.root_stream_type'class;
+ type T2 is tagged null record;
+ type T3 is new T2 with null record;
+
+ x: T1;
+ y: T3;
+begin
+ T2'class'read(x, y);
+end test_127;
+""")))
+
+check_compiles_but_should_not (
+ bug = 278831,
+ make = ("gnatmake", "test_128"),
+ sources = (
+ ("test_128.ads", """package Test_128 is
+ package inner is
+ private
+ type T1;
+ end inner;
+ type T1_ptr is access inner.T1; -- line 9 ERROR: gnat mistakenly accepts
+end Test_128;
+"""),
+ ("test_128.adb", """package body test_128 is
+ package body inner is
+ type T1 is new Integer;
+ end inner;
+end Test_128;
+""")))
+
+# Note that we also check the absence of the next inhibited message.
+check_reports_an_error_but_should_not (
+ bug = 279893,
+ make = ("gnatmake", "test_129"),
+ regex = """^gcc-[0-9.]+ -c test_129\.ads
+test_129\.ads:1.:49: designated type of actual does not match that of formal "T2"
+test_129\.ads:1.:49: instantiation abandoned
+gnatmake: "test_129\.ads" compilation error$""",
+ sources = (
+ ("pak1.ads", """-- legal instantiation rejected; illegal instantiation accepted
+-- adapted from John Woodruff c.l.a. post
+
+generic
+ type T1 is private;
+package pak1 is
+ subtype T3 is T1;
+end pak1;
+"""),
+ ("pak2.ads", """with pak1;
+generic
+ type T2 is private;
+package pak2 is
+ package the_pak1 is new pak1 (T1 => T2);
+end pak2;
+"""),
+ ("pak2-pak3.ads", """generic
+ type T2 is access the_pak1.T3;
+package pak2.pak3 is
+end pak2.pak3;
+"""),
+ ("test_129.ads", """with pak1;
+with pak2.pak3;
+package Test_129 is
+
+ type T4 is null record;
+ type T5 is null record;
+ subtype T3 is T5; -- line 9: triggers the bug at line 16
+
+ type T4_ptr is access T4;
+ type T5_ptr is access T5;
+
+ package new_pak2 is new pak2 (T2 => T4);
+ package new_pak3a is new new_pak2.pak3(T2 => T4_ptr); -- line 15: Legal
+ package new_pak3b is new new_pak2.pak3(T2 => T5_ptr); -- line 16: Illegal
+end Test_129;
+""")))
+
+print ("# Please ignore the gnatlink message.")
+check_reports_an_error_but_should_not (
+ bug = 280939,
+ make = ("gnatmake", "test_130"),
+ regex = "test_130\.adb:\(\.text\+0x5\): undefined reference to \`p2\'",
+ sources = (
+ ("pak1.ads", """-- RM 10.1.5(4) "the pragma shall have an argument that is a name
+-- denoting that declaration."
+-- RM 8.1(16) "The children of a parent library unit are inside the
+-- parent's declarative region."
+
+package pak1 is
+ pragma Pure;
+end pak1;
+"""),
+ ("pak1-p2.ads", """procedure pak1.p2;
+pragma Pure (p2); -- ERROR: need expanded name
+pragma Import (ada, p2); -- ERROR: need expanded name
+pragma Inline (p2); -- ERROR: need expanded name
+"""),
+ ("test_130.adb", """with Pak1.P2;
+procedure Test_130 is
+begin
+ Pak1.P2;
+end Test_130;
+""")))
+
+check_compiles_but_should_not (
+ bug = 283833,
+ make = ("gnatmake", "test_132"),
+ sources = (
+ ("pak1.ads", """-- RM 8.5.4(5) the convention of the renamed subprogram shall not
+-- be Intrinsic, if the renaming-as-body completes that declaration
+-- after the subprogram it declares is frozen.
+
+-- RM 13.14(3) the end of the declaration of a library package
+-- causes freezing of each entity declared within it.
+
+-- RM 6.3.1(7) the default calling convention is Intrinsic for
+-- any other implicitly declared subprogram unless it is a
+-- dispatching operation of a tagged type.
+
+package pak1 is
+ type T1 is null record;
+ procedure p1 (x1: T1);
+ type T2 is new T1;
+end pak1;
+"""),
+ ("pak1.adb", """package body Pak1 is
+ procedure P1 (X1 : T1) is begin null; end P1;
+end Pak1;
+"""),
+ ("test_132.ads", """with pak1;
+package Test_132 is
+ procedure p2 (x2: pak1.T2);
+end Test_132;
+"""),
+ ("test_132.adb", """package body Test_132 is
+ procedure p2 (x2: pak1.T2) renames pak1.p1; --ERROR: can't rename intrinsic
+end Test_132;
+""")))
+
+check_compiles_but_should_not (
+ bug = 283835,
+ make = ("gnatmake", "test_133"),
+ sources = (
+ ("test_133.ads", """package Test_133 is
+ package pak1 is
+ type T1 is null record;
+ end pak1;
+
+ package pak2 is
+ subtype boolean is standard.boolean;
+ function "=" (x, y: pak1.T1) return boolean;
+ end pak2;
+
+ use pak1, pak2;
+
+ x1: pak1.T1;
+ b1: boolean := x1 /= x1; -- ERROR: ambigous (gnat misses)
+ -- b2: boolean := x1 = x1; -- ERROR: ambigous
+end Test_133;
+"""),
+ ("test_133.adb", """package body test_133 is
+ package body pak2 is
+ function "=" (x, y: pak1.T1) return boolean is
+ begin
+ return true;
+ end "=";
+ end pak2;
+end test_133;
+""")))
+
+check_compiles_but_should_not (
+ bug = 416979,
+ make = ("gnatmake", "pak1"),
+ sources = (
+ ("pak1.ads", """package pak1 is
+ -- RM 7.3(13), 4.9.1(1)
+ -- check that discriminants statically match
+ type T1(x1: integer) is tagged null record;
+ x2: integer := 2;
+ x3: constant integer := x2;
+ type T2 is new T1 (x2) with private;
+ type T3 is new T1 (x3) with private;
+private
+ type T2 is new T1 (x2) with null record; --ERROR: nonstatic discriminant
+ type T3 is new T1 (x3) with null record; --ERROR: nonstatic discriminant
+end pak1;
+"""),))
+
+check_reports_an_error_but_should_not (
+ bug = 660698,
+ make = ("gnatmake", "proc.adb"),
+ regex = 'proc\.adb:17:28: there is no applicable operator "And" for type "Standard\.Integer"',
+ sources = (
+ ("proc.adb", """procedure Proc is
+ package P1 is
+ type T is new Integer;
+ function "and" (L, R : in Integer) return T;
+ end P1;
+ package body P1 is
+ function "and" (L, R : in Integer) return T is
+ pragma Unreferenced (L, R);
+ begin
+ return 0;
+ end "and";
+ end P1;
+ use type P1.T;
+ package P2 is
+ use P1;
+ end P2;
+ G : P1.T := Integer'(1) and Integer'(2);
+begin
+ null;
+end Proc;
+"""), ))
+
+check_produces_a_faulty_executable (
+ bug = 737225,
+ make = ("gnatmake", "round_decimal"),
+ trigger = "round_decimal",
+ regex = "Bug reproduced.",
+ sources = (
+ ("round_decimal.adb", """with Ada.Text_IO;
+
+procedure Round_Decimal is
+
+ -- OJBECTIVE:
+ -- Check that 'Round of a decimal fixed point type does round
+ -- away from zero if the operand is of a decimal fixed point
+ -- type with a smaller delta.
+
+ Unexpected_Compiler_Bug : exception;
+
+ type Milli is delta 0.001 digits 9;
+ type Centi is delta 0.01 digits 9;
+
+ function Rounded (Value : Milli) return Centi;
+ -- Value, rounded using Centi'Round
+
+ function Rounded (Value : Milli) return Centi is
+ begin
+ return Centi'Round (Value);
+ end Rounded;
+
+begin
+ -- Operands used directly:
+ if not (Milli'Round (0.999) = Milli'(0.999)
+ and
+ Centi'Round (0.999) = Centi'(1.0)
+ and
+ Centi'Round (Milli'(0.999)) = Centi'(1.0))
+ then
+ raise Unexpected_Compiler_Bug;
+ end if;
+ if Rounded (Milli'(0.999)) /= Centi'(1.0) then
+ Ada.Text_IO.Put_Line ("Bug reproduced.");
+ end if;
+end Round_Decimal;
+"""),))
+
+# Even if an error is reported, the problem with the atomic variable
+# should be checked.
+check_reports_an_error_but_should_not (
+ bug = 643663,
+ make = ("gnatmake", "test"),
+ regex = 'test\.adb:4:25: no value supplied for component "Reserved"',
+ sources = (
+ ("pkg.ads", """package Pkg is
+ type Byte is mod 2**8;
+ type Reserved_24 is mod 2**24;
+
+ type Data_Record is
+ record
+ Data : Byte;
+ Reserved : Reserved_24;
+ end record;
+
+ for Data_Record use
+ record
+ Data at 0 range 0 .. 7;
+ Reserved at 0 range 8 .. 31;
+ end record;
+
+ for Data_Record'Size use 32;
+ for Data_Record'Alignment use 4;
+
+ Data_Register : Data_Record;
+ pragma Atomic (Data_Register);
+end Pkg;
+"""), ("test.adb", """with Pkg;
+procedure Test is
+begin
+ Pkg.Data_Register := (
+ Data => 255,
+ others => <> -- expected error: no value supplied for component "Reserved"
+ );
+end Test;
+""")))
+
+check_produces_a_faulty_executable (
+ bug = 864969,
+ make = ("gnatmake", "main"),
+ trigger = "main",
+ regex = "ZZund",
+ sources = (
+ ("main.adb", """with Ada.Locales, Ada.Text_IO;
+procedure Main is
+begin
+ Ada.Text_IO.Put_Line (String (Ada.Locales.Country)
+ & String (Ada.Locales.Language));
+end Main;
+"""),))
+
+try:
+ os.rmdir (workspace)
+except:
+ print ("Some unconfirmed, not removing directory {}.".format (workspace))
--- /dev/null
+# Common settings for Ada Debian packaging.
+#
+# Copyright (C) 2012-2018 Nicolas Boulenguez <nicolas@debian.org>
+#
+# This program is free software: you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+
+# Typical use:
+#
+# gnat_version := $(shell gnatgcc -dumpversion)
+# DEB_BUILD_MAINT_OPTIONS := hardening=+all
+# DEB_LDFLAGS_MAINT_APPEND := -Wl,--as-needed -Wl,--no-undefined -Wl,--no-copy-dt-needed-entries -Wl,--no-allow-shlib-undefined
+# DEB_ADAFLAGS_MAINT_APPEND := -gnatwa -Wall
+# include /usr/share/dpkg/buildflags.mk
+# include /usr/share/ada/debian_packaging-$(gnat_version).mk
+
+
+# dpkg-dev provides /usr/share/dpkg/default.mk (or the
+# more specific buildflags.mk) to set standard variables like
+# DEB_HOST_MULTIARCH, CFLAGS, LDFLAGS... according to the build
+# environment (DEB_BUILD_OPTIONS...) and the policy (hardening
+# flags...).
+# You must include it before this file.
+ifeq (,$(findstring /usr/share/dpkg/buildflags.mk,$(MAKEFILE_LIST)))
+ $(error Please include /usr/share/dpkg/default.mk (or the more specific \
+ buildflags.mk) before $(lastword $(MAKEFILE_LIST)))
+endif
+
+# Ada is not in dpkg-dev flag list. We add a sensible default here.
+
+# Format checking is meaningless for Ada sources.
+ADAFLAGS := $(filter-out -Wformat -Werror=format-security, $(CFLAGS))
+
+ifdef DEB_ADAFLAGS_SET
+ ADAFLAGS := $(DEB_ADAFLAGS_SET)
+endif
+ADAFLAGS := $(DEB_ADAFLAGS_PREPEND) \
+ $(filter-out $(DEB_ADAFLAGS_STRIP),$(ADAFLAGS)) \
+ $(DEB_ADAFLAGS_APPEND)
+
+ifdef DEB_ADAFLAGS_MAINT_SET
+ ADAFLAGS := $(DEB_ADAFLAGS_MAINT_SET)
+endif
+ADAFLAGS := $(DEB_ADAFLAGS_MAINT_PREPEND) \
+ $(filter-out $(DEB_ADAFLAGS_MAINT_STRIP),$(ADAFLAGS)) \
+ $(DEB_ADAFLAGS_MAINT_APPEND)
+
+ifdef DPKG_EXPORT_BUILDFLAGS
+ export ADAFLAGS
+endif
+
+
+# Modifying LDFLAGS directly is confusing and deprecated,
+# but we keep the old behaviour during the transition period
+# because some bug work-arounds rely on --as-needed.
+
+# Avoid dpkg-shlibdeps warning about depending on a library from which
+# no symbol is used, see http://wiki.debian.org/ToolChain/DSOLinking.
+# Gnatmake users must upgrade to >= 4.6.4-1 to circumvent #680292.
+comma := ,
+ifeq (,$(filter -Wl$(comma)--as-needed,$(LDFLAGS)))
+ $(warning adding -Wl,--as-needed to LDFLAGS for compatibility, \
+ but please use DEB_LDFLAGS_MAINT_APPEND instead.)
+ LDFLAGS += -Wl,--as-needed
+ ifdef DPKG_EXPORT_BUILDFLAGS
+ export LDFLAGS
+ endif
+endif
+
+# Warn during build time if undefined symbols.
+ifeq (,$(filter -Wl$(comma)-z$(comma)defs -Wl$(comma)--no-undefined,$(LDFLAGS)))
+ $(warning adding -Wl,--no-undefined to LDFLAGS for compatibility, \
+ but please use DEB_LDFLAGS_MAINT_APPEND instead.)
+ LDFLAGS += -Wl,--no-undefined
+ ifdef DPKG_EXPORT_BUILDFLAGS
+ export LDFLAGS
+ endif
+endif
+
+######################################################################
+# C compiler version
+
+# GCC binaries must be compatible with GNAT at the binary level, use
+# the same version. This setting is mandatory for every upstream C
+# compilation ("export CC" is enough for dh_auto_configure with a
+# normal ./configure).
+
+CC := gnatgcc
+
+######################################################################
+# Options for gprbuild/gnatmake.
+
+# Let Make delegate parallelism to gnatmake/gprbuild.
+.NOTPARALLEL:
+
+# Use all processors unless parallel=n is set in DEB_BUILD_OPTIONS.
+# http://www.debian.org/doc/debian-policy/ch-source.html#s-debianrules-options
+# The value may be useful elsewhere. Example: SPHINXOPTS=-j$(BUILDER_JOBS)
+BUILDER_JOBS := $(filter parallel=%,$(DEB_BUILD_OPTIONS))
+ifneq (,$(BUILDER_JOBS))
+ BUILDER_JOBS := $(subst parallel=,,$(BUILDER_JOBS))
+else
+ BUILDER_JOBS := $(shell getconf _NPROCESSORS_ONLN)
+endif
+BUILDER_OPTIONS += -j$(BUILDER_JOBS)
+
+BUILDER_OPTIONS += -R
+# Avoid lintian warning about setting an explicit library runpath.
+# http://wiki.debian.org/RpathIssue
+
+ifeq (,$(filter terse,$(DEB_BUILD_OPTIONS)))
+BUILDER_OPTIONS += -v
+endif
+# Make exact command lines available for automatic log checkers.
+
+BUILDER_OPTIONS += -eS
+# Tell gnatmake to echo commands to stdout instead of stderr, avoiding
+# buildds thinking it is inactive and killing it.
+# -eS is the default on gprbuild.
+
+# You may be interested in
+# -s recompile if compilation switches have changed
+# (bad default because of interactions between -amxs and standard library)
+# -we handle warnings as errors
+# -vP2 verbose when parsing projects.
--- /dev/null
+#! /bin/sh
+
+# some build tools are linked with a new libstdc++ and fail to run
+# when building libstdc++.
+
+if [ -n "$LD_LIBRARY_PATH" ]; then
+ ma=$(dpkg-architecture -qDEB_BUILD_MULTIARCH)
+ export LD_LIBRARY_PATH="/lib/$ma:/usr/lib/$ma:/lib:/usr/lib:$LD_LIBRARY_PATH"
+fi
+
+exec /usr/bin/$(basename $0) "$@"
--- /dev/null
+gcc-8 (8.3.0-4) unstable; urgency=medium
+
+ * Update to SVN 20190326 (r269936) from the gcc-8-branch.
+ - Fix PR tree-optimization/89546, PR target/89523 (x86), PR fortran/84394,
+ PR fortran/66089, PR fortran/66695, PR fortran/77746, PR fortran/79485,
+ PR libgcc/60790, PR target/89775 (S390), PR debug/88389,
+ PR rtl-optimization/89753, PR middle-end/88273, PR fortran/71861,
+ PR fortran/68009.
+ * gcc-8-base: Breaks gnat-6 (<< 6.4) to ease upgrades. Closes: #924911.
+ * Fix cross building gdc (Helmut Grohne). Closes: #925040.
+ * Fix package descriptions for cross packages.
+ * Fix PR jit/87808: Don't rely on the gcc driver. Let libgccjit0
+ depend on binutils and libgcc-dev. Closes: #911668.
+ * Fix stripping the gcc-hppa64 package.
+
+ -- Matthias Klose <doko@debian.org> Tue, 26 Mar 2019 11:56:40 +0100
+
+gcc-8 (8.3.0-3) unstable; urgency=medium
+
+ * Update to SVN 20190316 (r269720) from the gcc-8-branch.
+ - Fix PR tree-optimization/89505, PR target/89517 (AArch64),
+ PR bootstrap/89539, PR debug/88878, PR debug/89514,
+ PR tree-optimization/89536, PR target/88100 (PPC), PR target/89397 (x86),
+ PR target/89361 (S390), PR c++/89212, PR fortran/89077,
+ PR fortran/77583, PR fortran/89174, PR fortran/87689, PR fortran/84387,
+ PR fortran/89516, PR fortran/89492, PR fortran/89266, PR fortran/88326,
+ PR libfortran/89020, PR target/88530 (AArch64), PR target/88530 (AArch64),
+ PR ipa/88235, PR c++/88820, PR c++/88869, PR c++/88419, PR c++/88690,
+ PR c++/87921, PR c++/89381, PR c++/89576, PR c++/89422, PR c++/87513,
+ PR c++/88183, PR c++/89585, PR fortran/71544, PR fortran/87734,
+ PR fortran/71203, PR fortran/72714, PR middle-end/89572, PR target/85860,
+ PR middle-end/89677, PR middle-end/89497, PR tree-optimization/89296,
+ PR tree-optimization/89664, PR rtl-optimization/89588, PR lto/88147,
+ PR target/86952 (x86), PR lto/88147, PR fortran/87673, PR c++/89383,
+ PR lto/87525, PR other/89712, PR testsuite/85368.
+ * Backport libgo patches for the Hurd from the trunk (Svante Signell).
+ * Add some more breaks to libstdc++6. Closes: #866354.
+
+ -- Matthias Klose <doko@debian.org> Sat, 16 Mar 2019 11:41:45 +0100
+
+gcc-8 (8.3.0-2) unstable; urgency=medium
+
+ * Fix the nvptx build.
+
+ -- Matthias Klose <doko@debian.org> Tue, 26 Feb 2019 09:26:57 +0100
+
+gcc-8 (8.3.0-1) unstable; urgency=medium
+
+ * GCC 8.3.0 release.
+ * Update newlib to newlib-3.1.0.20181231.
+ * Refresh patches.
+ * Fix PR middle-end/89412, patch taken from the trunk. Closes: #922683.
+
+ -- Matthias Klose <doko@debian.org> Mon, 25 Feb 2019 09:03:00 +0100
+
+gcc-8 (8.2.0-21) unstable; urgency=medium
+
+ * GCC 8.3.0 release candidate.
+ * Update to SVN 20190215 (r268938) from the gcc-8-branch.
+ - Fix PR middle-end/89303, PR lto/88858, PR ipa/89009,
+ PR tree-optimization/89314, PR middle-end/89281, PR target/89290 (x86),
+ PR middle-end/89246, PR tree-optimization/86554, PR lto/89260,
+ PR tree-optimization/89253, PR middle-end/89223, PR c++/89267,
+ PR tree-optimization/88739, PR target/88648 (ARM), PR target/89112 (PPC),
+ PR fortran/89077, PR fortran/71237, PR tree-optimization/89278,
+ PR other/89342, PR c++/88795, PR rtl-optimization/89354,
+ PR target/86684 (PPC), PR target/87149 (PPC), PR target/88892 (PPC),
+ PR rtl-optimization/85805, PR rtl-optimization/89242.
+ * Build-depend on locales-all instead of locales, don't generate locales
+ during the build, and attribute test dependencies with <!nocheck>.
+ * Remove the linaro-macros test for Linaro builds.
+ * gdc-8: Include again the libgphobos spec file, accidentally dropped in -18.
+
+ -- Matthias Klose <doko@debian.org> Fri, 15 Feb 2019 14:31:06 +0100
+
+gcc-8 (8.2.0-20) unstable; urgency=medium
+
+ * Update to SVN 20190209 (r268721) from the gcc-8-branch.
+ - Fix PR libstdc++/88066, PR libstdc++/87787, PR libstdc++/65229,
+ PR libstdc++/87308, PR libstdc++/89128, PR libstdc++/88119,
+ PR libstdc++/83511, PR libstdc++/88084, PR libstdc++/86910,
+ PR libstdc++/87846, PR libstdc++/86595, PR libstdc++/89117,
+ PR target/88861, PR rtl-optimization/89234, PR target/88343 (PPC),
+ PR tree-optimization/86991, PR debug/87295, PR debug/87295, PR lto/86736,
+ PR lto/87187, PR debug/88046, PR lto/87229, PR lto/88112,
+ PR target/85596, PR tree-optimization/88427, PR tree-optimization/88217,
+ PR tree-optimization/88149, PR c++/88761, PR c++/88752, PR c++/86943.
+ - Undo reverting the fix for PR c++/86610.
+ * Update the gcc-linaro-doc patch.
+ * Fix the libphobos multilib cross builds.
+
+ -- Matthias Klose <doko@debian.org> Sat, 09 Feb 2019 17:58:52 +0100
+
+gcc-8 (8.2.0-19) unstable; urgency=medium
+
+ * Update to SVN 20190207 (r268611) from the gcc-8-branch.
+ - Fix PR target/88856 (S390X). Addresses: #915738. LP: #1815057.
+ - Fix PR target/87064 (PPC), PR c++/89083, c++/80864, PR fortran/67679,
+ PR tree-optimization/88105, PR tree-optimization/88223,
+ PR middle-end/88448, PR middle-end/88415, PR tree-optimization/88030,
+ PR tree-optimization/87929, PR tree-optimization/89135,
+ PR tree-optimization/88903, PR c++/89158, PR c++/88983, PR c++/89119,
+ PR c++/89024, PR c++/88988, PR middle-end/89002, PR middle-end/88968,
+ PR c/89211, PR target/89188, PR rtl-optimization/89195, PR target/89186,
+ PR middle-end/87887, PR tree-optimization/88107, PR sanitizer/89124,
+ PR c++/89105, PR c++/66676, PR ipa/89104, PR middle-end/89002,
+ PR target/89073, PR target/87214, PR tree-optimization/88964,
+ PR tree-optimization/88964, PR target/88965, PR target/88905,
+ PR rtl-optimization/49429, PR target/49454, PR rtl-optimization/86334,
+ PR target/88906, PR target/88734, PR rtl-optimization/88870,
+ PR bootstrap/88714, PR c/88568, PR debug/88723, PR debug/88635,
+ PR c++/89187, PR c++/88988, PR c++/88976, PR c++/88949,
+ PR sanitizer/88901, PR fortran/83246, PR fortran/89084,
+ PR fortran/88902.
+ * Update the support to build without packages being built by GCC 9.
+
+ -- Matthias Klose <doko@debian.org> Thu, 07 Feb 2019 21:56:01 +0100
+
+gcc-8 (8.2.0-17) unstable; urgency=medium
+
+ * Update to SVN 20190204 (r268512) from the gcc-8-branch.
+ - Fix PR rtl-optimization/89115 (compile time part). Addresses: #918329.
+ - Fix PR tree-optimization/89008, PR tree-optimization/87022,
+ PR tree-optimization/88932, PR fortran/88393, PR fortran/88980,
+ PR fortran/88685, PR fortran/88298, PR fortran/57048, PR libfortran/88678.
+ * Backport libffi RISC-V go closures. Closes: #920939.
+ * Add support to build from the gcc-8 ARM/Linaro branch.
+
+ -- Matthias Klose <doko@debian.org> Mon, 04 Feb 2019 14:58:52 +0100
+
+gcc-8 (8.2.0-16) unstable; urgency=medium
+
+ * Update to SVN 20190130 (r268398) from the gcc-8-branch.
+ - Fix PR tree-optimization/86865, PR tree-optimization/86865,
+ PR target/88948, PR c++/86740, PR c++/87075,
+ PR fortran/56386, PR fortran/58906, PR fortran/77385, PR fortran/80260,
+ PR fortran/82077, PR fortran/87336.
+ * Revert the fix for PR c++/86610, causing PR c++/88995. Closes: #920821.
+
+ -- Matthias Klose <doko@debian.org> Wed, 30 Jan 2019 18:21:01 +0100
+
+gcc-8 (8.2.0-15) unstable; urgency=medium
+
+ * Update to SVN 20190125 (r268257) from the gcc-8-branch.
+ - Fix PR libstdc++/80762, PR libstdc++/80762, PR libstdc++/87855,
+ PR libstdc++/87514, PR libstdc++/87520, PR libstdc++/88782,
+ PR libstdc++/87855, PR c/88720, PR c/88726, PR ipa/88214,
+ PR ipa/85574, PR tree-optimization/85574, PR target/84010 (SPARC),
+ PR target/88938 (x86), PR target/88799 (ARM), PR tree-optimization/89008,
+ PR c++/86610, PR fortran/81849, PR fortran/88803, PR fortran/35031,
+ PR libfortran/88776, PR target/88998 (x86), PR target/88469 (ARM).
+ * Turn on profiled bootstrap on x86, ARM32, AArch64, PPC64 and s390x
+ architectures for native builds.
+ * Relax the shlibs dependency for libgnat-8. Closes: #920246.
+
+ -- Matthias Klose <doko@debian.org> Fri, 25 Jan 2019 09:36:26 +0100
+
+gcc-8 (8.2.0-14) unstable; urgency=medium
+
+ * Update to SVN 20190108 (r267721) from the gcc-8-branch.
+ - Fix PR fortran/88463, PR libstdc++/64883, PR c++/88215,
+ PR sanitizer/88426, PR inline-asm/55681, PR middle-end/82564,
+ PR target/88620, PR target/88594 (x86), PR debug/88644,
+ PR middle-end/85594, PR middle-end/88553, PR target/88522 (x86),
+ PR rtl-optimization/88563, PR target/88541 (x86), PR c++/82294,
+ PR c++/87436, PR rtl-optimization/88470, PR rtl-optimization/88416,
+ PR target/85593, PR target/87598 (AArch64), PR tree-optimization/87360,
+ PR target/88234 (PPC), PR c++/86900, PR target/85644 (x86),
+ PR target/86832 (x86), PR tree-optimization/87895,
+ PR tree-optimization/88071, PR debug/87039, PR rtl-optimization/87475,
+ PR rtl-optimization/88018, PR tree-optimization/87898, PR lto/88130,
+ PR lto/86517, PR lto/88185, PR inline-asm/55681, PR ipa/88561,
+ PR c++/87380, PR target/88418 (x86), PR target/88213 (PPC),
+ PR c++/88180, PR c++/87934, PR c++/88410, PR c++/82294, PR c++/87436,
+ PR c++/86669, PR c++/87506, PR c++/88103, PR c++/88181, PR c++/88122,
+ PR inline-asm/55681, PR fortran/88463, PR fortran/88377,
+ PR fortran/77703, PR fortran/77325, PR fortran/85798, PR fortran/85544,
+ PR fortran/88169, PR fortran/87359.
+ * Bump standards version.
+
+ -- Matthias Klose <doko@debian.org> Tue, 08 Jan 2019 12:43:13 +0100
+
+gcc-8 (8.2.0-13) unstable; urgency=medium
+
+ * Update to SVN 20181218 (r267225) from the gcc-8-branch.
+ - Fix PR target/87853, PR target/87496 (PPC), PR c++/87531,
+ PR fortran/88155, PR fortran/88249, PR fortran/87922, PR fortran/88269,
+ PR fortran/88205, PR fortran/88206, PR fortran/88228, PR fortran/88138,
+ PR fortran/88116, PR fortran/88467, PR target/88224 (ARM),
+ PR rtl-optimization/88001, PR rtl-optimization/88253.
+ * gcc-8-source: Depend on lsb-release.
+ * Disable broken selective scheduling on ia64 (Adrian Glaubitz).
+ See PR rtl-optimization/85412. Closes: #916591.
+ * Fix PR sanitizer/88426, taken from the trunk. Closes: #916388.
+ * Fix perl shebang for the gnathtml binary.
+ * Lower priority of libgcc[124] and libstdc++6 packages.
+ * Don't add the libstdc++6 breaks for releases newer than stretch.
+ * libgccjit-doc: Install image files.
+ * Stop building gnat on powerpcspe. Closes: #912649.
+ * Don't provide <frontend>-compiler names for cross compiler packages.
+ Addresses: #916376. Not a final solution.
+
+ -- Matthias Klose <doko@debian.org> Tue, 18 Dec 2018 07:25:34 +0100
+
+gcc-8 (8.2.0-12) unstable; urgency=medium
+
+ * Update to SVN 20181209 (r266918) from the gcc-8-branch.
+ - Fix PR fortran/88048, PR fortran/88025.
+ * Back-out the fix for PR c++/87531. Closes: #915980.
+
+ -- Matthias Klose <doko@debian.org> Sun, 09 Dec 2018 11:02:40 +0100
+
+gcc-8 (8.2.0-11) unstable; urgency=medium
+
+ * Update to SVN 20181206 (r266855) from the gcc-8-branch.
+ - Fix PR libstdc++/70694, PR libstdc++/88199, PR tree-optimization/87288,
+ PR target/81685, PR target/87496 (PPC), PR tree-optimization/79351,
+ PR tree-optimization/88229, PR target/84711 (ARM), PR c++/88120,
+ PR c++/87531, PR fortran/88073, PR fortran/88143, PR libfortran/88137,
+ PR libfortran/88137.
+ * Back-out the gcc-search-prefixed-as-ld patch. See #915194.
+
+ -- Matthias Klose <doko@debian.org> Fri, 07 Dec 2018 00:06:23 +0100
+
+gcc-8 (8.2.0-10) unstable; urgency=medium
+
+ * Update to SVN 20181123 (r266402) from the gcc-8-branch.
+ - Fix PR libstdc++/87822, PR libstdc++/87809, PR rtl-optimization/85925,
+ PR gcov-profile/88045, PR target/87928 (x86), PR debug/88006,
+ PR debug/87462, PR target/85968 (ARC), PR middle-end/58372,
+ PR target/87867 (ARM), PR tree-optimization/87859, PR sanitizer/87837,
+ PR middle-end/87647, PR middle-end/85488, PR middle-end/87649,
+ PR c++/86246, PR c++/87989, PR c++/86288, PR fortran/87725,
+ PR fortran/87597, PR lto/88077, PR libfortran/78351,
+ PR libstdc++/85930, PR libstdc++/87520, PR target/88051 (x86).
+
+ [ Matthias Klose ]
+ * Fix VCS attribute in the control file. Addresses: #912405.
+ * Update the Linaro support to the 8-2018.08 snapshot.
+ * Fix binutils dependency for Ubuntu trusty.
+
+ [ Nicolas Boulenguez ]
+ * Stop writing -f*-prefix-map options to Ada Library Information files.
+ * Drop obsolete Ada patches.
+ * Fix autogen syntax in ada-armel-libatomic.diff.
+
+ -- Matthias Klose <doko@debian.org> Fri, 23 Nov 2018 09:33:03 +0100
+
+gcc-8 (8.2.0-9) unstable; urgency=medium
+
+ * Update to SVN 20181029 (r265595) from the gcc-8-branch.
+ - Fix PR middle-end/87087, PR middle-end/87623, PR libstdc++/87641,
+ PR middle-end/87645, PR libstdc++/87749, PR libstdc++/87704,
+ PR other/86198, PR debug/87428, PR debug/87362, PR bootstrap/81033,
+ PR target/81733, PR target/52795, PR target/85669,
+ PR tree-optimization/87473, PR tree-optimization/87665,
+ PR tree-optimization/87745, PR tree-optimization/87665,
+ PR tree-optimization/87700, PR debug/86687.
+ * Update VCS attributes in the control file.
+ * Don't configure native builds with --with-sysroot. Apparently this cannot
+ be completely overridden with the command line option --sysroot.
+ * gcc-8-base: Break gnat (<< 7). Closes: #911633.
+
+ [ Nicolas Boulenguez ]
+ * Update ada patches.
+
+ -- Matthias Klose <doko@debian.org> Tue, 30 Oct 2018 10:50:43 +0100
+
+gcc-8 (8.2.0-8) unstable; urgency=medium
+
+ * Update to SVN 20181017 (r265234) from the gcc-8-branch.
+ - Fix PR libstdc++/86751, PR libstdc++/78595, PR libstdc++/87061,
+ PR libstdc++/70966, PR libstdc++/77854, PR libstdc++/87538,
+ PR libgcc/85334, PR middle-end/63155, PR target/87511 (AArch64),
+ PR middle-end/87610, PR tree-optimization/87465, PR target/87550 (x86),
+ PR target/87414 (x86), PR tree-optimization/86844, PR target/86731 (PPC),
+ PR target/87370 (x86), PR target/87517 (x86), PR target/87522 (x86),
+ PR other/87353, PR gcov-profile/86109, PR target/82699 (x86),
+ PR target/87467 (x86), PR target/87033 (PPC), PR sanitizer/85774,
+ PR rtl-optimization/86882, PR gcov-profile/85871, PR c++/87582,
+ PR c++/84940, PR gcov-profile/86109, PR c++/85070, PR c++/86881,
+ PR fortran/83999, PR fortran/86372, PR fortran/86111, PR fortran/85395,
+ PR fortran/86830, PR fortran/85954.
+
+ -- Matthias Klose <doko@debian.org> Wed, 17 Oct 2018 09:45:31 +0200
+
+gcc-8 (8.2.0-7) unstable; urgency=medium
+
+ * Update to SVN 20180917 (r264370) from the gcc-8-branch.
+ - Fix PR libstdc++/87278, PR target/85666 (mmix), PR middle-end/87188,
+ PR target/87224 (PPC), PR target/86989 (PPC), PR rtl-optimization/86771,
+ PR middle-end/87248, PR c++/87093, PR fortran/87284, PR fortran/87277.
+
+ -- Matthias Klose <doko@debian.org> Mon, 17 Sep 2018 17:46:50 +0200
+
+gcc-8 (8.2.0-6) unstable; urgency=medium
+
+ * Update to SVN 20180908 (r264168) from the gcc-8-branch.
+ - Fix PR c++/87137, PR bootstrap/87225, PR target/87198 (x86),
+ PR middle-end/87138, PR tree-optimization/86835, PR c++/87185,
+ PR c++/87095, PR c++/86836, PR c++/86738, PR c++/86706, PR fortran/86116.
+ * Apply proposed patch for PR go/87260.
+ * Apply proposed patch for PR tree-optimization/87188. Closes: #907586.
+ * Fix PR target/86731 (PPC), taken from the trunk. Closes: #905868.
+
+ -- Matthias Klose <doko@debian.org> Sun, 09 Sep 2018 14:43:43 +0200
+
+gcc-8 (8.2.0-5) unstable; urgency=medium
+
+ * Update to SVN 20180904 (r264075) from the gcc-8-branch.
+ - Fix PR sanitizer/86022, PR libstdc++/87116, PR other/86992,
+ PR tree-optimization/86914, PR middle-end/87099,
+ PR rtl-optimization/87065, PR target/86662, PR target/87014,
+ PR target/86640, PR gcov-profile/86817, PR tree-optimization/86871,
+ PR c++/86763, PR fortran/86837, PR libfortran/86704,
+ PR tree-optimization/85859, PR tree-optimization/87074,
+ PR tree-optimization/86927, PR middle-end/87024, PR middle-end/86505,
+ PR tree-optimization/86945, PR tree-optimization/86816,
+ PR lto/86456, PR c++/87155, PR c++/84707, PR c++/87122,
+ PR fortran/86328, PR fortran/86760.
+ * Remove ia64 boostrap work around (Jason Duerstock). Closes: #906675.
+
+ -- Matthias Klose <doko@debian.org> Tue, 04 Sep 2018 09:04:17 +0200
+
+gcc-8 (8.2.0-4) unstable; urgency=medium
+
+ * Update to SVN 20180814 (r263527) from the gcc-8-branch.
+ - Fix PR libstdc++/86597, PR libstdc++/84535, PR libstdc++/60555,
+ PR libstdc++/86874, PR libstdc++/86861, PR target/86386 (x86),
+ PR c++/86728, PR c++/86767, PR fortran/86906.
+
+ [ Nicolas Boulenguez ]
+ * gnat: set ld_library_path for tested gnat tools.
+ * In the gnat autopkg test, tell gnatmake to report progress on stdout.
+ * gnat: Improve the ada-gcc-name patch.
+ * Update ada/debian_packaging.mk.
+
+ -- Matthias Klose <doko@debian.org> Tue, 14 Aug 2018 11:45:55 +0200
+
+gcc-8 (8.2.0-3) unstable; urgency=medium
+
+ * Update to SVN 20180803 (r263086) from the gcc-8-branch.
+ - Fix PR middle-end/86705, PR target/86820 (m68k).
+ * Build using ISL 0.20.
+ * Fix some autopkg tests (allow stderr, explicitly depend on libc-dev).
+
+ -- Matthias Klose <doko@debian.org> Fri, 03 Aug 2018 12:32:31 +0200
+
+gcc-8 (8.2.0-2) unstable; urgency=medium
+
+ * Update to SVN 20180802 (r263045) from the gcc-8-branch.
+ - Fix PR middle-end/86542, PR middle-end/86539, PR middle-end/86660,
+ PR middle-end/86627, PR target/86511, PR sanitizer/86759, PR c/85704,
+ PR libstdc++/86734, PR bootstrap/86724, PR target/86651, PR c/86617,
+ PR c++/86190.
+ - Fix PR libstdc++/84654, PR libstdc++/85672. LP: #1783705.
+ * Update cross-build patches for GCC 8.2.
+ * Refresh patches.
+ * Add some basic autopkg tests for Ada, C, C++, Go, OpenMP and Fortran.
+ * Backport r262835 to fix a wrong-code generation on m68k (Adrian Glaubits).
+
+ -- Matthias Klose <doko@debian.org> Thu, 02 Aug 2018 05:59:26 +0200
+
+gcc-8 (8.2.0-1) unstable; urgency=medium
+
+ * GCC 8.2.0 release.
+ * Update GDC to 20180726 from the gdc-8-stable branch..
+
+ -- Matthias Klose <doko@debian.org> Thu, 26 Jul 2018 13:28:20 +0200
+
+gcc-8 (8.1.0-12) unstable; urgency=medium
+
+ * GCC 8.2.0 release candidate.
+ * Update to SVN 20180719 (r262861) from the gcc-8-branch.
+ - Fix PR middle-end/85602, PR c++/86480.
+
+ [ Nicolas Boulenguez ]
+ * ada-verbose patch: Make the ada build more verbose.
+ * Update the ada-gcc-name patch again. See #856274. Closes: #903694.
+
+ [ Matthias Klose ]
+ * Rewrite debian/README.cross.
+
+ -- Matthias Klose <doko@debian.org> Thu, 19 Jul 2018 17:39:39 +0200
+
+gcc-8 (8.1.0-11) unstable; urgency=medium
+
+ * Update to SVN 20180717 (r262818) from the gcc-8-branch.
+ - Fix PR c/86453, PR debug/86452, PR debug/86457, PR middle-end/85974,
+ PR middle-end/86076, PR tree-optimization/85935,
+ PR tree-optimization/86514, PR tree-optimization/86274,
+ PR target/84413 (x86), PR middle-end/86202, PR target/84829,
+ PR c++/3698, PR c++/86208, PR c++/86374, PR sanitizer/86406,
+ PR fortran/83184, PR fortran/86417, PR fortran/83183,
+ PR fortran/86325.
+
+ [ Nicolas Boulenguez ]
+ * Update the ada-gcc-name patch, not appending the suffix twice.
+ Addresses: #856274.
+
+ -- Matthias Klose <doko@debian.org> Tue, 17 Jul 2018 14:09:13 +0200
+
+gcc-8 (8.1.0-10) unstable; urgency=medium
+
+ * Update to SVN 20180712 (r262577) from the gcc-8-branch.
+ - Fix PR libstdc++/86272, PR libstdc++/86127, PR target/85904,
+ PR libstdc++/85098, PR libstdc++/85671, PR libstdc++/83982,
+ PR libstdc++/86292, PR libstdc++/86138, PR libstdc++/84087,
+ PR libstdc++/86398, PR hsa/86371, PR tree-optimization/86492,
+ PR c++/86400, PR target/86285 (PPC), PR debug/86064,
+ PR target/86222 (PPC), PR rtl-optimization/85645,
+ PR rtl-optimization/85645, PR target/86314 (x86), PR sanitizer/86406,
+ PR c++/86398, PR c++/86378, PR c++/86320, PR c++/80290,
+ PR fortran/82969, PR fortran/86242, PR fortran/82865.
+ * Enable decimal float support on kfreebsd-amd64. Closes: #897416.
+
+ -- Matthias Klose <doko@debian.org> Thu, 12 Jul 2018 10:07:17 +0200
+
+gcc-8 (8.1.0-9) unstable; urgency=medium
+
+ * Update to SVN 20180626 (r262138) from the gcc-8-branch.
+ - Fix PR libstdc++/86138, PR libstdc++/82644, PR libgcc/86213,
+ PR c++/86210, PR c/86093, PR target/86197 (PPC), PR target/85358 (PPC),
+ PR tree-optimization/85989, PR target/85657 (PPC), PR target/85657 (PPC),
+ PR target/85994, PR rtl-optimization/86108, PR debug/86194,
+ PR tree-optimization/86231, PR c/82063, PR c++/86219, PR c++/86182,
+ PR c++/85634, PR c++/86200, PR c++/81060, PR fortran/83118,
+ PR libstdc++/86112, PR libstdc++/81092, PR fortran/82972,
+ PR fortran/83088, PR fortran/85851, PR c++/86291.
+
+ [ Nicolas Boulenguez ]
+ * Remove Ludovic Brenta's work to let Ada build tools link with freshly
+ built libgnat.so, this is now handled by upstream testsuite.
+
+ [ Iain Buclaw ]
+ * gdc: Explicitly set test action as compile in all dg tests.
+
+ [ Matthias Klose ]
+ * Build using gnat-8.
+
+ -- Matthias Klose <doko@debian.org> Tue, 26 Jun 2018 10:45:36 +0200
+
+gcc-8 (8.1.0-8) unstable; urgency=medium
+
+ * Update to SVN 20180617 (r261686) from the gcc-8-branch.
+ - Fix PR libstdc++/86169, PR middle-end/86095, PR middle-end/85878,
+ PR middle-end/86123, PR middle-end/86122, PR c++/86147, PR c++/82882,
+ PR fortran/85703, PR fortran/85702, PR fortran/85701.
+ * Fix applying the powerpcspe patches.
+
+ -- Matthias Klose <doko@debian.org> Sun, 17 Jun 2018 12:56:15 +0200
+
+gcc-8 (8.1.0-6) unstable; urgency=medium
+
+ * Update to SVN 20180614 (r261597) from the gcc-8-branch.
+ - Fix PR libstdc++/86008, PR libstdc++/85930, PR libstdc++/85951,
+ PR target/85591 (x86), PR c++/85710, PR c++/80485, PR target/85755 (PPC),
+ PR target/85755 (PPC), PR target/81497 (ARM), PR target/85684 (x86),
+ PR target/63177 (PPC), PR tree-optimization/86038,
+ PR tree-optimization/85964, PR tree-optimization/85934, PR c++/86025,
+ PR tree-optimization/85863, PR c/85623, PR target/86003 (ARM),
+ PR tree-optimization/85712, PR target/85950 (x86), PR target/85984,
+ PR target/85829 (x86), PR c++/85792, PR c++/85963, PR c++/61806,
+ PR c++/85765, PR c++/85764, PR c++/85807, PR c++/85815, PR c++/86094,
+ PR c++/86060, PR c++/85847, PR c++/85976, PR c++/85731, PR c++/85739,
+ PR c++/85761, PR c++/85873, PR fortran/44491, PR fortran/85138,
+ PR fortran/85996, PR fortran/86051, PR fortran/86059, PR fortran/63514,
+ PR fortran/78278, PR fortran/38351, PR fortran/78571, PR fortran/85631,
+ PR fortran/86045, PR fortran/85641, PR fortran/85816, PR fortran/85975,
+ PR libgfortran/85840, PR target/85945, PR middle-end/86139,
+ PR other/77609, PR tree-optimization/86114, PR target/86048 (x86),
+ PR fortran/86110.
+ - libgo: update to Go 1.10.3 release.
+
+ -- Matthias Klose <doko@debian.org> Thu, 14 Jun 2018 16:57:14 +0200
+
+gcc-8 (8.1.0-5) unstable; urgency=medium
+
+ * Update to SVN 20180531 (r260992) from the gcc-8-branch.
+ - Fix PR sanitizer/86012, PR c/85696, PR c++/85662, PR target/85756 (x86),
+ PR target/85683 (x86), PR c++/85952, PR c/85696, PR c++/85662.
+ - Fix libsanitizer build on sparc64.
+ * libgo: Make the vet tool work with gccgo (taken from the trunk).
+
+ -- Matthias Klose <doko@debian.org> Thu, 31 May 2018 15:18:52 +0200
+
+gcc-8 (8.1.0-4) unstable; urgency=medium
+
+ * Update to SVN 20180529 (r260895) from the gcc-8-branch.
+ - Fix PR c++/85782, PR sanitizer/85835, PR libstdc++/85818,
+ PR libstdc++/85818, PR libstdc++/83891, PR libstdc++/84159,
+ PR libstdc++/67554, PR libstdc++/82966, PR bootstrap/85921,
+ PR sanitizer/85556, PR target/85900 (x86), PR target/85345 (x86),
+ PR c++/85912, PR target/85903 (x86), PR tree-optimization/85793,
+ PR middle-end/85874, PR tree-optimization/85822, PR middle-end/85643,
+ PR tree-optimization/85814, PR target/85698 (PPC), PR c++/85842,
+ PR c++/85864, PR c++/81420, PR c++/85866, PR c++/85782, PR fortran/85786,
+ PR fortran/85895, PR fortran/85780, PR fortran/85779, PR fortran/85543,
+ PR fortran/80657, PR fortran/49636, PR fortran/82275, PR fortran/82923,
+ PR fortran/66694, PR fortran/82617, PR fortran/85742, PR fortran/85542,
+ PR libgfortran/85906, PR libgfortran/85840.
+
+ [ Nicolas Boulenguez ]
+ * Update ada/confirm_debian_bugs to gcc-8 and python3.
+
+ [ Matthias Klose ]
+ * gnat-*: Don't search the target dirs when calling dh_shlibdeps.
+ * Stop shipping unstripped binaries with the final release. Closes: #894014.
+
+ -- Matthias Klose <doko@debian.org> Tue, 29 May 2018 14:34:37 +0200
+
+gcc-8 (8.1.0-3) unstable; urgency=medium
+
+ * Update to SVN 20180512 (r260194) from the gcc-8-branch.
+ - Fix PR ipa/85655, PR target/85733 (ARM), PR target/85606 (ARM),
+ PR fortran/70870, PR fortran/85521, PR fortran/85687, PR fortran/68846,
+ PR fortran/70864.
+ * Fix name of the g++ multiarch include directory. Closes: #898323.
+ * Fix PR sanitizer/85556, attribute no_sanitize does not accept multiple
+ options; taken from the trunk. Closes: #891489.
+
+ -- Matthias Klose <doko@debian.org> Sat, 12 May 2018 10:36:05 -0400
+
+gcc-8 (8.1.0-2) unstable; urgency=medium
+
+ * Update to SVN 20180510 (r260147) from the gcc-8-branch.
+ - Fix PR go/85630, PR target/85519 (nvptx), PR libstdc++/85642,
+ PR libstdc++/84769, PR libstdc++/85632, PR libstdc++/80506,
+ PR target/85512 (AArch64), PR c++/85305, PR ada/85635, PR ada/85540,
+ PR rtl-optimization/85638, PR middle-end/85588, PR middle-end/85588,
+ PR tree-optimization/85615, PR middle-end/85567, PR target/85658 (ARM),
+ PR tree-optimization/85597, PR middle-end/85627, PR c++/85659,
+ PR c++/85706, PR c++/85695, PR c++/85646, PR c++/85618, PR fortran/85507.
+ * Don't configure with --with-as and --with-ld, but search the triplet
+ prefixed as and ld in the same places as as/ld. Closes: #896057, #897896.
+ * Enable decimal float support on kfreebsd-amd64. Closes: #897416.
+
+ -- Matthias Klose <doko@debian.org> Thu, 10 May 2018 20:43:42 -0400
+
+gcc-8 (8.1.0-1) unstable; urgency=medium
+
+ * GCC 8.1.0 release.
+ * Stop providing the 8.x.y symlinks in gcc_lib_dir and incluce/c++.
+ * Configure powerpcspe with --enable-obsolete, will be gone with GCC 9.
+ * Build libmpx libraries when not building the common libs.
+ * Update NEWS files for GCC 8.1.
+
+ -- Matthias Klose <doko@debian.org> Wed, 02 May 2018 11:43:46 +0200
+
+gcc-8 (8-20180425-1) unstable; urgency=medium
+
+ * GCC 8 snapshot, taken from the trunk 20180425 (r259628).
+
+ [ Matthias Klose ]
+ * Update nvptx-newlib to 20180424.
+ * Use the binutils in the build chroot if present.
+ * Don't use dwz for GCC backports.
+ * Install the movdirintrin.h header file.
+
+ [ Aurelien Jarno ]
+ * Enable logwatch on riscv64.
+
+ -- Matthias Klose <doko@debian.org> Wed, 25 Apr 2018 06:56:58 +0200
+
+gcc-8 (8-20180414-1) unstable; urgency=medium
+
+ * GCC 8 snapshot, taken from the trunk 20180414 (r259383).
+
+ [ Matthias Klose ]
+ * Update GDC to 20180410.
+ * Don't install i586 symlinks anymore for i386 builds in sid.
+ * Fix zlib-dev dependencies for the libphobos cross multilib packages.
+ * Fix dependency generation for libatomic and libquadmath cross packages.
+ * Use triplet-prefixed as and ld (Helmut Grohne). Closes: #895251.
+ * Link libasan, liblsan, libubsan always with --no-as-needed. LP: #1762683.
+ * Use --push-state --as-needed and --pop-state instead of --as-needed and
+ --no-as-needed for linking libgcc.
+ * Update the gcc-foffload-default patch. LP: #1721355.
+
+ [ Svante Signell ]
+ * Reintroduce libgo patches for hurd-i386. Closes: #894080.
+
+ -- Matthias Klose <doko@debian.org> Sat, 14 Apr 2018 07:10:01 +0200
+
+gcc-8 (8-20180402-1) unstable; urgency=medium
+
+ * GCC 8 snapshot, taken from the trunk 20180402 (r259004).
+ * Build a native compiler with a cross directory layout using the
+ FORCE_CROSS_LAYOUT environment variable.
+
+ -- Matthias Klose <doko@debian.org> Mon, 02 Apr 2018 10:09:27 +0200
+
+gcc-8 (8-20180331-1) unstable; urgency=medium
+
+ * GCC 8 snapshot, taken from the trunk 20180331 (r258989).
+ - Fix PR/libstdc++/85040, std::less<void> fails when operator< is
+ overloaded. Closes: #893517.
+ - Fix PR/target 84148, CET shouldn't be enabled in 32-bit run-time
+ libraries by default. Closes: #890092.
+
+ [ Samuel Thibault ]
+ * Fix disabling go on hurd-i386 for now.
+
+ [ Matthias Klose ]
+ * gdc: Link with the shared libphobos library by default.
+ * Fix control file generation for nolang=biarch builds (Helmut Grohne).
+ Closes: #891289.
+ * Simplify architecture to gnu-type mapping (Helmut Grohne). Closes: #893493.
+
+ -- Matthias Klose <doko@debian.org> Sat, 31 Mar 2018 15:14:44 +0800
+
+gcc-8 (8-20180321-1) unstable; urgency=medium
+
+ * GCC 8 snapshot, taken from the trunk 20180321 (r258712).
+ - Fix PR sanitizer/84761. Addresses: #892096.
+ * Update GDC to 20180320.
+ * Reenable building gdc.
+
+ -- Matthias Klose <doko@debian.org> Wed, 21 Mar 2018 19:47:27 +0800
+
+gcc-8 (8-20180319-1) unstable; urgency=medium
+
+ * GCC 8 snapshot, taken from the trunk 20180319 (r258631).
+
+ [ Aurelien Jarno ]
+ * Default to PIE on riscv64.
+ * Temporarily do not build-depend on gdb on riscv64.
+
+ -- Matthias Klose <doko@debian.org> Mon, 19 Mar 2018 02:18:29 +0800
+
+gcc-8 (8-20180312-2) unstable; urgency=medium
+
+ * GCC 8 snapshot, taken from the trunk 20180312 (r258445).
+ * Update GDC to 20180311.
+
+ [ Matthias Klose ]
+ * Fix typo in libasan and lib32asan symbols files for s390x.
+
+ [ Aurelien Jarno ]
+ * Disable gnat on riscv64.
+ * Backport RISC-V libffi support from upstream.
+
+ -- Matthias Klose <doko@debian.org> Mon, 12 Mar 2018 12:33:10 +0100
+
+gcc-8 (8-20180310-1) unstable; urgency=medium
+
+ * GCC 8 snapshot, taken from the trunk 20180310 (r258410).
+ * Build libasan and libubsan packages on s390x.
+ * Update libasan symbols files for s390x.
+
+ -- Matthias Klose <doko@debian.org> Sat, 10 Mar 2018 10:54:02 +0700
+
+gcc-8 (8-20180308-1) unstable; urgency=medium
+
+ * GCC 8 snapshot, taken from the trunk 20180308 (r258348).
+ * Update GDC to 20180304.
+
+ [ Matthias Klose ]
+ * Fix cross builds building without "common" libraries.
+ * Fix cross-building libgnat on armel, when not building the common libraries.
+ * Remove the go patches for the Hurd. Unmaintained.
+ * Update libcc1 symbols file.
+ * Install more intrinsic header files.
+
+ [ Aurelien Jarno ]
+ * Configure s390x build with --with-arch=z196 on Debian.
+ * Drop libgo-s390x-default-isa.diff patch.
+ * Disable multilib on riscv64.
+ * Update gcc-as-needed.diff, gcc-hash-style-both.diff and
+ gcc-hash-style-gnu.diff for riscv64.
+ * Update gcc-multiarch.diff for riscv64.
+
+ [ Karsten Merker ]
+ * Force the riscv64 ISA to rv64imafdc and ABI to lp64d.
+
+ -- Matthias Klose <doko@debian.org> Thu, 08 Mar 2018 14:17:37 +0700
+
+gcc-8 (8-20180218-1) unstable; urgency=medium
+
+ * GCC 8 snapshot, taken from the trunk 20180208 (r257477).
+ * Update GDC to 20180211.
+ * Store basename only in gfortran .mod files. Addresses: #889133.
+ * Disable go on the hurd, patches are out of date.
+ * Configure with --disable-libquadmath-support when not explicitly enabled.
+ * For armel multilib builds, explicitly set architecture and cpu for the
+ hard-float multilib.
+
+ -- Matthias Klose <doko@debian.org> Sun, 18 Feb 2018 16:11:11 +0700
+
+gcc-8 (8-20180207-2) unstable; urgency=medium
+
+ * Revert the fix for PR target/84145.
+ * Override patch-file-present-but-not-mentioned-in-series lintian warning.
+
+ -- Matthias Klose <doko@debian.org> Wed, 07 Feb 2018 13:09:23 +0100
+
+gcc-8 (8-20180207-1) unstable; urgency=medium
+
+ * GCC 8 snapshot, taken from the trunk 20180207 (r257435).
+ * Update GDC to 20180204.
+ * Refresh patches.
+ * Disable go on m68k again. Closes: #886103.
+ * Ignore bootstrap comparison failures in gcc/d on alpha. Addresses: #888951.
+ * Include amo.h header for Power architectures.
+ * Include arm_cmse.h header for ARM32 architectures.
+ * Update tsan symbols file arm64.
+
+ -- Matthias Klose <doko@debian.org> Wed, 07 Feb 2018 01:34:14 +0100
+
+gcc-8 (8-20180130-1) experimental; urgency=medium
+
+ * GCC 8 snapshot, taken from the trunk 20180130 (r257194).
+ * Update GDC to 20180130.
+
+ -- Matthias Klose <doko@debian.org> Tue, 30 Jan 2018 18:49:51 +0100
+
+gcc-8 (8-20180123-1) experimental; urgency=medium
+
+ * GCC 8 snapshot, taken from the trunk 20180123 (r257004).
+ * Update GDC to 20180123.
+ * Install the msa.h header for mips targets (YunQiang Su). Addresses: #887066.
+ * Fix mipsen r6 biarch configs (YunQiang Su). Closes: #886976.
+
+ -- Matthias Klose <doko@debian.org> Tue, 23 Jan 2018 23:10:51 +0100
+
+gcc-8 (8-20180110-1) experimental; urgency=medium
+
+ * GCC 8 snapshot, taken from the trunk 20180110 (r256425).
+ - Go 1.10 beta1 merged, bumping libgo soname.
+ * Update GDC to 20180108.
+ * debian/rules2: Fix typo for N32 conditions (YunQiang Su). Closes: #886459.
+ * More libffi mips r6 updates (YunQiang Su). Addresses: #886201.
+ * Default to PIE on the hurd (Samuel Thibault). Addresses: #885056.
+ * Use internal libunwind for ia64 cross-builds. Addresses: #885931.
+ * Strip -z,defs from linker options for internal libunwind (James Clarke).
+ Addresses: #885937.
+ * Fix rtlibs stage build with debhelper 10.9.1 (Helmut Grohne).
+ Closes: #879054.
+
+ -- Matthias Klose <doko@debian.org> Wed, 10 Jan 2018 12:23:12 +0100
+
+gcc-8 (8-20171229-1) experimental; urgency=medium
+
+ * GCC 8 snapshot, taken from the trunk 20171229.
+ * Update GDC to 20171227.
+ * Build the nvptx offload compiler again.
+
+ -- Matthias Klose <doko@debian.org> Fri, 29 Dec 2017 22:16:04 +0100
+
+gcc-8 (8-20171223-1) experimental; urgency=medium
+
+ * GCC 8 snapshot, taken from the trunk 20171223.
+ * Update GDC to 20171223.
+ * Don't build the nvptx offload compiler for now, see PR target/83524.
+
+ -- Matthias Klose <doko@debian.org> Sat, 23 Dec 2017 13:08:14 +0100
+
+gcc-8 (8-20171215-1) experimental; urgency=medium
+
+ * GCC 8 snapshot, taken from the trunk 20171215.
+ * Update GDC to 20171213.
+ * Move the .gox files into the gccgo packages. Addresses: #883136.
+ * libffi: mips/n32.S: disable .set mips4 on mips r6 (YunQiang Su).
+ * Fix shlibs search path for mips64 cross targets. Addresses: #883988.
+ * Set the armel port baseline to armv5te. Closes: #882174.
+
+ -- Matthias Klose <doko@debian.org> Fri, 15 Dec 2017 18:30:46 +0100
+
+gcc-8 (8-20171209-1) experimental; urgency=medium
+
+ * GCC 8 snapshot, taken from the trunk 20171209.
+ * Add more header files for builtins. Closes: #883423.
+ * Re-enable gccgo on m68k. Addresses: #883794.
+
+ -- Matthias Klose <doko@debian.org> Sat, 09 Dec 2017 21:23:08 +0100
+
+gcc-8 (8-20171128-1) experimental; urgency=medium
+
+ * GCC 8 snapshot, taken from the trunk 20171128.
+
+ [ Matthias Klose ]
+ * Don't revert the fix for PR target/55947, fixed for GCC 8.
+ * Update libgfortran symbol versioning.
+
+ [ Nicolas Boulenguez ]
+ * Fix the gnat bootstrap.
+
+ -- Matthias Klose <doko@debian.org> Tue, 28 Nov 2017 07:40:23 +0100
+
+gcc-8 (8-20171122-1) experimental; urgency=medium
+
+ [ Matthias Klose ]
+ * GCC 8 snapshot, taken from the trunk 20171122.
+ * Update GDC to 20171118.
+ * Port libgo to the Hurd (Svante Signell).
+ * Add support for a plethora of mips r6 packages (YunQiang Su).
+ * Remove the libcilkrts packaging bits.
+ * Remove libgphobos symbols files.
+
+ [ Svante Signell ]
+ * Do not enable go on GNU/kFreeBSD.
+
+ -- Matthias Klose <doko@debian.org> Wed, 22 Nov 2017 14:02:35 +0100
+
+gcc-8 (8-20171108-1) experimental; urgency=medium
+
+ * GCC 8 snapshot, taken from the trunk 20171108.
+ * Update GDC to 20171106. Closes: #880548.
+ * libgcc-dev: Install the liblsan_preinit.o file.
+ * Compress debug symbols for compiler binaries with dwz.
+
+ -- Matthias Klose <doko@debian.org> Wed, 08 Nov 2017 20:00:30 +0100
+
+gcc-8 (8-20171102-1) experimental; urgency=medium
+
+ * GCC 8 snapshot, taken from the trunk 20171102.
+ * Bump libunwind (build-)dependency for ia64. Addresses: #879959.
+ * Drop the autogen build dependency.
+ * Install the gfniintrin.h header file.
+ * libgcc and libstdc++ symbols files updates for mipsn32.
+ * Remove the gcc-mips64-stack-spilling patch, applied upstream.
+ * Update libasan symbols files.
+
+ -- Matthias Klose <doko@debian.org> Thu, 02 Nov 2017 01:43:34 +0100
+
+gcc-8 (8-20171031-1) experimental; urgency=medium
+
+ * GCC 8 snapshot, taken from the trunk 20171031.
+ * Install cetintrin.h header. Closes: #879740.
+ * Update gnat patches (YunQiang Su). Closes: #879985.
+ * Build libphobos runtime library on x86 architectures again.
+ * Fix typo in libx32stdc++6-8-dbg conflicts. Closes: #879883.
+
+ -- Matthias Klose <doko@debian.org> Tue, 31 Oct 2017 02:22:07 +0100
+
+gcc-8 (8-20171023-1) experimental; urgency=medium
+
+ * GCC 8 snapshot, taken from the trunk 20171023.
+ * Mask __float128 from CUDA compilers. LP: #1717257.
+ * Update the gdc build support.
+ * Don't use quadmath on powerpc and ppc64.
+ * Bump asan and ubsan sonames.
+ * Adjust sanitizer symbols for the libsanitizer upstream merge.
+ * Install the gcov.h header file.
+ * Do the extra/optional dance ...
+ * Override hardening-no-pie lintian warnings for compiler executables.
+
+ -- Matthias Klose <doko@debian.org> Mon, 23 Oct 2017 10:57:54 +0200
+
+gcc-8 (8-20171016-1) experimental; urgency=medium
+
+ * GCC 8 snapshot, taken from the trunk 20171016.
+ * Update nvptx-newlib to 20171010.
+ * Fix lsan/tsan symbols files for arm64 and ppc64el.
+ * Add missing conflicts with GCC 7 packages. Closes: #877441.
+ * Fix builds without hppa64 cross compiler and new debhelper. See: #877589.
+ * Fix build dependency on realpath.
+ * Build the nvptx offload compiler again.
+ * Update symbols files.
+ * Fix build dependency on realpath.
+ * Set QUILT_PATCH_OPTS='-E' for applying patches.
+
+ -- Matthias Klose <doko@debian.org> Mon, 16 Oct 2017 14:56:04 +0200
+
+gcc-8 (8-20170923-1) experimental; urgency=medium
+
+ * GCC 8 snapshot.
+ * Disable Ada and D for a first build.
+
+ -- Matthias Klose <doko@debian.org> Tue, 26 Sep 2017 23:44:57 +0200
+
+gcc-7 (7.2.0-7) unstable; urgency=medium
+
+ * Update to SVN 20170923 (r253114) from the gcc-7-branch.
+ - Fix PR libstdc++/79162, PR libstdc++/79162, PR libstdc++/82262,
+ PR libstdc++/82254, PR target/81996 (PPC), PR target/71951 (AArch64),
+ PR sanitizer/81929.
+ * Fix PR go/82284, taken from the trunk. Closes: #876353.
+
+ -- Matthias Klose <doko@debian.org> Sat, 23 Sep 2017 11:31:21 +0200
+
+gcc-7 (7.2.0-6) unstable; urgency=medium
+
+ * Update to SVN 20170920 (r253002) from the gcc-7-branch.
+ - Fix PR target/82112 (PPC), PR c++/81355, PR tree-optimization/82084,
+ PR tree-optimization/82108, PR target/81325 (PPC), PR c++/81236,
+ PR c++/80767, PR c++/82030, PR c++/80935, PR c++/81671, PR c++/81525,
+ PR c++/81314, PR libgfortran/78387.
+ * Fix fortran cross compiler build with debhelper 10.9. Closes: #876246.
+ * Strip the compiler binaries again. Closes: #872672.
+ * Bump binutils dependency to 2.29.1 for sid/buster.
+
+ -- Matthias Klose <doko@debian.org> Wed, 20 Sep 2017 11:13:31 +0200
+
+gcc-7 (7.2.0-5) unstable; urgency=medium
+
+ * Update to SVN 20170915 (r252791) from the gcc-7-branch.
+ - Fix PR c/81687, PR c/45784, PR c++/81852, PR target/82181 (xtensa),
+ PR target/80695 (PPC), PR target/81988 (SPARC), PR middle-end/81768,
+ PR sanitizer/81923, PR target/81621, PR driver/81650,
+ PR middle-end/81052, PR tree-optimization/81987, PR bootstrap/81926,
+ PR libstdc++/79162, PR libstdc++/81468, PR libstdc++/81835,
+ PR libstdc++/70483, PR libstdc++/70483, PR target/81833 (PPC),
+ PR other/39851, PR ipa/81128, PR inline-asm/82001, PR c++/81355,
+ PR tree-opt/81696.
+ * Enable libgo tests and rebuilds with make -C (Svante Signell).
+ Closes: #873929.
+ * Fix PR sanitizer/77631, support separate debug info in libbacktrace.
+ * Update the Linaro support to the 7-2017.09 snapshot.
+
+ -- Matthias Klose <doko@debian.org> Fri, 15 Sep 2017 12:15:21 +0200
+
+gcc-7 (7.2.0-4) unstable; urgency=medium
+
+ * Update to SVN 20170906 (r251753) from the gcc-7-branch.
+ - Fix PR c++/82039, PR libstdc++/81912, PR libstdc++/81891,
+ PR libstdc++/81599, PR libstdc++/81338, PR tree-optimization/81503,
+ PR ada/79542, PR ada/62235, PR fortran/81770.
+ * Fix PR target/81833 (PPC), taken from the trunk. Closes: #871565.
+
+ -- Matthias Klose <doko@debian.org> Wed, 06 Sep 2017 10:38:05 +0200
+
+gcc-7 (7.2.0-3) unstable; urgency=high
+
+ * Update to SVN 20170901 (r251583) from the gcc-7-branch.
+ - Fix PR target/81504 (PPC), PR c++/82040.
+ * Apply proposed patch for PR target/81803 (James Cowgill), conditionally
+ for mips* targets. Closes: #871514.
+ * Bump standards version.
+
+ -- Matthias Klose <doko@debian.org> Sat, 02 Sep 2017 13:55:18 +0200
+
+gcc-7 (7.2.0-2) unstable; urgency=medium
+
+ * Update to SVN 20170830 (r251446) from the gcc-7-branch.
+ - Fix PR target/72804 (PPC), PR target/80210 (PPC), PR target/81910 (AVR),
+ PR target/79883 (AVR), PR fortran/81296, PR fortran/80164,
+ PR target/81593 (PPC), PR target/81170 (PPC), PR target/81295 (PPC),
+ PR tree-optimization/81977, PR debug/81993 (closes: #873609),
+ PR middle-end/81088, PR middle-end/81065, PR sanitizer/80932,
+ PR middle-end/81884, PR tree-optimization/81181,
+ PR tree-optimization/81723, PR target/81921 (x86), PR c++/81607.
+ * Update the Linaro support to the 7-2017.08 snapshot.
+ * Restore configuring with --with-mode=thumb on armhf. Closes: #873584.
+ * Default to PIE on powerpc again, now that PR target/81170 and
+ PR target/81295 are fixed. Closes: #856224.
+
+ -- Matthias Klose <doko@debian.org> Wed, 30 Aug 2017 11:47:42 +0200
+
+gcc-7 (7.2.0-1) unstable; urgency=medium
+
+ * GCC 7.2.0 release.
+ * Update libgcc1 symbols file for s390x.
+ * Apply proposed patch for PR driver/81829. Closes: #853537.
+
+ -- Matthias Klose <doko@debian.org> Fri, 18 Aug 2017 18:34:45 +0200
+
+gcc-7 (7.1.0-13) unstable; urgency=medium
+
+ * GCC 7.2 release candidate 2.
+ * Don't build the gc enabled libobjc for cross compilers. Closes: #870895.
+ * Configure cross-build-native builds with --program-prefix (Adrian
+ Glaubitz). Closes: #871034.
+ * Update build dependencies for powerpcspe. Closes: #868186.
+ * Fix PR tree-optimization/81723, taken from the trunk. Closes: #853345.
+
+ -- Matthias Klose <doko@debian.org> Tue, 08 Aug 2017 11:12:56 -0400
+
+gcc-7 (7.1.0-12) unstable; urgency=medium
+
+ * GCC 7.2 release candidate 1.
+ * Update to SVN 20170803 (r250853) from the gcc-7-branch.
+
+ -- Matthias Klose <doko@debian.org> Thu, 03 Aug 2017 09:20:48 -0400
+
+gcc-7 (7.1.0-11) unstable; urgency=medium
+
+ * Update to SVN 20170731 (r250749) from the gcc-7-branch.
+
+ [ Matthias Klose ]
+ * Update sanitizer symbols for ppc64 and sparc64.
+
+ [ Nicolas Boulenguez ]
+ * Only build gnatvsn as a native library.
+
+ -- Matthias Klose <doko@debian.org> Mon, 24 Jul 2017 13:41:34 +0200
+
+gcc-7 (7.1.0-10) unstable; urgency=medium
+
+ * Update to SVN 20170722 (r250453) from the gcc-7-branch.
+
+ [ Nicolas Boulenguez ]
+ * libgnatvsn: embed xutil rident for version 2017 of asis package.
+
+ [ Matthias Klose ]
+ * Fix gnat cross build on m68k (Adrian Glaubitz). Closes: #862927.
+ * Enable gnat cross build on m68k. Closes: #868365.
+ * Update the Linaro support to the 7-2017.07 snapshot.
+ * Stop ignoring symbol mismatches for runtime libraries.
+
+ [ Aurelien Jarno ]
+ * libgo-s390x-default-isa.diff: do not build libgo with -march=z196,
+ use the default ISA instead.
+
+ -- Matthias Klose <doko@debian.org> Sat, 22 Jul 2017 15:06:36 +0200
+
+gcc-7 (7.1.0-9) unstable; urgency=medium
+
+ * Update to SVN 20170705 (r250006) from the gcc-7-branch.
+
+ [ Matthias Klose ]
+ * gcc-linaro-revert-r49596.diff: fix build for the linaro branch.
+ * Don't configure powerpc with --enable-default-pie, fails to build.
+ See #856224, PR target/81295.
+
+ [ Nicolas Boulenguez ]
+ * ada-gcc-name.diff: unpatch gnatchop. Addresses: #856274.
+ * Link libgnat with libatomic on armel. Closes: #861734.
+ * libgnat-dev: use multiarch paths in project and to install .ali files.
+ * Build Ada on armel, kfreebsd-*, hurd-i386; #86173[457] are closed.
+
+ -- Matthias Klose <doko@debian.org> Wed, 05 Jul 2017 19:21:55 +0200
+
+gcc-7 (7.1.0-8) unstable; urgency=medium
+
+ * Update to SVN 20170629 (r249793) from the gcc-7-branch.
+
+ [ Matthias Klose ]
+ * Move the liblto_plugin from the cpp to the gcc package.
+ * libstdc++6: Add more Breaks to smoothen upgrades from jessie to stretch.
+ Addresses: #863845, #863745.
+ * Don't provide libobjc_gc symlinks for the libobjc multilib packages.
+ * Configure with --enable-default-pie on ppc64 (Adrian Glaubitz) and
+ powerpc (Mathieu Malaterre). Addresses: #856224.
+
+ [ Nicolas Boulenguez ]
+ * Update ada/confirm_debian_bugs.py for gcc-7.
+ * Drop ada-driver-check.diff, the problem is unreproducible.
+ * Stop symlinking gcc-7-7 -> gcc-7. See #856274 and #814977.
+ * gnatmake: compile once even with SOURCE_DATE_EPOCH. Closes: #866029.
+
+ -- Matthias Klose <doko@debian.org> Thu, 29 Jun 2017 17:36:03 +0200
+
+gcc-7 (7.1.0-7) unstable; urgency=medium
+
+ * Update to SVN 20170618 (r249347) from the gcc-7-branch.
+
+ [ Matthias Klose ]
+ * Don't build libada with -O3 (ftbfs on ppc64el).
+ * Update sanitizer symbol files (Helmut Grohne). Closes: #864835.
+
+ [ Aurelien Jarno ]
+ * Remove proposed patch for PR65618, the issue has been fixed upstream
+ another way.
+
+ [ Nicolas Boulenguez ]
+ * Ada: link system.ads to system-freebsd.ads on hurd and *freebsd
+ system-freebsd-x86.ads does not exist anymore. Closes: #861735, #861737.
+ * Ada: prevent parallel gnatmake invokations for gnattools. Closes: #857831.
+ * Drop generated and obsolete debian/source.lintian-overrides.
+ * Drop debian/relink, never executed and redundant with ada patches.
+ * Ada: Drop dpkg-buildflags usage in patches. Closes: #863289.
+ * ada: Drop references to obsolete termio-h.diff. Closes: #845159.
+ * ada-749574.diff: replace work-around with fix and forward it.
+ * ada-kfreebsd.diff: reduce a lot thanks to Ada2012 syntax.
+ * ada-link-lib.diff: remove dubious parts.
+
+ -- Matthias Klose <doko@debian.org> Sun, 18 Jun 2017 15:31:39 +0200
+
+gcc-7 (7.1.0-6) experimental; urgency=medium
+
+ * Update to SVN 20170522 (r248347) from the gcc-7-branch.
+ - Fix PR libstdc++/80796, PR libstdc++/80478, PR libstdc++/80761,
+ PR target/80799 (x86), PR ada/80784, PR fortran/78659, PR fortran/80752,
+ PR libgfortran/80727.
+
+ [ Matthias Klose ]
+ * Re-add unwind support on kfreebsd-amd64 (James Clarke).
+ * Work around #814977 (gnat calling gcc-7-7) by providing a gcc-7-7
+ symlink.
+ * Fix gnat build dependencies on x32.
+ * Build gnat on mips64 and powerpcspe.
+ * Update the Linaro support to the 7-2017.05 snapshot.
+ * Fix libmpx dependency generation for cross builds.
+ * Build again gnat cross compilers on 32bit archs targeting 64bit targets.
+
+ [ Nicolas Boulenguez ]
+ * Remove ada-gnattools-noparallel patch, apparently fixed. Closes: #857831.
+ * Reduce diff with upstream in ada-gnattools-cross patch.
+ * debian/rules2: Simplify build flags transmission.
+ * Append build flags from dpkg during Ada target builds.
+
+ -- Matthias Klose <doko@debian.org> Mon, 22 May 2017 12:43:09 -0700
+
+gcc-7 (7.1.0-5) experimental; urgency=medium
+
+ * Update to SVN 20170514 (r248033) from the gcc-7-branch.
+ * Disable offload compilers for snapshot builds.
+ * Build libgo when not building common libs.
+ * Fix building libgfortran and libgphobos when building without common libs.
+ * Build gnat on x32.
+
+ -- Matthias Klose <doko@debian.org> Sun, 14 May 2017 08:50:34 -0700
+
+gcc-7 (7.1.0-4) experimental; urgency=medium
+
+ * Update to SVN 20170505 (r247630) from the gcc-7-branch.
+ * Add sh3 support to gcc-multiarch patch. Closes: #861760.
+ * Remove libquadmath/gdtoa license from debian/copyright (files removed).
+ * Fix gdc build on sh4 (sh5 support was removed upstream).
+ * Disable gnat on KFreeBSD (see #861737) and the Hurd (see #861735) for now.
+ * Disable running the testsuite on KFreeBSD and the Hurd, hanging on
+ the buildds.
+
+ -- Matthias Klose <doko@debian.org> Fri, 05 May 2017 11:27:27 +0200
+
+gcc-7 (7.1.0-3) experimental; urgency=medium
+
+ * Update to SVN 20170503 (r247549) from the gcc-7-branch.
+ * Fix gdc build on sparc.
+ * Update the gdc-cross-install-location patch for GCC 7.
+ * Bump libgphobos soname.
+ * dpkg-buildflags stopped fiddling around with spec files; remove
+ the code removing and warning about dpkg's specs.
+ * Don't build the native gnat on armel. See issue #861734.
+
+ -- Matthias Klose <doko@debian.org> Wed, 03 May 2017 16:51:15 +0200
+
+gcc-7 (7.1.0-2) experimental; urgency=medium
+
+ * Update the disable-gdc-tests patch for GCC 7.1.
+
+ -- Matthias Klose <doko@debian.org> Tue, 02 May 2017 18:35:14 +0200
+
+gcc-7 (7.1.0-1) experimental; urgency=medium
+
+ * GCC 7.1.0 release.
+ * Update NEWS.html and NEWS.gcc.
+ * Update gdc to the gdc-7 branch 20170502.
+ * Add multiarch bits for non-glibc architectures (musl, uclibc) (Helmut
+ Grohne). Closes: #861588.
+ * Fix dependency on gcc-base package for rtlibs stage build (Helmut Grohne).
+ Closes: #859938.
+
+ -- Matthias Klose <doko@debian.org> Tue, 02 May 2017 18:07:07 +0200
+
+gcc-7 (7-20170407-1) experimental; urgency=medium
+
+ * GCC 7 snapshot build, taken from the trunk 20170407.
+ * Install gcov-dump and gcov-tool manual pages.
+
+ -- Matthias Klose <doko@debian.org> Fri, 07 Apr 2017 13:16:00 +0200
+
+gcc-7 (7-20170316-1) experimental; urgency=medium
+
+ * GCC 7 snapshot build, taken from the trunk 20170316.
+ * Install the gcov-dump utility.
+ * Allow to use lld with -fuse-ld=ld.lld.
+ * Build gnattools sequentially (fails with parallel build). See #857831.
+ * Add <!nocheck> profile to the autogen build dependency.
+ * Re-add the generated Makefile.in changes to the gdc-libphobos-build patch.
+
+ -- Matthias Klose <doko@debian.org> Thu, 16 Mar 2017 12:34:18 +0100
+
+gcc-7 (7-20170314-1) experimental; urgency=medium
+
+ * GCC 7 snapshot build, taken from the trunk 20170314.
+
+ [ Matthias Klose ]
+ * Bump binutils version requirement to 2.28.
+ * Fix libcc1.so symlink for cross compilers. Addresses: #856875.
+ * Fix base package name for rtlibs stage build (Helmut Grohne).
+ Closes: #857074.
+ * Update the cross-install-location patch (Helmut Grohne). Closes: #855565.
+ * Fix symlinks to man pages in the hppa64 package. Addresses: #857583.
+ * Don't ship the gnatgcc manpage symlink when building GFDL packages.
+ Addresses: #857384.
+ * Allow bootstrapping with libc headers installed in multiarch location.
+ (Helmut Grohne). Closes: #857535
+ * gccbrig: Depend on hsail-tools.
+
+ [ Nicolas Boulenguez ]
+ * Create the libgnatsvn packages again. Closes: #857606.
+ * Replace libgnat-BV.overrides with a fixed command.
+ * Install gnatvsn.gpr project into /u/s/gpr instead of
+ /u/s/ada/adainclude. Debian is migrating to GPRbuild's upstream layout.
+ * Avoid hardcoding the version in the ada-gcc-name patch.
+ * Reorganize Ada patches. See #857606 for details.
+
+ -- Matthias Klose <doko@debian.org> Tue, 14 Mar 2017 10:42:24 +0100
+
+gcc-7 (7-20170302-1) experimental; urgency=medium
+
+ * GCC 7 snapshot build, taken from the trunk 20170302.
+
+ [ Matthias Klose ]
+ * Update gdc to trunk 20170227.
+ * Update libcc1 symbols file.
+ * Bump binutils version requirement.
+ * Allow to disable brig in DEB_BUILD_OPTIONS. Closes: #856452.
+ * Build the nvptx offload compilers.
+ * Add the newlib copyright, used for the gcc-7-offload-nvptx package.
+ * Install the libcp1plugin.
+ * Fix the installation directory of the ada-sjlj includes and libraries.
+
+ [ Nicolas Boulenguez ]
+ * Use SOURCE_DATE_EPOCH for reproducible ALI timestamps. Closes: #856042.
+ * Remove obsolete references to libgnatprj, but keep existing
+ references to libgnatvsn as it will be restored. Closes: #844367.
+ * Drop obsolete and unapplied ada-default-project-path.diff.
+
+ -- Matthias Klose <doko@debian.org> Thu, 02 Mar 2017 10:12:34 +0100
+
+gcc-7 (7-20170226-1) experimental; urgency=medium
+
+ * GCC 7 snapshot build, taken from the trunk 20170226.
+
+ -- Matthias Klose <doko@debian.org> Sun, 26 Feb 2017 17:00:48 +0100
+
+gcc-7 (7-20170221-1) experimental; urgency=medium
+
+ * GCC 7 snapshot build, taken from the trunk 20170221.
+ * Update gdc to trunk 20170221.
+
+ [ Matthias Klose ]
+ * Fix some hppa64 related build issues. Addresses: #853023.
+ * Allow setting offload targets by OFFLOAD_TARGET_DEFAULT.
+ * Again, disable go on m68k. Closes: #853906.
+ * Configure with --enable-default-pie on sparc and sparc64 (James Clarke).
+ Addresses: #854090.
+ * Configure with --enable-default-pie on kfreebsd-* (Steven Chamberlain).
+ * Build gccbrig and the libhsail-rt library for i386.
+ * Configure staged builds with --disable-libmpx and --disable-libhsail-rt.
+ * Fix target architecture for sparc non-multilib builds (Adrian Glaubitz).
+ Addresses: #855197.
+ * Bump binutils version requirement.
+
+ [ Aurelien Jarno ]
+ * Disable lxc1/sxc1 instruction on mips and mipsel.
+ * Disable madd4 instructions on mipsel, mips64el and mipsn32el.
+
+ -- Matthias Klose <doko@debian.org> Tue, 21 Feb 2017 14:54:12 +0100
+
+gcc-7 (7-20170129-1) experimental; urgency=medium
+
+ * GCC 7 snapshot build, taken from the trunk 20170129.
+ * Fix removing the RUNPATH from the asan, tsan, ubsan, cilkrts, gfortran
+ and gphobos runtime libraries.
+ * Let the gnatgcc symlinks point to the versioned names. Addresses: #839209.
+ * Build the BRIG frontend on amd64.
+ * Install new intrinsics headers. Closes: #852551.
+ * libgo version bumped to 11.
+ * Package gccbrig and the libhsail-rt library.
+
+ -- Matthias Klose <doko@debian.org> Sun, 29 Jan 2017 13:51:35 +0100
+
+gcc-7 (7-20170121-1) experimental; urgency=medium
+
+ * GCC 7 snapshot build, taken from the trunk 20170121.
+ * Configure --with-gcc-major-version-only, drop the gcc-base-version,
+ gccgo-version and gdc-base-version patches.
+ * Adjust the g++-multiarch-incdir patch for reverted upstream patch,
+ causing bootstrap regression (PR 78880). Closes: #852104.
+
+ -- Matthias Klose <doko@debian.org> Sat, 21 Jan 2017 21:57:22 +0100
+
+gcc-7 (7-20170118-1) experimental; urgency=medium
+
+ * GCC 7 snapshot build, taken from the trunk 20170118.
+ * Always configure sparc builds --with-cpu-32=ultrasparc (James Clarke).
+ * Enable gccgo on m68k (John Paul Adrian Glaubitz). Addresses: #850749.
+ * Install the unprefixed man pages for gcc-ar, -nm and ranlib.
+ Closes: #851698.
+
+ -- Matthias Klose <doko@debian.org> Wed, 18 Jan 2017 22:41:11 +0100
+
+gcc-7 (7-20161230-1) experimental; urgency=medium
+
+ * GCC 7 snapshot build, taken from the trunk 20161230.
+ * Update gdc to trunk 20161229. Closes: #844704.
+ * Build the cilk runtime on armel, armhf, sparc and sparc64.
+ * Use --push-state/--pop-state for gold as well when linking libtsan.
+ * In GCC ICE dumps, prefix each line with the PID of the driver.
+ * Apply proposed patch for PR target/78748.
+ * Apply proposed patch for PR libstdc++/64735.
+ * Don't mark libphobos multilib packages as M-A: same.
+ * Configure libphobos builds with --with-target-system-zlib.
+ * Ignore dpkg's pie specs when pie is not enabled. Addresses: #848129.
+ * Drop m68k specific ada patches. Closes: #846872.
+
+ -- Matthias Klose <doko@debian.org> Fri, 30 Dec 2016 05:19:15 +0100
+
+gcc-7 (7-20161201-1) experimental; urgency=medium
+
+ * GCC 7 snapshot build, taken from the trunk 20161201.
+
+ * Install missing vecintrin.h header on s390x.
+ * Install missing avx512 intrinsics headers on x86*. Closes: #846075.
+
+ -- Matthias Klose <doko@debian.org> Thu, 01 Dec 2016 14:38:26 +0100
+
+gcc-7 (7-20161125-1) experimental; urgency=medium
+
+ * GCC 7 snapshot build, taken from the trunk 20161125.
+
+ [ Matthias Klose ]
+ * Update libgphobos symbol files.
+ * libphobos: Fix ARM32 multilib detection for system zlib.
+ * Update libgphobos symbols files for ARM32 targets.
+ * Build the GC enabled libobjc using the system libgc when available
+ * Mark libgphobos symbols changing with the file location (sic!) as optional.
+ * Add pkg-config to the build dependencies.
+ * Drop the work around for PR libstdc++/65913.
+ * gdc: Link with the shared libgphobos runtime by default.
+ * Fix PR middle-end/78501, proposed patch.
+ * Fix dependency generation for libgphobos multilib builds.
+ * Drop the ada-revert-pr63225 patch, only needed for libgnatvsn.
+ * Always apply the ada patches.
+
+ [ YunQiang Su ]
+ * Update gnat patches for GCC 7, stop building libgnatvsn and libgnatprj.
+ Addresses: #844367.
+
+ -- Matthias Klose <doko@debian.org> Fri, 25 Nov 2016 12:41:07 +0100
+
+gcc-7 (7-20161116-1) experimental; urgency=medium
+
+ * GCC 7 snapshot build, taken from the trunk 20161116.
+ * Build shared phobos runtime libraries (not yet enabled by default).
+ * Add symbols for libobjc_gc library.
+
+ -- Matthias Klose <doko@debian.org> Wed, 16 Nov 2016 19:16:39 +0100
+
+gcc-7 (7-20161115-1) experimental; urgency=medium
+
+ * GCC 7 snapshot build, taken from the trunk 20161115.
+ * More symbol files updates.
+ * Update gdc to the trunk 20161113.
+ * Update conflicts with GCC 6 packages. Closes: #844296.
+
+ -- Matthias Klose <doko@debian.org> Tue, 15 Nov 2016 13:02:02 +0100
+
+gcc-7 (7-20161112-1) experimental; urgency=medium
+
+ * GCC 7 snapshot build, taken from the trunk 20161112.
+ * Remove gij/gcj packages, removed upstream.
+ * Don't build gdc and gnat for now.
+
+ -- Matthias Klose <doko@debian.org> Sat, 12 Nov 2016 11:17:17 +0100
+
+gcc-6 (6.2.0-13) unstable; urgency=medium
+
+ * Update to SVN 20161109 (r241998, 6.2.1) from the gcc-6-branch.
+ - Fix PR c/71115, PR target/78229 (closes: #843379),
+ PR tree-optimization/77768, PR c++/78039 (closes: #841316),
+ PR libgcc/78064, PR driver/78206.
+ * Fix using the gcc-6-source package (Stephen Kitt). Closes: #843476.
+ * Fix PR target/77822 (AArch64), taken from the trunk. Closes: #839249.
+ * Fix PR target/77822 (s390x), proposed patch.
+ * Update libiberty to the trunk 20161108. Addresses security issues:
+ CVE-2016-6131, CVE-2016-4493, CVE-2016-4492, CVE-2016-4490,
+ CVE-2016-4489, CVE-2016-4488, CVE-2016-4487, CVE-2016-2226.
+
+ -- Matthias Klose <doko@debian.org> Wed, 09 Nov 2016 20:42:53 +0100
+
+gcc-6 (6.2.0-11) unstable; urgency=medium
+
+ * Update to SVN 20161103 (r241817, 6.2.1) from the gcc-6-branch.
+ - Fix PR debug/77773, PR middle-end/72747, PR tree-optimization/78047,
+ PR tree-optimization/77879, PR tree-optimization/77839,
+ PR tree-optimization/77745, PR tree-optimization/77648,
+ PR target/78166 (PA), PR rtl-optimization/78038, PR middle-end/78128,
+ PR middle-end/71002, PR fortran/69544, PR fortran/78178,
+ PR fortran/71902, PR fortran/67219, PR fortran/71891, PR lto/78129,
+ PR libgfortran/78123.
+ * Fix symlinks for gcj manual pages. Closes: #842407.
+ * Fix ICE in tree_to_shwi, Linaro issue #2575.
+
+ -- Matthias Klose <doko@debian.org> Thu, 03 Nov 2016 14:10:24 +0100
+
+gcc-6 (6.2.0-10) unstable; urgency=medium
+
+ * Update to SVN 20161027 (r241619, 6.2.1) from the gcc-6-branch.
+ - Fix PR libstdc++/77288, PR libstdc++/77727, PR libstdc++/78052,
+ PR tree-optimization/77550, PR tree-optimization/77916,
+ PR fortran/71895, PR fortran/77763, PR fortran/61420, PR fortran/78013,
+ PR fortran/78021, PR fortran/72832, PR fortran/78092, PR fortran/78108,
+ PR target/78057 (x86), PR target/78037 (x86).
+ * Include go-relocation-test-gcc620-sparc64.obj.uue to fix libgo's
+ debug/elf TestDWARFRelocations test case (James Clarke).
+ * Reapply fix for PR c++/71912, apply proposed fix for PR c++/78039.
+ Closes: #841292.
+ * Don't install alternatives for go and gofmt. The preferred way to do that
+ is to install the golang-any package.
+ * For Debian builds, don't enable bind now by default when linking with pie
+ by default.
+
+ -- Matthias Klose <doko@debian.org> Thu, 27 Oct 2016 15:27:07 +0200
+
+gcc-6 (6.2.0-9) unstable; urgency=medium
+
+ * Regenerate the control file.
+
+ -- Matthias Klose <doko@debian.org> Thu, 20 Oct 2016 10:46:44 +0200
+
+gcc-6 (6.2.0-8) unstable; urgency=medium
+
+ * Update to SVN 20161019 (r241346, 6.2.1) from the gcc-6-branch.
+ - Fix PR libstdc++/77990, PR target/77991 (x86).
+ * Install arm_fp16.h header on arm* architectures for Linaro builds.
+ * Backport upstream revisions from trunk (James Clarke). Closes: #840574.
+ - r240457 (add getrandom for MIPS/SPARC)
+ - r241051 (fix getrandom on sparc64 and clone on sparc*)
+ - r241072 (make rawClone no_split_stack)
+ - r241084 (don't use pt_regs; unnecessary, and seemingly not defined by
+ the included headers on arm64)
+ - r241171 (sparc64 relocations, e1fc2925 in go master, now also in
+ gofrontend/gccgo)
+ * Revert fix for PR c++/71912, causing PR c++/78039. Addresses: #841292.
+
+ -- Matthias Klose <doko@debian.org> Wed, 19 Oct 2016 08:57:23 +0200
+
+gcc-6 (6.2.0-7) unstable; urgency=medium
+
+ * Update to SVN 20161018 (r241301, 6.2.1) from the gcc-6-branch.
+ - Fix PR libstdc++/77987, PR libstdc++/77322, PR libstdc++/72820,
+ PR libstdc++/77994, PR tree-optimization/77937, PR c++/71912,
+ PR tree-optimization/77937, PR tree-optimization/77943,
+ PR bootstrap/77995, PR fortran/77978, PR fortran/77915, PR fortran/77942.
+
+ [ Matthias Klose ]
+ * Backport Mips go closure support, taken from libffi. Closes: #839132.
+ * Configure with --enable-default-pie and pass -z now when pie is enabled;
+ on amd64 arm64 armel armhf i386 mips mipsel mips64el ppc64el s390x.
+ Closes: #835148.
+ * Update the Linaro support to the 6-2016.10 snapshot.
+
+ [ Aurelien Jarno ]
+ * Enable logwatch on mips64el.
+
+ -- Matthias Klose <doko@debian.org> Tue, 18 Oct 2016 13:53:00 +0200
+
+gcc-6 (6.2.0-6) unstable; urgency=medium
+
+ * Update to SVN 20161010 (r240906, 6.2.1) from the gcc-6-branch.
+ - Fix PR libstdc++/68323, PR libstdc++/77794, PR libstdc++/77795,
+ PR libstdc++/77801, PR libgcc/77519, PR target/77756 (x86),
+ PR target/77670 (PPC), PR rtl-optimization/71709, PR c++/77804,
+ PR fortran/41922, PR fortran/60774, PR fortran/61318, PR fortran/68566,
+ PR fortran/69514, PR fortran/69867, PR fortran/69962, PR fortran/70006,
+ PR fortran/71067, PR fortran/71730, PR fortran/71799, PR fortran/71859,
+ PR fortran/71862, PR fortran/77260, PR fortran/77351, PR fortran/77372,
+ PR fortran/77380, PR fortran/77391, PR fortran/77420, PR fortran/77429,
+ PR fortran/77460, PR fortran/77506, PR fortran/77507, PR fortran/77612,
+ PR fortran/77694, PR libgfortran/77707, PR libstdc++/70101,
+ PR libstdc++/77864, PR libstdc++/70564, PR target/77874 (x86),
+ PR target/77759 (sparc), PR fortran/77406, PR fortran/58991,
+ PR fortran/58992.
+ * Really fix gij installation on hppa. Closes: #838111.
+ * Install alternatives for go and gofmt. Closes: #840190.
+
+ -- Matthias Klose <doko@debian.org> Mon, 10 Oct 2016 05:20:07 +0200
+
+gcc-6 (6.2.0-5) unstable; urgency=medium
+
+ * Update to SVN 20160927 (r240553, 6.2.1) from the gcc-6-branch.
+ - Fix PR sanitizer/77396, PR libstdc++/77645, PR libstdc++/77645,
+ PR target/77326 (AVR), PR target/77349 (PPC), PR middle-end/77594,
+ PR sanitizer/68260, PR fortran/77516, PR target/69255 (x86),
+ PR c++/77553, PR c++/77539, PR fortran/77500, PR c/77450,
+ PR middle-end/77436, PR tree-optimization/77514, PR middle-end/77544,
+ PR tree-optimization/77514, PR middle-end/77605, PR middle-end/77679,
+ PR tree-optimization/77621, PR target/77621 (x86), PR c++/71979.
+ * Fix gij installation on hppa. Closes: #838111.
+ * Fix PR rtl-optimization/71709, taken from the trunk. LP: #1628207.
+ * Apply workaround for PR libstdc++/77686. Addresses: #838438.
+
+ -- Matthias Klose <doko@debian.org> Wed, 28 Sep 2016 15:53:28 +0200
+
+gcc-6 (6.2.0-4) unstable; urgency=medium
+
+ * Update to SVN 20160914 (r240133, 6.2.1) from the gcc-6-branch.
+ - Fix PR rtl-optimization/77452, PR c++/77427.
+ * gcj: Depend on the ecj1 standalone binary.
+ * Configure native builds using --with-program-prefix.
+ * Fix ICE in gdc symbol mangling (Iain Buclaw). LP: #1620681.
+ * Backport from libffi trunk (Stefan Bühler):
+ - Always check for PaX MPROTECT on linux, make EMUTRAMP experimental.
+ - dlmmap_locked always needs locking as it always modifies execsize.
+
+ -- Matthias Klose <doko@debian.org> Thu, 15 Sep 2016 19:22:35 +0200
+
+gcc-6 (6.2.0-3) unstable; urgency=medium
+
+ * Update to SVN 20160901 (r239944, 6.2.1) from the gcc-6-branch.
+ - Fix PR fortran/71014, PR libstdc++/77395, PR tree-optimization/72866,
+ PR debug/77363, PR middle-end/77377, PR middle-end/77259,
+ PR target/71910 (cygwin), PR target/77281 (ARM),
+ PR tree-optimization/71077, PR tree-optimization/68542, PR fortran/77352,
+ PR fortran/77374, PR fortran/71014, PR fortran/69281.
+ * Fix setting the stage1 C++ compiler.
+ * gdc: Always link with -ldl when linking with -lgphobos.
+ Closes: #835255, #835757.
+ * Fix building D code with external C++ references.
+
+ -- Matthias Klose <doko@debian.org> Sun, 04 Sep 2016 12:38:47 +0200
+
+gcc-6 (6.2.0-2) unstable; urgency=medium
+
+ * Update to SVN 20160830 (r239868, 6.2.1) from the gcc-6-branch.
+ - Fix PR libstdc++/77334, PR tree-optimization/76783,
+ PR tree-optimization/72851, PR target/72867 (x86), PR middle-end/71700,
+ PR target/77403 (x86), PR target/77270 (x86), PR target/77270 (x86),
+ PR lto/70955, PR target/72863 (PPC), PR tree-optimization/76490,
+ PR fortran/77358.
+ * Call default_file_start from s390_asm_file_start, taken from the trunk.
+ * Update multiarch patches for mips* r6 (YunQiang Su).
+ * Fix install location of D header files for cross builds (YunQiang Su).
+ Closes: #835847.
+ * Fix PR c++/77379, taken from the trunk.
+ * Update the Linaro support to the 6-2016.08 snapshot.
+
+ -- Matthias Klose <doko@debian.org> Wed, 31 Aug 2016 12:28:38 +0200
+
+gcc-6 (6.2.0-1) unstable; urgency=medium
+
+ * GCC 6.2 release.
+ * Update gdc to the gdc-6 branch 20160822.
+
+ -- Matthias Klose <doko@debian.org> Mon, 22 Aug 2016 14:15:21 +0200
+
+gcc-6 (6.1.1-12) unstable; urgency=medium
+
+ * GCC 6.2 release candidate 1.
+ * Update to SVN 20160815 (r239482, 6.1.1) from the gcc-6-branch.
+ Fix PR target/71869 (PPC), PR target/72805 (x86), PR target/70677 (AVR),
+ PR c++/72415, PR sanitizer/71042, PR libstdc++/71964, PR libstdc++/70940,
+ PR c/67410, PR c/72816, PR driver/72765, PR debug/71906,
+ PR tree-optimization/73434, PR tree-optimization/72824, PR target/76342,
+ PR target/72843, PR c/71512, PR tree-optimization/71083, PR target/72819,
+ PR target/72853, PR tree-optimization/72824, PR ipa/71981, PR ipa/68273,
+ PR tree-optimization/71881, PR target/72802, PR target/72802,
+ PR rtl-optimization/71976, PR c++/71972, PR c++/72868, PR c++/73456,
+ PR c++/72800, PR c++/68724, PR debug/71906, PR fortran/71936,
+ PR fortran/72698, PR fortran/70524, PR fortran/71795, PR libgfortran/71123,
+ PR libgfortran/73142.
+
+ [ Matthias Klose ]
+ * Fix running the libjava testsuite.
+ * Revert fix for PR target/55947, causing PR libstdc++/72813. LP: #1610220.
+ * Update the Linaro support to the 6-2016.07 snapshot.
+
+ [ Aurelien Jarno ]
+ * Replace proposed fix for PR ipa/68273 by the corresponding patch taken
+ from trunk.
+
+ -- Matthias Klose <doko@debian.org> Mon, 15 Aug 2016 17:51:10 +0200
+
+gcc-6 (6.1.1-11) unstable; urgency=medium
+
+ * Update to SVN 20160802 (r238981, 6.1.1) from the gcc-6-branch.
+ - Fix PR target/72767 (AVR), PR target/71151 (AVR), PR c/7652,
+ PR target/71216 (PPC), PR target/72103 (PPC), PR c++/72457, PR c++/71576,
+ PR c++/71833, PR fortran/71883.
+
+ [ Nicolas Boulenguez ]
+ * debian/ada/confirm_debian_bugs.py: Update for GCC 6. Closes: #832799.
+
+ [ Matthias Klose ]
+ * Backport AArch64 Vulcan cost models (Dann Frazier). LP: #1603587.
+
+ -- Matthias Klose <doko@debian.org> Wed, 03 Aug 2016 21:53:37 +0200
+
+gcc-6 (6.1.1-10) unstable; urgency=medium
+
+ * Update to SVN 20160724 (r238695, 6.1.1) from the gcc-6-branch.
+ - Fix PR libstdc++/71856, PR libstdc++/71320, PR c++/71214,
+ PR sanitizer/71953, PR fortran/71688, PR rtl-optimization/71916,
+ PR debug/71855, PR middle-end/71874, PR target/71493 (PPC),
+ PR rtl-optimization/71634, PR target/71733 (PPC), PR ipa/71624,
+ PR target/71805 (PPC), PR target/70098 (PPC), PR target/71763 (PPC),
+ PR middle-end/71758, PR tree-optimization/71823, PR middle-end/71606,
+ PR tree-optimization/71518, PR target/71806 (PPC), PR target/71720 (PPC),
+ PR middle-end/64516, PR tree-optimization/71264, PR middle-end/71423,
+ PR tree-optimization/71521, PR tree-optimization/71452, PR target/50739,
+ PR tree-optimization/71522, PR c++/55922, PR c++/63151, PR c++/70709,
+ PR c++/70778, PR c++/71738, PR c++/71350, PR c++/71748, PR c++/52746,
+ PR c++/69223, PR c++/71630, PR c++/71913, PR c++/71728, PR c++/71941,
+ PR c++/70822, PR c++/70106, PR c++/67565, PR c++/67579, PR c++/71843,
+ PR c++/70781, PR c++/71896, PR c++/71092, PR c++/71117, PR c++/71495,
+ PR c++/71511, PR c++/71513, PR c++/71604, PR c++/54430, PR c++/71711,
+ PR c++/71814, PR c++/71718, PR c++/70824, PR c++/71909, PR c++/71835,
+ PR c++/71828, PR c++/71822, PR c++/71871, PR c++/70869, PR c++/71054,
+ PR fortran/71807, PR fortran/70842, PR fortran/71764, PR fortran/71623,
+ PR fortran/71783.
+
+ [ Matthias Klose ]
+ * Build-depend on gnat-6 instead of gnat-5 on development distros.
+
+ [ Aurelien Jarno ]
+ * Replace libjava-mips64el-proposed.diff by the corresponding patch
+ taken from trunk.
+
+ -- Matthias Klose <doko@debian.org> Sun, 24 Jul 2016 19:42:10 +0200
+
+gcc-6 (6.1.1-9) unstable; urgency=medium
+
+ * Update to SVN 20160705 (r237999, 6.1.1) from the gcc-6-branch.
+ - Fix PR fortran/71717, PR libstdc++/71313, PR c/71685, PR c++/71739,
+ PR target/71670 (PPC), PR middle-end/71626, PR target/71559 (x86),
+ PR target/71656 (PPC), PR target/71698 (PPC), PR driver/71651,
+ PR fortran/71687, PR fortran/71704, PR fortran/71705.
+ * Mark cross compilers as M-A: foreign. Addresses: #827136.
+ * On sparc64, configure with --with-cpu-32=ultrasparc, drop the
+ sparc-force-cpu patch. Closes: #809509.
+
+ -- Matthias Klose <doko@debian.org> Tue, 05 Jul 2016 11:19:50 +0200
+
+gcc-6 (6.1.1-8) unstable; urgency=medium
+
+ * Update to SVN 20160630 (r237878, 6.1.1) from the gcc-6-branch.
+ - Fix PR tree-optimization/71647, PR target/30417 (AVR),
+ PR target/71103 (AVR), PR tree-optimization/71588, PR middle-end/71581,
+ PR c++/71528, PR fortran/70673, PR middle-end/71693.
+
+ [ Aurelien Jarno ]
+ * Apply proposed patch from Matthew Fortune to fix libjava on mips64el.
+
+ [ Matthias Klose ]
+ * Add AArch64 Vulcan cpu support (Dann Frazier). LP: #1594452.
+ * gfortran: Suggest libcoarrays-dev. Closes: #827995.
+ * cpp: Breaks libmagics++-dev (<< 2.28.0-4). Closes: #825278.
+ * Optimize for mips32r2 for o32 (YunQiang Su). Closes: #827801.
+
+ -- Matthias Klose <doko@debian.org> Thu, 30 Jun 2016 14:12:55 +0200
+
+gcc-6 (6.1.1-7) unstable; urgency=medium
+
+ * Update to SVN 20160620 (r237590, 6.1.1) from the gcc-6-branch.
+ - Fix PR middle-end/71373, PR c/71381, PR libstdc++/71545, PR c/68657,
+ PR sanitizer/71498, PR middle-end/71529, PR target/71103 (AVR),
+ PR target/71554 (x86), PR middle-end/71494, PR c++/71448,
+ PR tree-optimization/71405, PR tree-optimization/71505,
+ PR target/71379 (s390), PR target/71186 (PPC), PR target/70915 (PPC),
+ PR c++/70572, PR c++/71516, PR c/71381.
+ * Fix libgnatprj build to avoid undefined symbols (YunQiang Su).
+ Closes: #826503.
+ * Add build support for tilegx (Helmut Grohne). Closes: #827578.
+ * Drop support for loongson 2f (YunQiang Su). Closes: #827554.
+
+ -- Matthias Klose <doko@debian.org> Mon, 20 Jun 2016 13:41:44 +0200
+
+gcc-6 (6.1.1-6) unstable; urgency=medium
+
+ * Update to SVN 20160609 (r237267, 6.1.1) from the gcc-6-branch.
+ - Fix PR target/71389 (x86), PR tree-optimization/71259,
+ PR target/70830 (ARM), PR target/67310 (x86), PR c++/71442,
+ PR c++/70847, PR c++/71330, PR c++/71393, PR fortran/69659.
+ * gdc: Fix linking the runtime library. Addresses: #826645.
+ * Fix building libgnatprj on powerpc, and on PIE enabled builds (YunQiang Su).
+ Closes: #826365.
+
+ -- Matthias Klose <doko@debian.org> Thu, 09 Jun 2016 18:19:42 +0200
+
+gcc-6 (6.1.1-5) unstable; urgency=medium
+
+ * Update to SVN 20160603 (r237075, 6.1.1) from the gcc-6-branch.
+ - Fix PR libstdc++/70762, PR libstdc++/69703, PR libstdc++/69703,
+ PR libstdc++/71038, PR libstdc++/71036, PR libstdc++/71037,
+ PR libstdc++/71005, PR libstdc++/71004, PR libstdc++/70609, PR c/71171,
+ PR middle-end/71279, PR c++/71147, PR c++/71257,
+ PR tree-optimization/70884, PR c++/71210, PR tree-optimization/71031,
+ PR c++/69872, PR c++/71257, PR c++/70344, PR c++/71184, PR fortran/66461,
+ PR fortran/71204, PR libffi/65567, PR c++/71349, PR target/71201,
+ PR middle-end/71371, PR debug/71057, PR target/71056 (ARM32),
+ PR tree-optimization/69068, PR middle-end/71002, PR bootstrap/71071,
+ PR c++/71372, PR c++/70972, PR c++/71166, PR c++/71227, PR c++/60095,
+ PR c++/69515, PR c++/69009, PR c++/71173, PR c++/70522, PR c++/70584,
+ PR c++/70735, PR c++/71306, PR c++/71349, PR c++/71105, PR c++/71147,
+ PR ada/71358, PR ada/71317, PR fortran/71156, PR middle-end/71387.
+ * Fix cross building libgnatprj on i386 targeting 64bit archs (YunQiang Su).
+ Closes: #823126.
+ * Detect hard float for non-linux or non-glibc arm-*-*eabihf builds (Helmut
+ Grohne). Closes: #823894.
+ * Update embedded timestamp setting patch, backported from the trunk.
+ * gccgo: Combine combine gccgo's ld() and ldShared() methods
+ in cmd/go (Michael Hudson-Doyle). LP: #1586872.
+
+ -- Matthias Klose <doko@debian.org> Fri, 03 Jun 2016 18:58:40 +0200
+
+gcc-6 (6.1.1-4) unstable; urgency=medium
+
+ * Update to SVN 20160519 (r236478, 6.1.1) from the gcc-6-branch.
+ - Fix PR sanitizer/71160, PR c++/70498, PR target/71161 (x86),
+ PR fortran/70856, PR c++/71100, PR target/71145 (alpha), PR c++/70466,
+ PR target/70860 (nvptx), PR target/70809 (AArch64), PR hsa/70857,
+ PR driver/68463, PR target/70947 (PPC), PR ipa/70760, PR middle-end/70931,
+ PR middle-end/70941, PR tree-optimization/71006, PR target/70830 (ARM),
+ PR fortran/69603, PR fortran/71047, PR fortran/56226, PR ipa/70646.
+ * libgnat{prj,svn}-dev: Don't recommend gnat when building cross compiler
+ packages.
+
+ -- Matthias Klose <doko@debian.org> Thu, 19 May 2016 18:40:49 +0200
+
+gcc-6 (6.1.1-3) unstable; urgency=medium
+
+ * Update to SVN 20160511 (r236071, 6.1.1) from the gcc-6-branch.
+ - Fix PR libstdc++/71049, PR middle-end/70877, PR tree-optimization/70876,
+ PR target/70963, PR tree-optimization/70916, PR debug/70935.
+ * Enable gdc for sh4.
+
+ -- Matthias Klose <doko@debian.org> Wed, 11 May 2016 22:35:33 +0200
+
+gcc-6 (6.1.1-2) unstable; urgency=medium
+
+ * Update to SVN 20160510 (r236071, 6.1.1) from the gcc-6-branch.
+ - Fix PR tree-optimization/70956, PR sanitizer/70875, PR sanitizer/70342,
+ PR ada/70969, PR ada/70900.
+
+ [ Matthias Klose ]
+ * Call dh_makeshlibs with the --noscripts option when building a
+ cross compiler.
+ * Fix building cross gnat libs when not building the common libs.
+ * Fix building cross mips* multilibs when not building the common libs.
+ * Re-enable gnat build on some architectures for snapshot builds.
+ * Don't build gnat cross compilers on 32bit archs targeting 64bit targets.
+ Addresses: #823126.
+ * Avoid empty architecture lists in build dependencies. Closes: #823280.
+ * Tighten debhelper build dependency for cross build dependencies.
+ * Allow build dependencies for musl configurations (Helmut Grohne).
+ Closes: #823769.
+ * Fix dependency resolution for libraries not built anymore from
+ this source package.
+
+ [ Samuel Thibault ]
+ * patches/ada-hurd.diff: Fix Get_Page_Size type.
+
+ -- Matthias Klose <doko@debian.org> Tue, 10 May 2016 13:34:49 +0200
+
+gcc-6 (6.1.1-1) unstable; urgency=medium
+
+ * GCC 6.1.0 release.
+ - Fix PR bootstrap/70704, PR tree-optimization/70780, PR libgfortran/70684,
+ PR middle-end/70626, PR java/70839, PR target/70858, PR ada/70759,
+ PR ada/70786, PR c++/70540, PR middle-end/70626.
+ * Update to SVN 20160430 (r235678, 6.1.1) from the gcc-6-branch.
+ - Fix PR middle-end/70680, PR target/70750 (x86), PR ipa/70785,
+ PR sanitizer/70712, PR target/70728 (x86).
+ - Don't encode the minor version in the gcj abi version.
+
+ [ Aurelien Jarno ]
+ * Apply proposed patch for PR target/68273 (Wrong code on mips/mipsel due to
+ (invalid?) peeking at alignments in function_arg) on mips and mipsel.
+
+ [ Matthias Klose ]
+ * Always configure with --enable-targets=powerpcle-linux on ppc64el.
+ * Stop building libcc1 and libgccjit0, when not building common libs.
+ * Rename libgccjit-5-dbg to libgccjit0-dbg.
+ * Fix libjava testsuite with dejagnu 1.6, taken from the trunk.
+ * Allow embedded timestamps by C/C++ macros to be set externally (Eduard
+ Sanou).
+ * Add missing libstdc++ symbol to symbols file.
+ * libstdc++-doc: Ignore warnings about formulas and long identifiers in
+ man pages.
+ * Default the 32bit x86 architectures to i686, keep i585 symlinks.
+ See https://lists.debian.org/debian-devel/2015/09/msg00589.html
+ * Build-depend on debhelper (>= 9) and dpkg-dev (>= 1.17.14).
+ * Update gdc to the gdc-6 branch 20160430.
+
+ -- Matthias Klose <doko@debian.org> Sat, 30 Apr 2016 13:31:12 +0200
+
+gcc-6 (6.0.1-2) unstable; urgency=medium
+
+ * GCC 6.1 release candidate 2.
+ - Fix PR c++/68206, PR c++/70522, PR middle-end/70747, PR target/64971,
+ PR c++/66543, PR tree-optimization/70725, PR tree-optimization/70726,
+ PR target/70674 (s390x), PR tree-optimization/70724, PR c++/70690,
+ PR c++/70505, PR target/70711 (ARM32), PR c++/70685,
+ PR target/70662 (x86).
+ * Update gdc to the trunk 20160423.
+
+ -- Matthias Klose <doko@debian.org> Sat, 23 Apr 2016 17:56:52 +0200
+
+gcc-6 (6.0.1-1) experimental; urgency=medium
+
+ * GCC 6.1 release candidate 1.
+
+ [ Michael Hudson-Doyle ]
+ * cmd/go: deduplicate gccgo afiles by package path, not *Package.
+ LP: #1566552.
+
+ -- Matthias Klose <doko@debian.org> Fri, 15 Apr 2016 18:32:25 +0200
+
+gcc-6 (6-20160405-1) experimental; urgency=medium
+
+ * GCC 6 snapshot build, taken from the trunk 20160405.
+
+ -- Matthias Klose <doko@debian.org> Tue, 05 Apr 2016 16:39:49 +0200
+
+gcc-6 (6-20160319-1) experimental; urgency=medium
+
+ * GCC 6 snapshot build, taken from the trunk 20160319.
+ * Stop providing alternative for /usr/bin/go. (Michael Hudson-Doyle).
+ LP: #1555856.
+ * Disable gnat on powerpcspe. Closes: #816051.
+
+ -- Matthias Klose <doko@debian.org> Sat, 19 Mar 2016 11:54:57 +0100
+
+gcc-6 (6-20160312-1) experimental; urgency=medium
+
+ * GCC 6 snapshot build, taken from the trunk 20160312.
+ * Update gdc to the trunk 20160306.
+ * Remove powerpcspe specific patch, integrated upstream. Addresses: #816048.
+ * When configured to link with --as-needed by default, always link the
+ sanitizer libraries with --no-as-needed.
+
+ -- Matthias Klose <doko@debian.org> Sat, 12 Mar 2016 10:21:28 +0100
+
+gcc-6 (6-20160228-1) experimental; urgency=medium
+
+ * GCC 6 snapshot build, taken from the trunk 20160228.
+
+ [ Matthias Klose ]
+ * libgo: Port syscall.SetsockoptUcred from golang (Michael Vogt).
+
+ [ Svante Signell ]
+ * patches/ada-hurd.diff: Update.
+
+ -- Matthias Klose <doko@debian.org> Sun, 28 Feb 2016 13:28:41 +0100
+
+gcc-6 (6-20160225-1) experimental; urgency=medium
+
+ * GCC 6 snapshot build, taken from the trunk 20160225.
+ * Update gdc to the trunk 20160224.
+ * Install missing architecture specific plugin header files.
+ * Fix PR target/69885, bootstrap error on m68k.
+
+ -- Matthias Klose <doko@debian.org> Thu, 25 Feb 2016 02:00:57 +0100
+
+gcc-6 (6-20160220-1) experimental; urgency=medium
+
+ * GCC 6 snapshot build, taken from the trunk 20160220.
+ - Fix PR tree-optimization/68021. Closes: #812245.
+ - Fix PR ipa/69241. Closes: #812060.
+ - Fix PR libstdc++/56158. Closes: #789369.
+ * Update symbols files.
+ * libgccjit-6-doc: Really conflict with libgccjit-5-doc. Closes: #814527.
+ * Update conflict for gnat cross build packages. Closes: #810809.
+ * Disable the m68k gnat build, currently fails. See: #814221.
+ * Fix running the acats tests (Svante Signell): Addresses part of #814978.
+
+ -- Matthias Klose <doko@debian.org> Sat, 20 Feb 2016 16:58:47 +0100
+
+gcc-6 (6-20160205-1) experimental; urgency=medium
+
+ * GCC 6 snapshot build, taken from the trunk 20160205.
+ - Fix PR tree-optimization/69320. Closes: #811921.
+ - Fix PR c++/68782. Closes: #812287.
+ - Fix PR tree-optimization/69328. Closes: #812247.
+ - Fix PR target/69421. Closes: #812246.
+ - Fix PR c++/69379. Closes: #812068.
+ - Fix PR lto/69393. Closes: #812062.
+ - Fix PR tree-optimization/69166. Closes: #812061.
+ * Update gdc to the trunk 20160205.
+ - Fix data corruption bug when passing around longdoubles.
+ Closes: #812080.
+ * Add more conflicts to GCC 5's debug and doc packages. Closes: #813081.
+ * Fix dependency generation for armel/armhf multilib cross targets.
+ * Fix libc dependency generation for multilib cross targets.
+ * Build libitm on alpha, s390x, sh4, sparc64.
+
+ -- Matthias Klose <doko@debian.org> Fri, 05 Feb 2016 18:08:37 +0100
+
+gcc-6 (6-20160122-1) experimental; urgency=medium
+
+ * Fix gnat build failure on KFreeBSD (Steven Chamberlain). Closes: #811372.
+ * Fix dependencies on target libraries which are not built anymore
+ from this source.
+ * Bump libmpx soname. Closes: #812084.
+ * Apply proposed patch for PR target/69129. Closes: #810081.
+ * Apply proposed patch for PR go/66904, pass linker flags from
+ "#cgo pkg-config:" directives (Michael Hudson).
+ * Configure with --enable-fix-cortex-a53-843419 on AArch64.
+
+ -- Matthias Klose <doko@debian.org> Fri, 22 Jan 2016 13:33:19 +0100
+
+gcc-6 (6-20160117-1) experimental; urgency=medium
+
+ * GCC 6 snapshot build, taken from the trunk 20160117.
+ * Update gdc to the trunk 20160115.
+ * Update libgnatvsn/libgnatprj conflicts. Closes: #810809.
+ * Fix gnat build failures on the Hurd and KFreeBSD (Svante Signell).
+ Closes: #811063.
+ * Build libstdc++-6-doc with a fixed doxygen. Closes: #810717.
+
+ -- Matthias Klose <doko@debian.org> Sun, 17 Jan 2016 12:14:39 +0100
+
+gcc-6 (6-20160109-1) experimental; urgency=medium
+
+ * GCC 6 snapshot build, taken from the trunk 20160109.
+ * Install new header file pkuintrin.h. Closes: #809807.
+ * Fix libcc1-0 dependency for cross compilers.
+
+ -- Matthias Klose <doko@debian.org> Sat, 09 Jan 2016 11:49:50 +0100
+
+gcc-6 (6-20160103-1) experimental; urgency=medium
+
+ * GCC 6 snapshot build, taken from the trunk 20160101.
+
+ -- Matthias Klose <doko@debian.org> Sun, 03 Jan 2016 12:47:13 +0100
+
+gcc-6 (6-20160101-1) experimental; urgency=medium
+
+ * GCC 6 snapshot build, taken from the trunk 20160101.
+ * Build native gnat on sh4. Addresses: #809498.
+
+ -- Matthias Klose <doko@debian.org> Fri, 01 Jan 2016 21:18:38 +0100
+
+gcc-6 (6-20151220-1) experimental; urgency=medium
+
+ * GCC 6 snapshot build, taken from the trunk 20151220.
+ * Update libstdc++-dbg conflicts. Closes: #807885.
+ * Set target tools and build dependencies for cross builds.
+ * Relax gcj-6-{jre,jre-headless,jdk} dependencies on libgcj16.
+ * Fix cross build issues.
+
+ -- Matthias Klose <doko@debian.org> Sun, 20 Dec 2015 13:46:12 +0100
+
+gcc-6 (6-20151213-1) experimental; urgency=medium
+
+ * GCC 6 snapshot build, taken from the trunk 20151213.
+ * Update the ada-kfreebsd and ada-m68k patches.
+ * Fix cross-building without having the common cross libraries installed.
+ * Allow unstripped, non-optimized debug builds with setting DEB_BUILD_OPTIONS
+ including gccdebug.
+ * Remove obsolete libgccmath packaging support.
+ * Define SONAME macros whether the libraries are built or not.
+
+ -- Matthias Klose <doko@debian.org> Sun, 13 Dec 2015 16:04:56 +0100
+
+gcc-6 (6-20151211-1) experimental; urgency=medium
+
+ * GCC 6 snapshot build, taken from the trunk 20151211.
+ * Update gnat and gdc patches, re-enable gnat and gdc.
+
+ -- Matthias Klose <doko@debian.org> Fri, 11 Dec 2015 12:35:03 +0100
+
+gcc-6 (6-20151210-1) experimental; urgency=medium
+
+ * GCC 6 snapshot build, taken from 20151210.
+
+ -- Matthias Klose <doko@debian.org> Thu, 10 Dec 2015 22:09:13 +0100
+
+gcc-5 (5.3.1-3) unstable; urgency=medium
+
+ * Update to SVN 20151207 (r231361, 5.3.1) from the gcc-5-branch.
+ * Remove upstreamed chunks from the ada-kfreebsd patch.
+
+ -- Matthias Klose <doko@debian.org> Tue, 08 Dec 2015 02:10:51 +0100
+
+gcc-5 (5.3.1-2) unstable; urgency=medium
+
+ * Update to SVN 20151206 (r231339, 5.3.1) from the gcc-5-branch.
+ * Re-enable building gdc/libphobos, fixing the profiled build.
+ * Fix PR sanitizer/67899, build failure on sparc/sparc64.
+
+ -- Matthias Klose <doko@debian.org> Sun, 06 Dec 2015 19:15:46 +0100
+
+gcc-5 (5.3.1-1) unstable; urgency=medium
+
+ * Update to SVN 20151205 (r231314, 5.3.1) from the gcc-5-branch.
+
+ -- Matthias Klose <doko@debian.org> Sat, 05 Dec 2015 20:45:53 +0100
+
+gcc-5 (5.3.0-3) unstable; urgency=medium
+
+ * Update libgcc symbols file.
+ * Restore libgcc.symbols.aebi.
+ * Disabled profiled bootstraps for backports.
+
+ -- Matthias Klose <doko@debian.org> Sat, 05 Dec 2015 07:50:48 +0100
+
+gcc-5 (5.3.0-1) experimental; urgency=medium
+
+ * GCC 5.3 release.
+ - Fix PR libstdc++/65142 (CVE-2015-5276).
+ * Update gdc to the gcc-5 branch 20151130.
+ * Enable the profiled bootstrap on amd64, arm64, armel armhf, i386, powerpc,
+ ppc64, ppc64el, s390x, x32 (excluding builds from the Linaro branch).
+ * Move test summary into the gcc-test-results package.
+ * Simplify libatomic, libcilkrts, libgcc, libgfortran, libgomp, libitm,
+ libmpx, libquadmath symbols files using versioned symbol references.
+ Closes: #806784.
+ * Only build the hppa64 cross compiler when either building the native compiler,
+ or when cross building the native compiler. Closes: #806479.
+ * Configure staged build with --enable-linker-build-id.
+
+ -- Matthias Klose <doko@debian.org> Fri, 04 Dec 2015 12:01:04 +0100
+
+gcc-5 (5.2.1-27) unstable; urgency=medium
+
+ * Update to SVN 20151129 (r231053, 5.2.1) from the gcc-5-branch.
+ * Don't strip cc1plus when shipping with unstripped frontends.
+ * Relax libgnatvsn5-dev-*-cross and libgnatprj5-dev-*-cross dependencies
+ on gnat-5-*-linux-gnu.
+ * Fix setting the explicit libc dependency for cross builds.
+ * Don't build m4-nofpu multilibs on sh4, install the default multilib
+ into the standard location.
+ * Stop building gnat on mips64, see https://gcc.gnu.org/PR65337 (#806370).
+ * Update the patch for PR go/67508 and re-enable Go on sparc and sparc64.
+ * Fix gnat sparc/sparc64 architecture detection.
+ * Update libgcc and libstdc++ symbols files.
+ * Don't ship the gcov tools in the gcc-hppa64-linux-gnu package.
+ * Run the autoconf generation in parallel.
+ * Add --enable-default-pie option to GCC configure, taken from the trunk.
+ * Enable gnat for m68k cross builds.
+ * Link gnat tools, gnat libs and libgccjit with the defaults LDFLAGS.
+ * Skip non-default multilib and libstdc++-v3 debug builds in bootstrap builds.
+ * Ship an empty debian/rules.parameters in the gcc-5-source package.
+
+ -- Matthias Klose <doko@debian.org> Sun, 29 Nov 2015 23:48:58 +0100
+
+gcc-5 (5.2.1-26) unstable; urgency=medium
+
+ * Update to SVN 20151125 (r230897, 5.2.1) from the gcc-5-branch.
+ * Fix the rtlibs stage build. Closes: #806186.
+ * Fix packaging the cross libphobos package.
+ * Build the hppa64 cross compiler on x86 architectures.
+ * gcc-5-hppa64-linux-gnu: Stop providing unversioned tools using
+ alternatives. Build a gcc-hppa64-linux-gnu package instead.
+ * Split out a gcc-5-test-results package from g++-5, allowing a post
+ build analysis, and reducing the size of the g++-5 package.
+
+ -- Matthias Klose <doko@debian.org> Wed, 25 Nov 2015 20:33:08 +0100
+
+gcc-5 (5.2.1-25) unstable; urgency=medium
+
+ * Update to SVN 20151123 (r230734, 5.2.1) from the gcc-5-branch.
+ * Fix libgcc4-dbg dependency on libgcc4. Closes: #805839.
+ * Fix building epoch prefixed cross packages.
+
+ -- Matthias Klose <doko@debian.org> Mon, 23 Nov 2015 05:48:00 +0100
+
+gcc-5 (5.2.1-24) unstable; urgency=medium
+
+ * Update to SVN 20151121 (r230703, 5.2.1) from the gcc-5-branch.
+ * Fix PR libstdc++/56158, taken from the trunk. Closes: #804521. LP: #1514309.
+ * Don't try to build a gnat cross compiler when there is no gnat compiler
+ for the build architecture.
+ * Update gnat build dependencies for backports.
+ * Parallelize building documentation and parallelize the packaging step.
+ * Update the Linaro support to the 5-2015.11 snapshot.
+
+ -- Matthias Klose <doko@debian.org> Sat, 21 Nov 2015 11:22:16 +0100
+
+gcc-5 (5.2.1-23) unstable; urgency=medium
+
+ * Update to SVN 20151028 (r229478, 5.2.1) from the gcc-5-branch.
+
+ [ Matthias Klose ]
+ * Update the Linaro support to the 5-2015.10 snapshot.
+ * gcj: On ppc64el, use the same jvm archdir name as for openjdk (ppc64le).
+ * gcj: Fix priority of java alternatives. Closes: #803055.
+ * gnat-5: Reintroduce the unversioned gnatgcc name. Closes: #802838.
+
+ [ Aurelien Jarno ]
+ * Replace proposed patch for PR rtl-optimization/67736 by the one
+ committed on trunk.
+
+ -- Matthias Klose <doko@debian.org> Wed, 28 Oct 2015 10:36:54 +0100
+
+gcc-5 (5.2.1-22) unstable; urgency=medium
+
+ * Update to SVN 20151010 (r228681, 5.2.1) from the gcc-5-branch.
+ - Fix PR libstdc++/65913, PR libstdc++/67173, PR libstdc++/67747,
+ PR c/67730, PR middle-end/67563, PR lto/67699, PR tree-optimization/67821,
+ PR debug/58315.
+
+ [ Matthias Klose ]
+ * Restore the work around for PR libstdc++/65913, still needed at least
+ for powerpc.
+ * Rename gcc-5-hppa64 to gcc-5-hppa64-linux-gnu, update (build) dependency
+ on binutils. Closes: #800563.
+ * Adjust setting DH_COMPAT for dh_movefiles with updated debhelper supporting
+ globbing of arguments. Closes: #800250.
+ * Build-depend on gnat-5 instead of gnat-4.9.
+
+ [ Aurelien Jarno ]
+ * Do not Use --with-mips-plt on mips and mipsel. Closes: #799811.
+
+ -- Matthias Klose <doko@debian.org> Sat, 10 Oct 2015 22:17:09 +0200
+
+gcc-5 (5.2.1-21) unstable; urgency=medium
+
+ * Update to SVN 20151003 (r228449, 5.2.1) from the gcc-5-branch.
+ * Fix building gnat. Closes: #800781.
+
+ -- Matthias Klose <doko@debian.org> Sat, 03 Oct 2015 17:28:45 +0200
+
+gcc-5 (5.2.1-20) unstable; urgency=medium
+
+ * Update to SVN 20151002 (r228373, 5.2.1) from the gcc-5-branch.
+ * Fix packaging the ada cross library packages.
+
+ -- Matthias Klose <doko@debian.org> Fri, 02 Oct 2015 10:24:38 +0200
+
+gcc-5 (5.2.1-19) unstable; urgency=medium
+
+ * Update to SVN 20150930 (r228302, 5.2.1) from the gcc-5-branch.
+ - Fix PR ipa/66424. Closes: #800318.
+
+ [ Matthias Klose ]
+ * Update the Linaro support to the 5-2015.09 snapshot.
+ * Fix PR libstdc++/67707, taken from the trunk. LP: #1499564.
+ * Ship libgcj.spec in gcj-5 instead of gcj-5-jdk. Closes: #800010.
+ * gcj-5: Suggest gcj-5-jdk.
+ * Fix base dependency for ada cross library packages.
+ * Add ${shlibs:Depends} for libgnatvsn and libgnatprj.
+ * Link lrealpath.o into libgnatprj. Closes: #800045.
+ * libgnat{svn,prj}-dev: For cross builds, move adainclude and adalib files
+ into the gcc libdir.
+ * Default to POWER8 on ppc64el.
+ * armv8: Fix slt lda missing conditional code (taken from the trunk).
+ * Fix lintian pre-depends-directly-on-multiarch-support warnings.
+
+ [ Aurelien Jarno ]
+ * Apply proposed patch for PR rtl-optimization/67736 when building for
+ mips64 or mips64el. Closes: #800321.
+
+ -- Matthias Klose <doko@debian.org> Wed, 30 Sep 2015 20:36:50 +0200
+
+gcc-5 (5.2.1-18) unstable; urgency=medium
+
+ * Update to SVN 20150922 (r228023, 5.2.1) from the gcc-5-branch.
+
+ [ Matthias Klose ]
+ * gcc-5-plugin-dev: Depend on libmpc-dev. Closes: #798997.
+ * Fix PR libstdc++/65913, taken from the trunk. Closes: #797577.
+
+ [ YunQiang Su ]
+ * Build again the gnat-5-sjlj package. Closes: #798782.
+ * Fix gnat cross builds, and cross building gnat.
+
+ -- Matthias Klose <doko@debian.org> Tue, 22 Sep 2015 23:15:17 +0200
+
+gcc-5 (5.2.1-17) unstable; urgency=medium
+
+ * Update to SVN 20150911 (r227671, 5.2.1) from the gcc-5-branch.
+ - Fix PR c++/67369, ICE on valid code. LP: #1489173.
+
+ [ Matthias Klose ]
+ * Build-depend on linux-libc-dev [m68k] for gcc and gcc-snapshot builds.
+ Closes: #796906.
+ * Don't ignore anymore bootstrap comparison failures on sh4. Closes: #796939.
+ * Fix stage1 cross build for KFreeBSD. Closes: #796901.
+ * libgo: Fix PR go/67508, rewrite lfstack packing/unpacking to look more
+ like that in Go (Michael Hudson). LP: #1472650.
+ * Fix PR target/67143 (AArch64), ICE on valid code. LP: #1481333.
+
+ [ Aurelien Jarno ]
+ * Use --with-mips-plt on mips*.
+ * Build for R2 ISA on mips, mips64 and mips64el.
+ * Optimize for R2 ISA on mipsel.
+ * Only apply mips-fix-loongson2f-nop on mipsel.
+
+ [ YunQiang Su ]
+ * Fix running the acats tests. Closes: #798531.
+
+ -- Matthias Klose <doko@debian.org> Fri, 11 Sep 2015 03:17:20 +0200
+
+gcc-5 (5.2.1-16) unstable; urgency=medium
+
+ * Update to SVN 20150903 (r227431, 5.2.1) from the gcc-5-branch.
+ - Backport the filesystem TS library.
+ * libstdc++-dev: Install libstdc++fs.a.
+ * Again, configure with --enable-targets=powerpcle-linux on ppc64el.
+ * Apply proposed patch for PR target/67211 (ppc64el).
+ * libgo-dev: Install libgolibbegin.a.
+ * Apply proposed patch for PR target/67280 (ARM). LP: #1482320.
+
+ -- Matthias Klose <doko@debian.org> Thu, 03 Sep 2015 12:16:15 +0200
+
+gcc-5 (5.2.1-15) unstable; urgency=medium
+
+ * Update to SVN 20150808 (r226731, 5.2.1) from the gcc-5-branch.
+ * Adjust libstdc++-breaks: Break libantlr-dev instead of antlr;
+ adjust libreoffice version (closes: #794203), drop xxsd break (see
+ #793289), remove cython breaks (closes: #794511), add breaks for
+ packages built using cython (chemps2, fiona, guiqwt, htseq, imposm,
+ pysph, pytaglib, python-scipy, python-sfml, rasterio).
+ * Ignore missing libstdc++ symbols on sparc64 (work around #792204).
+
+ -- Matthias Klose <doko@debian.org> Sat, 08 Aug 2015 11:18:24 +0200
+
+gcc-5 (5.2.1-14) unstable; urgency=high
+
+ * Fix libstdc++6 breaks.
+
+ -- Matthias Klose <doko@debian.org> Fri, 31 Jul 2015 04:12:08 +0200
+
+gcc-5 (5.2.1-13) unstable; urgency=high
+
+ * Upload to unstable (https://wiki.debian.org/GCC5). See also
+ https://lists.debian.org/debian-devel-announce/2015/07/msg00000.html
+ * Update to SVN 20150730 (r226411, 5.2.1) from the gcc-5-branch.
+ - Fix PR libstdc++/67015. Closes: #793784.
+ * Fix version macros in the plugin-header.h header. Closes: #793478.
+ * libstdc++6: Add breaks for issues tagged with gcc-pr66145.
+ * Add libcpprest2.4 to libstdc++6 breaks. Closes: #784655.
+ * Fix PR c++/66857, taken from the trunk.
+ * Ignore differences in gcc/real.o in the bootstrap build for
+ sh*-*linux-gnu targets. According to PR 67002, "A rare indeterminacy
+ of the register choice. Both codes are valid. It seems very hard to
+ find where has this indeterminacy come from". Suggested by Adrian
+ Glaubitz.
+
+ -- Matthias Klose <doko@debian.org> Thu, 30 Jul 2015 21:51:25 +0200
+
+gcc-5 (5.2.1-12) experimental; urgency=medium
+
+ * Update to SVN 20150723 (r226105, 5.2.1) from the gcc-5-branch.
+ * Fix PR libstdc++/66145, std::ios_base::failure objects thrown from
+ libstdc++.so using the gcc4-compatible ABI.
+ Just build src/c++11/functexcept.cc using the new ABI. It will break
+ code, which will be handled in the archive by adding Breaks for the
+ affected packages. Third party code using such code will need a rebuild.
+ * Remove the work around to build with -O1 on sh4.
+
+ -- Matthias Klose <doko@debian.org> Thu, 23 Jul 2015 14:18:44 +0200
+
+gcc-5 (5.2.1-11) experimental; urgency=medium
+
+ * Configure without --disable-libstdcxx-dual-abi.
+ * Configure with --with-default-libstdcxx-abi=c++11.
+
+ -- Matthias Klose <doko@debian.org> Fri, 17 Jul 2015 08:13:08 +0200
+
+gcc-5 (5.2.1-1) experimental; urgency=medium
+
+ * GCC 5.2 release.
+ * Update to SVN 20150716 (r225880, 5.2.1) from the gcc-5-branch.
+ * Require version 5.2 for the libstdc++6 cxx symbols.
+ * Ignore missing libstdc++ symbols on sparc64 (work around #792204).
+ * Go escape analysis: analyze multiple result type assertions (taken
+ from the trunk).
+
+ -- Matthias Klose <doko@debian.org> Thu, 16 Jul 2015 15:35:44 +0200
+
+gcc-5 (5.1.1-14) unstable; urgency=medium
+
+ * Update to SVN 20150711 (r225710, 5.1.1) from the gcc-5-branch.
+
+ -- Matthias Klose <doko@debian.org> Sat, 11 Jul 2015 11:57:19 +0200
+
+gcc-5 (5.1.1-13) unstable; urgency=medium
+
+ * Update to SVN 20150706 (r225471, 5.1.1) from the gcc-5-branch.
+ * Update libasan symbol files.
+ * Configure --with-fp-32=xx on all mips targets, setting MIPS O32 default
+ to FPXX (YunQiang Su). Closes: #789612.
+ * Update libgccjit symbol file.
+ * Add x32 symbols files for libgcc1 and libstdc++6.
+ * libgccjit0: Add breaks for python-gccjit and python3-gccjit.
+
+ -- Matthias Klose <doko@debian.org> Mon, 06 Jul 2015 19:55:08 +0200
+
+gcc-5 (5.1.1-12) unstable; urgency=medium
+
+ * Update to SVN 20150622 (r224724, 5.1.1) from the gcc-5-branch.
+ * Update symbols files for mips64 libatomic and libstdc++ (YunQiang Su).
+ Closes: #788990.
+ * Fix "empty-binary-package" lintian warnings.
+
+ -- Matthias Klose <doko@debian.org> Mon, 22 Jun 2015 14:37:49 +0200
+
+gcc-5 (5.1.1-11) unstable; urgency=medium
+
+ * Update to SVN 20150616 (r224519, 5.1.1) from the gcc-5-branch.
+ * gccgo: escape: Analyze binary expressions (taken from the trunk).
+ * Explicitly build with -Wl,--no-relax on alpha again.
+ * Build with -O1 on sh4 (try to work around PR target/66358).
+
+ -- Matthias Klose <doko@debian.org> Tue, 16 Jun 2015 16:11:59 +0200
+
+gcc-5 (5.1.1-10) unstable; urgency=medium
+
+ * Update to SVN 20150613 (r224454, 5.1.1) from the gcc-5-branch.
+ * Make removal of byte-compiled libstdc++ pretty printer files more
+ robust. Closes: #787630.
+ * Fix mips 32bit (o32) multilib builds (YunQiang Su).
+ * Build target libraries with -Wl,-z,relro.
+ * Build libstdc++6 when building the common libraries.
+ * Fix a bunch of lintian warnings.
+
+ -- Matthias Klose <doko@debian.org> Sat, 13 Jun 2015 12:59:17 +0200
+
+gcc-5 (5.1.1-9) unstable; urgency=medium
+
+ * Update to SVN 20150602 (r224029, 5.1.1) from the gcc-5-branch.
+ * Remove byte-compiled libstdc++ pretty printer files on upgrade.
+ Closes: #785939.
+ * Fix dangling libgccjit.so symlink.
+ * Fix base dependency for rtlibs stage builds.
+ * Fix build failure of the hppa64 cross compiler, introduced by the
+ gnat cross patches. Closes: #786692.
+ * Update README.source (Michael Vogt).
+ * libgo: syscall.Sendfile(): Apply proposed patch for PR go/66378.
+ (Michael Vogt). LP: #1460530.
+ * Set CC and CXX matching the same GCC version for the stage1 build.
+ * Work around PR go/66368, build libgo with -fno-stack-protector.
+ LP: #1454183.
+
+ -- Matthias Klose <doko@debian.org> Wed, 03 Jun 2015 00:49:41 +0200
+
+gcc-5 (5.1.1-8) unstable; urgency=medium
+
+ * Update to SVN 20150528 (r223816, 5.1.1) from the gcc-5-branch.
+ * Set the priorities of the *-dev-*-cross packages to extra.
+ * Prepare to change the base dependency for *-cross packages.
+ * Fix dependencies for stage1 and stage2 builds.
+ * Relax dependencies on binary indep *-dev-*-cross packages.
+ * Disable building gdc on sh4 (bootstrap comparison failure).
+
+ -- Matthias Klose <doko@debian.org> Thu, 28 May 2015 15:51:00 +0200
+
+gcc-5 (5.1.1-7) unstable; urgency=medium
+
+ * Update to SVN 20150522 (r223579, 5.1.1) from the gcc-5-branch.
+ * Add description for the ada-gnattools-cross patch (YunQiang Su).
+ * Provide a rtlibs stage to build a subset of target library packages.
+ * Make symbols file symlinking for cross builds more robust.
+ * Prefer gnatgcc-5 over gnatgcc when building native packages.
+ * Various fixes to build a gnat cross compiler:
+ - Fix dependencies of packages.
+ - Fix building libgnatprj and libgnatvsn (still needed to figure
+ out if these are target or host libraries).
+ * Fix building cross compilers with dpkg 1.18.
+
+ -- Matthias Klose <doko@debian.org> Fri, 22 May 2015 18:20:01 +0200
+
+gcc-5 (5.1.1-6) unstable; urgency=medium
+
+ * Update to SVN 20150519 (r223346, 5.1.1) from the gcc-5-branch.
+ * Don't build gdc-multilib on armel.
+ * Remove old CFLAGS/LDFLAGS settings to build gdc.
+ * Remove reference to .ico file in NEWS.html.
+ * Fix gcc's dependency on libcc1-0 for native builds.
+ * Fix stripping the rpath when cross-building cross compilers.
+ * Remove work arounds to build 64bit multilibs on 32bit targets,
+ now properly fixed upstream.
+ * Partially apply patches to build a gnat cross compiler (submitted
+ by YunQiang Su).
+ - gnatmake: Call the versioned gnatbind and gnatlink commands.
+ Closes: #782257.
+ - Allow libgnatprj and libgnatvsn to cross build. Addresses: #783372.
+ - New patch ada-gnattools-cross.diff (no documentation).
+ * Backport patch for gccgo:
+ - gccgo: If unary & does not escape, the var does not escape.
+ * Apply the backported patches for the go escape analysis. Need to
+ be enabled with -fgo-optimize-alloc (this option may go away again).
+ * Re-enable running the tests.
+
+ -- Matthias Klose <doko@debian.org> Tue, 19 May 2015 10:33:40 +0200
+
+gcc-5 (5.1.1-5) unstable; urgency=medium
+
+ * Update to SVN 20150507 (r222873, 5.1.1) from the gcc-5-branch.
+ * Fix 32bit libstdc++ symbols files for kfreebsd-amd64.
+ * libx32phobos-dev: Don't depend on libx32z-dev, when not available.
+ * Fix gotools configury.
+ * Configure with
+ --disable-libstdcxx-dual-abi --with-default-libstdcxx-abi=c++98
+ While libstdc++ provides a dual ABI to support both the c++98 and c++11
+ ABI, there is no committment on compatibility of the old experimental
+ c++11 ABI from GCC 4.9 and the stable c++11 ABI in GCC 5.
+ Closes: #784655.
+
+ -- Matthias Klose <doko@debian.org> Fri, 08 May 2015 18:48:49 +0200
+
+gcc-5 (5.1.1-4) unstable; urgency=medium
+
+ * Update to SVN 20150503 (r222751, 5.1.1) from the gcc-5-branch.
+ - Fix build failure on alpha.
+ * Fix applying the cross-biarch patch for stage1 builds.
+ * Fix libstdc++ symbols files for kfreebsd-amd64.
+ * Remove libn32phobos-5-dev from the control file.
+ * Really disable gnat on x32.
+
+ -- Matthias Klose <doko@debian.org> Sat, 02 May 2015 19:18:57 +0200
+
+gcc-5 (5.1.1-3) unstable; urgency=high
+
+ * Update to SVN 20150430 (r222660, 5.1.1) from the gcc-5-branch.
+ * Fix libstdc++ symbols files for kfreebsd-i386.
+ * PR libstdc++/62258, fix for std::uncaught_exception, taken from the trunk.
+ LP: #1439451.
+ * Backport patches for gccgo (not yet applied):
+ - Consider multi-result calls in escape analysis.
+ - Propagate escape info from closures to enclosed variables.
+ - Analyze function values and conversions.
+ - Use backend interface for stack allocation.
+ * More libstdc++ symbols updates for the Hurd and KFreeBSD.
+ * config-ml.in: Add D support.
+ * Update cross-biarch.diff to support D and Go.
+ * Apply the cross-biarch patch for every cross build.
+
+ -- Matthias Klose <doko@debian.org> Thu, 30 Apr 2015 15:42:05 +0200
+
+gcc-5 (5.1.1-2) unstable; urgency=medium
+
+ * Update to SVN 20150428 (r222550, 5.1.1) from the gcc-5-branch.
+ * Fix the gnat build dependency.
+ * Don't build go and gofmt for cross compilers.
+
+ -- Matthias Klose <doko@ubuntu.com> Tue, 28 Apr 2015 23:57:14 +0200
+
+gcc-5 (5.1.1-1) unstable; urgency=medium
+
+ * GCC 5.1.0 release.
+ * Update to SVN 20150424 (r222416, 5.1.1) from the gcc-5-branch.
+ * Update NEWS files.
+ * Apply the ada-bootstrap-compare patch for snapshot builds as well.
+ * Update libasan, libgomp and libstdc++ symbols files.
+ * Don't ignore errors in dh_makeshlibs and dh_shlibdeps anymore, symbols
+ files should be uptodate now.
+ * Split out the sjlj build related things from the ada-acats patch into
+ a new ada-acats-sjlj patch.
+ * Don't build libx32phobos-5-dev when not building x32 multilibs.
+ * Fix standard C++ include directory for cross builds. Closes: #783241.
+ * Ignore bootstrap comparison failure on ia64. Filed upstream as
+ PR middle-end/65874.
+ * gccgo: Add (don't yet apply) a patch to implement escape analysis (taken
+ from the trunk). Turned off by default, enable with -fgo-optimize-alloc.
+
+ -- Matthias Klose <doko@debian.org> Fri, 24 Apr 2015 18:42:39 +0200
+
+gcc-5 (5.1~rc1-1) experimental; urgency=medium
+
+ * GCC 5.1 release candidate 1.
+ * Update to SVN 20150414 (r222066) from the gcc-5-branch.
+ * Update GDC to the gcc-5 branch, 20140414.
+ * Don't build libobjc, when not building the common libraries.
+ * Don't run the gccjit tests on KFreeBSD. Works around #782444:.
+ * Fix not building libs built by the next GCC version.
+
+ -- Matthias Klose <doko@debian.org> Tue, 14 Apr 2015 02:03:53 +0200
+
+gcc-5 (5-20150410-1) experimental; urgency=medium
+
+ * Update to SVN 20150410
+
+ [ Matthias Klose ]
+ * Fix /usr/include/c++/5.0.0 symlink.
+ * Re-enable building the D frontend. Closes: #782254.
+ * gccgo: Install libnetgo.
+
+ [ Samuel Thibault ]
+ * Fix ada builds on the Hurd and KFreeBSD. Closes: #781424.
+
+ -- Matthias Klose <doko@debian.org> Sat, 11 Apr 2015 02:24:08 +0200
+
+gcc-5 (5-20150404-1) experimental; urgency=medium
+
+ * Update to SVN 20150404.
+ * Don't explicitly configure --with-gxx-include-dir and an absolute path,
+ so the toolchain remains relocatible. Instead, canonicalize the include
+ path names at runtime.
+ * Don't link libgnatprj using --no-allow-shlib-undefined on older releases.
+ * Don't build libmpx on older releases.
+ * Remove the work around to build libgccjit on arm64.
+ * Fix the libgccjit build using the just built compiler.
+ * Don't break other gcc, gcj, gnat -base packages for backports, only
+ needed for dist-upgrades.
+ * Don't add -gtoggle to STAGE3_CFLAGS (disabling the bootstrap comparison).
+ Instead, ignore the one differing file (gcc/ada/a-except.o) for now.
+ See #781457, PR ada/65618.
+ * Update libasan, libtsan, libgfortran and libstdc++ symbols files.
+ * Add symbols files for libmpx, libgccjit and libcc1.
+
+ -- Matthias Klose <doko@debian.org> Sat, 04 Apr 2015 21:53:45 +0200
+
+gcc-5 (5-20150329-1) experimental; urgency=medium
+
+ * Update to SVN 20150329.
+ * Fix building the gnat-5-doc package.
+ * Fix gnat build dependencies.
+ * Fix installation of the gnat upstream ChangeLog. Closes: #781451.
+ * Restore the bootstrap-debug.mk patch to the ada-mips patch
+ for debugging purposes. See #781457.
+
+ -- Matthias Klose <doko@debian.org> Sun, 29 Mar 2015 18:53:29 +0200
+
+gcc-5 (5-20150327-1) experimental; urgency=medium
+
+ * Update to SVN 20150327.
+ * Update libcc1 build support.
+ * Fix syntax in libstdc++ symbols file. Closes: #780991.
+ * Fix PR go/65417: Add support for PPC32 relocs to debug/elf. LP: #1431388.
+ * Fix PR go/65462: Fix go get dependencies. LP: #1432497.
+ * Limit the omp.h multilib fix to Linux. Closes: #778440.
+ * For ICEs, dump the preprocessed source file to stderr when in a
+ distro build environment.
+ * Remove the bootstrap-debug.mk patch from the ada-mips patch.
+ * gnat related work (partly based on #780640):
+ - Update patches for GCC 5.
+ - Build the gnat packages from the gcc-5 source package.
+ - Don't build a gnat-base package from the gcc-5 source.
+ - Stop building the gnat-5-sjlj package for now, patch needs an update.
+ - Fix the packaging when not building the gnat-5-sjlj package.
+ - Don't apply the ada-symbolic-tracebacks, patch needs an update.
+ - Fix the libgnatprj build, build with -DIN_GCC.
+ * Replace cloog/ppl build bits with isl build bits.
+
+ -- Matthias Klose <doko@debian.org> Fri, 27 Mar 2015 21:05:16 +0100
+
+gcc-5 (5-20150321-1) experimental; urgency=medium
+
+ * Update to SVN 20150321.
+ * Move the libcc1plugin from the gcc-5-plugin-dev package into the
+ gcc-5 package.
+
+ -- Matthias Klose <doko@debian.org> Sat, 21 Mar 2015 15:01:15 +0100
+
+gcc-5 (5-20150316-1) experimental; urgency=medium
+
+ * Update to SVN 20150316.
+ - Fix bootstrap failures on armel, armhh and arm64.
+ * Configure with --enable-checking=yes (instead of =release).
+
+ -- Matthias Klose <doko@debian.org> Tue, 17 Mar 2015 00:30:27 +0100
+
+gcc-5 (5-20150314-1) experimental; urgency=medium
+
+ * Update to SVN 20150314.
+ - libgo: Add arm64 to the pointer size map (Michael Hudson).
+ - libgo: Add ppc to the pointer size map.
+ - PR go/65404, enable cgo on arm64 and powerpc. LP: #1431032.
+ - Fix PR/tree-optimization 65418. Closes: #778163.
+ - Fix PR c++/65370. Closes: #778073.
+ * Enable libmpx builds on amd64 and i386.
+ * Update the gcc-multiarch patch for mips64 (YunQiang Su).
+ Closes: #776402, #780271.
+ * Remove pr52306 and pr52714 patches, applied upstream. Closes: #780468.
+
+ -- Matthias Klose <doko@debian.org> Sat, 14 Mar 2015 14:48:19 +0100
+
+gcc-5 (5-20150307-1) experimental; urgency=medium
+
+ * Update to SVN 20150307.
+ - Update gccgo to Go 1.4.2.
+ * Enable libsanitizer for AArch64 and POWERPC LE (asan, ubsan).
+ * Remove the support to build empty libsanitizer packages on powerpc
+ and ppc64; libsanitizer should be stable on these architectures.
+ * Fix libcc1.so symlink. Closes: #779341.
+ * Revert the fix for PR65150 on armel and armhf to restore bootstrap.
+ * Don't strip the libgo library, or some things won't work as documented,
+ like runtime.Callers. Still keep the -dbg packages and check if some
+ debug information can be stripped.
+ * gccgo-5: Install alternatives for go and gofmt.
+
+ -- Matthias Klose <doko@debian.org> Sat, 07 Mar 2015 12:20:59 +0100
+
+gcc-5 (5-20150226-1) experimental; urgency=medium
+
+ * Update to SVN 20150226.
+ - Fix PR c/65040 (closes: #778514), PR tree-optimization/65053
+ (closes: #778070, #778071), PR c++/64898 (closes: #778472).
+ * Allow not to strip the compiler executables to be able to print backtraces
+ for ICEs.
+ * Fix gnat build on mips64el (James Cowgill). Addresses: #779191.
+ * Fix the hppa64 cross build (John David Anglin). Closes: #778658.
+ * Fix libstdc++ pretty printers for Python3. Closes: #778436.
+
+ -- Matthias Klose <doko@debian.org> Thu, 26 Feb 2015 08:18:23 +0100
+
+gcc-5 (5-20150205-1) experimental; urgency=medium
+
+ * Update to SVN 20150205.
+ * Update GDC for GCC 5.
+ * Build GDC multilib packages.
+ * Update cross-install-location.diff for gcc-5. Closes: #776100.
+ * Configure --with-default-libstdcxx-abi=c++11 for development,
+ --with-default-libstdcxx-abi=c++98 for backports.
+ * Apply proposed patch for PR target/64893 (AArch64), build using
+ 4.9 on AArch64 for now.
+ * Don't disable bootstrap mode for the jit build on arm64, gets
+ miscompiled.
+ * Allow one to build using gettext built with a newer GCC.
+
+ -- Matthias Klose <doko@debian.org> Thu, 05 Feb 2015 18:31:17 +0100
+
+gcc-5 (5-20150127-1) experimental; urgency=medium
+
+ * Update to SVN 20150127.
+ * More symbol file updates.
+ * Fix libbacktrace and libsanitizer multilib builds.
+ * Fix libssp builds on 64bit architectures.
+ * Update hardening testsuite patches for GCC 5.
+
+ -- Matthias Klose <doko@debian.org> Tue, 27 Jan 2015 14:10:30 +0100
+
+gcc-5 (5-20150121-1) experimental; urgency=medium
+
+ * GCC 5 (SVN trunk 20150121).
+ * Build new binary packages libcc1-0, libgccjit0, libgccjit-5-dev,
+ libgccjit-5-dbg, libgccjit-5-doc.
+ * Update symbols files (still incomplete).
+
+ -- Matthias Klose <doko@debian.org> Wed, 21 Jan 2015 21:02:05 +0100
+
+gcc-4.9 (4.9.2-10) UNRELEASED; urgency=medium
+
+ * Update to SVN 20150120 (r219885) from the gcc-4_9-branch.
+ - Fix PR libstdc++/64476, PR libstdc++/60966, PR libstdc++/64239,
+ PR libstdc++/64649, PR libstdc++/64584, PR libstdc++/64585,
+ PR libstdc++/64646,
+ PR middle-end/63704 (ice on valid), PR target/64513 (x86),
+ PR rtl-optimization/64286 (wrong code), PR tree-optimization/64563 (ice),
+ PR middle-end/64391 (ice on valid), PR c++/54442 (ice on valid),
+ PR target/64358 (rs6000, wrong code), PR target/63424 (AArch64, ice on
+ valid), PR target/64479 (SH), PR rtl-optimization/64536, PR target/64505
+ (rs6000), PR target/61413 (ARM, wrong code), PR target/64507 (SH),
+ PR target/64409 (x32, ice on valid), PR c++/64487 (ice on valid),
+ PR c++/64352, PR c++/64251 (rejects valid), PR c++/64297 (ice on valid),
+ PR c++/64029 (ice on valid), PR c++/63657 (diagnostic), PR c++/38958
+ (diagnostic), PR c++/63658 (rejects valid), PR ada/64492 (build),
+ PR fortran/64528 (ice on valid), PR fortran/63733 (wrong code),
+ PR fortran/56867 (wrong code), PR fortran/64244 (ice on valid).
+ * Update the Linaro support to the 4.9-2015.01 release.
+
+ -- Matthias Klose <doko@debian.org> Tue, 20 Jan 2015 12:45:13 +0100
+
+gcc-4.9 (4.9.2-10) unstable; urgency=medium
+
+ * Really add x32 multilib packages for i386 cross builds to the control file.
+ Closes: #773265.
+ * Use the final binutils 2.25 release.
+ * Tighten the gcc-4.9 dependency on libgcc-4.9-dev (YunQiang Su).
+
+ -- Matthias Klose <doko@debian.org> Thu, 25 Dec 2014 18:10:51 +0100
+
+gcc-4.9 (4.9.2-9) unstable; urgency=medium
+
+ * Update to SVN 20141220 (r218987) from the gcc-4_9-branch.
+ - Fix PR libstdc++/64302, PR libstdc++/64303, PR c++/60955,
+ PR rtl-optimization/64010 (wrong code), PR sanitizer/64265 (wrong code).
+ * Add x32 multilib packages for i386 cross builds to the control file.
+ Closes: #773265.
+ * Fix mips64el multilib cross builds. Closes: #772665.
+ * libphobos-4.x-dev: Stop providing libphobos-dev, now a real package.
+
+ -- Matthias Klose <doko@debian.org> Sat, 20 Dec 2014 07:47:15 +0100
+
+gcc-4.9 (4.9.2-8) unstable; urgency=medium
+
+ * Update to SVN 20141214 (r218721) from the gcc-4_9-branch.
+ - Fix PR tree-optimization/62021 (ice), PR middle-end/64225 (missed
+ optimization), PR libstdc++/64239, PR rtl-optimization/64037 (wrong
+ code), PR target/64200 (x86, ice), PR tree-optimization/64269 (ice).
+ * Don't build libphobos multilibs, there is no gdc-multilib build.
+ * Really disable the sanitizer libs on powerpc, ppc64 and ppc64el.
+ * Paste config.log files to stdout in case of build errors.
+
+ -- Matthias Klose <doko@debian.org> Sun, 14 Dec 2014 18:43:49 +0100
+
+gcc-4.9 (4.9.2-7) unstable; urgency=medium
+
+ * Update to SVN 20141210 (r218575) from the gcc-4_9-branch.
+ - Fix PR libstdc++/64203, PR target/55351 (SH), PR tree-optimization/61686,
+ PR bootstrap/64213.
+ - libgcc hppa backports.
+ * Fix cross builds with dpkg-architecture unconditionally exporting
+ target variables. For now specify the target architecture
+ in debian/target. This still needs to work with older dpkg versions,
+ so don't "simplify" the packaging. Closes: #768167.
+
+ -- Matthias Klose <doko@debian.org> Wed, 10 Dec 2014 13:32:42 +0100
+
+gcc-4.9 (4.9.2-6) unstable; urgency=medium
+
+ * Update to SVN 20141209 (r218510) from the gcc-4_9-branch.
+ - Fix PR libstdc++/63840, PR libstdc++/61947, PR libstdc++/64140,
+ PR target/50751 (SH), PR target/64108 (x86, ice),
+ PR rtl-optimization/64037 (wrong-code), PR c++/56493 (performance),
+ PR c/59708, PR ipa/64153, PR target/64167) (wrong code,
+ closes: #771974), PR target/59593 (ARM, wrong code),
+ PR middle-end/63762 (ARM. wrong code), PR target/63661 (x86,
+ wrong code), PR target/64113 (alpha, wrong code), PR c++/64191.
+ - Allow one to build with ISL 0.14.
+
+ -- Matthias Klose <doko@debian.org> Tue, 09 Dec 2014 11:00:08 +0100
+
+gcc-4.9 (4.9.2-5) unstable; urgency=medium
+
+ * Update to SVN 20141202 (r218271) from the gcc-4_9-branch.
+ - Fix PR middle-end/64111 (ice), PR ipa/63551 (wrong code).
+ PR libstdc++/64102 (closes: #770843), PR target/64115 (powerpc).
+ * Move libphobos2.a into the gcc_lib_dir. Closes: #771647.
+ * Fix typo in last powerpcspe patch. Closes: #771654.
+
+ -- Matthias Klose <doko@debian.org> Tue, 02 Dec 2014 17:42:07 +0100
+
+gcc-4.9 (4.9.2-4) unstable; urgency=medium
+
+ * Update to SVN 20141128 (r218142) from the gcc-4_9-branch.
+ -PR PR target/56846 (ARM), PR libstdc++/63497,
+ PR middle-end/63738 (wrong code), PR tree-optimization/62238 (ice),
+ PR tree-optimization/61927 (wrong code),
+ PR tree-optimization/63605 (wrong code), PR middle-end/63665 (wrong code),
+ PR fortran/63938 (OpenMP), PR middle-end/64067 (ice),
+ PR tree-optimization/63915 (wrong code), PR sanitizer/63913 (ice valid),
+ PR rtl-optimization/63659 (wrong code).
+ * Don't let stage1 multilib builds depend on the multilib libc-dev.
+ Closes: #771243.
+ * Fix an exception problem on powerpcspe (Roland Stigge). Closes: #771324.
+ * Remove unsupported with_deps_on_target_arch_pkgs configurations.
+ Closes: #760770, #766924, #770413.
+
+ -- Matthias Klose <doko@debian.org> Fri, 28 Nov 2014 15:26:23 +0100
+
+gcc-4.9 (4.9.2-3) unstable; urgency=medium
+
+ * Update to SVN 20141125 (r218048) from the gcc-4_9-branch.
+ - PR target/53976 (SH), PR target/63783 (SH), PR target/51244 (SH),
+ PR target/60111 (SH), PR target/63673 (ppc),
+ PR tree-optimization/61750 (ice), PR target/63947 (x86, wrong code),
+ PR tree-optimization/62167 (wrong code), PR c++/63849 (ice),
+ PR ada/47500.
+
+ [ Aurelien Jarno ]
+ * Always configure sh4-linux with --with-multilib-list=m4,m4-nofpu,
+ even with multilib disabled, as it doesn't produce additional
+ libraries.
+
+ [ Matthias Klose ]
+ * gcc-4.9-base: Add Breaks: gcc-4.7-base (<< 4.7.3). Closes: #770025.
+
+ -- Matthias Klose <doko@debian.org> Tue, 25 Nov 2014 17:04:19 +0100
+
+gcc-4.9 (4.9.2-2) unstable; urgency=medium
+
+ * Update to SVN 20141117 (r217768) from the gcc-4_9-branch.
+ - Fix PR rtl-optimization/63475, PR rtl-optimization/63483 (gfortran
+ aliasing fixes for alpha), PR target/63538 (x86), PR ipa/63838 (wrong
+ code), PR target/61535 (sparc), PR c++/63265 (diagnostic), PR ada/42978.
+ * Fix PR c/61553 (ice on illegal code), backported from the trunk.
+ Closes: #767668.
+ * Disable building the sanitizer libs on powerpc and ppc64. Not yet
+ completely ported, and causing kernel crashes running the tests.
+ * Update the Linaro support to the 4.9-2014.11 release.
+
+ -- Matthias Klose <doko@debian.org> Tue, 18 Nov 2014 00:34:01 +0100
+
+gcc-4.9 (4.9.2-1) unstable; urgency=medium
+
+ * GCC 4.9.2 release.
+ * Update GDC from the 4.9 branch.
+
+ [ Matthias Klose ]
+ * Allow one to build the gcc-base package only.
+
+ [Ludovic Brenta]
+ Merge from gnat-4.9 (4.9.1-4) unstable; urgency=low.
+ * debian/patches/ada-libgnatvsn.diff: compile the version.o of
+ libgnatvsn.{a,so} with -DBASEVER=$(FULLVER) to align it with the
+ change made in gcc-base-version.diff, which is compiled into gcc and
+ gnat1. Fixes: #759038.
+ * debian/patches/ada-revert-pr63225.diff: new; preserve the aliversion
+ compatibility of libgnatvsn4.9-dev with -3.
+
+ Merge from gnat-4.9 (4.9.1-3) unstable; urgency=low
+ Merge from gnat-4.9 (4.9.1-2) unstable; urgency=low
+
+ [Svante Signell]
+ * debian/patches/ada-hurd.diff: update and bring up to par with
+ ada-kfreebsd.diff.
+
+ [Ludovic Brenta]
+ * Rebuild with newer dpkg. Fixes: #761248.
+
+ Merge from gnat-4.9 (4.9.1-1) unstable; urgency=low
+
+ * New upstream release. Build-depend on gcc-4.9-source (>= 4.9.1).
+ Fixes: #755490.
+ * debian/rules.d/binary-ada.mk: install the test-summary file in package
+ gnat-4.9 instead of gnat-4.9-base. test-summary is actually
+ architecture-dependent. This change reflects what happens in gcc-4.9
+ and gcc-4.9-base as well. Fixes: #749869.
+
+ Merge from gnat-4.9 (4.9.0-2) unstable; urgency=low
+
+ * Lintian warnings:
+ * debian/control.m4 (gnat-4.9-base): Multi-Arch: same.
+ * debian/patches/ada-749574.diff: new. Fixes: #749574.
+
+ -- Matthias Klose <doko@debian.org> Tue, 04 Nov 2014 02:58:33 +0100
+
+gcc-4.9 (4.9.1-19) unstable; urgency=medium
+
+ * GCC 4.9.2 release candidate.
+ * Update to SVN 20141023 (r216594) from the gcc-4_9-branch.
+ * Install sanitizer header files.
+ * Apply patch for PR 60655, taken from the trunk.
+ * Fix typo in the libstdc++ HTML docs. Closes: #766498.
+ * Use doxygen's copy of jquery.js for the libstdc++ docs. Closes: #766499.
+ * Force self-contained cross builds.
+ * Don't build functionally non-equivalent cross compilers.
+ * Update the Linaro support to the 4.9-2014.10-1 release.
+
+ -- Matthias Klose <doko@debian.org> Fri, 24 Oct 2014 14:20:00 +0200
+
+gcc-4.9 (4.9.1-18) unstable; urgency=medium
+
+ * Update to SVN 20141018 (r216426) from the gcc-4_9-branch.
+
+ [ Matthias Klose ]
+ * Update libstdc++ symbols file for powerpcspe (Roland Stigge).
+ Closes: #765078.
+
+ -- Matthias Klose <doko@debian.org> Sat, 18 Oct 2014 16:28:09 +0200
+
+gcc-4.9 (4.9.1-17) unstable; urgency=medium
+
+ * Update to SVN 20141015 (r216240) from the gcc-4_9-branch.
+ - Fix PR c++/63405 (ice) Closes: #761549.
+ - Fix PR ipa/61144 (wrong code). Closes: #748681.
+
+ -- Matthias Klose <doko@debian.org> Wed, 15 Oct 2014 10:29:23 +0200
+
+gcc-4.9 (4.9.1-16) unstable; urgency=medium
+
+ * Update to SVN 20140930 (r215717) from the gcc-4_9-branch.
+ * Don't suggest libvtv and binutils-gold. Closes: #761612.
+
+ -- Matthias Klose <doko@debian.org> Tue, 30 Sep 2014 11:37:48 +0200
+
+gcc-4.9 (4.9.1-15) unstable; urgency=medium
+
+ * Update to SVN 20140919 (r215401) from the gcc-4_9-branch.
+
+ [ Matthias Klose ]
+ * Extend the fix for PR target/63190 (AArch64). Closes: #758964.
+ * Apply proposed fix for Linaro #331, LP: #1353729 (AArch64).
+
+ [ Aurelien Jarno ]
+ * Default to mips64 ISA on mips64el, with tuning for mips64r2.
+
+ -- Matthias Klose <doko@debian.org> Fri, 19 Sep 2014 20:17:27 +0200
+
+gcc-4.9 (4.9.1-14) unstable; urgency=medium
+
+ * Update to SVN 20140912 (r215228) from the gcc-4_9-branch.
+ * Update the Linaro support to the 4.9-2014.09 release.
+ * Fix installation of the libstdc++ documentation. Closes: #760872.
+
+ -- Matthias Klose <doko@debian.org> Fri, 12 Sep 2014 19:15:23 +0200
+
+gcc-4.9 (4.9.1-13) unstable; urgency=medium
+
+ * Update to SVN 20140908 (r215008) from the gcc-4_9-branch.
+ * Enable cgo on AArch64 (Michael Hudson). LP: #1361940.
+ * Update the Linaro support from the Linaro/4.9 branch.
+ * Fix PR target/63190 (AArch64), taken from the trunk. Closes: #758964.
+
+ -- Matthias Klose <doko@debian.org> Mon, 08 Sep 2014 09:56:50 +0200
+
+gcc-4.9 (4.9.1-12) unstable; urgency=medium
+
+ [ Samuel Thibault ]
+ * boehm-gc: use anonymous mmap instead of brk also on hurd-*.
+ Closes: #753791.
+
+ -- Matthias Klose <doko@debian.org> Sun, 31 Aug 2014 18:40:46 +0200
+
+gcc-4.9 (4.9.1-11) unstable; urgency=medium
+
+ * Update to SVN 20140830 (r214759) from the gcc-4_9-branch.
+ * Update cross installation patches for the branch.
+ * Use the base version (4.9) when accessing files in gcc_lib_dir.
+
+ -- Matthias Klose <doko@debian.org> Sat, 30 Aug 2014 22:05:47 +0200
+
+gcc-4.9 (4.9.1-10) unstable; urgency=medium
+
+ * Update to SVN 20140830 (r214751) from the gcc-4_9-branch.
+ * Fix jni symlinks in /usr/lib/jvm. Closes: #759558.
+ * Update the Linaro support from the Linaro/4.9 branch.
+ - Fixes Aarch64 cross build on i386.
+
+ -- Matthias Klose <doko@debian.org> Sat, 30 Aug 2014 04:47:19 +0200
+
+gcc-4.9 (4.9.1-9) unstable; urgency=medium
+
+ * Update to SVN 20140824 (r214405) from the gcc-4_9-branch.
+ * Fix -dumpversion output to print the full version number.
+ Addresses: #759038. LP: #1360404.
+ Use the GCC base version for the D include dir name.
+
+ -- Matthias Klose <doko@debian.org> Sun, 24 Aug 2014 10:09:28 +0200
+
+gcc-4.9 (4.9.1-8) unstable; urgency=medium
+
+ * Update to SVN 20140820 (r214215) from the gcc-4_9-branch.
+ * Fix PR middle-end/61294, -Wmemset-transposed-args, taken from the trunk.
+ LP: #1352836.
+ * Update the Linaro support to 4.9-2014.08.
+ * Fix PR tree-optimization/59586, graphite segfault, taken from the trunk.
+ LP: #1227789.
+ * Fix multilib castrated cross builds on mips64el (YunQiang Su, Helmut
+ Grohne). Closes: #758408.
+ * Apply Proposed patch for PR target/62040 (AArch64). LP: #1351227.
+ Closes: #757738.
+
+ -- Matthias Klose <doko@debian.org> Wed, 20 Aug 2014 11:36:40 +0200
+
+gcc-4.9 (4.9.1-7) unstable; urgency=medium
+
+ * Build-depend on dpkg-dev (>= 1.17.11).
+
+ -- Matthias Klose <doko@debian.org> Thu, 14 Aug 2014 22:12:29 +0200
+
+gcc-4.9 (4.9.1-6) unstable; urgency=medium
+
+ * Update to SVN 20140813 (r213955) from the gcc-4_9-branch.
+ * Really fix the GFDL build on AArch64. Closes: #757153.
+ * Disable Ada for snapshot builds on kfreebsd-i386, kfreebsd-amd64.
+ Local patch needs an update and upstreaming.
+ * Apply the local ada-mips patch for snapshot builds too.
+ * Disable Ada for snapshot builds on mips, mipsel. Bootstrap comparision
+ failure. Local patch needs upstreaming.
+ * Disable Ada for snapshot builds on hurd-i386, build dependencies are
+ not installable.
+ * Don't build the sanitizer libs for sparc snapshot builds.
+ * Proposed backport for PR libstdc++/61841. Closes: #749290.
+
+ -- Matthias Klose <doko@debian.org> Thu, 14 Aug 2014 17:53:43 +0200
+
+gcc-4.9 (4.9.1-5) unstable; urgency=medium
+
+ * Update to SVN 20140808 (r213759) from the gcc-4_9-branch.
+ - Fix PR tree-optimization/61964. LP: #1347147.
+ * Fix libphobos cross build.
+
+ -- Matthias Klose <doko@debian.org> Fri, 08 Aug 2014 17:28:55 +0200
+
+gcc-4.9 (4.9.1-4) unstable; urgency=high
+
+ * Update to SVN 20140731 (r213317) from the gcc-4_9-branch.
+ - CVE-2014-5044, fix integer overflows in array allocation in libgfortran.
+ Closes: #756325.
+ * Build libphobos on armel and armhf. Closes: #755390.
+ * Fix java.security symlink. Closes: #756484.
+
+ -- Matthias Klose <doko@debian.org> Thu, 31 Jul 2014 10:15:27 +0200
+
+gcc-4.9 (4.9.1-3) unstable; urgency=medium
+
+ * Update to SVN 20140727 (r213100) from the gcc-4_9-branch.
+ * Fix the GFDL build on AArch64.
+ * Fix PR libobjc/61920, libobjc link failure on powerpc*. Closes: #756096.
+
+ -- Matthias Klose <doko@debian.org> Sun, 27 Jul 2014 15:25:24 +0200
+
+gcc-4.9 (4.9.1-2) unstable; urgency=medium
+
+ * Update to SVN 20140724 (r213031) from the gcc-4_9-branch.
+
+ * Fix installing test logs and summaries.
+ * Warn about ppc ELFv2 ABI issues, which will change in GCC 4.10.
+ * Don't gzip the xz compressed testsuite logs and summaries.
+ * Build libphobos on armel and armhf. Closes: #755390.
+ * Update the Linaro support to the 4.9-2014.07 release.
+
+ -- Matthias Klose <doko@debian.org> Thu, 24 Jul 2014 23:59:49 +0200
+
+gcc-4.9 (4.9.1-1) unstable; urgency=medium
+
+ * GCC 4.9.1 release.
+ * Update GDC form the 4.9 branch (20140712).
+
+ -- Matthias Klose <doko@debian.org> Wed, 16 Jul 2014 17:15:14 +0200
+
+gcc-4.9 (4.9.0-11) unstable; urgency=medium
+
+ * GCC 4.9.1 release candidate 1.
+ * Update to SVN 20140712 (r212479) from the gcc-4_9-branch.
+ - Fix PR middle-end/61725. Closes: #754548.
+
+ * Add libstdc++ symbols files for mips64 and mips64el (Yunqiang Su).
+ Closes: #745372.
+ * Set java_cpu to ppc64 on ppc64el.
+ * Build AArch64 from the Linaro 4.9-2014.06 release.
+ * Re-enable running the testsuite on KFreeBSD and the Hurd.
+ * Re-enable running the libstdc++ testsuite on arm*, mips* and hppa.
+
+ -- Matthias Klose <doko@debian.org> Sat, 12 Jul 2014 13:10:46 +0200
+
+gcc-4.9 (4.9.0-10) unstable; urgency=medium
+
+ * Update to SVN 20140704 (r212295) from the gcc-4_9-branch.
+
+ * Explicitly set cpu_32 to ultrasparc for sparc64 builds.
+ * Fix --with-long-double-128 for sparc32 when defaulting to 64-bit.
+ * Ignore missing libstdc++ symbols on armel and hppa. The future and
+ exception_ptr implementation is incomplete. For more information see
+ https://gcc.gnu.org/ml/gcc/2014-07/msg00000.html.
+
+ -- Matthias Klose <doko@debian.org> Fri, 04 Jul 2014 15:55:09 +0200
+
+gcc-4.9 (4.9.0-9) unstable; urgency=medium
+
+ * Update to SVN 20140701 (r212192) from the gcc-4_9-branch.
+ * Update libstdc++ symbols files for ARM.
+ * Configure --with-cpu-32=ultrasparc on sparc64.
+
+ -- Matthias Klose <doko@debian.org> Tue, 01 Jul 2014 10:47:11 +0200
+
+gcc-4.9 (4.9.0-8) unstable; urgency=medium
+
+ * Update to SVN 20140624 (r211959) from the gcc-4_9-branch.
+
+ * Don't ignore dpkg-shlibdeps errors for libstdc++6, left over from initial
+ 4.9 uploads.
+ * Update libgcc1 symbols for sh4. Closes: #751919.
+ * Stop building the libvtv packages. Not usable unless the build is
+ configured with --enable-vtable-verify, which comes with a performance
+ penalty just for the stubs in libstdc++.
+ * Update libstdc++ and libvtv symbols files for builds configured with
+ --enable-vtable-verify.
+ * Remove version requirement for dependency on make. Closes: #751891.
+ * Fix removal of python byte-code files in libstdc++6. Closes: #751435.
+ * Fix a segfault in the driver from calling free on non-malloc'd area.
+ * Drop versioned build dependency on gdb, and apply the pretty printer
+ patch for libstdc++ based on the release.
+ * Add support to build with isl-0.13.
+
+ -- Matthias Klose <doko@debian.org> Wed, 25 Jun 2014 20:08:09 +0200
+
+gcc-4.9 (4.9.0-7) unstable; urgency=medium
+
+ * Update to SVN 20140616 (r211699) from the gcc-4_9-branch.
+
+ [ Matthias Klose ]
+ * Fix patch application for powerpcspe (Helmit Grohne). Closes: #751001.
+ + Update context for powerpc_remove_many.
+ + Drop gcc-powerpcspe-ldbl-fix applied upstream.
+
+ [ Aurelien Jarno ]
+ * Fix PR c++/61336, taken from the trunk.
+
+ -- Matthias Klose <doko@debian.org> Mon, 16 Jun 2014 10:59:16 +0200
+
+gcc-4.9 (4.9.0-6) unstable; urgency=medium
+
+ * Update to SVN 20140608 (r211353) from the gcc-4_9-branch.
+ * Fix -Wno-format when -Wformat-security is the default (Steve Beattie).
+ LP: #1317305.
+ * Don't install the libstdc++ pretty printer file into the debug directory,
+ but into the gdb auto-load directory.
+ * Fix the removal of the libstdc++6 package, removing byte-compiled pretty
+ printer files and pycache directories.
+ * Fix PR c++/61046, taken from the trunk. LP: #1313102.
+ * Fix installation of gcc-{ar,nm,ranlib} man pages for snapshot builds.
+ Closes: #745906.
+ * Update patches for snapshot builds.
+
+ -- Matthias Klose <doko@debian.org> Sun, 08 Jun 2014 11:57:07 +0200
+
+gcc-4.9 (4.9.0-5) unstable; urgency=medium
+
+ * Update to SVN 20140527 (r210956) from the gcc-4_9-branch.
+ * Limit systemtap-sdt-dev build dependency to enumerated linux architectures.
+ * Build libitm on AArch64, patch taken from the trunk.
+ * Update the testsuite to allow more testcases to pass with hardening options
+ turned on (Steve Beattie). LP: #1317307.
+ * Revert the fix for PR rtl-optimization/60969, causing bootstrap failure
+ on ppc64el.
+ * Fix PR other/61257, check for working sys/sdt.h.
+ * Drop the libstdc++-arm-wno-abi patch, not needed anymore in 4.9.
+
+ -- Matthias Klose <doko@debian.org> Tue, 27 May 2014 08:58:07 +0200
+
+gcc-4.9 (4.9.0-4) unstable; urgency=medium
+
+ * Update to SVN 20140518 (r210592) from the gcc-4_9-branch.
+ * Update the local ada-libgnatprj patch for AArch64. Addresses: #748233.
+ * Update the libstdc++v-python3 patch. Closes: #748317, #738341, 747903.
+ * Build-depend on systemtap-sdt-dev, on every architecure, doesn't seem to hurt
+ on architectures where it is not supported. Closes: #748315.
+ * Update the gcc-default-format-security patch (Steve Beattie). LP: #1317305.
+ * Apply the proposed patch for PR c/57653. Closes: #734345.
+
+ -- Matthias Klose <doko@debian.org> Sun, 18 May 2014 23:29:43 +0200
+
+gcc-4.9 (4.9.0-3) unstable; urgency=medium
+
+ * Update to SVN 20140512 (r210323) from the gcc-4_9-branch.
+
+ [ Matthias Klose ]
+ * Update build dependencies for ada enabled snapshot builds.
+ * Fix PR tree-optimization/60902, taken from the trunk. Closes: #746944.
+ * Ensure that the common libs (built from the next GCC version) are
+ available when building without common libs.
+ * Fix java.security symlink in libgcj15. Addresses: #746786.
+ * Move the libstdc++ gdb pretty printers into libstdc++6, install the
+ -gdb.py files into /usr/share/gdb/auto-load.
+ * Set the 'Multi-Arch: same' attribute for packages, cross built with
+ with_deps_on_target_arch_pkgs=yes (Helmit Grohne). Closes: #716795.
+ * Build the gcc-X.Y-base package with with_deps_on_target_arch_pkgs=yes
+ (Helmit Grohne). Addresses: #744782.
+ * Apply the proposed patches for PR driver/61106, PR driver/61126.
+ Closes: #747345.
+
+ [ Aurelien Jarno ]
+ * Fix libasan1 symbols file for sparc and sparc64.
+
+ -- Matthias Klose <doko@debian.org> Tue, 13 May 2014 02:15:27 +0200
+
+gcc-4.9 (4.9.0-2) unstable; urgency=medium
+
+ * Update to SVN 20140503 (r210033) from the gcc-4_9-branch.
+ - Fix PR go/60931, garbage collector issue with non 4kB system page size.
+ LP: #1304754.
+
+ [Matthias Klose]
+ * Fix libgcc-dev dependency on gcc, when not building libgcc.
+ * Fix gnat for snapshot builds on ppc64el.
+ * Update the libsanitizer build fix for sparc.
+ * Install only versioned gcc-ar gcc-nm gcc-ranlib binaries for the hppa64
+ cross compiler. Install hppa64 alternatives. Addresses: #745967.
+ * Fix the as and ld symlinks for the hppa64 cross compiler.
+ * Add the gnat backport for AArch64.
+ * Update gnat patches not to use tabs and too long lines.
+ * libgnatvsn: Use CC and CXX passed from the toplevel makefile, drop gnat
+ build dependency on g++. Addresses: #746688.
+
+ Merge from gnat-4.9 (4.9.0-1) unstable; urgency=low:
+
+ [Ludovic Brenta]
+ * debian/patches/ada-hurd.diff: refresh for new upstream version that
+ restores POSIX compliance in System.OS_Interface.timespec.
+ * debian/patches/ada-kfreebsd.diff: make System.OS_Interface.To_Timespec
+ consistent with s-osinte-posix.adb.
+ [Nicolas Boulenguez]
+ * rules.conf (Build-Depends): mention gnat before gnat-x.y so that
+ buildds can bootstrap 4.9 in unstable. Fixes: #744724.
+
+ -- Matthias Klose <doko@debian.org> Sat, 03 May 2014 14:00:41 +0200
+
+gcc-4.9 (4.9.0-1) unstable; urgency=medium
+
+ * GCC 4.9.0 release.
+ * Update to SVN 20140423 (r209695) from the gcc-4_9-branch.
+
+ [Matthias Klose]
+ * Fix PR target/59758 (sparc), libsanitizer build failure (proposed patch).
+ * Update gold architectures.
+ * Update NEWS files.
+ * Remove more mudflap left overs. Closes: #742606.
+ * Add new libraries src/libvtv and src/libcilkrts to
+ cross-ma-install-location.diff (Helmur Grohne). Closes: #745267.
+ * Let lib*gcc-dev depend on the corresponding libtsan packages.
+ * Build the liblsan packages (amd64 only).
+ * Install the libcilkrts spec file.
+ * Build the D frontend and libphobos from the gdc trunk.
+
+ Merge from gnat-4.9 (4.9-20140411-1) unstable; urgency=medium
+
+ [Nicolas Boulenguez]
+ * Revert g4.9-base to Architecture: all. Fixes: #743833.
+ * g4.9 Breaks/Replaces -base 4.6.4-2 and 4.9-20140330-1. Fixes: #743376.
+
+ [Ludovic Brenta]
+ * debian/patches/ada-symbolic-tracebacks.diff: refresh.
+
+ Merge from gnat-4.9 (4.9-20140406-1) experimental; urgency=low
+
+ * debian/patches/ada-arm.diff: new. Improve support for ZCX on this
+ architecture.
+ * debian/patches/rules.patch: apply architecture- and Ada-specific
+ patches before Debian-specific patches.
+ * debian/patches/ada-link-lib.diff,
+ debian/patches/ada-libgnatvsn.diff,
+ debian/patches/ada-libgnatprj.diff: refresh for the new upstream
+ sources.
+
+ Merge from gnat-4.9 (4.9-20140330-3) experimental; urgency=low
+
+ [Nicolas Boulenguez]
+ * Install debian_packaging.mk to gnat-x.y, not -base. Fixes: #743375.
+ * rules.conf (Build-Depends): gnatgcc symlink provided by gnat-4.9 |
+ gnat-4.6 (>= 4.6.4-2) | gnat (>= 4.1 and << 4.6.1).
+
+ Merge from gnat-4.9 (4.9-20140330-2) experimental; urgency=medium
+
+ * Uploading to unstable was a mistake. Upload to experimental.
+
+ Merge from gnat-4.9 (4.9-20140330-1) unstable; urgency=medium
+
+ [Nicolas Boulenguez]
+ * patches/ada-ppc64.diff: replace undefined variable arch with
+ target_cpu; this overrides the patch proposed by Ulrich Weigand as
+ it is more correct; approved by Ludovic Brenta. Fixes: #742590.
+ * control.m4: Break/Replace: dh-ada-library 5.9. Fixes: #743219.
+
+ Merge from gnat-4.9 (4.9-20140322-1) experimental; urgency=low
+
+ [Nicolas Boulenguez]
+ * debian/control.m4:
+ (Suggests): suggest the correct version of ada-reference-manual.
+ (Vcs-Svn): specify the publicly accessible repository.
+ * Receive debian_packaging.mk from dh-ada-library (not library specific).
+ * Receive gnatgcc symlink from gnat (useful outside default compiler).
+ * debian/source/local-options: new.
+
+ [Ludovic Brenta]
+ * debian/control.m4: conflict with gnat-4.7, gnat-4.8.
+ * debian/patches/ada-default-project-path.diff: when passed options such
+ as -m32 or -march, do not look for the RTS in
+ /usr/share/ada/adainclude but in
+ /usr/lib/gcc/$target_triplet/$version/{,rts-}$arch. Still look
+ for project files in /usr/share/ada/adainclude.
+ * debian/rules.d/binary-ada.mk, debian/rules.defs, debian/rules.patch:
+ Switch to ZCX by default on arm, armel, armhf; built SJLJ as the
+ package gnat-4.9-sjlj like on all other architectures. This is made
+ possible by the new upstream version.
+ * debian/patches/ada-hurd.diff (s-osinte-gnu.ads): change the type of
+ timespec.tv_nsec from long to time_t, for compatibility with
+ s-osinte-posix.adb, even though this violates POSIX. Better solution
+ to come from upstream. Fixes: #740286.
+
+ -- Matthias Klose <doko@debian.org> Wed, 23 Apr 2014 13:35:43 +0200
+
+gcc-4.9 (4.9-20140411-2) unstable; urgency=medium
+
+ * Disable running the testsuite on kfreebsd, hangs the buildds.
+ * Stop building the sanitizer libs on sparc, fails to build. No reaction
+ from the Debian port maintainers and upstream. See PR sanitize/59758.
+
+ -- Matthias Klose <doko@debian.org> Sat, 12 Apr 2014 15:42:34 +0200
+
+gcc-4.9 (4.9-20140411-1) unstable; urgency=medium
+
+ * GCC 4.9.0 release candidate 1.
+ * Configure for i586-linux-gnu on i386.
+
+ -- Matthias Klose <doko@debian.org> Fri, 11 Apr 2014 19:57:07 +0200
+
+gcc-4.9 (4.9-20140406-1) experimental; urgency=medium
+
+ [Matthias Klose]
+ * Include include and include-fixed header files into the stage1
+ gcc-4.9 package.
+ * Explicitly configure with --disable-multilib on sparc64 when no
+ multilibs are requested (Helmut Grohne). Addresses: #743342.
+ * Drop mudflap from cross-install-location.diff since mudflap was removed
+ from gcc 4.9. Closes: #742606
+ * Build gnat in ppc64el snapshot builds.
+ * Apply the ada-ppc64 patch for snapshot builds as well.
+ * Fix PR target/60609 (ARM), proposed patch (Charles Baylis). LP: #1295653.
+ * Include the gnu triplet prefixed gcov and gcc-{ar,nm,ranlib} binaries.
+ * Add replaces when upgrading from a standalone gccgo build.
+
+ [Yunqiang Su]
+ * Lower default optimization for mips64/n32 to mips3/mips64(32).
+ Closes: #742617.
+
+ -- Matthias Klose <doko@debian.org> Sun, 06 Apr 2014 02:24:16 +0200
+
+gcc-4.9 (4.9-20140330-1) experimental; urgency=medium
+
+ * Package GCC 4.9 snapshot 20140330.
+
+ [Matthias Klose]
+ * Update symbols files.
+ * debian/patches/ada-ppc64.diff: Fix for ppc64el (Ulrich Weigand).
+ * Fix cross building targeting x32 (Helmut Grohne). Addresses: #742539.
+
+ [Ludovic Brenta]
+ * debian/control.m4 (Build-Depends), debian/rules.conf: remove
+ AUTOGEN_BUILD_DEP and hardcode autogen. It is called by
+ fixincludes/genfixes during bootstrap and also when building gnat-*,
+ not just when running checks on gcc-*.
+
+ -- Matthias Klose <doko@debian.org> Sun, 30 Mar 2014 09:46:29 +0100
+
+gcc-4.9 (4.9-20140322-1) experimental; urgency=medium
+
+ * Package GCC 4.9 snapshot 20140322.
+ - Fixes build error on the Hurd. Closes: #740153.
+
+ [Matthias Klose]
+ * Re-apply lost patch for config.gcc for mips64el. Closes: #741543.
+
+ Merge from gnat-4.9 (4.9-20140218-3) UNRELEASED; urgency=low
+
+ [Nicolas Boulenguez]
+ * debian/control.m4: suggest the correct version of
+ ada-reference-manual.
+
+ [Ludovic Brenta]
+ * debian/control.m4: conflict with gnat-4.7, gnat-4.8.
+
+ Merge from gnat-4.9 (4.9-20140218-2) experimental; urgency=low
+
+ * debian/patches/ada-hurd.diff (Makefile.in): match *86-pc-gnu but
+ not *86-linux-gnu, the target tripled used by GNU/Linux.
+
+ Merge from gnat-4.9 (4.9-20140218-1) experimental; urgency=low
+
+ [Ludovic Brenta]
+ * debian/patches/ada-symbolic-tracebacks.diff: refresh and fix compiler
+ warnings.
+ * debian/patches/ada-link-lib.diff (.../ada/gcc-interface/Make-lang.in):
+ do not try to install the gnattools, this is the job of
+ gnattools/Makefile.in.
+ * debian/patches/ada-ajlj.diff: specify EH_MECHANISM to sub-makes even
+ when making install-gnatlib.
+
+ [Xavier Grave]
+ * debian/patches/ada-kfreebsd.diff: refresh.
+ * debian/rules.patch: re-enable the above.
+
+ -- Matthias Klose <doko@debian.org> Sat, 22 Mar 2014 14:19:43 +0100
+
+gcc-4.9 (4.9-20140303-1) experimental; urgency=medium
+
+ * Package GCC 4.9 snapshot 20140303.
+
+ -- Matthias Klose <doko@debian.org> Tue, 04 Mar 2014 02:13:20 +0100
+
+gcc-4.9 (4.9-20140218-1) experimental; urgency=medium
+
+ * Fix gij wrapper script on hppa. Closes: #739224.
+
+ -- Matthias Klose <doko@debian.org> Tue, 18 Feb 2014 23:59:31 +0100
+
+gcc-4.9 (4.9-20140205-1) experimental; urgency=medium
+
+ * Package GCC 4.9 snapshot 20140205.
+ * Install the libsanitizer spec file.
+ * Fix building standalone gccgo, including the libgcc packages.
+ * On AArch64, use "generic" target, if no other default.
+
+ -- Matthias Klose <doko@debian.org> Wed, 05 Feb 2014 12:53:52 +0100
+
+gcc-4.9 (4.9-20140122-1) experimental; urgency=medium
+
+ * Package GCC 4.9 snapshot 20140122.
+ * Update libstdc++ -dbg and -doc conflicts.
+ * Link libstdc++ tests requiring libpthread symbols with --no-as-needed.
+ * armhf: Fix ffi_call_VFP with no VFP arguments (Will Newton).
+ * Apply proposed patch for PR target/59799, allow passing arrays in
+ registers on AArch64 (Michael Hudson).
+
+ -- Matthias Klose <doko@debian.org> Wed, 22 Jan 2014 21:28:56 +0100
+
+gcc-4.9 (4.9-20140116-1) experimental; urgency=medium
+
+ * Package GCC 4.9 snapshot 20140116.
+ * Fix PR target/59588 (AArch64), backport proposed patch. LP: #1263576.
+ * Fix call frame information in ffi_closure_SYSV on AArch64.
+
+ -- Matthias Klose <doko@debian.org> Fri, 17 Jan 2014 00:31:19 +0100
+
+gcc-4.9 (4.9-20140111-1) experimental; urgency=medium
+
+ * Package GCC 4.9 snapshot 20140111.
+ * Update libstdc++ -dbg and -doc conflicts. Closes: #734913.
+ * Disable libcilkrts on KFreeBSD and the Hurd. See #734973.
+
+ -- Matthias Klose <doko@debian.org> Sat, 11 Jan 2014 13:11:16 +0100
+
+gcc-4.9 (4.9-20140110-1) experimental; urgency=medium
+
+ * Package GCC 4.9 snapshot 20140110.
+
+ -- Matthias Klose <doko@debian.org> Fri, 10 Jan 2014 18:03:07 +0100
+
+gcc-4.9 (4.9-20140109-1) experimental; urgency=medium
+
+ * Package GCC 4.9 snapshot.
+
+ -- Matthias Klose <doko@debian.org> Thu, 09 Jan 2014 18:57:46 +0100
+
+gcc-4.8 (4.8.2-11) unstable; urgency=low
+
+ * Update to SVN 20131230 (r206241) from the gcc-4_8-branch.
+ * Don't build x32 multilibs for wheezy backports.
+ * Set the goarch to arm64 for aarch64-linux-gnu.
+ * Fix statically linked gccgo binaries on AArch64 (Michael Hudson).
+ LP: #1261604.
+ * Merge accumulated Ada changes from gnat-4.8.
+ * Update gnat build dependencies when not built from a separate source.
+ * Default to -mieee on alpha again (Michael Cree). Closes: #733291.
+ * Prepare gnat package for cross builds.
+
+ -- Matthias Klose <doko@debian.org> Mon, 30 Dec 2013 08:52:29 +0100
+
+gcc-4.8 (4.8.2-10) unstable; urgency=low
+
+ * Update to SVN 20131213 (r205948) from the gcc-4_8-branch.
+ * Add missing commit in libjava for gcc-linaro.
+
+ -- Matthias Klose <doko@debian.org> Fri, 13 Dec 2013 01:01:47 +0100
+
+gcc-4.8 (4.8.2-9) unstable; urgency=low
+
+ * Update to SVN 20131212 (r205924) from the gcc-4_8-branch.
+
+ [ Matthias Klose ]
+ * Fix libitm symbols files for ppc64.
+ * Update libatomic symbol file for arm64 and ppc64.
+ * libgcj-dev: Drop dependencies on gcj-jre-lib and gcj-jdk.
+ * Fix permissions of some override files.
+ * Let cross compilers conflict with gcc-multilib (providing
+ /usr/include/asm for the non-default multilib).
+ * Configure --with-long-double-128 on powerpcspe (Roland Stigge).
+ Closes: #731941.
+ * Update the Linaro support to the 4.8-2013.12 release.
+ * Update the ibm branch to 20131212.
+
+ [ Aurelien Jarno ]
+ * patches/note-gnu-stack.diff: restore and rebase lost parts.
+
+ -- Matthias Klose <doko@debian.org> Thu, 12 Dec 2013 12:34:55 +0100
+
+gcc-4.8 (4.8.2-8) unstable; urgency=medium
+
+ * Update to SVN 20131203 (r205647) from the gcc-4_8-branch.
+ * Fix PR libgcc/57363, taken from the trunk.
+
+ -- Matthias Klose <doko@debian.org> Wed, 04 Dec 2013 01:21:10 +0100
+
+gcc-4.8 (4.8.2-7) unstable; urgency=low
+
+ * Update to SVN 20131129 (r205535) from the gcc-4_8-branch.
+ * Introduce aarch64 goarch.
+ * libgo: Backport fix for calling a function or method that takes or returns
+ an empty struct via reflection.
+ * go frontend: Backport fix for the generated hash functions of types that
+ are aliases for structures containing unexported fields.
+ * Skip Go testcase on AArch64 which hangs on the buildds.
+ * Fix freetype includes in libjava/classpath.
+
+ -- Matthias Klose <doko@debian.org> Fri, 29 Nov 2013 18:19:12 +0100
+
+gcc-4.8 (4.8.2-6) unstable; urgency=low
+
+ * Update to SVN 20131128 (r205478) from the gcc-4_8-branch.
+
+ [ Matthias Klose ]
+ * gcc-4.8-base: Breaks gcc-4.4-base (<< 4.4.7). Closes: #729963.
+ * Update the gcc-as-needed patch for mips*. Closes: #722067.
+ * Use dpkg-vendor information for distribution specific settings.
+ Closes: #697805.
+ * Check for the sys/auxv.h header file.
+ * On AArch64, make the frame grow downwards, taken from the trunk.
+ Enable ssp on AArch64.
+ * Pass -fuse-ld=gold to gccgo on targets supporting split-stack.
+
+ [ Aurelien Jarno ]
+ * Update README.Debian for s390 and s390x.
+
+ [ Thorsten Glaser ]
+ * m68k-ada.diff: Add gcc-4.8.0-m68k-ada-pr48835-2.patch and
+ gcc-4.8.0-m68k-ada-pr51483.patch by Mikael Pettersson, to
+ fix more CC0-specific and m68k/Ada-specific problems.
+ * m68k-picflag.diff: New, backport from trunk, by Andreas Schwab,
+ to avoid relocation errors when linking big shared objects.
+ * pr58369.diff: New, backport from trunk, by Jeffrey A. Law,
+ to fix ICE while building boost 1.54 on m68k.
+ * pr52306.diff: Disables -fauto-inc-dec by default on m68k to
+ work around ICE when building C++ code (e.g. Qt-related).
+
+ -- Matthias Klose <doko@debian.org> Thu, 28 Nov 2013 10:29:09 +0100
+
+gcc-4.8 (4.8.2-5) unstable; urgency=low
+
+ * Update to SVN 20131115 (r204839) from the gcc-4_8-branch.
+ * Update the Linaro support to the 4.8-2013.11 release.
+ * Add missing replaces in libgcj14. Closes: #729022.
+
+ -- Matthias Klose <doko@debian.org> Sat, 16 Nov 2013 20:15:09 +0100
+
+gcc-4.8 (4.8.2-4) unstable; urgency=low
+
+ * Really fix disabling the gdc tests.
+
+ -- Matthias Klose <doko@debian.org> Wed, 13 Nov 2013 00:44:35 +0100
+
+gcc-4.8 (4.8.2-3) unstable; urgency=low
+
+ * Update to SVN 20131112 (r204704) from the gcc-4_8-branch.
+ * Don't ship java.security in both libgcj14 and gcj-4.8-headless.
+ Closes: #729022.
+ * Disable gdc tests on architectures without libphobos port.
+
+ -- Matthias Klose <doko@debian.org> Tue, 12 Nov 2013 18:08:44 +0100
+
+gcc-4.8 (4.8.2-2) unstable; urgency=low
+
+ * Update to SVN 20131107 (r204496) from the gcc-4_8-branch.
+ * Build ObjC, Obj-C++ and Go for AArch64.
+ * Fix some gcj symlinks. Closes: #726792, #728403.
+ * Stop building libmudflap (removed in GCC 4.9).
+
+ -- Matthias Klose <doko@debian.org> Thu, 07 Nov 2013 01:40:15 +0100
+
+gcc-4.8 (4.8.2-1) unstable; urgency=low
+
+ * GCC 4.8.2 release.
+
+ * Update to SVN 20131017 (r203751) from the gcc-4_8-branch.
+ * Update the Linaro support to the 4.8-2013.10 release.
+ * Fix PR c++/57850, option -fdump-translation-unit not working.
+ * Don't run the testsuite on aarch64.
+ * Fix PR target/58578, wrong-code regression on ARM. LP: #1232017.
+ * [ARM] Fix bug in add patterns due to commutativity modifier,
+ backport from trunk. LP: #1234060.
+ * Build libatomic on AArch64.
+ * Fix dependency generation for the cross gcc-4.8 package.
+ * Make the libstdc++ pretty printers compatible with Python3, if
+ gdb is built with Python3 support.
+ * Fix loading of libstdc++ pretty printers. Closes: #701935.
+ * Don't let gcc-snapshot build-depend on gnat on AArch64.
+
+ -- Matthias Klose <doko@debian.org> Thu, 17 Oct 2013 14:37:55 +0200
+
+gcc-4.8 (4.8.1-10) unstable; urgency=low
+
+ * Update to SVN 20130904 (r202243) from the gcc-4_8-branch.
+
+ [ Matthias Klose ]
+ * Don't rely on the most recent Debian release name for configuration
+ of the package. Addresses: #720263. Closes: #711824.
+ * Fix a cross build issue without DEB_* env vars set (Eleanor Chen).
+ Closes: #718614.
+ * Add packaging support for mips64(el) and mipsn32(el) including multilib
+ configurations (YunQiang Su). Addresses: #708143.
+ * Fix gcc dependencies for stage1 builds (YunQiang Su). Closes: #710240.
+ * Fix boehm-gc test failures with a linker defaulting to
+ --no-copy-dt-needed-entries.
+ * Fix libstdc++ and libjava test failures with a linker defaulting
+ to --as-needed.
+ * Mark the libjava/sourcelocation test as expected to fail on amd64 cpus.
+ * Fix some gcc and g++ test failures for a compiler with hardening
+ defaults enabled.
+ * Fix gcc-default-format-security.diff for GCC 4.8.
+ * Run the testsuite again on armel and armhf.
+ * Disable running the testsuite on mips. Fails on the buildds, preventing
+ migration to testing for three months. No feedback from the mips porters.
+
+ [ Thorsten Glaser ]
+ * Merge several old m68k-specific patches from gcc-4.6 package:
+ - libffi-m68k: Rebased against gcc-4.8 and libffi 3.0.13-4.
+ - m68k-revert-pr45144: Needed for Ada.
+ - pr52714: Revert optimisation that breaks CC0 arch.
+ * Fix PR49847 (Mikael Pettersson). Closes: #711558.
+ * Use -fno-auto-inc-dec for PR52306 (Mikael Pettersson).
+
+ -- Matthias Klose <doko@debian.org> Wed, 04 Sep 2013 21:30:07 +0200
+
+gcc-4.8 (4.8.1-9) unstable; urgency=low
+
+ * Update to SVN 20130815 (r201764) from the gcc-4_8-branch.
+ * Enable gomp on AArch64.
+ * Update the Linaro support to the 4.8-2013.08 release.
+
+ -- Matthias Klose <doko@debian.org> Thu, 15 Aug 2013 10:47:38 +0200
+
+gcc-4.8 (4.8.1-8) unstable; urgency=low
+
+ * Fix PR rtl-optimization/57878, taken from the 4.8 branch.
+ * Fix PR target/57909 (ARM), Linaro only.
+
+ -- Matthias Klose <doko@debian.org> Mon, 22 Jul 2013 13:03:57 +0200
+
+gcc-4.8 (4.8.1-7) unstable; urgency=low
+
+ * Update to SVN 20130717 (r200995) from the gcc-4_8-branch.
+ - Go 1.1.1 updates.
+ * Define CPP_SPEC for aarch64.
+ * Don't include <limits.h> in libgcc/libgcc2.c, taken from the trunk.
+ Closes: #696267.
+ * boehm-gc: use mmap instead of brk also on kfreebsd-* (Petr Salinger).
+ Closes: #717024.
+
+ -- Matthias Klose <doko@debian.org> Thu, 18 Jul 2013 02:02:13 +0200
+
+gcc-4.8 (4.8.1-6) unstable; urgency=low
+
+ * Update to SVN 20130709 (r200810) from the gcc-4_8-branch.
+
+ [ Aurelien Jarno ]
+ * Add 32-bit biarch packages on sparc64.
+
+ [ Matthias Klose ]
+ * Fix multiarch include path for aarch64.
+ * Update the Linaro support to the 4.8-2013.07 release.
+ * Revert the proposed fix for PR target/57637 (ARM only).
+ * Let gfortran-4.8 provide gfortran-mod-10. Addresses #714730.
+
+ [ Iain Buclaw ]
+ * Avoid compiler warnings redefining D builtin macros.
+
+ -- Matthias Klose <doko@debian.org> Tue, 09 Jul 2013 16:18:16 +0200
+
+gcc-4.8 (4.8.1-5) unstable; urgency=low
+
+ * Update to SVN 20130629 (r200565) from the gcc-4_8-branch.
+
+ [ Aurelien Jarno ]
+ * Don't pass --with-mips-plt on mips/mipsel.
+
+ [ Matthias Klose ]
+ * Fix documentation builds with texinfo-5.1.
+ * Update the ARM libsanitizer backport from the 4.8 Linaro branch.
+ * libphobos-4.8-dev provides libphobos-dev (Peter de Wachter).
+ * The gdc cross compiler doesn't depend on libphobos-4.8-dev.
+ * Work around libgo build failure on ia64. PR 57689. #714090.
+ * Apply proposed fix for PR target/57637 (ARM only).
+
+ -- Matthias Klose <doko@debian.org> Sat, 29 Jun 2013 14:59:45 +0200
+
+gcc-4.8 (4.8.1-4) unstable; urgency=low
+
+ * Update to SVN 20130619 (r200219) from the gcc-4_8-branch.
+ - Bump the libgo soname (change in type layout for functions that take
+ function arguments).
+ - Fix finding the liblto_plugin.so without x permissions set (see
+ PR driver/57651). Closes: #712704.
+ * Update maintainer list.
+ * Fall back to the binutils version of the binutils build dependency
+ if the binutils version used for the build cannot be determined.
+ * For ARM multilib builds, use libsf/libhf system directories to lookup
+ files for the non-default multilib (for now, only for the cross compilers).
+ * Split out a gcj-4.8 package, allow to build a gcj cross compiler.
+ * Allow one to cross build gcj.
+ * Don't include object.di in the D cross compiler, but depend on gdc instead.
+ * Allow one to cross build gdc.
+ * Pass --hash-style=gnu instead of --hash-style=both to the linker.
+
+ -- Matthias Klose <doko@debian.org> Wed, 19 Jun 2013 23:48:02 +0200
+
+gcc-4.8 (4.8.1-3) unstable; urgency=low
+
+ * Update to SVN 20130612 (r200018) from the gcc-4_8-branch.
+
+ [ Matthias Klose ]
+ * Prepare gdc for cross builds, and multiarch installation.
+ * Prepare gnat to build out of the gcc-4.8 source package, not
+ building the gnat-4.8-base package anymore.
+ * Don't build a gcj cross compiler by default (not yet tested).
+ * Disable D on s390 (doesn't terminate the D testsuite).
+ * Build libphobos on x32.
+ * Fix build with DEB_BUILD_OPTIONS="nolang=d".
+ * Disable D for arm64.
+ * Update the Linaro support to the 4.8-2013.06 release.
+ * Fix cross building a native compiler.
+ * Work around dh_shlibdeps not working on target libraries (see #698881).
+ * Add build dependency on kfreebsd-kernel-headers (>= 0.84) [kfreebsd-any].
+ * Add handling for unwind inside signal trampoline for kfreebsd (Petr
+ Salinger). Closes: #712016.
+ * Let gcc depend on the binutils upstream version it was built with.
+ Addresses #710142.
+ * Force a build using binutils 2.23.52 in unstable.
+
+ [ Iain Buclaw ]
+ * Update gdc to 20130610.
+ * Build libphobos on kFreeBSD.
+
+ -- Matthias Klose <doko@debian.org> Wed, 12 Jun 2013 16:47:25 +0200
+
+gcc-4.8 (4.8.1-2) unstable; urgency=low
+
+ * Update to SVN 20130604 (r199596) from the gcc-4_8-branch.
+ * Force arm mode for libjava on armhf.
+ * Fix gdc build failure on kFreeBSD and the Hurd.
+
+ -- Matthias Klose <doko@debian.org> Tue, 04 Jun 2013 17:28:06 +0200
+
+gcc-4.8 (4.8.1-1) unstable; urgency=low
+
+ * GCC 4.8.1 release.
+ Support for C++11 ref-qualifiers has been added to GCC 4.8.1, making G++
+ the first C++ compiler to implement all the major language features of
+ the C++11 standard.
+ * Update to SVN 20130603 (r199596) from the gcc-4_8-branch.
+ * Build java packages from this source package. Works aroud ftp-master's
+ overly strict interpretation of the Built-Using attribute.
+ * Build D and libphobos packages from this source package.
+ * Disable the non-default multilib test runs for libjava and gnat.
+
+ -- Matthias Klose <doko@debian.org> Mon, 03 Jun 2013 09:28:11 +0200
+
+gcc-4.8 (4.8.0-9) unstable; urgency=low
+
+ * Update to SVN 20130529 (r199410) from the gcc-4_8-branch.
+ * Drop build dependency on automake, not used anymore.
+ * Build with binutils from unstable (the 4.8.0-8 package was accidentally
+ built with binutils from experimental). Closes: #710142.
+ * Explicity configure with --disable-lib{atomic,quadmath,sanitizer} when
+ not building these libraries. Closes: #710224.
+
+ -- Matthias Klose <doko@debian.org> Wed, 29 May 2013 16:59:50 +0200
+
+gcc-4.8 (4.8.0-8) unstable; urgency=medium
+
+ * Update to SVN 20130527 (r199350) from the gcc-4_8-branch (4.8.1 rc2).
+ - Fix PR tree-optimization/57230 (closes: #707118).
+
+ * Remove gdc-doc.diff.
+ * libgo: Overwrite the setcontext_clobbers_tls check on mips*, fails
+ on some buildds.
+ * Update the Linaro support to the 4.8-2013.05 release.
+ * Use the %I spec when building the object file for the gcj main function.
+ * Fix PR c++/57211, don't warn about unused parameters of defaulted
+ functions. Taken from the trunk. Closes: #705066.
+ * Update symbols files for powerpcspe (Roland Stigge). Closes: #709383.
+ * Build zh_TW.UTF-8 locale to fix libstdc++ test failures.
+ * Keep prev-* symlinks to fix plugin.exp test failures.
+
+ -- Matthias Klose <doko@debian.org> Mon, 27 May 2013 15:43:08 +0200
+
+gcc-4.8 (4.8.0-7) unstable; urgency=medium
+
+ * Update to SVN 20130512 (r198804) from the gcc-4_8-branch.
+
+ [ Matthias Klose ]
+ * Revert the r195826 patch, backported for the 4.8 branch.
+ * Tighten build dependency on libmpc-dev to ensure using libmpc3.
+ * Re-add build dependency on locales.
+ * Enable multilib build for gdc.
+ * Add build-deps on libn32gcc1 and lib64gcc1 on mips/mipsel.
+ * Fix libgcc-dbg dependencies on hppa and m68k. Closes: #707745.
+ * Install host specific libstdc++ headers into the host include dir.
+ Closes: #707753.
+ * Enable Go for sparc64.
+ * Fix host specific c++ include dir on kfreebsd-amd64. Closes: #707957.
+
+ [ Thorsten Glaser ]
+ * Regenerate m68k patches. Closes: #707766.
+
+ [ Aurelien Jarno ]
+ * Fix libgcc1 symbols file for sparc64.
+
+ -- Matthias Klose <doko@debian.org> Sun, 12 May 2013 19:26:50 +0200
+
+gcc-4.8 (4.8.0-6) unstable; urgency=low
+
+ * Update to SVN 20130507 (r198699) from the gcc-4_8-branch.
+
+ [ Samuel Thibault ]
+ * Backport r195826 to fix gdb build on hurd-i386.
+
+ [ Matthias Klose ]
+ * Drop build dependency on locales for this upload.
+
+ -- Matthias Klose <doko@debian.org> Wed, 08 May 2013 01:17:15 +0200
+
+gcc-4.8 (4.8.0-5) unstable; urgency=low
+
+ * Update to SVN 20130506 (r198641) from the gcc-4_8-branch.
+
+ [ Matthias Klose ]
+ * Stop building the spu cross compilers on powerpc and ppc64.
+ * Merge back changes from gnat-4.8 4.8.0-1~exp2.
+
+ [Ludovic Brenta]
+ * debian/patches/ada-libgnatprj.diff: do not include indepsw.o in the
+ library, it is used only in the gnattools.
+
+ -- Matthias Klose <doko@debian.org> Mon, 06 May 2013 21:49:44 +0200
+
+gcc-4.8 (4.8.0-4) experimental; urgency=low
+
+ * Update to SVN 20130421 (r198115) from the gcc-4_8-branch.
+ * Ignore the return value for dh_shlibdeps for builds on precise/ARM.
+ * Use target specific names for libstdc++ baseline files. LP: #1168267.
+ * Update gcc-d-lang.diff for GDC port.
+ * Don't use extended libstdc++-doc build dependencies for older releases.
+ * In gnatlink, pass the options and libraries after objects to the
+ linker to avoid link failures with --as-needed. Addresses: #680292.
+ * Build gcj for aarch64-linux-gnu.
+ * Update the Linaro support to the 4.8-2013.04 release.
+ * Fix gdc build on architectures not providing libphobos.
+
+ -- Matthias Klose <doko@debian.org> Mon, 22 Apr 2013 01:36:19 +0200
+
+gcc-4.8 (4.8.0-3) experimental; urgency=low
+
+ * Update to SVN 20130411 (r197813) from the gcc-4_8-branch.
+
+ [ Iain Buclaw ]
+ * Port GDC to GCC 4.8.0 release.
+
+ -- Matthias Klose <doko@debian.org> Thu, 11 Apr 2013 19:18:24 +0200
+
+gcc-4.8 (4.8.0-2) experimental; urgency=low
+
+ * Update to SVN 20130328 (r197185) from the gcc-4_8-branch.
+ * Update NEWS files.
+ * Apply proposed patch for PR c++/55951. Closes: #703945.
+ * Configure with --disable-libatomic for hppa64. Closes: #704020.
+
+ -- Matthias Klose <doko@debian.org> Thu, 28 Mar 2013 06:10:29 +0100
+
+gcc-4.8 (4.8.0-1) experimental; urgency=low
+
+ * GCC 4.8.0 release.
+ * Fix build failure on powerpcspe (Roland Stigge). Closes: #703074.
+
+ -- Matthias Klose <doko@debian.org> Fri, 22 Mar 2013 07:47:12 -0700
+
+gcc-4.8 (4.8-20130318-1) experimental; urgency=low
+
+ * GCC snapshot 20130318, taken from the trunk.
+ - Fix the build failures on ARM.
+ * Install the libasan_preinit.o files. Closes: #703229.
+
+ -- Matthias Klose <doko@debian.org> Mon, 18 Mar 2013 16:18:25 -0700
+
+gcc-4.8 (4.8-20130315-1) experimental; urgency=low
+
+ * GCC snapshot 20130315, taken from the trunk.
+
+ -- Matthias Klose <doko@debian.org> Fri, 15 Mar 2013 18:51:15 -0700
+
+gcc-4.8 (4.8-20130308-1) experimental; urgency=low
+
+ * GCC snapshot 20130308, taken from the trunk.
+
+ -- Matthias Klose <doko@debian.org> Fri, 08 Mar 2013 12:08:12 +0800
+
+gcc-4.8 (4.8-20130222-1) experimental; urgency=low
+
+ * GCC snapshot 20130222, taken from the trunk.
+ * Update libasan symbols files.
+
+ -- Matthias Klose <doko@debian.org> Sat, 23 Feb 2013 04:47:15 +0100
+
+gcc-4.8 (4.8-20130217-1) experimental; urgency=low
+
+ * GCC snapshot 20130217, taken from the trunk.
+
+ * Update libasan symbols files.
+ * On alpha, link with --no-relax. Update libgcc1 symbols files (Michael
+ Cree). Closes: #699220.
+
+ -- Matthias Klose <doko@debian.org> Mon, 18 Feb 2013 03:12:31 +0100
+
+gcc-4.8 (4.8-20130209-1) experimental; urgency=low
+
+ * GCC snapshot 20130209, taken from the trunk.
+
+ [ Matthias Klose ]
+ * Add a Build-Using attribute for each binary package, which can be
+ built from the gcc-4.7-source package (patch derived from a proposal by
+ Ansgar Burchardt).
+ - Use it for cross-compiler packages.
+ - Not yet used when building gcj, gdc or gnat using the gcc-source package.
+ These packages don't require an exact version of the gcc-source package,
+ but just a versions which is specified by the build dependencies.
+ * Fix dh_shlibdeps calls for the libgo packages.
+ * libstdc-doc: Depend on libjs-jquery.
+ * Update libstdc++ symbols files.
+ * Downgrade the priority of the non-default multilib libasan packages.
+
+ [ Thibaut Girka ]
+ * Fix dh_shlibdeps and dh_gencontrol cross-build mangling for
+ libgfortran-dev packages.
+
+ -- Matthias Klose <doko@debian.org> Sat, 09 Feb 2013 17:00:06 +0100
+
+gcc-4.8 (4.8-20130127-1) experimental; urgency=low
+
+ * GCC snapshot 20130127, taken from the trunk.
+
+ [ Matthias Klose ]
+ * Fix MULTILIB_OS_DIRNAME for the default multilib on x32.
+
+ [ Thibaut Girka ]
+ * Fix installation path for libatomic and libsanitizer when building a
+ cross-compiler with with_deps_on_target_arch_pkgs.
+ * Fix regexp used to list patched autotools files.
+
+ -- Matthias Klose <doko@debian.org> Sun, 27 Jan 2013 21:02:34 +0100
+
+gcc-4.8 (4.8-20130113-1) experimental; urgency=low
+
+ * GCC snapshot 20130113, taken from the trunk.
+ * Always configure --with-system-zlib.
+ * Search library dependencies in the build-sysroot too.
+ * Don't complain about missing .substvars files when trying to mangle
+ these files.
+ * Add ARM multilib packages to the control file for staged cross builds.
+ * Fix ARM multilib shlibs dependency generation for cross builds.
+ * Don't call dh_shlibdeps for staged cross builds. These packages
+ are never shipped, and the information is irrelevant.
+ * Build the libasan and libtsan packages before libstdc++.
+ * Bump build dependencies on isl and cloog.
+ * Don't ship libiberty.a in gcc-4.8-hppa64. Closes: #659556.
+
+ -- Matthias Klose <doko@debian.org> Sun, 13 Jan 2013 16:42:33 +0100
+
+gcc-4.8 (4.8-20130105-1) experimental; urgency=low
+
+ * GCC snapshot 20130105, taken from the trunk.
+ * Keep the debug link for libstdc++6. Closes: #696854.
+ * Update libgfortran symbols file for the trunk.
+ * Fix libstdc++ symbols files for sparc 128bit symbols.
+ * Update libgcc and libstdc++ symbols files for s390.
+ * Keep the rt.jar symlink in the gcj-jre-headless package.
+ * Explicitly search multiarch and multilib system directories when
+ calling dh_shlibdeps.
+ * Let gjdoc accept -source 1.5|1.6|1.7. Addresses: #678945.
+ * Fix build configured with --enable-java-maintainer-mode.
+ * Don't ship .md5 files in the libstdc++-doc package.
+
+ -- Matthias Klose <doko@debian.org> Sat, 05 Jan 2013 13:47:51 +0100
+
+gcc-4.8 (4.8-20130102-1) experimental; urgency=low
+
+ * GCC snapshot 20130102, taken from the trunk.
+
+ [ Matthias Klose ]
+ * Resolve libgo dependencies with the built runtime libraries.
+ * Fix g++-4.8-multilib dependencies.
+
+ [ Thibaut Girka ]
+ * Prepare for optional dependencies on the packages built on the
+ target architecture.
+ * When using the above,
+ - use the same settings for gcc_lib_dir, sysroot, header and C++ header
+ locations as for the native build.
+ - install libraries into the multiarch directories.
+ - use cpp-4.x-<triplet> instead of gcc-4.x-base to collect doc files.
+
+ -- Matthias Klose <doko@debian.org> Wed, 02 Jan 2013 14:51:59 +0100
+
+gcc-4.8 (4.8-20121218-1) experimental; urgency=low
+
+ * GCC snapshot 20121217, taken from the trunk.
+ * Fix dependency generation for asan and atomic multilibs.
+ * Fix libobjc-dbg dependencies on libgcc-dbg packages.
+ * Fix MULTIARCH_DIRNAME definition for powerpcspe (Roland Stigge).
+ Closes: #695661.
+ * Move .jar symlinks from the -jre-lib into the -jre-headless package.
+
+ -- Matthias Klose <doko@debian.org> Tue, 18 Dec 2012 16:44:42 +0100
+
+gcc-4.8 (4.8-20121217-1) experimental; urgency=low
+
+ * GCC snapshot 20121217, taken from the trunk.
+ * Fix package builds with the common libraries provided by a newer
+ gcc-X.Y package.
+ * Drop build-dependency on libelf.
+ * Drop the g++-multilib build dependency, use the built compiler to
+ check which multilib variants can be run. Provide an asm symlink for
+ the build.
+ * Stop configuring cross compilers --with-headers --with-libs.
+ * Always call dh_shlibdeps with -l, pointing to the correct dependency
+ packages.
+ * Fix cross build stage1 package installation, only including the target
+ files in the gcc package.
+ * Explicitly configure with --enable-multiarch when doing builds
+ supporting the multiarch layout.
+ * Only configure --with-sysroot, --with-build-sysroot when values are set.
+ * Revert: For stage1 builds, include gcc_lib_dir files in the gcc package.
+ * Allow multilib enabled stage1 and stage2 cross builds.
+ * Don't check glibc version to configure --with-long-double-128.
+ * Don't auto-detect multilib osdirnames.
+ * Don't set a LD_LIBRARY_PATH when calling dh_shlibdeps in cross builds.
+ * Allow building a gcj cross compiler.
+ * Pretend that wheezy has x32 support (sid is now known as wheezy :-/).
+
+ -- Matthias Klose <doko@debian.org> Mon, 17 Dec 2012 18:37:14 +0100
+
+gcc-4.8 (4.8-20121211-1) experimental; urgency=low
+
+ * GCC snapshot 20121211, taken from the trunk.
+ * Fix build failure on multilib configurations.
+
+ -- Matthias Klose <doko@debian.org> Tue, 11 Dec 2012 08:04:30 +0100
+
+gcc-4.8 (4.8-20121210-1) experimental; urgency=low
+
+ * GCC snapshot 20121210, taken from the trunk.
+ * For cross builds, don't use the multiarch location for the C++ headers.
+ * For cross builds, fix multilib inter package dependencies.
+ * For cross builds, fix libc6 dependencies for non-default multilib packages.
+ * Build libasan packages on powerpc, ppc64.
+ * Only run the libgo testsuite for flags configured in RUNTESTFLAGS.
+ * Remove the cross-includes patch, not needed anymore with --with-sysroot=/.
+ * For cross builds, install into /usr/lib/gcc-cross to avoid file conflicts
+ with the native compiler for the target architecture.
+ * For cross builds, don't add /usr/local/include to the standard include
+ path, however /usr/local/include/<multiarch> is still on the path.
+ * For cross builds, provide symbols files based on the symbols files for
+ the native build. Not picked up by dh_makeshlibs yet.
+ * Drop the g++-multilib build dependency, use the built compiler to
+ check which multilib variants can be run.
+ * Fix spu cross build on powerpc/ppc64.
+ * Make libgcj packages Multi-Arch: same, append the Debian architecture
+ name to the gcj java home.
+ * Don't encode versioned build dependencies on binutils and dpkg-dev in
+ the control file (makes the package cross-buildable).
+ * Only include gengtype for native builds. Needs upstream changes.
+ See #645018.
+ * Fix cross build failure with --enable-libstdcxx-debug.
+ * Only install libbacktrace if it is built.
+ * When cross building the native compiler, configure --with-sysroot=/
+ and without --without-isl.
+
+ -- Matthias Klose <doko@debian.org> Mon, 10 Dec 2012 14:40:14 +0100
+
+gcc-4.8 (4.8-20121128-1) experimental; urgency=low
+
+ [ Matthias Klose ]
+ * Update patches for GCC 4.8.
+ * Update debian/copyright for libatomic, libbacktrace, libsanitizer.
+ * Remove the soversion from the libstdc++*-dev packages.
+ * Build libatomic and libasan packages.
+ * Install the static libbacktrace library and header files.
+ * Update build-indep dependencies for building the libstdc++ docs.
+ * Fix build failure in libatomic with x32 multilibs, handle -mx32 like -m64.
+ * Apply proposed fix for PR fortran/55395, supposed to fix the build
+ failure on armhf and powerpc.
+ * For hardened builds, disable gcc-default-format-security for now, causing
+ build failure building the target libstdc++ library.
+ * Drop the gcc-no-add-needed patch, depend on binutils 2.22 instead.
+ * Fix gnat build failure on kfreebsd.
+ * Rename the gccgo info to gccgo-4.8 on installation.
+ * Install the libitm documentation (if built).
+ * Rename the gccgo info to gccgo-4.8 on installation, install into gccgo-4.8.
+ * Include libquadmath documentation in the gcc-4.8-doc package.
+ * Build libtsan packages.
+ * Add weak __aeabi symbols to the libgcc1 ARM symbol files. Closes: #677139.
+ * For stage1 builds, include gcc_lib_dir files in the gcc package.
+ * Point to gcc's README.Bugs when building gcj packages. Addresses: #623987.
+
+ [ Thibaut Girka ]
+ * Fix libstdc++ multiarch include path for cross builds.
+
+ -- Matthias Klose <doko@debian.org> Sun, 28 Nov 2012 12:55:27 +0100
+
+gcc-4.7 (4.7.2-12) experimental; urgency=low
+
+ * Update to SVN 20121127 (r193840) from the gcc-4_7-branch.
+ - Fix PR middle-end/55331 (ice on valid), PR tree-optimization/54976 (ice
+ on valid), PR tree-optimization/54894 (ice on valid),
+ PR middle-end/54735 (ice on valid), PR c++/55446 (wrong code),
+ PR fortran/55314 (rejects valid).
+
+ [ Matthias Klose ]
+ * Fix x32 multiarch name (x86_64-linux-gnux32).
+ * gcc-4.7-base: Add break to gcc-4.4-base (<< 4.4.7). Closes: #690172.
+ * Add weak __aeabi symbols to the libgcc1 ARM symbol files. Closes: #677139.
+ * For stage1 builds, include gcc_lib_dir files in the gcc package.
+
+ [ Thibaut Girka ]
+ * Fix libstdc++ multiarch include path for cross builds.
+
+ -- Matthias Klose <doko@debian.org> Tue, 27 Nov 2012 11:02:10 +0100
+
+gcc-4.7 (4.7.2-11) experimental; urgency=low
+
+ * Update to SVN 20121124 (r193776) from the gcc-4_7-branch.
+ - Fix PR libgomp/55411, PR libstdc++/55413, PR middle-end/55142,
+ PR fortran/55352.
+
+ * Update build-indep dependencies for building the libstdc++ docs.
+ * Drop the gcc-no-add-needed patch, depend on binutils 2.22 instead.
+ * Pass --hash-style=gnu instead of --hash-style=both.
+ * Link using --hash-style=gnu on arm64 by default.
+ * Split multiarch patches into local and upstreamed parts.
+ * Fix PR54974: Thumb literal pools don't handle PC rounding (Matthew
+ Gretton-Dann). LP: #1049614, #1065509.
+ * Rename the gccgo info to gccgo-4.7 on installation, install into gccgo-4.7.
+ * Include libquadmath documentation in the gcc-4.7-doc package.
+ * Don't pretend to understand .d files, no D frontend available for 4.7.
+ * Fix the multiarch c++ include path for multilib'd targets. LP: #1082344.
+ * Make explicit --{en,dis}able-multiarch options effecitive (Thorsten Glaser).
+
+ -- Matthias Klose <doko@debian.org> Sat, 24 Nov 2012 03:57:00 +0100
+
+gcc-4.7 (4.7.2-10) experimental; urgency=low
+
+ * Update to SVN 20121118 (r193598) from the gcc-4_7-branch.
+ - Fix PR target/54892 (ARM, LP: #1065122), PR rtl-optimization/54870,
+ PR rtl-optimization/53701, PR target/53975 (ia64),
+ PR tree-optimization/54902 (LP: #1065559), PR middle-end/54945,
+ PR target/55019 (ARM), PR c++/54984, PR target/55175,
+ PR tree-optimization/53708, PR tree-optimization/54985,
+ PR libstdc++/55169, PR libstdc++/55047, PR libstdc++/55123,
+ PR libstdc++/54075, PR libstdc++/28811, PR libstdc++/54482,
+ PR libstdc++/55028, PR libstdc++/55215, PR middle-end/55219,
+ PR tree-optimization/54986, PR target/55204, PR debug/54828,
+ PR tree-optimization/54877, PR c++/54988, PR other/52438,
+ PR fortran/54917, PR libstdc++/55320, PR libstdc++/53841.
+
+ [ Matthias Klose ]
+ * Update the Linaro support to the 4.7-2012.11 release.
+ * Define MULTIARCH_DIRNAME for arm64 (Wookey).
+ * Let the lib*objc-dev packages depend on the lib*gcc-dev packages.
+ * Let the libstdc++-dev package depend on the libgcc-dev package.
+ * Drop the dependency of the libstdc++-dev package on g++, make
+ libstdc++-dev and libstdc++-pic Multi-Arch: same. Closes: #678623.
+ * Install override files before calling dh_fixperms.
+ * Backport the libffi arm64 port.
+ * Build libx32gcc-dev, libx32objc-dev and libx32gfortran-dev packages.
+ * Allow conditional building of the x32 multilibs.
+ * Fix libmudflap build failure for x32 multilibs.
+ * Fix dependency on glibc for triarch builds.
+ * Add build-{arch,indep} targets.
+ * Fix libquadmath x32 multilib builds on kernels which don't support x32.
+ * Fix location of x32 specific C++ header files.
+ * Turn on -D_FORTIFY_SOURCE=2 by default for C, C++, ObjC, ObjC++,
+ only if the optimization level is > 0.
+ * Keep the host alias when building multilib libraries which need to
+ be cross-built on some architectures/buildds.
+ * Update arm64 from the aarch64 branch 20121105.
+ * Fix PR other/54411, libiberty: objalloc_alloc integer overflows
+ (CVE-2012-3509).
+ * Use /usr/include/<multiarch>/c++/4.x as the include directory
+ for host dependent c++ header files.
+ * Add alternative libelf-dev build dependency. Closes: #690952.
+ * Always build the aarch64-linux-gnu target from the Linaro branch.
+ * Add __gnu_* symbols to the libgcc1 symbols file for armel and armhf.
+ * For powerpcspe prevent floating point register handling when there
+ are none available (Roland Stigge). Closes: #693328.
+ * Don't apply hurd-pthread.diff for trunk builds, integrated
+ upstream (Samuel Thibault). Addresses: #692538.
+ * Again, suggest graphite runtime dependencies.
+ * Clean up libstdc++ man pages. Closes: #692445.
+
+ [ Thibaut Girka ]
+ * Split out lib*gcc-dev packages.
+ * Split out lib*objc-dev packages.
+ * Split out lib*gfortran-dev packages.
+
+ [ Daniel Schepler ]
+ * Add support for x32. Closes: #667005.
+ * New patch hjl-x32-gcc-4_7-branch.diff to incorporate changes from
+ that branch, including --with-abi=mx32 option.
+ * Split out lib*stdc++-dev packages.
+
+ [ Marcin Juszkiewicz ]
+ * lib*-dev packages for cross builds are not Multi-Arch: same. LP: #1070694.
+ * Remove conflicts for armhf/armel cross packages.
+
+ -- Matthias Klose <doko@debian.org> Sun, 18 Nov 2012 17:54:15 +0100
+
+gcc-4.7 (4.7.2-4) unstable; urgency=low
+
+ * Fix PR c++/54858 (ice on valid), taken from the branch.
+ * Build again Go on armel and armhf.
+
+ -- Matthias Klose <doko@debian.org> Tue, 09 Oct 2012 12:00:59 +0200
+
+gcc-4.7 (4.7.2-3) unstable; urgency=low
+
+ * Revert the fix PR c/33763, and just disable the sorry message,
+ taken from the branch. Closes: #678589. LP: #1062343.
+ * Update libgo to 1.0.3.
+ * Go fixes:
+ - Fix a, b, c := b, a, 1 when a and b already exist.
+ - Fix some type reflection strings.
+ - Fix parse of (<- chan <- chan <- int)(x).
+ - Fix handling of omitted expression in switch.
+ - Better error for switch on non-comparable type.
+ * Fix PR debug/53135 (ice on valid), PR target/54703 (x86, wrong code),
+ PR c++/54777 (c++11, rejects valid), taken from the 4.7 branch.
+ * gcc-4.7-base: ensure smooth upgrades from squeeze by adding
+ Breaks: gcj-4.4-base (<< 4.4.6-9~), gnat-4.4-base (<< 4.4.6-3~)
+ as in gcc-4.4-base (multiarch patches re-worked in 4.6.1-8/4.4.6-9).
+ Fixes some squeeze->wheezy upgrade paths where apt chooses to hold back
+ gcc-4.4-base and keep gcj-4.4-base installed instead of upgrading
+ gcc-4.4-base and removing the obsolete gcj-4.4-base (Andreas Beckmann).
+ Closes: #677582.
+ * Add arm64 support, partly based on Wookey's patches (only applied for
+ arm64). Disabled for arm64 are ssp, gomp, mudflap, boehm-gc, Ada, ObjC,
+ Obj-C++ and Java).
+
+ -- Matthias Klose <doko@debian.org> Fri, 05 Oct 2012 20:00:30 +0200
+
+gcc-4.7 (4.7.2-2) unstable; urgency=low
+
+ * Fix PR tree-optimization/54563 (ice on valid), PR target/54564 (fma builtin
+ fix), PR c/54552 (ice on valid), PR lto/54312 (memory hog), PR c/54103 (ice
+ on valid), PR middle-end/54638 (memory corruption), taken from the 4.7
+ branch.
+ * Go fixes, taken from the 4.7 branch.
+ * On ARM, don't warn anymore that 4.4 has changed the `va_list' mangling,
+ taken from the trunk.
+ * Mention the NEWS changes for all uploads. Closes: #688278.
+
+ -- Matthias Klose <doko@debian.org> Fri, 21 Sep 2012 11:58:10 +0200
+
+gcc-4.7 (4.7.2-1) unstable; urgency=low
+
+ * GCC 4.7.2 release.
+ * Issues addressed after the release candidate:
+ - PR c++/53661 (wrong warning), LTO backport from trunk, documentation fix.
+ * Update NEWS files.
+
+ -- Matthias Klose <doko@debian.org> Thu, 20 Sep 2012 12:19:07 +0200
+
+gcc-4.7 (4.7.1-9) unstable; urgency=low
+
+ * GCC 4.7.2 release candidate 1.
+ * Update to SVN 20120914 (r191306) from the gcc-4_7-branch.
+ - Fix PR libstdc++/54388, PR libstdc++/54172, PR libstdc++/54172,
+ PR debug/54534, PR target/54536 (AVR), PR middle-end/54515 (ice on valid),
+ PR c++/54506 (rejects valid), PR c++/54341 (ice on valid),
+ PR c++/54253 (ice on valid), PR c/54559 (closes: #687496),
+ PR gcov-profile/54487, PR c++/53839, PR c++/54511, PR c++/53836,
+ PR fortran/54556.
+ * Update the Linaro support to the 4.7-2012.09 release.
+ - Adds support for the NEON vext instruction when shuffling.
+ - Backports improvements to scheduling transfers between VFP and core
+ registers.
+ - Backports support for the UBFX instruction on certain bit extract idioms.
+
+ -- Matthias Klose <doko@debian.org> Fri, 14 Sep 2012 19:12:47 +0200
+
+gcc-4.7 (4.7.1-8) unstable; urgency=low
+
+ * Update to SVN 20120908 (r191092) from the gcc-4_7-branch.
+ - Fix PR libstdc++/54376, PR libstdc++/54297, PR libstdc++/54351,
+ PR libstdc++/54297, PR target/54461 (AVR), PR target/54476 (AVR),
+ PR target/54220 (AVR), PR fortran/54208 (rejects valid),
+ PR middle-end/53667 (wrong code), PR target/54252 (ARM, wrong code),
+ PR rtl-optimization/54455 (ice on valid), PR driver/54335 (docs),
+ PR tree-optimization/54498 (wrong code), PR target/45070 (wrong code),
+ PR tree-optimization/54494 (wrong code), PR target/54436 (x86),
+ PR c/54428 (ice on valid), PR c/54363 (ice on valid, closes: #684635),
+ PR rtl-optimization/54369 (mips, sparc, wrong code), PR middle-end/54146,
+ PR target/46254 (ice on valid), PR rtl-optimization/54088 (ice on valid),
+ PR target/54212 (ARM, wrong code), PR c++/54197 (wrong code),
+ PR lto/53572, PR tree-optimization/53922 (wrong code).
+ - Go fixes.
+
+ [ Nobuhiro Iwamatsu ]
+ * Remove sh4-enable-ieee.diff, -mieee enabled by default. Closes: #685975.
+
+ [ Matthias Klose ]
+ * Fix PR c++/54341, PR c++/54253, taken from the trunk. Closes: #685430.
+ * Update libitm package description. Closes: #686802.
+
+ -- Matthias Klose <doko@debian.org> Fri, 07 Sep 2012 22:16:55 +0200
+
+gcc-4.7 (4.7.1-7) unstable; urgency=low
+
+ * Update to SVN 20120814 (r190380) from the gcc-4_7-branch.
+ - Fix PR libstdc++/54036, PR target/53961 (x86), PR libstdc++/54185,
+ PR rtl-optimization/53942, PR rtl-optimization/54157.
+
+ [ Thibaut Girka ]
+ * Fix cross compilers for 64bit architectures when using
+ DEB_CROSS_NO_BIARCH.
+ * Fix glibc dependency for multiarch enabled builds for architectures
+ with a different libc-dev package name.
+
+ [ Aurelien Jarno ]
+ * powerpc64: Fix non-multilib builds.
+
+ [ Matthias Klose ]
+ * Fix syntax error generating the control file for cross builds.
+ Closes: #682104.
+ * spu build: Move static libraries to version specific directories.
+ Closes: #680022.
+ * Don't run the libstdc++ tests on mipsel, times out on the buildds.
+ * Update the Linaro support to the 4.7-2012.08 release.
+
+ -- Matthias Klose <doko@debian.org> Tue, 14 Aug 2012 13:58:03 +0200
+
+gcc-4.7 (4.7.1-6) unstable; urgency=low
+
+ * Update to SVN 20120731 (r190015) from the gcc-4_7-branch.
+ - Fix PR libstdc++/54075, PR libstdc++/53270, PR libstdc++/53978,
+ PR target/33135 (SH), PR target/53877 (x86), PR rtl-optimization/52250,
+ PR middle-end/54017, PR target/54029, PR target/53961 (x86),
+ PR target/53110 (x86), PR rtl-optimization/53908, PR c++/54038,
+ PR c++/54026, PR c++/53995, PR c++/53989, PR c++/53549 (closes: #680931),
+ PR c++/53953.
+
+ -- Matthias Klose <doko@debian.org> Tue, 31 Jul 2012 20:00:56 +0200
+
+gcc-4.7 (4.7.1-5) unstable; urgency=high
+
+ * Update to SVN 20120713 (r189464) from the gcc-4_7-branch.
+ - Fix PR libstdc++/53657, PR c++/53733 (DR 1402), PR target/53811,
+ PR target/53853.
+
+ -- Matthias Klose <doko@debian.org> Fri, 13 Jul 2012 16:59:59 +0200
+
+gcc-4.7 (4.7.1-4) unstable; urgency=medium
+
+ * Update to SVN 20120709 (r189388) from the gcc-4_7-branch.
+ - Fix PR libstdc++/53872, PR libstdc++/53830, PR bootstrap/52947,
+ PR middle-end/52786, PR middle-end/50708, PR tree-optimization/53693,
+ PR middle-end/52621, PR middle-end/53433, PR fortran/53732,
+ PR libstdc++/53578, PR c++/53882 (closes: #680521), PR c++/53826.
+ * Update the Linaro support to the 4.7-2012.07 release.
+ * Fix build on pre-multiarch releases (based on a patch from Chip Salzenberg).
+ Closes: #680590.
+
+ -- Matthias Klose <doko@debian.org> Mon, 09 Jul 2012 18:58:47 +0200
+
+gcc-4.7 (4.7.1-3) unstable; urgency=low
+
+ * Update to SVN 20120703 (r189219) from the gcc-4_7-branch.
+ - Fix PR preprocessor/37215, PR middle-end/38474, PR target/53595 (AVR),
+ PR middle-end/53790, PR debug/53682, PR target/53759 (x86),
+ PR c++/53816, PR c++/53821, PR c++/51214, PR c++/53498, PR c++/53305,
+ PR c++/52988 (wrong code), PR c++/53202 (wrong code), PR c++/53594.
+ - The change for PR libstdc++/49561 was reverted. The std::list size is
+ now the same again in c++98 and c++11 mode.
+ * Revert the local std::list work around.
+ * Build using isl instead of ppl for snapshot builds.
+
+ -- Matthias Klose <doko@debian.org> Tue, 03 Jul 2012 15:07:14 +0200
+
+gcc-4.7 (4.7.1-2) unstable; urgency=medium
+
+ * Update to SVN 20120623 (r188906) from the gcc-4_7-branch.
+ - Fix PR rtl-optimization/53700 (closes: #677678), PR target/52908,
+ PR libstdc++/53270, PR libstdc++/53678, PR gcov-profile/53744,
+ PR c++/52637, PR middle-end/53470, PR c++/53651, PR c++/53137,
+ PR c++/53599, PR fortran/53691, PR fortran/53685, PR ada/53592.
+ * Update NEWS files for 4.7.1.
+ * Bump gcc/FULL-VERSION to 4.7.1.
+ * Update the Linaro support to the 4.7-2012.06 release.
+ * Restore std::list ABI compatibility in c++11 mode. The upstream behaviour
+ can be enabled defining __CXX0X_STD_LIST_ABI_INCOMPAT__. This work around
+ will be replaced with an upstream solution.
+ * Fix PR debug/53682, taken from the trunk. Closes: #677606.
+ * Use $(with_gccbase) and $(with_gccxbase) to determine whether to enable it
+ in the control file (Thibaut Girka).
+ * When building a cross-compiler, runtime libraries for the target
+ architecture may be cross-built. Tell debhelper/dpkg-dev those packages
+ are indeed for a foreign architecture (Thibaut Girka).
+
+ -- Matthias Klose <doko@debian.org> Sat, 23 Jun 2012 11:58:35 +0200
+
+gcc-4.7 (4.7.1-1) unstable; urgency=low
+
+ * GCC 4.7.1 release.
+
+ -- Matthias Klose <doko@debian.org> Fri, 15 Jun 2012 00:38:27 +0200
+
+gcc-4.7 (4.7.0-13) unstable; urgency=low
+
+ * Update to SVN 20120612 (r188457) from the gcc-4_7-branch.
+ - Fix PR c++/53602 (LP: #1007616).
+
+ * Document the changed ssp-buffer-size default in Ubuntu 10.10 and
+ later (Kees Cook). LP: #990141.
+ * Fix PR c++/26155, ICE after error with namespace alias. LP: #321883.
+ * Fix PR c++/53599 (reverting the fix for PR c++/53137).
+ Closes: #676729. LP: #1010896.
+ * Fix manual page names for cross builds (Thibaut Girka). Closes: #675516.
+ * Remove dpkg-cross build dependency for cross builds (Thibaut Girka).
+ Closes: #675511.
+
+ -- Matthias Klose <doko@debian.org> Tue, 12 Jun 2012 15:47:57 +0200
+
+gcc-4.7 (4.7.0-12) unstable; urgency=low
+
+ * Update to SVN 20120606 (r188261) from the gcc-4_7-branch (release
+ candidate 1 or 4.7.1).
+ - Fix PR libstdc++/52007, PR c++/53524, PR target/53559,
+ PR middle-end/47530, PR middle-end/53471, PR middle-end/52979,
+ PR target/46261, PR tree-optimization/53550, PR middle-end/52080,
+ PR middle-end/52097, PR middle-end/48124, PR middle-end/53501,
+ PR target/52667, PR target/52642, PR middle-end/48493, PR c++/53524,
+ PR c++/52973, PR c++/52725, PR c++/53137, PR c++/53484, PR c++/53500,
+ PR c++/52905, PR fortran/53521.
+ - Go and libgo updates.
+ * Include README.Debian in README.Debian.<arch>.
+ * Fix PR c/33763, proposed patch from the issue. Closes: #672411.
+ * Fix build failure in libgo with hardening defaults.
+
+ -- Matthias Klose <doko@debian.org> Wed, 06 Jun 2012 13:22:27 +0200
+
+gcc-4.7 (4.7.0-11) unstable; urgency=low
+
+ * Update to SVN 20120530 (r188035) from the gcc-4_7-branch.
+ - Fix PR c++/53356, PR c++/53491, PR c++/53503, PR c++/53220,
+ PR middle-end/53501, PR rtl-optimization/53519,
+ PR tree-optimization/53516, PR tree-optimization/53438,
+ PR target/52999, PR middle-end/53008.
+
+ [ Matthias Klose ]
+ * Build-depend on netbase when building Go. Closes: #674306.
+
+ [ Marcin Juszkiewicz ]
+ * Use the multiarch default for staged builds.
+
+ -- Matthias Klose <doko@debian.org> Thu, 31 May 2012 08:25:08 +0800
+
+gcc-4.7 (4.7.0-10) unstable; urgency=low
+
+ * Update to SVN 20120528 (r187927) from the gcc-4_7-branch.
+ - Fix PR rtl-optimization/52528, PR lto/52178, PR target/53435,
+ PR ada/52362, PR target/53385, PR middle-end/53460,
+ PR tree-optimization/53465, PR target/53448, PR tree-optimization/53408,
+ PR ada/52362, PR fortran/53389.
+ * Fix warning building libiberty/md5.c. PR other/53285. Closes: #674830.
+
+ -- Matthias Klose <doko@debian.org> Mon, 28 May 2012 11:30:36 +0800
+
+gcc-4.7 (4.7.0-9) unstable; urgency=low
+
+ * Update to SVN 20120522 (r187756) from the gcc-4_7-branch.
+ - Fix PR bootstrap/53183, PR tree-optimization/53436,
+ PR tree-optimization/53366, PR tree-optimization/53409,
+ PR tree-optimization/53410, PR c/53418, PR target/53416,
+ PR middle-end/52584, PR debug/52727, PR tree-optimization/53364,
+ PR target/53358, PR rtl-optimization/52804, PR target/46098,
+ PR target/53256, PR c++/53209, PR c++/53301, PR ada/52494,
+ PR fortran/53310
+ * Update the Linaro support to the 4.7-2012.05 release.
+
+ -- Matthias Klose <doko@debian.org> Tue, 22 May 2012 13:01:33 +0800
+
+gcc-4.7 (4.7.0-8) unstable; urgency=low
+
+ * Update to SVN 20120509 (r187339) from the gcc-4_7-branch.
+ - Fix PR libstdc++/53193, PR target/53272, PR tree-optimization/53239,
+ PR tree-optimization/53195, PR target/52999, PR target/53228,
+ PR tree-optimization/52633, PR tree-optimization/52870, PR target/48496,
+ PR target/53199, PR target/52684, PR lto/52605, PR plugins/53126,
+ PR debug/53174, PR target/53187, PR tree-optimization/53144,
+ PR c++/53186, PR fortran/53255, PR fortran/53111, PR fortran/52864.
+ - Fix plugin check in gcc-{ar,nm,ranlib}-4.7.
+ * Install man pages for gcc-{ar,nm,ranlib}-4.7.
+
+ -- Matthias Klose <doko@debian.org> Mon, 07 May 2012 21:56:42 +0200
+
+gcc-4.7 (4.7.0-7) unstable; urgency=low
+
+ * Update to SVN 20120502 (r187039) from the gcc-4_7-branch.
+ - Fix PR libstdc++/53115, PR tree-optimization/53163,
+ PR rtl-optimization/53160, PR middle-end/53136, PR fortran/53148.
+ - libgo fix for mips.
+ * Fix setting MULTILIB_DEFAULTS for ARM multilib builds.
+ * Build Go on mips.
+ * Revert: Don't build multilib gnat on armel and armhf.
+ * Fix multiarch patch for alpha (Michael Cree). Closes: #670571.
+ * Fix Go multilib packaging issue for mips and mipsel.
+
+ -- Matthias Klose <doko@debian.org> Wed, 02 May 2012 12:42:01 +0200
+
+gcc-4.7 (4.7.0-6) unstable; urgency=low
+
+ * Update to SVN 20120430 (r186964) from the gcc-4_7-branch.
+ - Fix PR target/53138.
+ * Build Go on ARM.
+ * Treat wheezy the same as sid in more places (Peter Green).
+ Addresses: #670821.
+
+ -- Matthias Klose <doko@debian.org> Mon, 30 Apr 2012 13:06:21 +0200
+
+gcc-4.7 (4.7.0-5) unstable; urgency=medium
+
+ * Update to SVN 20120428 (r186932) from the gcc-4_7-branch.
+ - Fix PR c/52880, PR target/53065, PR tree-optimization/53085,
+ PR c/51527, PR target/53120.
+
+ [ Matthias Klose ]
+ * Don't build multilib gnat on armel and armhf.
+ * Don't try to run the libstdc++ testsuite if the C++ frontend isn't built.
+ * Install the unwind-arm-common.h header file.
+ * Fix ARM biarch package builds.
+
+ [ Aurelien Jarno ]
+ * Reenable parallel builds on GNU/kFreeBSD.
+ * Fix libgcc building on MIPS N32/64. Closes: #669858.
+ * Add libn32gcc1 and lib64gcc1 symbols files on mips and mipsel.
+
+ -- Matthias Klose <doko@debian.org> Sat, 28 Apr 2012 11:59:36 +0200
+
+gcc-4.7 (4.7.0-4) unstable; urgency=low
+
+ * Update to SVN 20120424 (r186746) from the gcc-4_7-branch.
+ - Fix PR libstdc++/52924, PR libstdc++/52591, PR middle-end/52894,
+ PR testsuite/53046, PR libstdc++/53067, PR libstdc++/53027,
+ PR libstdc++/52839, PR bootstrap/52840, PR libstdc++/52689,
+ PR libstdc++/52699, PR libstdc++/52822, PR libstdc++/52942,
+ PR middle-end/53084, PR middle-end/52999, PR c/53060,
+ PR tree-optimizations/52891, PR target/53033, PR target/53020,
+ PR target/52932, PR middle-end/52939, PR tree-optimization/52969,
+ PR c/52862, PR target/52775, PR tree-optimization/52943, PR c++/53003,
+ PR c++/38543, PR c++/50830, PR c++/50303, PR c++/52292, PR c++/52380,
+ PR c++/52465, PR c++/52824, PR c++/52906.
+
+ [ Matthias Klose ]
+ * Update the Linaro support to the 4.7-2012.04 release.
+ * Set the ARM hard-float linker path according to the consensus:
+ http://lists.linaro.org/pipermail/cross-distro/2012-April/000261.html
+ * Reenable the spu build on ppc64. Closes: #668272.
+ * Update and reenable the gcc-cloog-dl patch.
+
+ [ Samuel Thibault ]
+ * ada-s-osinte-gnu.adb.diff, ada-s-osinte-gnu.ads.diff,
+ ada-s-taprop-gnu.adb.diff, gcc_ada_gcc-interface_Makefile.in.diff:
+ Add ada support for GNU/Hurd, thanks Svante Signell for the patches
+ and bootstrap! (Closes: #668426).
+
+ -- Matthias Klose <doko@debian.org> Tue, 24 Apr 2012 08:44:15 +0200
+
+gcc-4.7 (4.7.0-3) unstable; urgency=low
+
+ * Update to SVN 20120409 (r186249) from the gcc-4_7-branch.
+ - Fix PR libitm/52854, PR libstdc++/52476, PR target/52717,
+ PR tree-optimization/52406, PR c++/52596, PR c++/52796,
+ PR fortran/52893, PR fortran/52668.
+
+ [ Matthias Klose ]
+ * Re-add missing dependency on libgcc in gcc-multilib. Closes: #667519.
+ * Add support for GNU locales for GNU/Hurd (Svante Signell).
+ Closes: #667662.
+ * Reenable the spu build on ppc64. Closes: #664617.
+ * Apply proposed patch for PR52894, stage1 bootstrap failure on hppa
+ (John David Anglin). Closes: #667969.
+
+ [ Nobuhiro Iwamatsu ]
+ * Fix cross build targeting sh4. Closes: #663028.
+ * Enable -mieee by default on sh4. Closes: #665328.
+
+ -- Matthias Klose <doko@debian.org> Mon, 09 Apr 2012 22:24:14 +0200
+
+gcc-4.7 (4.7.0-2) unstable; urgency=low
+
+ * Update to SVN 20120403 (r186107) from the gcc-4_7-branch.
+ - Fix PR middle-end/52547, PR libstdc++/52540, PR libstdc++/52433,
+ PR target/52507, PR target/52505, PR target/52461, PR target/52508,
+ PR c/52682, PR target/52610, PR middle-end/52640, PR target/50310,
+ PR target/48596, PR target/48806, PR middle-end/52547, R target/52496,
+ PR rtl-optimization/52543, PR target/52461, PR target/52488,
+ PR target/52499, PR target/52148, PR target/52496, PR target/52484,
+ PR target/52506, PR target/52505, PR target/52461, PR other/52545,
+ PR c/52577, PR c++/52487, PR c++/52671, PR c++/52582, PR c++/52521,
+ PR fortran/52452, PR target/52737, PR target/52698, PR middle-end/52693,
+ PR middle-end/52691, PR middle-end/52750, PR target/52692,
+ PR middle-end/51893, PR target/52737, PR target/52736, PR middle-end/52720,
+ PR c++/52672, PR c++/52718, PR c++/52685, PR c++/52759, PR c++/52743,
+ PR c++/52746, PR libstdc++/52799, PR libgfortran/52758,
+ PR middle-end/52580, PR middle-end/52493, PR tree-optimization/52678,
+ PR tree-optimization/52701, PR tree-optimization/52754,
+ PR tree-optimization/52835.
+
+ [ Matthias Klose ]
+ * Update NEWS files for 4.7.
+ * Include -print-multiarch option in gcc --help output. Closes: #656998.
+ * Don't build Go on MIPS.
+ * Update alpha-ieee.diff for 4.7.
+ * Update gcc-multiarch.diff for sh4 (untested). Closes: #665935.
+ * Update gcc-multiarch.diff for hppa (untested). Closes: #666162.
+ * Re-add build dependency on doxygen.
+
+ [ Samuel Thibault ]
+ * debian/patches/ada-bug564232.diff: Enable on hurd too.
+ * debian/patches/ada-libgnatprj.diff: Add hurd configuration.
+
+ -- Matthias Klose <doko@debian.org> Tue, 03 Apr 2012 16:30:58 +0200
+
+gcc-4.7 (4.7.0-1) unstable; urgency=low
+
+ * GCC 4.7.0 release.
+
+ -- Matthias Klose <doko@debian.org> Fri, 23 Mar 2012 05:44:37 +0100
+
+gcc-4.7 (4.7.0~rc2-1) experimental; urgency=low
+
+ * GCC-4.7 release candidate 2 (r185376).
+ * libgo: Work around parse error of struct timex_ on ARM.
+ * Update libstdc++6 symbols files.
+ * Allow building Go from a separate source package.
+ * Don't configure with --enable-gnu-unique-object on kfreebsd and hurd.
+ * Include -print-multiarch option in gcc --help output. Closes: #656998.
+ * Disable Go on mips* (PR go/52586).
+
+ -- Matthias Klose <doko@debian.org> Wed, 14 Mar 2012 15:49:39 +0100
+
+gcc-4.7 (4.7.0~rc1-2) experimental; urgency=low
+
+ * Update to SVN 20120310 (r185183) from the gcc-4_6-branch.
+ * Always configure with --enable-gnu-unique-object. LP: #949805.
+ * Enable Go for ARM on releases with working getcontext/setcontext.
+
+ -- Matthias Klose <doko@debian.org> Sat, 10 Mar 2012 23:29:45 +0100
+
+gcc-4.7 (4.7.0~rc1-1) experimental; urgency=low
+
+ * GCC-4.7 release candidate 1 (r184777).
+
+ [ Marcin Juszkiewicz ]
+ * Fix ARM sf/hf multilib dpkg-shlibdeps dependency generation.
+
+ [ Matthias Klose ]
+ * PR go/52218, don't build Go on ARM, getcontext/setcontext exists,
+ but return ENOSYS.
+ * Fix multiarch build on ia64.
+ * Fix path calculation for the libstdc++ -gdb.py file when installed into
+ multiarch locations. Closes: #661385. LP: #908163.
+ * Disable Go on sparc (libgo getcontext/setcontext check failing).
+
+ [ Thorsten Glaser ]
+ * Apply patch from Alan Hourihane to fix err_bad_abi testcase on m68k.
+
+ [ Jonathan Nieder ]
+ * libstdc++6: Depends on libc (>= 2.11) for STB_GNU_UNIQUE support
+ (Eugene V. Lyubimkin). Closes: #584572.
+ * libstdc++6, libobjc2, libgfortran3, libmudflap0, libgomp1: Breaks
+ pre-multiarch gcc. Closes: #651550.
+ * libstdc++6: Lower priority from required to important. Closes: #661118.
+
+ [Samuel Thibault]
+ * Remove local patch, integrated upstream. Closes: ##661859.
+
+ -- Matthias Klose <doko@debian.org> Fri, 02 Mar 2012 18:42:56 +0100
+
+gcc-4.7 (4.7-20120210-1) experimental; urgency=low
+
+ * GCC-4.7 snapshot build, taken from the trunk 20120210 (r184114).
+ * kbsd-gnu.diff: Remove, integrated upstream.
+ * Strip whitespace from with_libssp definition. Closes: #653255.
+ * Remove soft-float symbols from 64bit powerpc libgcc1 symbols files.
+ * Fix control file generation for cross packages. LP: #913734.
+
+ -- Matthias Klose <doko@debian.org> Fri, 10 Feb 2012 21:38:12 +0100
+
+gcc-4.7 (4.7-20120205-1) experimental; urgency=low
+
+ * GCC-4.7 snapshot build, taken from the trunk 20120205 (r183903).
+ * Enable Go on arm*, ia64, mips*, powerpc, s390*, sparc*.
+ * libgo: Fix ioctl macro extracton.
+ * Fix PR middle-end/52074, ICE in libgo on powerpc.
+ * Revert: * Install static libc++{98,11} libraries.
+ * Don't strip a `/' sysroot from the C++ include directories.
+ Closes: #658442.
+
+ -- Matthias Klose <doko@debian.org> Sun, 05 Feb 2012 09:16:03 +0100
+
+gcc-4.7 (4.7-20120129-1) experimental; urgency=low
+
+ * GCC-4.7 snapshot build, taken from the trunk 20120129 (r183674).
+ * Configure --with-sysroot for wheezy and sid.
+ * Install static libc++{98,11} libraries.
+ * Install libstdc++ gdb.py file into /usr/lib/debug.
+ * Just copy libstdc++convenience.a for the libstdc++_pic installation.
+ * Remove trailing dir separator from system root.
+
+ -- Matthias Klose <doko@debian.org> Sun, 29 Jan 2012 08:19:27 +0100
+
+gcc-4.7 (4.7-20120121-1) experimental; urgency=low
+
+ * GCC-4.7 snapshot build, taken from the trunk 20120121 (r183370).
+
+ [ Matthias Klose ]
+ * Fix C++ include paths when configured --with-system-root.
+
+ [ Marcin Juszkiewicz ]
+ * Fix control file generation for ARM multiarch cross builds.
+
+ -- Matthias Klose <doko@debian.org> Sat, 21 Jan 2012 20:24:29 +0100
+
+gcc-4.7 (4.7-20120107-1) experimental; urgency=low
+
+ * GCC-4.7 snapshot build, taken from the trunk 20120107 (r182981).
+
+ * On armel/armhf, allow g*-multilib installation using the runtime
+ libraries of the corresponding multiarch architecture.
+ * Fix location of .jinfo files. Addresses: #654579.
+ * Replace Fortran 95 with Fortran in package descriptions.
+
+ -- Matthias Klose <doko@debian.org> Sat, 07 Jan 2012 21:24:56 +0100
+
+gcc-4.7 (4.7-20111231-1) experimental; urgency=low
+
+ * GCC-4.7 snapshot build, taken from the trunk 20111231 (r182754).
+
+ [ Aurelien Jarno ]
+ * Re-enable parallel builds on kfreebsd-i386, as the problem from bug
+ #637236 only affects kfreebsd-amd64.
+
+ [ Matthias Klose ]
+ * Fix generating libphobos dependency for gdc. Addresses: #653078.
+ * Link libmudflapth.so with -lpthread.
+
+ -- Matthias Klose <doko@debian.org> Sat, 31 Dec 2011 09:42:13 +0100
+
+gcc-4.7 (4.7-20111222-1) experimental; urgency=low
+
+ * Update to SVN 20111222 (r182617) from the trunk.
+
+ [Matthias Klose]
+ * Remove obsolete ARM patch.
+ * Install loongson.h header.
+ * Update libgcc and libstdc++ symbols files.
+
+ [Samuel Thibault]
+ * Update hurd patch for 4.7, fixing build failure. Closes: #652693.
+
+ [Robert Millan]
+ * Update kbsd-gnu.diff for the trunk.
+
+ -- Matthias Klose <doko@debian.org> Thu, 22 Dec 2011 10:52:01 +0100
+
+gcc-4.7 (4.7-20111217-2) experimental; urgency=low
+
+ * Don't provide 4.6.x symlinks.
+ * Disable multilib for armhf.
+ * Fix spu installation.
+
+ -- Matthias Klose <doko@debian.org> Sun, 18 Dec 2011 17:22:10 +0100
+
+gcc-4.7 (4.7-20111217-1) experimental; urgency=low
+
+ * GCC-4.7 snapshot build.
+ - Including the GFDL documentation; will stay in experimental
+ until the 4.7.0 release sometime next year.
+ * Update patches for the trunk.
+ * Update symbols files.
+ * Build libitm packages.
+
+ -- Matthias Klose <doko@debian.org> Sat, 17 Dec 2011 23:19:46 +0100
+
+gcc-4.6 (4.6.2-9) unstable; urgency=medium
+
+ * Update to SVN 20111217 (r182430) from the gcc-4_6-branch.
+ - Fix PR c++/51331.
+ * Fix build dependencies for armel/armhf.
+
+ -- Matthias Klose <doko@debian.org> Sat, 17 Dec 2011 10:40:26 +0100
+
+gcc-4.6 (4.6.2-8) unstable; urgency=low
+
+ * Update to SVN 20111216 (r182407) from the gcc-4_6-branch.
+ - Fix PR tree-optimization/51485, PR tree-optimization/50569, PR c++/51248,
+ PR c++/51406, PR c++/51161, PR rtl-optimization/49720, PR fortran/50923,
+ PR fortran/51338, PR fortran/51550, PR fortran/47545, PR fortran/49050,
+ PR fortran/51075.
+
+ [ Matthias Klose ]
+ * gdc-4.6: Provide <gnu-triplet>-{gdc,gdmd}-4.6 symlinks.
+
+ [Ludovic Brenta]
+ Merge from gnat-4.6 (4.6.2-2) unstable; urgency=low
+ [Євгеній Мещеряков]
+ * debian/patches/pr47818.diff: new. Fixes: #614402.
+ * debian/rules.patch: apply it.
+
+ Merge from gnat-4.6 (4.6.2-1) unstable; urgency=low
+ [Ludovic Brenta]
+ * Suggest ada-reference-manual-{html,info,pdf,text} instead of just
+ ada-reference-manual which no longer exists.
+ * Do not suggest gnat-gdb, superseded by gdb.
+ * Downgrade libgnat{vsn,prj}4.6-dev to priority extra; they conflict
+ with their 4.4 counterparts and priority optional packages may not
+ conflict with one another, per Policy 2.5.
+
+ -- Matthias Klose <doko@debian.org> Fri, 16 Dec 2011 16:59:30 +0100
+
+gcc-4.6 (4.6.2-7) unstable; urgency=medium
+
+ * Update to SVN 20111210 (r182189) from the gcc-4_6-branch.
+ - Fix PR rtl-optimization/51469, PR tree-optimization/51466,
+ PR tree-optimization/50078, PR target/51408, PR fortran/51310,
+ PR fortran/51448.
+
+ -- Matthias Klose <doko@debian.org> Sat, 10 Dec 2011 20:12:33 +0100
+
+gcc-4.6 (4.6.2-6) unstable; urgency=low
+
+ * Update to SVN 20111208 (r182120) from the gcc-4_6-branch.
+ - Fix PR c++/51265, PR bootstrap/50888, PR target/51393 (ix86),
+ PR target/51002 (AVR), PR target/51345 (AVR), PR debug/48190,
+ PR fortran/50684, PR fortran/51218, PR target/50906 (closes: #650318),
+ PR tree-optimization/51315 (closes: #635126), PR tree-optimization/50622,
+ PR fortran/51435, PR debug/51410, PR c/51339, PR rtl-optimization/48721,
+ PR middle-end/51323 (LP: #897583), PR middle-end/50074,
+ PR middle-end/50074.
+
+ [ Matthias Klose ]
+ * Run the libstdc++ testsuite on all architectures again. Closes: #622699.
+ * Apply proposed patch for PR target/50906 (powerpcspe only). Closes: #650318.
+ * Fix PR target/49030 (ARM), taken from Linaro. Closes: #633479.
+ * Fix PR target/50193 (ARM), taken from Linaro. Closes: #642127.
+ * Install the libstdc++.so-gdb.py file. LP: #883269.
+ * Fix PR c++/50114, backport from trunk. LP: #827806.
+ * Merge changes to allow gcc-snapshot cross builds, taken from Linaro.
+ * Update the Linaro support to the 4.6 branch.
+
+ [ Marcin Juszkiewicz ]
+ * Fix issues with gcc-snapshot cross builds.
+ * Allow building Linaro binary packages in a single package.
+ * Apply hardening patches for cross builds when enabled for native builds.
+
+ -- Matthias Klose <doko@debian.org> Thu, 08 Dec 2011 17:14:35 +0100
+
+gcc-4.6 (4.6.2-5) unstable; urgency=low
+
+ * Update to SVN 20111121 (r181596) from the gcc-4_6-branch.
+ - Fix PR c++/50870, PR c++/50608, PR target/47997, PR target/48108,
+ PR target/45233, PR middle-end/51077, PR target/30282, PR c++/50608,
+ PR target/50979, PR target/4810, PR rtl-optimization/51187,
+ PR target/50493, PR target/49992, PR target/49641, PR c++/51150,
+ PR target/50678, PR libstdc++/51142, PR libstdc++/51133.
+
+ [ Matthias Klose ]
+ * Use the default gcc as stage1 compiler for all architectures.
+
+ [ Marcin Juszkiewicz ]
+ * debian/control.m4: Use BASEDEP in more places.
+ * Work around debhelper not calling the correct strip for cross builds.
+ * Drop dpkg-cross build dependency for cross builds.
+
+ -- Matthias Klose <doko@debian.org> Mon, 21 Nov 2011 22:26:49 +0100
+
+gcc-4.6 (4.6.2-4) unstable; urgency=low
+
+ * Update to SVN 20111103 (r180830) from the gcc-4_6-branch.
+ - Fix PR target/50691, PR c++/50901, PR target/50945,
+ PR rtl-optimization/47918, PR libstdc++/50880.
+
+ * Configure the armel build by explicitly passing --with-arch=armv4t
+ --with-float=soft.
+ * libffi: Simplify PowerPC assembly and avoid CPU-specific string
+ instructions (Kyle Moffett).
+ * Fix MULTIARCH_DIRNAME on powerpcspe (Kyle Moffett). Closes: #647324.
+
+ -- Matthias Klose <doko@debian.org> Thu, 03 Nov 2011 12:03:41 -0400
+
+gcc-4.6 (4.6.2-3) unstable; urgency=low
+
+ * disable parallel builds on kfreebsd-* even if DEB_BUILD_OPTIONS
+ enables them (continued investigation for #637236).
+
+ -- Ludovic Brenta <lbrenta@debian.org> Sat, 29 Oct 2011 00:42:46 +0200
+
+gcc-4.6 (4.6.2-2) unstable; urgency=low
+
+ * Update to SVN 20111028 (r180603) from the gcc-4_6-branch.
+ - Fix PR target/50875.
+
+ * Fix gcj, gdc and gnat builds, broken by the stage1 cross-compiler
+ package dependency fixes.
+ * Update the Linaro support to the 4.6 branch.
+ * Fix gcc-4.6-hppa64 installation. Closes: #646805.
+ * For ARM hard float, set the dynamic linker to
+ /lib/arm-linux-gnueabihf/ld-linux.so.3.
+ * Don't use parallel builds on kfreebsd.
+
+ -- Matthias Klose <doko@debian.org> Fri, 28 Oct 2011 16:36:55 +0200
+
+gcc-4.6 (4.6.2-1) unstable; urgency=low
+
+ * GCC 4.6.2 release.
+
+ * Fix libgcc installation into /usr/lib/gcc/<triplet>/4.6. Closes: #645021.
+ * Fix stage1 cross-compiler package dependencies (Kyle Moffett).
+ Closes: #644439.
+
+ -- Matthias Klose <doko@debian.org> Wed, 26 Oct 2011 13:10:44 +0200
+
+gcc-4.6 (4.6.1-16) unstable; urgency=medium
+
+ * Update to SVN 20111019 (r180208) from the gcc-4_6-branch.
+ - Fix PR target/49967 (ia64), PR tree-optimization/50189, PR fortran/50273,
+ PR tree-optimization/50700, PR c/50565 (closes: #642144),
+ PR target/49965 (sparc), PR middle-end/49801, PR c++/49216,
+ PR c++/49855, PR c++/49896, PR c++/44473, PR c++/50611, PR fortran/50659,
+ PR tree-optimization/50723, PR tree-optimization/50712, PR obj-c++/48275,
+ PR c++/50618, PR fortran/47023, PR fortran/50570, PR fortran/50718,
+ PR libobjc/49883, PR libobjc/50002, PR target/50350, PR middle-end/50386,
+ PR middle-end/50326, PR target/50737, PR c++/50787, PR c++/50531,
+ PR fortran/50016, PR target/50737.
+
+ [ Matthias Klose ]
+ * Fix libjava installation into /usr/lib/gcc/<triplet>/4.6.
+ * Fix powerpc and ppc64 libffi builds (Kyle Moffett).
+ * Apply proposed patch for PR target/50350. Closes: #642313.
+ * Re-apply the fix for PR tree-optimization/49911 on ia64.
+ * Apply proposed patch for PR target/50106 (ARM).
+
+ [Xavier Grave]
+ * debian/patches/address-clauses-timed-entry-calls.diff: new; backport
+ bug fix about address clauses and timed entry calls.
+
+ [Ludovic Brenta]
+ * debian/patches/ada-kfreebsd-gnu.diff: new; provide dummy
+ implementations of some optional POSIX Threads functions missing in
+ GNU/kFreeBSD. Closes: #642128.
+
+ -- Matthias Klose <doko@debian.org> Thu, 20 Oct 2011 00:24:13 +0200
+
+gcc-4.6 (4.6.1-15) unstable; urgency=low
+
+ * Update to SVN 20111010 (r179753) from the gcc-4_6-branch.
+ - Fix PR target/50652.
+ * Update the Linaro support to the 4.6-2011.10-1 release.
+ * Fix gcc-spu installation.
+ * Restore symlink for subminor GCC version. Closes: #644849.
+
+ -- Matthias Klose <doko@debian.org> Mon, 10 Oct 2011 17:10:40 +0200
+
+gcc-4.6 (4.6.1-14) unstable; urgency=low
+
+ * Update to SVN 20111008 (r179710) from the gcc-4_6-branch.
+ - Fix PR inline-asm/50571, PR c++/46105, PR c++/50508, PR libstdc++/50529,
+ PR libstdc++/49559, PR c++/40831, PR fortran/48706, PR target/49049,
+ PR tree-optimization/49279, PR fortran/50585, PR fortran/50625,
+ PR libstdc++/48698.
+
+ [ Matthias Klose ]
+ * Configure and build to install into /usr/lib/gcc/<triplet>/4.6.
+ Closes: #643891.
+ * libgcc1: Versioned break to gcc-4.3.
+ * Fix gcc-multiarch for i386-linux-gnu with disabled multilibs.
+ * libffi: Fix PowerPC soft-floating-point support (Kyle Moffett).
+
+ [ Marcin Juszkiewicz ]
+ * Enable gcc-snapshot cross builds.
+
+ [ Iain Buclaw ]
+ * Port gdc to GCC-4.6.
+
+ [ Aurelien Jarno ]
+ * Backport fix for PR target/49696 from the trunk (Closes: #633443).
+
+ -- Matthias Klose <doko@debian.org> Sat, 08 Oct 2011 14:40:49 +0200
+
+gcc-4.6 (4.6.1-13) unstable; urgency=low
+
+ * Update to SVN 20110926 (r179207) from the gcc-4_6-branch.
+ - Fix PR tree-optimization/50472, PR tree-optimization/50413,
+ PR tree-optimization/50412, PR c++/20039, PR c++/42844,
+ PR libstdc++/50510, PR libstdc++/50509.
+ * Revert the fix for PR tree-optimization/49911, bootstrap error on ia64.
+ * libffi: Define FFI_MMAP_EXEC_WRIT on kfreebsd-* (Petr Salinger).
+
+ -- Matthias Klose <doko@debian.org> Mon, 26 Sep 2011 19:59:55 +0200
+
+gcc-4.6 (4.6.1-12) unstable; urgency=low
+
+ * Update to SVN 20110924 (r179140) from the gcc-4_6-branch.
+ - Fix PR target/50464, PR target/50341, PR middle-end/49886,
+ PR target/50091, PR c++/50491, PR c++/50442 (Closes: #642176).
+
+ -- Matthias Klose <doko@debian.org> Sat, 24 Sep 2011 10:39:32 +0200
+
+gcc-4.6 (4.6.1-11) unstable; urgency=low
+
+ * Update to SVN 20110917 (r178926) from the gcc-4_6-branch.
+ - Fix PR c++/50424, PR c++/48320, PR fortran/49479.
+
+ [ Matthias Klose ]
+ * Update the Linaro support to the 4.6-2011.09-1 release.
+
+ [ Aurelien Jarno ]
+ * gcc.c (for_each_path): Allocate memory for multiarch suffix.
+
+ -- Matthias Klose <doko@debian.org> Sat, 17 Sep 2011 10:53:36 +0200
+
+gcc-4.6 (4.6.1-10) unstable; urgency=medium
+
+ * Update to SVN 20110910 (r178746) from the gcc-4_6-branch.
+ - Fix PR middle-end/50266, PR tree-optimization/49911,
+ PR tree-optimization/49518, PR tree-optimization/49628,
+ PR tree-optimization/49628, PR target/50310, PR target/50289,
+ PR c++/50255, PR c++/50309, PR c++/49267, PR libffi/49594.
+ - Revert fix for PR middle-end/49886, causing PR middle-end/50295.
+
+ -- Matthias Klose <doko@debian.org> Sat, 10 Sep 2011 03:38:48 +0200
+
+gcc-4.6 (4.6.1-9) unstable; urgency=low
+
+ * Update to SVN 20110903 (r178501) from the gcc-4_6-branch.
+ - Fix PR target/50090, PR middle-end/50116, PR target/50202, PR c/50179,
+ PR c++/50157, PR fortran/50163, PR libfortran/50192,
+ PR middle-end/49886, PR tree-optimization/50178, PR c++/50207,
+ PR c++/50089, PR c++/50220, PR c++/50234, PR c++/50224,
+ PR libstdc++/50268.
+
+ [ Matthias Klose ]
+ * Fix gcc --print-multilib-osdir for non-biarch architectures.
+ * Fix multiarch for non-biarch builds. Closes: #635860.
+ * Move the lto plugin to the cpp packge. Closes: #639531.
+
+ [ Thorsten Glaser ]
+ * [m68k] Disable multilib. Closes: #639303.
+
+ -- Matthias Klose <doko@debian.org> Sat, 03 Sep 2011 20:11:50 +0200
+
+gcc-4.6 (4.6.1-8) unstable; urgency=low
+
+ * Update to SVN 20110824 (r178027) from the gcc-4_6-branch.
+ Fix PR fortran/49792, PR tree-optimization/48739, PR target/50092,
+ PR c++/50086, PR c++/50054, PR fortran/50050, PR fortran/50130,
+ PR fortran/50129, PR fortran/49792, PR fortran/50109, PR c++/50024,
+ PR c++/46862.
+
+ * Properly disable multilib builds for selected libraries on armel and armhf.
+ * Update and re-enable the gcc-ice patch.
+ * Update and re-enable the gcc-cloog-dl patch.
+ * Fix [ARM] PR target/50090: aliases in libgcc.a with default visibility,
+ taken from the trunk.
+ * Re-work the multiarch patches.
+ * Break older gcj-4.6 and gnat-4.6 versions, changed gcc_lib_dir.
+ * Omit the target alias from the go libdir.
+ * Linaro updates from the 4.6-2011.07-stable branch.
+ * Revert:
+ - libjava: Build with the system libffi PIC library.
+ * For native builds, gcc -print-file-name now resolve . and ..,
+ and removes the subminor version number.
+
+ -- Matthias Klose <doko@debian.org> Wed, 24 Aug 2011 10:22:42 +0200
+
+gcc-4.6 (4.6.1-7) unstable; urgency=low
+
+ * Update to SVN 20110816 (r177780) from the gcc-4_6-branch.
+ - Fix PR middle-end/49923.
+
+ [ Matthias Klose ]
+ * gcc-4.6-multilib: Depend on biarch quadmath library. Closes: #637174.
+ * Don't hard-code build dependency on gcc-multilib.
+ * Build-depends on python when building java.
+ * Fix thinko in java::lang::Class::finalize (taken from the trunk).
+ * Add support for ARM 64bit sync intrinsics (David Gilbert). Only
+ enable for armv7 or better.
+ * libjava: Build with the system libffi PIC library.
+ * Disable gnat multilib builds on armel and armhf.
+
+ Merge from gnat-4.6 (4.6.1-4) unstable; urgency=low
+
+ [Ludovic Brenta]
+ * debian/patches/ada-symbolic-tracebacks.diff
+ (src/gcc/ada/gcc-interface/Makefile.in): pass -iquote instead of -I-
+ to gnatgcc; fixes FTBFS on i386 and closes: #637418.
+
+ Merge from gnat-4.6 (4.6.1-3) unstable; urgency=low
+
+ [Євгеній Мещеряков]
+ * debian/patches/ada-mips.diff: do not use the alternate stack on mips,
+ as on mipsel. Closes: #566234.
+
+ [Ludovic Brenta]
+ * debian/patches/pr49940.diff: new; copy the definition of function
+ lwp_self from s-osinte-freebsd.ads to s-osinte-kfreebsd-gnu.ads.
+ Closes: #636291.
+ * debian/patches/pr49944.diff: new. Closes: #636692.
+ * debian/patches/pr49819.diff: drop, merged upstream.
+
+ -- Matthias Klose <doko@debian.org> Tue, 16 Aug 2011 13:11:25 +0200
+
+gcc-4.6 (4.6.1-6) unstable; urgency=low
+
+ * Update to SVN 20110807 (r177547) from the gcc-4_6-branch.
+ - Fix PR rtl-optimization/49799, PR debug/49871, PR target/47364,
+ PR target/49866, PR tree-optimization/49671, PR target/39386,
+ PR ada/4981, PR fortran/45586, PR fortran/49791, PR middle-end/49897,
+ PR middle-end/49898, PR target/49920, PR target/47908 (closes: #635919),
+ PR c++/43886, PR c++/49593, PR c++/49803, PR c++/49924, PR c++/49260,
+ PR fortran/49885, PR fortran/48876, PR libstdc++/49925, PR target/50001,
+ PR tree-optimization/49948, PR c++/48993, PR c++/49921, PR c++/49669,
+ PR c++/49988, PR fortran/49112.
+
+ [ Aurelien Jarno ]
+ * Update patches/kbsd-gnu.diff for recent changes. Closes: #635195.
+ * Add s390x support.
+
+ [ Marcin Juszkiewicz ]
+ * Fixes for multilib cross builds. LP: #816852, #819147.
+
+ [ Matthias Klose ]
+ * Fix libgo installation for cross builds.
+ * Only apply arm-multilib when building for multilib.
+
+ -- Matthias Klose <doko@debian.org> Sun, 07 Aug 2011 18:20:00 +0200
+
+gcc-4.6 (4.6.1-5) unstable; urgency=low
+
+ * Update to SVN 20110723 (r176672) from the gcc-4_6-branch.
+ - Fix PR target/49541, PR tree-optimization/49768, PR middle-end/49675,
+ PR target/49746, PR middle-end/49732, PR tree-optimization/49725,
+ PR target/49723, PR target/49541, PR tree-opt/49309, PR c++/49785,
+ PR ada/48711, PR ada/46350, PR fortran/49648, PR testsuite/49753,
+ PR tree-optimization/49309, PR tree-optimization/45819, PR target/49600,
+ PR fortran/49708, PR libstdc++/49293.
+ * Update the Linaro support to the 4.6-2011.07-0 release.
+ - Fix PR target/49335. LP: #791327.
+ * Update gcc-multiarch:
+ - Add -print-multiarch option.
+ - Fix library path for non-default multilib(s).
+ - Handle `.' in MULTILIB_DIRNAMES.
+ * Add support to build multilib on armel and armhf, only enable it for
+ Ubuntu/oneiric. LP: #810360.
+ * cpp-4.6: Add empty multiarch directories for the non-default multilibs,
+ needed for relative lookups from startfile_prefixes.
+ * Fix PR c++/49756, backport from trunk. LP: #721378.
+ * libgcc1: Add breaks to gcc-4.1 and gcc-4.3. Closes: #634821.
+ * Configure for DEB_TARGET_MULTIARCH defaults.
+
+ -- Matthias Klose <doko@debian.org> Sat, 23 Jul 2011 08:15:50 +0200
+
+gcc-4.6 (4.6.1-4) unstable; urgency=low
+
+ * Update to SVN 20110714 (r176280) from the gcc-4_6-branch.
+ - Fix PR tree-optimization/49094, PR target/39633, PR c++/49672,
+ PR fortran/49698, PR fortran/49690, PR fortran/49562, PR libfortran/49296,
+ PR target/49487, PR tree-optimization/49651, PR ada/48711.
+
+ [ Matthias Klose ]
+ * Build Go on alpha for gcc-snapshot builds.
+ * For multicore ARM, clear both caches, not just the dcache (proposed
+ patch by Andrew Haley).
+ * Fix for PR rtl-optimization/{48830,48808,48792}, taken from the trunk.
+ LP: #807573.
+ * Fix PR tree-optimization/49169, optimisations strip the Thumb/ARM mode bit
+ off function pointers (Richard Sandiford). LP: #721531.
+
+ [ Marcin Juszkiewicz ]
+ * Define DEB_TARGET_MULTIARCH macro.
+ * debian/rules2: Macro and configuration consolidation.
+
+ -- Matthias Klose <doko@debian.org> Thu, 14 Jul 2011 19:38:49 +0200
+
+gcc-4.6 (4.6.1-3) unstable; urgency=medium
+
+ * Update to SVN 20110709 (r176108) from the gcc-4_6-branch.
+ - Fix PR target/49335, PR tree-optimization/49618, PR c++/49598,
+ PR fortran/49479, PR target/49621, PR target/46779, PR target/49660,
+ PR c/49644, PR debug/49522, PR debug/49522, PR middle-end/49640,
+ PR c++/48157, PR c/49644, PR fortran/48926.
+ - Apparently fixes a boost issue. Closes: #632938.
+ * Apply proposed patch for PR fortran/49690. Closes: #631204.
+
+ * README.Debian: New section 'Former and/or inactive maintainers'.
+
+ -- Matthias Klose <doko@debian.org> Sun, 10 Jul 2011 00:04:34 +0200
+
+gcc-4.6 (4.6.1-2) unstable; urgency=medium
+
+ * Update to SVN 20110705 (r175840) from the gcc-4_6-branch.
+ - Fix PR target/47997, PR c++/49528, PR c++/49440, PR c++/49418,
+ PR target/44643, PR tree-optimization/49615, PR tree-optimization/49572,
+ PR target/34734, PR tree-optimization/49539, PR tree-optimizations/49516,
+ PR target/49089, PR rtl-optimization/49014, PR target/48273,
+ PR fortran/49466, PR libfortran/49296, PR libffi/46660, PR debug/49262,
+ PR rtl-optimization/49472, PR rtl-optimization/49619, PR fortran/49623,
+ PR fortran/49540.
+
+ [Ludovic Brenta, Євгеній Мещеряков, Xavier Grave]
+ * Adjust patches to GCC 4.6.
+ * Remove patches merged upstream:
+ - debian/patches/ada-arm-eabi.diff
+ - debian/patches/ada-bug589164.diff
+ - debian/patches/ada-bug601133.diff
+ - debian/patches/ada-gnatvsn.diff
+ - debian/patches/ada-mips.diff
+ - debian/patches/ada-polyorb-dsa.diff
+
+ [Ludovic Brenta]
+ * debian/patches/ada-acats.diff: set LD_LIBRARY_PATH, ADA_INCLUDE_PATH
+ and ADA_OBJECTS_PATH so that the GNAT testsuite runs.
+ * debian/patches/adalibgnat{vsn,prj}.diff,
+ debian/rules.d/binary-ada.mk: install libgnat{vsn,prj}.so.* in the correct
+ multiarch directory.
+ * debian/control.m4, debian/rules.d/binary-ada.mk: move the SJLJ version
+ of the Ada run-time library to a new package, gnat-4.6-sjlj.
+ * debian/control.m4 (libgnatvsn4.6, libgnatvsn4.6-dbg, libgnatprj4.6,
+ libgnatprj4.6-dbg): pre-depend on multiarch-support and add
+ Multi-Arch: same.
+
+ [Nicolas Boulenguez]
+ * debian/rules.d/binary-ada.mk: add gnathtml to the package gnat-4.6.
+ * debian/gnat.1: remove the version number of GCC. Mention gnathtml.
+
+ [ Matthias Klose ]
+ * Do not install the spu and hppa64 cross compilers into the multiarch path.
+ * Update the Linaro support to 20110704.
+
+ [ Thorsten Glaser ]
+ * Apply changes from src:gcc-4.4 for m68k support. Closes: #632380.
+ - debian/rules.defs: Remove m68k from locale_no_cpus.
+ - debian/patches/gcc-multiarch.diff: Add m68k multiarch_mappings.
+ - debian/patches/pr43804.diff: Fix backported from SVN.
+ - debian/rules.patch: Add pr43804.
+
+ -- Matthias Klose <doko@debian.org> Tue, 05 Jul 2011 10:45:56 +0200
+
+gcc-4.6 (4.6.1-1) unstable; urgency=low
+
+ * GCC 4.6.1 release.
+
+ [Ludovic Brenta]
+ * debian/patches/ada-gnatvsn.diff,
+ debian/patches/ada-polyorb-dsa.diff: remove backports, no longer
+ needed.
+
+ [ Matthias Klose ]
+ * Fix plugin header installation. Closes: #631082.
+ * Stop passing -Wno-error=unused-but-set-parameter and
+ -Wno-error=unused-but-set-variable if -Werror is present.
+ This was a temporary workaround introduced in 4.6.0~rc1-2. Closes: #615157.
+ * gcc-4.6-spu: Install the lto plugin. Closes: #631772.
+
+ -- Matthias Klose <doko@debian.org> Mon, 27 Jun 2011 13:54:04 +0200
+
+gcc-4.6 (4.6.0-14) unstable; urgency=low
+
+ * Update to SVN 20110616 (r175102) from the gcc-4_6-branch.
+ - Fix PR debug/48459, PR fortran/49103, PR rtl-optimization/49390,
+ PR c++/49117, PR c++/49369, PR c++/49290, PR target/44618,
+ PR tree-optimization/49419 (closes: #630567).
+ * Update the Linaro support to the 4.6-2011.06-0 release.
+
+ -- Matthias Klose <doko@debian.org> Thu, 16 Jun 2011 16:10:33 +0200
+
+gcc-4.6 (4.6.0-13) unstable; urgency=low
+
+ * Update to SVN 20110611 (r174958) from the gcc-4_6-branch.
+ * Extend multiarch support for mips/mipsel.
+ * Fix control files for gcj multiarch builds.
+ * Update libstdc++ symbols files.
+
+ -- Matthias Klose <doko@debian.org> Sat, 11 Jun 2011 20:49:42 +0200
+
+gcc-4.6 (4.6.0-12) unstable; urgency=medium
+
+ * Update to SVN 20110608 (r174800) from the gcc-4_6-branch.
+ - PR target/49186, PR rtl-optimization/49235, PR tree-optimization/48702,
+ PR tree-optimization/49243, PR c++/49134, PR target/49238,
+ PR gcov-profile/49299, PR c++/48780, PR c++/49298, PR fortran/49268.
+ * Fix c++ biarch header installation on i386. LP: #793411.
+ * Enable multiarch.
+ * Add multiarch attributes for gnat and libgnat packages.
+ * Add multiarch attributes for libgcj* packages.
+ * Adjust build dependency on multiarch glibc.
+
+ -- Matthias Klose <doko@debian.org> Wed, 08 Jun 2011 11:26:52 +0200
+
+gcc-4.6 (4.6.0-11) unstable; urgency=low
+
+ * Update to SVN 20110604 (r174637) from the gcc-4_6-branch.
+ - Fix PR c++/49165, PR tree-optimization/49218, PR target/45263,
+ PR target/43700, PR target/43995, PR tree-optimization/49217,
+ PR c++/49223, PR c++/47049, PR c++/47277, PR c++/48284, PR c++/48657,
+ PR c++/49176, PR fortran/48955, PR tree-optimization/49038,
+ PR tree-optimization/49093, PR middle-end/48985, PR middle-end/48953,
+ PR c++/49276, PR fortran/49265, PR fortran/45786.
+ * Configure the hppa64 and spu cross builds with --enable-plugin.
+
+ -- Matthias Klose <doko@debian.org> Sat, 04 Jun 2011 16:12:27 +0200
+
+gcc-4.6 (4.6.0-10) unstable; urgency=high
+
+ * Update to SVN 20110526 (r174290) from the gcc-4_6-branch.
+ - Fix PR target/44643, PR c++/49165, PR tree-optimization/49161,
+ PR target/49128, PR tree-optimization/44897, PR target/49133,
+ PR c++/44994, PR c++/49156, PR c++/45401, PR c++/44311, PR c++/44311,
+ PR c++/45698, PR c++/46145, PR c++/46245, PR c++/46696, PR c++/47184,
+ PR c++/48935, PR c++/45418, PR c++/45080, PR c++/48292, PR c++/49136,
+ PR c++/49042, PR c++/48884, PR c++/49105, PR c++/47263, PR c++/47336,
+ PR c++/47544, PR c++/48617, PR c++/48424, PR libstdc++/49141,
+ PR libobjc/48177.
+ * Proposed fix for PR tree-optimization/48702, PR tree-optimization/49144.
+ Closes: #627795.
+ * Proposed fix for PR fortran/PR48955.
+ * Add some conditionals to build the package on older releases.
+
+ -- Matthias Klose <doko@debian.org> Thu, 26 May 2011 16:00:49 +0200
+
+gcc-4.6 (4.6.0-9) unstable; urgency=low
+
+ * Update to SVN 20110524 (r174102) from the gcc-4_6-branch.
+ - Fix PR lto/49123, PR debug/49032, PR c/49120, PR middle-end/48973,
+ PR target/49104, PR middle-end/49029, PR c++/48647, PR c++/48945,
+ PR c++/48780, PR c++/49066, PR libstdc++/49058, PR target/49104.
+ * Use gcc-4.4 as the bootstrap compiler for kfreebsd to work around
+ a bootstrap issue.
+
+ -- Matthias Klose <doko@debian.org> Tue, 24 May 2011 09:41:35 +0200
+
+gcc-4.6 (4.6.0-8) unstable; urgency=low
+
+ * Update to SVN 20110521 (r173994) from the gcc-4_6-branch.
+ - Fix PR target/48986, PR preprocessor/48677, PR tree-optimization/48975,
+ PR tree-optimization/48822, PR debug/48967, PR debug/48159,
+ PR target/48857, PR target/48495, PR tree-optimization/48837,
+ PR tree-optimization/48611, PR tree-optimization/48794, PR c++/48859,
+ PR c++/48574, PR fortran/48889, PR target/49002, PR lto/48207,
+ PR tree-optimization/49039, PR tree-optimization/49018, PR lto/48703,
+ PR tree-optimization/48172, PR tree-optimization/48172, PR c++/48873,
+ PR tree-optimization/49000, PR c++/48869, PR c++/49043, PR c++/49082,
+ PR c++/48948, PR c++/48745, PR c++/48736, PR bootstrap/49086,
+ PR tree-optimization/49079, PR tree-optimization/49073.
+ * Update the Linaro support to the 4.6-2011.05-0 release.
+ * pr45979.diff: Update to the version from the trunk.
+
+ -- Matthias Klose <doko@debian.org> Sat, 21 May 2011 12:19:10 +0200
+
+gcc-4.6 (4.6.0-7) unstable; urgency=low
+
+ * Update to SVN 20110507 (r173528) from the gcc-4_6-branch.
+ - Fix PR middle-end/48597, PR c++/48656, PR fortran/48112,
+ PR fortran/48279, PR fortran/48788, PR tree-optimization/48809,
+ PR target/48262, PR fortran/48462, PR fortran/48746,
+ PR fortran/48810, PR fortran/48800, PR libstdc++/48760,
+ PR libgfortran/48030, PR preprocessor/48192, PR lto/48846,
+ PR target/48723, PR fortran/48894, PR target/48900, PR target/48252,
+ PR c++/40975, PR target/48252, PR target/48774, PR c++/48838,
+ PR c++/48749, PR ada/48844, PR fortran/48720, PR libstdc++/48750,
+ PR c++/48909, PR c++/48911, PR c++/48446, PR c++/48089.
+
+ * Fix issue with volatile bitfields vs. inline asm memory constraints,
+ taken from the trunk, apply for ARM only. Addresses: #625825.
+
+ -- Matthias Klose <doko@debian.org> Sat, 07 May 2011 14:54:51 +0200
+
+gcc-4.6 (4.6.0-6) unstable; urgency=low
+
+ * Update to SVN 20110428 (r173059) from the gcc-4_6-branch.
+ - Fix PR c/48685 (closes: #623161), PR tree-optimization/48717, PR c/48716,
+ PR c/48742, PR debug/48768, PR tree-optimization/48734,
+ PR tree-optimization/48731, PR other/48748, PR c++/42687, PR c++/48726,
+ PR c++/48707, PR fortran/48588, PR libstdc++/48521, PR c++/48046,
+ PR preprocessor/48740.
+ * Update the ibm/gcc-4_6-branch to 20110428.
+ * Use gcc-4.6 as bootstrap compiler on kfreebsd-*.
+
+ -- Matthias Klose <doko@debian.org> Thu, 28 Apr 2011 10:33:52 +0200
+
+gcc-4.6 (4.6.0-5) unstable; urgency=low
+
+ * Update to SVN 20110421 (r172845) from the gcc-4_6-branch.
+ - Fix PR target/48288, PR tree-optimization/48611, PR lto/48148,
+ PR lto/48492, PR fortran/47976, PR c++/48594, PR c++/48657,
+ PR c++/46304, PR target/48708, PR middle-end/48695.
+
+ * Update the Linaro support to the 4.6-2011.04-0 release.
+
+ -- Matthias Klose <doko@debian.org> Thu, 21 Apr 2011 22:50:25 +0200
+
+gcc-4.6 (4.6.0-4) unstable; urgency=medium
+
+ * Update to SVN 20110419 (r172584) from the gcc-4_6-branch.
+ - Fix PR target/48678, PR middle-end/48661, PR tree-optimization/48616,
+ PR lto/48538, PR c++/48537, PR c++/48632, PR testsuite/48675,
+ PR libstdc++/48635, PR libfortran/47571.
+
+ [ Aurelien Jarno ]
+ * Enable SSP on mips/mipsel.
+
+ [ Matthias Klose ]
+ * (Build-)depend on binutils 2.21.51.
+
+ -- Matthias Klose <doko@debian.org> Tue, 19 Apr 2011 23:45:16 +0200
+
+gcc-4.6 (4.6.0-3) unstable; urgency=high
+
+ * Update to SVN 20110416 (r172584) from the gcc-4_6-branch.
+ - Fix PR rtl-optimization/48143, PR target/48142, PR target/48349,
+ PR debug/48253, PR fortran/48291, PR target/16292, PR c++/48280,
+ PR c++/48212, PR c++/48369, PR c++/48281, PR c++/48265, PR lto/48246,
+ PR libstdc++/48398, PR bootstrap/48431, PR tree-optimization/48377,
+ PR debug/48343, PR rtl-optimization/48144, PR debug/48466, PR c/48517,
+ PR middle-end/48335, PR c++/48450, PR target/47829, PR c++/48534,
+ PR c++/48523, PR libstdc++/48566, PR libstdc++/48541, PR target/48366,
+ PR libstdc++/48465, PR middle-end/48591, PR target/48605,
+ PR middle-end/48591, PR target/48090, PR tree-optimization/48195,
+ PR rtl-optimization/48549, PR c++/48594, PR c++/48570, PR c++/48574,
+ PR fortran/48360, PR fortran/48456, PR libstdc++/48631,
+ PR libstdc++/48635, PR libstdc++/48476.
+
+ [ Matthias Klose ]
+ * libjava-jnipath.diff: Add /usr/lib/<multiarch>/jni as jnipath too.
+ * Add mudflap support for varargs (patch taken from the trunk).
+ * gcc-4.6-plugin-dev: Install gtype.state.
+ * Bootstrap with gcc-4.4 -g -O2 on armel.
+ * Fix linker plugin configuration. Closes: #620661.
+ * Update the Linaro support for GCC-4.6.
+ * gcc-snapshot builds:
+ - Fix build with multiarch changes.
+ - Use gcc-snapshot as the bootstrap compiler on armel.
+ - Re-enable building java in the gcc-snapshot package.
+ * Build supporting multiarch on wheezy/sid.
+ * Adjust (build)-dependency to new libgmp-dev name.
+
+ [ Marcin Juszkiewicz ]
+ * Configure stage1 cross builds with --disable-libquadmath.
+
+ -- Matthias Klose <doko@debian.org> Sat, 16 Apr 2011 17:02:30 +0200
+
+gcc-4.6 (4.6.0-2) unstable; urgency=low
+
+ * Update to SVN 20110329 (r171700) from the gcc-4_6-branch.
+ - Fix PR bootstrap/48135, PR target/47553, PR middle-end/48269,
+ PR tree-optimization/48228, PR middle-end/48134, PR middle-end/48031,
+ PR other/48179, PR other/48221, PR other/48234, PR target/48237,
+ PR debug/48204, PR c/42544, PR c/48197, PR rtl-optimization/48141,
+ PR rtl-optimization/48141, PR c++/48166, PR c++/48296, PR c++/48289,
+ PR c++/47999, PR c++/48313, Core 1232, Core 1148, PR c++/47504,
+ PR c++/47570, PR preprocessor/48248, PR c++/48319.
+
+ [ Matthias Klose ]
+ * Update NEWS files.
+ * Configure the hppa64 cross build with --disable-libquadmath.
+ * Don't build armhf from the Linaro branch.
+ * Don't try to build Go on sh4.
+
+ [ Marcin Juszkiewicz ]
+ * Fixes issues with staged cross builds. LP: #741855, #741853.
+ * Fix libdir setting for multiarch enabled cross builds. LP: #741846.
+ * Drop alternatives for cross builds. LP: #676454.
+
+ -- Matthias Klose <doko@debian.org> Tue, 29 Mar 2011 23:22:07 +0200
+
+gcc-4.6 (4.6.0-1) unstable; urgency=low
+
+ * GCC 4.6.0 release.
+
+ * Build the gold LTO plugin for ppc64 (Hiroyuki Yamamoto). Closes: #618865.
+ * Fix PR target/48226, Allow Iterator::vector vector on powerpc with VSX,
+ taken from the trunk.
+ * Fix PR target/47487 ICE building libgo, taken from the trunk.
+ * Merge multiarch changes from the gcc-4.5 package.
+ * Apply proposed patch to reduce the overhead of dwarf2 location tracking.
+ Addresses: #618748.
+
+ -- Matthias Klose <doko@debian.org> Sat, 26 Mar 2011 03:03:21 +0100
+
+gcc-4.6 (4.6.0~rc1-3) experimental; urgency=low
+
+ * GCC 4.6.0 release candidate 2.
+
+ -- Matthias Klose <doko@debian.org> Tue, 22 Mar 2011 22:11:42 +0100
+
+gcc-4.6 (4.6.0~rc1-2) experimental; urgency=low
+
+ [ Loic Minier ]
+ * Rework config/vxworks-dummy.h installation snippet to test
+ DEB_TARGET_GNU_CPU against patterns close to the upstream ones (arm% mips%
+ sh% sparc%) as to also install this header on other ports targetting the
+ relevant upstream CPUs such as armhf. Add a comment pointing at the
+ upstream bug.
+ * Update __aeabi symbol handling to test whether DEB_TARGET_GNU_TYPE matches
+ arm-linux-gnueabi% instead of testing whether DEB_TARGET_ARCH equals
+ armel. Add a comment pointing at the Debian bug and indicating that this
+ is only useful for older dpkg-dev versions.
+ * debian/rules.def: fix "armel" entry to "arm" in list of
+ DEB_TARGET_ARCH_CPUs for Debian experimental GCC 4.5/4.6 libraries.
+ * debian/rules2: drop commented out GCC #42509 workaround as this was fixed
+ upstream in 4.4+.
+ * Change bogus DEB_TARGET_GNU_CPU test on armel and armhf to just test for
+ arm as ths is what the Debian arm, armel and armhf port use.
+ * Rework snippet setting armv7 on Debian armhf / Ubuntu to avoid
+ duplication, as a comment called out for.
+ * Use "arm" instead of armel/armhf in DEB_TARGET_GNU_CPU test when deciding
+ whether to enable profiledbootstrap.
+ * Set DEJAGNU_TIMEOUT=600 on Ubuntu armhf as well.
+ * Fix a couple more uses of armel or armhf against DEB_TARGET_GNU_CPU.
+ * Patched a couple of comments mentioning armel to also mention armhf.
+ * Add patch armhf-triplet-backport, support for arm-linux-*eabi* backported
+ from a patch sent on the upstream mailing-list.
+
+ [ Matthias Klose ]
+ * Update libstdc++ symbols files.
+ * Update libgfortran symbols files.
+
+ -- Matthias Klose <doko@debian.org> Sun, 20 Mar 2011 13:53:48 +0100
+
+gcc-4.6 (4.6.0~rc1-2) experimental; urgency=low
+
+ * Update to SVN 20110320 (r171192) from the gcc-4_6-branch.
+
+ [ Matthias Klose ]
+ * Update gcc-default-ssp* patches for the release candidate.
+ * Pass -Wno-error=unused-but-set-parameter if -Werror is present (temporary
+ for rebuild tests).
+ * Always configure --with-plugin-ld, always install liblto_plugin.so.
+
+ [ Marcin Juszkiewicz ]
+ * Add conflicts with -4.5-*dev packages. Closes: #618450.
+
+ [ Petr Salinger]
+ * Disable lock-2.c test on kfreebsd-*. Closes: #618988.
+ * Re-enable parallel builds on kfreebsd.
+ * Package lto_plugin for kfreebsd-* and Hurd.
+
+ -- Matthias Klose <doko@debian.org> Sun, 20 Mar 2011 13:53:48 +0100
+
+gcc-4.6 (4.6.0~rc1-1) experimental; urgency=low
+
+ * Build from the GCC 4.6.0 release candidate tarball.
+
+ [ Matthias Klose ]
+ * Disable Go on powerpc. Closes: #615827.
+ * Fix lintian errors for the -plugin-dev package.
+ * Update kbsd-gnu.diff (Petr Salinger). Closes: #615826.
+ * Disable parallel builds on kfreebsd (Petr Salinger).
+ * Update gmp (build) dependencies.
+ * Update GFDL compliant builds. Closes: #609161.
+ * For GFDL compliant builds, build a dummy s-tm-texi without access
+ to the texinfo sources.
+
+ [ Aurelien Jarno ]
+ * Import symbol files for kfreebsd-amd64, kfreebsd-i386, sh4 and
+ sparc64 from gcc-4.5.
+
+ -- Matthias Klose <doko@debian.org> Mon, 14 Mar 2011 19:01:08 +0100
+
+gcc-4.6 (4.6-20110227-1) experimental; urgency=low
+
+ [ Matthias Klose ]
+ * Update libquadmath symbols file.
+ * gcc-4.6-plugin-dev: Install gengtype.
+
+ [ Sebastian Andrzej Siewior ]
+ * Remove -many on powerpcspe (__SPE__).
+ * Remove classic FPU opcodes from libgcc if target has no support for them
+ (powerpcspe).
+
+ -- Matthias Klose <doko@debian.org> Sun, 27 Feb 2011 22:33:45 +0100
+
+gcc-4.6 (4.6-20110216-1) experimental; urgency=low
+
+ * GCC snapshot, taken from the trunk.
+ * Pass --no-add-needed by default to the linker. See
+ http://wiki.debian.org/ToolChain/DSOLinking, section "Not resolving symbols
+ in indirect dependent shared libraries" for more information.
+
+ -- Matthias Klose <doko@debian.org> Wed, 16 Feb 2011 23:55:32 +0100
+
+gcc-4.6 (4.6-20110125-1) experimental; urgency=low
+
+ * debian/copyright: Add unicode copyright for
+ libjava/classpath/resource/gnu/java/locale/* files. Addresses: #609161.
+
+ -- Matthias Klose <doko@debian.org> Wed, 26 Jan 2011 03:42:10 +0100
+
+gcc-4.6 (4.6-20110123-1) experimental; urgency=low
+
+ * GCC snapshot, taken from the trunk.
+ * Don't run the libstdc++ testsuite on mipsel, times out on the buildd.
+
+ [ Marcin Juszkiewicz ]
+ * Fix biarch/triarch cross builds.
+ - dpkg-shlibdeps failed to find libraries for 64 or n32 builds
+ - LD_LIBRARY_PATH for dpkg-shlibdeps lacked host dirs.
+
+ -- Matthias Klose <doko@debian.org> Sun, 23 Jan 2011 12:14:49 +0100
+
+gcc-4.6 (4.6-20110116-1) experimental; urgency=low
+
+ * GCC snapshot, taken from the trunk.
+ * Update patches for the trunk.
+ * Pass -Wno-error=unused-but-set-variable if -Werror is present (temporary
+ for rebuild tests).
+ * Work around PR libffi/47248, force a read only eh frame section.
+
+ -- Matthias Klose <doko@debian.org> Sun, 16 Jan 2011 23:28:28 +0100
+
+gcc-4.6 (4.6-20110105-1) experimental; urgency=low
+
+ [ Matthias Klose ]
+ * Rename and update libobjc symbols files.
+ * Update cloog/ppl build dependencies.
+ * Adjust libstdc++ configure and paths for stylesheets and dtds.
+ * Update copyright for libquadmath, libgo, gcc/go/gofrontend.
+ * Enable Go for more architectures.
+ * DP: libgo: Fix GOARCH for i386 biarch, add GOARCH for powerpc
+
+ [ Kees Cook ]
+ * Update hardening patches for GCC-4.6. LP: #696990.
+
+ -- Matthias Klose <doko@debian.org> Wed, 05 Jan 2011 22:29:57 +0100
+
+gcc-4.6 (4.6-20101220-1) maverick; urgency=low
+
+ * GCC snapshot, taken from the trunk.
+
+ -- Matthias Klose <doko@ubuntu.com> Tue, 21 Dec 2010 00:16:19 +0100
+
+gcc-4.5 (4.5.2-7) unstable; urgency=low
+
+ * Update to SVN 20110323 (r171351) from the gcc-4_5-branch.
+ - Fix PR c++/47125, PR fortran/47348, PR libstdc++/48114,
+ PR libfortran/48066, PR target/48171, PR target/47862.
+ PR preprocessor/48192.
+
+ [ Steve Langasek ]
+ * Make dpkg-dev versioned build-dependency conditional on whether we want
+ to build for multiarch.
+ * Add a new patch, gcc-multiarch+biarch.diff, used only when building for
+ multiarch to set our multilib paths to the correct relative directories.
+ * debian/rules.defs: support turning on multiarch build by architecture;
+ but don't enable this yet, we still need to wait for dpkg-dev.
+ * When DEB_HOST_MULTIARCH is available (i.e., with the next dpkg upload),
+ use it as our multiarch path.
+ * debian/rules.d/binary-java.mk: jvm-exports path is /usr/lib/jvm-exports,
+ not $(libdir)/jvm-exports.
+ * OTOH, libgcj_bc *is* in $(libdir).
+ * the spu build is not a multiarch build; look in the correct
+ non-multiarch directory.
+ * debian/rules2: pass --libdir also for stageX builds, needed in order to
+ successfully build for multiarch.
+ * debian/rules2: $(usr_lib) for a cross-build should not include the
+ multiarch dir as part of the path.
+ * debian/patches/gcc-multiarch+biarch.diff: restore the original intent of
+ the patch, namely, that the multilib dir for the default variant is
+ always equal to libdir (the multiarch dir), and we walk up the tree
+ to find lib<qual> for the secondary variant.
+ * debian/patches/gcc-multiarch+biarch32.diff: apply the same multilib
+ directory rewriting for biarch paths with multiarch as we do without;
+ still needed in the near term.
+ * Put our list of patches in README.Debian.$(DEB_TARGET_ARCH) instead of
+ in README.Debian, so that the individual files are architecture-neutral
+ and play nicely with multiarch. LP: #737846.
+ * Add a comment at the bottom of README.Debian with a pointer to the new
+ file listing the patches.
+
+ [ Loic Minier ]
+ * Rework config/vxworks-dummy.h installation snippet to test
+ DEB_TARGET_GNU_CPU against patterns close to the upstream ones (arm% mips%
+ sh% sparc%) as to also install this header on other ports targetting the
+ relevant upstream CPUs such as armhf. Add a comment pointing at the
+ upstream bug.
+ * Update __aeabi symbol handling to test whether DEB_TARGET_GNU_TYPE matches
+ arm-linux-gnueabi% instead of testing whether DEB_TARGET_ARCH equals
+ armel. Add a comment pointing at the Debian bug and indicating that this
+ is only useful for older dpkg-dev versions.
+ * debian/rules.def: fix "armel" entry to "arm" in list of
+ DEB_TARGET_ARCH_CPUs for Debian experimental GCC 4.5/4.6 libraries.
+ * debian/rules2: drop commented out GCC #42509 workaround as this was fixed
+ upstream in 4.4+.
+ * Change bogus DEB_TARGET_GNU_CPU test on armel and armhf to just test for
+ arm as ths is what the Debian arm, armel and armhf port use.
+ * Rework snippet setting armv7 on Debian armhf / Ubuntu to avoid
+ duplication, as a comment called out for.
+ * Use "arm" instead of armel/armhf in DEB_TARGET_GNU_CPU test when deciding
+ whether to enable profiledbootstrap.
+ * Set DEJAGNU_TIMEOUT=600 on Ubuntu armhf as well.
+ * Fix a couple more uses of armel or armhf against DEB_TARGET_GNU_CPU.
+ * Patched a couple of comments mentioning armel to also mention armhf.
+ * Add patch armhf-triplet-backport, support for arm-linux-*eabi* backported
+ from a patch sent on the upstream mailing-list.
+
+ [ Matthias Klose ]
+ * Fix PR target/48226, Allow Iterator::vector vector on powerpc with VSX,
+ taken from the trunk.
+ * Fix PR preprocessor/48192, make conditional macros not defined for
+ #ifdef, proposed patch.
+ * Build the gold LTO plugin for ppc64 (Hiroyuki Yamamoto). Closes: #618864.
+ * Fix issue with volatile bitfields, default to -fstrict-volatile-bitfields
+ again on armel for Linaro builds. LP: #675347.
+
+ -- Matthias Klose <doko@debian.org> Wed, 23 Mar 2011 15:44:01 +0100
+
+gcc-4.5 (4.5.2-6) unstable; urgency=low
+
+ * Update to SVN 20110312 (r170895) from the gcc-4_5-branch.
+ - Fix PR tree-optimization/45967, PR tree-optimization/47278,
+ PR target/47862, PR c++/44629, PR c++/45651, PR c++/47289, PR c++/47705,
+ PR c++/47488, PR libgfortran/47778, PR c++/48029.
+
+ [ Steve Langasek ]
+ * Make sure our libs Pre-Depend on 'multiarch-support' when building for
+ multiarch.
+ * debian/patches/gcc-multiarch*, debian/rules.patch: use i386 in the
+ multiarch path for amd64 / kfreebsd-amd64, not i486 or i686. This lets
+ us use a common set of paths on both Debian and Ubuntu, regardless of
+ the target default optimization level.
+ * debian/rules.conf: when building for multiarch, we need to be sure we
+ are building against a libc-dev that supports the corresponding paths.
+ (the referenced version number for this needs to be bumped once this is
+ officially in the archive.)
+
+ [ Matthias Klose ]
+ * Don't run the libmudflap testsuite on hppa; times out on the buildd.
+ * Don't run the libstdc++ testsuite on mipsel; times out on the buildd.
+ * Post Linaro 4.5-2011.03-0 release changes (up to 20110313).
+ * Undefine LINK_EH_SPEC before redefining it to turn off warnings on
+ powerpc.
+ * Update gmp (build) dependencies.
+
+ [ Aurelien Jarno ]
+ * Add symbol files on kfreebsd-i386.
+ * Add symbol files on kfreebsd-amd64.
+ * Add symbol files on sparc64.
+ * Add symbol files on sh4.
+
+ -- Matthias Klose <doko@debian.org> Sun, 13 Mar 2011 17:30:48 +0100
+
+gcc-4.5 (4.5.2-5) unstable; urgency=low
+
+ * Update to SVN 20110305 (r170696) from the gcc-4_5-branch.
+ - Fix PR target/43810, PR fortran/47886, PR tree-optimization/47615,
+ PR middle-end/47639, PR tree-optimization/47890, PR libfortran/47830,
+ PR tree-optimization/46723, PR target/45261, PR target/45808,
+ PR c++/46159, PR c++/47904, PR fortran/47886, PR libstdc++/47433,
+ PR target/42240, PR fortran/47878, PR libfortran/47694.
+ * Update the Linaro support to the 4.5-2011.03-0 release.
+ - Fix LP: #705689, LP: #695302, LP: #710652, LP: #710623, LP: #721021,
+ LP: #721021, LP: #709453.
+
+ -- Matthias Klose <doko@debian.org> Sun, 06 Mar 2011 02:58:01 +0100
+
+gcc-4.5 (4.5.2-4) unstable; urgency=low
+
+ * Update to SVN 20110222 (r170382) from the gcc-4_5-branch.
+ - Fix PR target/43653, PR fortran/47775, PR target/47840,
+ PR libfortran/47830.
+
+ [ Matthias Klose ]
+ * Don't apply a patch twice.
+ * Build libgcc_s with -fno-stack-protector, when not building from the
+ Linaro branch.
+ * Backport proposed fix for PR tree-optimization/46723 from the trunk.
+
+ [ Steve Langasek ]
+ * debian/control.m4: add missing Multi-Arch: same for libgcc4; make sure
+ Multi-Arch: same doesn't get set for libmudflap when building an
+ Architecture: all cross-compiler package.
+ * debian/rules2: use $libdir for libiberty.a.
+ * debian/patches/gcc-multiarch-*.diff: make sure we're using the same
+ set_multiarch_path definition for all variants.
+
+ [ Sebastian Andrzej Siewior ]
+ * PR target/44364
+ * Remove -many on powerpcspe (__SPE__)
+ * Remove classic FPU opcodes from libgcc if target has no support for them
+ (powerpcspe)
+
+ -- Matthias Klose <doko@debian.org> Wed, 23 Feb 2011 00:35:54 +0100
+
+gcc-4.5 (4.5.2-3) experimental; urgency=low
+
+ * Update to SVN 20110215 (r170181) from the gcc-4_5-branch.
+ - Fix PR rtl-optimization/44469, PR tree-optimization/47411,
+ PR bootstrap/44699, PR target/44392, PR fortran/47331, PR fortran/47448,
+ PR pch/14940, PR rtl-optimization/47166, PR target/47272, PR target/47580,
+ PR tree-optimization/47541, PR target/44606, PR boehm-gc/34544,
+ PR fortran/47569, PR libstdc++/47709, PR libstdc++/46914, PR libffi/46661.
+ * Update the Linaro support to the 4.5 2011.02-0 release.
+ * Pass --no-add-needed by default to the linker. See
+ http://wiki.debian.org/ToolChain/DSOLinking, section "Not resolving symbols
+ in indirect dependent shared libraries" for more information.
+
+ -- Matthias Klose <doko@debian.org> Wed, 16 Feb 2011 15:29:26 +0100
+
+gcc-4.5 (4.5.2-2) experimental; urgency=low
+
+ * Update to SVN 20110123 (r169142) from the gcc-4_5-branch.
+ - Fix PR target/46915, PR target/46729, PR libgcj/46774, PR target/47038,
+ PR target/46685, PR target/45447, PR tree-optimization/46758,
+ PR tree-optimization/45552, PR tree-optimization/43023,
+ PR middle-end/46734, PR fortran/45338, PR preprocessor/39213,
+ PR target/43309, PR fortran/46874, PR tree-optimization/47286,
+ PR tree-optimization/44592, PR target/47201, PR c/47150, PR target/46880,
+ PR middle-end/45852, PR tree-optimization/43655, PR debug/46893,
+ PR rtl-optimization/46804, PR rtl-optimization/46865, PR target/41082,
+ PR tree-optimization/46864, PR fortran/45777, PR tree-optimization/47365,
+ PR tree-optimization/47167, PR target/47318, PR target/46655,
+ PR fortran/47394, PR libstdc++/47354.
+
+ [ Matthias Klose ]
+ * Update the Linaro support to the 4.5 2011.01-1 release.
+ * Don't build packages now built from the gcc-4.6 package for architectures
+ with a sucessful gcc-4.6 build.
+
+ [ Kees Cook ]
+ * debian/patches/gcc-default-ssp.patch: do not ignore -fstack-protector-all
+ (LP: #691722).
+
+ [ Marcin Juszkiewicz ]
+ * Fix biarch/triarch cross builds.
+ - dpkg-shlibdeps failed to find libraries for 64 or n32 builds
+ - LD_LIBRARY_PATH for dpkg-shlibdeps lacked host dirs.
+
+ -- Matthias Klose <doko@debian.org> Sun, 23 Jan 2011 11:54:52 +0100
+
+gcc-4.5 (4.5.2-1) experimental; urgency=low
+
+ * GCC 4.5.2 release.
+
+ -- Matthias Klose <doko@debian.org> Sat, 18 Dec 2010 14:14:38 +0100
+
+gcc-4.5 (4.5.1-12) experimental; urgency=low
+
+ * Update to SVN 20101129 (r167272) from the gcc-4_5-branch.
+ - Fix PR fortran/45742, PR tree-optimization/46498, PR target/45807,
+ PR target/44266, PR rtl-optimization/46315, PR tree-optimization/44545,
+ PR tree-optimization/46491, PR rtl-optimization/46571, PR target/31100,
+ PR c/46547, PR fortran/46638, PR tree-optimization/46675, PR debug/46258,
+ PR ada/40777.
+
+ [ Matthias Klose ]
+ * Use lib instead of lib64 as the 64bit system dir on biarch
+ architectures defaulting to 64bit. Closes: #603597.
+ * Fix powerpc and s390 builds when biarch is disabled.
+ * Backport PR bootstrap/44768, miscompilation of dpkg on ARM
+ with -O2 (Chung-Lin Tang). LP: #674146.
+ * Update libgcc2 symbols file. Closes: #602099.
+
+ [ Marcin Juszkiewicz ]
+ * Do not depend on target mpfr and zlib -dev packages for cross builds.
+ LP: #676027.
+
+ [ Konstantinos Margaritis ]
+ * Add support for new target architecture `armhf'. Closes: #603948.
+
+ -- Matthias Klose <doko@debian.org> Mon, 22 Nov 2010 08:12:08 +0100
+
+gcc-4.5 (4.5.1-11) experimental; urgency=low
+
+ * Update to SVN 20101114 (r166728) from the gcc-4_5-branch.
+ - Fix PR fortran/45742.
+ * Don't hardcode debian/patches when referencing patches. Closes: #600502.
+
+ -- Matthias Klose <doko@debian.org> Sun, 14 Nov 2010 08:36:27 +0100
+
+gcc-4.5 (4.5.1-10) experimental; urgency=low
+
+ * Update to SVN 20101112 (r166653) from the gcc-4_5-branch.
+ - Fix PR rtl-optimization/44691, PR tree-optimization/46355,
+ PR tree-optimization/46177, PR c/44772, PR tree-optimization/46099,
+ PR middle-end/43690, PR tree-optimization/46165, PR middle-end/46419,
+ PR tree-optimization/46107, PR tree-optimization/45314, PR debug/45939,
+ PR rtl-optimization/46237, PR middle-end/44569, PR middle-end/44569,
+ PR tree-optimization/45902, PR target/46153, PR rtl-optimization/46226,
+ PR tree-optimization/46167, PR target/46098, PR target/45946,
+ PR fortran/42169, PR middle-end/46019, PR c/45969, PR c++/45894,
+ PR c++/46160, PR c++/45983, PR fortran/46152, PR fortran/46140,
+ PR libstdc++/45999, PR libgfortran/46373, PR libgfortran/46010,
+ PR fortran/46007, PR c++/46024.
+ * Update the Linaro support to the 4.5 2010.11 release.
+ * Update gcc-4.5 source dependencies. Closes: #600503.
+ * ARM: Fix Thumb-1 reload ICE with nested functions (Julian Brown),
+ taken from the trunk.
+ * Fix earlyclobbers on some arm.md DImode shifts (may miscompile "x >> 1"),
+ taken from the trunk. Closes: #600888.
+
+ -- Matthias Klose <doko@debian.org> Fri, 12 Nov 2010 18:34:47 +0100
+
+gcc-4.5 (4.5.1-9) experimental; urgency=low
+
+ * Update to SVN 20101014 (r165474) from the gcc-4_5-branch.
+ - Fix PR target/45820, PR tree-optimization/45854, PR target/45843,
+ PR target/43764, PR rtl-optimization/43358, PR bootstrap/44621,
+ PR libffi/45677, PR middle-end/45869, PR middle-end/45569,
+ PR tree-optimization/45752, PR fortran/45748, PR libstdc++/45403,
+ PR libstdc++/45924, PR libfortran/45710, PR bootstrap/44455,
+ PR java/43839, PR debug/45656, PR debug/44832, PR libstdc++/45711,
+ PR tree-optimization/45982.
+
+ [ Matthias Klose ]
+ * Update the Linaro support to the 4.5 2010.10 release.
+ * Just try to build java on mips/mipsel (was disabled in 4.5.0-9, when
+ java was built from the same source package). Addresses: #599976.
+ * Remove the gpc packaging support.
+ * Fix libmudflap.so symlink. Addresses: #600161.
+ * Fix pch test failures with heap randomization on armel (PR pch/45979).
+
+ [ Kees Cook ]
+ * Don't enable -fstack-protector with -ffreestanding.
+
+ -- Matthias Klose <doko@debian.org> Thu, 14 Oct 2010 19:17:41 +0200
+
+gcc-4.5 (4.5.1-8) experimental; urgency=low
+
+ * Update to SVN 20100925 (r164618) from the gcc-4_5-branch.
+ - Fix PR middle-end/44763, PR java/44095, PR target/35664,
+ PR rtl-optimization/41085, PR rtl-optimization/45051,
+ PR target/45694, PR middle-end/45678, PR middle-end/45678,
+ PR middle-end/45704, PR rtl-optimization/45728, PR libfortran/45532,
+ PR rtl-optimization/45695, PR rtl-optimization/42775, PR target/45726,
+ PR tree-optimization/45623, PR tree-optimization/45709, PR debug/43628,
+ PR tree-optimization/45709, PR rtl-optimization/45593, PR fortran/45081,
+ * Find 32bit system libraries on sparc64, s390x.
+ * Remove README.Debian from the source package to avoid confusion for
+ readers of the packaging.
+ * Don't include info files and man pages in hppa64 and spu builds.
+ Closes: #597435.
+ * Apply proposed patch for PR mudflap/24619 (instrumentation of dlopen)
+ (Brian M. Carlson) Closes: #507514.
+
+ -- Matthias Klose <doko@debian.org> Sat, 25 Sep 2010 14:11:39 +0200
+
+gcc-4.5 (4.5.1-7) experimental; urgency=low
+
+ * Update to SVN 20100914 (r164279) from the gcc-4_5-branch.
+ - Fix PR target/40959, PR middle-end/45567, PR debug/45660,
+ PR rtl-optimization/41087, PR rtl-optimization/44919, PR target/36502,
+ PR target/42313, PR target/44651.
+ * Add support to build from the Linaro 4.5 2010.09 release.
+ * gcc-4.5-plugin-dev: Install config/arm/arm-cores.def.
+ * Remove non-existing URL's in README.c++ (Osamu Aoki). Closes: #596406.
+ * Don't provide c++abi2-dev for g++ cross builds.
+ * Don't pass -mimplicit-it=thumb if -mthumb to as on ARM, rejected upstream.
+
+ -- Matthias Klose <doko@debian.org> Tue, 14 Sep 2010 12:52:34 +0200
+
+gcc-4.5 (4.5.1-6) experimental; urgency=low
+
+ * Update to SVN 20100909 (r164132) from the gcc-4_5-branch.
+ - Fix PR middle-end/45312, PR bootstrap/43847, PR middle-end/44554,
+ PR middle-end/40386, PR other/45443, PR c++/45200, PR c++/45293,
+ PR c++/45558, PR fortran/45595, PR fortran/45530, PR fortran/45489,
+ PR fortran/45019, PR libstdc++/45398.
+
+ [ Matthias Klose ]
+ * Tighten binutils dependencies to 2.20.1-14.
+
+ [ Marcin Juszkiewicz ]
+ * Fix the gcc-4.5-plugin-dev package name for cross builds. LP: #631474.
+ * Build the gcc-4.5-plugin-dev for stage1 cross builds.
+ * Fix priorities and sections for some cross packages.
+
+ [ Al Viro ]
+ * Fix installation of libgcc_s.so as a linker script for biarch builds.
+
+ [ Kees Cook ]
+ * Push glibc stack traces into stderr when building the package.
+ * debian/patches/gcc-default-ssp.patch: Lower ssp-buffer-size to 4.
+
+ -- Matthias Klose <doko@debian.org> Fri, 10 Sep 2010 21:25:37 +0200
+
+gcc-4.5 (4.5.1-5) experimental; urgency=low
+
+ * Always add dependencies on multilib library packages in *-multilib
+ packages.
+ * Fix installation of libgcc_s.so on architectures when libgcc_s.so is
+ a linker script, not a symlink (Steve Langasek). Closes: #595474.
+ * Remove the lib32gcc1 preinst script. Closes: #595495.
+
+ -- Matthias Klose <doko@debian.org> Sat, 04 Sep 2010 12:41:40 +0200
+
+gcc-4.5 (4.5.1-4) experimental; urgency=low
+
+ * Update to SVN 20100903 (r163833) from the gcc-4_5-branch.
+ - Fix PR target/45070, PR middle-end/45458, PR rtl-optimization/45353,
+ PR middle-end/45423, PR c/45079, PR tree-optimization/45393,
+ PR c++/44991, PR middle-end/45484, PR debug/45500, PR lto/45496.
+
+ [ Matthias Klose ]
+ * Install config/vxworks-dummy.h in the gcc-4.5-plugin-dev package
+ on armel, mipsel and sparc64 too.
+ * Cleanup packaging files in gcc-source package.
+ * [ARM] Provide __builtin_expect() hints in linux-atomic.c (backport).
+
+ [ Al Viro ]
+ * Fix builds with disabled biarch library packages.
+ * New variables {usr_lib,gcc_lib_dir,libgcc_dir}{,32,64,n32}, and switch
+ to using them in rules.d/*; as the result, most of the explicit pathnames
+ in there are gone _and_ we get uniformity across different flavours.
+ * New variables {usr_lib,gcc_lib_dir,libgcc_dir}{,32,64,n32}, and switch
+ to using them in rules.d/*; as the result, most of the explicit pathnames
+ in there are gone _and_ we get uniformity across different flavours.
+ * Merge bi-/tri-arch stuff in binary-gcc.mk.
+ * Merge rules for libgcc biarch variants.
+ * Merge rules for libstdc++ biarch variants. Fix n32 variant of
+ libstdc++-dbg removing _pic.a from the wrong place.
+ * Merge libgfortran rules.
+ * Merge rules for cxx-multi and objc-multi packages.
+ * Enable gcc-hppa64 in cross-gcc-to-hppa build.
+
+ [ Marcin Juszkiewicz ]
+ * Create libgcc1 and gcc-*-base packages for stage2 cross builds.
+ LP: #628855.
+
+ -- Matthias Klose <doko@debian.org> Fri, 03 Sep 2010 18:09:40 +0200
+
+gcc-4.5 (4.5.1-3) experimental; urgency=low
+
+ * Update to SVN 20100829 (r163627) from the gcc-4_5-branch.
+ - Fix PR target/45327, PR middle-end/45292, PR fortran/45344,
+ PR target/41484, PR rtl-optimization/44858, PR rtl-optimization/45400,
+ PR tree-optimization/45260, PR c++/45315.
+
+ [ Matthias Klose ]
+ * Don't run the libstdc++ testsuite on armel on the buildds.
+ * Integrate and extend bi/tri-arch cross builds patches.
+ * Fix dependencies for mips* triarch library packages depend on *both* lib64*
+ and libn32* packages. Closes: #594540.
+ * Tighten binutils dependencies to 2.20.1-13.
+ * Update LAST_UPDATED file when applying upstream updates.
+
+ [ Al Viro ]
+ * Bi/tri-arch cross builds patches.
+ * Fix installation paths in bi/tri-arch libobjc and libmudflap packages.
+ * Merge rules for all flavours of libgomp, libmudflap, libobjc.
+ * Crossbuild fix for lib32gomp (use $(PFL)/lib32 instead of $(lib32)).
+ * gcc-4.5: libgcc_s.so.1 symlink creation on cross-builds.
+ * Enable gcc-multilib for cross-builds and fix what needs fixing.
+ * Enable g++-multilib for cross-builds, fix pathnames.
+ * Enable gobjc/gobjc++ multilib for cross-builds, fixes.
+ * Enable gfortran multilib for cross-builds, fix paths.
+ * Multilib dependency fixes for cross-builds.
+
+ -- Matthias Klose <doko@debian.org> Sun, 29 Aug 2010 18:24:37 +0200
+
+gcc-4.5 (4.5.1-2) experimental; urgency=low
+
+ * Update to SVN 20100818 (r163323) from the gcc-4_5-branch.
+ - Fix PR target/41089, PR tree-optimization/44914, PR c++/45112,
+ PR fortran/44929, PR middle-end/45262, PR debug/45259, PR debug/45055,
+ PR target/44805, PR middle-end/45034, PR tree-optimization/45109,
+ PR target/44942, PR fortran/31588, PR fortran/43954, PR fortran/44660,
+ PR fortran/42051, PR fortran/44064, PR fortran/45151, PR libstdc++/44963,
+ PR tree-optimization/45241, PR middle-end/44632 (closes: #585925),
+ PR libstdc++/45283, PR target/45296.
+
+ [ Matthias Klose ]
+ * Allow overwriting of the PF macro used in the build from the environment
+ (Jim Heck). Closes: #588381.
+ * Fix libc-dbg build dependency for java enabled builds. Addresses: #591424.
+ * gcj: Align data in .rodata.jutf8.* sections, patch taken from the trunk.
+ * Configure with --enable-checking+release. LP: #612822.
+ * Add the complete packaging to the -source package. LP: #608650.
+ * Drop the gcc-ix86-asm-generic32.diff patch.
+ * Tighten (build-) dependency on cloog-ppl (>= 0.15.9-2).
+ * Apply proposed patch for PR middle-end/45292.
+ * Re-enable running the libstdc++ testsuite on armel and ia64 on the buildds.
+
+ [ Steve Langasek ]
+ * s,/lib/,/$(libdir)/, throughout debian/rules*; a no-op in the current
+ case, but required for us to find the libraries when building for
+ multiarch
+ * Don't append multiarch paths to any multilib paths except for the default;
+ our biarch (multilib) builds need to remain independent of multiarch in
+ the near term, so we want to make sure we can find /usr/lib32 without
+ /usr/lib/i486-linux-gnu being available.
+ * debian/control.m4, debian/rules.conf: conditionally set packages to be
+ Multi-Arch: yes when MULTIARCH is defined.
+
+ [ Marcin Juszkiewicz ]
+ * Allow building intermediate stages for cross builds. LP: #603497.
+
+ -- Matthias Klose <doko@debian.org> Wed, 18 Aug 2010 07:00:12 +0200
+
+gcc-4.5 (4.5.1-1) experimental; urgency=low
+
+ * GCC-4.5.1 release.
+ * Update to SVN 20100731 (r162781) from the gcc-4_5-branch.
+ - Fix PR tree-optimization/45052, PR target/43698.
+ * Apply proposed fixes for PR c++/45112, PR c/45079.
+ * Install config/vxworks-dummy.h in the gcc-4.5-plugin-dev package
+ on armel, mips, mipsel, sh4, sparc, sparc64. Closes: #590054.
+ * Link executables statically when `static' is passed in DEB_BUILD_OPTIONS
+ (Jim Heck). Closes: #590102.
+ * Stop building java packages from the gcc-4.5 source package.
+
+ -- Matthias Klose <doko@debian.org> Sat, 31 Jul 2010 16:30:20 +0200
+
+gcc-4.5 (4.5.0-10) experimental; urgency=low
+
+ * Update to SVN 20100725 (r162508) from the gcc-4_5-branch.
+ - Fix PR tree-optimization/45047, PR c++/43016, PR c++/45008.
+ * Disable building gcj/libjava on mips/mipsel (fails to link libgcj).
+ * Update libstdc++6 symbols files.
+
+ -- Matthias Klose <doko@debian.org> Sun, 25 Jul 2010 16:39:11 +0200
+
+gcc-4.5 (4.5.0-9) experimental; urgency=low
+
+ * Update to SVN 20100723 (r162448) from the gcc-4_5-branch (post
+ GCC-4.5.1 release candidate 1).
+ - Fix PR debug/45015, PR target/44942, PR tree-optimization/44900,
+ PR tree-optimization/44977, PR c++/44996, PR fortran/44929,
+ PR fortran/30668, PR fortran/31346, PR fortran/34260,
+ PR fortran/40011.
+
+ [ Marcin Juszkiewicz ]
+ * Fix dependencies on cross library packages.
+ * Copy all debian/rules* files to the -source package.
+
+ [ Matthias Klose ]
+ * Fix versioned build dependency on gcc-4.x-source package for cross builds.
+ LP: #609060.
+ * Set Vcs attributes in control file.
+
+ -- Matthias Klose <doko@debian.org> Fri, 23 Jul 2010 13:08:07 +0200
+
+gcc-4.5 (4.5.0-8) experimental; urgency=low
+
+ * Update to SVN 20100718 (r161892) from the gcc-4_5-branch.
+ - Fixes: PR target/44531, PR bootstrap/44820, PR target/44597,
+ PR target/44705, PR middle-end/44777, PR debug/44694, PR c++/44039,
+ PR tree-optimization/43801, PR target/44575, PR debug/44104,
+ PR middle-end/44671, PR middle-end/44686, PR tree-optimization/44357,
+ PR debug/44694, PR middle-end/43866, PR debug/42278, PR c++/44059,
+ PR tree-optimization/43905, PR middle-end/44133, PR tree-optimize/44063,
+ PR tree-optimization/44683, PR rtl-optimization/43332, PR debug/44610,
+ PR middle-end/44684, PR tree-optimization/44393, PR middle-end/44674,
+ PR c++/44628, PR c++/44587, PR fortran/44582, PR fortran/43841,
+ PR fortran/43843, PR libstdc++/44708, PR tree-optimization/44886,
+ PR target/43888, PR tree-optimization/44284, PR middle-end/44828,
+ PR middle-end/41355, PR c++/44703, PR ada/43731, PR fortran/44773,
+ PR fortran/44847.
+
+ [ Marcin Juszkiewicz ]
+ * debian/rules2: Merge rules.d includes.
+ * Properly -name -dbg packages for cross builds.
+ * Various cross build fixes.
+ * Build libmudflap packages for cross builds.
+ * Fix generation of maintainer scripts for cross packages.
+ * Build a gcc-base package for cross builds.
+
+ [ Kees Cook ]
+ * Fix additional libstdc++ testsuite failures for hardening defaults.
+
+ [ Samuel Thibault ]
+ * Update hurd patch for 4.5, fixing build failure. Closes: #584819.
+
+ [ Matthias Klose ]
+ * gcc-arm-implicit-it.diff: Only pass -mimplicit-it=thumb when in
+ thumb mode (Andrew Stubbs).
+
+ -- Matthias Klose <doko@debian.org> Sun, 18 Jul 2010 10:53:51 +0200
+
+gcc-4.5 (4.5.0-7) experimental; urgency=low
+
+ * Update to SVN 20100625 (r161383) from the gcc-4_5-branch.
+ - Fixes: PR bootstrap/44426, PR target/44546, PR target/44261,
+ PR target/43740, PR libstdc++/44630 (closes: #577458),
+ PR c++/44627 (LP: #503668), PR target/39690, PR target/44615,
+ PR fortran/44556, PR c/44555.
+ - Update libstdc++'s pretty printer for python2.6. Closes: #585202.
+
+ [ Matthias Klose ]
+ * Fix libstdc++ symbols files for powerpc and sparc.
+ * Add maintainer scripts for cross packages.
+
+ [ Samuel Thibault ]
+ * Update hurd patch for 4.5, fixing build failure. Closes: #584454,
+ #584819.
+
+ [ Marcin Juszkiewicz ]
+ * Merge the rules.d/binary-*-cross.mk files into rules.d/binary-*.mk.
+
+ -- Matthias Klose <doko@debian.org> Fri, 25 Jun 2010 15:57:38 +0200
+
+gcc-4.5 (4.5.0-6) experimental; urgency=low
+
+ [ Matthias Klose ]
+
+ * Update to SVN 20100617 (r161901) from the gcc-4_5-branch. Fixes:
+ PR target/44169, PR bootstrap/43170, PR objc/35996, PR objc++/32052,
+ PR objc++/23716, PR lto/44464, PR rtl-optimization/42461, PR fortran/44536,
+ PR tree-optimization/44258, PR tree-optimization/44423, PR target/44534,
+ PR bootstrap/44426, PR tree-optimization/44508, PR tree-optimization/44507,
+ PR lto/42776, PR target/44481, PR debug/41371, PR bootstrap/37304,
+ PR target/44067, PR debug/41371, PR debug/41371, PR target/44075,
+ PR c++/44366, PR c++/44401, PR fortran/44347, PR fortran/44430,
+ PR lto/42776, PR libstdc++/44487, PR other/43838, PR libgcj/44216.
+ * debian/patches/cross-fixes.diff: Update for 4.5 (Marcin Juszkiewicz).
+ * debian/patches/libstdc++-pic.diff: Fix installation for cross builds.
+ * Fix PR bootstrap/43847, --enable-plugin for cross builds.
+ * Export long double versions of "C" math library for arm-linux-gnueabi,
+ m68k-linux-gnu (ColdFire), mips*-linux-gnu (o32 ABI), sh*-linux-gnu
+ (not 32 bit). Merge the libstdc++-*-ldbl-compat.diff patches.
+ * Merge binary-libgcc.mk packaging changes into binary-libgcc-cross.mk
+ (Loic Minier).
+ * Update libgcc and libstdc++ symbols files.
+
+ [ Aurelien Jarno ]
+
+ * libstdc++-mips-ldbl-compat.diff: On MIPS provide the long double
+ versions of "C" math functions in libstdc++ as we need to keep the
+ ABI. Closes: #584610.
+
+ -- Matthias Klose <doko@debian.org> Thu, 17 Jun 2010 14:56:14 +0200
+
+gcc-4.5 (4.5.0-5) experimental; urgency=low
+
+ * Update to SVN 20100602 (r160097) from the gcc-4_5-branch. Fixes:
+ PR target/44338, PR middle-end/44337, PR tree-optimization/44182,
+ PR target/44161, PR c++/44358, PR fortran/44360, PR lto/44385.
+ * Fix PR target/44261, taken from the trunk. Closes: #582787.
+ * Fix passing the expanded -iplugindir option.
+ * Disable broken profiled bootstrap on alpha.
+ * On ix86, pass -mtune=generic32 in 32bit mode to the assembler, when
+ configured for i586-linux-gnu or i686-linux-gnu.
+
+ -- Matthias Klose <doko@debian.org> Thu, 03 Jun 2010 00:44:37 +0200
+
+gcc-4.5 (4.5.0-4) experimental; urgency=low
+
+ * Update to SVN 20100527 (r160047) from the gcc-4_5-branch. Fixes:
+ PR rtl-optimization/44164, PR middle-end/44069, PR target/44199,
+ PR lto/44196, PR target/43733, PR target/44245, PR target/43869,
+ PR debug/44223, PR tree-optimization/44038, PR tree-optimization/43949,
+ PR debug/44205, PR debug/44178, PR bootstrap/43870, PR target/44202,
+ PR target/44074, PR lto/43455, PR lto/42653, PR lto/42425, PR lto/43080,
+ PR lto/43946, PR c++/43382, PR c++/41510, PR c++/44193, PR c++/44157,
+ PR c++/44158, PR lto/44256, PR libstdc++/44190, PR lto/44312,
+ PR target/43636, PR target/43726, PR c++/43555PR libstdc++/40497.
+
+ [ Matthias Klose ]
+
+ * Enable multilibs again on powerpcspe. Closes: #579780.
+ * Fix setting CC for REVERSE_CROSS build (host == target,host != build).
+ Closes: #579779.
+ * Fix setting biarch_cpu macro.
+ * Don't bother with un-normalized paths in .la files, just remove them.
+ * debian/locale-gen: Update locales needed for the libstdc++-v3 testsuite.
+ * If libstdc++6 is built from newer gcc-4.x source, run the libstdc++-v3
+ testsuite against the installed lib too.
+ * Configure with --enable-secureplt on powerpcspe.
+
+ [ Aurelien Jarno ]
+
+ * Fix $(distrelease) on non-official archives. Fix powerpcspe, sh4 and
+ sparc64 builds.
+
+ -- Matthias Klose <doko@debian.org> Sun, 30 May 2010 12:52:02 +0200
+
+gcc-4.5 (4.5.0-3) experimental; urgency=low
+
+ * Update to SVN 20100519 (r159556) from the gcc-4_5-branch. Fixes:
+ PR c++/43704, PR fortran/43339, PR middle-end/43337, PR target/43635,
+ PR tree-optimization/43783, PR tree-optimization/43796, PR middle-end/43570,
+ PR libgomp/43706, PR libgomp/43569, PR middle-end/43835, PR c/43893,
+ PR tree-optimization/43572, PR tree-optimization/43845, PR libgcj/40860,
+ PR target/43744, PR debug/43370, PR c++/43880, PR middle-end/43671,
+ PR debug/43972, PR target/43921, PR c++/38064, PR c++/43953,
+ PR fortran/43985, PR fortran/43592, PR fortran/40539, PR c++/43787,
+ PR middle-end/44085, PR middle-end/44071, PR middle-end/43812,
+ PR debug/44028, PR rtl-optimization/44012, PR target/44046,
+ PR documentation/44016, PR fortran/44036, PR fortran/40728,
+ PR libstdc++/44014, PR lto/44184, PR bootstrap/42347, PR middle-end/44102,
+ PR c++/44127, PR debug/44136, PR target/44088, PR tree-optimization/44124,
+ PR fortran/43591, PR fortran/44135, PR libstdc++/43259.
+
+ [ Matthias Klose ]
+ * Revert gcj-arm-no-merge-exidx-entries patch, fixed by PR libgcj/40860.
+ * Don't run the libstdc++-v3 testsuite on the ia64 buildds. Timeouts.
+ * Backport two libjava fixes from the trunk to run josm with gcj.
+ * Ubuntu only:
+ - Pass --hash-style=gnu instead of --hash-style=both to the linker.
+ * Preliminary architecture port for powerpcspe (Kyle Moffett).
+ Closes: #579780.
+ * Update configury to be able to target i686 instead of i486 on i386.
+
+ [ Aurelien Jarno]
+ * Don't link with --hash-style=both on mips/mipsel as GNU hash is not
+ compatible with the MIPS ABI.
+ * Default to -mplt on mips(el), -march=mips2 and -mtune=mips32 on 32-bit
+ mips(el), -march=mips3 and -mtune=mips64 on 64-bit mips(el).
+
+ -- Matthias Klose <doko@debian.org> Wed, 19 May 2010 09:48:20 +0200
+
+gcc-4.5 (4.5.0-2) experimental; urgency=low
+
+ * Update to SVN 20100419 from the gcc-4_5-branch.
+ - Fix PR tree-optimization/43627, c++/43641, PR c++/43621, PR c++/43611,
+ PR fortran/31538, PR fortran/30073, PR target/43662,
+ PR tree-optimization/43572, PR tree-optimization/43771.
+ * Install the linker plugin.
+ * Search the linker plugin as a readable, not an executable file.
+ * Link with --hash-style=both on mips/mipsel.
+ * On mips, pass -mfix-loongson2f-nop to as, if -mno-fix-loongson2f-nop
+ is not passed.
+ * Sequel to PR40521, fix -g to generate .eh_frame on ARM.
+ * On ARM, let gcj pass --no-merge-exidx-entries to the linker.
+ * Build-depend/depend on binutils snapshot.
+ * Update NEWS.html and NEWS.gcc.
+
+ -- Matthias Klose <doko@debian.org> Mon, 19 Apr 2010 15:22:55 +0200
+
+gcc-4.5 (4.5.0-1) experimental; urgency=low
+
+ * GCC 4.5.0 release.
+ * Always apply biarch patches.
+ * Build the lto-linker plugin again. Closes: #575448.
+ * Run the libstdc++v3 testsuite on armel again.
+ * Fix --enable-libstdcxx-time documentation, show configure result.
+ * On linux targets always pass --no-add-needed to the linker.
+ * Update the patch to search for plugins in a default plugin directory.
+ * Fix java installations in snapshot builds.
+ * Configure --with-plugin-ld=ld.gold.
+ * Linker selection: ld is used by default, to use the gold linker,
+ pass -fuse-linker-plugin (no other side effects if -flto/-fwhopr
+ is not passed). To force ld.bfd or ld.gold, pass -B/usr/lib/compat-ld
+ for ld.bfd or /usr/lib/gold-ld for ld.gold.
+ * Don't apply the gold-and-ld patch for now.
+ * Stop building the documentation for dfsg compliant builds. Closes: #571759.
+
+ -- Matthias Klose <doko@debian.org> Wed, 14 Apr 2010 13:29:20 +0200
+
+gcc-4.5 (4.5-20100404-1) experimental; urgency=low
+
+ * Update to SVN 20100404 from the trunk.
+ * Fix build failures building cross compilers configure --with-ld.
+ * lib32gcc1: Set priority to `extra'.
+ * Apply proposed patch to search for plugins in a default plugin directory.
+ * In snapshot builds, use for javac/ecj1 the jvm provided by the package.
+ * libstdc++-arm-ldbl-compat.diff: On ARM provide the long double versions
+ of "C" math functions in libstdc++; these are dropped when built
+ against glibc-2.11.
+
+ -- Matthias Klose <doko@debian.org> Sun, 04 Apr 2010 15:51:25 +0200
+
+gcc-4.5 (4.5-20100321-1) experimental; urgency=low
+
+ * Update to SVN 20100321 from the trunk.
+ * gcj-4.5-jre-headless: Stop providing java-virtual-machine.
+ * gcj-4.5-plugin-dev: Don't suggest mudflap packages.
+ * Apply proposed patch to enable both gold and ld in a single toolchain.
+ New option -fuse-ld=ld.bfd, -fuse-ld=gold.
+
+ -- Matthias Klose <doko@debian.org> Sun, 21 Mar 2010 11:45:48 +0100
+
+gcc-4.5 (4.5-20100227-1) experimental; urgency=low
+
+ * Update to SVN 20100227 from the trunk.
+ * Don't run the libstdc++-v3 testsuite on arm*-*-linux-gnueabi, when
+ defaulting to thumb mode (Timeouts on the Ubuntu buildd).
+
+ -- Matthias Klose <doko@debian.org> Sat, 27 Feb 2010 08:29:55 +0100
+
+gcc-4.5 (4.5-20100222-1) experimental; urgency=low
+
+ * Update to SVN 20100222 from the trunk.
+ - Install additional header files needed by plugins. Closes: #562881.
+ * gcc-4.5-plugin-dev: Should depend on libgmp3-dev. Closes: #566366.
+ * Update libstdc++6 symbols files.
+
+ -- Matthias Klose <doko@debian.org> Tue, 23 Feb 2010 02:16:22 +0100
+
+gcc-4.5 (4.5-20100216-0ubuntu1~ppa1) lucid; urgency=low
+
+ * Update to SVN 20100216 from the trunk.
+ * Don't call dh_makeshlibs with -V for shared libraries with
+ symbol files.
+ * Don't run the libstdc++-v3 testsuite in thumb mode on armel
+ to work around buildd timeout (see PR target/42509).
+
+ -- Matthias Klose <doko@ubuntu.com> Wed, 17 Feb 2010 02:06:02 +0100
+
+gcc-4.5 (4.5-20100204-1) experimental; urgency=low
+
+ * Update to SVN 20100204 from the trunk.
+
+ -- Matthias Klose <doko@debian.org> Thu, 04 Feb 2010 19:44:19 +0100
+
+gcc-4.5 (4.5-20100202-1) experimental; urgency=low
+
+ * Update to SVN 20100202 from the trunk.
+ - gcc-stack_chk_fail-check.diff: Remove, applied upstream.
+ * Update libstdc++6 symbol files.
+ * Build gnat in snapshot builds on arm.
+ * Configure with --enable-checking=yes for snapshot builds, and for
+ 4.5 builds before the release.
+ * Temporary workaround: On arm-linux-gnueabi run the libstdc++v3 testsuite
+ with -Wno-abi.
+ * When building the hppa64 cross compiler, add $(builddir)/gcc to
+ LD_LIBRARY_PATH to find the just built libgcc6. Closes: #565862.
+ * On sh4-linux, use sh as java architecture name instead of sh4.
+ * On armel, build gnat-4.5 using gcc-snapshot.
+ * Revert the bump of the libgcc soversion on hppa (6 -> 4).
+
+ -- Matthias Klose <doko@debian.org> Tue, 02 Feb 2010 19:35:25 +0100
+
+gcc-4.5 (4.5-20100107-1) experimental; urgency=low
+
+ [ Matthias Klose ]
+ * Update to SVN 20100107 from the trunk.
+ * Revert the workaround for the alpha build (PR bootstrap/42511 is fixed).
+ * testsuite-hardening-format.diff: Add a fix for the libstdc++ testsuite.
+ * Build-depend again on autogen.
+ * Work around PR lto/41569 (installation bug when configured with
+ --enabled-gold).
+ * On armel run the testsuite both in arm and thumb mode, when the
+ distribution is supporthing tumb processors.
+ * Work around PR target/42509 (armel), not setting BOOT_CFLAGS, but
+ applying libcpp-arm-workaround.diff.
+
+ [ Nobuhiro Iwamatsu ]
+ * Update gcc-multiarch patch for sh4.
+
+ -- Matthias Klose <doko@debian.org> Thu, 07 Jan 2010 16:34:57 +0100
+
+gcc-4.5 (4.5-20100106-0ubuntu1) lucid; urgency=low
+
+ * Update to SVN 20100106 from the trunk.
+ * gcj-4.5-jdk: Include /usr/lib/jvm-exports.
+ * Rename libgcc symbols file for hppa.
+ * On alpha and armel, set BOOT_CFLAGS to -g -O1 to work around bootstrap
+ failures (see PR target/42509 (armel) and PR bootstrap/42511 (alpha)).
+ * Base the source build-dependency on the package version instead of the
+ gcc version.
+
+ -- Matthias Klose <doko@ubuntu.com> Wed, 06 Jan 2010 14:17:29 +0100
+
+gcc-4.5 (4.5-20100103-1) experimental; urgency=low
+
+ * Update to SVN 20100103 from the trunk.
+
+ [ Samuel Thibault ]
+ * Update hurd patch for 4.5. Closes: #562802.
+
+ [ Aurelien Jarno ]
+ * Remove patches/kbsd-gnu-ada.diff (merged upstream).
+
+ [ Matthias Klose ]
+ * libgcj11: Move .so symlinks into gcj-4.5-jdk. Addresses: #563280.
+ * gcc-snapshot: On sparc64, use gcc-snapshot as bootstrap compiler.
+ * Don't use expect-tcl8.3 on hppa anymore.
+ * Merge gnat-4.4 changes back from 4.4.2-5.
+ * Bump libgcc soversion on hppa (4 -> 6).
+ * Default to v9a (ultrasparc) on sparc*-linux.
+
+ -- Matthias Klose <doko@debian.org> Sun, 03 Jan 2010 17:25:27 +0100
+
+gcc-4.5 (4.5-20091226-1) experimental; urgency=low
+
+ * Update to SVN 20091226 from the trunk.
+ * Fix powerpc spu installation.
+ * Enable multiarch for sh4.
+ * Fix libffi multilib test runs.
+ * Configure the hppa -> hppa64 cross compiler --with-system-zlib.
+ * gcc-4.5-hppa64: Don't ship info dir file.
+ * lib32stdc++6{,-dbg}: Add dependency on 32bit glibc.
+
+ -- Matthias Klose <doko@debian.org> Sat, 26 Dec 2009 15:38:23 +0100
+
+gcc-4.5 (4.5-20091223-1) experimental; urgency=low
+
+ * Update to SVN 20091223 from the trunk.
+
+ [ Matthias Klose ]
+ * Update hardening patches for 4.5.
+ * Don't call install-info directly, depend on dpkg | install-info instead.
+ * Add conflicts with packages built from GCC 4.4 sources.
+ * On ARM, pass --hash-style=both to ld.
+ * Update libgfortran3 symbols file.
+ * Update libstdc++6 symbols file.
+
+ [ Arthur Loiret ]
+ * debian/rules.conf (gen_no_archs): Handle multiple arm ports.
+
+ -- Matthias Klose <doko@debian.org> Wed, 23 Dec 2009 18:02:24 +0100
+
+gcc-4.5 (4.5-20091220-1) experimental; urgency=low
+
+ * Update to SVN 20091220 from the trunk.
+ - Remove patches applied upstream: arm-boehm-gc-locks.diff,
+ arm-gcc-gcse.diff, deb-protoize.diff, gcc-arm-thumb2-sched.diff,
+ gcc-atom-doc.diff, gcc-atom.diff, gcc-build-id.diff,
+ gcc-unwind-debug-hook.diff, gcj-use-atomic-builtins-doc.diff,
+ gcj-use-atomic-builtins.diff, libjava-atomic-builtins-eabi.diff,
+ libjava-nobiarch-check-snap.diff, lp432222.diff, pr25509-doc.diff,
+ pr25509.diff, pr39429.diff, pr40133.diff, pr40134.diff, rev146451.diff,
+ s390-biarch-snap.diff, sh4-scheduling.diff, sh4_atomic_update.diff.
+ - Update patches: gcc-multiarch.diff, gcc-textdomain.diff,
+ libjava-nobiarch-check.diff, libjava-subdir.diff, libstdc++-doclink.diff,
+ libstdc++-man-3cxx.diff, libstdc++-pic.diff, note-gnu-stack.diff,
+ rename-info-files.diff, s390-biarch.diff.
+ * Stop building the protoize package, removed from the GCC 4.5 sources.
+ * gcc-4.5: Install lto1, lto-wrapper, and new header files for intrinsics.
+ * libstdc++6-4.5-dbg: Install the python files for use with gdb.
+ * Build java packages from the gcc-4.5 source package.
+
+ -- Matthias Klose <doko@debian.org> Sun, 20 Dec 2009 10:56:56 +0100
+
+gcc-4.4 (4.4.2-6) unstable; urgency=low
+
+ * Update to SVN 20091220 from the gcc-4_4-branch (r155367).
+ Fix PR c++/42387, PR c++/41183.
+
+ [ Matthias Klose ]
+ * Apply svn-doc-updates.diff for non DFSG builds.
+ * gcc-snapshot:
+ - Remove patches integrated upstream: pr40133.diff. Closes: #561550.
+
+ [ Nobuhiro Iwamatsu ]
+ * Backport linux atomic ops changes for sh4 from the trunk. Closes: #561550.
+ * Backport from trunk: [SH] Not run scheduling before reload as default.
+ Closes: #561429.
+
+ [ Arthur Loiret ]
+ * Apply spu patches independently of the hardening patches; fix build
+ failure on powerpc.
+
+ -- Matthias Klose <doko@debian.org> Sun, 20 Dec 2009 10:20:19 +0100
+
+gcc-4.4 (4.4.2-5) unstable; urgency=low
+
+ * Update to SVN 20091212 from the gcc-4_4-branch (r155122).
+ Revert the fix for PR libstdc++/42261, fix PR fortran/42268,
+ PR target/42263, PR target/42263, PR target/41196, PR target/41939,
+ PR rtl-optimization/41574.
+
+ [ Matthias Klose ]
+ * Regenerate svn-updates.diff.
+ * Disable biarch testsuite runs for libffi (broken and unused).
+ * Support xz compression of source tarballs.
+ * Fix typo in PR libstdc++/40133 to do the link tests.
+ * gcc-snapshot:
+ - Remove patches integrated upstream: pr40134-snap.diff.
+ - Update s390-biarch.diff for trunk.
+
+ [ Aurelien Jarno ]
+ * Add sparc64 support: disable multilib and install the libraries
+ in /lib.
+
+ -- Matthias Klose <doko@debian.org> Sun, 13 Dec 2009 10:28:19 +0100
+
+gcc-4.4 (4.4.2-4) unstable; urgency=low
+
+ * Update to SVN 20091210 from the gcc-4_4-branch (r155122), Fixes:
+ PR target/42165, PR target/42113, PR libgfortran/42090,
+ PR middle-end/42049, PR c++/42234, PR fortran/41278, PR libstdc++/42261,
+ PR libstdc++/42273 PR java/41991.
+
+ [ Matthias Klose ]
+ * gcc-arm-thumb2-sched.diff: Don't restrict reloads to LO_REGS for Thumb-2.
+ * PR target/40134: Don't redefine LIB_SPEC on hppa.
+ * PR target/42263, fix wrong code bugs in SMP support on ARM, backport from
+ the trunk.
+ * Pass -mimplicit-it=thumb to as by default on ARM, when configured
+ --with-mode=thumb.
+ * Fix boehm-gc build on ARM --with-mode=thumb.
+ * ARM: Don't copy uncopyable instructions in gcse.c (backport from trunk).
+ * Build the spu cross compiler for powerpc from the cell-4_4-branch.
+ * gcj: add option -fuse-atomic-builtins (backport from the trunk).
+
+ [ Arthur Loiret ]
+ * Make svn update interdiffs more readable.
+
+ -- Matthias Klose <doko@debian.org> Thu, 10 Dec 2009 04:29:36 +0100
+
+gcc-4.4 (4.4.2-3) unstable; urgency=low
+
+ * Update to SVN 20091118 from the gcc-4_4-branch (r154294).
+ Fix PR PR c++/9381, PR c++/21008, PR c++/35067, PR c++/36912, PR c++/37037,
+ PR c++/37093, PR c++/38699, PR c++/39786, c++/36959, PR c++/41754,
+ PR c++/41876, PR c++/41967, PR c++/41972, PR c++/41994, PR c++/42059,
+ PR c++/42061,
+ PR fortran/41772, PR fortran/41850, PR fortran/41909,
+ PR middle-end/40946, PR middle-end/41317, R tree-optimization/41643,
+ PR target/41900, PR rtl-optimization/41917, PR middle-end/41963,
+ PR middle-end/42029.
+ * Snapshot builds:
+ - Patch updates.
+ - Configure with --disable-browser-plugin.
+ * Configure with --disable-libstdcxx-pch on hppa.
+ * Backport armel patches form the trunk:
+ - Fix PR objc/41848 - workaround ObjC and -fsection-anchors.
+ - Enable scheduling for Thumb-2, including the fix for PR target/42031.
+ - Fix PR target/41939, EABI violation in accessing values below the stack.
+
+ -- Matthias Klose <doko@debian.org> Wed, 18 Nov 2009 08:37:18 -0600
+
+gcc-4.4 (4.4.2-2) unstable; urgency=low
+
+ * Update to SVN 20091031 from the gcc-4_4-branch (r153603).
+ - Fix PR debug/40521, PR target/40913, PR middle-end/22072,
+ PR target/41665, PR c++/38798, PR c++/40092, PR c++/37875,
+ PR c++/37204, PR fortran/41755, PR libstdc++/40654, PR libstdc++/40826,
+ PR target/41702, PR c/41842, PR target/41762, PR c++/40808,
+ PR fortran/41777, PR libstdc++/40852.
+ * Snapshot builds:
+ - Configure with --enable-plugin, disable the gcjwebplugin by a patch.
+ Addresses: #551200.
+ - Proposed patch for PR lto/41652, compile lto-plugin with
+ -D_FILE_OFFSET_BITS=64
+ - Allow disabling the ada build via DEB_BUILD_OPTIONS nolang=ada.
+ * Fixes for reverse cross builds.
+ * On sparc default to v9 in 32bit mode.
+ * Fix __stack_chk_fail check for cross builds configured --with-headers.
+ * Apply some fixes for uClibc cross builds (Jonas Meyer, Hector Oron).
+
+ -- Matthias Klose <doko@debian.org> Sat, 31 Oct 2009 14:16:03 +0100
+
+gcc-4.4 (4.4.2-1) unstable; urgency=low
+
+ * GCC 4.4.2 release.
+ - Fixes PR target/26515, PR target/41680, PR rtl-optimization/41646,
+ PR c++/39863, PR c++/41038.
+ * Fix setting timeout for testsuite runs.
+ * gcj-4.4/gcc-snapshot: Drop build-dependency on libgconf2-dev, disabled
+ by default.
+ * gcj-4.4: Run the libffi testsuite as well.
+ * Add explicit build dependency on zlib1g-dev.
+ * Fix cross builds, add support for gomp and gfortran (only tested for
+ non-biarch targets).
+ * (Build-)depend on binutils-2.20.
+ * Fix up omp.h for multilibs (taken from Fedora).
+
+ -- Matthias Klose <doko@debian.org> Sun, 18 Oct 2009 02:31:32 +0200
+
+gcc-4.4 (4.4.1-6) unstable; urgency=low
+
+ * Snapshot builds:
+ - Add build dependency on libelfg0-dev (>= 0.8.12).
+ - Add build dependency on binutils-gold where available.
+ - Suggest binutils-gold; not perfect, it is required when using
+ -use-linker-plugin.
+ - Work around installation failure in the lto-plugin (PR lto/41569).
+ - Install java home symlinks in /usr/lib/jvm.
+ - Revert the dwarf2cfi_asm workaround, obsoleted by PR debug/40521.
+ * PR debug/40521:
+ - Apply patch for PR debug/40521, taken from the trunk.
+ - Revert the dwarf2cfi_asm workaround, obsoleted by PR debug/40521.
+ - Depend on binutils (>= 2.19.91.20091005).
+ * Update to SVN 20091005 from the gcc-4_4-branch (r152450).
+ - Fixes PR fortran/41479.
+ * In the test summary, add more information about package versions
+ used for the build.
+
+ -- Matthias Klose <doko@debian.org> Wed, 07 Oct 2009 02:12:56 +0200
+
+gcc-4.4 (4.4.1-5) unstable; urgency=medium
+
+ * Update to SVN 20091003 from the gcc-4_4-branch (r152174).
+ - Fixes PR target/22093, PR c/39779, PR libffi/40242, PR target/40473,
+ PR debug/40521, PR c/41049, PR debug/41065, PR ada/41100,
+ PR tree-optimization/41101, PR libgfortran/41328, PR libffi/41443,
+ PR fortran/41515.
+ * Updates for snapshot builds:
+ - Fix build dependency on automake for snapshot builds.
+ - Update patches pr40134-snap and libjava-nobiarch-check-snap.
+ * Fix lintian errors in libstdc++ packages and lintian warnings in the
+ source package.
+ * Add debian/README.source.
+ * Don't apply PR libstdc++/39491 for the trunk anymore.
+ * Install java home symlinks for snapshot builds in /usr/lib/jvm,
+ including javac. Depend on ecj. Addresses #536102.
+ * Fix build failure on armel with -mfloat-abi=softfp.
+ * Don't pessimize the code for newer armv6 and armv7 processors.
+ * libjava: Use atomic builtins For Linux ARM/EABI, backported from the
+ trunk.
+ * Proposed patch to fix wrong-code on powerpc (Alan Modra). LP: #432222.
+ * Link against -ldl instead of -lcloog -lppl. Exit with an error when using
+ the Graphite loop transformation infrastructure without having the
+ libcloog-ppl0 package installed (patch taken from Fedora). Packages
+ using these optimizations should build-depend on libcloog-ppl0.
+ gcc-4.4: Suggest the cloog runtime libraries.
+ * Install a hook _Unwind_DebugHook, called during unwinding. Intended as
+ a hook for a debugger to intercept exceptions. CFA is the CFA of the
+ target frame. HANDLER is the PC to which control will be transferred
+ (patch taken from Fedora).
+
+ -- Matthias Klose <doko@debian.org> Sat, 03 Oct 2009 13:33:05 +0100
+
+gcc-4.4 (4.4.1-4) unstable; urgency=low
+
+ * Update to SVN 20090911 from the gcc-4_4-branch (r151649).
+ - Fixes PR target/34412, PR middle-end/41094, PR target/40718,
+ PR fortran/41062, PR libstdc++/41005, PR target/41184,
+ PR bootstrap/41180, PR c++/41127, PR fortran/41258,
+ PR rtl-optimization/40861, PR target/41315, PR fortran/39876.
+
+ [ Matthias Klose ]
+ * Avoid underscores in doc-base document id's to workaround a
+ dh_installdocs bug.
+ * Update file names for the Ada user's guide.
+ * Set Homepage attribute for packages.
+ * Update the patch for gnat on armel.
+ * gcj-4.4-jdk: Depend on libantlr-java. Addresses: #546062.
+ * Backport patch for PR tree-optimization/41101 from the trunk.
+ Closes: #541816.
+ * Update libstdc++6.symbols for symbols introduced with the fix
+ for PR libstdc++/41005.
+ * Apply proposed patches for PR libstdc++/40133 and PR target/40134.
+ Add symbols exception propagation support in libstdc++ on armel
+ to the libstdc++6 symbols.
+
+ [ Ludovic Brenta]
+ Merge from gnat-4.4 (4.4.1-3) unstable; urgency=low
+ * debian/rules.defs, debian/rules.d/binary-ada.mk, debian/rules.patch:
+ better support for architectures that support only one exception
+ handling mechanism (SJLJ or ZCX).
+
+ -- Matthias Klose <doko@debian.org> Sat, 12 Sep 2009 03:18:17 +0200
+
+gcc-4.4 (4.4.1-3) unstable; urgency=low
+
+ * Update to SVN 20090822 from the gcc-4_4-branch (r151011).
+ - Fixes PR tree-optimization/41016, PR tree-optimization/41011,
+ PR tree-optimization/41008, PR tree-optimization/40991,
+ PR tree-optimization/40964, PR target/8603 (closes: #161432),
+ PR target/41019, PR target/41015, PR target/40957, PR target/40934,
+ PR rtl-optimization/41033, PR middle-end/41047, PR middle-end/41006,
+ PR fortran/41070, PR fortran/40995, PR fortran/40847, PR debug/40990,
+ PR debug/37801, PR c/41046, PR c/40948, PR c/40866, PR bootstrap/41018,
+ PR middle-end/41123,PR target/40971, PR c++/41131, PR fortran/41102,
+ PR libfortran/40962.
+
+ [ Arthur Loiret ]
+ * Only use -fno-stack-protector when known to the stage1 compiler.
+
+ [ Aurelien Jarno ]
+ * lib32* packages: remove the Pre-Depends: libc6-i386 (>= 2.9-18) and
+ upgrade the Conflicts: libc6-i386 from (<< 2.9-18) to (<< 2.9-22).
+ Closes: #537466.
+ * kbsd-gnu-ada.dpatch: add support for kfreebsd-amd64.
+
+ [ Matthias Klose ]
+ * Build gnat on armel, the gnat-4.4 build still failing, gcc-snapshot
+ builds good enough to build itself.
+ * Merge enough of the gnat-4.4 changes back to allow a combined build
+ from the gcc-4.4 source.
+ * Build libgnatprj for armel.
+ * On armel build just one version of the ada run-time library.
+ * Update auto* build dependencies for snapshot builds.
+ * Apply proposed patch for PR target/40718.
+
+ -- Matthias Klose <doko@debian.org> Sun, 23 Aug 2009 11:50:38 +0200
+
+gcc-4.4 (4.4.1-2) unstable; urgency=low
+
+ [ Matthias Klose ]
+ * Update to SVN 20090808 from the gcc-4_4-branch (r150577).
+ - Fixes PR target/40832, PR rtl-optimization/40710,
+ PR tree-optimization/40321, PR build/40010, PR fortran/40727,
+ PR build/40010, PR rtl-optimization/40924, PR c/39902,
+ PR middle-end/40943, PR target/40577, PR c++/39987, PR debug/39706,
+ PR c++/40948, PR c++/40749, PR fortran/40851, PR fortran/40878,
+ PR target/40906.
+ * Bump GCC version required in dependencies to 4.4.1.
+ * Enable Ada for snapshot builds on all archs with a gnat package
+ available in the archive.
+ * Build-depend on binutils 2.19.51.20090805, needed at least for armel.
+
+ [ Aurelien Jarno ]
+ * kbsd-gnu-ada.dpatch: new patch to fix build on GNU/kFreeBSD.
+
+ -- Matthias Klose <doko@ubuntu.com> Sat, 08 Aug 2009 10:17:39 +0200
+
+gcc-4.4 (4.4.1-1) unstable; urgency=low
+
+ * GCC 4.4.1 release.
+ - Fixes PR target/39943, PR tree-optimization/40792, PR c++/40780,
+ PR middle-end/40747, PR libstdc++/40691, PR libfortran/40714,
+ PR tree-optimization/40813 (ICE in OpenJDK build on sparc).
+ * Apply proposed patch for PR target/39429, an ARM wrong-code error.
+ * Fix a typo in the arm back-end (proposed patch).
+ * Build-depend on libmpc-dev for snapshot builds.
+ * Fix build failure in cross builds (Hector Oron). Closes: #522597.
+ * Run the testsuite as part of the build target, not the install target.
+
+ -- Matthias Klose <doko@debian.org> Wed, 22 Jul 2009 13:24:39 +0200
+
+gcc-4.4 (4.4.0-11) unstable; urgency=medium
+
+ [ Matthias Klose ]
+ * Update to SVN 20090715 from the gcc-4_4-branch (r149690).
+ - Corresponds to the 4.4.1 release candidate.
+ - Fixes PR target/38900, PR debug/40666, PR middle-end/40669,
+ PR middle-end/40328, PR target/40587, PR middle-end/40585,
+ PR c++/40566, PR tree-optimization/40542, PR c/39902,
+ PR tree-optimization/40579, PR tree-optimization/40550, PR c++/40684,
+ PR c++/35828, PR c++/37816, PR c++/40639, PR c++/40633, PR c++/40619,
+ PR c++/40595, PR fortran/40440, PR fortran/40551, PR fortran/40638,
+ PR fortran/40443, PR libstdc++/40600, PR rtl-optimization/40667, PR c++/40740,
+ PR c++/36628, PR c++/37206, PR c++/40689, PR c++/40502, PR middle-end/40747.
+ * Backport of PR c/25509, new option -Wno-unused-result. LP: #305176.
+ * gcc-4.4: Depend on libgomp1, even if not building the libgomp1 package.
+ * Add proposed patches for PR libstdc++/40133, PR target/40134; don't apply
+ yet.
+
+ [Emilio Pozuelo Monfort]
+ * Backport build-id support, configure with --enable-linker-build-id.
+
+ -- Matthias Klose <doko@debian.org> Tue, 14 Jul 2009 16:09:33 -0400
+
+gcc-4.4 (4.4.0-10) unstable; urgency=low
+
+ [ Arthur Loiret ]
+ * debian/rules.patch: Record the auto* calls to run them once only.
+
+ [ Matthias Klose ]
+ * Update to SVN 20090627 from the gcc-4_4-branch (r149023).
+ - Fixes PR other/40024.
+ * Fix typo, adding blacklisted symbols to the libgcc1 symbols file on armel.
+ * On mips/mipsel use -O2 in STAGE1_CFLAGS until binutils is updated.
+
+ -- Matthias Klose <doko@debian.org> Sun, 28 Jun 2009 10:13:08 +0200
+
+gcc-4.4 (4.4.0-9) unstable; urgency=high
+
+ * Update to SVN 20090624 from the gcc-4_4-branch (r148821).
+ - Fix PR objc/28050 (LP: #362217), PR libstdc++/40297, PR c++/40342.
+ * Continue the well planned lib32 transition on amd64, adding pre-dependencies
+ on libc6-i386 (>= 2.9-18) on Debian. Closes: #533767.
+ * Enable SSP on arm and armel, run the testsuite with -fstack-protector.
+ LP: #375189.
+ * Fix spu fortran build in gcc-snapshot builds.
+ * Add missing symbols for 64bit libgfortran library.
+ * Update libstdc++ symbol files for sparc 64bit, adding symbols
+ for exception propagation support.
+ * Explicitely add __aeabi symbols to the libgcc1 symbols file on armel.
+ Closes: #533843.
+
+ -- Matthias Klose <doko@debian.org> Wed, 24 Jun 2009 23:46:02 +0200
+
+gcc-4.4 (4.4.0-8) unstable; urgency=medium
+
+ * Let all 32bit libs conflict with libc6-i386 (<< 2.9-17). Closes: #533767.
+ * Update to SVN 20090620 from the gcc-4_4-branch (r148747).
+ - Fixes PR fortran/39800, PR fortran/40402.
+ * Work around tar bug on kfreebsd unpacking java class file updates (#533356).
+
+ -- Matthias Klose <doko@debian.org> Sat, 20 Jun 2009 15:15:22 +0200
+
+gcc-4.4 (4.4.0-7) unstable; urgency=medium
+
+ * Update to SVN 20090618 from the gcc-4_4-branch (r148685).
+ - Fixes PR middle-end/40446, PR middle-end/40389, PR middle-end/40460,
+ PR fortran/40168, PR target/40470.
+ * On amd64, install 32bit libraries into /lib32 and /usr/lib32.
+ * lib32gcc1, lib32gomp1, lib32stdc++6: Conflict with libc6-i386 (= 2.9-15),
+ libc6-i386 (= 2.9-16).
+ * Handle serialver alternative in -jdk install scripts, not in -jre-headless.
+
+ -- Matthias Klose <doko@debian.org> Fri, 19 Jun 2009 01:36:00 +0200
+
+gcc-4.4 (4.4.0-6) unstable; urgency=low
+
+ [ Matthias Klose ]
+ * Update to SVN 20090612 from the gcc-4_4-branch (r148433).
+ - Fixes PR c++/38064, PR c++/40139, PR target/40017, PR target/40266,
+ PR bootstrap/40027, PR tree-optimization/40087, PR target/39856,
+ PR rtl-optimization/40105, PR target/39942, PR middle-end/40204,
+ PR debug/40109, PR tree-optimization/39999, PR libfortran/37754,
+ PR fortran/22423, PR libfortran/39667, PR libfortran/39782,
+ PR libfortran/38668, PR libfortran/39665, PR libfortran/39702,
+ PR libfortran/39709, PR libfortran/39665i, PR libgfortran/39664,
+ PR fortran/38654, PR libfortran/37754, PR libfortran/37754,
+ PR libfortran/25561, PR libfortran/37754, PR middle-end/40291,
+ PR target/40017, PR middle-end/40340, PR c++/40308, PR c++/40311,
+ PR c++/40306, PR c++/40307, PR c++/40370, PR c++/40372, PR c++/40373,
+ PR c++/40381, PR fortran/40019, PR fortran/39893.
+ * gcj-4.4-jdk: Depend on libecj-java-gcj instead of libecj-java.
+ * Let gjdoc --version use the Configuration class instead of
+ version.properties (Alexander Sack). LP: #385682.
+ * Preserve libgcc_s.so linker scripts. Closes: #532263.
+
+ [Ludovic Brenta]
+ * debian/patches/ppc64-ada.dpatch,
+ debian/patches/ada-mips.dpatch,
+ debian/patches/ada-mipsel.dpatch: remove, merged upstream.
+ * debian/patches/*ada*.dpatch:
+ - rename to *.diff;
+ - remove the dpatch prologue shell script
+ - refresh with quilt -p ab and without time stamps
+ - adjust to GCC 4.4
+ * debian/patches/ada-library-project-files-soname.diff,
+ debian/patches/ada-polyorb-dsa.diff,
+ debian/patches/pr39856.diff: new.
+ * debian/rules.patch: adjust accordingly.
+ * debian/rules.defs: re-enable Ada.
+ * debian/rules2: do a lean bootstrap when building Ada.
+ * debian/rules.d/binary-ada.mk: do not build gnatbl or gprmake anymore,
+ removed upstream.
+
+ -- Matthias Klose <doko@debian.org> Fri, 12 Jun 2009 18:34:13 +0200
+
+gcc-4.4 (4.4.0-5) unstable; urgency=medium
+
+ * Update to SVN 20090517 from the gcc-4_4-branch (r147630).
+ - Fixes PR tree-optimization/40062, PR middle-end/39986,
+ PR middle-end/40057, PR fortran/39879, PR libstdc++/40038,
+ PR middle-end/40035, PR target/37179, PR middle-end/39666,
+ PR tree-optimization/40074, PR fortran/40018, PR fortran/38863,
+ PR middle-end/40147, PR fortran/40018, PR target/40153.
+
+ [ Matthias Klose ]
+ * Update libstdc++ symbols files.
+ * Update libgcc, libobjc, libstdc++ symbols files for armel.
+ * Fix version symlink in gcc_lib_dir. Closes: #527837.
+ * Fix symlinks for javac and header files in /usr/lib/jvm.
+ Closes: #528084.
+ * Don't build the stage1 compiler with -O with recent binutils (trunk).
+ * Revert doing link tests to check for the atomic builtins, disabling
+ exception propagation support in libstdc++ on armel. See PR40133, PR40134.
+ * On mips/mipsel don't run the java testsuite with -mabi=64.
+ * Default to armv4 for the gcc-snapshot package as well. Closes: #523936.
+ * Mention GCC trunk in the gcc-snapshot package description. Closes: #526309.
+ * Remove unneed '..' elements from symlinks in JAVA_HOME.
+ * Fix some lintian warnings for gcc-snapshot.
+
+ [ Arthur Loiret ]
+ * Add missing dir separator to multiarch path. Closes: #527537.
+
+ -- Matthias Klose <doko@debian.org> Sun, 17 May 2009 11:15:52 +0200
+
+gcc-4.4 (4.4.0-4) unstable; urgency=medium
+
+ * Update to SVN 20090506 from the gcc-4_4-branch (r147161).
+ - Fixes PR rtl-optimization/39914, PR testsuite/39776,
+ PR tree-optimization/40022, PR libstdc++/39909.
+
+ [ Matthias Klose ]
+ * gcc-4.4-source: Don't depend on gcc-4.4-base, depend on quilt
+ and patchutils.
+ * On armel, link the shared libstdc++ with both -lgcc_s and -lgcc.
+ * Update libgcc and libstdc++ symbol files for mips and mipsel.
+ * Update libstdc++ symbol files for armel and hppa, adding symbols
+ for exception propagation support.
+ * Add ARM EABI symbols to libstdc++ symbol files for armel.
+ * Add libobjc symbols file for armel.
+ * Fix PR libstdc++/40038, missing ceill/tanhl symbols in libstdc++.
+
+ [ Aurelien Jarno ]
+ * Fix libc name for biarch packages on kfreebsd-amd64.
+
+ -- Matthias Klose <doko@debian.org> Wed, 06 May 2009 15:10:36 +0200
+
+gcc-4.4 (4.4.0-3) unstable; urgency=low
+
+ * libstdc++-doc: Install the man pages again.
+ * Fix build configuration for the GC enabled ObjC runtime library.
+ * Fix thinko in autotools_files, resulting in autoconf not run in
+ some cases.
+ * Do link tests to check for the atomic builtins, enables exception
+ propagation support in libstdc++ on armel and hppa.
+
+ -- Matthias Klose <doko@debian.org> Sun, 03 May 2009 23:38:56 +0200
+
+gcc-4.4 (4.4.0-2) unstable; urgency=low
+
+ [ Samuel Thibault ]
+ * Enable java build on the hurd.
+
+ [ Matthias Klose ]
+ * libobjc2.symbols.armel: Remove, use the default one.
+ * Address PR libstdc++/39491, removing __signbitl from the libstdc++6
+ symbols file on hppa.
+ * libstdc++6.symbols.armel: Fix error introduced with copy from the
+ arm symbols file.
+ * libstdc++6.symbols.*: Don't assume exception propagation support
+ enabled for all architectures (although it should on armel, hppa,
+ sparc).
+ * Disable the build of the ObjC garbage collection library on mips*,
+ working around a build failure.
+
+ -- Matthias Klose <doko@debian.org> Sat, 02 May 2009 14:22:35 +0200
+
+gcc-4.4 (4.4.0-1) unstable; urgency=low
+
+ [ Matthias Klose ]
+ * Update to SVN 20090429 from the gcc-4_4-branch (r146989).
+ * Configure java enabled builds with --enable-java-home.
+ * Integrate the bits previously found in java-gcj-compat.
+ * Rename the packages using the naming schema used for OpenJDK:
+ gcj-X.Y-{jre-headless,jre,jre-lib,jdk,source}. The packages
+ {gij,gcj,gappletviewer}-X.Y and libgcjN-{jar,source} are gone.
+ * Build the libgcj documentation with the just built gjdoc.
+ * Don't use profiled bootstrap when building the gcj source.
+ * Apply proposed patch for PR target/39856.
+ * Fix some lintian warnings.
+ * Don't include debug symbols for libstdc++.so.6, if the library is
+ built by a newer GCC version.
+ * Adjust hrefs to point to the local libstdc++ documentation. LP: #365414.
+ * Update libgcc, libgfortran, libobjc, libstdc++ symbol files.
+ * gcc-4.4: Include libssp_nonshared.a.
+ * For ix86, set the java architecture directory to i386.
+
+ [ Samuel Thibault ]
+ * Update Hurd changes.
+ * Configure with --enable-clocale=gnu on hurd-i386.
+ * debian/patches/hurd-pthread.diff: Reapply.
+
+ -- Matthias Klose <doko@debian.org> Thu, 30 Apr 2009 00:30:20 +0200
+
+gcc-4.4 (4.4.0-1~exp2) experimental; urgency=low
+
+ * Update to SVN 20090423 from the gcc-4_4-branch.
+
+ [ Aurelien Jarno ]
+ * kbsd-gnu.diff: remove parts merged upstream.
+
+ [ Matthias Klose ]
+ * Remove conflicts/replaces for *-spu packages.
+ * Configure the spu cross compiler without --with-sysroot and
+ --enable-multiarch.
+ * Fix and reenable the gfortran-spu build.
+ * Work around build failures with missing libstdc++ baseline files.
+ * Install gjdoc man page.
+ * Fix java configuration with --enable-java-home and include symlinks
+ for JAVA_HOME in /usr/lib/jvm.
+ * Apply proposed fix for PR middle-end/39794.
+ * Install libstdc++ man pages with suffix .3cxx instead of .3.
+ Closes: #525244.
+ * lib*stdc++6-{dbg,doc}: Add conflicts to the corresponding 4.3 packages.
+
+ -- Matthias Klose <doko@debian.org> Thu, 23 Apr 2009 18:11:49 +0200
+
+gcc-4.4 (4.4.0-1~exp1) experimental; urgency=low
+
+ * Final GCC 4.4.0 release.
+
+ * Don't build the Fortran SPU cross compiler, currently broken.
+ * spu cross build: Build without spucache and spumea64.
+ * Configure --with-arch-32=i486 on amd64, i386, and kfreebsd-{amd64,i386},
+ --with-arch-32=i586 on hurd-i386, --with-cpu=atom on lpia.
+ * Build using profiled bootstrap.
+ * Remove the gcc-4.4-base.postinst. Addresses: #524708.
+ * Update debian/copyright: Include runtime library exception, remove
+ D and Phobas license.
+ * Apply proposed patch for PR libstdc++/39491, missing symbol in libstdc++
+ on hppa.
+ * Remove unsused soft-fp functions in the 64bit libgcc on powerpc (PR39828).
+ * Update NEWS files for 4.4.
+ * Build again libgfortran for the non-default multilib configuration.
+ * Restore missing chunks in note-gnu-stack.diff, lost during the conversion
+ to quilt.
+
+ -- Matthias Klose <doko@debian.org> Wed, 22 Apr 2009 00:53:16 +0200
+
+gcc-4.4 (4.4-20090418-1) experimental; urgency=low
+
+ * Update to SVN 20090418 from the gcc-4_4-branch.
+
+ [ Arthur Loiret ]
+ * Update patches:
+ - boehm-gc-nocheck, cross-include, libjava-rpath, link-libs:
+ Rebase on trunk.
+ - gcc-m68k-pch, libjava-debuginfo, libjava-loading-constraints:
+ Remove, merged in trunk.
+ - cell-branch, cell-branch-doc: Remove, there is no upstream cell 4.4
+ branch yet.
+ - gdc-fix-build-kbsd-gnu, svn-gdc-updates, gpc-4.1, gpc-gcc-4.x,
+ gpc-names: Remove, gpc and gdc are not ported to GCC 4.4 yet.
+ - svn-class-updates, svn-doc-updates, svn-updates: Make empty.
+ - Refresh all others, and convert them all to quilt.
+
+ * Build system improvements:
+ - Partial rewrite/refactor of rules files.
+ - Switch patch system to quilt.
+ - Autogenerate debian/copyright.
+ - Use the autoconf2.59 package.
+
+ * multilib/multiarch support improvements: Closes: #369064, #484589.
+ - mips-triarch.diff: Replace with a newer version (approved upstream).
+ - s390-biarch.diff: Ditto.
+ - debian/rules2: Configure with --enable-targets=all on mips-linux,
+ mipsel-linux and s390-linux.
+ - gcc-multiarch.diff: New, add multiarch include directories and
+ libraries path to the system paths.
+ - debian/rules2: Configure with --enable-multiarch. Configure spu build
+ with --with-multiarch-defaults=spu-elf.
+ - multiarch-include.diff: Remove.
+ - debian/multiarch.inc: Ditto.
+
+ * cross-compilers changes:
+ - Never build a separated -base package, don't symlink any doc dir.
+ - Build gobjc again.
+
+ * Run the 64-bit tests with -mabi=64 instead of -m64 on mips/mipsel to
+ hopefully fix the massive failure.
+ * Always set $(distribution) to "Debian" on mips/mipsel, workarounds FTBFS
+ on those archs due to a kernel bug triggered by lsb_release call.
+ Adresses: #524416.
+ * debian/rules.patch: Only apply the ada-nobiarch-check patch when ada is
+ enabled. Remove gpc and gdc patches.
+ * debian/rules.unpack (install_autotools_stamp): Remove.
+ * debian/rules.defs (configure_dependencies): Remove autotools dependency.
+ * debian/rules.conf: Add a copyright-file target.
+ * debian/control.m4: Build-Depends on autoconf2.59 and patchutils.
+ Make gcc-4.4-source Depends on autoconf2.59.
+ Add myself to Uploaders.
+ * debian/rules.d/binary-source.mk: Don't build and install an embedded
+ copy or autoconf2.59 in gcc-4.4-source.
+ * debian/copyright.in: New.
+
+ [ Matthias Klose ]
+ * Build gcj on hppa.
+ * Add support to build vfp optimized runtime libraries on armel.
+ * gcc-4.4-spu: Depend on newlib-spu.
+ * Fix sections of -dbg and java packages.
+ * gcc-default-ssp.dpatch: Set the default as well, when calling the
+ preprocessor. LP: #346126.
+ * Build-depend on quilt.
+ * Keep the copyright file in the archive.
+ * Remove conflict of the gcc-X.Y-source packages.
+ * Update removal of gfdl doc files for 4.4.
+ * Don't re-run the autotools (introduced with the switch to quilt).
+ * On arm and armel, install the arm_neon.h header. LP: #360819.
+ * When hardening options are turned on by default, patch the testsuite
+ to handle the hardening defaults (Kees Cook).
+ * Only run the patch target once. Avoids multiple autotool runs, but
+ doesn't reflect changes in the series file anymore.
+ * libgcj-doc: Fix documentation title.
+ * Fix gcj source build with recent build changes.
+ * Don't check for libraries in DEB_BUILD_OPTIONS/nolang.
+ * gappletviewer: Include missing binary.
+
+ [ Aurelien Jarno ]
+ * Remove: patches/kbsd-gnu-ada.dpatch (merged upstream).
+ * kbsd-gnu.diff: add fix for stuff broken by upstream.
+
+ -- Matthias Klose <doko@debian.org> Mon, 20 Apr 2009 01:34:26 +0200
+
+gcc-4.4 (4.4-20090317-1) experimental; urgency=low
+
+ * Initial upload of GCC-4.4, based on trunk 20090317 (r144904).
+
+ [Matthias Klose]
+ * Branch from the gcc-4.3 packaging.
+ * Remove *-trunk patches, update remaining patches for the trunk.
+ * Remove patches integrated upstream: libobjc-gc-link, libjava-file-support,
+ libjava-realloc-leak, libjava-armel-ldflags, libstdc++-symbols-hppa,
+ gcc-m68k-pch, libjava-extra-cflags, libjava-javah-bridge-tgts,
+ hppa-atomic-builtins, armel-atomic-builtins, libssp-gnu, libobjc-armel,
+ gfortran-armel-updates, sparc-biarch, libjava-xulrunner-1.9.
+ * Update patches for 4.4, mostly using the patches converted for quilt by
+ Arthur Loiret.
+ * debian/patches/libjava-soname.dpatch: Remove, unmodifed upstream library.
+ * debian/patches/gcc-driver-extra-langs.dpatch: Search Ada files in subdir.
+ * debian/rules.unpack, debian/rules.d/binary-source.mk: Update for included
+ autoconf tarball.
+ * debian/rules.d/binary-{gcc,java}.mk: Install new header files.
+ * debian/libgfortran3.symbols.common: Remove symbol not generated by
+ gfortran (__iso_c_binding_c_f_procpointer@GFORTRAN_1.0), PR38871.
+ * debian/rules.conf: Update for 4.4.
+ * Fix build dependencies and configure options for 4.4, which were applied
+ for snapshot builds only.
+
+ [Arthur Loiret]
+ * Update patches from debian/patches:
+ - Remove backported fixes:
+ PR ada: pr10768.dpatch, pr15808.dpatch, pr15915.dpatch, pr16086.dpatch,
+ pr16087.dpatch, pr16098.dpatch, pr17985.dpatch, pr18680.dpatch,
+ pr22255.dpatch, pr22387.dpatch, pr28305.dpatch, pr28733.dpatch,
+ pr29015.dpatch, pr30740.dpatch, pr30827.dpatch pr33688.dpatch,
+ pr34466.dpatch, pr35050.dpatch, pr35792.dpatch.
+ PR target: pr27880.dpatch, pr28102.dpatch, pr30961.dpatch,
+ pr35965.dpatch, pr37661.dpatch.
+ PR libgcj: pr24170.dpatch, pr35020.dpatch.
+ PR gcov-profile: pr38292.dpatch.
+ PR other: pr28322.dpatch.
+ * debian/rules.patch: Update.
+ * debian/symbols/libgomp1.symbols.common: Add new symbols from OpenMP 3.0.
+
+ -- Matthias Klose <doko@debian.org> Tue, 17 Mar 2009 02:28:01 +0100
+
+gcc-4.3 (4.3.3-5) unstable; urgency=low
+
+ Merge from gnat-4.3 (4.3.3-1):
+
+ [Petr Salinger]
+ * debian/patches/ada-libgnatprj.dpatch: enable support for GNU/kFreeBSD.
+ Fixes: #512277.
+
+ [Ludovic Brenta]
+ * debian/patches/ada-acats.dpatch: attempt to fix ACATS tests (not entirely
+ successful yet).
+ * New upstream version. Fixes: #514565.
+
+ [Matthias Klose]
+ * Update to SVN 20090301 from the gcc-4_3-branch.
+ - Fix PR c/35446, PR c++/38950, PR fortran/38852, PR fortran/39006,
+ PR c++/39225 (closes: #516727), PR c++/38950, PR target/38056,
+ PR target/39228, PR middle-end/36578, PR inline-asm/39058,
+ PR middle-end/37861.
+ * Don't provide the 4.3.2 symlink in gcc_lib_dir anymore.
+ * Require binutils-2.19.1.
+
+ -- Matthias Klose <doko@debian.org> Sun, 01 Mar 2009 14:18:09 +0100
+
+gcc-4.3 (4.3.3-4) unstable; urgency=low
+
+ * Fix Fix PR gcov-profile/38292 (wrong profile information), taken
+ from the trunk.
+ * Update to SVN 20090215 from the gcc-4_3-branch.
+ Fix PR c/35435, PR tree-optimization/39100, PR rtl-optimization/39076,
+ PR c/35433, PR tree-optimization/39041, PR target/38988,
+ PR middle-end/38969, PR c++/36897, PR c++/39054, PR c/39035, PR c/35434,
+ PR c/36432, PR target/38991, PR c/39084, PR target/39118.
+ * Reapply the fix for PR middle-end/38615.
+ * Include autoconf-2.59 sources into the source package, and install as
+ part of the gcc-4.3-source package.
+ * Explicitely use autoconf-1.9.
+ * Disable building the gcjwebplugin.
+ * Don't configure with --enable-cld on amd64 and i386.
+
+ -- Matthias Klose <doko@debian.org> Sun, 15 Feb 2009 23:40:09 +0100
+
+gcc-4.3 (4.3.3-3) unstable; urgency=medium
+
+ * Revert fix for PR middle-end/38615. Closes: #513420.
+
+ -- Matthias Klose <doko@debian.org> Thu, 29 Jan 2009 07:05:15 +0100
+
+gcc-4.3 (4.3.3-2) unstable; urgency=low
+
+ * Update to SVN 20090127 from the gcc-4_3-branch.
+ - Fix PR tree-optimization/38359. Closes: #492505.
+ - Fix PR tree-optimization/38932 (ice-on-valid-code), PR target/38931
+ (ice-on-valid-code), PR rtl-optimization/38879 (wrong-code),
+ PR c++/23287 (rejects-valid), PR fortran/38907 (ice-on-valid-code),
+ PR fortran/38859 (wrong-code), PR fortran/38657 (rejects-valid),
+ PR fortran/38672 (ice-on-valid-code).
+ * Fix PR middle-end/38969, taken from the trunk. Closes: #513007.
+
+ -- Matthias Klose <doko@debian.org> Tue, 27 Jan 2009 23:42:45 +0100
+
+gcc-4.3 (4.3.3-1) unstable; urgency=low
+
+ * GCC-4.3.3 release (no changes compared to the 4.3.2-4 upload).
+ * Fix PR middle-end/38615 (wrong code, taken from the trunk).
+
+ -- Matthias Klose <doko@debian.org> Sat, 24 Jan 2009 14:43:09 +0100
+
+gcc-4.3 (4.3.2-4) unstable; urgency=medium
+
+ * Update to SVN 20090119 from the gcc-4_3-branch.
+ - Fix PR tree-optimization/36765 (wrong code).
+ * Remove patch for PR 34571, applied upstream (fix build failure on alpha).
+ * Apply proposed patch for PR middle-end/38902 (wrong code).
+
+ -- Matthias Klose <doko@debian.org> Tue, 20 Jan 2009 00:22:41 +0100
+
+gcc-4.3 (4.3.2-3) unstable; urgency=low
+
+ * Update to SVN 20090117 from the gcc-4_3-branch (4.3.3 release candidate).
+ - Fix PR target/34571, PR debug/7055, PR tree-optimization/37194,
+ PR tree-optimization/38529, PR fortran/38763, PR fortran/38765,
+ PR fortran/38669, PR fortran/38487, PR fortran/35681, PR fortran/38657,
+ PR c++/36019, PR c++/31488, PR c++/37646, PR c++/36334, PR c++/38357,
+ PR c++/31260, PR c++/38877, PR libstdc++/36801, PR libgcj/38396.
+ - debian/patches/libgcj-bc.dpatch: Remove, applied upstream.
+ * Fix PR middle-end/38616 (wrong code with -fstack-protector).
+ * Update backport for PR28322 (Gunther Nikl).
+
+ -- Matthias Klose <doko@debian.org> Sat, 17 Jan 2009 21:09:35 +0100
+
+gcc-4.3 (4.3.2-2) unstable; urgency=low
+
+ * Update to SVN 20090110 from the gcc-4_3-branch.
+ - Fix PR target/36654, PR tree-optimization/38752, PR fortran/38675,
+ PR fortran/37469, PR libstdc++/38000.
+
+ -- Matthias Klose <doko@debian.org> Sat, 10 Jan 2009 18:32:34 +0100
+
+gcc-4.3 (4.3.2-2~exp5) experimental; urgency=low
+
+ * Adjust build-dependencies for cross builds. Closes: #499998.
+ * Update to SVN 20081231 from the gcc-4_3-branch.
+ - Fix PR middle-end/38565, PR target/38062, PR bootstrap/38383,
+ PR target/38402, PR testsuite/35677, PR tree-optimization/38478,
+ PR target/38054, PR middle-end/29056, PR testsuite/28870,
+ PR target/38254.
+ - Fix PR libstdc++/37144, PR c++/37582, PR libstdc++/38080.
+ - Fix PR fortran/38602, PR fortran/38602, PR fortran/38487,
+ PR fortran/38113, PR fortran/35983, PR fortran/35937, PR testsuite/36889.
+ * Update the spu cross compiler from the cell-gcc-4_3-branch 20081217.
+ * debian/patches/libobjc-armel.dpatch: Don't define EH_USES.
+ * Apply the Atomic builtins patch for PARISC.
+
+ -- Matthias Klose <doko@debian.org> Thu, 18 Dec 2008 00:34:46 +0100
+
+gcc-4.3 (4.3.2-2~exp4) experimental; urgency=low
+
+ * Update to SVN 20081130 from the gcc-4_3-branch.
+ - Fix PR bootstrap/33304, PR middle-end/37807, PR middle-end/37809,
+ PR rtl-optimization/37489, PR target/35574, PR c/37924,
+ PR tree-optimization/37879, PR middle-end/37858, PR middle-end/37870,
+ PR target/38016, PR target/37939, PR rtl-optimization/37769,
+ PR target/37909, PR fortran/37597, PR fortran/35820, PR fortran/37445,
+ PR fortran/PR35769, PR fortran/37903, PR fortran/37749.
+ - Fix PR target/37640, PR tree-optimization/37868, PR bootstrap/33100,
+ PR other/38214, PR c++/37142, PR c++/35405, PR c++/37563, PR c++/38030,
+ PR c++/37932, PR c++/38007.
+ - Fix PR fortran/37836, PR fortran/38171, PR fortran/35681,
+ PR fortran/37792, PR fortran/37926, PR fortran/38033, PR fortran/36526.
+ - Fix PR target/38287. Closes: #506713.
+ * Atomic builtins using kernel helpers for PARISC and ARM Linux/EABI, taken
+ from the trunk.
+
+ -- Matthias Klose <doko@debian.org> Mon, 01 Dec 2008 01:29:51 +0100
+
+gcc-4.3 (4.3.2-2~exp3) experimental; urgency=low
+
+ * Update to SVN 20081117 from the gcc-4_3-branch.
+ * Add build dependencies on spu packages for snapshot builds.
+ * Add build dependency on libantlr-java for snapshot builds.
+ * Disable fortran on spu for snapshot builds.
+ * Add dependency on binutils-{hppa64,spu} for snapshot builds.
+
+ -- Matthias Klose <doko@debian.org> Mon, 17 Nov 2008 21:57:51 +0100
+
+gcc-4.3 (4.3.2-2~exp2) experimental; urgency=low
+
+ * Update to SVN 20081023 from the gcc-4_3-branch.
+ - General regression fixes: PR rtl-optimization/37882 (wrong code),
+ - Fortran regression fixes: PR fortran/37787, PR fortran/37723.
+ * Use gij-4.3 for builds in java maintainer mode.
+ * Don't run the testsuite with -fstack-protector for snapshot builds.
+ * Update the spu cross compiler from the cell-gcc-4_3-branch 20081023.
+ Don't disable multilibs, install additional components in the gcc-4.3-spu
+ package.
+ * Enable building the spu cross compiler for powerpc and ppc64 snapshot
+ builds.
+ * Apply proposed patch for PR tree-optimization/37868 (wrong code).
+ * Apply proposed patch to parallelize make check.
+ * For biarch builds, disable the gnat testsuite for the non-default
+ architecture (no biarch support in gnat yet).
+
+ -- Matthias Klose <doko@debian.org> Thu, 23 Oct 2008 22:06:38 +0200
+
+gcc-4.3 (4.3.2-2~exp1) experimental; urgency=low
+
+ * Update to SVN 20081017 from the gcc-4_3-branch.
+ - General regression fixes: PR rtl-optimization/37408 (wrong code),
+ PR tree-optimization/36630, PR tree-optimization/37102 (wrong code),
+ PR c/35437 (ice on invalid code), PR middle-end/37731 (wrong code),
+ PR target/37603 (wrong code, hppa), PR tree-optimization/35737 (ice on
+ valid code), PR middle-end/36575 (wrong code), PR c/37645 (ice on valid
+ code), PR tree-optimization/37539 (compile time hog), PR middle-end/37236
+ (ice on invalid code), PR tree-optimization/36343 (wrong code),
+ PR rtl-optimization/37544 (wrong code), PR target/35620 (ice on valid
+ code), PR target/35713 (ice on valid code, wrong code), PR c/35712 (wrong
+ code), PR target/37466 (wrong code, AVR).
+ - C++ regression fixes: PR c++/37389 (LP: #252301), PR c++/37555 (ice on
+ invalid code).
+ - Fortran regression fixes: PR fortran/37199, PR fortran/36214,
+ PR fortran/35770, PR fortran/36454, PR fortran/36374, PR fortran/37274,
+ PR fortran/37583, PR fortran/36700, PR fortran/35945, PR fortran/37626,
+ PR fortran/37504, PR fortran/37580, PR fortran/37706, PR fortran/35680,
+ PR fortran/37794.
+ * Remove obsolete patches: ada-driver.dpatch, pr33148.dpatch.
+ * Fix naming of bridge targets in gjavah (wrong header generation).
+ * Fix PR target/37661, SPARC64 int-to-TFmode conversions.
+ * Include the complete test summaries in a binary package, to allow
+ regression checking from the previous build.
+ * Tighten inter-package dependencies to (>= 4.3.2-1).
+ * Drop the 4.3.1 symlink in gcc_lib_dir, add a 4.3.3 symlink to 4.3.
+
+ -- Matthias Klose <doko@debian.org> Fri, 17 Oct 2008 23:26:50 +0200
+
+gcc-4.3 (4.3.2-1) unstable; urgency=medium
+
+ [Matthias Klose]
+ * Final gcc-4.3.2 release (regression fixes).
+ - Remove the generated install docs from the tarball (GFDL licensed).
+ - C++ regression fixes: PR debug/37156.
+ - general regression fixes: PR debug/37156, PR target/37101.
+ - Java regression fixes: PR libgcj/8995.
+ * Update to SVN 20080905 from the gcc-4_3-branch.
+ - C++ regression fixes: PR c++/36741 (wrong diagnostic),
+ - general regression fixes: PR target/37184 (ice on valid code),
+ PR target/37191 (ice on valid code), PR target/37197 (ice on valid code),
+ PR middle-end/36817 (ice on valid code), PR middle-end/36548 (wrong code),
+ PR middle-end/37125 (wrong code), PR c/37261 (wrong diagnostic),
+ PR target/37168 (ice on valid code), PR middle-end/36449 (wrong code),
+ PR middle-end/37248 (missed optimization), PR target/36332 (wrong code).
+ - Fortran regression fixes: PR fortran/37193 (rejects valid code).
+ * Move symlinks in gcc_lib_dir from cpp-4.3 to gcc-4.3-base. Closes: #497369.
+ * Don't build-depend on autogen on architectures where it is not installable
+ (needed for the fixincludes testsuite only); don't build-depend on it for
+ source packages not running the fixincludes testsuite.
+
+ [Ludovic Brenta]
+ * Add sdefault.ads to libgnatprj4.3-dev. Fixes: #492866.
+ * turn gnatvsn.gpr and gnatprj.gpr into proper library project files.
+ * Unconditionally build-depend on gnat when building gnat-4.3.
+ Fixes: #487564.
+ * (debian/rules.d/binary-ada.mk): Add a symlink libgnat.so to
+ /usr/lib/libgnat-4.3.so in the adalib directory. Fixes: #493814.
+ * (debian/patches/ada-sjlj.dpatch): remove dangling symlinks from all
+ adalib directories.
+ * debian/patches/ada-alpha.dpatch: remove, applied upstream.
+
+ [Samuel Tardieu, Ludovic Brenta]
+ * debian/patches/pr16086.dpatch: new; backport from GCC 4.4.
+ Closes: #248172.
+ * debian/patches/pr35792.dpatch: new; backport from GCC 4.4.
+ * debian/patches/pr15808.dpatch (fixes: #246392),
+ debian/patches/pr30827.dpatch: new; backport from the trunk.
+
+ -- Matthias Klose <doko@debian.org> Fri, 05 Sep 2008 22:52:58 +0200
+
+gcc-4.3 (4.3.1-9) unstable; urgency=low
+
+ * Update to SVN 20080814 from the gcc-4_3-branch.
+ - C++/libstdc++ regression fixes: PR c++/36688, PR c++/37016, PR c++/36999,
+ PR c++/36405, PR c++/36767, PR c++/36852.
+ - general regression fixes: PR target/36613, PR rtl-optimization/36998,
+ PR middle-end/37042, PR middle-end/35432, PR target/35659,
+ PR middle-end/37026, PR middle-end/36691, PR tree-optimization/36991,
+ PR rtl-optimization/35542, PR bootstrap/35752, PR rtl-optimization/36419,
+ PR debug/36278, PR preprocessor/36649, PR rtl-optimization/36929,
+ PR tree-optimization/36830, PR c/35746, PR middle-end/37014,
+ PR middle-end/37103.
+ - Fortran regression fixes: PR fortran/36132.
+ - Java regression fixes: PR libgcj/31890.
+ - Fixes PR middle-end/37090. Closes: #494815.
+
+ -- Matthias Klose <doko@debian.org> Thu, 14 Aug 2008 18:02:52 +0000
+
+gcc-4.3 (4.3.1-8) unstable; urgency=low
+
+ * Undo Revert PR tree-optimization/36262 on i386 (PR 36917 is invalid).
+
+ -- Matthias Klose <doko@debian.org> Fri, 25 Jul 2008 21:47:52 +0200
+
+gcc-4.3 (4.3.1-7) unstable; urgency=low
+
+ * Update to SVN 20080722 from the gcc-4_3-branch.
+ - Fix PR middle-end/36811, infinite loop building with -O3.
+ - C++/libstdc++ regression fixes: PR c++/36407, PR c++/34963,
+ PR libstdc++/36832, PR libstdc++/36552, PR libstdc++/36729.
+ - Fortran regression fixes: PR fortran/36366, PR fortran/36824.
+ - general regression fixes: PR middle-end/36877, PR target/36780,
+ PR target/36827, PR rtl-optimization/35281, PR rtl-optimization/36753,
+ PR target/36827, PR target/36784, PR target/36782, PR middle-end/36369,
+ PR target/36780, PR target/35492, PR middle-end/36811,
+ PR rtl-optimization/36419, PR target/35802, PR target/36736,
+ PR target/34780.
+ * Revert PR tree-optimization/36262 on i386, causing miscompilation of
+ OpenJDK hotspot.
+ * gij/gcj: Don't remove alternatives on upgrade. Addresses: #479950.
+
+ -- Matthias Klose <doko@debian.org> Tue, 22 Jul 2008 23:55:54 +0200
+
+gcc-4.3 (4.3.1-6) unstable; urgency=low
+
+ * Start the logwatch script on alpha as well to avoid timeouts in
+ the testsuite.
+
+ -- Matthias Klose <doko@debian.org> Mon, 07 Jul 2008 11:31:58 +0200
+
+gcc-4.3 (4.3.1-5) unstable; urgency=low
+
+ * Update to SVN 20080705 from the gcc-4_3-branch.
+ - Fix PR target/36634, wrong-code on powerpc with -msecure-plt.
+ * Fix PR target/35965, PIC + -fstack-protector on arm/armel. Closes: #469517.
+ * Don't run the libjava testsuite with -mabi=n32.
+ * Update patch for PR other/28322, that unknown -Wno-* options do not
+ cause errors, but warnings instead.
+ * On m68k, add -fgnu89-inline when in gnu99 mode (requested by Michael
+ Casadeval for the m68k port). Closes: #489234.
+
+ -- Matthias Klose <doko@debian.org> Sun, 06 Jul 2008 01:39:30 +0200
+
+gcc-4.3 (4.3.1-4) unstable; urgency=low
+
+ * Revert: debian/patches/gcc-multilib64dir.dpatch: Remove obsolete patch.
+ * Remove obsolete multiarch-lib patch.
+
+ -- Matthias Klose <doko@debian.org> Mon, 30 Jun 2008 23:05:17 +0200
+
+gcc-4.3 (4.3.1-3) unstable; urgency=medium
+
+ [Arthur Loiret]
+ * debian/rules2:
+ - configure sh4-linux with --with-multilib-list=m4,m4-nofpu
+ and --with-cpu=sh4.
+ - configure sparc-linux with --enable-targets=all on snapshot builds
+ (change already in 4.3.1-1).
+ * debian/rules.patch: Don't apply sh4-multilib.dpatch.
+
+ [Matthias Klose]
+ * Update to SVN 20080628 from the gcc-4_3-branch.
+ - Fix PR target/36533, wrong-code with incorrectly assumed aligned_operand.
+ Closes: #487115.
+ * debian/rules.defs: Remove hurd-i386 from ssp_no_archs (Samuel Thibault).
+ Closes: #483613.
+ * Do not create a /usr/lib/gcc/<target-arch>/4.3.0 symlink.
+ * debian/patches/gcc-multilib64dir.dpatch: Remove obsolete patch.
+ * libjava/classpath: Set and use EXTRA_CFLAGS (taken from the trunk).
+
+ -- Matthias Klose <doko@debian.org> Sat, 28 Jun 2008 16:00:38 +0200
+
+gcc-4.3 (4.3.1-2) unstable; urgency=low
+
+ * Update to SVN 20080610 from the gcc-4_3-branch.
+ - config.gcc: Fix quoting for in the enable_cld test.
+ * Use GNU locales on hurd-i386 (Samuel Thibault). Closes: #485395.
+ * libstdc++-doc: Fix URL's for locally installed docs. Closes: #485133.
+ * libjava: On armel apply kludge to fix unwinder infinitely looping 'til
+ it runs out of memory.
+ * Adjust dependencies to require GCC 4.3.1.
+
+ -- Matthias Klose <doko@debian.org> Wed, 11 Jun 2008 00:35:38 +0200
+
+gcc-4.3 (4.3.1-1) unstable; urgency=high
+
+ [Samuel Tardieu, Ludovic Brenta]
+ * debian/patches/pr16087.dpatch: new. Fixes: #248173.
+ * Correct the patches from the previous upload.
+
+ [Ludovic Brenta]
+ * debian/patches/ada-acats.dpatch: really run the just-built gnat, not the
+ bootstrap gnat.
+ * debian/rules2: when running the Ada test suite, do not run the multilib
+ tests as gnat does not support multilib yet.
+ * Run the ACATS testsuite again (patch it so it correctly finds gnatmake).
+
+ [Thiemo Seufer]
+ * debian/patches/ada-libgnatprj.dpatch,
+ debian/patches/ada-mips{,el}.dpatch: complete support for mips and mipsel.
+ Fixes: #482433.
+
+ [Matthias Klose]
+ * GCC-4.3.1 release.
+ * Do not include standard system paths in libgcj pkgconfig file.
+ * Suggest the correct libmudflap0-dbg package.
+ * Fix PR libjava/35020, taken from the trunk.
+ * Apply proposed patch for PR tree-optimization/36343.
+ * On hurd-i386 with -fstack-protector do not link with libssp_nonshared
+ (Samuel Thibault). Closes: #483613.
+ * Apply proposed patch for PR tree-optimization/34244.
+ * Remove debian-revision in symbols files.
+ * Fix installation of all biarch -multilib packages which are not triarch.
+ * Fix some lintian warnings.
+ * Include library symlinks in gobjc and gfortran multilib packages, when
+ not building the library packages.
+ * Fix sections in doc-base files.
+ * Don't apply the sparc-biarch patch when building the gcc-snapshot package.
+ * libjava: Add @file support for gjavah & gjar.
+ * Apply patch for PR rtl-optimization/36111, taken from the trunk.
+
+ * Closing reports reported against gcc-4.0 and fixed in gcc-4.3:
+ - General
+ + Fix PR optimization/3511, inlined strlen() could be smarter.
+ Close: #86251.
+ - C
+ + Fix PR c/9072, Split of -Wconversion in two different flags.
+ Closes: #128950, #226952.
+ - C++/libstdc++
+ + PR libstdc++/24660, implement versioning weak symbols in libstdc++.
+ Closes: #328421.
+ - Architecture specific:
+ - mips
+ + PR target/26560, unable to find a register to spill in class
+ 'FP_REGS'. Closes: #354439.
+ - sparc
+ + Fix PR rtl-optimization/23454, ICE in invert_exp_1. Closes: #340951.
+ * Closing reports reported against gcc-4.1 and fixed in gcc-4.2:
+ - General
+ + PR tree-optimization/30132, ICE in find_lattice_value. Closes: #400484.
+ + PR other/29534, ICE in "gcc -O -ftrapv" with decreasing array index.
+ Closes: #405065.
+ + Incorrect SSE2 code generation for vector initialization.
+ Closes: #406442.
+ + Fix segfault in cc1 due to infinite loop in error() when using -ftrapv.
+ Closes: #458072.
+ + Fix regression in code size with -Os compared to GCC-3.3.
+ Closes: #348298.
+ - C++
+ + Fix initialization of global variables with non-constant initializer.
+ Closes: #446067.
+ + Fix ICE building muse. Closes: #429385.
+ * Closing reports reported against gcc-4.1 and fixed in gcc-4.3:
+ - C++
+ + PR c++/28705, ICE: in type_dependent_expression_p. Closes: #406324.
+ + PR c++/7302, -Wnon-virtual-dtor should't complain of protected dtor.
+ Closes: #356316.
+ + PR c++/28316, PR c++/24791, PR c++/20133, ICE in instantiate_decl.
+ Closes: #327346, #355909.
+ - Fortran
+ + PR fortran/31639, ICE in gfc_conv_constant. Closes: #401496.
+ - Java
+ + Fix ICE using gcj with --coverage. Closes: #416326.
+ + PR libgcj/29869, LogManager class loading failure. Closes: #399251
+ + PR swing/29547 setText (String) of JButton does not work
+ with HTML code. Closes: #392791.
+ + PR libgcj/29178, CharsetEncoder.canEncode() gives different results
+ than Sun version. Closes: #388596.
+ + PR java/8923, ICE when modifying a variable decleared "final static".
+ Closes: #351512.
+ + PR java/22507, segfault building Apache Cocoon. Closes: #318534.
+ + PR java/2499, class members should be inherited from implemented
+ interfaces. Closes: #225434.
+ + PR java/10581, ICE compiling freenet. Closes: #186922.
+ + PR libgcj/28340, gij ignores -Djava.security.manager. Closes: #421098.
+ + PR java/32846, build failure on GNU/Hurd. Closes: #408888.
+ + PR java/29194, fails to import package from project. Closes: #369873.
+ + PR libgcj/31700, -X options not recognised by JNI_CreateJavaVM.
+ Closes: #426742.
+ + java.util.Calendar.setTimeZone fails to set ZONE_OFFSET.
+ Closes: #433636.
+ - Architecture specific:
+ - alpha
+ + C++, fix segfault in constructor with -Os. Closes: #438436.
+ - hppa
+ + PR target/30131, ICE in propagate_one_insn. Closes: #397341.
+ - m32r
+ + PR target/28508, assembler error (operand out of range).
+ Closes: #417542.
+ - m68k
+ + PR target/34688, ICE in output_operand. Closes: #459429.
+ * Closing reports reported against gcc-4.2 and fixed in gcc-4.3:
+ - General
+ + PR tree-optimization/33826, wrong code generation for infinitely
+ recursive functions. Closes: #445536.
+ - C++
+ + PR c++/24791, ICE on invalid instantiation of template's static member.
+ Closes: #446698.
+
+ [Aurelien Jarno]
+ * Really apply arm-funroll-loops.dpatch on arm and armel. Closes: #476460.
+
+ -- Matthias Klose <doko@debian.org> Sat, 07 Jun 2008 23:16:21 +0200
+
+gcc-4.3 (4.3.0-5) unstable; urgency=medium
+
+ * Update to SVN 20080523 from the gcc-4_3-branch.
+ - Remove gcc-i386-emit-cld patch.
+ - On Debian amd64 and i386 configure with --enable-cld.
+ * Fix PR tree-optimization/36129, ICE with -fprofile-use.
+ * Add spu build dependencies independent of the architecture.
+ * Move arm -funroll-loops fix to arm-funroll-loops from
+ gfortran-armel-updates. Apply it on both arm and armel.
+ Closes: #476460.
+ * Use iceape-dev as a build dependency for Java enabled builds.
+ * Build the sru cross compiler from a separate source dir without applying
+ the hardening patches.
+
+ -- Matthias Klose <doko@debian.org> Fri, 23 May 2008 10:12:02 +0200
+
+gcc-4.3 (4.3.0-4) unstable; urgency=low
+
+ [ Aurelien Jarno ]
+ * Fix gnat-4.3 build on mips/mipsel.
+ * Update libgcc1 symbols for hurd-i386.
+
+ [ Arthur Loiret ]
+ * Make gcc-4.3-spu Recommends newlib-spu. Closes: #476088
+ * Build depend on spu build dependencies only when building
+ as gcc-4.x source package.
+ * Disable spu for snapshot builds.
+ * Support sh4 targets:
+ - sh4-multilib.dpatch: Add, fix multilib (m4/m4-nofpu) for sh4-linux
+ - multiarch-include.dpatch: Don't apply on sh4.
+
+ [ Matthias Klose ]
+ * Stop building libffi packages.
+ * Update to SVN 20080501 from the gcc-4_3-branch.
+ - Fix PR target/35662, wrong gfortran code on mips/mipsel. Closes: #476427.
+ - Fixes mplayer build on powerpc. Closes: #475153.
+ * Stop building gij/gcj on alpha, arm and hppa. Closes: #459560.
+ * libstdc++6-4.3-doc: Fix file location in doc-base file. Closes: #476253.
+ * debian/patches/template.dpatch: Remove the `exit 0' line.
+ * Fix alternative names for amd64 cross builds. Addresses: #466422.
+ * debian/copyright: Update to GPLv3, remove the text of the GFDL
+ and reference the copy in common-licenses.
+ * Generate the locale data for the testsuite, if the locales package
+ is installed (not a dependency on all archs).
+ * Update libgcc2 symbols for m68k, libstdc++6 symbols for arm, m68k, mips
+ and mipsel.
+ * Do not include a symbols file for libobjc_gc.so.
+ * Add four more symbols to libgcj_bc, patch taken from the trunk.
+ * Adjust names of manual pages in the spu build on powerpc.
+ * ARM EABI (armel) updates (Andrew Jenner, Julian Brown):
+ - Add Objective-C support.
+ - Fortran support patches.
+ - Fix ICE in gfortran.dg/vector_subscript_1.f90 for -Os -mthumb reload.
+ * Build ObjC and Obj-C++ packages on armel.
+ * Reenable running the testsuite on m68k.
+
+ [Samuel Tardieu, Ludovic Brenta]
+ * debian/patches/gnalasup_to_lapack.dpatch: new.
+ * debian/patches/pr34466.dpatch,
+ debian/patches/pr22255.dpatch,
+ debian/patches/pr33688.dpatch,
+ debian/patches/pr10768.dpatch,
+ debian/patches/pr28305.dpatch,
+ debian/patches/pr17985.dpatch (#278685)
+ debian/patches/pr15915.dpatch,
+ debian/patches/pr16098.dpatch,
+ debian/patches/pr18680.dpatch,
+ debian/patches/pr28733.dpatch,
+ debian/patches/pr22387.dpatch,
+ debian/patches/pr29015.dpatch: new; backport Ada bug fixes from GCC 4.4.
+ * debian/patches/rules.patch: apply them.
+ * debian/patches/pr35050.dpatch: update.
+
+ [Andreas Jochens]
+ * debian/patches/ppc64-ada.dpatch: update, adding support for ppc64.
+ (#476868).
+
+ [Ludovic Brenta]
+ * Apply ppc64-ada.dpatch whenever we build libgnat, not just on ppc64.
+ * debian/patches/pr28322.dpatch: never pass -Wno-overlength-strings to
+ the bootstrap compiler, as the patch breaks the detection of whether
+ the bootstrap compiler supports this option or not.
+ Fixes: #471192. Works around #471767.
+ * Merge Aurélien Jarno's mips patch. Fixes: #472854.
+
+ [ Samuel Tardieu ]
+ * debian/patches/pr30740.dpatch: new Ada bug fix.
+ * debian/patches/pr35050.dpatch: new Ada bug fix.
+
+ [ Xavier Grave ]
+ * debian/patches/ada-mips{,el}.dpatch: new; split mips/mipsel support
+ into new patches, out of ada-sjlj.dpatch.
+ * debian/rules.d/binary-ada.mk: fix the version number of libgnarl-4.3.a.
+
+ [Roman Zippel]
+ * PR target/25343, fix gcc.dg/pch/pch for m68k.
+
+ -- Matthias Klose <doko@debian.org> Thu, 01 May 2008 21:08:09 +0200
+
+gcc-4.3 (4.3.0-3) unstable; urgency=medium
+
+ [ Matthias Klose ]
+ * Update to SVN 20080401 from the gcc-4_3-branch.
+ - Fix PR middle-end/35705 (hppa only).
+ * Update libstdc++6 symbols for hurd-i386. Closes: #472334.
+ * Update symbol files for libgomp (ppc64).
+ * Only apply the gcc-i386-emit-cld patch on amd64 and i386 architectures.
+ * Update libstdc++ baseline symbols for hppa.
+ * Install powerpc specific header files new in 4.3.
+ * gcc-4.3-hppa64: Don't include the install tools in the package.
+
+ [ Aurelien Jarno ]
+ * Fix gobjc-4.3-multilib dependencies. Closes: #473455.
+ * Fix gnat-4.3 build on mips/mipsel.
+ * patches/ada-alpha.dpatch: new patch to fix gnat-4.3 build on alpha.
+ Closes: #472852.
+ * patches/config-ml.dpatch: also check for n32 multidir.
+
+ [ Arthur Loiret ]
+ * Build-Depends on binutils (>= 2.18.1~cvs20080103-2) on mips and mipsel,
+ required for triarch.
+ * libstdc++-pic.dpatch: Update, don't fail anymore if shared lib is disabled.
+
+ [ Andreas Jochens ]
+ * Fix build failures on ppc64. Closes: #472917.
+ - gcc-multilib64dir.dpatch: Remove "msoft-float" and "nof" from MULTILIB
+ variables.
+ - Removed ppc64-biarch.dpatch.
+ - Add debian/lib32gfortan3.symbols.ppc64.
+
+ [ Arthur Loiret, Matthias Klose ]
+ * Build compilers for spu-elf target on powerpc and ppc64.
+ - Add gcc-4.3-spu, g++-4.3-spu and gfortran-4.3-spu packages.
+ - Partly based on the work in Ubuntu on the spu toolchain.
+
+ -- Matthias Klose <doko@debian.org> Tue, 01 Apr 2008 23:29:21 +0000
+
+gcc-4.3 (4.3.0-2) unstable; urgency=low
+
+ [Matthias Klose]
+ * Update to SVN 20080321 from the gcc-4_3-branch.
+ - Remove some broken code that attempts to enforce linker
+ constraints. Closes: #432541.
+ * Temporary fix, will be removed once a fixed kernel is available
+ in testing: Emit cld instruction when stringops are used (i386).
+ Do not expose the -mcld option until added upstream. Closes: #469567.
+ * Update NEWS files.
+ * libjava: Don't leak upon failed realloc (taken from the trunk).
+ * debian/rules2: The build is not yet prepared to take variables from
+ the environment; unexport and unset those.
+
+ [Arthur Loiret/Aurelien Jarno]
+ * MIPS tri-arch support:
+ - mips-triarch.dpatch: new patch to default to o32 and follow the
+ glibc convention for n32 & 64 bit names.
+ - Rename $(biarch) and related vars into $(biarch64).
+ - Fix biarchsubdir to allow triarch.
+ - Add biarchn32 support.
+ - Add mips and mipsel to biarch64 and biarchn32 archs.
+ - Update binary rules for biarchn32 and libn32 targets.
+ - Fix multilib deps for triarch.
+ - control.m4: Add libn32 packages.
+
+ -- Matthias Klose <doko@debian.org> Sat, 22 Mar 2008 00:06:33 +0100
+
+gcc-4.3 (4.3.0-1) unstable; urgency=low
+
+ [Matthias Klose]
+ * GCC-4.3.0, final release.
+ * Update to SVN 20080309 from the gcc-4_3-branch.
+ * Build from a modified tarball, without GFDL documentation with
+ invariant sections and cover texts.
+ * debian/rules.unpack: Avoid make warnings.
+ * debian/rules.d/binary-cpp.mk: Add 4.3.0 symlink in gcclibdir.
+ * Stop building treelang (removed upstream).
+ * gcj-4.3: Hardcode libgcj-bc dependency, don't run dh_shlibdeps on ecj1.
+
+ [Aurelien Jarno]
+ * Update libssp-gnu.dpatch and reenable it.
+
+ -- Matthias Klose <doko@debian.org> Sun, 09 Mar 2008 15:18:08 +0100
+
+gcc-4.3 (4.3.0~rc2-1) unstable; urgency=medium
+
+ * Update to SVN 20080301 from the gcc-4_3-branch.
+ * Include the biarch libobjc_gc library in the packages.
+ * Link libobjc_gc with libgcjgc_convenience.la.
+ * Add new symbols to libstdc++6 symbol files, remove the symbols for
+ <system_error> support (reverted upstream for the 4.3 branch).
+ * Disable running the testsuite on m68k.
+ * Update PR other/28322, ignore only unknown -W* options.
+
+ -- Matthias Klose <doko@debian.org> Sat, 01 Mar 2008 15:09:16 +0100
+
+gcc-4.3 (4.3-20080227-1) unstable; urgency=low
+
+ [Matthias Klose]
+ * Update to SVN 20080227 from the gcc-4_3-branch.
+ * Fix PR other/28322, GCC new warnings and compatibility.
+ Addresses: #367657.
+
+ [Hector Oron]
+ * Fix cross-compile builds. Closes: #467471.
+
+ -- Matthias Klose <doko@debian.org> Thu, 28 Feb 2008 00:30:38 +0100
+
+gcc-4.3 (4.3-20080219-1) unstable; urgency=medium
+
+ [Matthias Klose]
+ * Update to SVN 20080219 from the gcc-4_3-branch.
+ * Apply proposed patch for PR target/34571 (alpha).
+ * libgcj9-dev: Don't claim that the package contains the static
+ libraries.
+ * libjava-xulrunner1.9.dpatch: Add configure check for xulrunner-1.9.
+ Name the alternative xulrunner-1.9-javaplugin.so.
+ * libgcj-doc: Don't include the examples; these cannot be built
+ with the existing Makefile anyway. Addresses: #449608.
+ * Manpages for gc-analyze and grmic are GFDL. Don't include these when
+ building DFSG compliant packages.
+ * Fix build failure building amd64 cross-target libstdc++ packages
+ (Tim Bagot). Addresses: #464365.
+ * Fix typos in rename-info-files patch (Richard Guenther).
+ * Fix PR libgcj/24170.
+
+ [Aurelien Jarno]
+ * kbsd-gnu-ada.dpatch: new patch to fix build on GNU/kFreeBSD.
+
+ [Ludovic Brenta]
+ * debian/rules.defs: Temporarily disable the testsuite when building gnat.
+ * debian/patches/libffi-configure.dpatch: run autoconf in the top-level
+ directory, where we've changed configure.ac; not in src/gcc.
+ * debian/patches/ada-sjlj.dpatch: do not run autoconf since we don't
+ change configure.ac.
+ * debian/control.m4 (gnat-4.3-doc): conflict with gnat-4.[12]-doc.
+ Closes: #464801.
+
+ -- Matthias Klose <doko@debian.org> Tue, 19 Feb 2008 23:20:45 +0000
+
+gcc-4.3 (4.3-20080202-1) unstable; urgency=low
+
+ [ Matthias Klose ]
+ * Update to SVN 20080202 from the trunk.
+ - Fix PR c/35017, pedwarns about valid code. Closes: #450506.
+ - Fix PR target/35045, wrong code generation with -O3 on i386.
+ Closes: #463478.
+ * gcj-4.3: On armel depend on g++-4.3.
+ * Re-enable build of libobjc_gc, using the internal version of boehm-gc.
+ Closes: #212248.
+
+ [Ludovic Brenta]
+ * debian/patches/ada-default-project-path.dpatch,
+ debian/patches/ada-gcc-name.dpatch,
+ debian/patches/ada-symbolic-tracebacks.dpatch,
+ debian/patches/ada-link-lib.dpatch,
+ debian/patches/ada-libgnatvsn.dpatch,
+ debian/patches/ada-libgnatprj.dpatch,
+ debian/patches/ada-sjlj.dpatch: adjust to GCC 4.3.
+ * debian/README.gnat, debian/TODO,
+ debian/rules.d/binary-ada.mk: merge from gnat-4.2.
+ * debian/README.maintainers: add instructions for patching GCC.
+ * debian/patches/ada-driver.dpatch: remove, no longer used.
+ * debian/patches/libffi-configure.dpatch: do not patch the top-level
+ configure anymore; instead, rerun autoconf. This allows removing the
+ patch cleanly.
+ * debian/rules2: use gnatgcc as the bootstrap compiler, not gcc-4.2.
+
+ -- Matthias Klose <doko@debian.org> Sat, 02 Feb 2008 19:58:48 +0100
+
+gcc-4.3 (4.3-20080127-1) unstable; urgency=low
+
+ [ Matthias Klose ]
+ * Update to SVN 20080126 from the trunk.
+ * Tighten build dependency on doxygen.
+ * Update libstdc++ patches to current svn.
+ * gij-4.3: Provide java*-runtime-headless instead of java*-runtime.
+
+ [ Aurelien Jarno]
+ * debian/multiarch.inc: change mipsel64 into mips64el.
+
+ -- Matthias Klose <doko@debian.org> Sun, 27 Jan 2008 01:33:35 +0100
+
+gcc-4.3 (4.3-20080116-1) unstable; urgency=medium
+
+ * Update to SVN 20080116 from the trunk.
+ * Update debian/watch.
+ * Build libgomp documentation without building libgomp. Addresses: #460660.
+ * Handle lzma compressed tarballs.
+ * Fix dependency generation for the gcc-snapshot package: Addresses: #454667.
+ * Restore lost chunk in libjava-subdir.dpatch.
+
+ -- Matthias Klose <doko@debian.org> Wed, 16 Jan 2008 20:33:50 +0100
+
+gcc-4.3 (4.3-20080112-1) unstable; urgency=low
+
+ * Update to SVN 20080112 from the trunk.
+ * Tighten build-dependency on dpkg-dev (closes: #458894).
+ * Update symbol definitions for alpha.
+ * Build-depend on libmpfr-dev for all source packages.
+
+ -- Matthias Klose <doko@debian.org> Sun, 13 Jan 2008 00:40:28 +0100
+
+gcc-4.3 (4.3-20080104-1) unstable; urgency=low
+
+ * Update to SVN 20080104 from the trunk.
+ * Update symbol definitions for alpha, hppa, ia64, mips, mipsel, powerpc,
+ s390, sparc.
+
+ -- Matthias Klose <doko@debian.org> Fri, 04 Jan 2008 07:34:15 +0100
+
+gcc-4.3 (4.3-20080102-1) unstable; urgency=low
+
+ [ Matthias Klose ]
+ * Update to SVN 20080102 from the trunk.
+ - Fix 64bit biarch builds (addresses: #447443).
+ * debian/rules.d/binary-java.mk: Reorder packaging to get shlibs
+ dependencies right.
+ * Use lib instead of lib64 as multilibdir on amd64 and ppc64.
+ * Build the java plugin always using libxul-dev.
+ * Add libgcj_bc to the libgcj9-0 shlibs file.
+ * Add symbol files for libgcc1, lib32gcc1, lib64gcc1, libstdc++6,
+ lib32stdc++6, lib64stdc++6, libgomp1, lib32gomp1, lib64gomp1, libffi4,
+ lib32ffi4, lib64ffi4, libobjc2, lib32objc2, lib64objc2, libgfortran3,
+ lib32gfortran3, lib64gfortran3.
+ Adjust build dependencies on dpkg-dev and debhelper.
+ * Do not build the java packages from the gcc-4.3 source package.
+
+ [ Aurelien Jarno ]
+ * Disable amd64-biarch patch on kfreebsd-amd64.
+
+ -- Matthias Klose <doko@debian.org> Wed, 02 Jan 2008 23:48:14 +0100
+
+gcc-4.3 (4.3-20071124-1) experimental; urgency=low
+
+ [ Matthias Klose ]
+ * Update to SVN 20071124 from the trunk.
+ * Fix dependencies of lib*gcc1-dbg packages.
+ * gcjwebplugin: Fix path of the gcj subdirectory. LP: #149792.
+ * gij-hppa: Call gij-4.2, not gij-4.1. Addresses: #446282.
+ * Don't run the testsuite on hppa when expect-tcl8.3 is not available.
+ * Fix libgcc1-dbg doc directory symlink. Closes: #447969.
+
+ [ Aurelien Jarno ]
+ * Update kbsd-gnu patch.
+ * Remove kbsd-gnu-ada patch (merged upstream).
+
+ -- Matthias Klose <doko@debian.org> Sat, 24 Nov 2007 13:14:29 +0100
+
+gcc-4.3 (4.3-20070930-1) experimental; urgency=low
+
+ [Matthias Klose]
+ * Update to SVN 20070929 from the trunk.
+ * Update debian patches to the current trunk.
+ * Regenerate the control file.
+ * On powerpc-linux-gnu and i486-linux-gnu cross-compile the 64bit
+ multilib libraries to allow a sucessful build on 32bit kernels
+ (our buildds). Although we won't get 64bit test results this way ...
+ * Remove the build dependency on expect-tcl8.3.
+ * Fix MULTILIB_OSDIRNAMES for cross builds targeted for amd64 and ppc64.
+ * When -fstack-protector is the default (Ubuntu), do not enable
+ -fstack-protector when -nostdlib is specified. LP: #77865.
+ * Always set STAGE1_CFLAGS to -g -O2, only pass other settings
+ when configuring when required.
+ * Configure --with-bugurl, adjust the bug reporting instructions.
+ * gcc-4.3: Install new cpuid.h header.
+ * Fix installation of the s390 libstdc++ biarch headers.
+ * Install new bmmintrin.h, mmintrin-common.h headers.
+ * Build -dbg packages for libgcc, libgomp, libmudflap, libffi, libobjc,
+ libgfortran.
+ * Downgrade libmudflap-dev recommendation to a suggestion. Closes: #443929.
+
+ [Riku Voipio]
+ * Configure armeabi with --disable-sjlj-exceptions.
+ * armel testsuite takes ages, adjust build accordingly.
+
+ -- Matthias Klose <doko@debian.org> Sun, 30 Sep 2007 12:06:02 +0200
+
+gcc-4.3 (4.3-20070902-1) experimental; urgency=low
+
+ * Upload to experimental.
+
+ -- Matthias Klose <doko@debian.org> Sun, 2 Sep 2007 20:51:16 +0200
+
+gcc-4.3 (4.3-20070902-0ubuntu1) gutsy; urgency=low
+
+ * Update to SVN 20070902 from the trunk.
+ * Fix the build logic for the Ubuntu i386 buildd; we can't build biarch.
+ * Only remove libgcj9's classmap db if no other libgcj9* library is
+ installed.
+ * A lot more updates for 4.3 packaging.
+
+ -- Matthias Klose <doko@ubuntu.com> Sat, 01 Sep 2007 21:01:43 +0200
+
+gcc-4.3 (4.3-20070901-0ubuntu1) gutsy; urgency=low
+
+ * Update to SVN 20070901 from the trunk.
+ * First gcc-4.3 package build.
+ - Update patches for the *-linux-gnu builds.
+ - Update build files for 4.3.
+ * Add proposed patch for PR middle-end/33029.
+ * gcj-4.3: Install gc-analyze.
+
+ -- Matthias Klose <doko@ubuntu.com> Sat, 1 Sep 2007 20:52:16 +0200
+
+gcc-4.2 (4.2.2-7) unstable; urgency=low
+
+ * Update to SVN 20080114 from the ubuntu/gcc-4_2-branch.
+ - Fix PR middle-end/34762. LP: #182412.
+ * Update debian/watch. Closes: #459259. Addresses: #459391, #459392.
+ * Build libgomp documentation without building libgomp. Closes: #460660.
+ * Restore gomp development files. Closes: #460736.
+
+ -- Matthias Klose <doko@debian.org> Mon, 14 Jan 2008 23:20:04 +0100
+
+gcc-4.2 (4.2.2-6) unstable; urgency=low
+
+ * Update to SVN 20080113 from the ubuntu/gcc-4_2-branch.
+ * Adjust build-dependency on debhelper, dpkg-dev.
+ * Fix gnat-4.2 build failure (addresses: #456867).
+ * Do not build packages built from the gcc-4.3 source.
+
+ -- Matthias Klose <doko@debian.org> Sun, 13 Jan 2008 13:48:49 +0100
+
+gcc-4.2 (4.2.2-5) unstable; urgency=low
+
+ [Matthias Klose]
+ * Update to SVN 20080102 from the ubuntu/gcc-4_2-branch.
+ - Fix PR middle-end/32889, ICE in delete_output_reload.
+ Closes: #444873, #445336, #451047.
+ - Fix PR target/34215, ICE in assign_386_stack_local.
+ Closes: #446714, #452451.
+ - Fix PR target/33848, reference to non-existent label at -O1 on
+ mips/mipsel. Closes: #441633.
+ * debian/rules.d/binary-java.mk: dpkg-shlibsdeps can't handle the dangling
+ symlink to libgcj_bc.so.1. Remove it temporarily.
+ * Add libgcj_bc to the libgcj8-1 shlibs file.
+ * Fix build failures for gnat-4.2, gpc-4.2, gdc-4.2 introduced by recent
+ gdc changes.
+ * Add symbol files for libgcc1, lib32gcc1, lib64gcc1, libstdc++6,
+ lib32stdc++6, lib64stdc++6, libgomp1, lib32gomp1, lib64gomp1, libffi4,
+ lib32ffi4, lib64ffi4, libobjc2, lib32objc2, lib64objc2. Adjust build
+ dependencies on dpkg-dev and debhelper.
+ Adjust build-dependency on dpkg-dev.
+
+ [Arthur Loiret]
+ * Fix gdc-4.2 build failure.
+ * Update gdc to upstream SVN 20071124.
+ - d-bi-attrs: Support attributes on declarations in other modules.
+ - d-codegen.cc (IRState::attributes): Support constant declarations as
+ string arguments.
+ * Enable libphobos:
+ - gdc-4.2.dpatch: Fix ICEs.
+ - gdc-4.2-build.dpatch: Update, make it cleaner.
+ * Install libphobos in the private gcc lib dir.
+ * gdc-4.2.dpatch: Update from gdc-4.1.dpatch.
+ - gcc/tree-sra.c: Do not use SRA on structs with aliased fields created
+ for anonymous unions.
+ - gcc/predict.c: Add null-pointer check.
+ * debian/rules.defs: Disable phobos on hurd-i386.
+ - gdc-hurd-proc_maps.dpatch: Remove.
+
+ -- Matthias Klose <doko@debian.org> Wed, 02 Jan 2008 15:49:30 +0100
+
+gcc-4.2 (4.2.2-4) unstable; urgency=low
+
+ [Matthias Klose]
+ * Update to SVN 20071123 from the ubuntu/gcc-4_2-branch.
+ - Fix PR middle-end/34130, wrong code with some __builtin_abs expressions.
+ Closes: #452108.
+ * Don't run the testsuite on hppa when expect-tcl8.3 is not available.
+ * Fix libgcc1-dbg doc directory symlink. Closes: #447969.
+ * Use gcc-multilib as build-dependency instead of gcc-4.1-mulitlib.
+ * Support for fast-math on hurd-i386 (Michael Banck). Closes: #451520.
+ * Fix again profiling support on the Hurd (Thomas Schwinge). Closes: #434937.
+
+ [Arthur Loiret]
+ * Merge gdc-4.1 patches and build infrastructure:
+ - gdc-4.2.dpatch: Add, setup gcc-4.2.x for D.
+ - gdc-4.2-build.dpatch: Add, update gdc builtins and driver objs.
+ - gdc-driver-zlib.dpatch: Add, use up-to-date system zlib.
+ - gdc-driver-defaultlib.dpatch: Add, add -defaultlib/-debuglib switches.
+ - gdc-driver-nophobos.dpatch: Add, disable libphobos when unsupported.
+ - gdc-libphobos-build.dpatch: Add, enable libphobos build when supported.
+ - gdc-fix-build.dpatch: Add, fix build on non-biarched 64bits targets.
+ - gdc-libphobos-std-format.dpatch: Add, replace assert when formating a
+ struct on non-x86_64 archs by a FormatError.
+ - gdc-arm-unwind_ptr.dpatch: Add, fix build on arm.
+ - gdc-mips-gcc-config.dpatch: Add, fix build on mips.
+ - gdc-hurd-proc_maps.dpatch: Add, fix build on hurd.
+
+ -- Matthias Klose <doko@debian.org> Sat, 24 Nov 2007 12:01:06 +0100
+
+gcc-4.2 (4.2.2-3) unstable; urgency=low
+
+ * Update to SVN 20071014 from the ubuntu/gcc-4_2-branch.
+ - Fix build failure in libjava on mips/mipsel.
+ * Make 4.2.2-2 a requirement for frontends built from separate sources.
+ Addresses: #446596.
+
+ -- Matthias Klose <doko@debian.org> Sun, 14 Oct 2007 14:13:00 +0200
+
+gcc-4.2 (4.2.2-2) unstable; urgency=low
+
+ * Update to SVN 20071011 from the ubuntu/gcc-4_2-branch.
+ - Fix PR middle-end/33448, ICE in create_tmp_var. Closes: #439687.
+ - Remove debian/patches/pr31899.dpatch, applied upstream.
+ - Remove debian/patches/pr33381.dpatch, applied upstream.
+ * gij-hppa: Call gij-4.2, not gij-4.1. Addresses: #446282.
+
+ -- Matthias Klose <doko@debian.org> Thu, 11 Oct 2007 23:41:52 +0200
+
+gcc-4.2 (4.2.2-1) unstable; urgency=low
+
+ * Update to SVN 20071008 from the ubuntu/gcc-4_2-branch, corresponding
+ to the GCC-4.2.2 release.
+ * Fix dependencies of lib*gcc1-dbg packages. Closes: #445190.
+ * Remove libjava-armeabi patch integrated upstream.
+ * gcjwebplugin: Fix path of the gcj subdirectory. LP: #149792.
+ * Apply proposed patch for PR debug/31899. Closes: #445268.
+
+ * Add niagara2 optimization support (David Miller).
+
+ -- Matthias Klose <doko@debian.org> Mon, 08 Oct 2007 21:12:41 +0200
+
+gcc-4.2 (4.2.1-6) unstable; urgency=high
+
+ [Matthias Klose]
+ * Update to SVN 20070929 from the ubuntu/gcc-4_2-branch.
+ - Fix PR middle-end/33382, ICE (closes: #441481).
+ - Fix PR tree-optimization/28544 (4.2.1, closes: #380482).
+ - Fix PR libffi/28313, port to mips64 (closes: #358235).
+ * Fix PR tree-optimization/33099, PR tree-optimization/33381,
+ wrong code generation with VRP/SCEV. Closes: #440545, #443576.
+ * Update Hurd fixes (Samuel Thibault).
+ * When -fstack-protector is the default (Ubuntu), do not enable
+ -fstack-protector when -nostdlib is specified. LP: #77865.
+ * Add -g to BOOT_CFLAGS, set STAGE1_CFLAGS to -g -O, only pass
+ other settings when required.
+ * Fix installation of the s390 libstdc++ biarch headers.
+ * Allow the powerpc build on a 32bit machine (without running the
+ biarch testsuite).
+ * Build -dbg packages for libgcc, libgomp, libmudflap, libffi, libobjc,
+ libgfortran.
+ * Drop the build dependency on expect-tcl8.3 (the hppa testsuite seems
+ to complete sucessfully with the expect package).
+ * Downgrade libmudflap-dev recommendation to a suggestion. Closes: #443929.
+
+ * Closing reports reported against gcc-4.1 and fixed in gcc-4.2:
+ - General
+ + PR rtl-optimization/21299, error in invalid asm statement.
+ Closes: #380121.
+ - C++
+ + PR libstdc++/19664, libstdc++ headers have pop/push of the visibility
+ around the declarations (closes: #307207, #324290, #423547).
+ + PR c++/21581, functions in anonymous namespaces default to "hidden"
+ visibility (closes: #278310).
+ + PR c++/4882, specialization of inner template using outer template
+ argument (closes: #269513).
+ + PR c++/6634, wrong parsing of "long long double" (closes: #247112).
+ + PR c++/10891, code using dynamic_cast causes segfaults when -fno-rtti
+ is used (closes: #188943).
+ + PR libstdc++/14991, stream::attach(int fd) porting entry out-of-date.
+ Closes: #178561.
+ + PR libstdc++/31638, string usage leads to warning with -Wcast-align.
+ Closes: #382153.
+ + Fix memory hog seen with g++-4.1. Closes: #411234.
+ - Fortran
+ + PR fortran/29228, ICE in gfc_trans_deferred_array (closes: #387222).
+ + PR fortran/24285, allow dollars everywhere in format (closes: #324600).
+ + PR libfortran/28354, 0.99999 printed as 0. instead of 1. by
+ format(f3.0). Closes: #397671.
+ + Fix ICE in gfc_get_extern_function_decl (closes: #396292).
+ - Architecture specific:
+ - i386
+ + Fix error with -m64 (unable to find a register to spill in class
+ 'DIREG'). Closes: #430049.
+ - mips
+ + Fix ICE in tsubst (closes: #422303).
+ - s390
+ + Fix ICE (segmentation fault) building dcmtk (closes: #435736).
+
+ [Roman Zippel]
+ * Update the m68k patches.
+
+ [Riku Voipio]
+ * Configure armeabi with --disable-sjlj-exceptions.
+ * armel testsuite takes ages, adjust build accordingly.
+
+ [Ludovic Brenta and Xavier Grave]
+ * Add a version of the Ada run-time library using the setjump/longjump
+ exception handling mechanism (static library only). Use with
+ gnatmake --RTS=sjlj. Particularly useful for distributed (Annex E)
+ programs.
+ * Restore building libgnatvsn-dev and libgnatprj-dev.
+
+ -- Matthias Klose <doko@debian.org> Sat, 29 Sep 2007 11:19:40 +0200
+
+gcc-4.2 (4.2.1-5) unstable; urgency=low
+
+ * Update to SVN 20070825 from the ubuntu/gcc-4_2-branch.
+ - Fix PR debug/32610, LP: #121911.
+ * Apply proposed patches:
+ - Improve debug info for packed arrays with constant bounds
+ (PR fortran/22244).
+ - Fix ICE in rtl_for_decl_init on const vector initializers
+ (PR debug/32914).
+ - Fix (neg (lt X 0)) optimization (PR rtl-optimization/33148).
+ - Fix libgcc.a(tramp.o) on ppc32.
+ - Fix redundant reg/mem stores/moves (PR target/30961).
+ * Update the -fdirectives-only backport.
+ * gappletviewer-4.2: Include the gcjwebplugin binary. LP: #131114.
+ * Update gpc patches and build support (not yet enabled).
+ * Fix gcc-snapshot hppa64 install target.
+ * Set the priority of the source package to optional.
+ * Remove .la files from the biarch libstdc++ debug packages,
+ conflict with the 3.4 package. Closes: #440490.
+
+ [Arthur Loiret]
+ * Add build support for GDC.
+
+ -- Matthias Klose <doko@debian.org> Mon, 27 Aug 2007 01:39:32 +0200
+
+gcc-4.2 (4.2.1-4) unstable; urgency=medium
+
+ * gcc-4.2: Include missing std*.h header files.
+
+ -- Matthias Klose <doko@debian.org> Tue, 14 Aug 2007 11:14:35 +0200
+
+gcc-4.2 (4.2.1-3) unstable; urgency=low
+
+ * Update to SVN 20070812 from the ubuntu/gcc-4_2-branch.
+ * debian/rules.defs: Fix typo, run the checks in biarch mode too.
+ * libgcj8-awt: Loosen dependency on gcj-4.2-base.
+ * Build only needed multilib libraries when building as gcj or gnat.
+ * Always build biarch libgomp in biarch builds.
+ * debian/rules2: Adjust testsuite logs files for logwatch.sh.
+ * Include header files from $/gcc_lib_dir)/include-fixed.
+ * Backport from trunk: -fdirectives-only (when preprocessing, handle
+ directives, but do not expand macros).
+ * Report an ICE to apport (if apport is available and the environment
+ variable GCC_NOAPPORT is not set)
+ * Fix gcj build failure on the Hurd (Samuel Thibault). Closes: #437470.
+
+ -- Matthias Klose <doko@debian.org> Sun, 12 Aug 2007 21:11:00 +0200
+
+gcc-4.2 (4.2.1-2) unstable; urgency=low
+
+ [Matthias Klose]
+ * Update to SVN 20070804 from the ubuntu/gcc-4_2-branch (20070804):
+ - Merge gcc-4_2-branch SVN 20070804.
+ - Imported classpath CVS 20070727.
+ - Bump the libgcj soname, add conflict with java-gcj-compat (<< 1.0.76-4).
+ - Remove patches integrated in the branches: pr32862.
+ - Update patches: libjava-subdir, libjava-jar.
+ - Add regenerated class files: svn-class-updates.
+
+ * Fix profiling support on the Hurd (Michael Casadeval). Closes: #434937.
+ * Fix build on kfreebsd-amd64 (Aurelien Jarno). Closes: #435053.
+ * Period of grace is over, run the testsuite on m68k-linux again.
+ * Update infrastructure for the gcc-source package (Bastian Blank).
+ * Update profiling on the Hurd (Samuel Thibault, Michael Casadevall).
+ Closes: #433539.
+ * debian/rules2: Allow DEB_BUILD_OPTIONS=parallel=<n> to overwrite NJOBS.
+ * Allow lang=<l1>,<l2> nolang=<l3,l4> in DEB_BUILD_OPTIONS; deprecating
+ WITHOUT_LANG, and WITHOUT_CHECK.
+ * debian/rules.defs, debian/rules.conf: Cache some often used macros.
+
+ * Preliminary work: Enable Java for ARM EABI (Andrew Haley), build
+ libffi for armel.
+ * gcj: Don't build the browser plugin in gcc-snapshot builds to get
+ rid of the xulrunner dependency.
+ * gcjwebplugin: Register for more browsers (package currently not built).
+ * gij/boehm-gc: Use sysconf as fallback, if reading /proc/stat fails.
+ Closes: #422469.
+ * libjava: Avoid dependency on MAXHOSTNAMELEN (Samuel Thibault).
+ * gcj: On arm and armel, use the ecj1 binary built from the ecj package.
+ * gcj: Don't require javac without java maintainer mode, remove build
+ dependencies on gcj and ecj, add build dependency on libecj-java.
+
+ -- Matthias Klose <doko@debian.org> Sun, 05 Aug 2007 15:56:07 +0200
+
+gcc-4.2 (4.2.1-1) unstable; urgency=medium
+
+ [Ludovic Brenta]
+ * debian/patches/ada-symbolic-tracebacks.c: remove all trace of
+ the function convert_addresses from adaint.c. Fixes FTBFS on alpha,
+ s390 and possibly other platforms. Closes: #433633.
+ * debian/control.m4: list myself as uploader if the source package name
+ is gnat. Relax build-dependency on gnat-4.2-source.
+ * debian/control.m4, debian/rules.conf: Build-depend on libmpfr-dev only
+ if building Fortran.
+
+ [Matthias Klose]
+ * debian/rules.conf: Fix breakage of Fortran build dependencies introduced
+ by merge of the Ada bits.
+ * Don't include the gccbug binary anymore in the gcc package; upstream bug
+ reports should be reported to the upstream bug tracker at
+ http://gcc.gnu.org/bugzilla.
+ * Don't build and test libjava for the biarch architecture.
+ * Install gappletviewer man page. Addresses: #423094.
+ * debian/patches/m68k-java.dpatch: Readd.
+ * gjar: support @ arguments.
+ * Update to SVN 20070726 from the ubuntu/gcc-4_2-branch.
+ - Fix mips/mipsel builds.
+ * libmudflap0: Fix update leaving an empty doc dir. Closes: #428306.
+ * arm/armel doesn't have ssp support. Closes: #433172.
+ * Update kbsd-gnu-ada patch (Aurelien Jarno): Addresses: #434754.
+ * gcj-4.2: Build depend on gcj-4.2 to build the classpath examples files
+ for the binary-indep target.
+ * Fix PR java/32862, bugs in EnumMap implementation. Addresses: #423160.
+
+ [Arthur Loiret]
+ * Fix cross builds targeting x86_64. Closes: LP: #121834.
+
+ -- Matthias Klose <doko@debian.org> Thu, 26 Jul 2007 21:46:03 +0200
+
+gcc-4.2 (4.2.1-0) unstable; urgency=low
+
+ [Matthias Klose]
+ * Update to SVN 20070719 from the ubuntu/gcc-4_2-branch, corresponding
+ to the GCC-4.2.1 release.
+ - debian/patches/arm-gij.dpatch: Remove. Closes: #433714.
+ * Apply proposed patch for PR tree-optimization/32723.
+ * Tighten build dependency on libmpfr-dev.
+ * On ia64, apply proposed patch for PR target/27880. Closes: #433719.
+
+ [Hector Oron]
+ * Fix cross and reverse-cross builds. Closes: #432356.
+
+ -- Matthias Klose <doko@debian.org> Thu, 19 Jul 2007 17:59:37 +0200
+
+gnat-4.2 (4.2-20070712-1) unstable; urgency=low
+
+ * debian/rules.d/binary-ada.mk, debian/control.m4:
+ disable building libgnatvsn-dev and libgnatprj-dev, as they conflict
+ with packages from gnat-4.1. Will reenable them for the transition to
+ gnat-4.2.
+ * Upload as gnat-4.2. Closes: #432525.
+
+ -- Ludovic Brenta <lbrenta@debian.org> Sat, 14 Jul 2007 15:12:34 +0200
+
+gcc-4.2 (4.2-20070712-1) unstable; urgency=high
+
+ [Matthias Klose]
+ * Update to SVN 20070712 from the ubuntu/gcc-4_2-branch.
+ - 4.2.1 RC2, built from SVN.
+ - same as gcc-4_2-branch, plus backport of gcc/java, boehm-gc, libffi,
+ libjava, zlib from the trunk.
+ - debian/patches/arm-libffi.dpatch: Remove.
+ - Fixes ICE in update_equiv_regs. Closes: #432604.
+ * debian/control.m4: Restore build dependency on dejagnu.
+ * debian/patches/arm-gij.dpatch: Update.
+ * i386-biarch.dpatch: Update for the backport for PR target/31868.
+ Closes: #432599.
+
+ -- Matthias Klose <doko@debian.org> Fri, 13 Jul 2007 08:07:51 +0200
+
+gcc-4.2 (4.2-20070707-1) unstable; urgency=low
+
+ [Matthias Klose]
+ * Update to SVN 20070707 from the ubuntu/gcc-4_2-branch.
+ - debian/patches/libjava-soname.dpatch: Remove.
+ - debian/patches/disable-configure-run-check.dpatch: Update.
+ * Only suggest multilib packages on multilib architectures.
+ * Point ICE messages to the 4.2 docdir.
+ * Explicitely use fastjar to build gcj-4.1. Addresses: #416001.
+ * Configure with --enable-libgcj on m32r (Kazuhiro Inaoka).
+ * Include the hppa64 cross compiler on hppa snapshot builds.
+ * debian/patches/arm-libffi.dpatch: Update.
+ * libgcj-doc: Include the generated documentation.
+ * Fix building the libjava/classpath examples.
+ * Support reverse cross builds (Neil Williams). Closes: #431086.
+
+ -- Matthias Klose <doko@debian.org> Sat, 07 Jul 2007 10:59:26 +0200
+
+gcc-4.2 (4.2-20070627-1) unstable; urgency=high
+
+ [Matthias Klose]
+ * Update to SVN gcc-4_2-branch/20070626.
+ * Update to SVN trunk/20070626 (gcc/java, libjava, libffi, boehm-gc).
+ * On mips*-linux, always imply -lpthread for -pthread (Thiemo Seufer).
+ Addresses: #428741.
+ * Fix libstdc++ cross builds (Arthur Loiret). Closes: #430395.
+ * README.Debian: Point to debian-toolchain for general toolchain topics.
+ * Use the generated locales for the libstdc++ build to fix the setting
+ of the gnu locale model. Closes: #428926, #429660.
+ * For ix86 lpia targets, configure --with-tune=i586.
+ * Make build dependency on gcc-4.1-multilib architecture specific.
+ * Do not ignore bootstrap comparision failure on ia64.
+
+ [Ludovic Brenta]
+ * ada-link-lib.dpatch: update to apply cleanly on GCC 4.2.
+ * ada-libgnat{vsn,prj}.dpatch: adjust to GCC 4.2. Reenable in rules.patch.
+ * rules.conf: do not build libgomp as part of gnat-4.2.
+ * rules.conf, control.m4: build-depend on libz-dev, lib32z-dev or
+ lib64-dev only when building Java.
+ * rules2, rules.defs: $(with_mudflap): remove, use $(with_libmudflap) only.
+ * config.m4, binary-ada.mk: tighten dependencies; no Ada package depends
+ on gcc-4.2-base anymore.
+ * TODO: rewrite.
+ * README.gnat: include in gnat-4.2-base. Remove outdated information.
+ * README.maintainers: new. Include in gnat-4.2-base.
+
+ [Hector Oron]
+ * Merge DEB_CROSS_INDEPENDENT with DEB_CROSS.
+ * Disables libssp0 for arm and armel targets when cross compiling.
+ * Updates README.cross.
+ * Fixes linker mapping problem on binary-libstdcxx-cross.mk. Closes: #430688.
+
+ -- Matthias Klose <doko@debian.org> Wed, 27 Jun 2007 21:54:08 +0200
+
+gcc-4.2 (4.2-20070609-1) unstable; urgency=low
+
+ * Update to SVN gcc-4_2-branch/20070609.
+ - Remove patches integrated upstream: pr30052, hppa-caller-save-pic-tls.
+ * Update to SVN trunk/20070609 (gcc/java, libjava, libffi, boehm-gc).
+ - Remove patches integrated upstream: libjava-qt-peer,
+ classpath-config-guess.
+ * Do not build with --enable-java-maintainer-mode.
+ * debian/rules.patch: Comment out m68k-peephole, requires m68k-split_shift.
+ * Add target to apply patches up to a specific patch (Wouter Verhelst).
+ Closes: #424855.
+ * libstdc++6-4.2-*: Add conflicts with 4.1 packages. Closes: #419511.
+ * Apply proposed fix for PR target/28102. Closes: #426905.
+ * Fix build failure for cross compiler builds (Jiri Palecek). Closes: #393897.
+ * Update build macros for kfreebsd-amd64. Closes: #424693.
+
+ -- Matthias Klose <doko@ubuntu.com> Sat, 9 Jun 2007 06:54:13 +0200
+
+gcc-4.2 (4.2-20070528-1) unstable; urgency=low
+
+ * Update to SVN gcc-4_2-branch/20070528.
+ * Add backport for PR middle-end/20218.
+ * Add proposed PTA solver backport, PR tree-optimization/30052.
+ * Add backport for PR target/31868.
+ * Reenable the testsuite for arm, mips, mipsel.
+
+ -- Matthias Klose <doko@debian.org> Mon, 28 May 2007 09:03:04 +0200
+
+gcc-4.2 (4.2-20070525-1) unstable; urgency=low
+
+ * Update to SVN gcc-4_2-branch/20070525.
+ * Update to SVN trunk/20070520 (gcc/java, libjava, libffi, boehm-gc).
+ * Do not explicitely configure for __cxa_atexit.
+ * libstdc++6-4.2-doc: Conflict with libstdc++6-4.1-doc. Closes: #424896.
+ * Update m68k patches:
+ - Remove patches applied upstream: m68k-jumptable, m68k-gc,
+ - Reenable patches: m68k-save_pic, m68k-dwarf, m68k-limit_reload,
+ m68k-prevent-qipush, m68k-peephole, m68k-return, m68k-sig-unwind,
+ m68k-align-code m68k-align-stack, m68k-symbolic-operand,
+ m68k-bitfield-offset.
+ - Update: m68k-return, m68k-secondary-addr-reload, m68k-notice-move
+ m68k-secondary-addr-reload, m68k-notice-move.
+ - TODO: m68k-split_shift, m68k-dwarf3, m68k-fpcompare.
+ * Update the kfreebsd and arm patches (Aurelien Jarno). Closes: #425011.
+ * Temporarily disable the testsuite on slow architectures to get the
+ package built soon.
+
+ -- Matthias Klose <doko@debian.org> Fri, 25 May 2007 07:14:36 +0200
+
+gcc-4.2 (4.2-20070516-1) unstable; urgency=low
+
+ * Update to SVN gcc-4_2-branch/20070516.
+ * Update to SVN trunk/20070516 (gcc/java, libjava, libffi, boehm-gc).
+ * Merge changes from gcc-4.1_4.1.2-7.
+ * Update NEWS files.
+
+ -- Matthias Klose <doko@debian.org> Wed, 16 May 2007 02:33:57 +0200
+
+gcc-4.2 (4.2-20070502-1) unstable; urgency=low
+
+ * Update to SVN gcc-4_2-branch/20070502.
+ - Remove pr11953 patch, integrated upstream.
+ * Update to SVN trunk/20070502 (gcc/java, libjava, libffi, boehm-gc).
+ * Adjust tetex/tex-live build dependency.
+ * Fix gobjc-4.2's, gobjc++-4.2's dependency on libobjc2.
+ * Tighten (build) dependency on binutils. Addresses: #421197.
+ * gfortran-4.2: Depend on libgfortran2, provide the libgfortran.so
+ symlink. Adresses: #421362.
+ * Build-depend on gcc-multilib [amd64 i386 powerpc ppc64 s390 sparc].
+ * (Build-) depend on glibc (>= 2.5) for all architectures.
+ * Remove libssp packages from the control file.
+
+ -- Matthias Klose <doko@debian.org> Wed, 2 May 2007 18:46:57 +0200
+
+gcc-4.2 (4.2-20070405-1) experimental; urgency=low
+
+ * Update to SVN gcc-4_2-branch/20070405.
+ * Update to SVN trunk/20070405 (gcc/java, libjava, libffi, boehm-gc).
+ * gcc-4.2-hppa64: Don't depend on libc6-dev.
+ * Robustify setting of make's -j flag. Closes: #410919.
+ * gcc-snapshot: Use the install_snap_stamp target for installation.
+
+ -- Matthias Klose <doko@debian.org> Thu, 5 Apr 2007 23:56:35 +0200
+
+gcc-4.2 (4.2-20070307-1) experimental; urgency=low
+
+ * Update to SVN gcc-4_2-branch/20070307.
+ * Update to SVN trunk/20070307 (gcc/java, libjava, libffi, boehm-gc).
+ * Build gnat from separate sources.
+ * Merge changes from gcc-4.1-4.1.2-1.
+ * Install into /usr/lib/gcc/<target_alias>/4.2, to ease upgrades
+ between subminor versions.
+ * Configure --with-gxx-include-dir=/usr/include/c++/4.2
+
+ -- Matthias Klose <doko@debian.org> Thu, 8 Mar 2007 02:52:00 +0100
+
+gcc-4.2 (4.2-20070210-1) experimental; urgency=low
+
+ * Merge Java backport from Ubuntu:
+ - Update to SVN gcc-4_2-branch/20070210.
+ - Update to SVN trunk/20070210 (gcc/java, libjava).
+ - Backout trunk specific gcc/java changes.
+ - Build-depend on gcj-4.1 and ecj-bootstrap.
+ - gcj-4.2: Depend on ecj-bootstrap, recommend ecj-bootstrap-gcj.
+ - Merge libgcj8-awt-gtk back into libgcj8-awt; the Qt peers
+ are disabled by upstream again.
+ - Generate manual pages for the classpath tools from the classpath
+ documentation.
+ - Adopt packaging for the merged libjava.
+ - Update patches for the merged libjava: libjava-lib32-properties,
+ i386-biarch, reporting, libjava-soname, libjava-subdir,
+ libjava-lib32subdir.
+ - Remove obsolete patches: libjava-plugin-binary, libjava-ia32fix,
+ libstdc++-docfixes.
+
+ * Set priority of development packages to optional.
+ * debian/libgcjGCJ.postrm: Don't fail on purge when directories
+ don't exist anymore. Closes: #406017.
+ * debian/patches/gcc-textdomain.dpatch: Update for 4.2.
+ * Generate and install libgomp docs into gcc-4.2-doc.
+
+ -- Matthias Klose <doko@debian.org> Sat, 10 Feb 2007 16:53:11 +0100
+
+gcc-4.2 (4.2-20070105-1) experimental; urgency=low
+
+ * Update to SVN 20070105.
+ * Add tetex-extra to Build-Depend-Indep (libstd++ doxygen docs),
+ fix doxygen build (libstdc++-docfixes.dpatch).
+ * Enable parallel build by default on SMP machines.
+
+ -- Matthias Klose <doko@debian.org> Fri, 5 Jan 2007 22:42:18 +0100
+
+gcc-4.2 (4.2-20061217-1) experimental; urgency=low
+
+ * Update to SVN 20061217.
+ * Merge changes from gcc-4.1_4.1.1-16 to gcc-4.1_4.1.1-21.
+ * Update patches to the current branch.
+ * Add multilib packages for gcc, g++, gobjc, gobjc++, gfortran.
+ * Link using --hash-style=gnu (alpha, amd64, ia64, i386, powerpc, ppc64,
+ s390, sparc).
+
+ -- Matthias Klose <doko@debian.org> Sun, 17 Dec 2006 15:54:54 +0100
+
+gcc-4.2 (4.2-20061003-1) experimental; urgency=low
+
+ * libgcj.postinst: Remove /var/lib/gcj-4.2 on package removal.
+ * Don't install backup files in the doc directory, only one gcc-4.1
+ upgrade was broken. Closes: #389366.
+ * Merge gcc-biarch-generic.dpatch into i386-biarch.dpatch.
+ * Update link-libs.dpatch.
+ * Merge libgfortran2-dev into gfortran-4.2.
+
+ -- Matthias Klose <doko@debian.org> Tue, 3 Oct 2006 16:26:38 +0000
+
+gcc-4.2 (4.2-20060923-1) experimental; urgency=low
+
+ * Update to SVN 20060923.
+ * Remove patches applied upstream: kbsd-gnu-java, kbsd-gnu.
+
+ -- Matthias Klose <doko@debian.org> Sat, 23 Sep 2006 15:11:36 +0200
+
+gcc-4.2 (4.2-20060905-1) experimental; urgency=low
+
+ * Update to SVN 20060905.
+ * Merge changes from gcc-4.1 (4.1.1-10 - 4.1.1-12).
+ * Move gomp development files into gcc and gfortran.
+ * Build-depend on binutils (>= 2.17).
+
+ -- Matthias Klose <doko@debian.org> Tue, 5 Sep 2006 03:33:00 +0200
+
+gcc-4.2 (4.2-20060818-1) experimental; urgency=low
+
+ * Update to SVN 20060818.
+ - libjava-libgcjbc.dpatch: Remove, applied upstream.
+ * Merge changes from the Ubuntu gcj-4.2 package:
+ - libjava-soname.dpatch: Remove, applied upstream.
+ - libjava-native-libdir.dpatch: update.
+ - libffi-without-libgcj.dpatch: Remove, new libffi-configure to
+ enable --disable-libffi.
+ - Changes required for the classpath-0.92 update:
+ - New packages gappletviewer-4.2, gcjwebplugin-4.2.
+ - gij-4.2: Add keytool alternative.
+ - gcj-4.2: Add jarsigner alternative.
+ - libgcj8-dev: Remove conflicts with older libgcjX-dev packages.
+ - lib32gcj8: Populate the /usr/lib32/gcj-4.2 directory.
+ - libjava-library-path.dpatch:
+ - When running the i386 binaries on amd64, look in
+ /usr/lib32/gcj-x.y and /usr/lib32/jni instead.
+ - Add /usr/lib/jni to java.library.path. Adresses: #364820.
+ - Add more debugging symbols to libgcj8-dbg. Adresses: #383705.
+ - Fix and renable the biarch build for sparc.
+ * Disable gnat for alpha, fails to build.
+ * Configure without --enable-objc-gc, fails to build.
+
+ -- Matthias Klose <doko@debian.org> Sat, 19 Aug 2006 18:25:50 +0200
+
+gcc-4.2 (4.2-20060709-1) experimental; urgency=low
+
+ * Test build, SVN trunk 20060709.
+ * Merge libssp0-dev into gcc-4.1 (-fstack-protector is a common option).
+ * Rename libmudflap0-dev to libmudflap0-4.2-dev.
+ * Ignore compiler warnings when checking whether compiler driver understands
+ Ada fails.
+ * Merge changes from the gcc-4.1 package.
+
+ -- Matthias Klose <doko@debian.org> Sun, 9 Jul 2006 14:28:03 +0200
+
+gcc-4.2 (4.2-20060617-1) experimental; urgency=low
+
+ * Test build, SVN trunk 20060617.
+
+ [Matthias Klose]
+ * Configure using --enable-objc-gc, using the internal boehm-gc.
+ * Build-depend on bison (>= 1:2.3).
+ * Build the QT based awt peer library, not yet the same functionality
+ as the GTK based peer library.
+ * Update libjava-* patches.
+
+ [Ludovic Brenta]
+ * Do not provide the symbolic link /usr/bin/gnatgcc; this will now
+ be provided by package gnat from the source package gcc-defaults.
+ * debian/control.m4, debian/control (gnat): conflict with gnat (<< 4.1),
+ not all versions of gnat, since gcc-defaults will now provide gnat (= 4.1)
+ which depends on gnat-4.1.
+
+ [Bastian Blank]
+ * Make it possible to overwrite arch per DEB_TARGET_ARCH and
+ DEB_TARGET_GNU_TYPE.
+ * Disable biarch only on request for cross builds.
+ * Use correct source directory for tarballs.
+ * Produce correct multiarch.inc for source builds.
+
+ -- Matthias Klose <doko@debian.org> Sat, 17 Jun 2006 19:02:01 +0200
+
+gcc-4.2 (4.2-20060606-1) experimental; urgency=low
+
+ * Test build, SVN trunk 20060606.
+ * Remove obsolete patches, update patches for 4.2.
+ * Update the biarch-include patches to work with mips-triarch.
+ * Disable Ada, not yet updated.
+ * New packages: libgomp*.
+ * Remove fastjar, not included upstream anymore.
+
+ -- Matthias Klose <doko@debian.org> Tue, 6 Jun 2006 10:52:28 +0200
+
+gcc-4.1 (4.1.2-12) unstable; urgency=high
+
+ * i386-biarch.dpatch: Update for the backport for PR target/31868.
+ Closes: #427185.
+ * m68k-libffi2.dpatch: Update. Closes: #425399.
+
+ -- Matthias Klose <doko@debian.org> Mon, 4 Jun 2007 23:53:23 +0200
+
+gcc-4.1 (4.1.2-11) unstable; urgency=low
+
+ * Update to SVN 20070601.
+ * Build the libmudflap0-dev package again.
+ * Don't build libffi, when the packages are not built.
+
+ -- Matthias Klose <doko@debian.org> Fri, 1 Jun 2007 23:55:22 +0200
+
+gcc-4.1 (4.1.2-10) unstable; urgency=low
+
+ * Regenerate the control file.
+
+ -- Matthias Klose <doko@debian.org> Wed, 30 May 2007 00:29:29 +0200
+
+gcc-4.1 (4.1.2-9) unstable; urgency=low
+
+ * Update to SVN 20070528.
+ * Don't build packages now built from the gcc-4.2 source (arm, m68k,
+ mips, mipsel).
+ * Add backport for PR middle-end/20218.
+ * Add backport for PR target/31868.
+
+ -- Matthias Klose <doko@debian.org> Tue, 29 May 2007 00:01:12 +0200
+
+gcc-4.1 (4.1.2-8) unstable; urgency=low
+
+ * Update to SVN 20070518.
+ * Don't build packages now built from the gcc-4.2 source.
+
+ [ Aurelian Jarno ]
+ * Update libffi patch for ARM. Closes: #425011.
+ * arm-pr30486, arm-pr28516, arm-unbreak-eabi-armv4t: New.
+ * Disable FFI, Java, ObjC for armel.
+
+ -- Matthias Klose <doko@debian.org> Sun, 20 May 2007 10:31:24 +0200
+
+gcc-4.1 (4.1.2-7) unstable; urgency=low
+
+ * Update to SVN 20070514.
+ * Link using --hash-style=both on supported architectures. Addresses: #421790.
+ * On hppa, build ecjx as a native binary.
+ * note-gnu-stack.dpatch: Fix ARM comment marker (Daniel Jacobowitz).
+ Closes: #422978.
+ * Add build dependency on libxul-dev for *-freebsd. Closes: #422995.
+ * Update config.guess/config.sub and build gcjwebplugin on GNU/kFreeBSD
+ (Aurelian Jarno). Closes: #422995.
+ * Disable ssp on hurd-i386. Closes: #423757.
+
+ -- Matthias Klose <doko@debian.org> Mon, 14 May 2007 08:40:08 +0200
+
+gcc-4.1 (4.1.2-6) unstable; urgency=low
+
+ * Update libjava from the gcc-4.1 Fedora branch 20070504.
+ * gfortran-4.1: Fix the target of the libgfortran.so symlink.
+ Closes: #421362.
+ * Build-depend on gcc-multilib [amd64 i386 powerpc ppc64 s390 sparc].
+ * Readd build dependency on binutils on arm.
+ * (Build-) depend on glibc (>= 2.5) for all architectures.
+ * Remove libssp packages from the control file.
+ * Fix wrong code generation on hppa when TLS variables are used.
+ Closes: #422421.
+
+ -- Matthias Klose <doko@debian.org> Sun, 6 May 2007 10:00:23 +0200
+
+gcc-4.1 (4.1.2-5) unstable; urgency=low
+
+ * Update to SVN 20070429.
+ * Update libjava from the gcc-4.1 Fedora branch 20070428.
+ * Update m68k patches:
+ - Remove pr25514, pr27736, applied upstream.
+ - Update m68k-java.
+ * Link using --hash-style=gnu/both.
+ * Tighten (build) dependency on binutils. Closes: #421197.
+ * gij-4.1: Add a conflict with java-gcj-compat (<< 1.0.69).
+ * gfortran-4.1: Depend on libgfortran1, provide the libgfortran.so
+ symlink. Closes: #421362.
+ * gcc-4.1, gcc-4.1-multilib: Fix compatibility symlinks. Closes: #421382.
+ * Temporarily remove build dependency on locales on arm, hppa, m68k, mipsel.
+ * Temporarily remove build dependency on binutils on arm.
+ * Fix FTBFS on GNU/kFreeBSD (Aurelian Jarno). Closes: #421423.
+ * gij-4.1 postinst: Create /var/lib/gcj-4.1. Closes: #421526.
+
+ -- Matthias Klose <doko@debian.org> Mon, 30 Apr 2007 08:13:32 +0200
+
+gcc-4.1 (4.1.2-4) unstable; urgency=medium
+
+ * Update to SVN 20070423.
+ - Remove pr11953, applied upstream.
+ - Fix ld version detection in libstdc++v3.
+ * Update libjava from the gcc-4.1 Fedora branch 20070423.
+ * Merge libgfortran1-dev into gfortran-4.1.
+ * Add multilib packages for gcc, g++, gobjc, gobjc++, gfortran.
+ * Don't link using --hash-style=gnu/both; loosen dependency on binutils.
+ * Don't revert the patch to fix PR c++/27227.
+
+ -- Matthias Klose <doko@debian.org> Mon, 23 Apr 2007 23:13:14 +0200
+
+gcc-4.1 (4.1.2-3) experimental; urgency=low
+
+ * Update to SVN 20070405.
+ * Update libjava from the gcc-4.1 Fedora branch 20070405.
+ * Robustify setting of make's -j flag. Closes: #414316.
+ * Only build the libssp packages, when building the common libraries.
+ * gcc-4.1-hppa64: Don't depend on libc6-dev.
+
+ -- Matthias Klose <doko@debian.org> Fri, 6 Apr 2007 00:28:29 +0200
+
+gcc-4.1 (4.1.2-2) experimental; urgency=low
+
+ * Update to SVN 20070306.
+ * Update libjava from the gcc-4.1 Fedora branch 20070306.
+
+ [Matthias Klose]
+ * Don't install gij-wrapper anymore, directly register gij as a java
+ alternative.
+ * Don't install gcjh-wrapper anymore.
+ * Don't use exact versioned dependencies on gcj-base for libgcj and
+ libgcj-awt.
+ * Fix glibc build dependency for alpha.
+ * Support -ffast-math on hurd-i386 (Samuel Thibault). Closes: #413342.
+ * Update kfreebsd-amd64 patches (Aurelien Jarno). Closes: #406015.
+ * gij: Consistently use $(dbexecdir) to reference the gcj sub dir.
+ * Install into /usr/lib/gcc/<target_alias>/4.1, to ease upgrades
+ between minor versions.
+ Add compatibility symlinks in <target_alias>/4.1.2 to build gnat-4.1
+ and gcj-4.1 from separate sources.
+
+ -- Matthias Klose <doko@debian.org> Wed, 7 Mar 2007 03:51:47 +0100
+
+gcc-4.1 (4.1.2-1) experimental; urgency=low
+
+ [Matthias Klose]
+ * Update to gcc-4.1.2.
+ * Update libjava backport patches, split out boehm-gc-backport patch.
+ * Enable the cpu-default-generic patch (i386, amd64), backport from 4.2.
+ * Correct mfctl instruction syntax (hppa), backport from the trunk.
+ * Backport PR java/9861 (name mangling updates).
+ * gcc.c (main): Call expandargv (backport from 4.2).
+ * Apply gcc dwarf2 unwinding patches from the trunk.
+ * Apply backport for PR 20208 on amd64 i386 powerpc ppc64 sparc s390.
+ * Apply patches from the 4.1 branch for PR rtl-optimization/28772,
+ PR middle-end/30313, PR middle-end/30473, PR c++/30536, PR debug/30189,
+ PR fortran/30478, PR rtl-optimization/30787, PR tree-optimization/30823,
+ PR rtl-optimization/28173, PR ada/30684, bug in pointer dependency test,
+ PR rtl-optimization/30931, PR fortran/25392, PR fortran/30400,
+ PR libgfortran/30910, PR libgfortran/30918, PR fortran/29441,
+ PR target/30634.
+ * Update NEWS files.
+ * Include a backport of the ecj+generics java updates as
+ gcj-ecj-20070215.tar.bz2. Install it into the gcc-4.1-source package.
+ * Do not build fastjar anymore from this source.
+ * debian/control.m4: Move expect-tcl8.3 before dejagnu.
+ * Work around firefox/icewhatever dropping plugin dependencies on xpcom.
+ * Refactor naming of libgcj packages in the build files.
+ * Make libstdc++-doc's build dependencies depending on the source package.
+ * Do not build packages on architectures, which are already built by gcc-4.2.
+
+ * Merge the gcj generics backport from Ubuntu:
+
+ - Merge the Java bits (eclipse based compiler, 1.5 compatibility,
+ classpath generics) from the gcc-4.1 Fedora branch.
+ - Drop all previous patches from the classpath-0.93 merge, keep
+ the boehm-gc backport (splitted out as a separate patch).
+ - Add a gcj-ecj-generics.tar.bz2 tarball, containing gcc/java, libjava,
+ config/unwind_ipinfo.m4, taken from the Fedora branch.
+ - Drop the libjava-hppa, libjava-plugin-binary, pr29362, pr29805 patches
+ integrated in the backport.
+ - Update patches for the merge: reporting, libjava-subdir, i386-biarch,
+ classpath-tooldoc, pr26885
+ - Add libjava-dropped, libjava-install; dropped chunks from the merge.
+ - Add pr9861-nojava mangling changes, non-java parts for PR 9861.
+ - Add gcc-expandv, expand `@' parameters on the commandline; backport
+ from the trunk.
+ - Disable the m68k-gc patch, needs update for the merge.
+ - Configure --with-java-home set for 1.5.0.
+ - Configure with --enable-java-maintainer-mode to build the header
+ and class files on the fly.
+ - Add build dependency on ecj-bootstrap, configure --with-ecj-jar.
+ - Build an empty libgcj-doc package; gjdoc currently cannot handle
+ generics.
+ - Apply gcc dwarf2 unwinding patches from the trunk, allowing the Events
+ testcase to pass.
+ - Tighten dependencies on shared libraries.
+ - Use /usr/lib/gcj-4-1-71 as private gcj subdir.
+ - Bump the libgcj soversion to 71, rename the libgcj7-0 package
+ to libgcj7-1, rename the libgcj7-awt package to libgcj7-1-awt.
+ - gij-4.1: Add and provide alternatives for gorbd, grmid, gserialver.
+ - gcj-4.1: Remove gcjh, gcjh-wrapper, gjnih.
+ - gcj-4.1: Add and provide alternatives for jar, javah, native2ascii,
+ tnameserv.
+ - gcj-4.1: Add dependency on ecj-bootstrap, recommend fastjar,
+ ecj-bootstrap-gcj.
+ - Add build dependency on ecj-bootstrap version providing the GCCMain
+ class.
+ - libgcj7-1: Recommend libgcj7-1-awt.
+ - Add build dependency on libmagic-dev.
+ - Build-depend on gcj-4.1; build our own ecj1 and gjdoc before
+ starting the build.
+ - Make ecj1 available when running the testsuite.
+ - Fix build failure on sparc-linux.
+ - Fix gjavah compatibility problems (PR cp-tools/3070[67]).
+ - Fixed driver issue source files (PR driver/30714).
+ - Add (rudimentary) manual pages for classpath tools.
+
+ [Kevin Brown]
+ * debian/control.m4, debian/rules.d/binary-ada.mk: provide new packages
+ containing debugging symbols for Ada libraries: libgnat-4.1-dbg,
+ libgnatprj4.1-dbg, and libgnatvsn4.1-dbg. Adresses: #401385.
+
+ -- Matthias Klose <doko@debian.org> Sat, 3 Mar 2007 23:12:08 +0100
+
+gcc-4.1 (4.1.1ds2-30) experimental; urgency=low
+
+ * Update to SVN 20070106.
+ * Do not revert the fixes for PR 25878, PR 29138, PR 29408.
+ * Don't build the packages built by gcc-4.2 source.
+ * debian/patches/note-gnu-stack.dpatch: Add .note.GNU-stack sections
+ for gcc's crt files, libffi and boehm-gc. Taken from FC. Closes: #382741.
+ * Merge from Ubuntu:
+ - Backport g++ visibility patches from the FC gcc-4_1-branch.
+ - Update the long-double patches; require glibc-2.4 as a build dependency
+ on alpha, powerpc, sparc, s390. Bump the shlibs dependencies to
+ require 4.1.1-21.
+ - On powerpc-linux configure using --enable-secureplt. Closes: #382748.
+ - When using the cpu-default-generic patch, build for generic x86-64
+ on amd64 and i386 biarch.
+ - Link using --hash-style=both (alpha, amd64, ia64, i386, powerpc, ppc64,
+ s390, sparc).
+ * gij-4.1: Recommends libgcj7-awt instead of suggesting it. Closes: #394917.
+ * Split the gcc-long-double patch into a code and doc part.
+ * Set priority of development packages to optional.
+ * Add support for kfreebsd-amd64 (Aurelian Jarno). Closes: #406015.
+
+ -- Matthias Klose <doko@debian.org> Sat, 6 Jan 2007 10:35:42 +0100
+
+gcc-4.1 (4.1.1ds2-22) unstable; urgency=high
+
+ * Enable -pthread for GNU/Hurd (Michael Banck). Closes: #400031.
+ * Update the m68k-fpcompare patch (Roman Zippel). Closes: #401585.
+
+ -- Matthias Klose <doko@debian.org> Sun, 10 Dec 2006 12:35:06 +0100
+
+gcc-4.1 (4.1.1ds2-20) unstable; urgency=low
+
+ [Matthias Klose]
+ * Update to SVN 20061115.
+ - Fix PR tree-optimization/27891, ICE in tree_split_edge.
+ Closes: #370248, #391657, #394630.
+ - Fix PR tree-optimization/9814, duplicate of PR tree-optimization/29797.
+ Closes: #181096.
+ * Apply the libjava/net backport from the redhat/gcc-4_1-branch.
+ * Apply proposed patch for PR java/29805.
+
+ [Roman Zippel]
+ * Build the ObjC and ObjC++ compilers in cross builds.
+ * debian/patches/m68k-symbolic-operand.dpatch: Better recognize
+ symbolic operands in addresses.
+ * debian/patches/m68k-bitfield-offset.dpatch: Only use constant offset
+ for register bitfields (combine expects shifts, but does a rotate).
+ * debian/patches/m68k-bitfield-offset.dpatch: Update and apply.
+
+ [Daniel Jacobowitz]
+ * Don't try to use _Unwind_Backtrace on SJLJ targets.
+ See bug #387875, #388505, GCC PR 29206.
+
+ -- Matthias Klose <doko@debian.org> Wed, 15 Nov 2006 08:59:53 -0800
+
+gcc-4.1 (4.1.1ds2-19) unstable; urgency=low
+
+ * Fix typo in arm-pragma-pack.dpatch.
+
+ -- Matthias Klose <doko@debian.org> Sat, 28 Oct 2006 11:04:00 +0200
+
+gcc-4.1 (4.1.1ds2-18) unstable; urgency=medium
+
+ [Matthias Klose]
+ * Update to SVN 20061028.
+ * Fix #pragma pack on ARM (Paul Brook). Closes: #394703.
+ * Revert PR c++/29138, PR c++/29408. Closes: #392559.
+ * Revert PR c++/25878. Addresses: #387989.
+ * fastjar: Provide jar. Closes: #395397.
+
+ [Ludovic Brenta]
+ * debian/control.m4 (libgnatprj-dev): depend on libgnatvsn-dev.
+ debian/gnatprj.gpr: with gnatvsn.gpr. Closes: #395000.
+
+ -- Matthias Klose <doko@debian.org> Thu, 26 Oct 2006 23:51:10 +0200
+
+gcc-4.1 (4.1.1ds2-17) unstable; urgency=low
+
+ [Matthias Klose]
+ * Update to SVN 20061020.
+ - Fix PR debug/26881, ICE in dwarf2out_finish. Closes: #377613.
+ - Fix PR PR c++/29408, parse error for valid code. Closes: #392327, #393010.
+ - Fix PR c++/29435, segfault with sizeof and templates. Closes: #393071.
+ - Fix PR target/29338, segfault with -finline-limit on arm. Closes: 390620.
+ - Fix 3.4/4.0 backwards compatibility problem in libstdc++.
+ * Fix PR classpath/29362, taken from the redhat/gcc-4_1-branch.
+ * Remove the INSTALL directory from the source tarball. Closes: #392974.
+ * Disable building the static libgcj; non-functional, and cutting
+ down build times.
+ * libgcj7-0: Tighten dependency on libgcj-common.
+ * libgcj7-dev: Install .pc file as libgcj-4.1.pc.
+ * README.cross: Updated (Hector Oron). Addresses: #380251.
+ * config-ml.dpatch: Use *-linux-gnu as *_GNU_TYPE. Closes: #394034.
+
+ [Nikita V. Youshchenko]
+ * Fix typo in the cross build scripts. Closes: #391445.
+
+ [Falk Hueffner]
+ * alpha-no-ev4-directive.dpatch: Fix kernel build failure.
+
+ [Roman Zippel]
+ * debian/patches/m68k-align-code.dpatch: Use "move.l %a4,%a4" to advance
+ within code.
+ * debian/patches/m68k-align-stack.dpatch: Try to keep the stack word aligned.
+ * debian/patches/m68k-dwarf3.dpatch: Emit correct dwarf info for cfa offset
+ and register with -fomit-frame-pointer.
+ * debian/patches/m68k-fpcompare.dpatch: Bring fp compare early to its
+ desired form to relieve reload. Closes: #390879.
+ * debian/patches/m68k-prevent-swap.dpatch: Don't swap operands
+ during reloads.
+ * debian/patches/m68k-reg-inc.dpatch: Reinsert REG_INC notes after splitting
+ an instruction.
+ * debian/patches/m68k-secondary-addr-reload.dpatch: Add secondary reloads
+ to allow reload to get byte values into addr regs. Closes: #385327.
+ * debian/patches/m68k-symbolic-operand.dpatch: Better recognize symbolic
+ operands in addresses.
+ * debian/patches/m68k-limit_reload.dpatch: Remove, superseded by
+ m68k-secondary-addr-reload.dpatch.
+ * debian/patches/m68k-notice-move.dpatch: Apply, was checked in in -16.
+ * debian/patches/m68k-autoinc.dpatch: Updated, don't attempt to increment
+ the register, if it's used multiple times in the instruction .
+
+ -- Matthias Klose <doko@debian.org> Sat, 21 Oct 2006 00:25:05 +0200
+
+gcc-4.1 (4.1.1ds1-16) unstable; urgency=low
+
+ [Matthias Klose]
+ * Update to SVN 20061008.
+ - Fix PR c++/29226, ICE in make_decl_rtl. Closes: #388263.
+ * libgcj7-0: Fix package removal. Closes: #390874.
+ * Configure with --disable-libssp on architectures that don't
+ support it (alpha, hppa, ia64, m68k, mips, mipsel).
+ * On hppa, remove build-dependency on dash.
+ * gij/gcj: Do not install slave links for the non DFSG manpages.
+ Closes: #390425, #390532.
+ * libgcj-common: rebuild-gcj-db: Don't do anything, if no classmap
+ files are found. Closes: #390966.
+ * Fix PR libstdc++/11953, extended for all linux architectures.
+ Closes: #391268.
+ * libffi4-dev: Conflict with libffi. Closes: #387561.
+ * Backport PR target/27880 to the gcc-4_1-branch. Patch by Steve Ellcey.
+ Closes: #390693.
+ * On ia64, don't use _Unwind_GetIPInfo in libjava and libstdc++.
+ * Add a README.ssp with minimal documentation about stack smashing
+ protection. Closes: #366094.
+ * Do not build libgcj-common from the gcc-4.1/gcj-4.1 sources anymore.
+
+ [Roman Zippel]
+ * debian/patches/m68k-notice-move.dpatch: Don't set cc_status
+ for fp move without fp register.
+
+ -- Matthias Klose <doko@debian.org> Sun, 8 Oct 2006 02:21:49 +0200
+
+gcc-4.1 (4.1.1ds1-15) unstable; urgency=medium
+
+ * Update to SVN 20060927.
+ - Fix PR debug/29132, exception handling on mips. Closes: #389468, #390042.
+ - Fix typo in gcc documentation. Closes: #386180.
+ - Fix PR target/29230, wrong code generation on arm. Closes: #385505.
+ * libgcj-common: Ignore exit value of gcj-dbtool in rebuild-gcj-db on
+ arm, m68k, hppa. Adresses: #388505.
+ * libgcj-common: Replaces java-gcj-compat-dev and java-gcj-compat.
+ Closes: #389539.
+ * libgcj-common: /usr/share/gcj/debian_defaults: Define gcj_native_archs.
+ * Update the java backport from the redhat/gcc-4_1-branch upto 2006-09-27;
+ remove libjava-str2double.dpatch, pr28661.dpatch.
+ * Disable ssp on hppa, not supported.
+ * i386-biarch.dpatch: Avoid warnings about macro redefinitions.
+
+ -- Matthias Klose <doko@debian.org> Fri, 29 Sep 2006 22:32:41 +0200
+
+gcc-4.1 (4.1.1ds1-14) unstable; urgency=medium
+
+ [Matthias Klose]
+ * Update to SVN 20060920.
+ - Fix PR c++/26957. Closes: #373257, #386910.
+ - Fix PR rtl-optimization/28243. Closes: #378325.
+ * Remove patch for PR rtl-optimization/28634, applied upstream.
+ * Fix FTBFS on GNU/kFreeBSD (fallout from the backport of classpath-0.92).
+ (Petr Salinger). Closes: #385974.
+ * Merge from Ubuntu:
+ - Do not encode the subminor version in the jar files.
+ - Fix typo for the versioned gcj subdirectory in lib32gcj-0.
+ - When running the i386 binaries on amd64, adjust the properties
+ java.home, gnu.classpath.home.url, sun.boot.class.path,
+ gnu.gcj.precompiled.db.path.
+ - Configure the 32bit build on amd64
+ --with-java-home=/usr/lib32/jvm/java-1.4.2-gcj-4.1-1.4.2.0/jre.
+ - Configure --with-long-double-128 for glibc-2.4 on alpha, powerpc, ppc64,
+ s390, s390x, sparc, sparc64.
+ - Update the java backport from the redhat/gcc-4_1-branch upto 2006-09-20.
+ - Fix PR java/29013, invalid byte code generation. Closes: #386926.
+ - debian/patches/gcc-pfrs-2.dpatch: Apply a fix for a regression in the
+ backport of PR 28946 from the trunk (H.J. Lu).
+ * Backport PR classpath/28661 from the trunk.
+ * Don't ship the .la files for the java modules. Closes: #386228.
+ * gcj-4.1: Remove dangling symlink. Closes: #386430.
+ * gij: Suggest java-gcj-compat, gcj: Suggest java-gcj-compat-dev.
+ Closes: #361942.
+ * Fix infinite loop in string-to-double conversion on 64bit targets.
+ Closes: #348792.
+ * gij-4.1: Ignore exit value of gcj-dbtool in postinst. Adresses: #388505.
+ * libgcj-common: Move rebuild-gcj-db from java-gcj-compat into libgcj-common.
+ * On hppa, install a wrapper around gij-4.1 to ignore unaligned memory
+ accesses. Works around buildd configurations enabling this check by
+ default. Addresses: #364819.
+
+ [Ludovic Brenta]
+ * debian/patches/ada-libgnatprj.dpatch: Build mlib-tgt-linux.adb instead of
+ mlib-tgt.adb. Closes: #387826.
+ * debian/patches/ada-pr15802.dpatch: Backport from the trunk.
+ Closes: #246384.
+ * debian/control.m4 (gnat-4.1): do not provide gnat (supplied by
+ gcc-defaults instead); conflict with gnat-4.2 which will soon be in
+ unstable.
+
+ [Roman Zippel]
+ * debian/patches/m68k-dwarf2.dpatch: Recognize stack adjustments also
+ in the src of an instruction.
+ * debian/patches/m68k-jumptable.dpatch: Don't force byte offset when
+ accessing the jumptable, gas can generate the correct offset size instead.
+ * debian/patches/m68k-peephole.dpatch: Convert some text peepholes to rtl
+ peepholes, so the correct DWARF2 information can be generated for stack
+ manipulations (Keep a few peepholes temporarily disabled).
+ * debian/patches/m68k-peephole-note.dpatch: Don't choke on notes while
+ reinserting REG_EH_REGION notes.
+ * debian/patches/m68k-return.dpatch: Don't use single return if fp register
+ have to be restored. Closes: #386864.
+ * debian/patches/m68k-sig-unwind.dpatch: Add support for unwinding over
+ signal frames.
+ * Fix PR rtl-optimization/27736, backport from the trunk.
+ * Add java support for m68k. Closes: #312830, #340874, #381022.
+
+ -- Matthias Klose <doko@debian.org> Sun, 24 Sep 2006 19:36:31 +0200
+
+gcc-4.1 (4.1.1ds1-13) unstable; urgency=medium
+
+ * Update to SVN 20060901; remove patches applied upstream:
+ - PR target/24367.
+ - PR c++/26670.
+ * Apply proposed patch for PR fortran/28908.
+ * Fix biarch symlinks in lib64stdc++ for cross builds.
+ * Fix biarch symlinks in lib32objc on amd64.
+
+ -- Matthias Klose <doko@debian.org> Fri, 1 Sep 2006 00:04:05 +0200
+
+gcc-4.1 (4.1.1ds1-12) unstable; urgency=medium
+
+ [Matthias Klose]
+ * Update to SVN 20060830.
+ * Add backport of PR other/26208, bump libgcc1 shlibs dependency.
+ * Add backport of PR c++/26670. Closes: #356548.
+ * Apply proposed patch for PR target/24367 (s390).
+ * Add /usr/lib/jni to the libjava dlsearch path. Closes: #364820.
+ * Build without GFDL licensed docs. Closes: #384036.
+ - debian/patches/{svn-doc-updates,pr25524-doc,pr26885-doc}.dpatch:
+ Split out -doc specific patches.
+ - debian/*.texi, debian/porting.html: Add dummy documentation.
+ - debian/rules.unpack, debian/rules.patch: Update for non-gfdl build.
+ - fastjar.texi: Directly define the gcctabopt and gccoptlist macros.
+
+ * Merge from Ubuntu:
+ - Backport the classpath-0.92, libjava, gcc/java merge from the
+ redhat/gcc-4_1-branch branch.
+ - Apply the proposed patch for PR libgcj/28698.
+ - Change the libgcj/libgij sonames. Rename libgcj7 to libgcj7-0.
+ - Do not remove the rpath from libjvm.so and libjawt.so. Some
+ configure scripts rely on being able to link that libraries
+ directly.
+ - When running the i386 binaries on amd64, look in
+ /usr/lib32/gcj-x.y and /usr/lib32/jni instead.
+ - Add /usr/lib/jni to java.library.path. Closes: #364820.
+ - Add debugging symbols for more binary packages to libgcj7-dbg.
+ Closes: #383705.
+ - libgcj7-dev: Remove conflicts with older libgcjX-dev packages.
+ - Do not build the libgcj-bc and lib32gcj-bc packages anymore from
+ the gcj-4.1 source.
+
+ [Roman Zippel]
+ * debian/patches/m68k-limit_reload.dpatch: Correctly limit reload class.
+ Closes: #375522.
+ * debian/patches/m68k-split_shift.dpatch: Use correct predicates for long long
+ shifts and use more splits. Closes: #381572.
+ * debian/patches/m68k-prevent-qipush.dpatch: Prevent combine from creating
+ a byte push on the stack (invalid on m68k). Closes: #385021.
+ * debian/patches/m68k-autoinc.dpatch: Recognize a few more autoinc possibilities.
+ * debian/patches/pr25514.dpatch: Backport from the trunk.
+ * debian/patches/m68k-gc.dpatch: Change STACKBOTTOM to LINUX_STACKBOTTOM
+ so it works with 2.6 kernels.
+ * Other m68k bug reports fixed in 4.1.1-11 and 4.1.1-12:
+ Closes: #378599, #345574, #344041, #323426, #340293.
+ * Build the stage1 compiler using -g -O2; saves a few hours build time
+ and apparently is working at the moment.
+
+ -- Matthias Klose <doko@debian.org> Tue, 29 Aug 2006 21:37:28 +0200
+
+gcc-4.1 (4.1.1-11) unstable; urgency=low
+
+ * The "Our priority are our users, remove the documentation!" release.
+
+ [Matthias Klose]
+ * Fix build failure building the hppa->hppa64 cross compiler.
+ * Update to SVN 20060814.
+ - Fix directory traversal vulnerability in fastjar. Closes: #368397.
+ CVE-2006-3619.
+ - Fix PR rtl-optimization/23454, ICE in invert_exp_1 on sparc.
+ Closes: #321215.
+ - Fix PR c++/26757, C++ front-end producing two DECLs with the same UID.
+ Closes: #356569.
+ * Remove patch for PR rtl-optimization/28075, applied upstream.
+ * Apply proposed patch for PR rtl-optimization/28634, rounding problem with
+ -fdelayed-branch on hppa/mips. Closes: #381710.
+ * Fixed at least in 4.1.1-10: boost::date_time build failure.
+ Closes: #382352.
+ * Build-depend on make (>= 3.81), add make (>= 3.81) as dependency to
+ gcc-4.1-source. Closes: #381117.
+ * Backport of libffi from the trunk; needed for the java backport in
+ experimental.
+ * libffi4-dev: Install the libffi_convenience library as libffi_pic.a.
+ * When building a package without the GFDL'd documentation, don't create
+ the alternative's slave links for manual pages for the java tools.
+ * Do not build the -doc packages and derived manual pages licensed under
+ the GFDL with invariant sections or cover texts.
+ * Only build the libssp package, if the target libc doesn't provide
+ ssp support.
+ * Run the complete testsuite, when building a standalone gcj package.
+
+ [Roman Zippel]
+ * debian/patches/m68k-fjump.dpatch:
+ Always use as fjcc pseudo op, we rely heavily on as to generate the
+ right size for the jump instructions. Closes: #359281.
+ * debian/patches/m68k-gc.dpatch:
+ The thread suspend handler has to save all registers.
+ Reenable MPROTECT_VDB, it should work, otherwise it's probably a kernel bug.
+ * debian/patches/m68k-save_pic.dpatch:
+ Correctly save the pic register, when not done by reload().
+ (fixes _Unwind_RaiseException and thus exception handling).
+ * debian/patches/m68k-libffi.dpatch: Add support for closures.
+ * debian/patches/m68k-bitfield.dpatch: Avoid propagation of mem expression
+ past a zero_extract lvalue.
+ * debian/patches/m68k-dwarf.dpatch: Correct the dwarf frame information,
+ but preserve compatibility.
+
+ [Christian Aichinger]
+ * Fix building a cross compiler targeted for ia64. Closes: #382627.
+
+ -- Matthias Klose <doko@debian.org> Tue, 15 Aug 2006 00:41:00 +0200
+
+gcc-4.1 (4.1.1-10) unstable; urgency=low
+
+ * Update to SVN 20060729.
+ - Fix PR c++/28225, segfault in type_dependent_expression_p.
+ Closes: #376148.
+ * Apply proposed patch for PR rtl-optimization/28075.
+ Closes: #373820.
+ * Apply proposed backport and proposed patch for PR rtl-optimization/28221.
+ Closes: #376084.
+ * libgcj7-jar: Loosen dependency on gcj-4.1-base.
+ * Add ssp header files to the private gcc includedir.
+ * Do not build the Ada packages from the gcc-4.1 source, introducing
+ a new gnat-4.1 source package.
+ * Build libgnat on alpha and s390 as well.
+ * Do not build the gnat-4.1-doc package (GFDL with invariant sections or
+ cover texts).
+ * Remove references to the stl-manual package. Closes: #378698.
+
+ -- Matthias Klose <doko@debian.org> Sat, 29 Jul 2006 22:08:59 +0200
+
+gcc-4.1 (4.1.1-9) unstable; urgency=low
+
+ * Update to SVN 20060715.
+ - Fix PR c++/28016, do not emit uninstantiated static data members.
+ Closes: #373895, #376871.
+ * Revert the patch to fix PR c++/27227. Closes: #378321.
+ * multiarch-include.dpatch: Renamed from biarch-include.dpatch;
+ apply for all architectures.
+ * Do not build the java compiler in gcc-4.1 package, just include the
+ options and specs in the gcc driver.
+ * Remove gnat-4.0 as an alternative build dependency.
+ * Add a patch to enable -fstack-protector by default for C, C++, ObjC, ObjC++.
+ The patch is disabled by default.
+
+ -- Matthias Klose <doko@debian.org> Sat, 15 Jul 2006 17:07:29 +0200
+
+gcc-4.1 (4.1.1-8) unstable; urgency=medium
+
+ * Update to SVN 20060708.
+ - Fix typo in gcov documentation. Closes: #375140.
+ - Fix typo in gccint documentation. Closes: #376412.
+ - [alpha], Fix -fvisibility-inlines-hidden segfaults on reference to
+ static method. PR target/27082. Closes: #369642.
+
+ * Fix ppc64 architecture string in debian/multiarch.inc. Closes: #374535.
+ * Fix conflict, replace and provide libssp0-dev for cross compilers.
+ Closes: #377012.
+ * Ignore compiler warnings when checking whether compiler driver understands
+ Ada fails. Closes: #376660.
+ * Backport fix for PR libmudflap/26864 from the trunk. Closes: #26864.
+ * README.C++: Remove non-existing URL. Closes: #347601.
+ * gij-4.1: Provide java2-runtime. Closes: #360906.
+
+ * Closed reports reported against gcc-3.0 and fixed in gcc-4.1:
+ - C++
+ + PR libstdc++/13943, call of overloaded `llabs(int)' is ambiguous.
+ Closes: #228645.
+ - Java
+ + Fixed segmentation fault on compiling bad program. Closes: #165635
+ * Closed reports reported against gcc-3.3 and fixed in gcc-4.1:
+ - Stack protector available. Closes: #213994, #233208.
+ - Better documentation of -finline-limit option. Closes: #296047.
+ * Closed reports reported against gcc-3.4 and fixed in gcc-4.1:
+ - General
+ + Fixed [unit-at-a-time] Using -O2 cannot detect missing return
+ statement in a function. Closes: #276843.
+ - C++
+ + PR13943, call of overloaded `llabs(int)' is ambiguous. Closes: #228645.
+ + PR c++/21280, #pragma interface, templates, and "inline function used
+ but never defined". Closes: #364412.
+ - Architecture specific:
+ - m68k
+ + Segfault building glibc. Closes: #353618.
+ + ICE when trying to build boost. Closes: #321486.
+ * Closed reports reported against gcc-4.0 and fixed in gcc-4.1:
+ - General
+ + Handling of #pragma GCC visibility for builtin functions.
+ Closes: #330279.
+ + gettext interpretation the two conditional strings as one.
+ Closes: #227193.
+ + ICE due to if-conversion. Closes: #335078.
+ + Fix unaligned accesses with __attribute__(packed) and memcpy.
+ Closes: #355297.
+ + Fix ICE in expand_expr_real_1, at expr.c. Closes: #369817.
+ - Ada
+ + Link error not finding -laddr2line. Closes: #322849.
+ + ICE on invalid code. Closes: #333564.
+ - C++
+ + libstdc++: bad thousand separator with fr_FR.UTF-8. Closes: #351786.
+ + The Compiler uses less memory than 4.0. Closes: #336225.
+ + Fix "fails to compare reverse map iterators". Closes: #362840.
+ + Fix "fail to generate code for base destructor defined inline with
+ pragma interface". Closes: #356435.
+ + Fix ICE in cp_expr_size, at cp/cp-objcp-common.c. Closes: #317455.
+ + Fix wrong warning: control may reach end of non-void function.
+ Closes: #319309.
+ + Fix bogus warning "statement has no effect" with template and
+ statement-expression. Closes: #336915.
+ + Fixed segfault on syntax error. Closes: #349087.
+ + Fix ICE with __builtin_constant_p in template argument.
+ Closes: #353366.
+ + Implement DR280 (fixing "no operator!= for const_reverse_iterator").
+ Closes: #244894.
+ - Fortran
+ + Fix wrong behaviour in unformatted writing. Closes: #369547.
+ - Java
+ + Fixed segfault on -fdump-tree-all-all. Closes: #344265.
+ + Fixed ant code completion in eclipse generating a nullpointer
+ exception. Closes: #337510.
+ + Fixed abort in gnu_java_awt_peer_gtk_GtkImage.c. Closes: #343112.
+ + Fixed assertion failure in gij with rhdb-explain. Closes: #335650.
+ + Fixed assertion failure when calling JTabbedPane.addTab(null, ...).
+ Closes: #314704.
+ + Fixed error when displaying empty window with bound larger than the
+ displayed content. Closes: #324502.
+ + Fixed: Exception in JComboBox.removeAllItems(). Closes: #314706.
+ + Fixed assertian error in gnu_java_awt_peer_gtk_GtkImage.c.
+ Closes: #333733.
+ - libmudflap
+ + PR libmudflap/23170, libmudflap should not use functions marked
+ obsolescent by POSIX/SUS. Closes: #320398.
+ - Architecture specific:
+ - m68k
+ + FTBFS building tin. Closes: #323016.
+ + ICE with -g -fomit-frame-pointer. Closes: #331150.
+ + ICE in instantiate_virtual_regs_lossage. Closes: #333536.
+ + Wrong code generation with loop unrolling. Closes: #342121.
+ + ICEs while building gst-ffmpeg. Closes: #343692.
+ - mips
+ + Fix gjdoc build failure. Closes: #344986.
+ + Fix link failure for static libs and object files when xgot
+ needs to be used. Closes: #274942.
+ * gnat bug reports fixed since gnat-3.15p:
+ - GNAT miscounts UTF8 characters in string with -gnaty. Closes: #66175.
+ - Bug box from "with Text_IO" when compiling optimized. Closes: #243795.
+ - Nonconforming parameter lists not detected. Closes: #243796.
+ - Illegal use clause not detected. Closes: #243797.
+ - Compiler enters infinite loop on illegal program with tagged records.
+ Closes: #243799.
+ - Compiler crashes on illegal program (missing discriminant, unconstrained
+ parent). Closes: #243800.
+ - Bug box at sinfo.adb:1215 on illegal program. Closes: #243801.
+ - Bug box at sinfo.adb:1651 on illegal program. Closes: #243802.
+ - Illegal program not detected (entry families). Closes: #243803.
+ - Illegal program not detected, RM 10.1.1(14). Closes: #243807.
+ - Bug box at exp_ch9.adb:7254 on illegal code. Closes: #243812.
+ - Illegal program not detected, RM 4.1.4(14). Closes: #243816.
+ - Bug box in Gigi, code=116, on legal program. Closes: #244225.
+ - Illegal program not detected, 12.7(10) (generic parameter is visible,
+ shouldn't be). Closes: #244483.
+ - Illegal program not detected, ambiguous aggregate. Closes: #244496.
+ - Bug box at sem_ch3.adb:8003. Closes: #244940.
+ - Bug box in Gigi, code=103, on illegal program. Closes: #244945.
+ - Legal program rejected, overloaded procedures. Closes: #246188.
+ - Bug box in Gigi, code=999, on legal program. Closes: #246388.
+ - Illegal program not detected, RM 10.1.6(3). Closes: #246389.
+ - Illegal program not detected, RM 3.10.2(24). Closes: #247014.
+ - Illegal program not detected, RM 3.9(17). Closes: #247015.
+ - Legal program rejected. Closes: #247016.
+ - Legal program rejected. Closes: #247021.
+ - Illegal program not detected, RM 4.7(3). Closes: #247022.
+ - Illegal program not detected, RM 3.10.2(27). Closes: #247562.
+ - Legal program rejected, "limited type has no stream attributes".
+ Closes: #247563.
+ - Wrong output from legal program. Closes: #247565.
+ - Compiler enters infinite loop on illegal program. Closes: #247567.
+ - Illegal program not detected, RM 8.6(31). Closes: #247568.
+ - Legal program rejected, visible declaration not seen. Closes: #247572.
+ - Illegal program not detected, RM 8.2(9). Closes: #247573.
+ - Wrong output from legal program, dereferencing access all T'Class.
+ Closes: #248171.
+ - Compiler crashes on illegal program, RM 5.2(6). Closes: #248174.
+ - Cannot find generic package body, RM 1.1.3(4). Closes: #248677.
+ - Illegal program not detected, RM 3.4.1(5). Closes: #248679.
+ - Compiler ignores legal override of abstract subprogram. Closes: #248686.
+ - Bug box, Assert_Failure at sinfo.adb:2365 on illegal program.
+ Closes: #251266.
+ - Ada.Numerics.Generic_Elementary_Functions.Log erroneout with -gnatN.
+ Closes: #263498.
+ - Bug box, Assert_Failure at atree.adb:2906 or Gigi abort, code=102
+ with -gnat -gnatc. Closes: #267788.
+ - Bug box in Gigi, code=116, 'Unrestricted_Access of a protected
+ subprogram. Closes: #269775.
+ - Stack overflow on illegal program, AI-306. Closes: #276225.
+ - Illegal program not detected, RM B.1(24). Closes: #276226.
+ - Wrong code generated with -O -fPIC. Closes: #306833.
+ - Obsolete: bashism's in debian/rules file. Closes: #370681.
+ - Supports more debian architectures. Closes: #171477.
+
+ -- Matthias Klose <doko@debian.org> Sat, 8 Jul 2006 16:24:47 +0200
+
+gcc-4.1 (4.1.1-7) unstable; urgency=low
+
+ * Prefer gnat-4.1 over gnat-4.0 as a build dependency.
+ * libssp0: Set priority to standard.
+
+ -- Matthias Klose <doko@debian.org> Sun, 2 Jul 2006 10:22:50 +0000
+
+gcc-4.1 (4.1.1-6) unstable; urgency=low
+
+ [Ludovic Brenta]
+ * Do not provide the symbolic link /usr/bin/gnatgcc; this will now
+ be provided by package gnat from the source package gcc-defaults.
+ * debian/control.m4, debian/control (gnat): conflict with gnat (<< 4.1),
+ not all versions of gnat, since gcc-defaults will now provide gnat (= 4.1)
+ which depends on gnat-4.1.
+
+ [Matthias Klose]
+ * libjava: Change the default for enable_hash_synchronization_default
+ on PA-RISC. Tighten the libgcj7 shlibs version on hppa.
+ * Update to SVN 20060630.
+ * Apply proposed patch for PR 26991.
+ * Don't use the version for the libstdc++ shlibs dependency for the libgcj
+ shlibs dependency.
+ * Merge from Ubuntu edgy:
+ - Fix %g7 usage in TLS, add patch sparc-g7.dpatch, fixes glibc-2.4 build
+ failure on sparc (Fabio M. Di Nitto).
+ - Merge libssp0-dev into gcc-4.1 (-fstack-protector is a common option).
+ - Run the testsuite with -fstack-protector as well.
+
+ [Bastian Blank]
+ * Make it possible to overwrite arch per DEB_TARGET_ARCH and DEB_TARGET_GNU_TYPE.
+ * Disable biarch only on request for cross builds.
+ * Use correct source directory for tarballs.
+ * Produce correct multiarch.inc for source builds.
+
+ -- Matthias Klose <doko@debian.org> Sat, 1 Jul 2006 01:49:55 +0200
+
+gcc-4.1 (4.1.1-5) unstable; urgency=low
+
+ * Fix build error running with dpkg-buildpackage -rsudo.
+
+ -- Matthias Klose <doko@debian.org> Wed, 14 Jun 2006 01:54:13 +0200
+
+gcc-4.1 (4.1.1-4) unstable; urgency=low
+
+ * Really do not backout the fix for PR c++/26068.
+ Closes: #372152, #372559.
+ * Update fastjar version string to 4.1.
+ * Disable pascal again.
+
+ -- Matthias Klose <doko@debian.org> Mon, 12 Jun 2006 20:29:57 +0200
+
+gcc-4.1 (4.1.1-3) unstable; urgency=low
+
+ * Update to SVN 20060608, do not revert the fix for PR c++/26068.
+ Closes: #372152, #372559.
+ * Fix build failures for Pascal, enable Pascal on all architectures.
+ * Fix another build failure on GNU/kFreeBSD (Aurelien Jarno).
+ Closes: #370661.
+ * Fix build fauilure in gcc/p with parallel make.
+ * Remove cross-configure patch (Kazuhiro Inaoka). Closes: #370649.
+ * Only build the gcc-4.1-source package, when building from the gcc-4.1
+ source.
+ * Fix upgrade problem from standalone gcj-4.1.
+ * Fix build error using bison-2.2, build-depend on bison (>= 2.3).
+ Closes: #372605.
+ * Backport PR libstdc++/25524 from the trunk, update the biarch-include
+ patch. mips triarch support can be added more easily.
+
+ -- Matthias Klose <doko@debian.org> Mon, 12 Jun 2006 00:23:45 +0200
+
+gcc-4.1 (4.1.1-2) unstable; urgency=low
+
+ * Update to SVN 20060604.
+ - Fix PR c++/26757, C++ front-end producing two DECLs with the same UID.
+ Closes: #356569.
+ - Fix PR target/27158, ICE in extract_insn with -maltivec.
+ Closes: #362307.
+ * Revert PR c++/26068 to work around PR c++/27884 (Martin Michlmayr).
+ Closes: #370308.
+ * Mention Ada in copyright, update copyright file (Ludovic Brenta).
+ Closes: #366744.
+ * Fix kbsd-gnu-java.dpatch (Petr Salinger). Closes: #370320.
+ * Don't include version control files in gcc-4.1-source.
+
+ -- Matthias Klose <doko@debian.org> Sun, 4 Jun 2006 19:13:37 +0000
+
+gcc-4.1 (4.1.1-1) unstable; urgency=low
+
+ [Matthias Klose]
+ * Update to SVN 20060601.
+ * Reenable the gpc build.
+ * PR libgcj/26483, libffi patch for IA-64 denorms, taken from trunk.
+ * Disable Ada for m32r targets. Closes: #367595.
+ * lib32gfortran1: Do not create empty directory /usr/lib32. Closes: #367999.
+ * gcc-4.1: Add a conflict to the gcj-4.1 version with a different
+ gcc_libdir.
+ * Build gij/gcj for GNU/k*BSD. Closes: #367166.
+ * Update hurd-changes patch (Michael Banck). Closes: #369690.
+ * debian/copyright: Add exception for the gpc runtime library.
+ * Update gpc/gpc-doc package descriptions.
+
+ [Ludovic Brenta]
+ * patches/ada-libgnatprj.dpatch: add prj-pars.ad[bs] and sfn_scan.ad[bs]
+ to libgnatprj; remove them from gnatmake.
+
+ -- Matthias Klose <doko@debian.org> Thu, 1 Jun 2006 20:35:54 +0200
+
+gcc-4.1 (4.1.0-4) unstable; urgency=low
+
+ [Ludovic Brenta]
+ * Fix a stupid bug whereby fname.ad{b,s} would be included in both
+ libgnatvsn-dev and libgnatprj-dev, preventing use of gnatprj.gpr.
+ Closes: #366733.
+
+ -- Matthias Klose <doko@debian.org> Thu, 11 May 2006 04:34:50 +0200
+
+gcc-4.1 (4.1.0-3) unstable; urgency=low
+
+ * Update to SVN 20060507.
+ * debian/rules.d/binary-java.mk: Use $(lib32) everywhere. Closes: #365388.
+ * Always configure hppa64-linux-gnu with
+ --includedir=/usr/hppa64-linux-gnu/include.
+ * Make libgnatvsn4.1 and libgnatprj4.1 priority optional. Closes: #365900.
+ * Call autoconf2.13 explicitely in the Ada patches, build-depend on
+ autoconf2.13. Closes: #365780.
+ * Fix libgnatprj-dev and libgnatvsn-dev dependencies on their shared
+ libraries.
+ * Deduce softfloat and vfp (ARM) configure options (Pjotr Kourzanov).
+ * Update proposed patch for PR26885 (May 2 version).
+ * Build the libxxstdc++-dbg packages, when not building the library pacakges.
+ * Do not include the _pic library in the libxxstdc++-dbg packages.
+
+ -- Matthias Klose <doko@debian.org> Sun, 7 May 2006 15:29:53 +0200
+
+gcc-4.1 (4.1.0-2) unstable; urgency=medium
+
+ * Update to SVN 20060428.
+ * Apply proposed patches for PR26885.
+
+ * Keep libffi doc files in its own directory. Closes: #360466.
+ * Update ppc64 patches for 4.1 (Andreas Jochens). Closes: #360498.
+ * Fix PR tree-optimization/26763, wrong-code, taken from the 4.1 branch.
+ Closes: #356896. CVE-2006-1902.
+ * hppa-cbranch, hppa-cbranch2 patches: Fix for PR target/26743,
+ PR target/11254, PR target/10274, backport from trunk (Randolph Chung).
+ * Let libgccN provide -dcv1 when cross-compiling (Pjotr Kourzanov).
+ Closes: #363289.
+ * (Build-)depend on glibc-2.3.6-7. Closes: #360895, #361904.
+ * Fix a pedantic report about a package description. Add a hint that
+ we do not like bug reports with locales other than "C". Closes: #361409.
+ * Enable the libjava interpreter on mips/mipsel.
+ * gcc-4.1-source: Depend on gcc-4.1-base.
+ * gnat-4.1: Fix permissions of .ali files.
+ * Build lib32gcj7 on amd64.
+ * debian/patches/ada-gnatvsn.dpatch: New. Apply proposed fix for
+ PR27194.
+
+ [Ludovic Brenta]
+ * debian/patches/ada-default-project-path.dpatch: new. Change the
+ default search path for project files to the one specified
+ by the Debian Policy for Ada: /usr/share/ada/adainclude.
+ * debian/patches/ada-symbolic-tracebacks.dpatch: new. Enable support for
+ symbolic tracebacks in exceptions.
+ * debian/patches/ada-missing-lib.dpatch: remove, superseded by the above.
+ * debian/patches/ada-link-lib.dpatch: changed.
+ - 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 against libgnat.
+ - Apply proposed fix for PR27300.
+ - Rerun autoconf (Matthias Klose).
+ * debian/patches/ada-libgnatvsn.dpatch: new.
+ - 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.
+ - Rerun autoconf (Matthias Klose).
+ * debian/patches/ada-libgnatprj.dpatch: new.
+ - Introduce a new shared library named libgnatprj, containing the
+ GNAT Project Manager, i.e. the parts of GNAT that parses project
+ files (*.gpr). Licensed under pure GPL; for use in GLADE and GPS.
+ - Link the gnat tools against this new library.
+ - Rerun autoconf (Matthias Klose).
+ * debian/patches/ada-acats.dpatch: new.
+ - 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.
+ * debian/gnatvsn.gpr, debian/gnatprj.gpr: new.
+ * debian/rules.d/binary-ada.mk, debian/control.m4: new binary packages:
+ libgnatvsn-dev, libgnatvsn4.1, libgnatprj-dev, libgnatprj4.1. Place
+ the *.gpr files in their respective -dev packages.
+
+ -- Matthias Klose <doko@debian.org> Sat, 29 Apr 2006 00:32:09 +0200
+
+gcc-4.1 (4.1.0-1) unstable; urgency=low
+
+ * libstdc++CXX-BV-dev.preinst: Remove (handling of c++ include dir for 4.0).
+ * libgcj-common: Move removal of docdir from preinst into postinst.
+ * libgcj7: Move removal of docdir from preinst into postinst.
+ * Drop alternative build dependency on gnat-3.4, not built anymore.
+ * Fix PR libgcj/26103, wrong exception thrown (4.1 branch).
+ * debian/patches/libjava-stacktrace.dpatch: Add support to print file names
+ and line numbers in stacktraces.
+ * Add debugging symbols for libgcjawt and lib-gnu-java-awt-peer-gtk
+ in the libgcj7-dbg and lib32gcj7-dbg packages.
+ * Remove dependency of the libgcj-dbg packages on the libgcj-dev packages,
+ add recommendations on binutils and libgcj-dev. Mention the requirement
+ of binutils for the stacktraces.
+ * Fix upgrade from version 4.0.2-9, loosing the Debian changelog.
+ Closes: #355439.
+ * gij/gcj: Install one alternative for each command, do not use slave
+ links for rmiregistry, javah, rmic. Ubuntu #26781. Closes: #342557.
+ * Fix for PR tree-optimization/26587, taken from the 4.1 branch.
+ * Fix PR libstdc++/26526 (link failure when _GLIBCXX_DEBUG is defined).
+ * Configure with --enable-clocale=gnu, even if not building C++ packages.
+ * Remove runtime path from biarch libraries as well.
+ * PR middle-end/26557 (ice-on-vaild-code, regression), taken from
+ the gcc-4_1-branch. Closes: #349083.
+ * PR tree-optimization/26672 (ice-on-vaild-code, regression), taken from
+ the gcc-4_1-branch. Closes: #356231.
+ * PR middle-end/26004 (rejects-vaild-code, regression), taken from
+ the gcc-4_1-branch.
+ * When building as standalone gcj, build libgcc4 (hppa only) and fastjar.
+ * Configure --with-cpu=v8 on sparc.
+ * debian/patches/libjava-hppa.dpatch: pa/pa32-linux.h
+ (CRT_CALL_STATIC_FUNCTION): Define when CRTSTUFFS_O is defined.
+ (John David Anglin). Closes: #353346.
+ * Point to the 4.1 version of README.Bugs (closes: #356230).
+ * Disable the libmudflap testsuite on alpha (getting killed).
+
+ -- Matthias Klose <doko@debian.org> Sat, 18 Mar 2006 23:00:39 +0100
+
+gcc-4.1 (4.1.0-0) experimental; urgency=low
+
+ * GCC 4.1.0 final release.
+ * Build the packages for the Java language from a separate source.
+ * Update NEWS.html, NEWS.gcc.
+ * libgcj-doc: Auto generated API documentation for libgcj7, classpath
+ example programs.
+ * Add gjdoc to Build-Depends-Indep.
+ * On amd64, build-depend on libc6-dev-i386 instead of ia32-libs-dev.
+ * Internal ssp headers now installed in the gcc libdir.
+ * Do not build gcj-4.1-base when building the gcc-4.1 packages.
+ * When building as gcj-4.1, use the tarball from the gcc-4.1-source
+ package.
+
+ [Ludovic Brenta]
+ * Allow one to enable and disable NLS and bootstrapping from the environment.
+ - Adding "nls" to WITHOUT_LANG disables NLS support.
+ - If WITH_BOOTSTRAP is set, debian/rules2 calls configure
+ --enable-bootstrap=$(WITH_BOOTSTRAP) and just "make". If
+ WITH_BOOTSTRAP is unset, it calls configure without a bootstrapping
+ option and calls "make profiledbootstrap" or "make bootstrap-lean"
+ depending on the target CPU.
+ Currently overwritten to default to "bootstrap".
+
+ -- Matthias Klose <doko@debian.org> Thu, 2 Mar 2006 00:03:45 +0100
+
+gcc-4.1 (4.1ds9-0exp9) experimental; urgency=low
+
+ * Update to GCC 4.1.0 release candidate 1 (gcc-4.1.0-20060219 tarball).
+ * Update gcc-version patch for gcc-4.1.
+ * libgccN, libstdc++N*: Fix upgrade of /usr/share/doc symlinks.
+ * libjava awt & swing update, taken from trunk 2006-02-16.
+ * libgcj7-dev: Suggest libgcj-doc, built from a separate source package.
+ * Shorten build-dependency line (work around buildd problems
+ on arm* and mips*).
+ * New patch gcc-ice-hack (saving the preprocessed source on an ICE),
+ taken from Fedora.
+
+ -- Matthias Klose <doko@debian.org> Mon, 20 Feb 2006 10:07:23 +0100
+
+gcc-4.1 (4.1ds8-0exp8) experimental; urgency=low
+
+ * Update to SVN 20060212, taken from the 4.1 release branch.
+ * libgccN: Fix upgrade of /usr/share/doc/libgccN symlink.
+
+ -- Matthias Klose <doko@debian.org> Sun, 12 Feb 2006 19:48:31 +0000
+
+gcc-4.1 (4.1ds7-0exp7) experimental; urgency=low
+
+ * Update to SVN 20060127, taken from the 4.1 release branch.
+ - On hppa, bump the libgcc soversion to 4.
+ * Add an option not to depend on the system -base package for cross compiler
+ (Ian Wienand). Closes: #347484.
+ * Remove workaround increasing the stack size limit for some architectures,
+ not needed anymore on ia64.
+ * On amd64, build-depend on libc6-dev-i386, depend on libc6-i386, where
+ available.
+ * libstdc++6: Properly upgrade the doc directory. Closes: #346171.
+ * libstdc++6: Add a conflict to scim (<< 1.4.2-1). Closes: #343313.
+ * Set default 32bit ix86 architecture to i486.
+
+ -- Matthias Klose <doko@debian.org> Fri, 27 Jan 2006 22:23:22 +0100
+
+gcc-4.1 (4.1ds6-0ubuntu6) experimental; urgency=low
+
+ * Update to SVN 20060107, taken from the 4.1 release branch.
+ - Remove fix for PR ada/22533, fixed by patch for PR c++/23171.
+ * Remove binary packages from the control file, which aren't built
+ yet on any architecture.
+ * gcc-hppa64: Use /usr/hppa64-linux-gnu/include as location for the glibc
+ headers, tighten glibc (build-)dependency.
+ * libffi [arm]: Add support for closures, libjava [arm]: enable the gij
+ interpreter (Phil Blundell). Addresses: #337263.
+ * For the gcj standalone build, include cc1 into the gcj-4.1 package,
+ needed for linking java programs compiled to native code.
+
+ -- Matthias Klose <doko@debian.org> Sat, 7 Jan 2006 03:36:33 +0100
+
+gcc-4.1 (4.1ds4-0exp4) experimental; urgency=low
+
+ * Update to SVN 20051210, taken from the 4.1 release branch.
+ * Prepare to build the java packages from it's own source (merged
+ from Ubuntu).
+ - Build the java packages from the gcc-4.1 source, as long as packages
+ are prepared for experimental.
+ - When built as gcj, run only the libjava testsuite, don't build the
+ libstdc++ debug packages, don't package the gcc source.
+ - Loosen package dependencies, when java packages are built from
+ separate sources.
+ - Fix gcj hppa build, when java packages are built from separate sources.
+ - gij-4.1: Install test-summary, when doing separate builds.
+ - Allow java packages be installed independent from other packages built
+ from the source package.
+ - Rename libgcj7-common to libgcj7-jar.
+ - Introduce a gcj-4.1-base package to completely separate the two and not
+ duplicate the changelog in each gcj/gij package.
+ * Java related changes:
+ - libjava-xml-transform: Update from classpath trunk, needed for
+ eclipse (Michael Koch), applied upstream.
+ - Fix java wrapper scripts to point to 4.1 (closes: #341710).
+ - Reenable java on mips and mipsel.
+ - Fix libgcj6 dependency. Ubuntu #19935.
+ - Add libxt-dev as a java build dependency. autoconf explicitely checks
+ for X11/Intrinsic.h.
+ * Ada related changes:
+ - Apply proposed fix for PR ada/22533, reenable ada on alpha, powerpc,
+ mips, mipsel and s390.
+ - Add Ada support for GNU/kFreeBSD (Aurelien Jarno). Closes: #341356.
+ - Remove ada bootstrap workaround for alpha.
+ * Build a separate gcc-4.1-source package (Bastian Blank). Closes: #333922.
+ * Remove obsolete patch: libstdc++-automake.
+ * Remove patch integrated upstream: libffi-mips.
+ * Fix the installation of the hppa64 compiler in snapshot builds.
+ * Rename libgfortran0* to libgfortran1* (upstream soversion change).
+ * Add a dependency on libc-dev for all compilers / -dev packages except
+ gcc (which can be used for kernel builds without libc-dev).
+ * libffi4-dev: Fix package description.
+ * On amd64, install 32bit libraries into /emul/ia32-linux/usr/lib.
+ Addresses: #341147.
+ * Fix installation of biarch libstdc++ headers on amd64.
+ * Configure --with-tune=i686 on ix86 architectures (on Ubuntu with
+ -mtune=pentium4). Remove the cpu-default-* patches.
+ * debian/control.m4: Fix libxxgcc package names.
+ * Update the build infrastructure to build cross compilers
+ (Nikita V. Youshchenko).
+ * Tighten binutils (build-)dependency. Closes: #342484.
+ * Symlink more doc directories.
+ * debian/control.m4: Explicitely set Architecture for biarch packages.
+
+ -- Matthias Klose <doko@debian.org> Sat, 10 Dec 2005 16:56:45 +0100
+
+gcc-4.1 (4.1ds1-0ubuntu1) UNRELEASED; urgency=low
+
+ * Build Java packages only.
+ * Update to SVN 20051121, taken from the 4.1 release branch.
+ - Remove libjava-saxdriver-fix patch, applied upstream.
+ - Remove ada-gnat-version patch, applied upstream.
+ * Fix FTBFS in biarch builds on 32bit kernels.
+ * Update libstdc++-doc doc-base file (closes: #339046).
+ * Remove obsolete patch: gcc-alpha-ada_fix.
+ * Fix installation of biarch libstdc++ headers (Ubuntu #19655).
+ * Fix sparc and s390 biarch patches to build the 64bit libffi.
+ * Work around biarch build failure in libjava/classpath/native/jni/midi-alsa.
+ * Install spe.h header on powerpc.
+ * Add libasound build dependencies.
+ * libgcj: Fix installation of libgjsmalsa library.
+ * Remove patches not used anymore: libjava-no-rpath, i386-config-ml-nomf,
+ libobjc, multiarch-include, disable-biarch-check-mf, gpc-profiled,
+ gpc-no-gpidump, libgpc-shared, acats-expect.
+ * Fix references to manuals in gnat(1). Ubuntu #19772.
+ * Remove build dependency on xlibs-dev, add libxtst-dev.
+ * Do not configure with --disable-werror.
+ * Merge *-config-ml patches into one config-ml patch, configure the biarch
+ libs in debian/rules.defs.
+ * debian/gcj-wrapper: Accept -Xss.
+ * Do not build biarch java on Debian (missing biarch libasound).
+ * Do not build the java packages from this source package, avoiding
+ dependencies on X.
+
+ -- Matthias Klose <doko@ubuntu.com> Mon, 21 Nov 2005 20:29:43 +0100
+
+gcc-4.1 (4.1ds0-0exp0) experimental; urgency=low
+
+ * Configure libstdc++ using the default allocator.
+ * Update to 20051112, taken from the svn trunk.
+
+ -- Matthias Klose <doko@debian.org> Sat, 12 Nov 2005 23:47:01 +0100
+
+gcc-4.1 (4.1ds0-0ubuntu0) breezy; urgency=low
+
+ * UNRELEASED
+ * First snapshot of gcc-4.1 (CVS 20051019).
+ - adds SSP support (closes: #213994, #233208).
+ * Remove patches applied upstream/not needed anymore.
+ * Update patches for 4.1: link-libs, gcc-textdomain, libjava-dlsearch-path,
+ rename-info-files, reporting, classmap-path, i386-biarch, sparc-biarch,
+ libjava-biarch-awt, ada-gcc-name.
+ * Disable patches:
+ - 323016, m68k, necessary for 4.1?
+ * debian/copyright: Update for 4.1.
+ * debian/control, debian/control.m4, debian/rules.defs, debian/rules.conf:
+ Update for 4.1, add support for Obj-C++ and SSP.
+ * Fix generation of Ada docs in info format.
+ * Set Ada library version to 4.1.
+ * Drop gnat-3.3 as an alternative build dependency.
+ * Use fortran instead of f95 for the build files.
+ * Update build support for awt peer libs.
+ * Add packaging support for SSP library.
+ * Add packaging support for Obj-C++.
+ * Run the testsuite for -march=i686 on i386 and amd64 as well.
+ * Fix generation of Pascal docs in html format.
+ * Update config-ml patches to build libssp biarch.
+ * Disable libssp for hppa64 build.
+ * libgcj7-dev: Install jni_md.h.
+ * Disable gnat for powerpc, currently fails to build.
+ * Add biarch runtime lib packages for ssp, mudflap, ffi.
+ * Do not explicitely configure with --enable-java-gc=boehm, which is the
+ default.
+ * libjava-saxdriver-fix: Fix a problem in the Aelfred2 SAX parser.
+ * libstdc++6-4.0-dev: Depend on the libc-dev package. Ubuntu #18885.
+ * Build-depend on expect-tcl8.3 on all architectures.
+ * Build-depend on lib32z1-dev on amd64 and ppc64, drop build dependency on
+ amd64-libs.
+ * Disable ada on alpha mips mipsel powerpc s390, currently broken.
+
+ -- Matthias Klose <doko@ubuntu.com> Wed, 19 Oct 2005 11:02:31 +0200
+
+gcc-4.0 (4.0.2-3) unstable; urgency=low
+
+ * Update to CVS 20051015, taken from the gcc-4_0-branch.
+ - gcc man page fixes (closes: #327254, #330099).
+ - PR java/19870, PR java/20338, PR java/21844, PR java/21540:
+ Remove Debian patches.
+ - Applied libjava-echo-fix patch.
+ - Fix PR target/24284, ICE (Segmentation fault) on sparc-linux.
+ Closes: #329840.
+ - Fix PR c++/23797, ICE on typename outside template. Closes: #325545.
+ - Fix PR c++/22551, ICE in tree_low_cst. Closes: #318932.
+ * libstdc++6: Tighten libstdc++ shlibs version to 4.0.2-3 (new symbol).
+ * Update generated Ada files.
+ * Fix logic to disable mudflap and Obj-C++ via the environment.
+ * Remove f77 build bits.
+ * gij-4.0: Remove /var/lib/gcj-4.0/classmap.db on purge (closes: #330800).
+ * Let gcj-4.0 depend on libgcj6-dev, instead of recommending it. This is
+ not necessary for byte-code compilations, but for compilations to native
+ code. For compilations to byte-code, use a better compiler like ecj
+ for now (found in the ecj-bootstrap package).
+ * Disable biarch setup in cross compilers (Josh Triplett). Closes: #333952.
+ * Fix with_libnof logic for cross-compilations (Josh Triplett).
+ Closes: #333951.
+ * Depend on binutils (>= 2.16.1cvs20050902-1) on the alpha architecture.
+ Closes: #333954.
+ * On i386, build-depend on libc6-dev-amd64. Closes: #329108.
+ * (Build-)depend on glibc 2.3.5-5.
+
+ -- Matthias Klose <doko@debian.org> Sun, 2 Oct 2005 14:25:54 +0200
+
+gcc-4.0 (4.0.2-2) unstable; urgency=low
+
+ * Update to CVS 20051001, taken from the gcc-4_0-branch. Includes the
+ changes between 4.0.2 RC3 and the final 4.0.2 release, missing from
+ the upstream tarball. Remove patches applied upstream (gcc-c-decl,
+ pr23182, pr23043, pr23367, pr23891, pr21418, pr24018).
+ * On ix86 architectures run the testsuite for -march=i686 as well.
+ * Build libffi on the Hurd (closes: #328705).
+ * Add big-endian arm (armeb) support (Lennert Buytenhek). Closes: #330730.
+ * Update libjava xml to classpath CVS HEAD 20050930 (Michael Koch).
+ * Reapply patch to make -mieee the default on alpha-linux. Closes: #330826.
+ * Add workaround not to make libmudflap _start/_end not small data on
+ mips/mipsel, taken from CVS HEAD.
+ * Don't build the nof libraries on powerpc.
+ * Number crunching time on m68k, reenable gfortran on m68k-linux-gnu.
+
+ -- Matthias Klose <doko@debian.org> Sat, 1 Oct 2005 15:42:10 +0200
+
+gcc-4.0 (4.0.2-1) unstable; urgency=low
+
+ * GCC 4.0.2 release.
+ * lib64stdc++6: Set priority to optional.
+ * Fix bug in StreamSerializer, seen with eclipse-3.1 (Ubuntu 12744).
+ Backport from CVS HEAD, Michael Koch.
+ * Apply java patches, proposed for the 4.0 branch: PR java/24018,
+ PR libgcj/23182, PR java/19870, PR java/21844, PR libgcj/23367,
+ PR java/20338.
+ * Update the expect/pty test to actually call expect directly, rather
+ than test for the existence of PTYs, since a working expect is what
+ we really care about, not random device files (Adam Conrad).
+ Closes: #329715.
+ * Add build dependencies on lib64z1-dev.
+ * gcc-c-decl.dpatch: Fix C global decl handling regression in 4.0.2 from
+ 4.0.1
+
+ -- Matthias Klose <doko@debian.org> Thu, 29 Sep 2005 19:50:08 +0200
+
+gcc-4.0 (4.0.1-9) unstable; urgency=low
+
+ * Update to CVS 20050922, taken from the gcc-4_0-branch (4.0.2 RC3).
+ * Apply patches:
+ - Fix PR java/21418: Order of source files matters when compiling,
+ backported from mainline.
+ - Fix for PR 23043, backported form mainline.
+ - Proposed patch for #323016 (m68k only). Patch by Roman Zippel.
+ * libstdc++6: Tighten libstdc++ shlibs version to 4.0.1-9 (new symbol).
+ * Fail the build early, if the system doesn't have any pty devices
+ created in /dev. Needed for running the testsuite.
+ * Update hurd changes again (closes: #328973).
+
+ -- Matthias Klose <doko@debian.org> Thu, 22 Sep 2005 07:28:18 +0200
+
+gcc-4.0 (4.0.1-8) unstable; urgency=medium
+
+ * Update to CVS 20050917, taken from the gcc-4_0-branch.
+ - Fix FTBFS for boost, introduced in 4.0.1-7 (closes: #328684).
+ * Fix PR java/23891, eclipse bootstrap.
+ * Set priority of gcc-4.0-hppa64 package to standard.
+ * Bump standards version to 3.6.2.
+ * Fix java wrapper script, mishandles command line options with arguments.
+ Patch from Olly Betts. Closes: #296456.
+ * Bump epoch of the lib32gcc1 package to the same epoch as for the the
+ libgcc1 and lib64gcc1 packages.
+ * Fix some lintian warnings.
+ * Build libffi on the Hurd (closes: #328705).
+ * For biarch builds, disable the testsuite for the non-default architecture
+ for runtime libraries, which are not built by default (libjava).
+ * Add gsfonts-x11 to Build-Depends-Indep to avoid warnings from doxygen.
+ * Install Ada .ali files read-only.
+
+ -- Matthias Klose <doko@debian.org> Sat, 17 Sep 2005 10:35:23 +0200
+
+gcc-4.0 (4.0.1-7) unstable; urgency=low
+
+ * Update to CVS 20050913, taken from the gcc-4_0-branch.
+ - Fix PR c++/19004, ICE in uses_template_parms (closes: #284777).
+ - Fix PR rtl-optimization/23454, ICE in invert_exp_1 on sparc.
+ Closes: #321215.
+ - Fix PR libstdc++/23417, make bits/stl_{list,tree}.h -Weffc++ clean.
+ Closes: ##322170.
+ * Install 'altivec.h' on ppc64 (closes: #323945).
+ * Install locale data with the versioned package name (closes: #321591).
+ * Fix fastjar build without building libjava.
+ * On hppa, don't build using gcc-3.3 when ada is disabled.
+ * On m68k, don't build the stage1 compiler using -O.
+
+ * Ludovic Brenta <ludovic@ludovic-brenta.org>
+ - Allow the choice whether or not to build with NLS.
+ - Fix a typo whereby libffi was always enabled on i386.
+
+ -- Matthias Klose <doko@debian.org> Tue, 13 Sep 2005 23:23:11 +0200
+
+gcc-4.0 (4.0.1-6) unstable; urgency=low
+
+ * Update to CVS 20050821, taken from the gcc-4_0-branch.
+ - debian/patches/pr21562.dpatch: Removed, applied upstream.
+ - debian/patches/libjava-awt-name.dpatch: Updated.
+ - debian/patches/classpath-20050618.dpatch: Updated.
+ * Use all available CPU's for the check target, unless USE_NJOBS == no.
+ * debian/patches/biarch-include.dpatch: Include
+ /usr/local/include/<arch>-linux-gnu before including /usr/local/include.
+ * Fix biarch system include directories for the non-default architecture.
+ * Prefer gnat-4.0 over gnat-3.4 over gnat-3.3 as a build-dependency.
+
+ -- Matthias Klose <doko@debian.org> Thu, 18 Aug 2005 18:36:23 +0200
+
+gcc-4.0 (4.0.1-5) unstable; urgency=low
+
+ * Update to CVS 20050816, taken from the gcc-4_0-branch.
+ - Fix PR middle-end/23369, wrong code generation for funcptr comparison
+ on hppa. Closes: #321785.
+ - Fix PR fortran/23368 ICE with NAG routines (closes: #322912).
+ * Build-depend on libcairo2-dev (they say, that's the final package name ...)
+ * libgcj: Search /usr/lib/gcj-4.0 for dlopened libraries, place a copy
+ of the .la files in the libgcj6 package into this directory.
+ Closes: #322576.
+ * Tighten the dependencies between the compiler packages to the same
+ version and release. Use some substitution variables for control file
+ generation.
+ * Remove build dependencies for gpc.
+ * Don't use '/emul/ia32-linux' on ppc64 (closes: #322890).
+ * Synchronize with Ubuntu.
+
+ -- Matthias Klose <doko@debian.org> Tue, 16 Aug 2005 22:45:47 +0200
+
+gcc-4.0 (4.0.1-4ubuntu1) breezy; urgency=low
+
+ * Jeff Bailey <jbailey@ubuntu.com>
+
+ Enable i386 biarch using biarch glibc (not yet enabled for unstable).
+ - debian/rules.d/binary-libgcc.mk: Make i386 lib64gcc1 depend on
+ libc6-amd64
+ - debian/control.m4: Suggest libc6-amd64 rather than amd64-libs.
+ - debian/rules.conf: Build-Dep on libc6-dev-amd64 [i386]
+ Build-Dep on binutils >= 2.16.1-2ubuntu3
+ - debian/rules2: Enable biarch build in Ubuntu.
+
+ * Matthias Klose <doko@ubuntu.com>
+
+ - Add shlibs file and dependency information for the lib32gcc1 package.
+ - debian/patches/gcc-textdomain.dpatch: Update (closes: #321591).
+ - Set priority of gcc-4.0-base and libstdc++6 packages to `required'.
+ Closes: #321016.
+ - libffi-hppa.dpatch: Remove, applied upstream.
+
+ -- Matthias Klose <doko@debian.org> Mon, 8 Aug 2005 19:39:02 +0200
+
+gcc-4.0 (4.0.1-4) unstable; urgency=low
+
+ * Enable the biarch compiler for powerpc (closes: #268023).
+ * Update to CVS 20050806, taken from the gcc-4_0-branch.
+ * Build depend on libcairo0.6.0-dev (closes: #321540).
+ * Fix Ada build on the hurd (closes: #321350).
+ * Update libffi for mips (Thiemo Seufer). Closes: #321100.
+ * Fix segfault on 64bit archs in the AWT Gtk peer library (Dan Frazier).
+ Closes: #320915.
+ * Add libXXgcc1 build dependencies for biarch builds.
+
+ -- Matthias Klose <doko@debian.org> Sun, 7 Aug 2005 07:01:59 +0000
+
+gcc-4.0 (4.0.1-3) unstable; urgency=medium
+
+ * Update to CVS 20050725, taken from the gcc-4_0-branch.
+ - Fix ICE with -O and -mno-ieee-fp/-ffast-math (closes: #319087).
+ * Synchronize with Ubuntu.
+ * Fix applying hurd specific patches for the hurd build (closes: #318443).
+ * Do not build-depend on libmpfr-dev on architectures, where fortran
+ is not built.
+ * Apply biarch include patch on ppc64 as well (closes: #318603).
+ * Correct libstdc++-dev package description (closes: #319082).
+ * debian/rules.defs: Replace DEB_TARGET_GNU_CPU with DEB_TARGET_ARCH_CPU.
+ * gcc-4.0-hppa64: Rename hppa64-linux-gcc to hppa64-linux-gnu-gcc.
+ Closes: #319818.
+
+ -- Matthias Klose <doko@debian.org> Mon, 25 Jul 2005 10:43:06 +0200
+
+gcc-4.0 (4.0.1-2ubuntu3) breezy; urgency=low
+
+ * Update to CVS 20050720, taken from the gcc-4_0-branch.
+ - Fix PR22278, volatile issues, seen when building xorg.
+ * Build against new libcairo1-dev (0.5.2).
+
+ -- Matthias Klose <doko@debian.org> Wed, 20 Jul 2005 12:29:50 +0200
+
+gcc-4.0 (4.0.1-2ubuntu2) breezy; urgency=low
+
+ * Acknowledge that i386 biarch builds still need to be fixed for glibc-2.3.5.
+
+ -- Matthias Klose <doko@ubuntu.com> Tue, 19 Jul 2005 08:29:30 +0000
+
+gcc-4.0 (4.0.1-2ubuntu1) breezy; urgency=low
+
+ * Synchronize with Debian.
+ * Update to CVS 20050718, taken from the gcc-4_0-branch.
+ - Fix PR c++/22132 (closes: #318488), upcasting a const class pointer
+ to struct the class derives from generates wrong code.
+ * Build biarch runtime libraries for Fortran and ObjC.
+ * Apply proposed patch for PR22309 (crash with mt_allocator if libstdc++
+ is dlclosed). Closes: #293466.
+
+ -- Matthias Klose <doko@ubuntu.com> Mon, 18 Jul 2005 17:10:18 +0200
+
+gcc-4.0 (4.0.1-2) unstable; urgency=low
+
+ * Don't apply the patch to make -mieee the default on alpha-linux-gnu.
+ Causes the bootstrap to fail on alpha-linux-gnu.
+
+ -- Matthias Klose <doko@debian.org> Tue, 12 Jul 2005 00:14:12 +0200
+
+gcc-4.0 (4.0.1-1) unstable; urgency=high
+
+ * GCC 4.0.1 final release. See /usr/share/doc/gcc-4.0/NEWS.{gcc,html}.
+ * Build fastjar on mips/mipsel, fix fastjar build without building java.
+ * Disable the comparision check on unstable/ia64. adaint.o differs,
+ currently cannot be reproduced with glibc-2.3.5 and binutils-2.16.1.
+ * libffi/hppa: Fix handling of 3 and 5-7 byte struct returns.
+ * amd64: Fix libgcc symlinks to point to /usr/lib32, instead of /lib32.
+ * On powerpc, don't build with -j >1, apparently doesn't succeeds
+ on the Debian buildd.
+ * Apply revised patch to make -mieee the default on alpha-linux,
+ and add -mieee-disable switch to turn the default off (Tyson Whitehead).
+ * Disable multiarch-includes; redo biarch-includes to include the paths
+ for the non-default biarch, when called with -m32/-m64.
+ * Move new java headers from libstdc++-dev to libgcj-dev, add replaces
+ line.
+ * Update classpath patch to work with cairo-0.5.1. Patch provided by
+ Michael Koch.
+ * Further classpath updates for gnu.xml and javax.swing.text.html.
+ Patch provided by Michael Koch.
+ * Require binutils (>= 2.16.1) as a build dependency and a dependency.
+ * On i386, require amd64-libs-dev (>= 1.2).
+ * Update debian/NEWS.{html,gcc}.
+
+ * Closing bug reports reported against older gcc versions (some of them
+ still present in Debian, but not anymore as the default compiler).
+ Usually, forwarded bug reports are linked to
+ http://gcc.gnu.org/PR<upstream bug number>
+ The upstream bug number usually can be found in the Debian reports.
+
+ * Closed reports reported against gcc-3.3 and fixed in gcc-3.4:
+ - General:
+ + PR rtl-optimization/2960: Duplicate loop conditions even with -Os
+ Closes: #94701.
+ + PR optimization/3995: i386 optimisation: joining tests.
+ Closes: #105309.
+ + PR rtl-optimization/11635: Unnecessary store onto stack, more
+ curefully expand union cast (closes: #202016).
+ + PR target/7618: vararg disallowed in virtual function. Closes: #205404.
+ + Large array problem on 64 bit platforms (closes: #209152).
+ + Mark more strings as translatable (closes: #227129).
+ + PR gcc/14711: ICE when compiling a huge source file Closes: #234711.
+ + Better code generation for if(!p) return NULL;return p;
+ Closes: #242318.
+ + PR rtl-optimization/16152: Perl ftbfs on {ia64,arm,m68k}-linux.
+ Closes: #255801.
+ + ICE (segfault) while compiling Linux 2.6.9 (closes: #277206).
+ + Link error building memtest (closes: #281445).
+ - Ada:
+ + PR ada/12450: Constraint error for valid input (closes: #210844).
+ + PR ada/13620: miscompilation of array initializer with
+ -O3 -fprofile-arcs. Closes: #226244.
+ - C:
+ + PR c/6897: Code produced with -fPIC reserves EBX, but compiles
+ bad __asm__ anyway (closes: #73065).
+ + PR c/9209: On i386, gcc-3.0 allows $ in indentifiers but not the asm.
+ Closes: #121282.
+ + PR c/11943: Accepts invalid declaration "int x[2, 3];" in C99 mode.
+ Closes: #177303.
+ + PR c/11942: restrict keyword broken in C99 mode. Closes: #187091.
+ + PR other/11370: -Wunreachable-code gives false complaints.
+ Closes: #196600.
+ + PR c/11369: Too relaxed checking with -Wstrict-prototypes.
+ Closes: #197504.
+ + PR c/11445: False positive warning with -Wunreachable-code.
+ Closes: #200140.
+ + PR c/11459: -stdc=c90 -pedantic warns about C90's non long-long
+ support when in C99 mode. Closes: #200392.
+ + PR c/456: Handling of constant expressions. Closes: #225935.
+ + ICE on invalid #define with -traditional (closes: #242916).
+ + No warning when initializing a variable with itself, new option
+ -Winit-self (closes: #293957).
+ - C++:
+ + C++ parse error (closes: #42946).
+ + PR libstdc++/9073: Replacement for __STL_ASSERTIONS (libstdc++v3
+ debug mode). Closes: #128993.
+ + Parse errors in nested constructor calls (closes: #138561).
+ + PR optimization/1823: -ftrapv aborts with pointer difference due to
+ division optimization. Closes: #169862.
+ + ICE on invalid code (closes: #176101).
+ + PR c++/10199: ICE handling method parametrized by template.
+ Closes: #185604.
+ + High memory usage building packages OpenOffice.org and MythTV.
+ Closes: #194345, #194513.
+ + Improved documentation of std::lower_bound (closes: #196380).
+ + ICE in regenerate_decl_from_template (closes: #197674).
+ + PR c++/11444: Function fails to propagate up class tree
+ (template-related). Closes: #198042.
+ + ICE when using namespaced typedef of primitive type as struct.
+ Closes: #198261.
+ + Bug using streambuf / iostream to read from a named pipe.
+ Closes: #216105.
+ + PR c++/11437: ICE in lookup_name_real (closes: #200011).
+ + Add large file support (LFS) in libstdc++ (closes: #220000).
+ + PR c++/13621: ICE compiling a statement expression returning type
+ string (closes: #224413).
+ + g++ doesn't find inherited inner class after template instantiation.
+ Closes: #227518.
+ + PR libstdc++/13928: Add whatis info in man pages generated by doxygen.
+ Closes: #229642.
+ + Missing symbol _M_setstate in libstdc++ (closes: #232709).
+ + Unable to parse declaration of inline constructor explicit
+ specialization (closes: #234709).
+ + ICE (segfault) on invalid C++ code (closes: #246031).
+ + ICE in lookup_tempate_function (closes: #262441).
+ + Undefined symbols in libstdc++, when using specials char_traits.
+ Closes: #266110.
+ + PR libstdc++/16011: Outputting numbers with ostream in the locale fr_BE
+ causes infinite recursion (closes: #270795).
+ + ICE in tree_low_cst (closes: #276291).
+ + ICE in in expand_call (closes: #283503).
+ + typeof operator is misparsed in a template function (closes: #288555).
+ + ICE in tree_low_cs (closes: #291374).
+ + Improve uninformative error messages (closes: #292961, #293076).
+ + ICE on array initialization (closes: #294560).
+ + Failure to build xine-lib with -finline-functions (closes: #306854).
+ - Java:
+ + Fix error finding files in subdirectories (closes: #195480).
+ + Implement java.text.CollationElementIterator lacks getOffset().
+ Closes: #259789.
+ - Treelang:
+ + Pointer truncation on 64bit architectures (closes: #308367).
+ - Architecture specific:
+ - alpha
+ + PR debug/10695: ICE on alpha while building agistudio.
+ Closes: #192568.
+ + ICE when building fceu (closes: #228018, #252764).
+ - amd64
+ + Miscompilation of Objective-C code (closes: #250174).
+ + g++ hangs compiling k3d on amd64 (closes: #285364).
+ - arm
+ + PR target/19008: gcc -O3 -fPIC produces wrong code via auto inlining.
+ Closes: #285238.
+ - i386
+ + PR target/4106: i386 -fPIC asm ebx clobber no error.
+ Closes: #153472.
+ + PR target/10984: x86/sse2 ICEs on vector intrinsics. Closes: #166940.
+ + Wrong code generation on at least ix86 (closes: #275655).
+ - m68k
+ + PR target/9201: ICE compiling octave-2.1 (closes: #175478).
+ + ICE in verify_initial_elim_offsets (closes: #204407, #257012).
+ + g77 generates invalid assembly code (closes: #225621).
+ + ICE in verify_local_live_at_start (closes #245584).
+ - powerpc
+ + PR optimization/12828: -floop-optimize is unstable on PowerPC (float
+ to int conversion problem). Closes: #218219.
+ + PR target/13619: ICE building altivec code in ffmpeg.
+ Closes: #226148.
+ + PR target/20046: Miscompilation of bind 9.3.0. Closes: #292958.
+ - sparc
+ + ICE (segfault) while building atlas3 on sparc32 (closes: #249108).
+ + Wrong optimization on sparc32 when building linux kernel.
+ Closes: #254626.
+
+ * Closed reports reported against gcc-3.3 or gcc-3.4 and fixed in gcc-4.0:
+ - General:
+ + PR rtl-optimization/6901: Optimizer improvement (removing unused
+ local variables). Closes: #67206.
+ + PR middle-end/179: Failure to detect use of unitialized variable
+ with -O -Wall. Closes: #117765.
+ + ICE building glibc's nptl on amd64 (closes: #260710, #307993).
+ + PR middle-end/17827: ICE in make_decl_rtl. Closes: #270854.
+ + PR middle-end/21709: ICE on compile-time complex NaN. Closes: #305344.
+ - Ada:
+ + PR ada/10889: Convention Fortran matrices mishandled in generics.
+ Closes: #192135.
+ + PR ada/13897: Implement tasking on powerpc. Closes: #225346.
+ - C:
+ + PR c/13072: Bogus warning with VLA in switch. Closes: #218803.
+ + PR c/13519: typeof(nonconst+const) is const. Closes: #208981.
+ + PR c/12867: Incorrect warning message (void format, should be void*
+ format). Closes: #217360.
+ + PR c/16066: PR 16066] i386 loop strength reduction bug.
+ Closes: #254659.
+ - C++:
+ + PR c++/13518: -Wnon-virtual-dtor doesn't always work. Closes: #212260.
+ + PR translation/16025: ICE with unsupported locale(closes: #242158).
+ + PR c++/15125: -Wformat doesn't warn for different types in fprintf.
+ Closes: #243507.
+ + PR c++/15214: Warn only if the dtor is non-private or the class has
+ friends. (closes: #246639).
+ + PR libstdc++/17218: Unknown subjects in generated libstdc++ manpages.
+ Closes: #262934.
+ + PR libstdc++/17223: Missing .so references in generated libstdc++
+ manpages. Closes: #262956.
+ + libstdc++-doc: Improve man pages (closes: #280910).
+ + PR c++/19006: ICE in tree_low_cst. Closes: #285692.
+ + g++ does not check arguments to fprintf. Closes: #281847.
+ - Java:
+ + PR java/7304: gcj ICE (closes: #152501).
+ + PR libgcj/7305: Installation of headers not directly in /usr/include.
+ Closes: #195483.
+ + PR libgcj/11941: libgcj timezone handling (closes: #203212).
+ + PR java/14709: gcj fails to wait for its child processes on exec().
+ Closes: #238432.
+ + PR libgcj/21703: gcj hangs when rapidly calling String.intern().
+ Closes: #275547.
+ + SocketChannel.get(ByteBuffer) returns 0 at EOF. Closes: #281602.
+ + PR java/19711: gcj segfaults instead of reporting the ambiguous
+ expression. Closes: #286715.
+ + Static libgcj contains repeated archive members (closes: #298263).
+ - Architecture specific:
+ - alpha
+ + Unaligned accesses with ?-operator (closes: #301983).
+ - arm
+ + Compilation error of glibc-2.3.4 on arm (closes: #298508).
+ - m68k
+ + ICE in add_insn_before (closes: #248432).
+ - mips
+ + Fix o32 ABI breakage in gcc 3.3/3.4 (closes: #270620).
+ - powerpc
+ + ICE in extract_insn (closes: #311128).
+
+ * Closing bug reports as wontfix:
+ - g++ defines _GNU_SOURCE when using the libstdc++ header files.
+ Behaviour did change since 3.0. Closes: #126703, #164872.
+
+ -- Matthias Klose <doko@debian.org> Sat, 9 Jul 2005 17:10:54 +0000
+
+gcc-4.0 (4.0.0ds2-12) unstable; urgency=high
+
+ * Update to CVS 20050701, taken from the gcc-4_0-branch.
+ * Apply proposed patch for MMAP configure fix; aka PR 19877. Backport
+ from mainline.
+ * Disable Fortran on m68k. Currently FTBFS.
+ * Split multiarch-include/lib patches. Update multiarch-include patch.
+ * Fix FTBFS of the hppa64-linux cross compiler. Don't add the
+ multiarch include dirs when cross compiling.
+ * Configure --with-java-home, as used by java-gcj-compat.
+ Closes: #315646.
+ * Make libgcj-dbg packages priority extra.
+ * Set the path of classmap.db to /var/lib/gcj-@gcc_version@.
+ * On m68k, do not create the default classmap.db in the gcj postinst.
+ See #312830.
+ * On amd64, install the 32bit libraries into /emul/ia32-linux/usr/lib.
+ Restore the /usr/lib32 symlink.
+ * On amd64, don't reference lib64, but instead lib (lib64 is a symlink
+ to lib). Closes: #293050.
+ * Remove references to build directories from the .la files.
+ * Make cpp-X.Y conflict with earlier versions of gcc-X.Y, g++-X.Y, gobjc-X.Y,
+ gcj-X.Y, gfortran-X.Y, gnat-X.Y, treelang-X.Y, if a path component in
+ the gcc library path changes (i.e. version or target alias).
+ * Disable Ada for sh3 sh3eb sh4 sh4eb.
+ * For gcj-4.0, add a conflict to libgcj4-dev and libgcj5-dev.
+ Closes: #316499.
+
+ -- Matthias Klose <doko@debian.org> Sat, 2 Jul 2005 11:04:35 +0200
+
+gcc-4.0 (4.0.0ds1-11) unstable; urgency=low
+
+ * debian/rules.defs: Disable Ada for alpha.
+ * debian/rules.conf: Fix typo in type-handling replacement code.
+ * Don't ship an empty libgcj6-dbg package.
+
+ -- Matthias Klose <doko@debian.org> Thu, 23 Jun 2005 09:03:21 +0200
+
+gcc-4.0 (4.0.0ds1-10) unstable; urgency=medium
+
+ * debian/patches/libstdc++-api-compat.dpatch: Apply proposed patch
+ to fix libstdc++ 3.4.5/4.0 compatibility.
+ * type-handling output became insane. Don't use it anymore.
+ * Drop the reference to the stl-manual package (closes: #314983).
+ * Disable java on GNU/kFreeBSD targets, requested by Robert Millan.
+ Closes: #315140.
+ * Terminate the acats-killer process, even if the build is aborted
+ by the user (closes: #314405).
+ * debian/rules.defs: Define DEB_TARGET_ARCH_{OS,CPU}.
+ * Start converting the use of DEB_*_GNU_* to DEB_*_ARCH_* in the build
+ files.
+ * Do not configure with --enable-gtk-cairo. Needs newer gtk. Drop
+ build dependency on libcairo-dev.
+ * Fix setting of the system header directory for the hurd (Michael Banck).
+ Closes: #315386.
+ * Fix FTBFS on hurd-i386: MAXPATHLEN issue (Michael Banck). Closes: #315384.
+
+ -- Matthias Klose <doko@debian.org> Wed, 22 Jun 2005 19:45:50 +0200
+
+gcc-4.0 (4.0.0ds1-9ubuntu2) breezy; urgency=low
+
+ * Fix version number in libgcj shlibs file.
+
+ -- Matthias Klose <doko@ubuntu.com> Sun, 19 Jun 2005 10:34:02 +0200
+
+gcc-4.0 (4.0.0ds1-9ubuntu1) breezy; urgency=low
+
+ * Update to 4.0.1, release candidate 2.
+ * libstdc++ shlibs file: Require 4.0.0ds1-9ubuntu1 as minimum version.
+ * Rename libawt to libgcjawt to avoid conflicts with other
+ libawt implementations (backport from HEAD).
+ * Update classpath awt, swing and xml parser for HTML support in swing.
+ Taken from classpath CVS HEAD 2005-06-18. Patch provided by Michael Koch.
+ * Remove the libgcj-buffer-strategy path, part of the classpath update.
+ * libgcj shlibs file: Require 4.0.0ds1-9ubuntu1 as minimum version.
+ * Require cairo-0.5 as build dependency.
+ * gij-4.0: Provide java1-runtime.
+ * gij-4.0: Provide an rmiregistry alternative (using grmiregistry-4.0).
+ * gcj-4.0: Provide an rmic alternative (using grmic-4.0).
+ * libgcj6-dev conflicts with libgcj5-dev, libgcj4-dev, not libgcj6.
+ Closes: #312741.
+ * libmudflap-entry-point.dpatch: Correct name of entry point on mips/mipsel.
+ * Apply proposed patch for PR 18421 and PR 18719 (m68k only).
+ * Apply proposed path for PR 21562.
+ * Add build dependency on dpkg (>= 1.13.7).
+ * On linux systems, configure for <cpu>-linux-gnu.
+ * Configure the hppa64 cross compiler to target hppa64-linux-gnu.
+ * (Build-)depend on binutils-2.16.1.
+ * libstdc{32,64}++6-4.0-dbg: Depend on libstdc++6-4.0-dev.
+ * gnat-4.0: only depend on libgnat, when a shared libgnat is built.
+ * gfortran-4.0: Depend on libgmp3c2 | libgmp3.
+ * On hppa, explicitely use gcc-3.3 as a build dependency in the case
+ that Ada is disabled.
+ * libmudflap: Always build the library for the non-default biarch
+ architecture, or else the test results show link failures.
+
+ -- Matthias Klose <doko@ubuntu.com> Sat, 18 Jun 2005 00:42:55 +0000
+
+gcc-4.0 (4.0.0-9) unstable; urgency=low
+
+ * Upload to unstable.
+
+ -- Matthias Klose <doko@debian.org> Wed, 25 May 2005 19:02:20 +0200
+
+gcc-4.0 (4.0.0-8ubuntu3) breezy; urgency=low
+
+ * debian/control: Regenerate.
+
+ -- Matthias Klose <doko@ubuntu.com> Sat, 4 Jun 2005 10:56:27 +0200
+
+gcc-4.0 (4.0.0-8ubuntu2) breezy; urgency=low
+
+ * Fix powerpc-config-ml patch.
+
+ -- Matthias Klose <doko@ubuntu.com> Fri, 3 Jun 2005 15:47:52 +0200
+
+gcc-4.0 (4.0.0-8ubuntu1) breezy; urgency=low
+
+ * powerpc biarch support:
+ - Enable powerpc biarch support, build lib64gcc1 on powerpc.
+ - Add patch to disable libstdc++'s configure checking, if it can't run
+ 64bit binaries on 32bit kernels (Sven Luther).
+ - Apply the same patch to the other runtime librararies as well.
+ - Run the testsuite with -m64, if we can execute 64bit binaries.
+ - Add libc6-dev-ppc64 as build dependency for powerpc.
+ * 32bit gcj libs for amd64.
+ * debian/logwatch.sh: Don't remove logwatch pid file on exit (suggested
+ by Ryan Murray).
+ * Update to CVS 20050603, taken from the gcc-4_0-branch.
+ * g++-4.0 provides c++abi2-dev.
+ * Loosen dependencies on packages of architecture `all' to not break
+ binary only uploads.
+ * Build libgfortran for biarch as well, else the testsuite will fail.
+
+ -- Matthias Klose <doko@ubuntu.com> Fri, 3 Jun 2005 13:38:19 +0200
+
+gcc-4.0 (4.0.0-8) experimental; urgency=low
+
+ * Synchronize with Ubuntu.
+
+ -- Matthias Klose <doko@debian.org> Mon, 23 May 2005 01:56:28 +0000
+
+gcc-4.0 (4.0.0-7ubuntu7) breezy; urgency=low
+
+ * Fix build failures for builds with disabled testsuite.
+ * Adjust debian/rules conditionals to work with all dpkg versions.
+ * Build separate lib32stdc6-4.0-dbg/lib64stdc6-4.0-dbg packages.
+ * Add the debugging symbols of the optimzed libstdc++ build in the
+ lib*stdc++6-dbg packages as well.
+ * Build a libgcj6-dbg package.
+ * Update to CVS 20050522, taken from the gcc-4_0-branch.
+ * Add Ada support for the ppc64 architecture (Andreas Jochens):
+ * debian/patches/ppc64-ada.dpatch
+ - Add gcc/ada/system-linux-ppc64.ads, which has been copied from
+ gcc/ada/system-linux-ppc.ads and changed to use 'Word_Size' 64
+ instead of 32.
+ - gcc/ada/Makefile.in: Use gcc/ada/system-linux-ppc64.ads on powerpc64.
+ * debian/rules.patch
+ - Use ppc64-ada patch on ppc64.
+ * debian/rules.d/binary-ada.mk
+ Place the symlinks libgnat.so, libgnat-4.0.so, libgnarl.so,
+ libgnarl-4.0.so in '/usr/lib' instead of '<gcc_lib_dir>/adalib'.
+ Closes: #308948.
+ * Add libc6-dev-i386 as an alternative build dependency for amd64.
+ Closes: #305690.
+
+ -- Matthias Klose <doko@ubuntu.com> Sun, 22 May 2005 22:14:20 +0200
+
+gcc-4.0 (4.0.0-7ubuntu6) breezy; urgency=low
+
+ * Don't trust dpkg-architecture (1.13.4), it "hurds" ...
+
+ -- Matthias Klose <doko@ubuntu.com> Wed, 18 May 2005 11:36:38 +0200
+
+gcc-4.0 (4.0.0-7ubuntu5) breezy; urgency=low
+
+ * libgcj6-dev: Don't provide libgcj-dev.
+
+ -- Matthias Klose <doko@ubuntu.com> Wed, 18 May 2005 00:30:32 +0000
+
+gcc-4.0 (4.0.0-7ubuntu4) breezy; urgency=low
+
+ * Update to CVS 20050517, taken from the gcc-4_0-branch.
+ * Apply proposed patch for PR21293.
+
+ -- Matthias Klose <doko@ubuntu.com> Tue, 17 May 2005 23:05:40 +0000
+
+gcc-4.0 (4.0.0-7ubuntu2) breezy; urgency=low
+
+ * Update to CVS 20050515, taken from the gcc-4_0-branch.
+
+ -- Matthias Klose <doko@ubuntu.com> Sun, 15 May 2005 23:48:00 +0200
+
+gcc-4.0 (4.0.0-7ubuntu1) breezy; urgency=low
+
+ * Synchronize with Debian.
+
+ -- Matthias Klose <doko@ubuntu.com> Mon, 9 May 2005 19:35:29 +0200
+
+gcc-4.0 (4.0.0-7) experimental; urgency=low
+
+ * Update to CVS 20050509, taken from the gcc-4_0-branch.
+ * Remove the note from the fastjar package description, stating, that
+ fastjar is incomplete compared to the "standard" jar utility.
+ * Fix typo in build depends. dpkg-checkbuilddeps doesn't like a comma
+ inside [].
+ * Tighten shlibs dependencies to require the current version.
+
+ -- Matthias Klose <doko@debian.org> Mon, 9 May 2005 19:02:03 +0200
+
+gcc-4.0 (4.0.0-6) experimental; urgency=low
+
+ * Update to CVS 20050508, taken from the gcc-4_0-branch.
+
+ -- Matthias Klose <doko@debian.org> Sun, 8 May 2005 14:08:28 +0200
+
+gcc-4.0 (4.0.0-5ubuntu1) breezy; urgency=low
+
+ * Temporarily disable the i386 biarch build. Remove the amd64-libs-dev
+ build dependency, add (build-)conflict (<= 1.1ubuntu1).
+
+ -- Matthias Klose <doko@ubuntu.com> Sat, 7 May 2005 16:56:21 +0200
+
+gcc-4.0 (4.0.0-5) breezy; urgency=low
+
+ * gnat-3.3 and gnat-4.0 are alternative build dependencies (closes: #308002).
+ * Update to CVS 20050507, taken from the gcc-4_0-branch.
+ * gcj-4.0: Install gjnih.
+ * Add libgcj buffer strategy framework (Thomas Fitzsimmons), needed for OOo2.
+ Backport from 4.1.
+ * Fix all lintian errors and most of the warnings.
+
+ -- Matthias Klose <doko@ubuntu.com> Sat, 7 May 2005 12:26:15 +0200
+
+gcc-4.0 (4.0.0-4) breezy; urgency=low
+
+ * Still prefer gnat-3.3 over gnat-4.0 as a build dependency.
+
+ -- Matthias Klose <doko@ubuntu.com> Fri, 6 May 2005 22:30:43 +0200
+
+gcc-4.0 (4.0.0-3) breezy; urgency=low
+
+ * Update to CVS 20050506, taken from the gcc-4_0-branch.
+ * Update priority of java alternatives to 40.
+ * Move gcj-dbtool to gij package, move the default classmap.db to
+ /var/lib/gcj-4.0/classmap.db. Create it in the postinst.
+ * Fix gcc-4.0-hppa64 postinst (closes: #307762).
+ * Fix gcc-4.0-hppa64, gij-4.0 and gcj-4.0 postinst, to not ignore errors
+ from update-alternatives.
+ * Fix gcc-4.0-hppa64, fastjar, gij-4.0 and gcj-4.0 prerm,
+ to not ignore errors from update-alternatives.
+
+ -- Matthias Klose <doko@ubuntu.com> Fri, 6 May 2005 17:50:58 +0200
+
+gcc-4.0 (4.0.0-2) experimental; urgency=low
+
+ * GCC 4.0.0 release.
+ * Update to CVS 20050503, taken from the gcc-4_0-branch.
+ * Add gnat-4.0 as an alternative build dependency (closes: #305690).
+
+ -- Matthias Klose <doko@debian.org> Tue, 3 May 2005 15:41:26 +0200
+
+gcc-4.0 (4.0.0-1) experimental; urgency=low
+
+ * GCC 4.0.0 release.
+
+ -- Matthias Klose <doko@debian.org> Sun, 24 Apr 2005 11:28:42 +0200
+
+gcc-4.0 (4.0ds11-0pre11) breezy; urgency=low
+
+ * CVS 20050413, taken from the gcc-4_0-branch.
+ * Add proposed patches for PR20126, PR20490, PR20929.
+
+ -- Matthias Klose <doko@ubuntu.com> Wed, 13 Apr 2005 09:43:00 +0200
+
+gcc-4.0 (4.0ds10-0pre10) experimental; urgency=low
+
+ * gcc-4.0.0-20050410 release candidate 1, built from the prerelease tarball.
+ - C++ fix for "optimizer breaks function inlining". Closes: #302989.
+ * Append the GCC version to the fastjar/grepjar version string.
+ * Use short file names in the libstdc++ docs (closes: #301140).
+ * Fix libstdc++-dbg dependencies (closes: #303866).
+
+ -- Matthias Klose <doko@debian.org> Mon, 11 Apr 2005 13:16:01 +0200
+
+gcc-4.0 (4.0ds9-0pre9) experimental; urgency=low
+
+ * CVS 20050326, taken from the gcc-4_0-branch.
+ * Reenable Ada on ia64.
+ * Build libgnat on hppa, sparc, s390 again.
+ * ppc64 support (Andreas Jochens):
+ * debian/control.m4
+ - Add libc6-dev-powerpc [ppc64] to the Build-Depends.
+ - Change the Description for lib32gcc1: s/ia32/32 bit Version/
+ * debian/rules.defs
+ - Define 'biarch_ia32' for ppc64 to use the same 32 bit multilib
+ facilities as amd64.
+ * debian/rules.d/binary-gcc.mk
+ - Correct an error in the 'files_gcc' definition for biarch_ia32
+ (replace '64' by '32').
+ * debian/rules2
+ - Do not use '--disable-multilib' on powerpc64-linux.
+ Use '--disable-nof --disable-softfloat' instead.
+ * debian/rules.d/binary-libstdcxx.mk
+ - Put the 32 bit libstdc++ files in '/usr/lib32'.
+ * debian/rules.patch
+ - Apply 'ppc64-biarch' patch on ppc64.
+ * debian/patches/ppc64-biarch.dpatch
+ - MULTILIB_OSDIRNAMES: Use /lib for native 64 bit libraries and
+ /lib32 for 32 bit libraries.
+ - Add multilib handling to src/config-ml.in (taken from
+ amd64-biarch.dpatch).
+ * Rename biarch_ia32 to biarch32, as suggsted by Andreas.
+ * Use /bin/dash on hppa.
+ * Reenable the build of the hppa64 compiler.
+ * Enable parallel builds by defaults (set environment variale USE_NJOBS=no
+ or USE_NJOBS=<number> to modify the default, which is to use the
+ number of available processors).
+
+ -- Matthias Klose <doko@debian.org> Sat, 26 Mar 2005 19:07:30 +0100
+
+gcc-4.0 (4.0ds8-0pre8) experimental; urgency=low
+
+ * CVS 20050322, taken from the gcc-4_0-branch.
+ - Add proposed fix for PR19406.
+ * Configure --with-gtk-cairo only if version 0.3.0 is found.
+ * Split out gcc-4.0-locales package. Better chance of getting
+ bug reports in english language.
+
+ -- Matthias Klose <doko@debian.org> Tue, 22 Mar 2005 14:20:24 +0100
+
+gcc-4.0 (4.0ds7-0pre7) experimental; urgency=low
+
+ * CVS 20050304, taken from the gcc-4_0-branch.
+ * Build the treelang compiler.
+
+ -- Matthias Klose <doko@debian.org> Fri, 4 Mar 2005 21:29:56 +0100
+
+gcc-4.0 (4.0ds6-0pre6ubuntu6) hoary; urgency=low
+
+ * Fix lib32gcc1 symlink on amd64. Ubuntu #7099.
+
+ -- Matthias Klose <doko@ubuntu.com> Thu, 3 Mar 2005 00:17:26 +0100
+
+gcc-4.0 (4.0ds6-0pre6ubuntu5) hoary; urgency=low
+
+ * Add patch from PR20160, avoid creating archives with components
+ that have duplicate basenames.
+
+ -- Matthias Klose <doko@ubuntu.com> Wed, 2 Mar 2005 14:22:04 +0100
+
+gcc-4.0 (4.0ds6-0pre6ubuntu4) hoary; urgency=low
+
+ * CVS 20050301, taken from the gcc-4_0-branch.
+ Test builds on i386, amd64, powerpc, ia64, check libgcc_s.so.1.
+ * Add fastjar-4.0 binary and manpage. Some java packages append it
+ for all java related tools.
+ * Add libgcj6-src package for source code availability in IDE's.
+ * On hppa, disable the build of the hppa64 cross compiler, disable
+ java, disable running the testsuite (request by Lamont).
+ * On amd64, lib32gcc1 replaces ia32-libs.openoffice.org (<< 1ubuntu3).
+ * Build-Depend on libcairo1-dev, configure with --enable-gtk-cairo.
+ Work around libtool problems install libjawt.
+ Install jawt header files in libgcj6-dev.
+ * Add workaround for PR debug/19769.
+
+ -- Matthias Klose <doko@ubuntu.com> Tue, 1 Mar 2005 11:26:19 +0100
+
+gcc-4.0 (4.0ds5-0pre6ubuntu3) hoary; urgency=low
+
+ * Drop libgmp3-dev (<< 4.1.4-3) as an alterntative build dependency.
+
+ -- Matthias Klose <doko@ubuntu.com> Thu, 10 Feb 2005 15:16:27 +0100
+
+gcc-4.0 (4.0ds5-0pre6ubuntu2) hoary; urgency=low
+
+ * Disable Ada for powerpc.
+
+ -- Matthias Klose <doko@ubuntu.com> Wed, 9 Feb 2005 16:47:07 +0100
+
+gcc-4.0 (4.0ds5-0pre6ubuntu1) hoary; urgency=low
+
+ * Avoid build dependency on type-handling.
+ * Install 32bit libs on amd64 in /lib32 and /usr/lib32.
+
+ -- Matthias Klose <doko@ubuntu.com> Wed, 9 Feb 2005 08:27:21 +0100
+
+gcc-4.0 (4.0ds5-0pre6) experimental; urgency=low
+
+ * gcc-4.0 snapshot, taken from the HEAD branch CVS 20050208.
+ * Build-depend on graphviz (moved to main), remove the pregenerated
+ libstdc++ docs from the diff.
+ * Fix PR19162, libobjc build failure on arm-linux (closes: #291497).
+
+ -- Matthias Klose <doko@debian.org> Tue, 8 Feb 2005 11:47:31 +0000
+
+gcc-4.0 (4.0ds4-0pre5) experimental; urgency=low
+
+ * gcc-4.0 snapshot, taken from the HEAD branch CVS 20050125.
+ * Call the 4.0 gcx versions in the java wrappers (closes: #291075).
+ * Correctly install libgij (closes: #291077).
+ * libgcj6-dev: Add conflicts to other libgcj-dev packages (closes: #290950).
+
+ -- Matthias Klose <doko@debian.org> Mon, 24 Jan 2005 23:59:54 +0100
+
+gcc-4.0 (4.0ds3-0pre4) experimental; urgency=low
+
+ * gcc-4.0 snapshot, taken from the HEAD branch CVS 20050115.
+ * Update cross build patches (Nikita V. Youshchenko).
+ * Enable Ada on i386, amd64, mips, mipsel, powerpc, sparc, s390.
+ Doesn't yet bootstrap on alpha, hppa, ia64.
+
+ -- Matthias Klose <doko@debian.org> Sat, 15 Jan 2005 18:44:03 +0100
+
+gcc-4.0 (4.0ds2-0pre3) experimental; urgency=low
+
+ * gcc-4.0 snapshot, taken from the HEAD branch CVS 20041224.
+
+ -- Matthias Klose <doko@debian.org> Wed, 22 Dec 2004 00:31:44 +0100
+
+gcc-4.0 (4.0ds1-0pre2) experimental; urgency=low
+
+ * gcc-4.0 snapshot, taken from the HEAD branch CVS 20041205.
+ * Lot's of merges and updates from the gcc-3.4 packages.
+
+ -- Matthias Klose <doko@debian.org> Sat, 04 Dec 2004 12:14:51 +0100
+
+gcc-4.0 (4.0ds0-0pre1) experimental; urgency=low
+
+ * gcc-4.0 snapshot, taken from the HEAD branch CVS 20041114.
+ - Addresses many issues with the libstdc++ man pages (closes: #278549).
+ * Disable Ada on hppa, ia64, mips, mipsel, powerpc, s390 and sparc, at least
+ these are known to be broken at the time of the snapshot.
+ * Minor kbsd.gnu build fixes (Robert Millan). Closes: #273004.
+ * For amd64, add missing libstdc++ files to 'libstdc++6-dev' package.
+ (Andreas Jochens). Fixes: #274362.
+ * Update libffi-mips patch (closes: #274096).
+ * Updated i386-biarch patch. Don't build 64bit libstdc++, ICE.
+ * Update sparc biarch patch.
+ * Fix symlinks for gfortran manpage (closes: #278548).
+ * Update cross build patches (Nikita V. Youshchenko).
+ * Update Ada patches (Ludovic Brenta).
+
+ -- Matthias Klose <doko@debian.org> Sat, 13 Nov 2004 10:38:25 +0100
+
+gcc-4.0 (4.0-0pre0) experimental; urgency=low
+
+ * gcc-4.0 snapshot, taken from the HEAD branch CVS 20040912.
+
+ * Matthias Klose <doko@debian.org>
+
+ - Integrate accumulated packaging patches from gcc-3.4.
+ - Rename libstdc++6-* packages to libstdc++6-4-* (closes: #261693).
+ - libffi4-dev: conflict with libffi3-dev (closes: #265939).
+
+ * Robert Millan <rmh@debian.org>
+
+ * control.m4:
+ - s/locale_no_archs !hurd-i386/locale_no_archs/g
+ (This is now handled in rules.defs. [1])
+ - s/procps [check_no_archs]/procps [linux_gnu_archs]/g [2]
+ - Add type-handling to build-deps. [3]
+ * rules.conf:
+ - Don't require (>= $(libc_ver)) for libc0.1-dev. [4]
+ - Generate *_no_archs variables with type-handling and use them for
+ for m4's -D parameters. [3]
+ * rules.defs:
+ - use filter instead of findstring [1].
+ - s/netbsd-elf-gnu/netbsdelf-gnu/g [5].
+ - enable java for kfreebsd-gnu [6]
+ - enable ffi for kfreebsd-gnu and knetbsd-gnu [6]
+ - enable libgc for kfreebsd-gnu [6]
+ - enable checks for kfreebsd-gnu and knetbsd-gnu [7]
+ - enable locales for kfreebsd-gnu and gnu [1] [8].
+ * Closes: #264025.
+
+ -- Matthias Klose <doko@debian.org> Sun, 12 Sep 2004 12:52:56 +0200
+
+gcc-3.5 (3.5ds1-0pre1) experimental; urgency=low
+
+ * gcc-3.5 snapshot, taken from the HEAD branch CVS 20040724.
+ * Install locale data with versioned package name (closes: #260497).
+ * Fix libgnat symlinks.
+
+ -- Matthias Klose <doko@debian.org> Sat, 24 Jul 2004 21:26:23 +0200
+
+gcc-3.5 (3.5-0pre0) experimental; urgency=low
+
+ * gcc-3.5 snapshot, taken from the HEAD branch CVS 20040718.
+
+ -- Matthias Klose <doko@debian.org> Sun, 18 Jul 2004 12:26:00 +0200
+
+gcc-3.4 (3.4.1-1) experimental; urgency=low
+
+ * gcc-3.4.1 final release.
+ - configured wth --enable-libstdcxx-allocator=mt.
+ * Fixes for generating cross compiler packages (Jeff Bailey).
+
+ -- Matthias Klose <doko@debian.org> Fri, 2 Jul 2004 22:49:05 +0200
+
+gcc-3.4 (3.4.0-4) experimental; urgency=low
+
+ * gcc-3.4.1 release candidate 1.
+ * Add logic to build biarch compiler on powerpc (disabled, needs lib64c).
+ * Don't build the libg2c0 package on mipsel-linux (no clear answer on
+ debian-mips, if the libg2c0's built by gcc-3.3 and gcc-3.4 are compatible
+ (post-sarge issue).
+ * Don't use gcc-2.95 as bootstrap compiler on m68k anymore.
+
+ -- Matthias Klose <doko@debian.org> Sat, 26 Jun 2004 22:40:20 +0200
+
+gcc-3.4 (3.4.0-3) experimental; urgency=low
+
+ * Update to gcc-3.4 CVS 20040613.
+ * On sparc, set the the build target to sparc64-linux, build with
+ switch defaulting to code generation for v7. To generate code for
+ sparc64, use the -m64 switch.
+ * Add missing doc-base files to -doc packages.
+ * Add portability patches and kbsd-gnu patch (Robert Millan).
+ Closes: #251293, #251294.
+ * Apply fixes for cross build (Nikita V. Youshchenko).
+ * Do not include the precompiled libstdc++ header files into the -dev
+ package (still experimental). Closes: #251707.
+ * Reflect renaming of Ada user's guide.
+ * Move AWT peer libraries for libgcj into it's own package (fixes: #247791).
+
+ -- Matthias Klose <doko@debian.org> Mon, 14 Jun 2004 00:03:18 +0200
+
+gcc-3.4 (3.4.0-2) experimental; urgency=low
+
+ * Update to gcc-3.4 CVS 20040516.
+ * Do not provide the /usr/hppa64-linux/include in the gcc-hppa64 package,
+ migrated to libc6-dev. Adjust dependencies.
+ * Integrate gpc test results into the GCC test summary.
+ * gnatchop calls gcc-3.4 (closes: #245438).
+ * debian/locale-gen.sh: Update for recent libstdc+++ testsuite.
+ * debian/copyright: Add libstdc++-v3's exception clause.
+ * Add libffi update for mips (Thiemo Seufer).
+ * Reference Debian specific bug reporting instructions.
+ * Update README.Bugs.
+ * Fix FTBFS for libstdc++-doc.
+ * Update libjava patch for hppa (Randolph Chung).
+ * Fix installation of ffitarget.h header file.
+ * On amd64-linux, configure --without-multilib, disable Ada.
+
+ -- Matthias Klose <doko@debian.org> Sun, 16 May 2004 07:53:39 +0200
+
+gcc-3.4 (3.4.0-1) experimental; urgency=low
+
+ * gcc-3.4.0 final release.
+
+ * Why experimental?
+ - Do not interfer with packages currently built from gcc-3.3 sources,
+ i.e. libgcc1, libobjc1, libffi2, libffi2-dev, libg2c0.
+ - Biarch sparc compiler doesn't built yet.
+ - Use of configure flags affecting binary ABI's not yet determined.
+ - Several ABI bugs have been fixed. Unfortunately, these changes will break
+ binary compatibility with earlier releases on several architectures:
+ alpha, mips, sparc,
+ - hppa and m68k changed sjlj based exception handling to dwarf2 based
+ exception handling.
+
+ See NEWS.html or http://gcc.gnu.org/gcc-3.4/changes.html for more
+ specific information.
+
+ -- Matthias Klose <doko@debian.org> Tue, 20 Apr 2004 20:54:56 +0200
+
+gcc-3.4 (3.4ds3-0pre4) experimental; urgency=low
+
+ * Update to gcc-3.4 CVS 20040403.
+ * Add gpc tarball, gpc patches for 3.4 (Waldek Hebisch).
+ * Reenable sparc-biarch patches (closes: #239856).
+ * Build the shared libgnat library, needed to fix FTBFS for some
+ Ada library packages (Ludovic Brenta).
+ Currently enabled for hppa, i386, ia64.
+
+ -- Matthias Klose <doko@debian.org> Sat, 3 Apr 2004 08:47:55 +0200
+
+gcc-3.4 (3.4ds1-0pre2) experimental; urgency=low
+
+ * Update to gcc-3.4 CVS 20040320.
+ * For libstdc++6-doc, add a conflict to libstdc++5-3.3-doc (closes: #236560).
+ * For libstdc++6-dbg, add a conflict to libstdc++5-3.3-dbg (closes: #236798).
+ * Reenable s390-biarch patches.
+ * Update the cross compiler build files (Nikita V. Youshchenko).
+
+ -- Matthias Klose <doko@debian.org> Sat, 20 Mar 2004 09:15:10 +0100
+
+gcc-3.4 (3.4ds0-0pre1) experimental; urgency=low
+
+ * Start gcc-3.4 packaging, get rid of the epoch for most of the
+ packages.
+
+ -- Matthias Klose <doko@debian.org> Sun, 22 Feb 2004 16:00:03 +0100
+
+gcc-3.3 (1:3.3.3ds6-6) unstable; urgency=medium
+
+ * Update to gcc-3_3-branch CVS 20040401.
+ - Fixed ICE in emit_move_insn_1 on legal code (closed: #223215).
+ - Fix PR 14755, miscompilation of loops with bitfield counter.
+ Closes: #241255.
+ - Fix PR 16040, crash in function initializing const data with
+ reinterpret_cast-ed pointer-to-member function crashes (closes: #238621).
+ - Remove patches integrated upstream.
+ * Reenable build of gpidump on powerpc and s390.
+
+ -- Matthias Klose <doko@debian.org> Thu, 1 Apr 2004 23:51:54 +0200
+
+gcc-3.3 (1:3.3.3ds6-5) unstable; urgency=medium
+
+ * Update to gcc-3_3-branch CVS 20040321.
+ - Fix PR target/13889 (ICE on valid code on m68k).
+ * Fix FTFBS on s390. Do not build gpc's gpidump on s390.
+ * Reenable gpc on arm.
+
+ -- Matthias Klose <doko@debian.org> Mon, 22 Mar 2004 07:37:26 +0100
+
+gcc-3.3 (1:3.3.3ds6-4) unstable; urgency=low
+
+ * Update to gcc-3_3-branch CVS 20040320.
+ - Revert patch for PR14640 (with this, at least mozilla-firefox was
+ miscompiled on x86 (closes: #238621).
+ * Update the gpc tarball (there were two releases with the same name ...).
+ * Reenable gpc on alpha and ia64.
+
+ -- Matthias Klose <doko@debian.org> Sat, 20 Mar 2004 07:39:24 +0100
+
+gcc-3.3 (1:3.3.3ds5-3) unstable; urgency=low
+
+ * Update to gcc-3_3-branch CVS 20040314.
+ - Fixes miscompilation with -O -funroll-loops on powerpc (closes: #229567).
+ - Fix ICE in dwarf-2 on code using altivec (closes: #203835).
+ * Update hurd-changes patch.
+ * Add libgcj4-dev as a recommendation for gcj (closes: #236547).
+ * debian/copyright: Added exemption to static linking of libgcc.
+
+ * Phil Blundell:
+ - debian/patches/arm-ldm.dpatch, debian/patches/arm-gotoff.dpatch: Update.
+
+ -- Matthias Klose <doko@debian.org> Sun, 14 Mar 2004 09:56:06 +0100
+
+gcc-3.3 (1:3.3.3ds5-2) unstable; urgency=low
+
+ * Update to gcc-3_3-branch CVS 20040306.
+ - Fixes bootstrap comparision error on ia64.
+ - Allows ghc build with gcc-3.3.
+ - On amd64, don't imply 3DNow! for -m64 by default.
+ - Some arm specific changes
+ - Fix C++/13944: exception in constructor of a class to be thrown is not
+ caught. Closes: #228099.
+ * Enable the build of gcc-3.3-hppa64 on hppa.
+ Add symlinks for as and ld to point to hppa64-linux-{as,ld}.
+ * gcj-3.3 depends on g++-3.3, recommends gij-3.3. gij-3.3 suggests gcj-3.3.
+ * Fix libgc2c-pic compatibility links (closes: #234333).
+ The link will be removed for gcc-3.4.
+ * g77-3.3: Conflict with other g77-x.y packages.
+ * Tighten shlibs dependencies to latest released versions.
+
+ * Phil Blundell:
+ - debian/patches/arm-233633.dpatch: New Fixes problems with half-word
+ loads on ARMv3 architecture. (Closes: #233633)
+ - debian/patches/arm-ldm.dpatch: New. Avoids inefficient epilogue for
+ leaf functions in PIC code on ARM.
+
+ -- Matthias Klose <doko@debian.org> Sat, 6 Mar 2004 10:57:14 +0100
+
+gcc-3.3 (1:3.3.3ds5-1) unstable; urgency=medium
+
+ * gcc-3.3.3 final release.
+ See /usr/share/doc/gcc-3.3/NEWS.{gcc,html}.
+
+ -- Matthias Klose <doko@debian.org> Mon, 16 Feb 2004 08:59:52 +0100
+
+gcc-3.3 (1:3.3.3ds4-0pre4) unstable; urgency=low
+
+ * Update to gcc-3.3.3 CVS 20040214 (2nd gcc-3.3.3 prerelease).
+ * Fix title of libstdc++'s html main index (closes: #196381).
+ * Move libg2c libraray files out of the gcc specific libdir to /usr/lib.
+ For g77-3.3 add conflicts to other g77 packages. Closes: #224848.
+ * Update the stack protector patch to 3.3-7, but don't apply it by default.
+ Closes: #230338.
+ * On arm, use arm6 as the cpu default (backport from mainline, PR12527).
+ * Add libffi and libjava support for hppa (Randolph Chung). Closes: #232615.
+
+ -- Matthias Klose <doko@debian.org> Sat, 14 Feb 2004 09:26:15 +0100
+
+gcc-3.3 (1:3.3.3ds3-0pre3) unstable; urgency=low
+
+ * Update to gcc-3.3.3 CVS 20040125.
+ - Fixed PR11350, undefined labels with -Os -fPIC (closes: #195911).
+ - Fixed PR11793, ICE in extract_insn, at recog.c (closes: #203835).
+ - Fixed PR13544, removed backport for PR12862.
+ - Integrated backport for PR12441.
+ * Fixed since 3.3: java: not implemented interface methods of abstract
+ classes not found (closes: #225438).
+ * Disable pascal on arm architecture (currently broken).
+ * Update the build files to build a cross compiler (Nikita V. Youshchenko).
+ See debian/README.cross in the source package.
+ * Apply revised patch to make -mieee the default on alpha-linux,
+ and add -mieee-disable switch to turn the default off (closes: #212912).
+ (Tyson Whitehead)
+
+ -- Matthias Klose <doko@debian.org> Sun, 25 Jan 2004 17:41:04 +0100
+
+gcc-3.3 (1:3.3.3ds2-0pre2) unstable; urgency=medium
+
+ * Update to gcc-3.3.3 CVS 20040110.
+ - Fixes compilation not terminating at -O1 on hppa (closes: #207516).
+ * Add backport to fix PR12441 (closes: #224576).
+ * Revert backport to 3.3 branch to fix PR12862, which introduced another
+ regression (PR13544). Closes: #225663.
+ * Tighten dependency of gnat-3.3 on gcc-3.3 (closes: #226273).
+ * Disable treelang build for cross compiler build.
+ * Disable pascal on alpha and ia64 architectures (currently broken).
+
+ -- Matthias Klose <doko@debian.org> Sat, 10 Jan 2004 12:33:59 +0100
+
+gcc-3.3 (1:3.3.3ds1-0pre1) unstable; urgency=low
+
+ * Update to gcc-3.3.3 CVS 20031229.
+ - Fixes bootstrap error on ia64-linux.
+ - Fix -pthread on mips{,el}-linux (closes: #224875).
+ - Fix -Wformat for C++ (closes: #217075).
+ * Backport from mainline: Preserve inline-ness when redeclaring
+ a function template (closes: #195264).
+ * Add missing intrinsics headers on ix86 (closes: #224593).
+ * Fix location of libg2c libdir in libg2c.la file (closes: #224848).
+
+ -- Matthias Klose <doko@debian.org> Mon, 29 Dec 2003 10:36:29 +0100
+
+gcc-3.3 (1:3.3.3ds0-0pre0.1) unstable; urgency=high
+
+ * NMU
+ * Fixed mips(el) spec file for -pthread: (Closes: #224875)
+ * [debian/patches/mips-pthread.dpatch] New.
+ * [debian/rules.patch] Added it to debian_patches.
+
+ -- J.H.M. Dassen (Ray) <jdassen@debian.org> Sat, 27 Dec 2003 15:51:47 +0100
+
+gcc-3.3 (1:3.3.3ds0-0pre0) unstable; urgency=low
+
+ * Update to gcc-3.3.3 CVS 20031206.
+ - Fixes ICE in verify_local_live_at_start (hppa). Closes: #201550.
+ - Fixes miscompilation of linux-2.6/sound/core/oss/rate.c.
+ Closes: #219949.
+ * Add missing unwind.h to gcc package (closes: #220846).
+ * Regenerate control file to fix build dependencies for m68k.
+ * More gpc only patches to fix test failures on m68k.
+ * Reenable gpc for the Hurd (closes: #189851).
+
+ -- Matthias Klose <doko@debian.org> Sat, 6 Dec 2003 10:29:07 +0100
+
+gcc-3.3 (1:3.3.2ds5-4) unstable; urgency=low
+
+ * Update libffi-dev package description (closes: #219508).
+ * For gij and libgcj fix dependency on the libstdc++ package, if
+ the latter isn't installed during the build.
+ * Apply patch to emit .note.GNU-stack section on linux arches
+ which by default need executable stack.
+ * Prefer gnat-3.3 over gnat-3.2 as a build dependency.
+ * Update the pascal tarball (different version released with the
+ same name).
+ * Add pascal patches to address various gpc testsuite failures.
+ On alpha and ia64, build gpc from the 20030830 version. Reenable
+ the build on m68k.
+ Remove the 20030507 gpc version from the tarball.
+ * Apply patch to build the shared ada libs and link the ada tools
+ against the shared libs. Not enabled by default, because gnat
+ and gnatlib are rebuilt during install. (Ludovic Brenta)
+
+ -- Matthias Klose <doko@debian.org> Sun, 9 Nov 2003 22:34:33 +0100
+
+gcc-3.3 (1:3.3.2ds4-3) unstable; urgency=low
+
+ * Fix rules to omit inclusion of gnatpsta in mips(el) gnat package.
+
+ -- Matthias Klose <doko@debian.org> Sun, 2 Nov 2003 14:29:59 +0100
+
+gcc-3.3 (1:3.3.2ds4-2) unstable; urgency=medium
+
+ * s390-ifcvt patch added. Fixes gcl miscompilation (closes: #217240).
+ (Gerhard Tonn)
+ * Fix an infinite loop in g++ compiling lufs, regression from 3.3.1.
+ * Fix a wrong code generation bug on alpha.
+ (Falk Hueffner)
+ * Update NEWS files.
+ * Add Falk Hueffner to the Debian GCC maintainers.
+ * Enable ada on mips and mipsel, but don't build the gnatpsta tool.
+
+ -- Matthias Klose <doko@debian.org> Wed, 29 Oct 2003 00:12:37 +0100
+
+gcc-3.3 (1:3.3.2ds4-1) unstable; urgency=medium
+
+ * Update to gcc-3.3.2.
+ * Update NEWS files.
+ * Miscompilation in the pari package at -O3 fixed (closes: #198172).
+ * On alpha-linux, revert -mieee as the default (Falk Hueffner).
+ Reopens: #212912.
+ * Add ia64-unwind patch (Jeff Bailey).
+ * Closed reports reported against gcc-2.96 (ia64), fixed at least in gcc-3.3:
+ - ICE in verify_local_live_at_start, at flow.c:2733 (closes: #135404).
+ - Compilation failure of stlport (closes: #135224).
+ - Infinite loop compiling cssc's pfile.cc with -O2 (closes: #115390).
+ - Added missing some string::compare() members (closes: #141199).
+ - <cmath> header declares std::pow (closes: #161853).
+ - <vector> does have at() method (closes: #59776).
+ - Fixed error in stl_deque.h (closes: #69530).
+ - Fixed problem with bastring (closes: #75759, #96539).
+ - bad_alloc and std:: namespace problem (closes: #75120).
+ - Excessive warnings from headers with -Weffc++ (closes: #76827).
+
+ -- Matthias Klose <doko@debian.org> Fri, 17 Oct 2003 08:07:01 +0200
+
+gcc-3.3 (1:3.3.2ds3-0pre5) unstable; urgency=low
+
+ * Update to gcc-3.3.2 CVS 20031005.
+ - Fixes cpp inserting a spurious newline (closes: #210478, #210482).
+ - Fixes generation of unrecognizable insn compiling kernel source
+ on alpha (closes: #202762).
+ - Fixes ICE in add_abstract_origin_attribute (closes: #212406).
+ - Fixes forward declaration in libstdc++ (closes: #209386).
+ - Fixes ICE in in extract_insn, at recog.c on alpha (closes: #207564).
+ * Make libgcj-common architecture all (closes: #211909).
+ * Build depend on: flex-old | flex (<< 2.5.31).
+ * Fix spec linking libraries with -pthread on powerpc (closes: #211054).
+ * debian/patches/arm-gotoff.dpatch: fix two kinds of PIC lossage.
+ (Phil Blundell)
+ * debian/patches/arm-common.dpatch: fix excessive alignment of common
+ blocks causing binutils testsuite failures.
+ (Phil Blundell)
+ * Update priorities in debian/control to match the archive.
+ (Ryan Murray)
+ * s390-nonlocal-goto patch added. Fixes some pascal testcase failures.
+ (Gerhard Tonn)
+ * On alpha-linux, make -mieee default and add -mieee-disable switch
+ to turn default off (closes: #212912).
+ (Tyson Whitehead)
+ * Add gpc upstream patch for memory corruption fix.
+
+ -- Matthias Klose <doko@debian.org> Sun, 5 Oct 2003 19:53:49 +0200
+
+gcc-3.3 (1:3.3.2ds2-0pre4) unstable; urgency=low
+
+ * Add gcc-unsharing_lhs patch (closes: #210848)
+
+ -- Ryan Murray <rmurray@debian.org> Fri, 19 Sep 2003 22:51:19 -0600
+
+gcc-3.3 (1:3.3.2ds2-0pre3) unstable; urgency=low
+
+ * Update to gcc-3.3.2 CVS 20030908.
+ * PR11716 (Michael Eager, Dan Jacobowitz):
+ Make GCC think that the maximum length of a short branch is
+ 64K instead of 128K. It's a big hammer, but it works.
+ Closes: #207915.
+ * Downgrade gpc to 20030507 on alpha and ia64 (closes: #208717).
+
+ -- Matthias Klose <doko@debian.org> Mon, 8 Sep 2003 21:49:52 +0200
+
+gcc-3.3 (1:3.3.2ds1-0pre2) unstable; urgency=low
+
+ * Update to gcc-3.3.2 CVS 20030831.
+ - Fix java NullPointerException detection with 2.6 kernels.
+ Closes: #206377.
+ - Fix bug in C++ typedef handling (closes: #205402).
+ - Fix -Wunreachable-code giving false complaints (closes: #196600).
+ * Update to gpc-20030830.
+ * Don't include /usr/share/java/repository into the class path according
+ to the new version of th Debian Java policy (closes: #205643).
+ * Build-Depend/Depend on libgc-dev.
+
+ -- Matthias Klose <doko@debian.org> Sun, 31 Aug 2003 08:56:53 +0200
+
+gcc-3.3 (1:3.3.2ds0-0pre1) unstable; urgency=low
+
+ * Remove the build dependency on locales for now.
+
+ -- Matthias Klose <doko@debian.org> Fri, 15 Aug 2003 07:48:18 +0200
+
+gcc-3.3 (1:3.3.2ds0-0pre0) unstable; urgency=medium
+
+ * Update to gcc-3.3.2 CVS 20030812.
+ - Fixes generation of wrong code for XDM-AUTHORIZATION-1 key generation
+ and/or validation. Closes: #196090.
+ * Update NEWS files.
+ * Change ix86 default CPU type for code generation:
+ - i386-linux -> i486-linux
+ - i386-gnu -> i586-gnu
+ - i386-freebsd-gnu -> i486-freebsd-gnu
+ Use -march=i386 to target i386 CPUs.
+
+ -- Matthias Klose <doko@debian.org> Tue, 12 Aug 2003 10:31:28 +0200
+
+gcc-3.3 (1:3.3.1ds3-1) unstable; urgency=low
+
+ * gcc-3.3.1 (taken from CVS 20030805).
+ - C++: Fix declaration conflicts (closes: #203351).
+ - Fix ICE on ia64 (closes: #203840).
+
+ -- Matthias Klose <doko@debian.org> Tue, 5 Aug 2003 20:38:02 +0200
+
+gcc-3.3 (1:3.3.1ds2-0rc2) unstable; urgency=low
+
+ * Update to gcc-3.3.1 CVS 20030728.
+ - Fix ICE in extract_insn, at recog.c:2148 on m68k.
+ Closes: #177840, #180375, #190818.
+ - Fix ICE while building libquicktime on alpha (closes: #192576).
+ - Fix failure to deal with using and private inheritance (closes: #202696).
+ * On sparc, /usr/lib was added to the library search path. Fix it.
+ * Closed reports reported against gcc-3.2.x and fixed in gcc-3.3:
+ - Fix error building the gcl package on arm (closes: #199835).
+
+ -- Matthias Klose <doko@debian.org> Mon, 28 Jul 2003 20:39:07 +0200
+
+gcc-3.3 (1:3.3.1ds1-0rc1) unstable; urgency=low
+
+ * Update to gcc-3.3.1 CVS 20030722 (3.3.1 release candidate 1).
+ - Fix ICE in copy_to_mode_reg on 64-bit targets (closes: #189365).
+ - Remove documentation about multi-line strings (closes: #194391).
+ - Correctly document -falign-* parameters (closes: #198269).
+ - out-of-class specialization of a private nested template class.
+ Closes: #193830.
+ - Tighten shlibs dependency due to new symbols in libgcc.
+ * README.Debian for libg2c0, describing the need for g77-x.y when
+ working with the g2c header and library (closes: #189059).
+ * Call make with -j<number of CPU's>, if USE_NJOBS is set and non-empty
+ in the environment.
+ * Add another two m68k patches, partly replacing the workarounds provided
+ by Roman Zippel.
+ * Add the stack protector patch, but don't apply it by default. Edit
+ debian/rules.patch to apply it (closes: #171699, #189494).
+ * Remove wrong symlinks from gnat package (closes: #201882).
+ * Closed reports reported against gcc-2.95 and fixed in newer versions:
+ - SMP kernel compilation on alpha (closes: #134197, #146883).
+ - ICE on arm while building imagemagick (closes: #173475).
+ * Closed reports reported against gcc-3.2.x and fixed in gcc-3.3:
+ - Miscompilation of octave2.1 on hppa (closes: #192296, #193804).
+
+ -- Matthias Klose <doko@debian.org> Sun, 13 Jul 2003 10:26:30 +0200
+
+gcc-3.3 (1:3.3.1ds0-0pre0) unstable; urgency=medium
+
+ * Update to gcc-3.3.1 CVS 20030626.
+ - Fix ICE on arm compiling xfree86 (closes: #195424).
+ - Fix ICE on arm compiling fftw (closes: #186185).
+ - Fix ICE on arm in change_address_1, affecting a few packages.
+ Closes: #197099.
+ - Fix ICE in merge_assigned_reloads building Linux 2.4.2x sched.c.
+ Closes: #195237.
+ - Do not warn about failing to inline functions declared in system headers.
+ Closes: #193049.
+ - Fix ICE on mips{,el} in propagate_one_insn (closes: #194330, #196091).
+ - Fix ICE on m68k in reg_overlap_mentioned_p (closes: #194749).
+ - Build crtbeginT.o on m68k (closes: #197613).
+ * Fix g++ man page symlink (closes: #196271).
+ * mips/mipsel: Depend on binutils (>= 2.14.90.0.4). Closes: #196744.
+ * Disable treelang on powerpc (again). Closes: #196915.
+ * Pass -encoding in gcj-wrapper.
+
+ -- Matthias Klose <doko@debian.org> Fri, 27 Jun 2003 00:14:43 +0200
+
+gcc-3.3 (1:3.3ds9-3) unstable; urgency=low
+
+ * Closing more reports, fixed in 3.2/3.3:
+ - ICE building texmacs on m68k (closes: #177433).
+ - libstdc++: <cmath> doesn't define trunc(...) (closes: #105285).
+ - libstdc++: setw is ignored for strings output (closes: #52382, #76645).
+ * Add build support to omit the manual pages and info docs from the
+ packages, disabled by default. Wait for a Debian statement, which can
+ be cited. Adresses: #193787.
+ * Reenable the m68k-const patch, don't run the g77 testsuite on m68k.
+ Addresses ICEs (#177840, #190818).
+ * Update arm-xscale patch.
+ * libstdc++: use __attribute__(__unknown__), instead of (unknown).
+ Closes: #195796.
+ * Build-Depend on glibc (>= 2.3.1) to prevent incorrect builds on woody.
+ Request from Adrian Bunk.
+ * Add treelang-update patch (Tim Josling), reenable treelang on powerpc.
+ * Add <GNU_TYPE>-{cpp,gcc,g++,gcj,g77} symlinks (addresses: #189466).
+ * Make sure not to build using binutils-2.14.90.0.[12].
+
+ -- Matthias Klose <doko@debian.org> Mon, 2 Jun 2003 22:35:45 +0200
+
+gcc-3.3 (1:3.3ds9-2) unstable; urgency=medium
+
+ * Correct autoconf-related snafu in newly added ARM patches (Phil Blundell).
+ * Correct libgcc1 dependency (closes: #193689).
+ * Work around ldd/dpkg-shlibs failure on s390x.
+
+ -- Matthias Klose <doko@debian.org> Sun, 18 May 2003 09:40:15 +0200
+
+gcc-3.3 (1:3.3ds9-1) unstable; urgency=low
+
+ * gcc-3.3 final release.
+ See /usr/share/doc/gcc-3.3/NEWS.{gcc,html}.
+ * First merge of i386/x86-64 biarch support (Arnd Bergmann).
+ Disabled by default. Closes: #190066.
+ * New gpc-20030507 version.
+ * Upstream gpc update to fix netbsd build failure (closes: #191407).
+ * Add arm-xscale.dpatch, arm-10730.dpatch, arm-tune.dpatch, copied
+ from gcc-3.2 (Phil Blundell).
+ * Closing bug reports reported against older gcc versions (some of them
+ still present in Debian, but not anymore as the default compiler).
+ Usually, forwarded bug reports are linked to
+ http://gcc.gnu.org/PR<upstream bug number>
+ The upstream bug number usually can be found in the Debian reports.
+
+ * Closed reports reported against gcc-3.1.x, gcc-3.2.x and fixed in gcc-3.3:
+ - General:
+ + GCC accepts multi-line strings without \ or " " &c (closes: #2910).
+ + -print-file-name sometimes fails (closes: #161615).
+ + ICE: reporting routines re-entered (closes: #179597, #180937).
+ + Misplaced paragraph in gcc documentation (closes: #179363).
+ + Error: suffix or operands invalid for `div' (closes: #150558).
+ + builtin memcmp() could be optimised (closes: #85535).
+ - Ada:
+ + Preelaborate, exceptions, and -gnatN (closes: #181679).
+ - C:
+ + Duplicate loop conditions even with -Os (closes: #94701).
+ + ICE (signal 11) (closes: #65686).
+ - C++:
+ + C++ error on virtual function which uses ... (closes: #165829).
+ + ICE when warning about cleanup nastiness in switch statements
+ (closes: #184108).
+ + Fails to compile virtual inheritance with variable number of
+ argument method (closes: #151357).
+ + xmmintrin.h broken for c++ (closes: #168310).
+ + Stack corruption with variable-length automatic arrays and virtual
+ destructors (closes: #188527).
+ + ICE on illegal code (closes: #184862).
+ + _attribute__((unused)) is ignored in C++ (closes: #45440).
+ + g++ handles &(void *)foo bizzarely (closes: #79225).
+ + ICE (with wrong code, though) (closes: #81122).
+ - Java:
+ + Broken zip file handling (closes: #180567).
+ - ObjC:
+ + @protocol forward definitions do not work (closes: #80468).
+ - Architecture specific:
+ - alpha
+ + va_start is off by one (closes: #186139).
+ + ICE while building kseg/ddd (closes: #184753).
+ + g++ -O2 optimization error (closes: #70743).
+ - arm
+ + ICE with -O2 in change_address_1 (closes: #180750).
+ + gcc optimization error with -O2, affecting bison (closes: #185903).
+ - hppa
+ + ICE in insn_default_length (closes: #186447).
+ - ia64
+ + gcc-3.2 fails w/ optimization (closes: #178830).
+ - i386
+ + unnecessary generation of instruction cwtl (closes: #95318).
+ + {athlon} ICE building mplayer (closes: #184800).
+ + {pentium4} ICE while compiling mozilla with -march=pentium4
+ (closes: #187910).
+ + i386 optimisation: joining tests (closes: #105309).
+ - m68k
+ + ICE in instantiate_virtual_regs_1 (closes: #180493).
+ + gcc optimizer bug on m68k (closes: #64832).
+ - powerpc
+ + ICE in extract_insn, at recog.c:2175 building php3 (closes: #186299).
+ + ICE with -O -Wunreachable-code (closes: #189702).
+ - s390
+ + Operand out of range at assembly time when using -O2
+ (closes: #178596).
+ - sparc
+ + gcc-3.2 regression (wrong code) (closes: #176387).
+ + ICE in mem_loc_descriptor when optimizing (closes: #178909).
+ + ICE in gen_reg_rtx when optimizing (closes: #178965).
+ + Optimisation leads to unaligned access in memcpy (closes: #136659).
+
+ * Closed reports reported against gcc-3.0 and fixed in gcc-3.2.x:
+ - General:
+ + Use mkstemp instead of mktemp (closed: #127802).
+ - Preprocessor:
+ + Fix redundant error message from cpp (closed: #100722).
+ - C:
+ + Optimization issue on ix86 (pointless moving) (closed: #97904).
+ + Miscompilation of allegro on ix86 (closed: #105741).
+ + Fix generation of ..ng references for static aliases (alpha-linux).
+ (closed: #108036).
+ + ICE compiling pari on hppa (closed: #111613).
+ + ICE on ia64 in instantiate_virtual_regs_1 (closed: #121668).
+ + ICE in c-typeck.c (closed: #123687).
+ + ICE in gen_subprogram_die on alpha (closed: #127890).
+ + SEGV in initialization of flexible char array member (closed: #131399).
+ + ICE on arm compiling lapack (closed: #135967).
+ + ICE in incomplete_type_error (closed: #140606).
+ + Fix -Wswitch (also part of -Wall) (closed: #140995).
+ + Wrong code in mke2fs on hppa (closed: #150232).
+ + sin(a) * sin(b) gives wrong result (closed: #164135).
+ - C++:
+ + Error in std library headers on arm (closed: #107633).
+ + ICE nr. 19970302 (closed: #119635).
+ + std::wcout does not perform encoding conversions (closed: #128026).
+ + SEGV, when compiling iostream.h with -fPIC (closed: #134315).
+ + Fixed segmentation fault in included code for <rope> (closed: #137017).
+ + Fix with exception handling and -O (closed: #144232).
+ + Fix octave-2.1 build failure on ia64 (closed: #144584).
+ + nonstandard overloads in num_get facet (closed: #155900).
+ + ICE in expand_end_loop with -O (closed: #158371).
+ - Fortran:
+ + Fix blas build failure on arm (closed: #137959).
+ - Java:
+ + Interface members are public by default (closed: #94974).
+ + Strange message with -fno-bounds-check in combination with -W.
+ (closed: #102353).
+ + Crash in FileWriter using IOException (closed: #116128).
+ + Fix ObjectInputStream.readObject() calling constructors.
+ (closed: #121636).
+ + gij: better error reporting on `class not found' (closed: #125649).
+ + Lockup during .java->.class compilation (closed: #141899).
+ + Compile breaks using temporary inner class instance (closed: #141900).
+ + Default constructor for inner class causes broken bytecode.
+ (closed: #141902).
+ + gij-3.2 linked against libgcc1 (closed: #165180).
+ + gij-wrapper understands -classpath parameter (closed: #146634).
+ + gij-3.2 doesn't ignore -jar when run as "java" (closed: #167673).
+ - ObjC:
+ + ICE on alpha (closed: #172353).
+
+ * Closed reports reported against gcc-2.95 and fixed in newer versions:
+ - General:
+ + Undocumented option -pthread (closes: #165110).
+ + stdbool.h broken (closes: #167439).
+ + regparm/profiling breakage (closes: #20695).
+ + another gcc optimization error (closes: #51456).
+ + ICE in `output_fix_trunc' (closes: #55967).
+ + Fix "Unable to generate reloads for" (closes: #58219, #131890).
+ + gcc -c -MD x/y.c -o x/y.o leaves y.d in cwd (closes: #59232).
+ + Compiler error with -O2 (closes: #67631).
+ + ICE (unrecognizable insn) compiling php4 (closes: #83550, #84969).
+ + Another ICE (closes: #90666).
+ + man versus info inconsistency (-W and -Wall) (closes: #93708).
+ + ICE on invalid extended asm (closes: #136630).
+ + ICE in `emit_no_conflict_block' compiling perl (closes: #154599).
+ + ICE in `gen_tagged_type_instantiation_die'(closes: #166766).
+ + ICE on __builtin_memset(s, 0, -1) (closes: #170994).
+ + -Q option to gcc appears twice in the documentation (closes: #137382).
+ + New options for specifying targets:- -MQ and -MT (closes: #27878).
+ + Configure using --enable-nls (closes: #51651).
+ + gcc -dumpspecs undocumented (closes: #65406).
+ - Preprocessor:
+ + cpp fails to parse macros with varargs correctly(closes: #154767).
+ + __VA_ARGS__ stringification crashes preprocessor if __VA_ARGS__ is
+ empty (closes: #152709).
+ + gcc doesn't handle empty args in macro function if there is only
+ one arg(closes: #156450).
+ - C:
+ + Uncaught floating point exception causes ICE (closes: #33786).
+ + gcc -fpack-struct doesn't pack structs (closes: #64628).
+ + ICE in kernel (matroxfb) code (closes: #151196).
+ + gcc doesn't warn about unreachable code (closes: #158704).
+ + Fix docs for __builtin_return_address(closes: #165992).
+ + C99 symbols in limits.h not defined (closes: #168346).
+ + %zd printf spec generates warning, even in c9x mode (closes: #94891).
+ + Update GCC attribute syntax (closes: #12253, #43119).
+ - C++ & libstdc++-v3:
+ + template and virtual inheritance bug (closes: #152315).
+ + g++ has some troubles with nested templates (closes: #21255).
+ + vtable thunks implementation is broken (closes: #34876, #35477).
+ + ICE for templated friend (closes: #42662).
+ + ICE compiling mnemonic (closes: #42989).
+ + Deprecated: result naming doesn't work for functions defined in a
+ class (closes: #43170).
+ + volatile undefined ... (closes: #50529).
+ + ICE concerning templates (closes: #53698).
+ + Program compiled -O3 -malign-double segfaults in ofstream::~ofstream
+ (closes: #56867).
+ + __attribute__ ((constructor)) doesn't work with C++ (closes: #61806).
+ + Another ICE (closes: #65687).
+ + ICE in `const_hash' (closes: #72933).
+ + ICE on illegal code (closes: #83221).
+ + Wrong code with -O2 (closes: #83363).
+ + ICE on template class (closes: #85934).
+ + No warning for missing return in non-void member func (closes: #88260).
+ + Not a bug/fixed in libgcc1: libgcc.a symbols end up exported by
+ shared libraries (closes: #118670).
+ + ICE using nested templates (closes: #118781).
+ + Another ICE with templates (closes: #127489).
+ + More ICEs (closes: #140427, #141797).
+ + ICE when template declared after use(closes: #148603).
+ + template function default arguments are not handled (closes: #157292).
+ + Warning when including stl.h (closes: #162074).
+ + g++ -pedantic-errors -D_GNU_SOURCE cannot #include <complex>
+ (closes: #151671).
+ + c++ error message improvement suggestion (closes: #46181).
+ + Compilation error in stl_alloc.h with -fhonor-std (closes: #59005).
+ + libstdc++ has no method at() in stl_= (closes: #68963).
+ - Fortran:
+ + g77 crash (closes: #130415).
+ - ObjC:
+ + ICE: program cc1obj got fatal signal 11 (closes: #62309).
+ + Interface to garbage collector is undocumented. (closes: #68987).
+ - Architecture specific:
+ - alpha
+ + Can't compile with define gnu_source with stdio and curses
+ (closes: #97603).
+ + Header conflicts on alpha (closes: #134558).
+ + lapack-dev: cannot link on alpha (closes: #144602).
+ + ICE `fixup_var_refs_1' (closes: #43001).
+ + Mutt segv on viewing list of attachments (closes: #47981).
+ + ICE building open-amulet (closes: #48530).
+ + ICE compiling hatman (closes: #55291).
+ + dead code removal in switch() broken (closes: #142844).
+ - arm
+ + Miscompilation using -fPIC on arm (closes: #90363).
+ + infinite loop with -O on arm (closes: #151675).
+ - i386
+ + ICE when using -mno-ieee-fp and -march=i686 (closes: #87540).
+ - m68k
+ + Optimization (-O2) broken on m68k (closes: #146006).
+ - mips
+ + g++ exception catching does not work... (closes: #105569).
+ + update-menus gets Bus Error (closes: #120333).
+ - mipsel
+ + aspell: triggers ICE on mipsel (closes: #128367).
+ - powerpc
+ + -O2 produces wrong code (gnuchess example) (closes: #131454).
+ - sparc
+ + Misleading documentation for -malign-{jump,loop,function}s
+ (closes: #114029).
+ + Sparc GCC issue with -mcpu=ultrasparc (closes: #172956).
+ + flightgear: build failure on sparc (closes: #88694).
+
+ -- Matthias Klose <doko@debian.org> Fri, 16 May 2003 07:13:57 +0200
+
+gcc-3.3 (1:3.3ds8-0pre9) unstable; urgency=high
+
+ * gcc-3.3 second prerelease.
+ - Fixing exception handling on s390 (urgency high).
+ * Reenabled gpc build (I had it disabled ...). Closes: #192347.
+
+ -- Matthias Klose <doko@debian.org> Fri, 9 May 2003 07:32:14 +0200
+
+gcc-3.3 (1:3.3ds8-0pre8) unstable; urgency=low
+
+ * gcc-3.3 prerelease.
+ - Fixes gcj ICE (closes: #189545).
+ * For libstdc++ use the i486 atomicity implementation, introduced with
+ 0pre6, left out in 0pre7 (closes: #191684).
+ * Add README.Debian for treelang (closes: #190812).
+ * Apply NetBSD changes (Joel Baker). Closes: #191551.
+ * New symbols in libgcc1, tighten the shlibs dependency.
+ * Disable testsuite run on mips/mipsel because of an outdated libc-dev
+ package.
+ * Do not build libffi with debug information, although configuring
+ with --enable-debug.
+
+ -- Matthias Klose <doko@debian.org> Tue, 6 May 2003 06:53:49 +0200
+
+gcc-3.3 (1:3.3ds7-0pre7) unstable; urgency=low
+
+ * gcc-3.3 prerelease taken from the gcc-3_3-branch (CVS 20030429).
+ * Revert upstream libstdc++ change (closes: #191145, #191147, #191148,
+ #191149, #149159, #149151, and other reports).
+ Sorry for not detecting this before the upload, seems to be
+ broken on i386 "only".
+ * hurd-i386: Use /usr/include, not /include.
+ * Disable gpc on hurd-i386 (closes: #189851).
+ * Disable building the debug version of libstdc++ on powerpc-linux
+ (fixes about 200 java test cases).
+ * Install libstdc++v3 man pages (closes: #127263).
+
+ -- Matthias Klose <doko@debian.org> Tue, 29 Apr 2003 23:28:44 +0200
+
+gcc-3.3 (1:3.3ds6-0pre6) unstable; urgency=high
+
+ * gcc-3.3 prerelease taken from the gcc-3_3-branch (CVS 20030426).
+ * libstdc++-doc: Fix index.html link (closes: #189424).
+ * Revert back to the i486 atomicity implementation, that was used
+ for gcc-3.2 as well. Reopens: #184446, #185662. Closes: #189983.
+ For this reason, tighten the libstdc++5 shlibs dependency. See
+ http://lists.debian.org/debian-devel/2003/debian-devel-200304/msg01895.html
+ Don't build the ix86 specfic libstdc++ libs anymore.
+
+ -- Matthias Klose <doko@debian.org> Sun, 27 Apr 2003 19:47:54 +0200
+
+gcc-3.3 (1:3.3ds5-0pre5) unstable; urgency=low
+
+ * gcc-3.3 prerelease taken from the gcc-3_3-branch (CVS 20030415).
+ * Disable treelang on powerpc.
+ * Disable gpc on m68k.
+ * Install locale data. Conflict with gcc-3.2 (<= 1:3.2.3-0pre8).
+ * Fix generated bits/atomicity.h (closes: #189183).
+ * Tighten libgcc1 shlibs dependency (new symbol _Unwind_Backtrace).
+
+ -- Matthias Klose <doko@debian.org> Wed, 16 Apr 2003 00:37:05 +0200
+
+gcc-3.3 (1:3.3ds4-0pre4) unstable; urgency=low
+
+ * gcc-3.3 prerelease taken from the gcc-3_3-branch (CVS 20030412).
+ * Avoid sparc64 dependencies for libgcc1 on sparc (Clint Adams).
+ * Make the default sparc 32bit target v8 instead of v7. This mainly
+ enables hardmul, which should speed up v8 and v9 systems by a large
+ margin (Ben Collins).
+ * Tighten binutils dependency for sparc.
+ * On i386, build libstdc++ optimized for i486 and above. The library
+ in /usr/lib is built for i386. Closes: #184446, #185662.
+ * Add gpc build (from gcc-snapshot package).
+ * debian/control: Include all packages, that _can_ be built from
+ this source package (except the cross packages).
+ * Add m68k patches: m68k-const, m68k-subreg, m68k-loop.
+ * Run the 3.3 testsuite a second time with the installed gcc-3.2
+ to check for regressions (promised, only this time, and for the
+ final release ;). Add build dependencies (gobjc-3.2, g77-3.2, g++-3.2).
+
+ -- Matthias Klose <doko@debian.org> Sat, 12 Apr 2003 10:11:11 +0200
+
+gcc-3.3 (1:3.3ds3-0pre3) unstable; urgency=low
+
+ * gcc-3.3 prerelease taken from the gcc-3_3-branch (CVS 20030331).
+ * Reenable java on arm.
+ * Build-Depend on binutils-2.13.90.0.18-1.3 on m68k. Fixes all
+ bprob/gcov testsuite failures.
+ * Enable C++ build on arm.
+ * Enable the sparc64 build.
+
+ -- Matthias Klose <doko@debian.org> Mon, 31 Mar 2003 23:24:54 +0200
+
+gcc-3.3 (1:3.3ds2-0pre2) unstable; urgency=low
+
+ * gcc-3.3 prerelease taken from the gcc-3_3-branch (CVS 20030317).
+ * Disable building the gcc-3.3-nof package.
+ * Disable Ada on mips and mipsel.
+ * Remove the workaround to build Ada on powerpc.
+ * Add GNU Free documentation license to copyright file.
+ * Update the sparc64 build patches (Clint Adams). Not yet enabled.
+ * Disable C++ on arm (Not yet tested).
+ * Add fix for ICE on powerpc (see: #184684).
+
+ -- Matthias Klose <doko@debian.org> Sun, 16 Mar 2003 21:40:57 +0100
+
+gcc-3.3 (1:3.3ds1-0pre1) unstable; urgency=low
+
+ * gcc-3.3 prerelease taken from the gcc-3_3-branch (CVS 20030310).
+ * Add gccbug manpage.
+ * Don't build libgnat package (no shared library).
+ * Configure with --enable-sjlj-exceptions on hppa and m68k for
+ binary compatibility with libstdc++ built with gcc-3.2.
+ * Disable Java on arm-linux (never seen it sucessfully bootstrap).
+ * Install non-conflicting baseline README.
+ * multilib *.so and *.a moved to /usr/lib/gcc-lib/... , so that several
+ compiler versions can be installed concurrently.
+ * Remove libstdc++-incdir patch applied upstream.
+ * libstdc++ 64 bit development files now handled in -dev target.
+ (Gerhard Tonn)
+ * Drop build dependencies for gpc (tetex-bin, help2man, libncurses5-dev).
+ * Add libstdc++5-3.3-dev confict to libstdc++5-dev (<= 1:3.2.3-0pre3).
+ * Enable builds on m68k (all but C++ for the moment). gcc-3.3 bootstraps,
+ while gcc-3.2 doesn't.
+
+ -- Matthias Klose <doko@debian.org> Mon, 10 Mar 2003 23:41:00 +0100
+
+gcc-3.3 (1:3.3ds0-0pre0) unstable; urgency=low
+
+ * First gcc-3.3 package, built for s390 only. All other architectures
+ build the gcc-3.3-base package only.
+ To build the package on other architectures, edit debian/rules.defs
+ (macro no_dummy_archs).
+ * gcc-3.3 prerelease taken from the gcc-3_3-branch (CVS 20030301).
+ * Don't include the gcc locale files (would conflict with 3.2).
+ * Remove libffi-install-fix patch.
+ * Fix netbsd-i386 patches.
+ * Change priority of libstdc++5 and gcc-3.2-base to important.
+ * Install gcjh-wrapper for javah.
+ * gij suggests fastjar, gcj recommends fastjar.
+ * Allow builds using automake1.4 | automake (<< 1.5).
+ * Backport fix for to output more correct line numbers.
+ * Add help2man to build dependencies needed for some gpc man pages.
+ * gpc: Install binobj and gpidump binaries and man pages.
+ * Apply cross compilation patches submitted by Bastian Blank.
+ * Replace s390-biarch patch and copy s390-config-ml patch from 3.2
+ (Gerhard Tonn).
+ * Configure using --enable-debug.
+ * Add infrastructure to only build a subset of binary packages.
+ * Rename libstdc++-{dev,dbg,pic,doc} packages.
+ * Build treelang compiler.
+
+ -- Matthias Klose <doko@debian.org> Sat, 1 Mar 2003 12:56:42 +0100
+
+gcc-3.2 (1:3.2.3ds2-0pre3) unstable; urgency=low
+
+ * gcc-3.2.3 prerelease (CVS 20030228)
+ - Fixes bootstrap failure on alpha-linux.
+ - Fixes ICE on m68k (closes: #177016).
+ * Build Pascal with -O1 on powerpc, disable Pascal on arm, m68k and
+ sparc (due to wrong code generation for fwrite in glibc,
+ see PR optimization/9279).
+ * Apply cross compilation patches submitted by Bastian Blank.
+
+ -- Matthias Klose <doko@debian.org> Fri, 28 Feb 2003 20:26:30 +0100
+
+gcc-3.2 (1:3.2.3ds1-0pre2) unstable; urgency=medium
+
+ * gcc-3.2.3 prerelease (CVS 20030221)
+ - Fixes ICE on hppa (closes: #181813).
+ * Patch for ffitest in s390-java.dpatch deleted, since already fixed
+ upstream. (Gerhard Tonn)
+ * Build crtbeginT.o on m68k-linux (closes: #179807).
+ * Install gcjh-wrapper for javah (closes: #180218).
+ * gij suggests fastjar, gcj recommends fastjar (closes: #179298).
+ * Allow builds using automake1.4 | automake (<< 1.5) (closes: #180048).
+ * Backport fix for to output more correct line numbers (closes: #153965).
+ * Add help2man to build dependencies needed for some gpc man pages.
+ * gpc: Install binobj and gpidump binaries and man pages.
+ * Disable gpc on arm due to wrong code generation for fwrite in
+ glibc (see PR optimization/9279).
+
+ -- Matthias Klose <doko@debian.org> Sat, 22 Feb 2003 19:58:20 +0100
+
+gcc-3.2 (1:3.2.3ds0-0pre1) unstable; urgency=low
+
+ * gcc-3.2.3 prerelease (CVS 20030210)
+ - Fixes long millicode calls on hppa (closes: #180520)
+ * New gpc-20030209 version. Remove gpc-update.dpatch and gpc-testsuite.dptch
+ as they are no longer needed.
+ * Fix netbsd-i386 patches (closes: #180129, #179931)
+ * m68k-bootstrap.dpatch: backport gcse.c changes from 3.3/MAIN to 3.2
+ * Change priority of libstdc++5 and gcc-3.2-base to important.
+
+ -- Ryan Murray <rmurray@debian.org> Tue, 11 Feb 2003 06:18:09 -0700
+
+gcc-3.2 (1:3.2.2ds8-1) unstable; urgency=low
+
+ * gcc-3.2.2 release.
+ - Fixes ICE, regression from 2.95 (closes: #176117).
+ - Fixes ICE, regression from 2.95 (closes: #179161).
+ * libstdc++ for biarch installs now upstream to usr/lib64,
+ therefore mv usr/lib/64 usr/lib64 no longer necessary. (Gerhard Tonn)
+
+ -- Ryan Murray <rmurray@debian.org> Wed, 5 Feb 2003 01:35:29 -0700
+
+gcc-3.2 (1:3.2.2ds7-0pre8) unstable; urgency=low
+
+ * gcc-3.2.2 prerelease (CVS 20030130).
+ * update s390 libffi patch
+ * debian/control: add myself to uploaders and change libc12-dev depends to
+ libc-dev on i386 (closes: #179128)
+ * Build-Depend on procps so that ps is available for logwatch
+
+ -- Ryan Murray <rmurray@debian.org> Fri, 31 Jan 2003 04:00:15 -0700
+
+gcc-3.2 (1:3.2.2ds6-0pre7) unstable; urgency=low
+
+ * gcc-3.2.2 prerelease (CVS 20030128).
+ - Update needed for hppa.
+ - Fixes ICE on arm, regression from 2.95.x (closes: #168086).
+ - Can use default bison (1.875).
+ * Apply netbsd build patches (closes: #177674, #178328, #178325,
+ #178326, #178327).
+ * Run the logwatch script on "slow" architectures (arm, m68k) only.
+ * autoreconf.dpatch: Only update libtool.m4, which is newer conceptually
+ than libtool 1.4 (Ryan Murray).
+ * Apply autoreconf patch universally (Ryan Murray).
+ * More robust gij/gcj wrapper scripts, include /usr/lib/jni in default
+ JNI search path (Ben Burton). Closes: #167932.
+ * Build crtbeginT.o on m68k (closes: #177036).
+ * Fixed libc-dev source dependency (closes: #178602).
+ * Tighten shlib dependency to the current package version; should be
+ 1:3.2.2-1 for the final release (closes: #178867).
+
+ -- Matthias Klose <doko@debian.org> Tue, 28 Jan 2003 21:59:30 +0100
+
+gcc-3.2 (1:3.2.2ds5-0pre6) unstable; urgency=low
+
+ * gcc-3.2 snapshot taken from the gcc-3_2-branch (CVS 20030123).
+ * Build locales needed by the libstdc++ testsuite.
+ * Update config.{guess,sub} files from autotools-dev (closes: #177674).
+ * Disable Ada and Java on netbsd-i386 (closes: #177679).
+ * gnat: Add suggests for gnat-doc and ada-reference-manual.
+
+ -- Matthias Klose <doko@debian.org> Thu, 23 Jan 2003 22:16:53 +0100
+
+gcc-3.2 (1:3.2.2ds4-0pre5.1) unstable; urgency=low
+
+ * Readd build dependency `locales' on arm. locales is now installable
+ * Add autoreconf patch for mips{,el}. (closes: #176311)
+
+ -- Ryan Murray <rmurray@debian.org> Wed, 22 Jan 2003 14:31:14 -0800
+
+gcc-3.2 (1:3.2.2ds4-0pre5) unstable; urgency=low
+
+ * Remove build dependency `libc6-dev-sparc64 [sparc]' for now.
+ * Remove build dependency `locales' on arm. locales is uninstallable
+ on arm due to the missing glibc-2.3.
+ * Use bison-1.35. bison-1.875 causes an hard error on the reduce/reduce
+ conflict in objc-parse.y.
+
+ -- Matthias Klose <doko@debian.org> Fri, 10 Jan 2003 10:10:43 +0100
+
+gcc-3.2 (1:3.2.2ds4-0pre4) unstable; urgency=low
+
+ * Try building with gcc-2.95 on m68k-linux. Building gcc-3.2 with gcc-3.2
+ does not work for me. m68k-linux doesn't look good at all ...
+ * Fix s390 build error.
+ * Add locales to build dependencies. A still unsolved issue is the
+ presence of the locales de_DE, en_PH, en_US, es_MX, fr_FR and it_IT,
+ or else some tests in the libstdc++ testsuite will fail.
+ * Put all -nof files in the -nof package (closes: #175253).
+ * Correctly exit logwatch script (closes: #175251).
+ * Install linker-map.gnu file for libstdc++_pic (closes: #175144).
+ * Install versioned gpcs docs only (closes: #173844).
+ * Include gpc test results in gpc package.
+ * Link local libstdc++ documentation to local source-level documentation.
+ * Clarify libstdc++ description (so version and library version).
+ Closes: #175799.
+ * Include library in libstdc++-dbg package (closes: #176005).
+
+ -- Matthias Klose <doko@debian.org> Wed, 8 Jan 2003 23:39:50 +0100
+
+gcc-3.2 (1:3.2.2ds3-0pre3) unstable; urgency=low
+
+ * gcc-3.2 snapshot taken from the gcc-3_2-branch (CVS 20021231).
+ - Fix loop count computation for preconditioned unrolled loops.
+ Closes: #162919.
+ - Fix xmmintrin.h (_MM_TRANSPOSE4_PS) CVS 20021027 (closes: #163647).
+ - Fix [PR 8601] strlen/template interaction causes ICE CVS 20021201.
+ Closes: #166143.
+ * Watch the log files, which are written during the testsuite runs and print
+ out a message, if there is still activity. No more buildd timeouts on arm
+ and m68k ...
+ * Remove gpc's reference to librx1g-dev package (closes: #172953).
+ * Remove trailing dots on package descriptions.
+ * Fix external reference to cpp.info in gcc.info (closes: #174598).
+
+ -- Matthias Klose <doko@debian.org> Tue, 31 Dec 2002 13:47:52 +0100
+
+gcc-3.2 (1:3.2.2ds2-0pre2) unstable; urgency=medium
+
+ * Friday, 13th upload, so what do you expect ...
+ * gcc-3.2 snapshot taken from the gcc-3_2-branch (CVS 20021212).
+ * Fix gnat build (autobuild maintainers: please revert back to gnat-3.2
+ (<= 1:3.2.1ds6-1) for building gnat-3.2, if the build fails building
+ gnatlib and gnattools).
+ * Really disable sparc64 support.
+
+ -- Matthias Klose <doko@debian.org> Fri, 13 Dec 2002 00:26:37 +0100
+
+gcc-3.2 (1:3.2.2ds1-0pre1) unstable; urgency=low
+
+ * A candidate for the transition ...
+ * gcc-3.2 snapshot taken from the gcc-3_2-branch (CVS 20021210).
+ - doc/invoke.texi: Remove last reference to -a (closes: #171748).
+ * Disable sparc64 support. For now please use egcs64 to build sparc64
+ kernels.
+ * Disable Pascal on the sparc architecture (doesn't bootstrap).
+
+ -- Matthias Klose <doko@debian.org> Tue, 10 Dec 2002 22:33:13 +0100
+
+gcc-3.2 (1:3.2.2ds0-0pre0) unstable; urgency=low
+
+ * gcc-3.2 snapshot taken from the gcc-3_2-branch (CVS 20021202).
+ - Should fix _Pragma expansion within macros (closes: #157416).
+ * New gpc-20021128 version. Run check using EXTRA_TEST_PFLAGS=-g0
+ * Add tetex-bin to build dependencies (gpc needs it). Closes: #171203.
+
+ -- Matthias Klose <doko@debian.org> Tue, 3 Dec 2002 08:22:33 +0100
+
+gcc-3.2 (1:3.2.1ds6-1) unstable; urgency=low
+
+ * gcc-3.2.1 final release.
+ * Build gpc-20021111 for all architectures. hppa and i386 are
+ known to work. For the other architectures, send the usual FTBFS ...
+ WARNING: this gpc version is an alpha version, especially debug info
+ doesn't work well, so use -g0 for compiling. If you need a stable
+ gpc compiler, use gpc-2.95.
+ * Encode the gpc upstream version in the package name, the gpc release
+ date in the version number (requested by gpc upstream).
+ * Added libncurses5-dev and libgmp3-dev as build dependencies for the
+ gpc tests and runtime.
+ * Clean CVS files as well (closes: #169101).
+ * s390-biarch.dpatch added, backported from CVS (Gerhard Tonn).
+ * s390-config-ml.dpatch added, disables biarch for java,
+ libffi and boehm-gc on s390. They need a 64 bit runtime
+ during build which is not yet available on s390 (Gerhard Tonn).
+ * Biarch support for packaging adapted (Gerhard Tonn).
+ biarch variable added and with-sparc64 variable substituted in
+ most places by biarch.
+ dh_shlibdeps is applied only to 32 bit libraries on s390, since
+ ldd for 64 bit libraries don't work on 32 bit runtime.
+ Build dependency to libc6-dev-s390x added.
+
+ -- Matthias Klose <doko@debian.org> Wed, 20 Nov 2002 00:20:58 +0100
+
+gcc-3.2 (1:3.2.1ds5-0pre6) unstable; urgency=medium
+
+ * gcc-3.2.1 prerelease.
+ * Removed arm patch integrated upstream.
+ * Adjust gnat build dependency (closes: #167116).
+ * Always configure with --enable-clocale=gnu. The autobuilders do have
+ locales installed, but not generated the "de_DE" locale needed for
+ the autoconf test in libstdcc++-v3/aclocal.m4.
+ * libstdc++ documentaion: Don't compresss '*.txt' referenced by html pages.
+
+ -- Matthias Klose <doko@debian.org> Tue, 12 Nov 2002 07:19:44 +0100
+
+gcc-3.2 (1:3.2.1ds4-0pre5) unstable; urgency=medium
+
+ * gcc-3.2.1 snapshot (CVS 20021103).
+ * sparc64-build.dpatch: Updated. Lets sparc boostrap again.
+ * s390-loop.dpatch removed, already fixed upstream (Gerhard Tonn).
+ * bison.dpatch: Removed, patch submitted upstream.
+ * backport-java-6865.dpatch: Apply again during build.
+ * Tighten glibc dependency (closes: #166703).
+
+ -- Matthias Klose <doko@debian.org> Sun, 3 Nov 2002 12:22:02 +0100
+
+gcc-3.2 (1:3.2.1ds3-0pre4) unstable; urgency=high
+
+ * gcc-3.2.1 snapshot (CVS 20021020).
+ - Expansion of _Pragma within macros fixed (closes: #157416).
+ * FTBFS: With the switch to bison-1.50 (and 1.75), gcc-3.2 fails to build from
+ source on Debian unstable systems. This is fixed in gcc HEAD, but not on
+ the current release branch.
+ HELP NEEDED:
+ - check what is missing from the patches in debian/patches/bison.dpatch.
+ This is a backport of the bison related patches, but showing regressions
+ in the gcc testsuite, so it cannot be applied.
+ - build gcc using byacc (bootstrap currently fails using byacc).
+ - build bison-1.35 in it's own package (the current 1.35-3 package fails
+ to build form source).
+ - and finally ask upstream to backport the patch to the branch. It's not
+ helpful not beeing able to follow the stable branch. Maybe we should
+ just switch to gcc HEAD as BSD does ...
+ As a terrible workaround, build the sources from CVS first on a machine,
+ with bison-1.35 installed, then package the tarball, so the bison
+ generated files are not rebuilt.
+
+ * re-add lost patch: configure with --enable-__cxa_atexit (closes: #163422),
+ Therefore urgency high.
+ * gcj-wrapper, gij-wrapper: Accept names starting with `.' (closes: #163172,
+ #164009).
+ * Point g++ manpage to correct g++ version (closes: #162843).
+ * Support for i386-freebsd-gnu (closes: #163883).
+ * s390-java.dpatch replaced with backport from cvs head (Gerhard Tonn).
+ * Disable the testsuite run on the Hurd (closes: #159650).
+ * s390-loop.dpatch added, fixes runtime problem (Gerhard Tonn).
+ * debian/patches/bison.dpatch: Backport for bison-1.75 compatibility.
+ Don't use it due to regressions.
+ * debian/patches/backport-java-6865.dpatch: Directly applied in the
+ included tarball because of bison problems.
+ * Make fixincludes priority optional, so linda can depend on it.
+ * Tighten binutils dependency.
+
+ -- Matthias Klose <doko@debian.org> Sun, 20 Oct 2002 10:52:49 +0200
+
+gcc-3.2 (1:3.2.1ds2-0pre3) unstable; urgency=low
+
+ * gcc-3.2.1 snapshot (CVS 20020923).
+ * Run the libstdc++ check-abi script. Results are put into the file
+ /usr/share/doc/libstdc++5/README.libstdc++-baseline in the libstdc++5-dev
+ package. This file contains a new baseline, if no baseline for this
+ architecture is included in the gcc sources.
+ * gcj-wrapper: Accept files starting with an underscore, accept
+ path names (closes: #160859, #161517).
+ * Explicitely call automake-1.4 when rebuilding Makefiles (closes: #161438).
+ * Let installed fixincludes script find files in /usr/lib/fixincludes.
+ * debian/rules.patch: Add .NOTPARALLEL as target, so that patches are
+ applied sequentially (closes: #159395).
+
+ -- Matthias Klose <doko@debian.org> Tue, 24 Sep 2002 07:36:56 +0200
+
+gcc-3.2 (1:3.2.1ds1-0pre2) unstable; urgency=low
+
+ * gcc-3.2.1 snapshot (CVS 20020913). Welcome back m68k in bootstrap land!
+ * Fix arm-tune.dpatch (closes: #159354).
+ * Don't overwrite LD_LIBRARY_PATH in build (closes: #158459).
+ * --disable-__cxa_atexit on NetBSD (closes: #159620).
+ * Reenable installation of message catalogs (disabled in 3.2-0pre2).
+ Closes: #160175.
+ * Ben Collins
+ - Re-enable sparc64 build. This time, it's part of the default compiler.
+ I have disabled 64/alt libraries as they are too much overhead. All
+ libraries build 64bit, but currently only libgcc/libstdc++ include the
+ 64bit libraries.
+ Closes: #160404.
+ * Depend on autoconf2.13, instead of autoconf.
+ * Phil Blundell
+ - debian/patches/arm-update.dpatch: Fix python2.2 build failure.
+
+ -- Matthias Klose <doko@debian.org> Sat, 7 Sep 2002 08:05:02 +0200
+
+gcc-3.2 (1:3.2.1ds0-0pre1) unstable; urgency=medium
+
+ * gcc-3.2.1 snapshot (CVS 20020829).
+ New g++ option -Wabi:
+ Warn when G++ generates code that is probably not compatible with the
+ vendor-neutral C++ ABI. Although an effort has been made to warn about
+ all such cases, there are probably some cases that are not warned about,
+ even though G++ is generating incompatible code. There may also be
+ cases where warnings are emitted even though the code that is generated
+ will be compatible.
+ The current version of the ABI is 102, defined by the __GXX_ABI_VERSION
+ macro.
+ * debian/NEWS.*: Updated.
+ * Fix libstdc++-dev dependency on libc-dev for the Hurd (closes: #157004).
+ * Add versioned expect build dependency.
+ * Tighten binutils dependency to 2.13.90.0.4.
+ * debian/patches/arm-tune.dpatch: Increase stack limit for configure.
+ * 3.2-0pre4 did build gnat-3.2 compilers for all architectures. Build-Depend
+ on gnat-3.2 now (closes: #156734).
+ * Remove bashism's in gcj-wrapper (closes: #157982).
+ * Add -cp and -classpath options to gij(1). Backport from HEAD (#146634).
+ * Add fastjar documentation.
+
+ -- Matthias Klose <doko@debian.org> Fri, 30 Aug 2002 10:35:00 +0200
+
+gcc-3.2 (1:3.2ds0-0pre4) unstable; urgency=low
+
+ * Correct build dependency on gnat-3.1.
+
+ -- Matthias Klose <doko@debian.org> Mon, 12 Aug 2002 01:21:58 +0200
+
+gcc-3.2 (1:3.2ds0-0pre3) unstable; urgency=low
+
+ * gcc-3.2 upstream prerelease.
+ * Disable all configure options, which are standard:
+ --enable-threads=posix --enable-long-long, --enable-clocale=gnu
+
+ -- Matthias Klose <doko@debian.org> Fri, 9 Aug 2002 21:59:08 +0200
+
+gcc-3.2 (1:3.2ds0-0pre2) unstable; urgency=low
+
+ * gcc-3.2 snapshot (CVS 20020802).
+ * Fix g++-include dir.
+ * Don't install the locale files (temporarily, until we don't build
+ gcc-3.1 anymore).
+ * New package libgcj-common to avoid conflict with classpath package.
+
+ -- Matthias Klose <doko@debian.org> Sat, 3 Aug 2002 09:08:34 +0200
+
+gcc-3.2 (1:3.2ds0-0pre1) unstable; urgency=low
+
+ * gcc-3.2 snapshot (CVS 20020729).
+
+ -- Matthias Klose <doko@debian.org> Mon, 29 Jul 2002 20:36:54 +0200
+
+gcc-3.1 (1:3.1.1ds3-1) unstable; urgency=low
+
+ * gcc-3.1.1 release. Following this release we will have a gcc-3.2
+ release soon, which is gcc-3.1.1 plus some C++ ABI changes. Once
+ gcc-3.2 hits the archives, gcc-3.1.1 will go away.
+ * Don't build the sparc64 compiler. The packaging/patches are
+ currently broken.
+ * Add missing headers on m68k and powerpc.
+ * Install libgcc_s_nof on powerpc.
+ * Install libffi's copyright and doc files (closes: #152198).
+ * Remove dangling symlink (closes: #149002).
+ * libgcj3: Add a conflict to the classpath package (closes: #148664).
+ * README.C++: Fix URLs.
+ * libstdc++-dbg: Install into /usr/lib/debug, document it.
+ * backport-java-6865.dpatch: backport from HEAD.
+ * Fix typo in gcj docs (closes: #148890).
+ * Change libstdc++ include dir: /usr/include/c++/3.1.
+ * libstdc++-codecvt.dpatch: New patch (closes: #149776).
+ * Build libstdc++-pic package.
+ * Move 64bit libgcc in its own package libgcc1-64 (closes: #147249).
+ * Tighten glibc dependency.
+
+ -- Matthias Klose <doko@debian.org> Mon, 29 Jul 2002 00:34:49 +0200
+
+gcc-3.1 (1:3.1.1ds2-0pre3) unstable; urgency=low
+
+ * Updated to CVS 2002-06-06 (gcc-3_1-branch).
+ * Updated s390-java patch (Gerhard Tonn).
+ * Don't use -O in STAGE1_FLAGS on m68k.
+ * Fix `-classpath' option in gcj-wrapper script (closes: #150142).
+ * Remove g++-cxa-atexit patch, use --enable-__cxa_atexit configure option.
+
+ -- Matthias Klose <doko@debian.org> Wed, 3 Jul 2002 23:52:58 +0200
+
+gcc-3.1 (1:3.1.1ds1-0pre2) unstable; urgency=low
+
+ * Updated to CVS 2002-06-06 (gcc-3_1-branch), fixing an ObjC regression.
+ * Welcome m68k to bootstrap land (thanks to Andreas Schwab).
+ * Add javac wrapper for gcj-3.1 (Michael Koch).
+ * Remove dangling symlink in /usr/share/doc/gcc-3.1 (closes: #149002).
+
+ -- Matthias Klose <doko@debian.org> Fri, 7 Jun 2002 00:26:05 +0200
+
+gcc-3.1 (1:3.1.1ds0-0pre1) unstable; urgency=low
+
+ * Updated to CVS 2002-05-31 (gcc-3_1-branch).
+ * Change priorities from fastjar and gij-wrapper-3.1 from 30 to 31.
+ * Update arm-tune patch.
+ * Install xmmintrin.h header on i386 (closes: #148181).
+ * Install altivec.h header on powerpc.
+ * Call correct gij in gij-wrapper (closes: #148662, #148682).
+
+ -- Matthias Klose <doko@debian.org> Wed, 29 May 2002 22:47:40 +0200
+
+gcc-3.1 (1:3.1ds2-2) unstable; urgency=low
+
+ * Tighten binutils dependency.
+ * Fix libstdc include dir for multilibs (Dan Jacobowitz).
+
+ -- Matthias Klose <doko@debian.org> Tue, 21 May 2002 08:03:49 +0200
+
+gcc-3.1 (1:3.1ds2-1) unstable; urgency=low
+
+ * GCC 3.1 release.
+ * Ada cannot be built by the autobuilders for the first time. Do it by hand.
+ gnatgcc and gnatbind need to be in the PATH.
+ * Build with CC=gnatgcc, when building the Ada compiler.
+ * Hurd fixes.
+ * Don't build the sparc64 compiler; the hack isn't up to date and glibc
+ isn't converted to use /lib64 and /usr/lib64.
+ * m68k-linux shows bootstrap comparision failures. If you want to build
+ the compiler anyway and ignore the bootstrap comparision failure, edit
+ debian/rules.patch and uncomment the patch to ignore the failure. See
+ /usr/share/doc/gcc-3.1/BOOTSTRAP_COMPARISION_FAILURE for the differences.
+
+ -- Matthias Klose <doko@debian.org> Wed, 15 May 2002 09:53:00 +0200
+
+gcc-3.1 (1:3.1ds1-0pre6) unstable; urgency=low
+
+ * Build from the "final prerelease" tarball (gcc-3.1-20020508.tar.gz).
+ * Build gnat-3.1-doc package.
+ * Build fastjar package without building java packages.
+ * Hurd fixes.
+ * Updated sparc64-build patch.
+ * Add s390-ada patch (Gerhard Tonn).
+ * Undo the dwarf2 support for hppa from -0pre5.
+
+ -- Matthias Klose <doko@debian.org> Thu, 9 May 2002 17:21:09 +0200
+
+gcc-3.1 (1:3.1ds0-0pre5) unstable; urgency=low
+
+ * Use /usr/include/g++-v3-3.1 as C++ include dir.
+ * Update s390-java patch (Gerhard Tonn).
+ * Tighten binutils dependency (gas patch for m68k-linux).
+ * Use gnat-3.1 as the gnat package name (as found in gcc/ada/gnatvsn.ads).
+ * dwarf2 support hppa: a snapshot of the gcc/config/pa directory
+ from the trunk dated 2002-05-02.
+
+ -- Matthias Klose <doko@debian.org> Fri, 3 May 2002 22:51:37 +0200
+
+gcc-3.1 (1:3.1ds0-0pre4) unstable; urgency=low
+
+ * Use gnat-5.00w as the gnat package name (as found in gcc/ada/gnatvsn.ads).
+ * Don't build the shared libgnat library. It assumes an existing shared
+ libiberty library.
+ * Don't install the libgcjgc library.
+
+ -- Matthias Klose <doko@debian.org> Thu, 25 Apr 2002 08:48:04 +0200
+
+gcc-3.1 (1:3.1ds0-0pre3) unstable; urgency=low
+
+ * Build fastjar on all architectures.
+ * Update m68k patches.
+ * Update s390-java patch (Gerhard Tonn).
+
+ -- Matthias Klose <doko@debian.org> Sun, 14 Apr 2002 15:34:47 +0200
+
+gcc-3.1 (1:3.1ds0-0pre2) unstable; urgency=low
+
+ * Add Ada support. To successfully build, a working gnatbind and gcc
+ driver with Ada support is needed.
+ * Apply needed arm patches from 3.0.4.
+
+ -- Matthias Klose <doko@debian.org> Sat, 6 Apr 2002 13:17:08 +0200
+
+gcc-3.1 (1:3.1ds0-0pre1) unstable; urgency=low
+
+ * First try for gcc-3.1.
+
+ -- Matthias Klose <doko@debian.org> Mon, 1 Apr 2002 23:39:30 +0200
+
+gcc-3.0 (1:3.0.4ds3-6) unstable; urgency=medium
+
+ * Second try at fixing sparc build problems.
+
+ -- Phil Blundell <pb@debian.org> Sun, 24 Mar 2002 14:49:26 +0000
+
+gcc-3.0 (1:3.0.4ds3-5) unstable; urgency=medium
+
+ * Enable java on ARM.
+ * Create missing directory to fix sparc build.
+
+ -- Phil Blundell <pb@debian.org> Fri, 22 Mar 2002 20:21:59 +0000
+
+gcc-3.0 (1:3.0.4ds3-4) unstable; urgency=low
+
+ * Link with system zlib (closes: #136359).
+
+ -- Matthias Klose <doko@debian.org> Tue, 12 Mar 2002 20:47:59 +0100
+
+gcc-3.0 (1:3.0.4ds3-3) unstable; urgency=low
+
+ * Build libf2c (pic and non-pic) with -mieee on alpha-linux.
+
+ -- Matthias Klose <doko@debian.org> Sun, 10 Mar 2002 00:37:24 +0100
+
+gcc-3.0 (1:3.0.4ds3-2) unstable; urgency=medium
+
+ * Apply hppa-build patch (Randolph Chung). Closes: #136731.
+ * Make libgcc1 conflict/replace with libgcc1-sparc64. Closes: #135709.
+ * gij-3.0 provides the `java' command. Closes: #128947.
+ * Depend on binutils (>= 2.11.93.0.2-2), allows stripping of libgcj.a
+ again. Closes: #99307.
+ * Update README.cross pointing to the README of the toolchain-source
+ package.
+
+ -- Matthias Klose <doko@debian.org> Wed, 6 Mar 2002 21:53:34 +0100
+
+gcc-3.0 (1:3.0.4ds3-1) unstable; urgency=low
+
+ * Final gcc-3.0.4 release.
+ * debian/rules.d/binary-java.mk: Fix dormant typo, exposed by removing the
+ duplicate libgcj dependency and adding the gij-3.0 package.
+ Closes: #134005.
+ * New patch by Phil Blundell to fix scalapack build error on m68k.
+
+ -- Matthias Klose <doko@debian.org> Wed, 20 Feb 2002 23:59:43 +0100
+
+gcc-3.0 (1:3.0.4ds2-0pre020210) unstable; urgency=low
+
+ * Make the base package dependent on the binary-arch target. Closes: #133433.
+ * Get libstdc++ on arm woring (define _GNU_SOURCE). Closes: #133435.
+
+ -- Matthias Klose <doko@debian.org> Mon, 11 Feb 2002 20:31:12 +0100
+
+gcc-3.0 (1:3.0.4ds2-0pre020209) unstable; urgency=high
+
+ * Update to CVS sources (20020209 gcc-3_0-branch).
+ * Apply patch to fix bootstrap error on arm-linux (submitted upstream
+ by Phil Blundell). Closes: #130422.
+ * Make base package architecture any.
+ * Decouple versioned shlib dependencies from release number for
+ libobjc as well.
+
+ -- Matthias Klose <doko@debian.org> Sat, 9 Feb 2002 01:30:11 +0100
+
+gcc-3.0 (1:3.0.4ds1-0pre020203) unstable; urgency=medium
+
+ * One release critical bug outstanding:
+ - bootstrap error on arm.
+ * Update to CVS sources (20020203 gcc-3_0-branch).
+ * Fixed upstream: PR c/3504: Correct documentation of __alignof__.
+ Closes: #85445.
+ * Remove libgcc-powerpc patch, integrated upstream (closes: #131977).
+ * Tighten binutils build dependency (to address #126162).
+ * Move jv-convert to gcj package (closes: #131985).
+
+ -- Matthias Klose <doko@debian.org> Sun, 3 Feb 2002 14:47:14 +0100
+
+gcc-3.0 (1:3.0.4ds0-0pre020127) unstable; urgency=low
+
+ * Two release critical bugs outstanding:
+ - bootstrap error on arm.
+ - bus errors for C++ and java executables on sparc (see the testsuite
+ results).
+ * Update to CVS sources (20020125 gcc-3_0-branch).
+ * Enable java support for s390 architecture (patch from Gerhard Tonn).
+ * Updated NEWS file for 3.0.3.
+ * Disable building the gcc-sparc64, but build a multilibbed compiler
+ for sparc as the default.
+ * Disabled the subreg-byte patch for sparc (request from Ben Collins).
+ * Fixed reference to libgcc1 package in README (closes: #126218).
+ * Do recommend libc-dev, not depend on it. For low-end or embedded systems
+ the dependency on libc-dev can make the difference between
+ having enough or having too little space to build a kernel.
+ * README.cross: Updated by Hakan Ardo.
+ * Decouple versioned shlib dependencies from release number. Closes: #118391.
+ * Fix diversions for gcc-3.0-sparc64 package (closes: #128178),
+ unconditionally remove `sparc64-linux-gcc' alternative.
+ * g77/README.libg2c.Debian: New file mentioning `libg2c-pic'. The next
+ g77 version (3.1) does build a static and shared library (closes: #104250).
+ * Fix formatting errors in the synopsis of the java man pages. Maybe the
+ reason for #127571. Closes: #127571.
+ * fastjar: Fail for the (currently incorrect) -u option. Addresses: #116145.
+ Add alternative for `jar' using priority 30 (closes: #118648).
+ * jv-convert: Add --help option and man page. Backport from HEAD branch.
+ * libgcj2-dev: Remove duplicate dependency (closes: #127805).
+ * Giving up and make just another new package gij-X.Y with only the gij-X.Y
+ binary for policy conformance (closes: #127111).
+ * gij: Provides an alternative for `java' (priority 30) using a wrapper
+ script (Stephen Zander) (closes: #128974). Added simple manpage.
+
+ -- Matthias Klose <doko@debian.org> Sun, 27 Jan 2002 13:33:41 +0100
+
+gcc-3.0 (1:3.0.3ds3-1) unstable; urgency=low
+
+ * Final gcc-3.0.3 release.
+ * Do not compress .txt files in libstdc++ docs referenced from html
+ pages (closes: #124136).
+ * libstdc++-dev suggests libstdc++-doc.
+ * debian/patches/gcc-ia64-NaT.dpatch: Update (closes: #123685).
+
+ -- Matthias Klose <doko@debian.org> Fri, 21 Dec 2001 02:54:11 +0100
+
+gcc-3.0 (1:3.0.3ds2-0pre011215) unstable; urgency=low
+
+ * Update to CVS sources (011215).
+ * libstdc++ documentation updated upstream (closes: #123790).
+ * debian/patches/gcc-ia64-NaT.dpatch: Disable. Fixes bootstrap error
+ on ia64 (#123685).
+
+ -- Matthias Klose <doko@debian.org> Sat, 15 Dec 2001 14:43:21 +0100
+
+gcc-3.0 (1:3.0.3ds1-0pre011210) unstable; urgency=medium
+
+ * Update to CVS sources (011208).
+ * Supposed to fix powerpc build error (closes: #123155).
+
+ -- Matthias Klose <doko@debian.org> Thu, 13 Dec 2001 07:26:05 +0100
+
+gcc-3.0 (1:3.0.3ds0-0pre011209) unstable; urgency=medium
+
+ * Update to CVS sources (011208). Frozen for upstream 3.0.3 release.
+ * Apply contrib/PR3145.patch, a backport of Nathan Sidwell's patch to
+ fix PR c++/3145, the infamous "virtual inheritance" bug. This affected
+ especially KDE2 (eg. artsd). Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
+ * cc1plus segfault in strength reduction fixed upstream. Closes: #122547.
+ * debian/patches/gcc-ia64-NaT.dpatch: Add patch to avoid a bug that can
+ cause miscompiled userapps to crash the kernel. Closes: #121924.
+ * Reenable shared libgcc for powerpc. Fixed upstream.
+ http://gcc.gnu.org/ml/gcc-patches/2001-11/msg00340.html
+ debian/patches/libgcc-powerpc.dpatch: New patch.
+ * Add upstream changelogs.
+ * Remove gij alternative. Move to gij package.
+
+ -- Matthias Klose <doko@debian.org> Sun, 9 Dec 2001 09:36:48 +0100
+
+gcc-3.0 (1:3.0.2ds4-4) unstable; urgency=medium
+
+ * Disable building of libffi on mips and mipsel.
+ (closes: #117503).
+ * Enable building of shared libgcc on s390
+ (closes: #120452).
+
+ -- Christopher C. Chimelis <chris@debian.org> Sat, 1 Dec 2001 06:15:29 -0500
+
+gcc-3.0 (1:3.0.2ds4-3) unstable; urgency=medium
+
+ * Fix logic to build libffi without java (closes: #117503).
+
+ -- Matthias Klose <doko@debian.org> Sun, 4 Nov 2001 14:34:50 +0100
+
+gcc-3.0 (1:3.0.2ds4-2) unstable; urgency=medium
+
+ * Enable java for ia64 (Jeff Licquia). Closes: #116798.
+ * Allow building of libffi without gcj (Jeff Licquia).
+ New libffi packages for arm hurd-i386 mips mipsel,
+ still missing: hppa, s390.
+ * debian/NEWS.gcc: Add 3.0.2 release notes.
+ * debian/patches/hppa-align.dpatch: New patch from Alan Modra,
+ submitted by Randolph Tausq.
+
+ -- Matthias Klose <doko@debian.org> Thu, 25 Oct 2001 23:59:31 +0200
+
+gcc-3.0 (1:3.0.2ds4-1) unstable; urgency=medium
+
+ * Final gcc-3.0.2 release. The source tarball is not the released
+ tarball, but taken from CVS 011024).
+ * Remove patch for s390, included upstream.
+
+ -- Matthias Klose <doko@debian.org> Wed, 24 Oct 2001 00:49:40 +0200
+
+gcc-3.0 (1:3.0.2ds3-0pre011014) unstable; urgency=low
+
+ * Update to CVS sources (011014). Frozen for upstream 3.0.2 release.
+ Closes: #109351, #114099, #114216, #105741 (allegro3938).
+ * Added debian/patches/fastjar.dpatch, which makes fastjar extract
+ filenames correctly (previously, some had incorrect names on extract).
+ Closes: #113236.
+ * Priorities fixed in the past (closes: #94404).
+
+ -- Matthias Klose <doko@debian.org> Sun, 14 Oct 2001 13:19:43 +0200
+
+gcc-3.0 (1:3.0.2ds2-0pre010923) unstable; urgency=low
+
+ * Bootstraps on powerpc again (closes: #112777).
+
+ -- Matthias Klose <doko@debian.org> Sun, 23 Sep 2001 01:32:11 +0200
+
+gcc-3.0 (1:3.0.2ds2-0pre010922) unstable; urgency=low
+
+ * Update to CVS sources (010922).
+ * Fixed upstream (closes: #111801). #105569 on hppa.
+ * Update hppa patch (Matt Taggart).
+ * Fix libstdc++-dev package description (closes: #112758).
+ * debian/rules.d/binary-objc.mk: Fix build error (closes: #112462).
+ * Make gobjc-3.0 conflict with gcc-3.0-sparc64 (closes: #111772).
+
+ -- Matthias Klose <doko@debian.org> Sat, 22 Sep 2001 09:34:49 +0200
+
+gcc-3.0 (1:3.0.2ds1-0pre010908) unstable; urgency=low
+
+ * Update to CVS sources (010908).
+ * Update hppa patch (Matt Taggart).
+ * Depend on libgc6-dev, not libgc5-dev, which got obsolete (during
+ the freeze ...). However adds s390 support (closes: #110189).
+ * debian/patches/m68k-reload.dpatch: New patch (Roman Zippel).
+ Fixes #89023.
+ * debian/patches/gcc-sparc.dpatch: New patch ("David S. Miller").
+ Fixes libstdc++ testsuite failures on sparc.
+
+ -- Matthias Klose <doko@debian.org> Sat, 8 Sep 2001 14:26:20 +0200
+
+gcc-3.0 (1:3.0.2ds0-0pre010826) unstable; urgency=low
+
+ * gcc-3.0-nof: Fix symlink to gcc-3.0-base doc directory.
+ * debian/patches/gcj-without-rpath: New patch.
+ * Remove self dependency on libgcj package.
+ * Handle diversions for upgrades from 3.0 and 3.0.1 -> 3.0.2
+ in gcc-3.0-sparc64 package.
+ * Build libg2c.a with -fPIC -DPIC and name the result libg2c-pic.a.
+ Link with this library to avoid linking with non-pic code.
+ Use this library when building dynamically loadable objects (python
+ modules, gimp plugins, ...), which need to be linked against g2c or
+ a library which is linked against g2c (i.e. lapack).
+ Packages needing '-lg2c-pic' must have a build dependency on
+ 'g77-3.0 (>= 1:3.0.2-0pre010826).
+
+ -- Matthias Klose <doko@debian.org> Sun, 26 Aug 2001 13:59:03 +0200
+
+gcc-3.0 (1:3.0.2ds0-0pre010825) unstable; urgency=low
+
+ * Update to CVS sources (010825).
+ * Add libc6-dev-sparc64 to gcc-3.0-sparc64 and to sparc build dependencies.
+ * Remove conflicts on egcc package (closes: #109718).
+ * Fix gcc-3.0-nof dependency.
+ * s390 patches against gcc-3.0.1 (Gerhard Tonn).
+ * debian/control: Require binutils (>= 2.11.90.0.27)
+
+ -- Matthias Klose <doko@debian.org> Sat, 25 Aug 2001 10:59:15 +0200
+
+gcc-3.0 (1:3.0.1ds3-1) unstable; urgency=low
+
+ * Final gcc-3.0.1 release.
+ * Changed upstream: default of -flimit-inline is 600 (closes: #106716).
+ * Add fastjar man page (submitted by "The Missing Man Pages Project",
+ http://www.netmeister.org/misc/m2p2i/) (closes: #103051).
+ * Fixed in last upload as well: #105246.
+ * debian/patches/cpp-memory-leak.dpatch: New patch
+ * Disable installation of shared libgcc on s390 (Gerhard Tonn).
+
+ -- Matthias Klose <doko@debian.org> Mon, 20 Aug 2001 20:47:13 +0200
+
+gcc-3.0 (1:3.0.1ds2-0pre010811) unstable; urgency=high
+
+ * Update to CVS sources (010811). Includes s390 support.
+ * Add xlibs-dev to Build-Depends (libgcj).
+ * Enable java for powerpc, disable java for ia64.
+ * Enable ObjC garbage collection for all archs, which have a libgc5-dev
+ package.
+ * New patch libstdc++-codecvt (Michael Piefel) (closes: #104614).
+ * Don't strip static libgcj library (work around binutils bug #107812).
+ * Handle diversions for upgrade 3.0 -> 3.0.1 in gcc-3.0-sparc64 package
+ (closes: #107569).
+
+ -- Matthias Klose <doko@debian.org> Sat, 11 Aug 2001 20:42:15 +0200
+
+gcc-3.0 (1:3.0.1ds1-0pre010801) unstable; urgency=high
+
+ * Update to CVS sources (010801). (closes: #107012).
+ * Remove build dependency on non-free graphviz and include pregenerated
+ docs (closes: #107124).
+ * Fixed in 3.0.1 (closes: #99307).
+ * Updated m68k-updates patch (Roman Zippel).
+ * Another fix for ia64 packaging bits (Randolph Chung).
+
+ -- Matthias Klose <doko@debian.org> Tue, 31 Jul 2001 21:52:55 +0200
+
+gcc-3.0 (1:3.0.1ds0-0pre010727) unstable; urgency=high
+
+ * Update to CVS sources (010727).
+ * Add epoch to source version. Change '.dsx' to 'dsx', so that
+ 3.1.1ds0 gt 3.1ds7 (closes: #106538).
+
+ -- Matthias Klose <doko@debian.org> Sat, 28 Jul 2001 09:56:29 +0200
+
+gcc-3.0 (3.0.1.ds0-0pre010723) unstable; urgency=high
+
+ * ia64 packaging bits (Randolph Chung) (closes: #106252).
+
+ -- Matthias Klose <doko@debian.org> Mon, 23 Jul 2001 23:02:03 +0200
+
+gcc-3.0 (3.0.1.ds0-0pre010721) unstable; urgency=high
+
+ * Update to CVS sources (010721).
+ - Remove patches applied upstream: libstdc++-limits.dpatch,
+ objc-data-references
+ - Updated other patches.
+ * Fix gij alternative (closes: #103468, #103883).
+ * Patch to fix bootstrap on sparc (closes: #103568).
+ * Corrected (closes: #105371) and updated README.Debian.
+ * m68k patches for sucessful bootstrap (Roman Zippel).
+ * Add libstdc++v3 porting hints to README.Debian and README.C++.
+ * m68k md fix (#105622) (Roman Zippel).
+ * debian/rules2: Disable non-functional ulimit on Hurd (#105884).
+ * debian/control: Require binutils (>= 2.11.90.0.24)
+ * Java is enabled for alpha (closes: #87300).
+
+ -- Matthias Klose <doko@debian.org> Sun, 22 Jul 2001 08:24:04 +0200
+
+gcc-3.0 (3.0.ds9-4) unstable; urgency=high
+
+ * Move this version to testing ASAP. testing still has a prerelease
+ version with now incompatible ABI's. If sparc doesn't build,
+ then IMHO it's better to remove it from testing.
+ * debian/control.m4: Set uploaders field. Adjust description of
+ gcc-3.0 (binary) package (closes: #102271, #102620).
+ * Separate gij.1 in it's own pseudo man page (closes: #99523).
+ * debian/patches/java-manpages.dpatch: New patch.
+ * libgcj: Install unversioned gij.
+
+ -- Matthias Klose <doko@debian.org> Tue, 3 Jul 2001 07:38:08 +0200
+
+gcc-3.0 (3.0.ds9-3) unstable; urgency=high
+
+ * Reenable configuration with posix threads on i386 (lost in hurd-i386
+ merge).
+
+ -- Matthias Klose <doko@debian.org> Sun, 24 Jun 2001 22:21:45 +0200
+
+gcc-3.0 (3.0.ds9-2) unstable; urgency=medium
+
+ * Move this version to testing ASAP. testing still has a prerelease
+ version with now incompatible ABI's.
+ * Add libgcc0 and libgcc300 to the build conflicts (#102041).
+ * debian/README.FIRST: Removed (#101534).
+ * Updated subreg-byte patch (doc files).
+ * Disable java for the Hurd, mips and mipsel (#101570).
+ * Patch for building on the Hurd (#101708) (Jeff Bailey <jbailey@nisa.net>).
+ * Packaging fixes for the Hurd (#101711) (Jeff Bailey <jbailey@nisa.net>).
+ * Include pregenerated doxygen (1.2.6) docs for libstdc++-v3 (#101557).
+ The current doxygen-1.2.8.1 segaults.
+ * C++: Enable -fuse-cxa-atexit by default (#101901).
+ * Correct mail address in gccbug (#101743).
+ * Make rules resumable after failure in binary-xxx targets (#101637).
+
+ -- Matthias Klose <doko@debian.org> Sun, 24 Jun 2001 16:04:53 +0200
+
+gcc-3.0 (3.0.ds9-1) unstable; urgency=low
+
+ * Final 3.0 release.
+ * Update libgcc version number (#100983, #100988, #101069, #101115, #101328).
+ * Updated hppa-build patch (Matt Taggart <taggart@carmen.fc.hp.com>).
+ * Disable java for hppa.
+ * Updated subreg-byte patch for sparc (Ben Collins).
+
+ -- Matthias Klose <doko@debian.org> Mon, 18 Jun 2001 18:26:04 +0200
+
+gcc-3.0 (3.0.ds8-0pre010613) unstable; urgency=low
+
+ * Update patches for recent (010613 23:13 +0200) CVS sources.
+ * Fix packaging bugs (#100459, #100447, #100483).
+ * Build-Depend on gawk, mawk doesn't work well with test_summary.
+
+ -- Matthias Klose <doko@debian.org> Wed, 13 Jun 2001 23:13:38 +0200
+
+gcc-3.0 (3.0.ds7-0pre010609) unstable; urgency=low
+
+ * Fix build dependency for the hurd (#99164).
+ * Update patches for recent (010609) CVS sources.
+ * Disable java on powerpc (link error in libjava).
+ * gcc-3.0-base.postinst: Don't prompt for non-interactive installs (#100110).
+
+ -- Matthias Klose <doko@debian.org> Sun, 10 Jun 2001 09:45:57 +0200
+
+gcc-3.0 (3.0.ds6-0pre010526) unstable; urgency=high
+
+ * Urgency "high" for replacing the gcc-3.0 snapshots in testing, which
+ now are incompatile due to the changed ABIs.
+ * Upstream begins tagging with "gcc-3_0_pre_2001mmdd".
+ * Tighten dependencies to install only binary packages derived from
+ one source (#98851). Tighten libc6-dev dependency to match libc6.
+
+ -- Matthias Klose <doko@debian.org> Sun, 27 May 2001 11:35:31 +0200
+
+gcc-3.0 (3.0.ds6-0pre010525) unstable; urgency=low
+
+ * ATTENTION: The ABI (exception handling) changed. No upgrade path from
+ earlier snapshots (you had been warned in the postinst ...)
+ Closing #93597, #94576, #96448, #96461.
+ You have to rebuild
+ * HELP is appreciated for scanning the Debian BTS and sending followups
+ to bug reports!!!
+ * Should we name debian gcc uploads? What about a "still seeking
+ g++ maintainer" upload?
+ * Fixed in gcc-3.0: #97030
+ * Update patches for recent (010525) CVS sources.
+ * Make check depend on build target (fakeroot problmes).
+ * debian/rules.d/binary-libgcc.mk: new file, build first.
+ * Free memory detection on the hurd for running the testsuite.
+ * Update debhelper build dependency.
+ * libstdc++-doc: Include doxygen generated docs.
+ * Fix boring packaging bugs, too tired for appropriate changelogs ...
+ #93343, #96348, #96262, #97134, #97905, #96451, #95812, #93157
+ * Fixed bugs: #87000.
+
+ -- Matthias Klose <doko@debian.org> Sat, 26 May 2001 23:10:42 +0200
+
+gcc-3.0 (3.0.ds5-0pre010510) unstable; urgency=low
+
+ * Update patches for recent (010506) CVS sources.
+ * New version of source, as of 2001-05-10
+ * New version of gpc source, as of 2001-05-06 (disabled by default).
+ * Make gcc-3.0-sparc64 provide an alternative for sparc64-linux-gcc,
+ since it can build kernels just fine (it seems)
+ * Add hppa patch from Matt Taggart
+ * Fix objc info inclusion...now merged with gcc info
+ * Do not install the .la for libstdc++, since it confuses libtool linked
+ applications when libstdc++3-dev and libstdc++2.10-dev are both
+ installed (closes #97905).
+ * Fixed gcc-base and libgcc section/prio to match overrides
+
+ -- Ben Collins <bcollins@debian.org> Mon, 7 May 2001 00:08:52 +0200
+
+gcc-3.0 (3.0.ds5-0pre010427) unstable; urgency=low
+
+ * Fixed priority for fastjar from optional to extra
+ * New version of source, as of 2001-04-27
+ * Fix description of libgcj-dev
+ * libffi-install: Make libffi installable
+ * Add libffi and libffi-dev packages. libffi is only enabled for java
+ targets right now. Perhaps more will be enabled later.
+ * Fixes to build cross compiler package (for avr)
+ (Hakan Ardo <hakan@debian.org>).
+ * Better fixincludes description (#93157).
+ * Remove all remnants of libg++
+ * Remove all hacks around libstdc++ version. Since we are strictly v3 now,
+ we can treat it like a normal shared lib, and not worry about all those
+ ABI changes.
+ * Remove all cruft control scripts. Note, debhelper will create scripts
+ that it needs to. It will do the doc link stuff and the ldconfig stuff
+ explicitly.
+ * Clean up the SONAME parsing stuff, make it a little more cleaner over
+ all the lib packages
+ * Make libffi install when built (IOW, whenever java is enabled). This
+ should obsolete the libffi package, which is old and broken
+ * Revert to normal sonames, except for ia64 (for now)
+ * Remove all references to dh_testversion, since they are deprecated for
+ Build-Depends
+ * Fix powerpc nof build
+ * Remove all references to the MULTILIB stuff, since the arches are
+ using specialized builds anyway (nof, softfloat).
+ * Added 64bit sparc64 package (gcc-3.0-sparc64, libgcc0-sparc64)
+ * Removed obsolete shlibs.local file
+
+ -- Ben Collins <bcollins@debian.org> Sun, 15 Apr 2001 21:33:15 -0400
+
+gcc-3.0 (3.0.ds4-0pre010403) unstable; urgency=low
+
+ * debian/README: Updated for gcc-3.0
+ * debian/rules.patch: Added subreg-byte patch for sparc
+ * debian/rules.unpack: Update to current CVS for gcc tarball name
+ * debian/patches/subreg-byte.dpatch: sparc subreg-byte support
+ * debian/patches/gcc-rawhide.dpatch: Removed
+ debian/patches/gpc-2.95.dpatch: Removed
+ debian/patches/sparc32-rfi.dpatch: Removed
+ debian/patches/temporary.dpatch: Removed
+ * Moving to unstable now
+ * debian/patches/gcc-ppc-disable-shared-libgcc.dpatch: New patch,
+ disables shared libgcc for powerpc target, since it isn't compatible
+ with the EABI objects.
+ * Create $(with_shared_libgcc) var
+ * debian/rules.d/binary-gcc.mk: Use this new variable to determine if
+ the libgcc package actually has any files
+
+ -- Ben Collins <bcollins@debian.org> Tue, 3 Apr 2001 23:00:55 -0400
+
+gcc-3.0 (3.0.ds2-0pre010223) experimental; urgency=low
+
+ * New snapshot. Use distinct shared object names for shared libraries:
+ we don't know if binary API's still change until the final release.
+ * Versioned package names.
+ * debian/control.m4: New file. Add gcc-base, libgcc0, libobjc1,
+ libstdc++-doc, libgcj1, libgcj1-dev, fastjar, fixincludes packages.
+ Remove gcc-docs package.
+ * debian/gcov.1: Remove.
+ * debian/*: Remove 2.95.x support. Prepare for 3.0.
+ * debian/patches: Remove 2.95.x patches.
+ * Changed source package name. It's not allowed anymore to overwrite
+ source packages with different content. Introducing a 'debian source
+ element' (.ds<num>), which is stripped again from the version number
+ for the binary packages.
+ * Fixed bugs and added functionality:
+ #26436, #27878, #33786, #34876, #35477, #42662, #46181, #42989,
+ #47981, #48530, #50529, #51227, #51456, #51651, #52382, #53698,
+ #55291, #55967, #56867, #58219, #59005, #59232, #59776, #64628,
+ #65687, #67631, #68632, #68963, #68987, #69530, #72933, #75120,
+ #75759, #76645, #76827, #83221, #87540
+ * libgcj fixes: 42894, #51266, #68560, #71187, #79984
+
+ -- Matthias Klose <doko@debian.org> Sat, 24 Feb 2001 13:41:11 +0100
+
+gcc-2.95 (2.95.3-2.001222) experimental; urgency=low
+
+ * New upstream version 2.95.3 experimental (CVS 20001222).
+ * debian/control.in: Versioned package names, removal of snapshot logic.
+ Remove fake gcc-docs package.
+ * Reserve -1 release numbers for woody.
+ * Updated to gpc-20001218.
+
+ -- Matthias Klose <doko@debian.org> Fri, 22 Dec 2000 19:53:03 +0100
+
+gcc (2.95.2-20) unstable; urgency=low
+
+ * Apply patch from gcc-2_95-branch; remove ulimit for make check.
+
+ -- Matthias Klose <doko@debian.org> Sun, 10 Dec 2000 17:01:13 +0100
+
+gcc (2.95.2-19) unstable; urgency=low
+
+ * Added testsuite-20001207 from current snapshots. We'll need results
+ for 2.95.2 to make sure there are no regressions against that release.
+ Dear build daemons and porters to other architectures, please send an
+ email to gcc-testresults@gcc.gnu.org.
+ You can do this by running "debian/rules mail-summary".
+ * Updated to gpc-20001206.
+ * Added S/390 patch prepared by Chu-yeon Park <kokids@debian.org> (#78983).
+ * debian/patches/libio.dpatch: Fix iostream doc (fixes #77647).
+ * debian/patches/gcc-doc.dpatch: Update URL (fixes #77542).
+ * debian/patches/gcc-reload1.dpatch Patch from the gcc-bug list which
+ fixes a problem in "long long" on i[345]86 (i686 was not affected).
+
+ -- Matthias Klose <doko@debian.org> Sat, 9 Dec 2000 12:30:32 +0100
+
+gcc (2.95.2-18) unstable; urgency=low
+
+ * debian/control.in: Fix syntax errors (fixes #76146, #76458).
+ Disable gpc on the hurd by request (#75686).
+ * debian/patches/arm-various.dpatch: Patches from Philip Blundell
+ for ARM arch (fixes #75801).
+ * debian/patches/gcc-alpha-mi-thunk.dpatch: Patches from Chris Chimelis
+ for alpha arch.
+ * debian/patches/g77-docs.dpatch: Adjust g77 docs (fixes #72594).
+ * Update gpc to gpc-20001118.
+ * Reenable gpc for alpha.
+ * debian/README.C++: Merge debian/README.libstdc++ and C++ FAQ information
+ provided by Matt Zimmermann.
+ * Build gcj only on architectures, where libgcj-2.95.1 can be built as well.
+ Probably needs some adjustments ...
+ * Conditionalize for chill, fortran, java, objc and chill.
+
+ * NOT APPLIED:
+ debian/patches/libstdc++-bastring.dpatch: Apply fix (fixes #75759).
+
+ -- Matthias Klose <doko@debian.org> Sun, 19 Nov 2000 10:40:41 +0100
+
+gcc (2.95.2-17) unstable; urgency=low
+
+ * Disable gpc for alpha.
+ * Include gpc-cpp in gpc package (fixes #74492).
+ * Don't build gcc-docs compatibility package anymore.
+
+ -- Matthias Klose <doko@debian.org> Wed, 11 Oct 2000 06:16:53 +0200
+
+gcc (2.95.2-16) unstable; urgency=low
+
+ * Applied the emdebian/cross compiler patch and documentation
+ (Frank Smith <smith@amirix.com>).
+ * Applied patch for avr target (Hakan Ardo <hakan@debian.org>).
+ * debian/control.in: Add awk to Build-Depends.
+ Tighten libc6-dev dependency for libstdc++-dev (fixes #73031,
+ #72531, #72534).
+ * Disable libobjc_gc for m68k again (fixes #74380).
+ * debian/patches/arm-namespace.dpatch: Apply patch from Philip
+ Blundell <pb@futuretv.com> to fix name space pollution on arm
+ (fixes #70937).
+ * Fix more warnings in STL headers (fixes #69352, #71943).
+
+ -- Matthias Klose <doko@debian.org> Mon, 9 Oct 2000 21:51:41 +0200
+
+gcc (2.95.2-15) unstable; urgency=low
+
+ * debian/control.in: Add libgc5-dev to build depends (fixes #67015).
+ * debian/rules.def: Build GC enabled ObjC runtime for sparc.
+ * Bug #58741 fixed (in some version since 2.95.2-5).
+ * debian/control.in: Recommend librx1g-dev, libgmp2-dev, libncurses5-dev
+ (unit dependencies).
+ * Patches from Marcus Brinkmann for the hurd (fixes #67763):
+ - debian/rules.defs: Disable objc_gc on hurd-i386.
+ Disable libg++ on GNU systems.
+ - debian/rules2: Set correct names of libstdc++/libg++
+ libraries on GNU systems.
+ Write out correct shlibs and shlibs.local file content.
+ - Keep _G_config.h for the Hurd.
+ * Apply patch for ObjC linker warnings.
+ * Don't apply gcj backport patch for sparc.
+ * Apply libio compatability patch
+ * debian/glibcver.sh: generate appropriate version for glibc
+ * debian/rules.conf: for everything after glibc 2.1, we always append
+ "-glibc$(ver)" to the C++ libs for linux.
+ * Back down gpc to -13 version (-14 wont compile on anything but i386
+ and m68k becuase of gpc).
+ * Remove extraneous and obsolete sparc64 patches/files from debian/*
+
+ -- Ben Collins <bcollins@debian.org> Thu, 21 Sep 2000 08:08:35 -0400
+
+gcc-snapshot (20000901-2.2) experimental; urgency=low
+
+ * New snapshot.
+ * debian/rules2: Move tradcpp0 to cpp package.
+
+ -- Matthias Klose <doko@debian.org> Sat, 2 Sep 2000 01:14:28 +0200
+
+gcc-snapshot (20000802-2.1) experimental; urgency=low
+
+ * New snapshot.
+ * debian/rules2: Fixes. tradcpp0 is in gcc package, not cpp.
+
+ -- Matthias Klose <doko@debian.org> Thu, 3 Aug 2000 07:40:05 +0200
+
+gcc-snapshot (20000720-2) experimental; urgency=low
+
+ * New snapshot.
+ * Enable libstdc++-v3.
+ * debian/rules2: Don't use -D for /usr/bin/install.
+
+ -- Matthias Klose <doko@debian.org> Thu, 20 Jul 2000 22:33:37 +0200
+
+gcc (2.95.2-14) unstable; urgency=low
+
+ * Update gpc patch.
+
+ -- Matthias Klose <doko@debian.org> Wed, 5 Jul 2000 20:51:16 +0200
+
+gcc (2.95.2-13) frozen unstable; urgency=low
+
+ * Update debian/README: document how to compile 2.0.xx kernels; don't
+ register gcc272 as an alternative for gcc (closes #62419).
+ Clarify compiler setup (closes #65548).
+ * debian/control.in: Make libstdc++-dev depend on current version of g++.
+ * Undo CVS update from release -8 (problems on alpha, #55263).
+
+ -- Matthias Klose <doko@debian.org> Mon, 19 Jun 2000 23:06:48 +0200
+
+gcc (2.95.2-12) frozen unstable; urgency=low
+
+ * debian/gpc.postinst: Correct typo introduced with -11 (fixes #64193).
+ * debian/patches/gcc-rs600.dpatch: ppc codegen fix (fixes #63933).
+
+ -- Matthias Klose <doko@debian.org> Sun, 21 May 2000 15:56:05 +0200
+
+gcc (2.95.2-11) frozen unstable; urgency=medium
+
+ * Upload to unstable again (fixes critical #63784).
+ * Fix doc-base files (fixes important #63810).
+ * gpc wasn't built in -10 (fixes #63977).
+ * Make /usr/bin/pc an alternative (fixes #63888).
+ * Add SYSCALLS.c.X to gcc package.
+
+ -- Matthias Klose <doko@debian.org> Sun, 14 May 2000 22:17:44 +0200
+
+gcc (2.95.2-10) frozen; urgency=low
+
+ * debian/control.in: make gcc conflict on any version of egcc
+ (slink to potato upgrade problem, fixes grave #62084).
+ * Build protoize programs, separate out in new package (fixes #59436,
+ #62911).
+ * Create dummy gcc-docs package for smooth update from slink (fixes #62537).
+ * Add doc-base support for all -doc packages (fixes #63380).
+
+ -- Matthias Klose <doko@debian.org> Mon, 1 May 2000 22:24:28 +0200
+
+gcc (2.95.2-9) frozen unstable; urgency=low
+
+ * Disable the sparc-bi-arch.dpatch (patch from Ben Collins, built
+ for sparc as NMU 8.1) (fixes critical #61529 and #61511).
+ "Seems that when you compile gcc 2.95.x for sparc64-linux and compile
+ sparc32 programs, the code is not the same as sparc-linux compile for
+ sparc32 (this is a bug, and is fixed in gcc 2.96 CVS)."
+ * debian/patches/gcj-vs-iconv.dpatch: Option '--encoding' for
+ encoding of input files. Patch from Tom Tromey <tromey@cygnus.com>
+ backported to 2.95.2 (fixes #42895).
+ Compile a Latin-1 encoded file with `gcj --encoding=Latin1 ...'.
+ * debian/control.in: gcc, g++ and gobjc suggest their corresponding
+ task packages (fixes #59623).
+
+ -- Matthias Klose <doko@debian.org> Sat, 8 Apr 2000 20:19:15 +0200
+
+gcc (2.95.2-8) frozen unstable; urgency=low
+
+ * Post-2.95.2 CVS updates of the gcc-2_95-branch until 20000313.
+ * debian/rules2: configure with --enable-java-gc=no for sparc. Fixes
+ gcj side of #60535.
+ * debian/rules.patch: Disable gcc-emit-rtl patch for all archs but
+ alpha. Disable g++-is-tree patch ("just for 2.95.1").
+ * debian/README: Update for gcc-2.95.
+
+ -- Matthias Klose <doko@debian.org> Mon, 27 Mar 2000 00:03:16 +0200
+
+gcc (2.95.2-7) frozen unstable; urgency=low
+
+ * debian/patches/gcc-empty-struct-init.dpatch; Apply patch from
+ http://gcc.gnu.org/ml/gcc-patches/2000-02/msg00637.html. Fixes
+ compilation of 2.3.4x kernels.
+ * debian/patches/gcc-emit-rtl.dpatch: Apply patch from David Huggins-Daines
+ <dhuggins@linuxcare.com> (backport from 2.96 CVS to fix #55263).
+ * debian/patches/gcc-pointer-arith.dpatch: Apply patch from Jim Kingdon
+ <kingdon@redhat.com> (backport from 2.96 CVS to fix #54951).
+
+ -- Matthias Klose <doko@debian.org> Thu, 2 Mar 2000 23:16:43 +0100
+
+gcc (2.95.2-6) frozen unstable; urgency=low
+
+ * Post-2.95.2 CVS updates of the gcc-2_95-branch until 20000220.
+ * Remove dangling symlink probably left over from libstdc++2.9
+ package (fixes #53661).
+ * debian/patches/gcc-alpha-complex-float.dpatch: Fixed patch by
+ David Huggins-Daines (fixes #58486).
+ * debian/g++.{postinst,prerm}: Remove outdated g++FAQ registration
+ (fixes #58253).
+ * debian/control.in: gcc-doc replaces gcc-docs (fixes #58108).
+ * debian/rules2: Include some fixed headers (asm, bits, linux, ...).
+ * debian/patches/{gcc-alpha-ev5-fix,libstdc++-valarray}.dpatch: Remove.
+ Applied upstream.
+ * debian/patches/libstdc++-bastring.dpatch: Add patch from
+ sicard@bigruth.solsoft.fr (fixes #56715).
+
+ -- Matthias Klose <doko@debian.org> Sun, 20 Feb 2000 15:08:13 +0100
+
+gcc (2.95.2-5) frozen unstable; urgency=low
+
+ * Post-2.95.2 CVS updates of the gcc-2_95-branch until 20000116.
+ * Add more build dependencies (fixes #53204).
+ * debian/patches/gcc-alpha-complex-float.dpatch: Patch from
+ Joel Klecker <jk@espy.org> to compile glibc correctly on alpha.
+ "Should fix the g77 problems too."
+ * debian/patches/{libio,libstdc++-wall2}.dpatch. Remove patches
+ applied upstream.
+
+ -- Matthias Klose <doko@debian.org> Sun, 16 Jan 2000 19:16:54 +0100
+
+gcc (2.95.2-4) unstable; urgency=low
+
+ * debian/patches/libio.dpatch: Patch from Martin v. Loewis.
+ (fixes: #35628).
+ * debian/patches/libstdc++-deque.dpatch: Patch from Martin v. Loewis.
+ (fixes: #52689).
+ * debian/control.in: Updated Build-Depends, removed outdated README.build.
+ Fixes #51246.
+ * Tighten dependencies to cpp (>= 2.95.2-4) (closes: #50294).
+ * debian/rules.patch: Really do not apply patches/gcj-backport.dpatch.
+ Fixes #51636.
+ * Apply updated sparc-bi-arch.dpatch from Ben Collins.
+ * libstdc++: Define wstring type, if __ENABLE_WSTRING is defined. Request
+ from the author of the War FTP Daemon for Linux ("Jarle Aase"
+ <jgaa@jgaa.com>).
+ * debain/g++.preinst: Remove dangling sysmlinks (fixes #52359).
+
+ -- Matthias Klose <doko@debian.org> Sun, 19 Dec 1999 21:53:48 +0100
+
+gcc (2.95.2-3) unstable; urgency=low
+
+ * debian/rules2: Don't install $(gcc_lib_dir)/include/asm; these are
+ headers fixed for glibc-1.x (closes: #49434).
+ * debian/patches/cpp-dos-newlines.dpatch: Keep CR's without
+ following LF (closes: #49186).
+ * Bug #37358 (internal compiler errors when building vdk_0.6.0-5)
+ fixed in gcc-2.95.? (closes: #37358).
+ * Apply patch gcc-alpha-ev5-fix from Richard Henderson <rth@cygnus.com>
+ (should fix #48527 and #46963).
+ * debian/README.Bugs: Documented non bug #44554.
+ * Applied patch from Alexandre Oliva to fix gpc boostrap on alpha.
+ Reenabled gpc on all architectures.
+ * Post-2.95.2 CVS updates of the gcc-2_95-branch until 19991108.
+ * Explicitely generate postinst/prerm chunks for usr/doc transition.
+ debhelper currently doesn't handle generation for packages with
+ symlinked directories.
+ * debian/patches/libstdc++-wall3.dpatch: Fix warnings in stl_deque.h
+ and stl_rope.h (closes: #46444, #46720).
+ * debian/patches/gcj-backport.dpatch: Add file, don't apply (yet).
+
+ -- Matthias Klose <doko@debian.org> Wed, 10 Nov 1999 18:58:45 +0100
+
+gcc (2.95.2-2) unstable; urgency=low
+
+ * New gpc-19991030 snapshot.
+ * Post-2.95.2 CVS updates of the gcc-2_95-branch until 19991103.
+ * Reintegrated sparc patches (bcollins@debian.org), which were lost
+ in 2.95.2-1.
+ * debian/rules2: Only install $(gcc_lib_dir)/include/asm, when existing.
+ * debian/patches/gpc-2.95.{dpatch,diff}: updated patch to drop
+ initialization in stor-layout.c.
+ * debian/NEWS.gcc: Updated for gcc-2.95.2.
+ * debian/bugs/bug-...: Removed testcases for fixed bugs.
+ * debian/patches/...dpatch: Removed patches applied upstream.
+ * debian/{rules2,g++.postinst,g++.prerm}: Handle c++ alternative.
+ * debian/changelog: Merged gcc272, egcs and snapshot changelogs.
+
+ -- Matthias Klose <doko@debian.org> Tue, 2 Nov 1999 23:09:23 +0200
+
+gcc (2.95.2-1.1) unstable; urgency=low
+
+ * Most of the powerpc patches have been applied upstream. Remove all
+ but ppc-ice, ppc-andrew-dwarf-eh, and ppc-descriptions.
+ * mulilib-install.dpatch was definitely a bad idea. Fix it properly
+ by using install -D.
+ * Also, don't make directories before installing any more. Simplifies
+ rules a (tiny) bit.
+ * Do not build with LDFLAGS=-s. Everything gets stripped out anyway by
+ dh_strip -a -X_debug; so leave the binaries in the build tree with
+ debugging symbols for simplified debugging of the packages.
+
+ -- Daniel Jacobowitz <dan@debian.org> Sat, 30 Oct 1999 12:40:12 -0400
+
+gcc (2.95.2-1) unstable; urgency=low
+
+ * gcc-2.95.2 release (taken from the CVS archive). -fstrict-aliasing
+ is disabled upstream.
+
+ -- Matthias Klose <doko@debian.org> Mon, 25 Oct 1999 10:26:19 +0200
+
+gcc (2.95.2-0pre4) unstable; urgency=low
+
+ * Updated to cvs updates of the gcc-2_95-branch until 19991021.
+ * Updated gpc to gpc-19991018 snapshot (closes: #33037, #47453).
+ Enable gpc for all architectures ...
+ * Document gcc exit codes (closes: #43863).
+ * According to the bug submitter (Sergey V Kovalyov <sqk0316@scires.nyu.edu>)
+ the original source of these CERN librarties is outdated now. The latest
+ version of cernlibs compiles and works fine with slink (closes #31546).
+ * According to the bug submitter (Gergely Madarasz <gorgo@sztaki.hu>),
+ the problem triggered on i386 cannot be reproduced with the current
+ jade and php3 versions anymore (closes: #35215).
+ * Replace corrupted m68k-pic.dpatch (from Roman Hodek and Andreas Schwab
+ <Roman.Hodek@informatik.uni-erlangen.de> <schwab@suse.de> and apply to
+ all architectures (closes: #48011).
+ * According to the bug submitter (Herbert Xu <herbert@gondor.apana.org.au>)
+ this bug "probably has been fixed". Setting it to severity "fixed"
+ (fixes: #39616), will close it later ...
+ * debian/README.Bugs: Document throwing C++ exceptions "through" C
+ libraries (closes: #22769).
+
+ -- Matthias Klose <doko@debian.org> Fri, 22 Oct 1999 20:33:00 +0200
+
+gcc (2.95.2-0pre3) unstable; urgency=low
+
+ * Updated to cvs updates of the gcc-2_95-branch until 19991019.
+ * Apply NMU patches (closes: #46217).
+ * debian/control.in: Fix egcs64 conflict-dependency for sparc
+ architecture (closes: #47088).
+ * debian/rules2: dbg-packages share doc dir with lib packages
+ (closes #45067).
+ * debian/patches/gcj-debian-policy.dpatch: Patch from Stephane
+ Bortzmeyer to conform to Debian policy (closes: #44463).
+ * debian/bugs/bug-*: Added test cases for new bug reports.
+ * debian/patches/libstdc++-bastring.dpatch: Patch by Richard Kettlewell
+ (closes #46550).
+ * debian/rules.patch: Apply libstdc++-wall2 patch (closes #46609).
+ * debian/README: Fix typo (closes: #45253).
+ * debian/control.in: Remove primary/secondary distinction;
+ dbg-packages don't provide their normal counterparts (closes #45206).
+ * debian/rules.patch: gcc-combine patch applied upstream.
+ * debian/rules2: Only use mail if with_check is set (off by default).
+ * debian/rules.conf: Tighten binutils dependency to 2.9.5.0.12.
+
+ -- Matthias Klose <doko@debian.org> Tue, 19 Oct 1999 20:33:00 +0200
+
+gcc (2.95.2-0pre2.0.2) unstable; urgency=HIGH (for m68k)
+
+ * Binary-only NMU for m68k as quick fix for another bug; the patch
+ is in CVS already, too.
+ * Applied another patch by Andreas Schwab to fix %a5 restauration in
+ some cases.
+
+ -- Roman Hodek <Roman.Hodek@informatik.uni-erlangen.de> Thu, 30 Sep 1999 16:09:15 +0200
+
+gcc (2.95.2-0pre2.0.1) unstable; urgency=HIGH (for m68k)
+
+ * Binary-only NMU for m68k as quick fix for serious bugs; the patches
+ are already checked into gcc CVS and should be in the next official
+ version, too.
+ * Applied two patches by Andreas Schwab to fix -fpic and loop optimization.
+
+ -- Roman Hodek <Roman.Hodek@informatik.uni-erlangen.de> Mon, 27 Sep 1999 15:32:49 +0200
+
+gcc (2.95.2-0pre2) unstable; urgency=low
+
+ * Fixed in 2.95.2 (closes: #43478).
+ * Previous version had Pascal examples missing in doc directory.
+
+ -- Matthias Klose <doko@debian.org> Wed, 8 Sep 1999 22:18:17 +0200
+
+gcc (2.95.2-0pre1) unstable; urgency=low
+
+ * Updated to cvs updates of the gcc-2_95-branch until 19990828.
+ * Apply work around memory corruption (just for 2.95.1) by
+ Daniel Jacobowitz <dan@debian.org>.
+ * debian/patches/libstdc++-wall2.dpatch: Patch from Franck Sicard
+ <sicard@miniruth.solsoft.fr> to fix some warnings (closes: #44670).
+ * debian/patches/libstdc++-valarray.dpatch: Patch from Hideaki Fujitani
+ <fjtani@flab.fujitsu.co.jp> to fix a bug in valarray_array.h.
+ * Applied NMU from Jim Pick minus the jump.c and fold-const.c patches
+ already in the gcc-2_95-branch (closes: #44690).
+ * Conform to debian-java policy (closes: #44463).
+ * Move docs to /usr/share/doc (closes: #44782).
+ * Remove debian/patches/gcc-align.dpatch applied upstream.
+ * debian/*.postinst: Call install-info only, when configuring.
+ * debian/*.{postinst,prerm}: Add #DEBHELPER# comments to handle
+ /usr/doc -> /usr/share/doc transition.
+
+ -- Matthias Klose <doko@debian.org> Wed, 8 Sep 1999 22:18:17 +0200
+
+gcc (2.95.1-2.1) unstable; urgency=low
+
+ * Non-maintainer upload.
+ * ARM platform no longer needs library-prefix patch.
+ * Updated patches from Philip Blundell.
+
+ -- Jim Pick <jim@jimpick.com> Wed, 8 Sep 1999 20:14:07 -0700
+
+gcc (2.95.1-2) unstable; urgency=low
+
+ * debian/gcc.{postinst,prerm}: gcc provides an alternative for
+ sparc64-linux-gcc.
+ * Applied patch from Ben Collins to enable bi-architecture (32/64)
+ support for sparc.
+ * Rebuild debian/control and debian/rules.parameters after unpacking.
+ * debian/rules2: binary-indep. Conditionalize on with_pascal.
+
+ -- Matthias Klose <doko@debian.org> Sat, 4 Sep 1999 13:47:30 +0200
+
+gcc (2.95.1-1) unstable; urgency=low
+
+ * Updated to release gcc-2.95.1 and cvs updates of the gcc-2_95-branch
+ until 19990828.
+ * debian/README.gcc: Updated NEWS file to include 2.95 and 2.95.1 news.
+ * debian/README.java: New file.
+ * debian/rules.defs: Disabled gpc for alpha, arm. Disabled ObjC-GC
+ for alpha.
+ * debian/rules [clean]: Remove debian/rules.parameters.
+ * debian/rules2 [binary-arch]: Call dh_shlibdeps with LD_LIBRARY_PATH set
+ to installation dir of libstdc++. Why isn't this the default?
+ * debian/control.in: *-dev packages do not longer conflict with
+ libg++272-dev package.
+ * Apply http://egcs.cygnus.com/ml/gcc-patches/1999-08/msg00599.html.
+ * Only define BAD_THROW_ALLOC, when using exceptions (fixes #43462).
+ * For ObjC (when configured with GC) recommend libgc4-dev, not libgc4.
+ * New version of 68060 build patch.
+ * debian/rules.conf: For m68k, depend on binutils version 2.9.1.
+
+ -- Matthias Klose <doko@debian.org> Sat, 28 Aug 1999 18:16:31 +0200
+
+gcc (2.95.1-0pre2) unstable; urgency=medium
+
+ * gpc is back again (fixes grave #43022).
+ * debian/patches/gpc-updates.dpatch: Patches sent to upstream authors.
+ * Work around the fatal dependtry assertion failure bug in dpkg (hint
+ from "Antti-Juhani Kaijanaho" <ajk@debian.org>, fixes important #43072).
+
+ -- Matthias Klose <doko@debian.org> Mon, 16 Aug 1999 19:34:14 +0200
+
+gcc (2.95.1-0pre1) unstable; urgency=low
+
+ * Updated to cvs 19990815 gcc-2_95-branch; included install docs and
+ FAQ from 2.95 release; upload source package as well.
+ * Source package contains tarballs only (gcc, libg++, installdocs).
+ * debian/rules: Splitted into debian/rules{,.unpack,.patch,.conf,2}.
+ * debian/gcc.postinst: s/any key/RETURN; warn only when upgrading from
+ pre 2.95 version; reference /usr/doc, not /usr/share/doc.
+ * Checked syntax for attributes of functions; checked for #35068;
+ checked for bad gmon.out files (at least with libc6 2.1.2-0pre5 and
+ binutils 2.9.1.0.25-2 the problem doesn't show up anymore).
+ * debian/patches/cpp-macro-doc.dpatch: Document macro varargs in cpp.texi.
+ * gcc is primary compiler for all platforms but m68k. Setting
+ severity of #22513 to fixed.
+ * debian/patches/gcc-default-arch.dpatch: New patch to enable generation
+ of i386 instruction as default (fixes #42743).
+ * debian/rules: Removed outdated gcc NEWS file (fixes #42742).
+ * debian/patches/libstdc++-out-of-mem.dpatch: Throw exception instead
+ of aborting when out of memory (fixes #42622).
+ * debian/patches/cpp-dos-newlines.dpatch: Handle ibackslashes after
+ DOS newlines (fixes #29240).
+ * Fixed in gcc-2.95.1: #43001.
+ * Bugs closed in this version:
+ Closes: #11525, #12253, #22513, #29240, #35068, #36182, #42584, #42585,
+ #42602, #42622, #42742 #42743, #43001, #43002.
+
+ -- Matthias Klose <doko@debian.org> Sun, 15 Aug 1999 10:31:50 +0200
+
+gcc (2.95-3) unstable; urgency=high
+
+ * Provide /lib/cpp again (fixes important bug #42524).
+ * Updated to cvs 19990805 gcc-2_95-branch.
+ * Build with the default scheduler.
+ * Apply install-multilib patch from Dan Jacobowitz.
+ * Apply revised cpp-A- patch from Dan Jacobowitz.
+
+ -- Matthias Klose <doko@debian.org> Fri, 6 Aug 1999 07:25:19 +0200
+
+gcc (2.95-2) unstable; urgency=low
+
+ * Remove /lib/cpp. This driver uses files from /usr/lib/gcc-lib anyway.
+ * The following bugs are fixed (compared to egcs-1.1.2).
+ Closes: #4429, #20889, #21122, #26369, #28417, #28261, #31416, #35261,
+ #35900, #35906, #38246, #38872, #39098, #39526, #40659, #40991, #41117,
+ #41290, #41302, #41313.
+ * The following by Joel Klecker:
+ - Adopt dpkg-architecture variables.
+ - Go back to SHELL = bash -e or it breaks where /bin/sh is not bash.
+ - Disabled the testsuite, it is not included in the gcc 2.95 release.
+
+ -- Matthias Klose <doko@debian.org> Sat, 31 Jul 1999 18:00:42 +0200
+
+gcc (2.95-1) unstable; urgency=low
+
+ * Update for official gcc-2.95 release.
+ * Built without gpc.
+ * debian/rules: Remove g++FAQ from rules, which is outdated.
+ For ix86, build for i386, not i486.
+ * Apply patch from Jim Pick for building multilib package on arm.
+
+ -- Matthias Klose <doko@debian.org> Sat, 31 Jul 1999 16:38:21 +0200
+
+gcc (2.95-0pre10) unstable; urgency=low
+
+ * Use ../builddir-gcc-$(VER) by default instead of ./builddir; upstream
+ strongly advises configuring outside of the source tree, and it makes
+ some things much easier.
+ * Add patch to prevent @local branches to weak symbols on powerpc (fixes
+ apt compilation).
+ * Add patch to make cpp -A- work as expected.
+ * Renamed debian/patches/ppc-library-prefix.dpatch to library-prefix.dpatch;
+ apply on all architectures.
+ * debian/control.in: Remove snapshot dependencies.
+ * debian/*.postinst: Reflect use of /usr/share/{info,man}.
+
+ -- Daniel Jacobowitz <dan@debian.org> Thu, 22 Jul 1999 19:27:12 -0400
+
+gcc (2.95-0pre9) unstable; urgency=low
+
+ * The following bugs are fixed (compared to egcs-1.1.2): #4429, #20889,
+ #21122, #26369, #28417, #28261, #35261, #38246, #38872, #39526, #40659,
+ #40991, #41117, #41290.
+ * Updated to CVS gcc-19990718 snapshot.
+ * debian/control.in: Removed references to egcs in descriptions.
+ Changed gcj's Recommends libgcj-dev to Depends.
+ * debian/rules: Apply ppc-library-prefix for alpha as well.
+ * debian/patches/arm-config.dpatch: Updated patch sent by Jim Pick.
+
+ -- Matthias Klose <doko@debian.org> Sun, 18 Jul 1999 12:21:07 +0200
+
+gcc (2.95-0pre8) unstable; urgency=low
+
+ * Updated CVS.
+ * debian/copyright: s%doc/copyright%share/common-licenses%
+ * debian/README.Bugs: s/egcs.cygnus.com/gcc.gnu.org/ s/egcs-bugs/gcc-bugs/
+ * debian/patches/reporting.dpatch: Remake diff for current sources.
+ * debian/libstdc++-dev.postinst: It's /usr/share/info/iostream.info.
+ * debian/rules: Current dejagnu snapshot reports a framework version
+ of 1.3.1.
+
+ -- Joel Klecker <espy@debian.org> Sun, 18 Jul 1999 02:09:57 -0700
+
+gcc-snapshot (19990714-0pre6) experimental; urgency=low
+
+ * Updated to CVS gcc-19990714 snapshot.
+ * Applied ARM patch (#40515).
+ * Converted DOS style linefeeds in debian/patches/ppc-* files.
+ * debian/rules: Reflect change in gcc/version.c; use sh -e as shell:
+ for some obscure reason, bash -e doesn't work.
+ * Reflect version change for libstdc++ (2.10). Remove libg++-name
+ patch; libg++ now has version 2.8.1.3. Removed libc version from
+ the package name.
+
+ -- Matthias Klose <doko@debian.org> Wed, 14 Jul 1999 18:43:57 +0200
+
+gcc-snapshot (19990625-0pre5.1) experimental; urgency=low
+
+ * Non-maintainer upload.
+ * Added ARM specific patch.
+
+ -- Jim Pick <jim@jimpick.com> Tue, 29 Jun 1999 22:36:08 -0700
+
+gcc-snapshot (19990625-0pre5) experimental; urgency=low
+
+ * Updated to CVS gcc-19990625 snapshot.
+
+ -- Matthias Klose <doko@debian.org> Fri, 25 Jun 1999 16:11:53 +0200
+
+gcc-snapshot (19990609-0pre4.1) experimental; urgency=low
+
+ * Added and re-added a few last PPC patches.
+
+ -- Daniel Jacobowitz <dan@debian.org> Sat, 12 Jun 1999 16:48:01 -0500
+
+gcc-snapshot (19990609-0pre4) experimental; urgency=low
+
+ * Updated to CVS egcs-19990611 snapshot.
+
+ -- Matthias Klose <doko@debian.org> Fri, 11 Jun 1999 10:20:09 +0200
+
+gcc-snapshot (19990609-0pre3) experimental; urgency=low
+
+ * CVS gcc-19990609 snapshot.
+ * New gpc-19990607 snapshot.
+
+ -- Matthias Klose <doko@debian.org> Wed, 9 Jun 1999 19:40:44 +0200
+
+gcc-snapshot (19990524-0pre1) experimental; urgency=low
+
+ * egcs-19990524 snapshot.
+ * First snapshot of the gcc-2_95-branch. egcs-1.2 is renamed to gcc-2.95,
+ which is now the "official" successor to gcc-2.8.1. The full version
+ name is: gcc-2.95 19990521 (prerelease).
+ * debian/control.in: Changed maintainers to `Debian GCC maintainers'.
+ * Moved all version numbers to epoch 1.
+ * debian/rules: Major changes. The support for secondary compilers
+ was already removed for the egcs-1.2 snapshots. Many fixes by
+ Joel Klecker <espy@debian.org>.
+ - Send mail to Debian maintainers for successful builds.
+ - Fix VER and VERNO sed expressions.
+ - Replace remaining GNUARCH occurrences.
+ * New gpc snapshot (but don't build).
+ * debian/patches/valarray.dpatch: Backport from libstdc++-v3.
+ * debian/gcc-doc.*: Info is now gcc.info* (Joel Klecker <espy@debian.org>).
+ * Use cpp driver provided by the package.
+ * New script c89 (fixes #28261).
+
+ -- Matthias Klose <doko@debian.org> Sat, 22 May 1999 16:10:36 +0200
+
+egcs (1.1.2-2) unstable; urgency=low
+
+ * Integrate NMU's for arm and sparc (fixes #37582, #36857).
+ * Apply patch for the Hurd (fixes #37753).
+ * Describe open bugs in TODO.Debian. Please have a look if you can help.
+ * Update README / math functions section (fixes #35906).
+ * Done by J.H.M. Dassen (Ray) <jdassen@wi.LeidenUniv.nl>:
+ - At Richard Braakman's request, made -dbg packages for libstdc++
+ and libg++.
+ - Provide egcc(1) (fixes lintian error).
+
+ -- Matthias Klose <doko@debian.org> Sun, 16 May 1999 14:30:56 +0200
+
+egcs-snapshot (19990502-1) experimental; urgency=low
+
+ * New snapshot.
+
+ -- Matthias Klose <doko@debian.org> Thu, 6 May 1999 11:51:02 +0200
+
+egcs-snapshot (19990418-2) experimental; urgency=low
+
+ * Merged Rays changes to build debug packages.
+
+ -- Matthias Klose <doko@debian.org> Wed, 21 Apr 1999 16:54:56 +0200
+
+egcs-snapshot (19990418-1) experimental; urgency=low
+
+ * New snapshot.
+ * Disable cpplib.
+
+ -- Matthias Klose <doko@debian.org> Mon, 19 Apr 1999 11:32:19 +0200
+
+egcs (1.1.2-1.2) unstable; urgency=low
+
+ * NMU for arm
+ * Added arm-optimizer.dpatch with optimizer workaround for ARM
+
+ -- Jim Pick <jim@jimpick.com> Mon, 19 Apr 1999 06:17:13 -0700
+
+egcs (1.1.2-1.1) unstable; urgency=low
+
+ * NMU for sparc
+ * Included dpatch to modify the references to gcc/crtstuff.c so that
+ __register_frame_info is not a weak reference. This allows potato to
+ remain binary compatible with slink, while still retaining compatibility
+ with other sparc/egcs1.1.2 distributions. Diff in .dpatch format has
+ been sent to the maintainer with a note it may not be needed for 1.1.3.
+
+ -- Ben Collins <bcollins@debian.org> Tue, 27 Apr 1999 10:15:03 -0600
+
+egcs (1.1.2-1) unstable; urgency=low
+
+ * Final egcs-1.1.2 release built for potato as primary compiler
+ for all architectures except m68k.
+
+ -- J.H.M. Dassen (Ray) <jdassen@wi.LeidenUniv.nl> Thu, 8 Apr 1999 13:14:29 +0200
+
+egcs-snapshot (19990321-1) experimental; urgency=low
+
+ * New snapshot.
+ * Disable gpc.
+ * debian/rules: Simplified (no secondary compiler, bumped all versions
+ to same epoch, libapi patch is included upstream).
+ * Separated out cpp documentation to cpp-doc package.
+ * Fixed in this version: #28417.
+
+ -- Matthias Klose <doko@debian.org> Tue, 23 Mar 1999 02:11:18 +0100
+
+egcs (1.1.2-0slink2) stable; urgency=low
+
+ * Applied H.J.Lu's egcs-19990315.linux patch.
+ * Install faq.html and egcs-1.1.2 announcment.
+
+ -- Matthias Klose <doko@debian.org> Tue, 23 Mar 1999 01:14:54 +0100
+
+egcs (1.1.2-0slink1) stable; urgency=low
+
+ * Final egcs-1.1.2 release; compiled with glibc-2.0 for slink on i386.
+ * debian/control.in: gcc provides egcc, when FIRST_PRIMARY defined.
+ * Fixes #30767, #32278, #34252, #34352.
+ * Don't build the libstdc++.so.2.9 library on architectures, which have
+ switched to glibc-2.1.
+
+ -- Matthias Klose <doko@debian.org> Wed, 17 Mar 1999 12:55:59 +0100
+
+egcs (1.1.1.63-2.2) unstable; urgency=low
+
+ * Non-maintainer upload.
+ * Incorporate patch from Joel Klecker to fix snapshot packages
+ by moving/removing the application of libapi.
+ * Disable the new libstdc++-dev-config and the postinst message in
+ glibc 2.1 versions.
+
+ -- Daniel Jacobowitz <dan@debian.org> Mon, 12 Mar 1999 14:16:02 -0500
+
+egcs (1.1.1.63-2.1) unstable; urgency=low
+
+ * Non-maintainer upload.
+ * Compile with glibc 2.1 release version.
+ * New upstream version egcs-1.1.2 pre3.
+ * Miscellaneous rules updates (see changelog.snapshot).
+ * New set of powerpc-related patches from Franz Sirl,
+ <fsirl@kernel.crashing.org>.
+ * Disable libgcc.dpatch (new solution implemented upstream). Remove it.
+ * Also pass $target to config.if.
+ * Enable Dwarf2 EH for powerpc. Bump the C++ binary version. No
+ loss in -backwards- compatibility as far as I can tell, so add a
+ compatibility symlink, and add to shlibs file.
+ * Add --no-backup-if-mismatch to the debian/patches/*.dpatch files,
+ to prevent bogus .orig's in diffs.
+ * Merged with (unreleased) 1.1.1.62-1 and 1.1.1.63-{1,2} packages from
+ Matthias Klose <doko@debian.org>.
+ * Stop adding a backwards compatibility link for egcs-nof on powerpc.
+ To my knowledge, nothing uses it. Do add the libstdc++ API change
+ link, though.
+
+ -- Daniel Jacobowitz <dan@debian.org> Mon, 8 Mar 1999 14:24:01 -0500
+
+egcs (1.1.1.63-2) stable; urgency=low
+
+ * Provide a libstdc++ with a shared object name, which is compatible
+ to other distributions. Documented the change in README.Debian,
+ the libstdc++-2.9.postinst and the libstdc++-dev-config script.
+
+ -- Matthias Klose <doko@debian.org> Fri, 12 Mar 1999 00:36:20 +0100
+
+egcs (1.1.1.63-1.1) unstable; urgency=low
+
+ * Non-Maintainer release.
+ * Build against glibc 2.1.
+ * Make egcs the primary compiler on i386.
+ * Also confilct with egcc (<< FIRST_PRIMARY)
+ if FIRST_PRIMARY is defined.
+ (this tells dpkg that gcc completely obsoletes egcc)
+ * Remove hjl-12 patch again, HJL says it should not be
+ necessary with egcs 1.1.2.
+ (as per forwarded reply from Christopher Chimelis)
+ * Apply libapi patch in clean target before regenerating debian/control
+ and remove the patch afterward. Otherwise, the libstdc++ and libg++
+ package names are generated wrong on a glibc 2.1 system.
+
+ -- Joel Klecker <espy@debian.org> Tue, 9 Mar 1999 15:31:02 -0800
+
+egcs (1.1.1.63-1) unstable; urgency=low
+
+ * New upstream version egcs-1.1.1-pre3.
+ * Applied improved libstdc++ warning patch from Rob Browning.
+
+ -- Matthias Klose <doko@debian.org> Tue, 9 Mar 1999 16:14:07 +0100
+
+egcs (1.1.1.62-1) unstable; urgency=low
+
+ * New upstream version egcs-1.1.1-pre2.
+ * New upstream version libg++-2.8.1.3.
+ * Readded ARM support
+ * Readded hjl-12 per request from Christopher C Chimelis
+ <chris@classnet.med.miami.edu>
+
+ -- Matthias Klose <doko@debian.org> Fri, 26 Feb 1999 09:54:01 +0100
+
+egcs-snapshot (19990224-0.1) experimental; urgency=low
+
+ * New snapshot.
+ * Add the ability to disable CPPLIB by setting CPPLIB=no in
+ the environment.
+ * Disable gpc for powerpc; I spent a long time getting it to
+ make correctly, and then it goes and ICEs.
+
+ -- Daniel Jacobowitz <dan@debian.org> Tue, 24 Feb 1999 23:34:12 -0500
+
+egcs (1.1.1.61-1) unstable; urgency=low
+
+ * New upstream version egcs-1.1.1-pre1.
+ * debian/control.in: Applied patch from bug report #32987.
+ * Split up H.J.Lu's hjl-19990115-linux patch into several small
+ chunks: libapi, arm-mips, libgcc, hjl-other. The changelog.Linux
+ aren't included in the separate chunks. Please refer to the
+ unmodified hjl-19990115-linux patch file in the egcs source pkg.
+ * Apply warning patch to fix the annoying spew you get if you try to
+ use ropes or deques with -Wall (which makes -Wall mostly useless for
+ spotting errors in your own code). Fixes #32996.
+ * debian/rules: Unapply patches in the exact reverse order they were
+ applied.
+
+ -- Matthias Klose <doko@debian.org> Sat, 20 Feb 1999 22:06:21 +0100
+
+egcs (1.1.1-5) frozen unstable; urgency=medium
+
+ * Move libgcc.map file to g++ package, where gcc is the secondary
+ compiler (fixes #32329, #32605, #32631).
+ * Prepare to rename libstdc++2.9 package for glibc-2.1 (fixes #32148).
+ * Apply NMU patch for arm architecure (fixes #32367).
+ * Don't apply hjl-12 patch for alpha architectures (requested by the
+ alpha developers, Christopher C Chimelis <chris@classnet.med.miami.edu>).
+ * Call makeinfo with --no-validate to fix obscure build failure on alpha.
+ * Build gpc info files in doc subdirectory.
+ * Remove c++filt diversion (C++ name demangling patch is now in binutils,
+ fixes #30820 and #32502).
+
+ -- Matthias Klose <doko@debian.org> Sun, 31 Jan 1999 23:19:35 +0100
+
+egcs (1.1.1-4.1) unstable; urgency=low
+
+ * Non-maintainer upload.
+ * Pascal doesn't build for ARM.
+
+ -- Jim Pick <jim@jimpick.com> Sun, 24 Jan 1999 16:13:34 -0800
+
+egcs (1.1.1-4) frozen unstable; urgency=high
+
+ * Don't strip compiler libraries libgcc.a libobjc.a libg2c.a libgpc.a
+ * Move Pascal examples to the right place (fixes #32149, part 1).
+ * Add dependencies for switching from secondary to primary compiler,
+ if FIRST_PRIMARY is defined (fixes #32149, part 2).
+
+ -- Matthias Klose <doko@debian.org> Wed, 20 Jan 1999 16:51:30 +0100
+
+egcs (1.1.1-3) frozen unstable; urgency=low
+
+ * Updated with the H.J.Lu's hjl-19990115-linux patch (fixes the
+ __register_frame_info problems, mips and arm port included).
+ * Update gpc to 19990118 (beta release candidate).
+ * Strip static libraries (fixes #31247 and #31248).
+ * Changed maintainer address.
+
+ -- Matthias Klose <doko@debian.org> Tue, 19 Jan 1999 16:34:28 +0100
+
+egcs (1.1.1-2) frozen unstable; urgency=low
+
+ * Moved egcs-docs, g77-doc and gpc-doc packages to doc section.
+ * Downgraded Recommends: egcs-docs to Suggests: egcs-docs dependencies
+ (for archs, where egcs is the primary compiler).
+ * Add 'Suggests: stl-manual' dependency to libstdc++2.9-dev.
+ * Applied one more alpha patch:
+ ftp://ftp.yggdrasil.com/private/hjl/egcs/1.1.1/egcs-1.1.1.diff.12.gz
+ * Applied PPro optimization patch.
+ * Apply emit-rtl-nan patch.
+ * Upgraded to libg++-2.8.1.2a-19981218.tar.gz.
+ * Upgraded to gpc-19981218.
+ * Make symlinks for gobjc, libstdc++2.9-dev and libg++2.8.2 doc directories.
+
+ -- Matthias Klose <doko@debian.org> Wed, 23 Dec 1998 18:04:53 +0200
+
+egcs-snapshot (19981211-1) experimental; urgency=low
+
+ * New snapshot.
+ * Adapted gpc to egcs-2.92.x (BOOT_CFLAGS must include -g).
+ * New libg++-2.8.1.2a-19981209.tar.gz.
+ * debian/rules: new target mail-summary.
+
+ -- Matthias Klose <doko@debian.org> Fri, 11 Dec 1998 18:14:53 +0200
+
+egcs (1.1.1-1) frozen unstable; urgency=high
+
+ * Final egcs-1.1.1 release.
+ * The last version depended on a versioned libc6 again.
+ * Add lost dependency for libg++ on libstdc++.
+ * Added debian-libstdc++.sh script to generate a libstdc++ on a Linux
+ system, which doesn't use the libapi patch.
+
+ -- Matthias Klose <doko@cs.tu-berlin.de> Wed, 2 Dec 1998 12:06:15 +0200
+
+egcs (1.1.0.91.59-2) frozen unstable; urgency=high
+
+ * Fixes bugs from libc6 2.0.7u-6 upload without dependency line
+ Conflicts: libstdc++-2.9 (<< 2.91.59): #30019, #30066, #30078.
+ * debian/copyright: Updated URLs.
+ * gcc --help now mentions /usr/doc/debian/bug-reporting.txt.
+ * Install README.Debian and include information about patches applied.
+ * Depend on unversioned libc6 on i386, such that libstdc++2.9 can be used
+ on a hamm system.
+
+ -- Matthias Klose <doko@cs.tu-berlin.de> Fri, 27 Nov 1998 18:32:02 +0200
+
+egcs (1.1.0.91.59-1) frozen unstable; urgency=low
+
+ * This is egcs-1.1.1 prerelease #3, compiled with libc6 2.0.7u-6.
+ * Added dependency for libstdc++2.9-dev on g++ (fixes #29631).
+ * Package g77 provides f77 (fixes #29817).
+ * Already fixed in earlier egcs-1.1 releases: #2493, #25271, #10620.
+ * Bugs reported for gcc-2.7.x and fixed in the egcs version of gcc:
+ #2493, #4430, #4954, #5367, #6047, #10612, #12375, #20606, #24788, #26100.
+ * Upgraded libg++ to libg++-2.8.1.2a-19981114.
+ * Upgraded gpc to gpc-19981124.
+ * Close #25869: egcs and splay maintainers are unable to reproduce this
+ bug with the current Debian packages. Bug submitter doesn't respond.
+ * Close #25407: egcs maintainer cannot reproduce this bug with the current
+ Debian compiler. Bug submitter doesn't respond.
+ * Use debhelper 1.2.7 for building.
+ * Replace the libstdc++ and libg++ compatibility links with fake libraries.
+
+ -- Matthias Klose <doko@cs.tu-berlin.de> Wed, 25 Nov 1998 12:11:42 +0200
+
+egcs (1.1.0.91.58-5) frozen unstable; urgency=low
+
+ * Applied patch to build on the m68060.
+ * Added c++filt and c++filt.1 to the g++ package.
+ * Updated gpc to gpc-981105; fixes some regressions compared to egcs-1.1.
+ * Separated out g77 and gpc doumentation to new packages g77-doc and gpc-doc.
+ * Closed bugs (#22158).
+ * Close #20248; on platforms where gas and gld are the default versions,
+ it makes no difference to configure with or without enable-ld.
+ * Close #24349. The bugs are in the amulet source.
+ See http://www.cs.cmu.edu/afs/cs/project/amulet/www/FAQ.html#GCC28x
+ * Rename gcc.info* files to egcs.info* (fixes #24088).
+ * Documented known bugs (and workarounds) in BUGS.Debian.
+ * Fixed demangling of C++ names (fixes #28787).
+ * Applied patch form aspell to libstdc++/stl/stl_rope.h.
+ * Updated from cvs 16 Nov 1998.
+
+ -- Matthias Klose <doko@cs.tu-berlin.de> Tue, 17 Nov 1998 09:41:24 +0200
+
+egcs-snapshot (19981115-2) experimental; urgency=low
+
+ * New snapshot. Disabled gpc.
+ * New packages g77-doc and gpc-doc.
+
+ -- Matthias Klose <doko@debian.org> Mon, 16 Nov 1998 12:48:09 +0200
+
+egcs (1.1.0.91.58-3) frozen unstable; urgency=low
+
+ * Previous version installed in potato, not slink.
+ * Updated from cvs 3 Nov 1998.
+
+ -- Matthias Klose <doko@cs.tu-berlin.de> Tue, 3 Nov 1998 18:34:44 +0200
+
+egcs (1.1.0.91.58-2) unstable; urgency=low
+
+ * [debian/rules]: added targets to apply and unapply patches.
+ * [debian/README.patches]: New file.
+ * Moved patches dir to debian/patches. debian/rules has to select
+ the patches to apply.
+ * Manual pages for genclass and gcov (fixes #5995, #20950, #22196).
+ * Apply egcs-1.1-reload patch needed for powerpc architecture.
+ * Fixed bugs (#17768, #20252, #25508, #27788).
+ * Reapplied alpha patch (#20875).
+ * Fixes first part of #22513, extended README.Debian (combining C & C++).
+ * Already fixed in earlier egcs-1.1 releases: #17963, #20252, #20524,
+ #20640, #22450, #24244, #24288, #28520.
+
+ -- Matthias Klose <doko@cs.tu-berlin.de> Fri, 30 Oct 1998 13:41:45 +0200
+
+egcs (1.1.0.91.58-1) experimental; urgency=low
+
+ * New upstream version. That's the egcs-1.1.1 prerelease plus patches from
+ the cvs archive upto 29 Oct 1998.
+ * Merged files from the egcs and snapshot packages.
+ * Updated libg++ to libg++-2.8.1.2 (although the Debian package name is still
+ 2.8.2).
+ * Moved patches dir to patches-1.1.
+ * Dan Jacobowitz:
+ * This is a snapshot from the egcs_1_1_branch, with
+ libapi, reload, builtin-apply, and egcs patches from
+ the debian/patches/ dir applied, along with the egcs-gpc-patches
+ and gcc/p/diffs/gcc-egcs-2.91.55.diff.
+ * Conditionalize gcj and chill (since they aren't in this branch).
+ * Fake snapshots drop the -snap-main.
+
+ -- Matthias Klose <doko@cs.tu-berlin.de> Thu, 29 Oct 1998 15:15:19 +0200
+
+egcs-snapshot (1.1-19981019-5.1) experimental; urgency=low
+
+ * This is a snapshot from the egcs_1_1_branch, with
+ libapi, reload, builtin-apply, and egcs patches from
+ the debian/patches/ dir applied, along with the egcs-gpc-patches
+ and gcc/p/diffs/gcc-egcs-2.91.55.diff.
+ * Conditionalize gcj and chill (since they aren't in this
+ branch).
+ * Fake snapshots drop the -snap-main.
+
+ -- Daniel Jacobowitz <dan@debian.org> Mon, 19 Oct 1998 22:19:23 -0400
+
+egcs (1.1b-5) unstable; urgency=low
+
+ * [debian/control.in] Fixed typo in dependencies (#28076, #28087, #28092).
+
+ -- J.H.M. Dassen (Ray) <jdassen@wi.LeidenUniv.nl> Sun, 18 Oct 1998 22:56:51 +0200
+
+egcs (1.1b-4) unstable; urgency=low
+
+ * Strengthened g++ dependency on libstdc++_LIB_SO_-dev from
+ `Recommends' to `Depends'.
+ * Updated README.Debian for egcs-1.1.
+ * Updated TODO.
+
+ -- Matthias Klose <doko@cs.tu-berlin.de> Thu, 15 Oct 1998 12:38:47 +0200
+
+egcs-snapshot (19981005-0.1) experimental; urgency=low
+
+ * Make libstdc++2.9-snap-main and libg++-snap-main provide
+ their mainstream equivalents and put those equivalents into
+ their shlibs file.
+ * Package gcj, the GNU Compiler for Java(TM).
+
+ * New upstream version of egcs (The -regcs_latest_snapshot branch).
+ * Build without libg++ entirely.
+ * Leave out gpc for now - the internals are sufficiently different
+ that it does not trivially compile.
+ * Include an experimental reload patch for powerpc - this is,
+ in the words of its author, not release quality, but it allows
+ powerpc linuxthreads to function.
+ * On architectures where we are the primary compiler, let snapshots
+ build with --prefix=/usr and conflict with the stable versions.
+ * Package chill, a front end for the language Chill.
+ * Other applied patches from debian/patches/: egcs-patches and
+ builtin-apply-patch.
+ * Use reload.c revision 1.43 to avoid a nasty bug.
+
+ -- Daniel Jacobowitz <dan@debian.org> Wed, 7 Oct 1998 00:27:42 -0400
+
+egcs (1.1b-3.1) unstable; urgency=low
+
+ * NMU to fix the egcc -> gcc link once and for all
+
+ -- Christopher C. Chimelis <chris@classnet.med.miami.edu> Tue, 22 Sep 1998 16:11:19 -0500
+
+egcs (1.1b-3) unstable; urgency=low
+
+ * Oops. The egcc -> gcc link on archs where gcc is egcc was broken.
+ Thanks to Chris Chimelis for pointing this out.
+
+ -- J.H.M. Dassen (Ray) <jdassen@wi.LeidenUniv.nl> Mon, 21 Sep 1998 20:51:35 +0200
+
+egcs (1.1b-2) unstable; urgency=low
+
+ * New upstream spellfix release (Debian revision is 2 as the internal
+ version numbers didn't change).
+ * Added egcc -> gcc symlink on architectures where egcc is the primary C
+ compiler. Thus, maintainers of packages that require egcc, can now
+ simply use "egcc" without conditionals.
+ * Porters: we hope/plan to make egcs's gcc the default C compiler on all
+ platforms once the 2.2.x kernels are available. Please test this version
+ thoroughly, and give us a GO / NO GO for your architecture.
+ * Some symbols cpp used to predefine were removed upstream in order to clean
+ up the cpp namespace, but imake requires them for determining the proper
+ settings for LinuxMachineDefines (see /usr/X11R6/lib/X11/{Imake,linux}.cf),
+ thus we put them back. Thanks to Paul Slootman for reporting his imake
+ problems on Alpha.
+ * [gcc/config/alpha/linux.h] Added -D__alpha to CPP_PREDEFINES .
+ Thanks to Chris Chimelis for the alpha-only 1.1a-1.1 NMU which fixed
+ this already.
+ * [gcc/config/i386/linux.h] Added -D__i386__ to CPP_PREDEFINES .
+ * [gcc/config/sparc/linux.h] Has -Dsparc in CPP_PREDEFINES .
+ * [gcc/config/sparc/linux64.h] Has -Dsparc in CPP_PREDEFINES .
+ * [gcc/config/m68k/linux.h] Has -Dmc68000 in CPP_PREDEFINES .
+ * [gcc/config/rs6000/linux.h] Has -Dpowerpc in CPP_PREDEFINES .
+ * [gcc/config/arm/linux.h] Has -Darm in CPP_PREDEFINES .
+ * [gcc/config/i386/gnu.h] Has -Di386 in CPP_PREDEFINES .
+ * Small fixes and updates in README.
+ * Changes affecting the source package only:
+ * [gcc/Makefile.in, gcc/cp/Make-lang.in, gcc/p/Make-lang.in]
+ Daniel Jacobowitz: Ugly hacks of various kinds to make cplib2.txt get
+ properly regenerated with multilib.
+ * [debian/TODO] Created.
+ * [INSTALL/index.html] Fixed broken link.
+
+ -- J.H.M. Dassen (Ray) <jdassen@wi.LeidenUniv.nl> Sun, 20 Sep 1998 14:05:15 +0200
+
+egcs (1.1a-1) unstable; urgency=low
+
+ * New upstream release.
+ * Added README.libstdc++ .
+ * Updated Standards-Version.
+ * Matthias:
+ * Downgraded gobjc dependency on egcs-docs from Recommends: to Suggests: .
+ * [libg++/Makefile.in] Patched not to rely on a `-f' flag of `ln'.
+
+ -- J.H.M. Dassen (Ray) <jdassen@wi.LeidenUniv.nl> Wed, 2 Sep 1998 19:57:43 +0200
+
+egcs (1.1-1) unstable; urgency=low
+
+ * egcs-1.1 prerelease (from the last Debian package only the version file
+ changed).
+ * "Final" gpc Beta 2.1 gpc-19980830.
+ * Included libg++ and gpc in the .orig tarball. so that diffs are getting
+ smaller.
+ * debian/control.in: Changed maintainer address to galenh-egcs@debian.org.
+ * debian/copyright: Updated URLs.
+
+ -- Matthias Klose <doko@cs.tu-berlin.de> Mon, 31 Aug 1998 12:43:13 +0200
+
+egcs (1.0.99.56-0.1) unstable; urgency=low
+
+ * New upstream snapshot 19980830 from CVS (called egcs-1.1 19980830).
+ * New libg++ snapshot 980828.
+ * Put all patches patches subdirectory; see patches/README in the source.
+ * debian/control.in: readded for libg++2.8.2-dev:
+ Replaces: libstdc++2.8-dev (<= 2.90.29-0.5)
+ * Renamed libg++2.9 package to libg++2.8.2.
+ * gcc/p/gpc-decl.c: Fix from Peter@Gerwinski.de; fixes optimization errors.
+ * patches/gpc-patch2: Fix from Peter@Gerwinski.de; fixes alpha errors.
+ * debian/rules: New configuration flag for building with and without
+ libstdc++api patch; untested without ...
+
+ -- Matthias Klose <doko@cs.tu-berlin.de> Sun, 30 Aug 1998 12:04:22 +0200
+
+egcs (1.0.99-0.6) unstable; urgency=low
+
+ * PowerPC fixes.
+ * On powerpc, generate the -msoft-float libs and package them
+ as egcs-nof.
+ * Fix signed char error in gpc.
+ * Create a libg++.so.2.9 compatibility symlink.
+
+ -- Daniel Jacobowitz <dan@debian.org> Tue, 25 Aug 1998 11:44:09 -0400
+
+egcs (1.0.99-0.5) unstable; urgency=low
+
+ * New upstream snapshot 19980824.
+ * New gpc snapshot gpc-980822; reenabled gpc for alpha.
+
+ -- Matthias Klose <doko@cs.tu-berlin.de> Tue, 25 Aug 1998 01:21:08 +0200
+
+egcs (1.0.99-0.4) unstable; urgency=low
+
+ * New upstream snapshot 19980819. Should build glibc 2.0.9x on PPC.
+
+ -- Matthias Klose <doko@cs.tu-berlin.de> Wed, 19 Aug 1998 14:18:07 +0200
+
+egcs (1.0.99-0.3) unstable; urgency=low
+
+ * New upstream snapshot 19980816.
+ * debian/rules: build correct debian/control and debian/*.shlibs
+ * Enabled Haifa scheduler for ix86.
+
+ -- Matthias Klose <doko@cs.tu-berlin.de> Mon, 17 Aug 1998 16:29:35 +0200
+
+egcs (1.0.99-0.2) unstable; urgency=low
+
+ * New upstream snapshot: egcs-19980812, minor changes only.
+ * Fixes for building on `primary' targets.
+ * Disabled gpc on `alpha' architecture.
+ * Uses debhelper 1.1.6
+ * debian/control.in: Replace older snapshot versions in favor of newer
+ normal versions.
+ * debian/rules: Fixes building of binary-arch target only.
+
+ -- Matthias Klose <doko@cs.tu-berlin.de> Thu, 13 Aug 1998 11:59:41 +0200
+
+egcs (1.0.99-0.1) unstable; urgency=low
+
+ * New upstream version: pre egcs-1.1 version.
+ * Many changes ... for details see debian/changelog.snapshot in the
+ source package.
+ * New packages libstdc++2.9 and libstdc++2.9-dev.
+ * New libg++ snapshot 980731: new packages libg++2.9 and libg++2.9-dev.
+ * New gpc snapshot gpc-980729: new package gpc.
+ * Uses debhelper 1.1
+
+ -- Matthias Klose <doko@cs.tu-berlin.de> Mon, 10 Aug 1998 13:00:27 +0200
+
+egcs-snapshot (19980803-4) experimental; urgency=low
+
+ * rebuilt debian/control.
+
+ -- Matthias Klose <doko@debian.org> Wed, 5 Aug 1998 08:51:47 +0200
+
+egcs-snapshot (19980803-3) experimental; urgency=low
+
+ * debian/rules: fix installation locations of NEWS, header and
+ `undocumented' files.
+ * man pages aren't compressed for the snapshot package.
+
+ -- Matthias Klose <doko@debian.org> Tue, 4 Aug 1998 17:34:31 +0200
+
+egcs-snapshot (19980803-2) experimental; urgency=low
+
+ * debian/rules: Uses debhelper. Old in debian/rules.old.
+ renamed postinst, prerm files for use with debhelper.
+ * debian/{libg++2.9,libstdc++2.9}/postinst: call ldconfig only,
+ when called for configure.
+ * egcs-docs is architecture independent package.
+ * new libg++ snapshot 980731.
+ * installed libstdc++ api patch (still buggy).
+
+ -- Matthias Klose <doko@debian.org> Mon, 3 Aug 1998 13:20:59 +0200
+
+egcs-snapshot (19980729-1) experimental; urgency=low
+
+ * New snapshot version 19980729 from CVS archive.
+ * New gpc snapshot gpc-980729.
+ * Let gcc/configure decide about using the Haifa scheduler.
+ * Remove -DDEBIAN. That was needed for the security improvements with
+ regard to the /tmp problem. egcs-1.1 chooses another approach.
+ * Save test-protocol and extract gpc errors to gpc-test-summary.
+ * Tighten binutils dependency to 2.9.1.
+ * debian/rules: new build-info target
+ * debian/{control.in,rules}: _SO_ and BINUTILSV substitution.
+ * debian/rules: add dependency for debian/control.
+ * debian/rules: remove bin/c++filt
+ * TODO: next version will use debhelper; the unorganized moving of
+ files becomes unmanageable ...
+ * TODO: g++ headers in stdc++ package? check!
+
+ -- Matthias Klose <doko@debian.org> Thu, 30 Jul 1998 12:10:20 +0200
+
+egcs-snapshot (19980721-1) experimental; urgency=low
+
+ * Unreleased. Infinite loops in executables made by gpc.
+
+ -- Matthias Klose <doko@debian.org> Wed, 22 Jul 1998 18:07:20 +0200
+
+egcs-snapshot (19980715-1) experimental; urgency=low
+
+ * New snapshot version from CVS archive.
+ * New gpc snapshot gpc-980715.
+ * New libg++ version libg++-2.8.2-980708. Changed versioning
+ schema for library. The major versions of libc, libstdc++ and the
+ g++ interface are coded in the library name. Use this new schema,
+ but provide a symlink to our previous schema, since the library
+ seems to be binary compatible.
+ * [debian/rules]: Fixed bug in build target, when bootstrap returns
+ with an error
+
+ -- Matthias Klose <doko@debian.org> Wed, 15 Jul 1998 10:55:05 +0200
+
+egcs-snapshot (19980701-1) experimental; urgency=low
+
+ * New snapshot version from CVS archive.
+ Two check programs in libg++ had to be manually killed to finish the
+ testsuite (tBag and tSet).
+ * New gpc snapshot gpc-980629.
+ * Incorporated debian/rules changes from egcs-1.0.3a-0.5 (but don't remove
+ gcc/cp/parse.c gcc/c-parse.c gcc/c-parse.y gcc/objc/objc-parse.c
+ gcc/objc/objc-parse.y, since these files are part of the release).
+ * Disable the -DMKTEMP_EACH_FILE -DHAVE_MKSTEMP -DDEBIAN flags for the
+ snapshot. egcs-1.1 will have another solution.
+ * Don't bootstrap the snapshot with -fno-force-mem. Internal compiler
+ error :-(
+ * libf2c.a and f2c.h have changed names to libg2c.a and g2c.h and
+ have moved again into the gcc-lib dir. They are installed under
+ libg2c.a and g2c.h. Is it necessary to provide links f2c -> g2c ?
+ * debian/rules: reflect change of build dir of libraries.
+
+ -- Matthias Klose <doko@debian.org> Wed, 2 Jul 1998 13:15:28 +0200
+
+egcs-snapshot (19980628-0.1) experimental; urgency=low
+
+ * New upstream snapshot version.
+ * Non-maintainer upload; Matthias appears to be absent currently.
+ * Updated shlibs.
+ * Merged changes from regular egcs:
+ * [debian/control] Tightened dependency on binutils to 2.8.1.0.23 or
+ newer, as according to INSTALL/SPECIFIC PowerPC (and possibly Sparc)
+ need this.
+ * [debian/rules] Clean up some generated files outside builddir,
+ so the .diff.gz becomes smaller.
+ * [debian/rules] Partial sync/update with the one for the regular egcs
+ version.
+ * [debian/rules] Make gcc/p/configure executable.
+
+ -- J.H.M. Dassen (Ray) <jdassen@wi.LeidenUniv.nl> Wed, 1 Jul 1998 07:12:15 +0200
+
+egcs (1.0.3a-0.6) frozen unstable; urgency=low
+
+ * Some libg++ development files were in libstdc++2.8-dev rather than
+ libg++2.8-dev. Fixed this and dealt with upgrading from the earlier
+ versions (fixes #23908; this bug is not marked release-critical, but
+ is annoying and can be quite confusing for users. Therefore, I think
+ this fix should go in 2.0).
+
+ -- J.H.M. Dassen (Ray) <jdassen@wi.LeidenUniv.nl> Tue, 30 Jun 1998 11:10:14 +0200
+
+egcs (1.0.3a-0.5) frozen unstable; urgency=low
+
+ * Fixed location of .hP files (Fixes #23448).
+ * [debian/rules] simplified extraction of the files for libg++2.8-dev.
+
+ -- J.H.M. Dassen (Ray) <jdassen@wi.LeidenUniv.nl> Wed, 17 Jun 1998 09:33:41 +0200
+
+egcs (1.0.3a-0.4) frozen unstable; urgency=low
+
+ * [gcc/gcc.c] There is one call to choose_temp_base for determining the
+ tempdir to be used only; #ifdef HAVE_MKSTEMP delete the tempfile created
+ as a side effect. (fixes #23123 for egcs).
+ * [gcc/collect2.c] There's still a vulnerability here; I don't see how
+ I can fix it without leaving behind tempfiles though.
+ * [debian/control] Tightened dependency on binutils to 2.8.1.0.23 or
+ newer, as according to INSTALL/SPECIFIC PowerPC (and possibly Sparc)
+ need this.
+ * [debian/rules] Clean up some generated files outside builddir, so the
+ .diff.gz becomes smaller.
+
+ -- J.H.M. Dassen (Ray) <jdassen@wi.LeidenUniv.nl> Sat, 13 Jun 1998 09:06:52 +0200
+
+egcs-snapshot (19980608-1) experimental; urgency=low
+
+ * New snapshot version.
+
+ -- Matthias Klose <doko@debian.org> Tue, 9 Jun 1998 14:07:44 +0200
+
+egcs (1.0.3a-0.3) frozen unstable; urgency=high (security fixes)
+
+ * [gcc/toplev.c] set flag_force_mem to 1 at optimisation level 3 or higher.
+ This works around #17768 which is considered release-critical.
+ * Changes by Matthias:
+ * [debian/README] Documentation of the compiler situation for Objective C.
+ * [debian/rules, debian/control.*] Generate control file from a master
+ file.
+ * [debian/rules] Updates for Pascal and Fortran parts; brings it in sync
+ with the one for the egcs snapshots.
+ * Use the recommended settings LDFLAGS=-s CFLAGS= BOOT_CFLAGS='-O2'.
+ * Really compile -DMKTEMP_EACH_FILE -DHAVE_MKSTEMP (really fixes #19453
+ for egcs).
+ * [gcc/gcc.c] A couple of temp files weren't marked for deletion.
+
+ -- J.H.M. Dassen (Ray) <jdassen@wi.LeidenUniv.nl> Sun, 31 May 1998 22:56:22 +0200
+
+egcs (1.0.3a-0.2) frozen unstable; urgency=high (security fixes)
+
+ * Security improvements with regard to the /tmp problem
+ (gcc opens predictably named files in TMPDIR which can be abused via
+ symlinks) (Fixes #19453 for egcs).
+ * Compile -DMKTEMP_EACH_FILE to ensure the %u name is generated randomly
+ every time; affects gcc/gcc.c .
+ * [gcc/choose-temp.c, libiberty/choose-temp.c]: use mktemp(3) if compiled
+ -DUSE_MKSTEMP .
+ * Security improvements: don't use the result of choose_temp_base in a
+ predictable fashion.
+ [gcc/gcc.c]:
+ * @c, @objective-c: use random name rather then tempbasename.i for
+ intermediate preprocessor output (%g.i -> %d%u).
+ * @c, @objective-c: use random name rather then tempbasename.s for
+ intermediate compiler output (%g.s -> %d%u).
+ * @c, @objective-c, @cpp-output, @assembler-with-cpp: switched
+ "as [-o output file] <input file>" to
+ "as <input file> [-o output file]".
+ * @c, @objective-c, @assembler-with-cpp: use previous random name
+ (cc1|cpp output) rather then tempbasename.s for intermediate assembler
+ input (%g.s -> %U)
+ [gcc/f/lang-specs.h]:
+ * @f77-cpp-input: use random name rather then tempbasename.i for
+ intermediate cpp output (%g.i -> %d%u).
+ * @f77-cpp-input: use previous random name (cpp output) rather than
+ tempbasename.i for f771 input (%g.i -> %U).
+ * @f77-cpp-input: switched
+ "as [-o output file] <input file>" to
+ "as <input file> [-o output file]".
+ * @f77-cpp-input: use random name rather then tempbasename.s for
+ intermediate compiler output (%g.s -> %d%u).
+ * @ratfor: use random name rather then tempbasename.i for
+ intermediate ratfor output (%g.f -> %d%u).
+ * @ratfor: use previous random name (ratfor output) rather than
+ tempbasename.i for f771 input (%g.f -> %U).
+ * @ratfor: use random name rather then tempbasename.s for
+ intermediate compiler output (%g.s -> %d%u).
+ * @ratfor: switched
+ "as [-o output file] <input file>" to
+ "as <input file> [-o output file]".
+ * @ratfor: use previous random name
+ (ratfor output) rather then tempbasename.s for intermediate assembler
+ input (%g.s -> %U).
+ * @f77: use random name rather then tempbasename.s for
+ intermediate ratfor output (%g.f -> %d%u).
+ * @ratfor: use previous random name (ratfor output) rather than
+ tempbasename.i for f771 input (%g.f -> %U).
+ * @ratfor: use random name rather then tempbasename.s for
+ intermediate compiler output (%g.s -> %d%u).
+ * @ratfor: switched
+ "as [-o output file] <input file>" to
+ "as <input file> [-o output file]".
+ * @ratfor: use previous random name
+ (ratfor output) rather then tempbasename.s for intermediate assembler
+ input (%g.s -> %U).
+ * @f77: use random name rather then tempbasename.s for
+ intermediate compiler output (%g.s -> %d%u).
+ * @f77: switched
+ "as [-o output file] <input file>" to
+ "as <input file> [-o output file]".
+ * @ratfor: use random name rather then tempbasename.s for
+ intermediate compiler output (%g.s -> %U).
+ * Run the testsuite (this requires the dejagnu package in experimental;
+ unfortunately, it is difficult to distinguish this version from the one
+ in frozen).
+ if possible, and log the results in warn_summary and bootstrap-summary.
+ * [gcc/choose-temp.c, libiberty/choose-temp.c]: s|returh|return| in
+ comment.
+ * Added notes on the Debian compiler setup [debian/README] to the
+ development packages.
+ * Matthias:
+ * [libg++/etc/lf/Makefile.in] Replaced "-ltermcap" by "-lncurses".
+ * [debian/rules] Updated so it can be used for both egcs releases and
+ snapshots easily; added support for the GNU Pascal Compiler gpc.
+ * [contrib/test_summary, contrib/warn_summary] Added from CVS.
+ * Run compiler checks and include results in /usr/doc/<package>.
+ * Updates to the README.
+ * [debian/rules] Use assignments to speed up startup.
+ * [debian/rules] Show the important variables at the start of the build
+ process.
+ * [debian/control.secondary] Added a dependency of gobjc on egcc on
+ architectures where egcs provides the secondary compiler, as
+ /usr/bin/egcc is the compiler driver for gobjc. (Fixes #22829).
+ * [debian/control.*] Bumped Standards-Version; used shorter version
+ numbers in the dependency relationships (esthetic difference only);
+ fixed typo.
+
+ -- J.H.M. Dassen (Ray) <jdassen@wi.LeidenUniv.nl> Tue, 26 May 1998 21:47:41 +0200
+
+egcs-snapshot (19980525-1) experimental; urgency=low
+
+ * New snapshot version.
+
+ -- Matthias Klose <doko@debian.org> Tue, 26 May 1998 18:04:06 +0200
+
+egcs-snapshot (19980517-1) experimental; urgency=low
+
+ * "Initial" release of the egcs-snapshot package; many debian/* files
+ derived from the egcs-1.0.3a-0.1 package (maintained by Galen Hazelwood
+ <galenh@micron.net>, NMU's by J.H.M. Dassen (Ray) <jdassen@wi.LeidenUniv.nl>)
+ * The egcs-snapshot packages can coexist with the packages of the
+ egcs release. Package names have a '-ss' appended.
+ * All packages are installed in a separate tree (/usr/lib/egcs-ss following
+ the FHSS).
+ * Made all snapshot packages extra, all snapshot packages conflict
+ with correspondent egcs packages, which are newer than the snapshot.
+ * Included libg++-2.8.1-980505.
+ * Included GNU Pascal (gpc-980511).
+ * Haifa scheduler enabled for all snapshot packages.
+ * Run compiler checks and include results in /usr/doc/<package>.
+ * Further information in /usr/doc/<package>/README.snapshot.
+
+ -- Matthias Klose <doko@debian.org> Wed, 20 May 1998 11:14:06 +0200
+
+egcs (1.0.3a-0.1) frozen unstable; urgency=low
+
+ * New upstream release egcs-2.90.29 980515 (egcs-1.0.3 release)
+ (we were using 1.0.3-prerelease). This includes the Haifa patches
+ we had since 1.0.3-0.2 and the gcc/objc/thr-posix.c patch we had
+ since 1.0.3-0.1; the differences with 1.0.3-prerelease + patches
+ we had is negligable.
+ * iostream info documentation was in the wrong package (libg++2.8-dev).
+ Now it's in libstdc++2.8-dev. (Thanks to Jens Rosenboom for bringing
+ this to my attention). As 1.0.3-0.3 didn't make it out of Incoming,
+ I'm not adding "Replaces:" for this; folks who had 1.0.3-0.3 installed
+ already know enough to use --force-overwrite.
+ * [gcc/objc/objc-act.c] Applied patch Matthias Klose supplied me with that
+ demangles Objective C method names in gcc error messages.
+ * Explicitly disable Haifa scheduling on Alpha, to make it easier to use
+ this package's diff with egcs snapshots, which may turn on Haifa
+ scheduling even though it is still unstable. (Requested by Chris Chimelis)
+ * Don't run "configure" again if builddir already exists (makes it faster
+ to restart builds in case one is hacking internals). Requested by
+ Johnnie Ingram.
+ * [gcc/gbl-ctors.h] Don't use extern declaration for atexit on glibc 2.1
+ and higher (the prototype has probably changed; having the declaration
+ broke Sparc compiles).
+ * [debian/rules] Determine all version number automatically (from the
+ version string in gcc/version.c).
+ * [debian/copyright] Updated FTP locations; added text about libg++ (fixes
+ #22465).
+
+ -- J.H.M. Dassen (Ray) <jdassen@wi.LeidenUniv.nl> Sat, 16 May 1998 17:41:44 +0200
+
+egcs (1.0.3-0.3) frozen unstable; urgency=low
+
+ * Made an "egcs-doc" package containing documentation for egcs (e)gcc,
+ g++, gobjc, so that administrators can choose whether to have this
+ documenation or the documentation that comes with the GNU gcc package.
+ Dependency on this is Recommends: on architectures where egcs provides
+ the primary C compiler; Suggests: on the others (where GNU gcc is still
+ the primary C compiler).
+ * Use the g++ FAQ from gcc/cp rather than libg++, as that version is more
+ up to date.
+ * Added iostream info documentation to libstdc++2.8-dev.
+
+ -- J.H.M. Dassen (Ray) <jdassen@wi.LeidenUniv.nl> Wed, 13 May 1998 08:46:10 +0200
+
+egcs (1.0.3-0.2) frozen unstable; urgency=low
+
+ * Added libg++ that works with egcs, found at
+ ftp://ftp.yggdrasil.com/private/hjl/libg++-2.8.1-980505.tar.gz
+ (fixes #20587 (Severity: important)).
+ * The "libg++" and "libg++-dev" virtual packages now refer to the GNU
+ extensions.
+ * Added the g++ FAQ that comes with libg++ to the g++ package.
+ * libg++/Makefile.in: added $(srcdir) to rule for g++FAQ.info so that it
+ builds OK in builddir.
+ * Added -D__i386__ to the cpp predefines on intel.
+ * Patches Matthias supplied me with:
+ * Further 1.0.3 prerelease patches from CVS.
+ This includes patches to the Haifa scheduler. Alpha porters, please
+ check if this makes the Haifa scheduler OK again.
+ * Objective C patches from CVS.
+
+ -- J.H.M. Dassen (Ray) <jdassen@wi.LeidenUniv.nl> Fri, 8 May 1998 14:43:20 +0200
+
+egcs (1.0.3-0.1) frozen unstable; urgency=low (high for maintainers that use objc)
+
+ * bug fixes only in new upstream version
+ * Applied patches from egcs CVS archive (egcs_1_03_prerelease)
+ (see gcc/ChangeLog in the egcs source package).
+ * libstdc++2.8-dev no longer Provides: libg++-dev (fixes #21153).
+ * libstdc++2.8-dev now Conflicts: libg++27-dev (bo),
+ libg++272-dev (hamm) [regular packages] rather than
+ Conflicts: libg++-dev [virtual package] to prepare the way for "libg++"
+ to be used as a virtual package for a new libg++ package (i.e. an up to
+ date one, which not longer contains libstdc++, but only the GNU
+ extensions) that is compatible with the egcs g++ packages. Such a package
+ isn't available yet. Joel Klecker tried building libg++2.8.1.1a within
+ egcs's libstdc++ setup, but it appears to need true gcc 2.8.1 .
+ * Filed Severity: important bugs against wxxt1-dev (#21707) because these
+ still depend on libg++-dev, which is removed in this version.
+ A fixed libsidplay1-dev has already been uploaded.
+ * libstdc++2.8 is now Section: base and Priority: required (as dselect is
+ linked against it).
+ * Disabled Haifa scheduling on Alpha again; Chris Chimelis reported
+ that this caused problems on some machines.
+ * [gcc/extend.texi]
+ ftp://maya.idiap.ch/pub/tmb/usenix88-lexic.ps.Z is no longer available;
+ use http://master.debian.org/~karlheg/Usenix88-lexic.pdf .
+ (fixes the egcs part of #20002).
+ * Updated Standards-Version.
+ * Changed chmod in debian/rules at Johnie Ingram's request.
+ * Rather than hardwire the Debian part of the packages' version number,
+ extract it from debian/changelog .
+ * Use gcc/objc/thr-posix.c from 980418 egcs snapshot to make objc work.
+ (Fixes #21192).
+ * Applied workaround for the GNUstep packages on sparc systems.
+ See README.sparc (on sparc packages only) in the doc directory.
+ This affects the other compilers as well.
+ * Already done in 1.0.2-0.7: the gobjc package now provides a virtual
+ package objc-compiler.
+
+ -- J.H.M. Dassen (Ray) <jdassen@wi.LeidenUniv.nl> Tue, 28 Apr 1998 12:05:28 +0200
+
+egcs (1.0.2-0.7) frozen unstable; urgency=low
+
+ * Separated out Objective-C compiler.
+ * Applied patch from http://www.cygnus.com/ml/egcs/1998-Apr/0614.html
+
+ -- Matthias Klose <doko@debian.org> Fri, 17 Apr 1998 10:25:48 +0200
+
+egcs (1.0.2-0.6) frozen unstable; urgency=low
+
+ * Due to upstream changes (libg++ is now only the GNU specific C++
+ classes, and is no longer maintained; libstdc++ contains the C++
+ standard library, including STL), the virtual "libg++-dev"
+ package's meaning has become confusing. Therefore, new or updated
+ packages should no longer use the virtual "libg++-dev" package.
+ * Corrected g++'s Recommends to libstdc++2.8-dev (>=2.90.27-0.1).
+ The previous version had Recommends: libstdc++-dev (>=2.90.27-0.1)
+ which doesn't work, as libstc++-dev is a virtual package.
+ * Bumped Standards-Version.
+
+ -- J.H.M. Dassen (Ray) <jdassen@wi.LeidenUniv.nl> Tue, 14 Apr 1998 11:52:08 +0200
+
+egcs (1.0.2-0.5) frozen unstable; urgency=low (high for maintainers of packages that use libstdc++)
+
+ * Modified shlibs file for libstdc++ to generate versioned dependencies,
+ as it is not link compatible with the 1.0.1-x versions in
+ project/experimental. (Fixes #20247, #20033)
+ Packages depending on libstd++ should be recompiled to fix their
+ dependencies.
+ * Strenghtened g++'s Recommends: libstdc++-dev to the 1.0.2 version or
+ newer.
+ * Fixed problems with the unknown(7) symlink for gcov.
+ * Reordering links now works.
+
+ -- Adam Heath <adam.heath@usa.net> Sun, 12 Apr 1998 13:09:30 -0400
+
+egcs (1.0.2-0.4) frozen unstable; urgency=low
+
+ * Unreleased. This is the version Adam Heath received from me.
+ * Replaces: gcc (<= 2.7.2.3-3) so that the overlap with the older gcc
+ packages (including bo's gcc_2.7.2.1-8) is handled properly
+ (fixes #19931, #19672, #20217, #20593).
+ * Alpha architecture (fixes #20875):
+ * Patched gcc/config/alpha/linux.h for the gmon functions to operate
+ properly.
+ * Made egcs the primary C compiler.
+ * Enabled Hafia scheduling.
+ * Lintian-detected problems:
+ * E: libstdc++2.8: ldconfig-symlink-before-shlib-in-deb usr/lib/libstdc++.so.2.8
+ * E: egcc: binary-without-manpage gcov
+ Reported as wishlist bug; added link to undocumented(7).
+ * W: libstdc++2.8: non-standard-executable-perm usr/lib/libstdc++.so.2.8.0 0555
+ * E: libstdc++2.8: shlib-with-executable-bit usr/lib/libstdc++.so.2.8.0 0555
+
+ -- J.H.M. Dassen (Ray) <jdassen@wi.LeidenUniv.nl> Fri, 10 Apr 1998 14:46:46 +0200
+
+egcs (1.0.2-0.3) frozen unstable; urgency=low
+
+ * Really fixed dependencies.
+
+ -- J.H.M. Dassen (Ray) <jdassen@wi.LeidenUniv.nl> Mon, 30 Mar 1998 11:30:26 +0200
+
+egcs (1.0.2-0.2) frozen unstable; urgency=low
+
+ * Fixed dependencies.
+
+ -- J.H.M. Dassen (Ray) <jdassen@wi.LeidenUniv.nl> Sat, 28 Mar 1998 13:58:58 +0100
+
+egcs (1.0.2-0.1) frozen unstable; urgency=low
+
+ * New upstream version; it now has -Di386 in CPP_PREDEFINES.
+ * Only used the debian/* patches from 1.0.1-2; the rest of it appears
+ to be in 1.0.2 already.
+
+ -- J.H.M. Dassen (Ray) <jdassen@wi.LeidenUniv.nl> Fri, 27 Mar 1998 11:47:14 +0100
+
+egcs (1.0.1-2) unstable; urgency=low
+
+ * Integrated pre-release 1.0.2 patches
+ * Split out g++
+ * egcs may now provide either the primary or secondary C compiler
+
+ -- Galen Hazelwood <galenh@micron.net> Sat, 14 Mar 1998 14:15:32 -0700
+
+egcs (1.0.1-1) unstable; urgency=low
+
+ * New upstream version
+ * egcs is now the standard Debian gcc!
+ * gcc now provides c-compiler (#15248 et al.)
+ * g77 now provides fortran77-compiler
+ * g77 dependencies now correct (#16991)
+ * /usr/doc/gcc/changelog.gz now has correct permissions (#16139)
+
+ -- Galen Hazelwood <galenh@micron.net> Sat, 7 Feb 1998 19:22:30 -0700
+
+egcs (1.0-1) experimental; urgency=low
+
+ * First official release
+
+ -- Galen Hazelwood <galenh@micron.net> Thu, 4 Dec 1997 16:30:11 -0700
+
+egcs (970917-1) experimental; urgency=low
+
+ * New upstream snapshot (There's a lot of stuff here as well, including
+ a new libstdc++, but it _still_ won't build...)
+ * eg77 driver now works properly
+
+ -- Galen Hazelwood <galenh@micron.net> Wed, 17 Sep 1997 20:44:29 -0600
+
+egcs (970904-1) experimental; urgency=low
+
+ * New upstream snapshot
+
+ -- Galen Hazelwood <galenh@micron.net> Sun, 7 Sep 1997 18:25:06 -0600
+
+egcs (970814-1) experimental; urgency=low
+
+ * Initial packaging (of initial snapshot!)
+
+ -- Galen Hazelwood <galenh@micron.net> Wed, 20 Aug 1997 00:36:28 +0000
+
+gcc272 (2.7.2.3-12) unstable; urgency=low
+
+ * Compiled on a glibc-2.0 based system.
+ * Reflect move of manpage to /usr/share in gcc.postinst as well.
+ * Moved gcc272-docs to section doc, priority optional.
+
+ -- Matthias Klose <doko@cs.tu-berlin.de> Sat, 28 Aug 1999 13:42:13 +0200
+
+gcc272 (2.7.2.3-11) unstable; urgency=low
+
+ * Follow Debian policy for GNU system type (fixes #42657).
+ * config/i386/linux.h: Remove %[cpp_cpu] from CPP_SPEC. Stops gcc-2.95
+ complaining about obsolete spec operators (using gcc -V 2.7.2.3).
+ Patch suggested by Zack Weinberg <zack@bitmover.com>.
+
+ -- Matthias Klose <doko@cs.tu-berlin.de> Sun, 15 Aug 1999 20:12:21 +0200
+
+gcc272 (2.7.2.3-10) unstable; urgency=low
+
+ * Renamed source package to gcc272. The egcs source package is renamed
+ to gcc, because it's now the "official" GNU C compiler.
+ * Changed maintainer address to "Debian GCC maintainers".
+ * Install info and man stuff to /usr/share.
+
+ -- Matthias Klose <doko@cs.tu-berlin.de> Thu, 27 May 1999 12:29:23 +0200
+
+gcc (2.7.2.3-9) unstable; urgency=low
+
+ * debian/{postinst,prerm}-doc: handle gcc272.info, not gcc.info.
+ Fixes #36306.
+
+ -- Matthias Klose <doko@cs.tu-berlin.de> Tue, 20 Apr 1999 07:32:58 +0200
+
+gcc (2.7.2.3-8) unstable; urgency=low
+
+ * Make gcc-2.7 the secondary compiler. Rename gcc package to gcc272.
+ On i386, sparc and m68k, this package is compiled against glibc2.0.
+ * The cpp package is built from the egcs source package.
+
+ -- Matthias Klose <doko@cs.tu-berlin.de> Mon, 29 Mar 1999 22:48:50 +0200
+
+gcc (2.7.2.3-7) frozen unstable; urgency=low
+
+ * Separated out ObjC compiler to gobjc27 package.
+ * Changed maintainer address.
+ * Synchronized README.Debian with egcs-1.1.1-3.
+
+ -- Matthias Klose <doko@cs.tu-berlin.de> Tue, 29 Dec 1998 19:05:26 +0100
+
+gcc (2.7.2.3-6) frozen unstable; urgency=low
+
+ * Link with -lc on i386, m68k, sparc, when building shared libraries
+ (fixes #25122).
+
+ -- Matthias Klose <doko@cs.tu-berlin.de> Thu, 3 Dec 1998 12:12:12 +0200
+
+gcc (2.7.2.3-5) frozen unstable; urgency=low
+
+ * Updated maintainer info.
+ * Updated Standards-Version; made lintian-clean.
+ * gcc-docs can coexist with the latest egcs-docs, so added (<= version) to
+ the Conflicts.
+ * Updated the README and renamed it to README.Debian .
+ * Put a reference to /usr/doc/gcc/README.Debian in the info docs.
+ * Updated description of g++272 .
+ * Clean up generated info files, to keep the diff small.
+
+ -- J.H.M. Dassen (Ray) <jdassen@wi.LeidenUniv.nl> Tue, 17 Nov 1998 20:05:59 +0100
+
+gcc (2.7.2.3-4.8) frozen unstable; urgency=high
+
+ * Non-maintainer release
+ * Fix type in extended description
+ * Removed wrong test in postinst
+ * Add preinst to clean up some stuff from an older gcc package properly
+ and stop man complaining about dangling symlinks
+
+ -- Wichert Akkerman <wakkerma@debian.org> Fri, 17 Jul 1998 18:48:32 +0200
+
+gcc (2.7.2.3-4.7) frozen unstable; urgency=high
+
+ * Really fixed gcc-docs postinst (Fixes #23470), so that `gcc-docs'
+ becomes installable.
+
+ -- J.H.M. Dassen (Ray) <jdassen@wi.LeidenUniv.nl> Mon, 15 Jun 1998 07:53:40 +0200
+
+gcc (2.7.2.3-4.6) frozen unstable; urgency=high
+
+ * [gcc.c] There is one call to choose_temp_base for determining the
+ tempdir to be used only;
+ #ifdef HAVE_MKSTEMP delete the tempfile created as a side effect.
+ (fixes #23123 for gcc).
+ * gcc-docs postinst was broken (due to a broken line) (fixes #23391, #23401).
+ * [debian/control] description for gcc-docs said `egcs' where it should have
+ said `gcc' (fixes #23396).
+
+ -- J.H.M. Dassen (Ray) <jdassen@wi.LeidenUniv.nl> Thu, 11 Jun 1998 12:48:50 +0200
+
+gcc (2.7.2.3-4.5) frozen unstable; urgency=high
+
+ * The previous version left temporary files behind, as they were not
+ marked for deletion afterwards.
+
+ -- J.H.M. Dassen (Ray) <jdassen@wi.LeidenUniv.nl> Sun, 31 May 1998 22:49:14 +0200
+
+gcc (2.7.2.3-4.4) frozen unstable; urgency=high (security fixes)
+
+ * Security improvements with regard to the /tmp problem
+ (gcc opens predictably named files in TMPDIR which can be abused via
+ symlinks) (Fixes #19453 for gcc):
+ * Compile -DMKTEMP_EACH_FILE to ensure the %u name is generated randomly
+ every time; affects gcc/gcc.c .
+ * [cp/g++.c, collect2.c, gcc.c] If compiled -DHAVE_MKSTEMP use mkstemp(3)
+ rather than mktemp(3).
+ * Security improvements: don't use the result of choose_temp_base in a
+ predictable fashion.
+ [gcc.c]:
+ * @c, @objective-c: use random name rather then tempbasename.i for
+ intermediate preprocessor output (%g.i -> %d%u).
+ * @c, @objective-c: use random name rather then tempbasename.s for
+ intermediate compiler output (%g.s -> %d%u).
+ * @c, @objective-c, @cpp-output, @assembler-with-cpp: switched
+ "as [-o output file] <input file>" to
+ "as <input file> [-o output file]".
+ * @c, @objective-c, @assembler-with-cpp: use previous random name
+ (cc1|cpp output) rather then tempbasename.s for intermediate assembler
+ input (%g.s -> %U)
+ [f/lang-specs.h]:
+ * @f77-cpp-input: use random name rather then tempbasename.i for
+ intermediate cpp output (%g.i -> %d%u).
+ * @f77-cpp-input: use previous random name (cpp output) rather than
+ tempbasename.i for f771 input (%g.i -> %U).
+ * @f77-cpp-input: switched
+ "as [-o output file] <input file>" to
+ "as <input file> [-o output file]".
+ * @f77-cpp-input: use random name rather then tempbasename.s for
+ intermediate compiler output (%g.s -> %d%u).
+ * @ratfor: use random name rather then tempbasename.i for
+ intermediate ratfor output (%g.f -> %d%u).
+ * @ratfor: use previous random name (ratfor output) rather than
+ tempbasename.i for f771 input (%g.f -> %U).
+ * @ratfor: use random name rather then tempbasename.s for
+ intermediate compiler output (%g.s -> %d%u).
+ * @ratfor: switched
+ "as [-o output file] <input file>" to
+ "as <input file> [-o output file]".
+ * @ratfor: use previous random name
+ (ratfor output) rather then tempbasename.s for intermediate assembler
+ input (%g.s -> %U).
+ * @f77: use random name rather then tempbasename.s for
+ intermediate ratfor output (%g.f -> %d%u).
+ * @ratfor: use previous random name (ratfor output) rather than
+ tempbasename.i for f771 input (%g.f -> %U).
+ * @ratfor: use random name rather then tempbasename.s for
+ intermediate compiler output (%g.s -> %d%u).
+ * @ratfor: switched
+ "as [-o output file] <input file>" to
+ "as <input file> [-o output file]".
+ * @ratfor: use previous random name
+ (ratfor output) rather then tempbasename.s for intermediate assembler
+ input (%g.s -> %U).
+ * @f77: use random name rather then tempbasename.s for
+ intermediate compiler output (%g.s -> %d%u).
+ * @f77: switched
+ "as [-o output file] <input file>" to
+ "as <input file> [-o output file]".
+ * @ratfor: use random name rather then tempbasename.s for
+ intermediate compiler output (%g.s -> %U).
+
+ -- J.H.M. Dassen (Ray) <jdassen@wi.LeidenUniv.nl> Sat, 30 May 1998 17:27:03 +0200
+
+gcc (2.7.2.3-4.3) frozen unstable; urgency=high
+
+ * The "alpha" patches from -4 affected a lot more than alpha support,
+ and in all likeliness broke compilation of libc6 2.0.7pre3-1
+ and 2.0.7pre1-4 . I removed them by selective application of the
+ diff between -4 and -4. (should fix #22292).
+ * Fixed reference to the trampolines paper (fixes #20002 for Debian;
+ this still needs to be forwarded).
+ * This is for frozen too. (obsoletes #22390 (request to move -4.2 to
+ frozen)).
+ * Split of gcc-docs package, so that the gcc can be succesfully installed
+ on systems that have egcs-docs installed.
+ * Added the README on the compiler situation that's already in the egcs
+ packages.
+ * Use the recommended settings LDFLAGS=-s CFLAGS= BOOT_CFLAGS='-O2'.
+
+ -- J.H.M. Dassen (Ray) <jdassen@wi.LeidenUniv.nl> Thu, 28 May 1998 20:03:59 +0200
+
+gcc (2.7.2.3-4.2) unstable; urgency=low
+
+ * Still for unstable, as I have received no feedback about the g++272
+ package yet.
+ * gcc now Provides: objc-compiler .
+ * Clean up /etc/alternatives/{g++,g++.1.gz} if they are dangling.
+ (fixes #19765, #20563)
+
+ -- J.H.M. Dassen (Ray) <jdassen@wi.LeidenUniv.nl> Wed, 22 Apr 1998 12:40:45 +0200
+
+gcc (2.7.2.3-4.1) unstable; urgency=low
+
+ * Bumped Standards-Version.
+ * Forked off a g++272 package (e.g. for code that uses the GNU extensions
+ in libg++); for now this is in "unstable" only; feedback appreciated.
+ * Some cleanup (lintian): permissions, absolute link, gzip manpage.
+
+ -- J.H.M. Dassen (Ray) <jdassen@wi.LeidenUniv.nl> Fri, 17 Apr 1998 13:05:25 +0200
+
+gcc (2.7.2.3-4) unstable; urgency=low
+
+ * Added alpha patches
+ * Only build C and objective-c compilers, split off g++
+
+ -- Galen Hazelwood <galenh@micron.net> Sun, 8 Mar 1998 21:16:39 -0700
+
+gcc (2.7.2.3-3) unstable; urgency=low
+
+ * Added patches for m68k
+ * Added patches for sparc (#13968)
+
+ -- Galen Hazelwood <galenh@micron.net> Fri, 17 Oct 1997 18:25:21 -0600
+
+gcc (2.7.2.3-2) unstable; urgency=low
+
+ * Added g77 support (g77 0.5.21)
+
+ -- Galen Hazelwood <galenh@micron.net> Wed, 10 Sep 1997 18:44:54 -0600
+
+gcc (2.7.2.3-1) unstable; urgency=low
+
+ * New upstream version
+ * Now using pristine source
+ * Removed misplaced paragraph in cpp.texi (#10877)
+ * Fix security bug for temporary files (#5298)
+ * Added Suggests: libg++-dev (#12335)
+ * Patched objc/thr-posix.c to support conditions (#12502)
+
+ -- Galen Hazelwood <galenh@micron.net> Mon, 8 Sep 1997 12:20:07 -0600
+
+gcc (2.7.2.2-7) unstable; urgency=low
+
+ * Made cc and c++ managed through alternates mechanism (for egcs)
+
+ -- Galen Hazelwood <galenh@micron.net> Tue, 19 Aug 1997 22:37:03 +0000
+
+gcc (2.7.2.2-6) unstable; urgency=low
+
+ * Tweaked Objective-C thread support (#11069)
+
+ -- Galen Hazelwood <galenh@micron.net> Wed, 9 Jul 1997 11:56:57 -0600
+
+gcc (2.7.2.2-5) unstable; urgency=low
+
+ * More updated m68k patches
+ * Now conflicts with libc5-dev (#10006, #10112)
+ * More strict Depends: cpp, prevents version mismatch (#9954)
+
+ -- Galen Hazelwood <galenh@micron.net> Thu, 19 Jun 1997 01:29:02 -0600
+
+gcc (2.7.2.2-4) unstable; urgency=low
+
+ * Moved to unstable
+ * Temporarily removed fortran support (waiting for new g77)
+ * Updated m68k patches
+
+ -- Galen Hazelwood <galenh@micron.net> Fri, 9 May 1997 13:35:14 -0600
+
+gcc (2.7.2.2-3) experimental; urgency=low
+
+ * Built against libc6 (fixes bug #8511)
+
+ -- Galen Hazelwood <galenh@micron.net> Fri, 4 Apr 1997 13:30:10 -0700
+
+gcc (2.7.2.2-2) experimental; urgency=low
+
+ * Fixed configure to build crt{begin,end}S.o on i386
+
+ -- Galen Hazelwood <galenh@micron.net> Tue, 11 Mar 1997 16:15:02 -0700
+
+gcc (2.7.2.2-1) experimental; urgency=low
+
+ * Built for use with libc6-dev (experimental purposes only!)
+ * Added m68k patches from Andreas Schwab
+
+ -- Galen Hazelwood <galenh@micron.net> Fri, 7 Mar 1997 12:44:17 -0700
+
+gcc (2.7.2.1-7) unstable; urgency=low
+
+ * Patched to support g77 0.5.20
+
+ -- Galen Hazelwood <galenh@micron.net> Thu, 6 Mar 1997 22:20:23 -0700
+
+gcc (2.7.2.1-6) unstable; urgency=low
+
+ * Added (small) manpage for protoize/unprotoize (fixes bug #6904)
+ * Removed -lieee from specs file (fixes bug #7741)
+ * No longer builds aout-gcc
+
+ -- Galen Hazelwood <galenh@micron.net> Mon, 3 Mar 1997 11:10:20 -0700
+
+gcc (2.7.2.1-5) unstable; urgency=low
+
+ * debian/control now lists cpp in section "interpreters"
+ * Re-added Objective-c patches for unstable
+
+ -- Galen Hazelwood <galenh@micron.net> Wed, 22 Jan 1997 10:27:52 -0700
+
+gcc (2.7.2.1-4) stable unstable; urgency=low
+
+ * Changed original source file so dpkg-source -x works
+ * Removed Objective-c patches (unsafe for stable)
+ * Built against rex's libc, so fixes placed in -3 are available to
+ those still using rex
+
+ -- Galen Hazelwood <galenh@micron.net> Tue, 21 Jan 1997 11:11:53 -0700
+
+gcc (2.7.2.1-3) unstable; urgency=low
+
+ * New (temporary) maintainer
+ * Updated to new standards and source format
+ * Integrated aout-gcc into gcc source package
+ * Demoted aout-gcc to Priority "extra"
+ * cpp package description more clear (fixes bug #5428)
+ * Removed cpp "Replaces: gcc" (fixes bug #5762)
+ * Minor fix to invoke.texi (fixes bug #2909)
+ * Added latest Objective-C patches for GNUstep people (fixes bug #4657)
+
+ -- Galen Hazelwood <galenh@micron.net> Sun, 5 Jan 1997 09:57:36 -0700
--- /dev/null
+Source: gcc-8
+Section: devel
+Priority: optional
+Maintainer: Debian GCC Maintainers <debian-gcc@lists.debian.org>
+Uploaders: Matthias Klose <doko@debian.org>
+Standards-Version: 4.3.0
+Build-Depends: debhelper (>= 9.20141010), dpkg-dev (>= 1.17.14), g++-multilib [amd64 i386 kfreebsd-amd64 mips mips64 mips64el mips64r6 mips64r6el mipsel mipsn32 mipsn32el mipsn32r6 mipsn32r6el mipsr6 mipsr6el powerpc ppc64 s390 s390x sparc sparc64 x32] <!cross>,
+ libc6.1-dev (>= 2.13-5) [alpha ia64] | libc0.3-dev (>= 2.13-5) [hurd-i386] | libc0.1-dev (>= 2.13-5) [kfreebsd-i386 kfreebsd-amd64] | libc6-dev (>= 2.13-5), libc6-dev (>= 2.13-31) [armel armhf], libc6-dev-amd64 [i386 x32], libc6-dev-sparc64 [sparc], libc6-dev-sparc [sparc64], libc6-dev-s390 [s390x], libc6-dev-s390x [s390], libc6-dev-i386 [amd64 x32], libc6-dev-powerpc [ppc64], libc6-dev-ppc64 [powerpc], libc0.1-dev-i386 [kfreebsd-amd64], lib32gcc1 [amd64 ppc64 kfreebsd-amd64 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el s390x sparc64 x32], libn32gcc1 [mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el], lib64gcc1 [i386 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el powerpc sparc s390 x32], libc6-dev-mips64 [mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el], libc6-dev-mipsn32 [mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el], libc6-dev-mips32 [mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el], libc6-dev-x32 [amd64 i386], libx32gcc1 [amd64 i386], libc6.1-dbg [alpha ia64] | libc0.3-dbg [hurd-i386] | libc0.1-dbg [kfreebsd-i386 kfreebsd-amd64] | libc6-dbg,
+ kfreebsd-kernel-headers (>= 0.84) [kfreebsd-any], linux-libc-dev [m68k],
+ m4, libtool, autoconf2.64,
+ dwz, libunwind8-dev [ia64], libatomic-ops-dev [ia64],
+ gawk, lzma, xz-utils, patchutils,
+ zlib1g-dev, systemtap-sdt-dev [linux-any kfreebsd-any hurd-any],
+ binutils:native (>= 2.30) | binutils-multiarch:native (>= 2.30), binutils-hppa64-linux-gnu:native (>= 2.30) [hppa amd64 i386 x32],
+ gperf (>= 3.0.1), bison (>= 1:2.3), flex, gettext,
+ gdb:native [!riscv64], nvptx-tools [amd64],
+ texinfo (>= 4.3), locales-all, sharutils,
+ procps, gnat-8:native [!m32r !riscv64 !sh3 !sh3eb !sh4eb !m68k !powerpcspe], g++-8:native, netbase,
+ libisl-dev (>= 0.20), libmpc-dev (>= 1.0), libmpfr-dev (>= 3.0.0-9~), libgmp-dev (>= 2:5.0.1~), lib32z1-dev [amd64 kfreebsd-amd64], lib64z1-dev [i386],
+ dejagnu [!m68k !hurd-amd64 !hurd-i386 !hurd-alpha !kfreebsd-amd64 !kfreebsd-i386 !kfreebsd-alpha] <!nocheck>, coreutils (>= 2.26) | realpath (>= 1.9.12), chrpath, lsb-release, quilt,
+ pkg-config, libgc-dev,
+ g++-8-alpha-linux-gnu [alpha] <cross>, gobjc-8-alpha-linux-gnu [alpha] <cross>, gfortran-8-alpha-linux-gnu [alpha] <cross>, gdc-8-alpha-linux-gnu [alpha] <cross>, gccgo-8-alpha-linux-gnu [alpha] <cross>, gnat-8-alpha-linux-gnu [alpha] <cross>, g++-8-x86-64-linux-gnu [amd64] <cross>, gobjc-8-x86-64-linux-gnu [amd64] <cross>, gfortran-8-x86-64-linux-gnu [amd64] <cross>, gdc-8-x86-64-linux-gnu [amd64] <cross>, gccgo-8-x86-64-linux-gnu [amd64] <cross>, gnat-8-x86-64-linux-gnu [amd64] <cross>, g++-8-arm-linux-gnueabi [armel] <cross>, gobjc-8-arm-linux-gnueabi [armel] <cross>, gfortran-8-arm-linux-gnueabi [armel] <cross>, gdc-8-arm-linux-gnueabi [armel] <cross>, gccgo-8-arm-linux-gnueabi [armel] <cross>, gnat-8-arm-linux-gnueabi [armel] <cross>, g++-8-arm-linux-gnueabihf [armhf] <cross>, gobjc-8-arm-linux-gnueabihf [armhf] <cross>, gfortran-8-arm-linux-gnueabihf [armhf] <cross>, gdc-8-arm-linux-gnueabihf [armhf] <cross>, gccgo-8-arm-linux-gnueabihf [armhf] <cross>, gnat-8-arm-linux-gnueabihf [armhf] <cross>, g++-8-aarch64-linux-gnu [arm64] <cross>, gobjc-8-aarch64-linux-gnu [arm64] <cross>, gfortran-8-aarch64-linux-gnu [arm64] <cross>, gdc-8-aarch64-linux-gnu [arm64] <cross>, gccgo-8-aarch64-linux-gnu [arm64] <cross>, gnat-8-aarch64-linux-gnu [arm64] <cross>, g++-8-i686-linux-gnu [i386] <cross>, gobjc-8-i686-linux-gnu [i386] <cross>, gfortran-8-i686-linux-gnu [i386] <cross>, gdc-8-i686-linux-gnu [i386] <cross>, gccgo-8-i686-linux-gnu [i386] <cross>, gnat-8-i686-linux-gnu [i386] <cross>, g++-8-mips-linux-gnu [mips] <cross>, gobjc-8-mips-linux-gnu [mips] <cross>, gfortran-8-mips-linux-gnu [mips] <cross>, gdc-8-mips-linux-gnu [mips] <cross>, gccgo-8-mips-linux-gnu [mips] <cross>, gnat-8-mips-linux-gnu [mips] <cross>, g++-8-mipsel-linux-gnu [mipsel] <cross>, gobjc-8-mipsel-linux-gnu [mipsel] <cross>, gfortran-8-mipsel-linux-gnu [mipsel] <cross>, gdc-8-mipsel-linux-gnu [mipsel] <cross>, gccgo-8-mipsel-linux-gnu [mipsel] <cross>, gnat-8-mipsel-linux-gnu [mipsel] <cross>, g++-8-mips64-linux-gnuabi64 [mips64] <cross>, gobjc-8-mips64-linux-gnuabi64 [mips64] <cross>, gfortran-8-mips64-linux-gnuabi64 [mips64] <cross>, gdc-8-mips64-linux-gnuabi64 [mips64] <cross>, gccgo-8-mips64-linux-gnuabi64 [mips64] <cross>, gnat-8-mips64-linux-gnuabi64 [mips64] <cross>, g++-8-mips64el-linux-gnuabi64 [mips64el] <cross>, gobjc-8-mips64el-linux-gnuabi64 [mips64el] <cross>, gfortran-8-mips64el-linux-gnuabi64 [mips64el] <cross>, gdc-8-mips64el-linux-gnuabi64 [mips64el] <cross>, gccgo-8-mips64el-linux-gnuabi64 [mips64el] <cross>, gnat-8-mips64el-linux-gnuabi64 [mips64el] <cross>, g++-8-mips64-linux-gnuabin32 [mipsn32] <cross>, gobjc-8-mips64-linux-gnuabin32 [mipsn32] <cross>, gfortran-8-mips64-linux-gnuabin32 [mipsn32] <cross>, gdc-8-mips64-linux-gnuabin32 [mipsn32] <cross>, gccgo-8-mips64-linux-gnuabin32 [mipsn32] <cross>, gnat-8-mips64-linux-gnuabin32 [mipsn32] <cross>, g++-8-powerpc-linux-gnu [powerpc] <cross>, gobjc-8-powerpc-linux-gnu [powerpc] <cross>, gfortran-8-powerpc-linux-gnu [powerpc] <cross>, gdc-8-powerpc-linux-gnu [powerpc] <cross>, gccgo-8-powerpc-linux-gnu [powerpc] <cross>, gnat-8-powerpc-linux-gnu [powerpc] <cross>, g++-8-powerpc-linux-gnuspe [powerpcspe] <cross>, gobjc-8-powerpc-linux-gnuspe [powerpcspe] <cross>, gfortran-8-powerpc-linux-gnuspe [powerpcspe] <cross>, gdc-8-powerpc-linux-gnuspe [powerpcspe] <cross>, gccgo-8-powerpc-linux-gnuspe [powerpcspe] <cross>, gnat-8-powerpc-linux-gnuspe [powerpcspe] <cross>, g++-8-powerpc64-linux-gnu [ppc64] <cross>, gobjc-8-powerpc64-linux-gnu [ppc64] <cross>, gfortran-8-powerpc64-linux-gnu [ppc64] <cross>, gdc-8-powerpc64-linux-gnu [ppc64] <cross>, gccgo-8-powerpc64-linux-gnu [ppc64] <cross>, gnat-8-powerpc64-linux-gnu [ppc64] <cross>, g++-8-powerpc64le-linux-gnu [ppc64el] <cross>, gobjc-8-powerpc64le-linux-gnu [ppc64el] <cross>, gfortran-8-powerpc64le-linux-gnu [ppc64el] <cross>, gdc-8-powerpc64le-linux-gnu [ppc64el] <cross>, gccgo-8-powerpc64le-linux-gnu [ppc64el] <cross>, gnat-8-powerpc64le-linux-gnu [ppc64el] <cross>, g++-8-m68k-linux-gnu [m68k] <cross>, gobjc-8-m68k-linux-gnu [m68k] <cross>, gfortran-8-m68k-linux-gnu [m68k] <cross>, gdc-8-m68k-linux-gnu [m68k] <cross>, g++-8-sh4-linux-gnu [sh4] <cross>, gobjc-8-sh4-linux-gnu [sh4] <cross>, gfortran-8-sh4-linux-gnu [sh4] <cross>, gnat-8-sh4-linux-gnu [sh4] <cross>, g++-8-sparc64-linux-gnu [sparc64] <cross>, gobjc-8-sparc64-linux-gnu [sparc64] <cross>, gfortran-8-sparc64-linux-gnu [sparc64] <cross>, gdc-8-sparc64-linux-gnu [sparc64] <cross>, gccgo-8-sparc64-linux-gnu [sparc64] <cross>, gnat-8-sparc64-linux-gnu [sparc64] <cross>, g++-8-s390x-linux-gnu [s390x] <cross>, gobjc-8-s390x-linux-gnu [s390x] <cross>, gfortran-8-s390x-linux-gnu [s390x] <cross>, gdc-8-s390x-linux-gnu [s390x] <cross>, gccgo-8-s390x-linux-gnu [s390x] <cross>, gnat-8-s390x-linux-gnu [s390x] <cross>, g++-8-x86-64-linux-gnux32 [x32] <cross>, gobjc-8-x86-64-linux-gnux32 [x32] <cross>, gfortran-8-x86-64-linux-gnux32 [x32] <cross>, gdc-8-x86-64-linux-gnux32 [x32] <cross>, gccgo-8-x86-64-linux-gnux32 [x32] <cross>, gnat-8-x86-64-linux-gnux32 [x32] <cross>, g++-8-mips64el-linux-gnuabin32 [mipsn32el] <cross>, gobjc-8-mips64el-linux-gnuabin32 [mipsn32el] <cross>, gfortran-8-mips64el-linux-gnuabin32 [mipsn32el] <cross>, gdc-8-mips64el-linux-gnuabin32 [mipsn32el] <cross>, gccgo-8-mips64el-linux-gnuabin32 [mipsn32el] <cross>, gnat-8-mips64el-linux-gnuabin32 [mipsn32el] <cross>, g++-8-mipsisa32r6-linux-gnu [mipsr6] <cross>, gobjc-8-mipsisa32r6-linux-gnu [mipsr6] <cross>, gfortran-8-mipsisa32r6-linux-gnu [mipsr6] <cross>, gdc-8-mipsisa32r6-linux-gnu [mipsr6] <cross>, gccgo-8-mipsisa32r6-linux-gnu [mipsr6] <cross>, gnat-8-mipsisa32r6-linux-gnu [mipsr6] <cross>, g++-8-mipsisa32r6el-linux-gnu [mipsr6el] <cross>, gobjc-8-mipsisa32r6el-linux-gnu [mipsr6el] <cross>, gfortran-8-mipsisa32r6el-linux-gnu [mipsr6el] <cross>, gdc-8-mipsisa32r6el-linux-gnu [mipsr6el] <cross>, gccgo-8-mipsisa32r6el-linux-gnu [mipsr6el] <cross>, gnat-8-mipsisa32r6el-linux-gnu [mipsr6el] <cross>, g++-8-mipsisa64r6-linux-gnuabi64 [mips64r6] <cross>, gobjc-8-mipsisa64r6-linux-gnuabi64 [mips64r6] <cross>, gfortran-8-mipsisa64r6-linux-gnuabi64 [mips64r6] <cross>, gdc-8-mipsisa64r6-linux-gnuabi64 [mips64r6] <cross>, gccgo-8-mipsisa64r6-linux-gnuabi64 [mips64r6] <cross>, gnat-8-mipsisa64r6-linux-gnuabi64 [mips64r6] <cross>, g++-8-mipsisa64r6el-linux-gnuabi64 [mips64r6el] <cross>, gobjc-8-mipsisa64r6el-linux-gnuabi64 [mips64r6el] <cross>, gfortran-8-mipsisa64r6el-linux-gnuabi64 [mips64r6el] <cross>, gdc-8-mipsisa64r6el-linux-gnuabi64 [mips64r6el] <cross>, gccgo-8-mipsisa64r6el-linux-gnuabi64 [mips64r6el] <cross>, gnat-8-mipsisa64r6el-linux-gnuabi64 [mips64r6el] <cross>, g++-8-mipsisa64r6-linux-gnuabin32 [mipsn32r6] <cross>, gobjc-8-mipsisa64r6-linux-gnuabin32 [mipsn32r6] <cross>, gfortran-8-mipsisa64r6-linux-gnuabin32 [mipsn32r6] <cross>, gdc-8-mipsisa64r6-linux-gnuabin32 [mipsn32r6] <cross>, gccgo-8-mipsisa64r6-linux-gnuabin32 [mipsn32r6] <cross>, gnat-8-mipsisa64r6-linux-gnuabin32 [mipsn32r6] <cross>, g++-8-mipsisa64r6el-linux-gnuabin32 [mipsn32r6el] <cross>, gobjc-8-mipsisa64r6el-linux-gnuabin32 [mipsn32r6el] <cross>, gfortran-8-mipsisa64r6el-linux-gnuabin32 [mipsn32r6el] <cross>, gdc-8-mipsisa64r6el-linux-gnuabin32 [mipsn32r6el] <cross>, gccgo-8-mipsisa64r6el-linux-gnuabin32 [mipsn32r6el] <cross>, gnat-8-mipsisa64r6el-linux-gnuabin32 [mipsn32r6el] <cross>,
+Build-Depends-Indep: doxygen (>= 1.7.2), graphviz (>= 2.2), ghostscript, texlive-latex-base, xsltproc, libxml2-utils, docbook-xsl-ns
+Homepage: http://gcc.gnu.org/
+Vcs-Browser: https://salsa.debian.org/toolchain-team/gcc/tree/gcc-8-debian
+Vcs-Git: https://salsa.debian.org/toolchain-team/gcc.git -b gcc-8-debian
+XS-Testsuite: autopkgtest
+
+Package: gcc-8-base
+Architecture: any
+Multi-Arch: same
+Section: libs
+Priority: required
+Depends: ${misc:Depends}
+Replaces: ${base:Replaces}
+Breaks: ${base:Breaks}
+Description: GCC, the GNU Compiler Collection (base package)
+ This package contains files common to all languages and libraries
+ contained in the GNU Compiler Collection (GCC).
+
+Package: libgcc1
+X-DH-Build-For-Type: target
+Architecture: any
+Section: libs
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
+Provides: libgcc1-armel [armel], libgcc1-armhf [armhf]
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Breaks: ${multiarch:breaks}
+Description: GCC support library
+ Shared version of the support library, a library of internal subroutines
+ that GCC uses to overcome shortcomings of particular machines, or
+ special needs for some languages.
+
+Package: libgcc1-dbg
+X-DH-Build-For-Type: target
+Architecture: any
+Section: debug
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), libgcc1 (= ${gcc:EpochVersion}), ${misc:Depends}
+Provides: libgcc1-dbg-armel [armel], libgcc1-dbg-armhf [armhf]
+Multi-Arch: same
+Description: GCC support library (debug symbols)
+ Debug symbols for the GCC support library.
+
+Package: libgcc2
+X-DH-Build-For-Type: target
+Architecture: m68k
+Section: libs
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Breaks: ${multiarch:breaks}
+Description: GCC support library
+ Shared version of the support library, a library of internal subroutines
+ that GCC uses to overcome shortcomings of particular machines, or
+ special needs for some languages.
+
+Package: libgcc2-dbg
+X-DH-Build-For-Type: target
+Architecture: m68k
+Section: debug
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), libgcc2 (= ${gcc:EpochVersion}), ${misc:Depends}
+Multi-Arch: same
+Description: GCC support library (debug symbols)
+ Debug symbols for the GCC support library.
+
+Package: libgcc-8-dev
+X-DH-Build-For-Type: target
+Architecture: any
+Section: libdevel
+Priority: optional
+Recommends: ${dep:libcdev}
+Depends: gcc-8-base (= ${gcc:Version}), ${dep:libgcc}, ${dep:libssp}, ${dep:libgomp}, ${dep:libitm},
+ ${dep:libatomic}, ${dep:libbtrace}, ${dep:libasan}, ${dep:liblsan},
+ ${dep:libtsan}, ${dep:libubsan}, ${dep:libvtv},
+ ${dep:libmpx},
+ ${dep:libqmath}, ${dep:libunwinddev}, ${shlibs:Depends}, ${misc:Depends}
+Multi-Arch: same
+Replaces: gccgo-8 (<< ${gcc:Version})
+Description: GCC support library (development files)
+ This package contains the headers and static library files necessary for
+ building C programs which use libgcc, libgomp, libquadmath, libssp or libitm.
+
+Package: libgcc4
+X-DH-Build-For-Type: target
+Architecture: hppa
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Breaks: ${multiarch:breaks}
+Section: libs
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
+Description: GCC support library
+ Shared version of the support library, a library of internal subroutines
+ that GCC uses to overcome shortcomings of particular machines, or
+ special needs for some languages.
+
+Package: libgcc4-dbg
+X-DH-Build-For-Type: target
+Architecture: hppa
+Multi-Arch: same
+Section: debug
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), libgcc4 (= ${gcc:EpochVersion}), ${misc:Depends}
+Description: GCC support library (debug symbols)
+ Debug symbols for the GCC support library.
+
+Package: lib64gcc1
+X-DH-Build-For-Type: target
+Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32
+Section: libs
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), ${dep:libcbiarch}, ${misc:Depends}
+Conflicts: libgcc1 (<= 1:3.3-0pre9)
+Description: GCC support library (64bit)
+ Shared version of the support library, a library of internal subroutines
+ that GCC uses to overcome shortcomings of particular machines, or
+ special needs for some languages.
+
+Package: lib64gcc1-dbg
+X-DH-Build-For-Type: target
+Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32
+Section: debug
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), lib64gcc1 (= ${gcc:EpochVersion}), ${misc:Depends}
+Description: GCC support library (debug symbols)
+ Debug symbols for the GCC support library.
+
+Package: lib64gcc-8-dev
+X-DH-Build-For-Type: target
+Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32
+Section: libdevel
+Priority: optional
+Recommends: ${dep:libcdev}
+Depends: gcc-8-base (= ${gcc:Version}), ${dep:libgccbiarch}, ${dep:libsspbiarch},
+ ${dep:libgompbiarch}, ${dep:libitmbiarch}, ${dep:libatomicbiarch},
+ ${dep:libbtracebiarch}, ${dep:libasanbiarch}, ${dep:liblsanbiarch},
+ ${dep:libtsanbiarch}, ${dep:libubsanbiarch},
+ ${dep:libvtvbiarch}, ${dep:libmpxbiarch},
+ ${dep:libqmathbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Replaces: gccgo-8-multilib (<< ${gcc:Version})
+Description: GCC support library (64bit development files)
+ This package contains the headers and static library files necessary for
+ building C programs which use libgcc, libgomp, libquadmath, libssp or libitm.
+
+Package: lib32gcc1
+X-DH-Build-For-Type: target
+Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el
+Section: libs
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), ${dep:libcbiarch}, ${misc:Depends}
+Conflicts: ${confl:lib32}
+Description: GCC support library (32 bit Version)
+ Shared version of the support library, a library of internal subroutines
+ that GCC uses to overcome shortcomings of particular machines, or
+ special needs for some languages.
+
+Package: lib32gcc1-dbg
+X-DH-Build-For-Type: target
+Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el
+Section: debug
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), lib32gcc1 (= ${gcc:EpochVersion}), ${misc:Depends}
+Description: GCC support library (debug symbols)
+ Debug symbols for the GCC support library.
+
+Package: lib32gcc-8-dev
+X-DH-Build-For-Type: target
+Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el
+Section: libdevel
+Priority: optional
+Recommends: ${dep:libcdev}
+Depends: gcc-8-base (= ${gcc:Version}), ${dep:libgccbiarch}, ${dep:libsspbiarch},
+ ${dep:libgompbiarch}, ${dep:libitmbiarch}, ${dep:libatomicbiarch},
+ ${dep:libbtracebiarch}, ${dep:libasanbiarch}, ${dep:liblsanbiarch},
+ ${dep:libtsanbiarch}, ${dep:libubsanbiarch},
+ ${dep:libvtvbiarch}, ${dep:libmpxbiarch},
+ ${dep:libqmathbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Replaces: gccgo-8-multilib (<< ${gcc:Version})
+Description: GCC support library (32 bit development files)
+ This package contains the headers and static library files necessary for
+ building C programs which use libgcc, libgomp, libquadmath, libssp or libitm.
+
+Package: libn32gcc1
+X-DH-Build-For-Type: target
+Architecture: mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el
+Section: libs
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), ${dep:libcbiarch}, ${misc:Depends}
+Conflicts: libgcc1 (<= 1:3.3-0pre9)
+Description: GCC support library (n32)
+ Shared version of the support library, a library of internal subroutines
+ that GCC uses to overcome shortcomings of particular machines, or
+ special needs for some languages.
+
+Package: libn32gcc1-dbg
+X-DH-Build-For-Type: target
+Architecture: mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el
+Section: debug
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), libn32gcc1 (= ${gcc:EpochVersion}), ${misc:Depends}
+Description: GCC support library (debug symbols)
+ Debug symbols for the GCC support library.
+
+Package: libn32gcc-8-dev
+X-DH-Build-For-Type: target
+Architecture: mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el
+Section: libdevel
+Priority: optional
+Recommends: ${dep:libcdev}
+Depends: gcc-8-base (= ${gcc:Version}), ${dep:libgccbiarch}, ${dep:libsspbiarch},
+ ${dep:libgompbiarch}, ${dep:libitmbiarch}, ${dep:libatomicbiarch},
+ ${dep:libbtracebiarch}, ${dep:libasanbiarch}, ${dep:liblsanbiarch},
+ ${dep:libtsanbiarch}, ${dep:libubsanbiarch},
+ ${dep:libvtvbiarch}, ${dep:libmpxbiarch},
+ ${dep:libqmathbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Replaces: gccgo-8-multilib (<< ${gcc:Version})
+Description: GCC support library (n32 development files)
+ This package contains the headers and static library files necessary for
+ building C programs which use libgcc, libgomp, libquadmath, libssp or libitm.
+
+Package: libx32gcc1
+X-DH-Build-For-Type: target
+Architecture: amd64 i386
+Section: libs
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), ${dep:libcbiarch}, ${misc:Depends}
+Description: GCC support library (x32)
+ Shared version of the support library, a library of internal subroutines
+ that GCC uses to overcome shortcomings of particular machines, or
+ special needs for some languages.
+
+Package: libx32gcc1-dbg
+X-DH-Build-For-Type: target
+Architecture: amd64 i386
+Section: debug
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), libx32gcc1 (= ${gcc:EpochVersion}), ${misc:Depends}
+Description: GCC support library (debug symbols)
+ Debug symbols for the GCC support library.
+
+Package: libx32gcc-8-dev
+X-DH-Build-For-Type: target
+Architecture: amd64 i386
+Section: libdevel
+Priority: optional
+Recommends: ${dep:libcdev}
+Depends: gcc-8-base (= ${gcc:Version}), ${dep:libgccbiarch}, ${dep:libsspbiarch},
+ ${dep:libgompbiarch}, ${dep:libitmbiarch}, ${dep:libatomicbiarch},
+ ${dep:libbtracebiarch}, ${dep:libasanbiarch}, ${dep:liblsanbiarch},
+ ${dep:libtsanbiarch}, ${dep:libubsanbiarch},
+ ${dep:libvtvbiarch}, ${dep:libmpxbiarch},
+ ${dep:libqmathbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Replaces: gccgo-8-multilib (<< ${gcc:Version})
+Description: GCC support library (x32 development files)
+ This package contains the headers and static library files necessary for
+ building C programs which use libgcc, libgomp, libquadmath, libssp or libitm.
+
+Package: gcc-8
+Architecture: any
+Section: devel
+Priority: optional
+Depends: cpp-8 (= ${gcc:Version}), gcc-8-base (= ${gcc:Version}),
+ ${dep:libcc1},
+ binutils (>= ${binutils:Version}),
+ ${dep:libgccdev}, ${shlibs:Depends}, ${misc:Depends}
+Recommends: ${dep:libcdev}
+Replaces: gccgo-8 (<< ${gcc:Version}), cpp-8 (<< 7.1.1-8)
+Suggests: ${gcc:multilib}, gcc-8-doc (>= ${gcc:SoftVersion}),
+ gcc-8-locales (>= ${gcc:SoftVersion}),
+ libgcc1-dbg (>= ${libgcc:Version}),
+ libgomp1-dbg (>= ${gcc:Version}),
+ libitm1-dbg (>= ${gcc:Version}),
+ libatomic1-dbg (>= ${gcc:Version}),
+ libasan5-dbg (>= ${gcc:Version}),
+ liblsan0-dbg (>= ${gcc:Version}),
+ libtsan0-dbg (>= ${gcc:Version}),
+ libubsan1-dbg (>= ${gcc:Version}),
+ libmpx2-dbg (>= ${gcc:Version}),
+ libquadmath0-dbg (>= ${gcc:Version})
+Provides: c-compiler
+Description: GNU C compiler
+ This is the GNU C compiler, a fairly portable optimizing compiler for C.
+
+Package: gcc-8-multilib
+Architecture: amd64 i386 kfreebsd-amd64 mips mips64 mips64el mips64r6 mips64r6el mipsel mipsn32 mipsn32el mipsn32r6 mipsn32r6el mipsr6 mipsr6el powerpc ppc64 s390 s390x sparc sparc64 x32
+Section: devel
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), gcc-8 (= ${gcc:Version}), ${dep:libcbiarchdev}, ${dep:libgccbiarchdev}, ${shlibs:Depends}, ${misc:Depends}
+Description: GNU C compiler (multilib support)
+ This is the GNU C compiler, a fairly portable optimizing compiler for C.
+ .
+ This is a dependency package, depending on development packages
+ for the non-default multilib architecture(s).
+
+Package: gcc-8-test-results
+Architecture: any
+Section: devel
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), ${misc:Depends}
+Replaces: g++-5 (<< 5.2.1-28)
+Description: Test results for the GCC test suite
+ This package contains the test results for running the GCC test suite
+ for a post build analysis.
+
+Package: gcc-8-plugin-dev
+Architecture: any
+Section: devel
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), gcc-8 (= ${gcc:Version}), libgmp-dev (>= 2:5.0.1~), libmpc-dev (>= 1.0), ${shlibs:Depends}, ${misc:Depends}
+Description: Files for GNU GCC plugin development.
+ This package contains (header) files for GNU GCC plugin development. It
+ is only used for the development of GCC plugins, but not needed to run
+ plugins.
+
+Package: gcc-8-hppa64-linux-gnu
+Architecture: hppa amd64 i386 x32
+Section: devel
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), gcc-8 (= ${gcc:Version}),
+ binutils-hppa64-linux-gnu | binutils-hppa64,
+ ${shlibs:Depends}, ${misc:Depends}
+Description: GNU C compiler (cross compiler for hppa64)
+ This is the GNU C compiler, a fairly portable optimizing compiler for C.
+
+Package: cpp-8
+Architecture: any
+Section: interpreters
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
+Suggests: gcc-8-locales (>= ${gcc:SoftVersion})
+Replaces: gccgo-8 (<< ${gcc:Version})
+Breaks: libmagics++-dev (<< 2.28.0-4), hardening-wrapper (<< 2.8+nmu3)
+Description: GNU C preprocessor
+ A macro processor that is used automatically by the GNU C compiler
+ to transform programs before actual compilation.
+ .
+ This package has been separated from gcc for the benefit of those who
+ require the preprocessor but not the compiler.
+
+Package: gcc-8-locales
+Architecture: all
+Section: devel
+Priority: optional
+Depends: gcc-8-base (>= ${gcc:SoftVersion}), cpp-8 (>= ${gcc:SoftVersion}), ${misc:Depends}
+Recommends: gcc-8 (>= ${gcc:SoftVersion})
+Description: GCC, the GNU compiler collection (native language support files)
+ Native language support for GCC. Lets GCC speak your language,
+ if translations are available.
+ .
+ Please do NOT submit bug reports in other languages than "C".
+ Always reset your language settings to use the "C" locales.
+
+Package: g++-8
+Architecture: any
+Section: devel
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), gcc-8 (= ${gcc:Version}), libstdc++-8-dev (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
+Provides: c++-compiler, c++abi2-dev
+Suggests: ${gxx:multilib}, gcc-8-doc (>= ${gcc:SoftVersion}), libstdc++6-8-dbg (>= ${gcc:Version})
+Description: GNU C++ compiler
+ This is the GNU C++ compiler, a fairly portable optimizing compiler for C++.
+
+Package: g++-8-multilib
+Architecture: amd64 i386 kfreebsd-amd64 mips mips64 mips64el mips64r6 mips64r6el mipsel mipsn32 mipsn32el mipsn32r6 mipsn32r6el mipsr6 mipsr6el powerpc ppc64 s390 s390x sparc sparc64 x32
+Section: devel
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), g++-8 (= ${gcc:Version}), gcc-8-multilib (= ${gcc:Version}), ${dep:libcxxbiarchdev}, ${shlibs:Depends}, ${misc:Depends}
+Suggests: ${dep:libcxxbiarchdbg}
+Description: GNU C++ compiler (multilib support)
+ This is the GNU C++ compiler, a fairly portable optimizing compiler for C++.
+ .
+ This is a dependency package, depending on development packages
+ for the non-default multilib architecture(s).
+
+Package: libgomp1
+X-DH-Build-For-Type: target
+Section: libs
+Architecture: any
+Provides: libgomp1-armel [armel], libgomp1-armhf [armhf]
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Breaks: ${multiarch:breaks}
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
+Description: GCC OpenMP (GOMP) support library
+ GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers
+ in the GNU Compiler Collection.
+
+Package: libgomp1-dbg
+X-DH-Build-For-Type: target
+Architecture: any
+Section: debug
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), libgomp1 (= ${gcc:Version}), ${misc:Depends}
+Provides: libgomp1-dbg-armel [armel], libgomp1-dbg-armhf [armhf]
+Multi-Arch: same
+Description: GCC OpenMP (GOMP) support library (debug symbols)
+ GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers
+ in the GNU Compiler Collection.
+
+Package: lib32gomp1
+X-DH-Build-For-Type: target
+Section: libs
+Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Conflicts: ${confl:lib32}
+Description: GCC OpenMP (GOMP) support library (32bit)
+ GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers
+ in the GNU Compiler Collection.
+
+Package: lib32gomp1-dbg
+X-DH-Build-For-Type: target
+Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el
+Section: debug
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), lib32gomp1 (= ${gcc:Version}), ${misc:Depends}
+Description: GCC OpenMP (GOMP) support library (32 bit debug symbols)
+ GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers
+ in the GNU Compiler Collection.
+
+Package: lib64gomp1
+X-DH-Build-For-Type: target
+Section: libs
+Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Description: GCC OpenMP (GOMP) support library (64bit)
+ GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers
+ in the GNU Compiler Collection.
+
+Package: lib64gomp1-dbg
+X-DH-Build-For-Type: target
+Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32
+Section: debug
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), lib64gomp1 (= ${gcc:Version}), ${misc:Depends}
+Description: GCC OpenMP (GOMP) support library (64bit debug symbols)
+ GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers
+ in the GNU Compiler Collection.
+
+Package: libn32gomp1
+X-DH-Build-For-Type: target
+Section: libs
+Architecture: mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Description: GCC OpenMP (GOMP) support library (n32)
+ GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers
+ in the GNU Compiler Collection.
+
+Package: libn32gomp1-dbg
+X-DH-Build-For-Type: target
+Architecture: mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el
+Section: debug
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), libn32gomp1 (= ${gcc:Version}), ${misc:Depends}
+Description: GCC OpenMP (GOMP) support library (n32 debug symbols)
+ GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers
+
+Package: libx32gomp1
+X-DH-Build-For-Type: target
+Section: libs
+Architecture: amd64 i386
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Description: GCC OpenMP (GOMP) support library (x32)
+ GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers
+ in the GNU Compiler Collection.
+
+Package: libx32gomp1-dbg
+X-DH-Build-For-Type: target
+Architecture: amd64 i386
+Section: debug
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), libx32gomp1 (= ${gcc:Version}), ${misc:Depends}
+Description: GCC OpenMP (GOMP) support library (x32 debug symbols)
+ GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers
+
+Package: libitm1
+X-DH-Build-For-Type: target
+Section: libs
+Architecture: any
+Provides: libitm1-armel [armel], libitm1-armhf [armhf]
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
+Description: GNU Transactional Memory Library
+ GNU Transactional Memory Library (libitm) provides transaction support for
+ accesses to the memory of a process, enabling easy-to-use synchronization of
+ accesses to shared memory by several threads.
+
+Package: libitm1-dbg
+X-DH-Build-For-Type: target
+Architecture: any
+Section: debug
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), libitm1 (= ${gcc:Version}), ${misc:Depends}
+Provides: libitm1-dbg-armel [armel], libitm1-dbg-armhf [armhf]
+Multi-Arch: same
+Description: GNU Transactional Memory Library (debug symbols)
+ GNU Transactional Memory Library (libitm) provides transaction support for
+ accesses to the memory of a process, enabling easy-to-use synchronization of
+ accesses to shared memory by several threads.
+
+Package: lib32itm1
+X-DH-Build-For-Type: target
+Section: libs
+Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Conflicts: ${confl:lib32}
+Description: GNU Transactional Memory Library (32bit)
+ GNU Transactional Memory Library (libitm) provides transaction support for
+ accesses to the memory of a process, enabling easy-to-use synchronization of
+ accesses to shared memory by several threads.
+
+Package: lib32itm1-dbg
+X-DH-Build-For-Type: target
+Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el
+Section: debug
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), lib32itm1 (= ${gcc:Version}), ${misc:Depends}
+Description: GNU Transactional Memory Library (32 bit debug symbols)
+ GNU Transactional Memory Library (libitm) provides transaction support for
+ accesses to the memory of a process, enabling easy-to-use synchronization of
+ accesses to shared memory by several threads.
+
+Package: lib64itm1
+X-DH-Build-For-Type: target
+Section: libs
+Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Description: GNU Transactional Memory Library (64bit)
+ GNU Transactional Memory Library (libitm) provides transaction support for
+ accesses to the memory of a process, enabling easy-to-use synchronization of
+ accesses to shared memory by several threads.
+
+Package: lib64itm1-dbg
+X-DH-Build-For-Type: target
+Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32
+Section: debug
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), lib64itm1 (= ${gcc:Version}), ${misc:Depends}
+Description: GNU Transactional Memory Library (64bit debug symbols)
+ GNU Transactional Memory Library (libitm) provides transaction support for
+ accesses to the memory of a process, enabling easy-to-use synchronization of
+ accesses to shared memory by several threads.
+
+#Package: libn32itm`'ITM_SO`'LS
+#Section: ifdef(`TARGET',`devel',`libs')
+#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs')
+#Priority: optional
+#Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+#BUILT_USING`'dnl
+#Description: GNU Transactional Memory Library (n32)
+# GNU Transactional Memory Library (libitm) provides transaction support for
+# accesses to the memory of a process, enabling easy-to-use synchronization of
+# accesses to shared memory by several threads.
+
+#Package: libn32itm`'ITM_SO-dbg`'LS
+#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs')
+#Section: debug
+#Priority: optional
+#Depends: BASELDEP, libdep(itm`'ITM_SO,n32,=), ${misc:Depends}
+#BUILT_USING`'dnl
+#Description: GNU Transactional Memory Library (n32 debug symbols)
+# GNU Transactional Memory Library (libitm) provides transaction support for
+# accesses to the memory of a process, enabling easy-to-use synchronization of
+# accesses to shared memory by several threads.
+
+Package: libx32itm1
+X-DH-Build-For-Type: target
+Section: libs
+Architecture: amd64 i386
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Description: GNU Transactional Memory Library (x32)
+ This manual documents the usage and internals of libitm. It provides
+ transaction support for accesses to the memory of a process, enabling
+ easy-to-use synchronization of accesses to shared memory by several threads.
+
+Package: libx32itm1-dbg
+X-DH-Build-For-Type: target
+Architecture: amd64 i386
+Section: debug
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), libx32itm1 (= ${gcc:Version}), ${misc:Depends}
+Description: GNU Transactional Memory Library (x32 debug symbols)
+ This manual documents the usage and internals of libitm. It provides
+ transaction support for accesses to the memory of a process, enabling
+ easy-to-use synchronization of accesses to shared memory by several threads.
+
+Package: libatomic1
+X-DH-Build-For-Type: target
+Section: libs
+Architecture: any
+Provides: libatomic1-armel [armel], libatomic1-armhf [armhf]
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
+Description: support library providing __atomic built-in functions
+ library providing __atomic built-in functions. When an atomic call cannot
+ be turned into lock-free instructions, GCC will make calls into this library.
+
+Package: libatomic1-dbg
+X-DH-Build-For-Type: target
+Architecture: any
+Section: debug
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), libatomic1 (= ${gcc:Version}), ${misc:Depends}
+Provides: libatomic1-dbg-armel [armel], libatomic1-dbg-armhf [armhf]
+Multi-Arch: same
+Description: support library providing __atomic built-in functions (debug symbols)
+ library providing __atomic built-in functions. When an atomic call cannot
+ be turned into lock-free instructions, GCC will make calls into this library.
+
+Package: lib32atomic1
+X-DH-Build-For-Type: target
+Section: libs
+Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Conflicts: ${confl:lib32}
+Description: support library providing __atomic built-in functions (32bit)
+ library providing __atomic built-in functions. When an atomic call cannot
+ be turned into lock-free instructions, GCC will make calls into this library.
+
+Package: lib32atomic1-dbg
+X-DH-Build-For-Type: target
+Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el
+Section: debug
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), lib32atomic1 (= ${gcc:Version}), ${misc:Depends}
+Description: support library providing __atomic built-in functions (32 bit debug symbols)
+ library providing __atomic built-in functions. When an atomic call cannot
+ be turned into lock-free instructions, GCC will make calls into this library.
+
+Package: lib64atomic1
+X-DH-Build-For-Type: target
+Section: libs
+Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Description: support library providing __atomic built-in functions (64bit)
+ library providing __atomic built-in functions. When an atomic call cannot
+ be turned into lock-free instructions, GCC will make calls into this library.
+
+Package: lib64atomic1-dbg
+X-DH-Build-For-Type: target
+Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32
+Section: debug
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), lib64atomic1 (= ${gcc:Version}), ${misc:Depends}
+Description: support library providing __atomic built-in functions (64bit debug symbols)
+ library providing __atomic built-in functions. When an atomic call cannot
+ be turned into lock-free instructions, GCC will make calls into this library.
+
+Package: libn32atomic1
+X-DH-Build-For-Type: target
+Section: libs
+Architecture: mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Description: support library providing __atomic built-in functions (n32)
+ library providing __atomic built-in functions. When an atomic call cannot
+ be turned into lock-free instructions, GCC will make calls into this library.
+
+Package: libn32atomic1-dbg
+X-DH-Build-For-Type: target
+Architecture: mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el
+Section: debug
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), libn32atomic1 (= ${gcc:Version}), ${misc:Depends}
+Description: support library providing __atomic built-in functions (n32 debug symbols)
+ library providing __atomic built-in functions. When an atomic call cannot
+ be turned into lock-free instructions, GCC will make calls into this library.
+
+Package: libx32atomic1
+X-DH-Build-For-Type: target
+Section: libs
+Architecture: amd64 i386
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Description: support library providing __atomic built-in functions (x32)
+ library providing __atomic built-in functions. When an atomic call cannot
+ be turned into lock-free instructions, GCC will make calls into this library.
+
+Package: libx32atomic1-dbg
+X-DH-Build-For-Type: target
+Architecture: amd64 i386
+Section: debug
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), libx32atomic1 (= ${gcc:Version}), ${misc:Depends}
+Description: support library providing __atomic built-in functions (x32 debug symbols)
+ library providing __atomic built-in functions. When an atomic call cannot
+ be turned into lock-free instructions, GCC will make calls into this library.
+
+Package: libasan5
+X-DH-Build-For-Type: target
+Section: libs
+Architecture: any
+Provides: libasan5-armel [armel], libasan5-armhf [armhf]
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
+Description: AddressSanitizer -- a fast memory error detector
+ AddressSanitizer (ASan) is a fast memory error detector. It finds
+ use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs.
+
+Package: libasan5-dbg
+X-DH-Build-For-Type: target
+Architecture: any
+Section: debug
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), libasan5 (= ${gcc:Version}), ${misc:Depends}
+Provides: libasan5-dbg-armel [armel], libasan5-dbg-armhf [armhf]
+Multi-Arch: same
+Description: AddressSanitizer -- a fast memory error detector (debug symbols)
+ AddressSanitizer (ASan) is a fast memory error detector. It finds
+ use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs.
+
+Package: lib32asan5
+X-DH-Build-For-Type: target
+Section: libs
+Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Conflicts: ${confl:lib32}
+Description: AddressSanitizer -- a fast memory error detector (32bit)
+ AddressSanitizer (ASan) is a fast memory error detector. It finds
+ use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs.
+
+Package: lib32asan5-dbg
+X-DH-Build-For-Type: target
+Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el
+Section: debug
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), lib32asan5 (= ${gcc:Version}), ${misc:Depends}
+Description: AddressSanitizer -- a fast memory error detector (32 bit debug symbols)
+ AddressSanitizer (ASan) is a fast memory error detector. It finds
+ use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs.
+
+Package: lib64asan5
+X-DH-Build-For-Type: target
+Section: libs
+Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Description: AddressSanitizer -- a fast memory error detector (64bit)
+ AddressSanitizer (ASan) is a fast memory error detector. It finds
+ use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs.
+
+Package: lib64asan5-dbg
+X-DH-Build-For-Type: target
+Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32
+Section: debug
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), lib64asan5 (= ${gcc:Version}), ${misc:Depends}
+Description: AddressSanitizer -- a fast memory error detector (64bit debug symbols)
+ AddressSanitizer (ASan) is a fast memory error detector. It finds
+ use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs.
+
+#Package: libn32asan`'ASAN_SO`'LS
+#Section: ifdef(`TARGET',`devel',`libs')
+#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs')
+#Priority: optional
+#Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+#BUILT_USING`'dnl
+#Description: AddressSanitizer -- a fast memory error detector (n32)
+# AddressSanitizer (ASan) is a fast memory error detector. It finds
+# use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs.
+
+#Package: libn32asan`'ASAN_SO-dbg`'LS
+#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs')
+#Section: debug
+#Priority: optional
+#Depends: BASELDEP, libdep(asan`'ASAN_SO,n32,=), ${misc:Depends}
+#BUILT_USING`'dnl
+#Description: AddressSanitizer -- a fast memory error detector (n32 debug symbols)
+# AddressSanitizer (ASan) is a fast memory error detector. It finds
+# use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs.
+
+Package: libx32asan5
+X-DH-Build-For-Type: target
+Section: libs
+Architecture: amd64 i386
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Description: AddressSanitizer -- a fast memory error detector (x32)
+ AddressSanitizer (ASan) is a fast memory error detector. It finds
+ use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs.
+
+Package: libx32asan5-dbg
+X-DH-Build-For-Type: target
+Architecture: amd64 i386
+Section: debug
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), libx32asan5 (= ${gcc:Version}), ${misc:Depends}
+Description: AddressSanitizer -- a fast memory error detector (x32 debug symbols)
+ AddressSanitizer (ASan) is a fast memory error detector. It finds
+ use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs.
+
+Package: liblsan0
+X-DH-Build-For-Type: target
+Section: libs
+Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
+Description: LeakSanitizer -- a memory leak detector (runtime)
+ LeakSanitizer (Lsan) is a memory leak detector which is integrated
+ into AddressSanitizer.
+
+Package: liblsan0-dbg
+X-DH-Build-For-Type: target
+Architecture: any
+Section: debug
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), liblsan0 (= ${gcc:Version}), ${misc:Depends}
+Multi-Arch: same
+Description: LeakSanitizer -- a memory leak detector (debug symbols)
+ LeakSanitizer (Lsan) is a memory leak detector which is integrated
+ into AddressSanitizer.
+
+Package: lib32lsan0
+X-DH-Build-For-Type: target
+Section: libs
+Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Conflicts: ${confl:lib32}
+Description: LeakSanitizer -- a memory leak detector (32bit)
+ LeakSanitizer (Lsan) is a memory leak detector which is integrated
+ into AddressSanitizer (empty package).
+
+Package: lib32lsan0-dbg
+X-DH-Build-For-Type: target
+Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el
+Section: debug
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), lib32lsan0 (= ${gcc:Version}), ${misc:Depends}
+Description: LeakSanitizer -- a memory leak detector (32 bit debug symbols)
+ LeakSanitizer (Lsan) is a memory leak detector which is integrated
+ into AddressSanitizer (empty package).
+
+#Package: lib64lsan`'LSAN_SO`'LS
+#Section: ifdef(`TARGET',`devel',`libs')
+#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs')
+#Priority: optional
+#Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+#BUILT_USING`'dnl
+#Description: LeakSanitizer -- a memory leak detector (64bit)
+# LeakSanitizer (Lsan) is a memory leak detector which is integrated
+# into AddressSanitizer.
+
+#Package: lib64lsan`'LSAN_SO-dbg`'LS
+#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs')
+#Section: debug
+#Priority: optional
+#Depends: BASELDEP, libdep(lsan`'LSAN_SO,64,=), ${misc:Depends}
+#BUILT_USING`'dnl
+#Description: LeakSanitizer -- a memory leak detector (64bit debug symbols)
+# LeakSanitizer (Lsan) is a memory leak detector which is integrated
+# into AddressSanitizer.
+
+#Package: libn32lsan`'LSAN_SO`'LS
+#Section: ifdef(`TARGET',`devel',`libs')
+#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs')
+#Priority: optional
+#Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+#BUILT_USING`'dnl
+#Description: LeakSanitizer -- a memory leak detector (n32)
+# LeakSanitizer (Lsan) is a memory leak detector which is integrated
+# into AddressSanitizer.
+
+#Package: libn32lsan`'LSAN_SO-dbg`'LS
+#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs')
+#Section: debug
+#Priority: optional
+#Depends: BASELDEP, libdep(lsan`'LSAN_SO,n32,=), ${misc:Depends}
+#BUILT_USING`'dnl
+#Description: LeakSanitizer -- a memory leak detector (n32 debug symbols)
+# LeakSanitizer (Lsan) is a memory leak detector which is integrated
+# into AddressSanitizer.
+
+Package: libx32lsan0
+X-DH-Build-For-Type: target
+Section: libs
+Architecture: amd64 i386
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Description: LeakSanitizer -- a memory leak detector (x32)
+ LeakSanitizer (Lsan) is a memory leak detector which is integrated
+ into AddressSanitizer (empty package).
+
+Package: libx32lsan0-dbg
+X-DH-Build-For-Type: target
+Architecture: amd64 i386
+Section: debug
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), libx32lsan0 (= ${gcc:Version}), ${misc:Depends}
+Description: LeakSanitizer -- a memory leak detector (x32 debug symbols)
+ LeakSanitizer (Lsan) is a memory leak detector which is integrated
+ into AddressSanitizer (empty package).
+
+Package: libtsan0
+X-DH-Build-For-Type: target
+Section: libs
+Architecture: any
+Provides: libtsan0-armel [armel], libtsan0-armhf [armhf]
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
+Description: ThreadSanitizer -- a Valgrind-based detector of data races (runtime)
+ ThreadSanitizer (Tsan) is a data race detector for C/C++ programs.
+ The Linux and Mac versions are based on Valgrind.
+
+Package: libtsan0-dbg
+X-DH-Build-For-Type: target
+Architecture: any
+Section: debug
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), libtsan0 (= ${gcc:Version}), ${misc:Depends}
+Provides: libtsan0-dbg-armel [armel], libtsan0-dbg-armhf [armhf]
+Multi-Arch: same
+Description: ThreadSanitizer -- a Valgrind-based detector of data races (debug symbols)
+ ThreadSanitizer (Tsan) is a data race detector for C/C++ programs.
+ The Linux and Mac versions are based on Valgrind.
+
+Package: libubsan1
+X-DH-Build-For-Type: target
+Section: libs
+Architecture: any
+Provides: libubsan1-armel [armel], libubsan1-armhf [armhf]
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
+Description: UBSan -- undefined behaviour sanitizer (runtime)
+ UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined.
+ Various computations will be instrumented to detect undefined behavior
+ at runtime. Available for C and C++.
+
+Package: libubsan1-dbg
+X-DH-Build-For-Type: target
+Architecture: any
+Section: debug
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), libubsan1 (= ${gcc:Version}), ${misc:Depends}
+Provides: libubsan1-dbg-armel [armel], libubsan1-dbg-armhf [armhf]
+Multi-Arch: same
+Description: UBSan -- undefined behaviour sanitizer (debug symbols)
+ UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined.
+ Various computations will be instrumented to detect undefined behavior
+ at runtime. Available for C and C++.
+
+Package: lib32ubsan1
+X-DH-Build-For-Type: target
+Section: libs
+Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Conflicts: ${confl:lib32}
+Description: UBSan -- undefined behaviour sanitizer (32bit)
+ UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined.
+ Various computations will be instrumented to detect undefined behavior
+ at runtime. Available for C and C++.
+
+Package: lib32ubsan1-dbg
+X-DH-Build-For-Type: target
+Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el
+Section: debug
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), lib32ubsan1 (= ${gcc:Version}), ${misc:Depends}
+Description: UBSan -- undefined behaviour sanitizer (32 bit debug symbols)
+ UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined.
+ Various computations will be instrumented to detect undefined behavior
+ at runtime. Available for C and C++.
+
+Package: lib64ubsan1
+X-DH-Build-For-Type: target
+Section: libs
+Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Description: UBSan -- undefined behaviour sanitizer (64bit)
+ UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined.
+ Various computations will be instrumented to detect undefined behavior
+ at runtime. Available for C and C++.
+
+Package: lib64ubsan1-dbg
+X-DH-Build-For-Type: target
+Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32
+Section: debug
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), lib64ubsan1 (= ${gcc:Version}), ${misc:Depends}
+Description: UBSan -- undefined behaviour sanitizer (64bit debug symbols)
+ UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined.
+ Various computations will be instrumented to detect undefined behavior
+ at runtime. Available for C and C++.
+
+#Package: libn32ubsan`'UBSAN_SO`'LS
+#Section: ifdef(`TARGET',`devel',`libs')
+#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs')
+#Priority: optional
+#Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+#BUILT_USING`'dnl
+#Description: UBSan -- undefined behaviour sanitizer (n32)
+# UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined.
+# Various computations will be instrumented to detect undefined behavior
+# at runtime. Available for C and C++.
+
+#Package: libn32ubsan`'UBSAN_SO-dbg`'LS
+#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs')
+#Section: debug
+#Priority: optional
+#Depends: BASELDEP, libdep(ubsan`'UBSAN_SO,n32,=), ${misc:Depends}
+#BUILT_USING`'dnl
+#Description: UBSan -- undefined behaviour sanitizer (n32 debug symbols)
+# UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined.
+# Various computations will be instrumented to detect undefined behavior
+# at runtime. Available for C and C++.
+
+Package: libx32ubsan1
+X-DH-Build-For-Type: target
+Section: libs
+Architecture: amd64 i386
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Description: UBSan -- undefined behaviour sanitizer (x32)
+ UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined.
+ Various computations will be instrumented to detect undefined behavior
+ at runtime. Available for C and C++.
+
+Package: libx32ubsan1-dbg
+X-DH-Build-For-Type: target
+Architecture: amd64 i386
+Section: debug
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), libx32ubsan1 (= ${gcc:Version}), ${misc:Depends}
+Description: UBSan -- undefined behaviour sanitizer (x32 debug symbols)
+ UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined.
+ Various computations will be instrumented to detect undefined behavior
+ at runtime. Available for C and C++.
+
+Package: libmpx2
+X-DH-Build-For-Type: target
+Section: libs
+Architecture: any
+Provides: libmpx2-armel [armel], libmpx2-armhf [armhf]
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
+Replaces: libmpx0 (<< 6-20160120-1)
+Description: Intel memory protection extensions (runtime)
+ Intel MPX is a set of processor features which, with compiler,
+ runtime library and OS support, brings increased robustness to
+ software by checking pointer references whose compile time normal
+ intentions are usurped at runtime due to buffer overflow.
+
+Package: libmpx2-dbg
+X-DH-Build-For-Type: target
+Architecture: any
+Section: debug
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), libmpx2 (= ${gcc:Version}), ${misc:Depends}
+Provides: libmpx2-dbg-armel [armel], libmpx2-dbg-armhf [armhf]
+Multi-Arch: same
+Description: Intel memory protection extensions (debug symbols)
+ Intel MPX is a set of processor features which, with compiler,
+ runtime library and OS support, brings increased robustness to
+ software by checking pointer references whose compile time normal
+ intentions are usurped at runtime due to buffer overflow.
+
+Package: lib32mpx2
+X-DH-Build-For-Type: target
+Section: libs
+Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Conflicts: ${confl:lib32}
+Replaces: lib32mpx0 (<< 6-20160120-1)
+Description: Intel memory protection extensions (32bit)
+ Intel MPX is a set of processor features which, with compiler,
+ runtime library and OS support, brings increased robustness to
+ software by checking pointer references whose compile time normal
+ intentions are usurped at runtime due to buffer overflow.
+
+Package: lib32mpx2-dbg
+X-DH-Build-For-Type: target
+Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el
+Section: debug
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), lib32mpx2 (= ${gcc:Version}), ${misc:Depends}
+Description: Intel memory protection extensions (32 bit debug symbols)
+ Intel MPX is a set of processor features which, with compiler,
+ runtime library and OS support, brings increased robustness to
+ software by checking pointer references whose compile time normal
+ intentions are usurped at runtime due to buffer overflow.
+
+Package: lib64mpx2
+X-DH-Build-For-Type: target
+Section: libs
+Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Replaces: lib64mpx0 (<< 6-20160120-1)
+Description: Intel memory protection extensions (64bit)
+ Intel MPX is a set of processor features which, with compiler,
+ runtime library and OS support, brings increased robustness to
+ software by checking pointer references whose compile time normal
+ intentions are usurped at runtime due to buffer overflow.
+
+Package: lib64mpx2-dbg
+X-DH-Build-For-Type: target
+Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32
+Section: debug
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), lib64mpx2 (= ${gcc:Version}), ${misc:Depends}
+Description: Intel memory protection extensions (64bit debug symbols)
+ Intel MPX is a set of processor features which, with compiler,
+ runtime library and OS support, brings increased robustness to
+ software by checking pointer references whose compile time normal
+ intentions are usurped at runtime due to buffer overflow.
+
+Package: libquadmath0
+X-DH-Build-For-Type: target
+Section: libs
+Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
+Description: GCC Quad-Precision Math Library
+ A library, which provides quad-precision mathematical functions on targets
+ supporting the __float128 datatype. The library is used to provide on such
+ targets the REAL(16) type in the GNU Fortran compiler.
+
+Package: libquadmath0-dbg
+X-DH-Build-For-Type: target
+Architecture: any
+Section: debug
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), libquadmath0 (= ${gcc:Version}), ${misc:Depends}
+Multi-Arch: same
+Description: GCC Quad-Precision Math Library (debug symbols)
+ A library, which provides quad-precision mathematical functions on targets
+ supporting the __float128 datatype.
+
+Package: lib32quadmath0
+X-DH-Build-For-Type: target
+Section: libs
+Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Conflicts: ${confl:lib32}
+Description: GCC Quad-Precision Math Library (32bit)
+ A library, which provides quad-precision mathematical functions on targets
+ supporting the __float128 datatype. The library is used to provide on such
+ targets the REAL(16) type in the GNU Fortran compiler.
+
+Package: lib32quadmath0-dbg
+X-DH-Build-For-Type: target
+Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el
+Section: debug
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), lib32quadmath0 (= ${gcc:Version}), ${misc:Depends}
+Description: GCC Quad-Precision Math Library (32 bit debug symbols)
+ A library, which provides quad-precision mathematical functions on targets
+ supporting the __float128 datatype.
+
+Package: lib64quadmath0
+X-DH-Build-For-Type: target
+Section: libs
+Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Description: GCC Quad-Precision Math Library (64bit)
+ A library, which provides quad-precision mathematical functions on targets
+ supporting the __float128 datatype. The library is used to provide on such
+ targets the REAL(16) type in the GNU Fortran compiler.
+
+Package: lib64quadmath0-dbg
+X-DH-Build-For-Type: target
+Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32
+Section: debug
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), lib64quadmath0 (= ${gcc:Version}), ${misc:Depends}
+Description: GCC Quad-Precision Math Library (64bit debug symbols)
+ A library, which provides quad-precision mathematical functions on targets
+ supporting the __float128 datatype.
+
+#Package: libn32quadmath`'QMATH_SO`'LS
+#Section: ifdef(`TARGET',`devel',`libs')
+#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs')
+#Priority: optional
+#Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+#BUILT_USING`'dnl
+#Description: GCC Quad-Precision Math Library (n32)
+# A library, which provides quad-precision mathematical functions on targets
+# supporting the __float128 datatype. The library is used to provide on such
+# targets the REAL(16) type in the GNU Fortran compiler.
+
+#Package: libn32quadmath`'QMATH_SO-dbg`'LS
+#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs')
+#Section: debug
+#Priority: optional
+#Depends: BASELDEP, libdep(quadmath`'QMATH_SO,n32,=), ${misc:Depends}
+#BUILT_USING`'dnl
+#Description: GCC Quad-Precision Math Library (n32 debug symbols)
+# A library, which provides quad-precision mathematical functions on targets
+# supporting the __float128 datatype.
+
+Package: libx32quadmath0
+X-DH-Build-For-Type: target
+Section: libs
+Architecture: amd64 i386
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Description: GCC Quad-Precision Math Library (x32)
+ A library, which provides quad-precision mathematical functions on targets
+ supporting the __float128 datatype. The library is used to provide on such
+ targets the REAL(16) type in the GNU Fortran compiler.
+
+Package: libx32quadmath0-dbg
+X-DH-Build-For-Type: target
+Architecture: amd64 i386
+Section: debug
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), libx32quadmath0 (= ${gcc:Version}), ${misc:Depends}
+Description: GCC Quad-Precision Math Library (x32 debug symbols)
+ A library, which provides quad-precision mathematical functions on targets
+ supporting the __float128 datatype.
+
+Package: libcc1-0
+Section: libs
+Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
+Description: GCC cc1 plugin for GDB
+ libcc1 is a plugin for GDB.
+
+Package: libgccjit0
+Section: libs
+Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), libgcc-8-dev, binutils, ${shlibs:Depends}, ${misc:Depends}
+Breaks: python-gccjit (<< 0.4-4), python3-gccjit (<< 0.4-4)
+Description: GCC just-in-time compilation (shared library)
+ libgccjit provides an embeddable shared library with an API for adding
+ compilation to existing programs using GCC.
+
+Package: libgccjit0-dbg
+Section: debug
+Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), libgccjit0 (= ${gcc:Version}),
+ ${shlibs:Depends}, ${misc:Depends}
+Breaks: libgccjit-5-dbg, libgccjit-6-dbg
+Replaces: libgccjit-5-dbg, libgccjit-6-dbg
+Description: GCC just-in-time compilation (debug information)
+ libgccjit provides an embeddable shared library with an API for adding
+ compilation to existing programs using GCC.
+
+Package: libgccjit-8-doc
+Section: doc
+Architecture: all
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), ${misc:Depends}
+Conflicts: libgccjit-5-doc, libgccjit-6-doc, libgccjit-7-doc
+Description: GCC just-in-time compilation (documentation)
+ libgccjit provides an embeddable shared library with an API for adding
+ compilation to existing programs using GCC.
+
+Package: libgccjit-8-dev
+Section: libdevel
+Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), libgccjit0 (>= ${gcc:Version}),
+ ${shlibs:Depends}, ${misc:Depends}
+Suggests: libgccjit-8-dbg
+Description: GCC just-in-time compilation (development files)
+ libgccjit provides an embeddable shared library with an API for adding
+ compilation to existing programs using GCC.
+
+Package: gobjc++-8
+Architecture: any
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), gobjc-8 (= ${gcc:Version}), g++-8 (= ${gcc:Version}), ${shlibs:Depends}, libobjc-8-dev (= ${gcc:Version}), ${misc:Depends}
+Suggests: ${gobjcxx:multilib}, gcc-8-doc (>= ${gcc:SoftVersion})
+Provides: objc++-compiler
+Description: GNU Objective-C++ compiler
+ This is the GNU Objective-C++ compiler, which compiles
+ Objective-C++ on platforms supported by the gcc compiler. It uses the
+ gcc backend to generate optimized code.
+
+Package: gobjc++-8-multilib
+Architecture: amd64 i386 kfreebsd-amd64 mips mips64 mips64el mips64r6 mips64r6el mipsel mipsn32 mipsn32el mipsn32r6 mipsn32r6el mipsr6 mipsr6el powerpc ppc64 s390 s390x sparc sparc64 x32
+Section: devel
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), gobjc++-8 (= ${gcc:Version}), g++-8-multilib (= ${gcc:Version}), gobjc-8-multilib (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
+Description: GNU Objective-C++ compiler (multilib support)
+ This is the GNU Objective-C++ compiler, which compiles Objective-C++ on
+ platforms supported by the gcc compiler.
+ .
+ This is a dependency package, depending on development packages
+ for the non-default multilib architecture(s).
+
+Package: gobjc-8
+Architecture: any
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), gcc-8 (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, libobjc-8-dev (= ${gcc:Version}), ${misc:Depends}
+Suggests: ${gobjc:multilib}, gcc-8-doc (>= ${gcc:SoftVersion}), libobjc4-dbg (>= ${gcc:Version})
+Provides: objc-compiler
+Description: GNU Objective-C compiler
+ This is the GNU Objective-C compiler, which compiles
+ Objective-C on platforms supported by the gcc compiler. It uses the
+ gcc backend to generate optimized code.
+
+Package: gobjc-8-multilib
+Architecture: amd64 i386 kfreebsd-amd64 mips mips64 mips64el mips64r6 mips64r6el mipsel mipsn32 mipsn32el mipsn32r6 mipsn32r6el mipsr6 mipsr6el powerpc ppc64 s390 s390x sparc sparc64 x32
+Section: devel
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), gobjc-8 (= ${gcc:Version}), gcc-8-multilib (= ${gcc:Version}), ${dep:libobjcbiarchdev}, ${shlibs:Depends}, ${misc:Depends}
+Description: GNU Objective-C compiler (multilib support)
+ This is the GNU Objective-C compiler, which compiles Objective-C on platforms
+ supported by the gcc compiler.
+ .
+ This is a dependency package, depending on development packages
+ for the non-default multilib architecture(s).
+
+Package: libobjc-8-dev
+X-DH-Build-For-Type: target
+Architecture: any
+Section: libdevel
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), libgcc-8-dev (= ${gcc:Version}), libobjc4 (>= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
+Multi-Arch: same
+Description: Runtime library for GNU Objective-C applications (development files)
+ This package contains the headers and static library files needed to build
+ GNU ObjC applications.
+
+Package: lib64objc-8-dev
+X-DH-Build-For-Type: target
+Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32
+Section: libdevel
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), lib64gcc-8-dev (= ${gcc:Version}), lib64objc4 (>= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
+Description: Runtime library for GNU Objective-C applications (64bit development files)
+ This package contains the headers and static library files needed to build
+ GNU ObjC applications.
+
+Package: lib32objc-8-dev
+X-DH-Build-For-Type: target
+Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el
+Section: libdevel
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), lib32gcc-8-dev (= ${gcc:Version}), lib32objc4 (>= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
+Description: Runtime library for GNU Objective-C applications (32bit development files)
+ This package contains the headers and static library files needed to build
+ GNU ObjC applications.
+
+Package: libn32objc-8-dev
+X-DH-Build-For-Type: target
+Architecture: mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el
+Section: libdevel
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), libn32gcc-8-dev (= ${gcc:Version}), libn32objc4 (>= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
+Description: Runtime library for GNU Objective-C applications (n32 development files)
+ This package contains the headers and static library files needed to build
+ GNU ObjC applications.
+
+Package: libx32objc-8-dev
+X-DH-Build-For-Type: target
+Architecture: amd64 i386
+Section: libdevel
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), libx32gcc-8-dev (= ${gcc:Version}), libx32objc4 (>= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
+Description: Runtime library for GNU Objective-C applications (x32 development files)
+ This package contains the headers and static library files needed to build
+ GNU ObjC applications.
+
+Package: libobjc4
+X-DH-Build-For-Type: target
+Section: libs
+Architecture: any
+Provides: libobjc4-armel [armel], libobjc4-armhf [armhf]
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
+Description: Runtime library for GNU Objective-C applications
+ Library needed for GNU ObjC applications linked against the shared library.
+
+Package: libobjc4-dbg
+X-DH-Build-For-Type: target
+Section: debug
+Architecture: any
+Provides: libobjc4-dbg-armel [armel], libobjc4-dbg-armhf [armhf]
+Multi-Arch: same
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), libobjc4 (= ${gcc:Version}), libgcc1-dbg (>= ${libgcc:Version}), ${misc:Depends}
+Description: Runtime library for GNU Objective-C applications (debug symbols)
+ Library needed for GNU ObjC applications linked against the shared library.
+
+Package: lib64objc4
+X-DH-Build-For-Type: target
+Section: libs
+Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Description: Runtime library for GNU Objective-C applications (64bit)
+ Library needed for GNU ObjC applications linked against the shared library.
+
+Package: lib64objc4-dbg
+X-DH-Build-For-Type: target
+Section: debug
+Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), lib64objc4 (= ${gcc:Version}), lib64gcc1-dbg (>= ${gcc:EpochVersion}), ${misc:Depends}
+Description: Runtime library for GNU Objective-C applications (64 bit debug symbols)
+ Library needed for GNU ObjC applications linked against the shared library.
+
+Package: lib32objc4
+X-DH-Build-For-Type: target
+Section: libs
+Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Conflicts: ${confl:lib32}
+Description: Runtime library for GNU Objective-C applications (32bit)
+ Library needed for GNU ObjC applications linked against the shared library.
+
+Package: lib32objc4-dbg
+X-DH-Build-For-Type: target
+Section: debug
+Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), lib32objc4 (= ${gcc:Version}), lib32gcc1-dbg (>= ${gcc:EpochVersion}), ${misc:Depends}
+Description: Runtime library for GNU Objective-C applications (32 bit debug symbols)
+ Library needed for GNU ObjC applications linked against the shared library.
+
+Package: libn32objc4
+X-DH-Build-For-Type: target
+Section: libs
+Architecture: mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Description: Runtime library for GNU Objective-C applications (n32)
+ Library needed for GNU ObjC applications linked against the shared library.
+
+Package: libn32objc4-dbg
+X-DH-Build-For-Type: target
+Section: debug
+Architecture: mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), libn32objc4 (= ${gcc:Version}), libn32gcc1-dbg (>= ${gcc:EpochVersion}), ${misc:Depends}
+Description: Runtime library for GNU Objective-C applications (n32 debug symbols)
+ Library needed for GNU ObjC applications linked against the shared library.
+
+Package: libx32objc4
+X-DH-Build-For-Type: target
+Section: libs
+Architecture: amd64 i386
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Description: Runtime library for GNU Objective-C applications (x32)
+ Library needed for GNU ObjC applications linked against the shared library.
+
+Package: libx32objc4-dbg
+X-DH-Build-For-Type: target
+Section: debug
+Architecture: amd64 i386
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), libx32objc4 (= ${gcc:Version}), libx32gcc1-dbg (>= ${gcc:EpochVersion}), ${misc:Depends}
+Description: Runtime library for GNU Objective-C applications (x32 debug symbols)
+ Library needed for GNU ObjC applications linked against the shared library.
+
+Package: gfortran-8
+Architecture: any
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), gcc-8 (= ${gcc:Version}), libgfortran-8-dev (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends}
+Provides: fortran95-compiler, ${fortran:mod-version}
+Suggests: ${gfortran:multilib}, gfortran-8-doc,
+ libgfortran5-dbg (>= ${gcc:Version}),
+ libcoarrays-dev
+Description: GNU Fortran compiler
+ This is the GNU Fortran compiler, which compiles
+ Fortran on platforms supported by the gcc compiler. It uses the
+ gcc backend to generate optimized code.
+
+Package: gfortran-8-multilib
+Architecture: amd64 i386 kfreebsd-amd64 mips mips64 mips64el mips64r6 mips64r6el mipsel mipsn32 mipsn32el mipsn32r6 mipsn32r6el mipsr6 mipsr6el powerpc ppc64 s390 s390x sparc sparc64 x32
+Section: devel
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), gfortran-8 (= ${gcc:Version}), gcc-8-multilib (= ${gcc:Version}), ${dep:libgfortranbiarchdev}, ${shlibs:Depends}, ${misc:Depends}
+Description: GNU Fortran compiler (multilib support)
+ This is the GNU Fortran compiler, which compiles Fortran on platforms
+ supported by the gcc compiler.
+ .
+ This is a dependency package, depending on development packages
+ for the non-default multilib architecture(s).
+
+Package: libgfortran-8-dev
+X-DH-Build-For-Type: target
+Architecture: any
+Section: libdevel
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), libgcc-8-dev (= ${gcc:Version}), libgfortran5 (>= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
+Multi-Arch: same
+Description: Runtime library for GNU Fortran applications (development files)
+ This package contains the headers and static library files needed to build
+ GNU Fortran applications.
+
+Package: lib64gfortran-8-dev
+X-DH-Build-For-Type: target
+Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32
+Section: libdevel
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), lib64gcc-8-dev (= ${gcc:Version}), lib64gfortran5 (>= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
+Description: Runtime library for GNU Fortran applications (64bit development files)
+ This package contains the headers and static library files needed to build
+ GNU Fortran applications.
+
+Package: lib32gfortran-8-dev
+X-DH-Build-For-Type: target
+Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el
+Section: libdevel
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), lib32gcc-8-dev (= ${gcc:Version}), lib32gfortran5 (>= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
+Description: Runtime library for GNU Fortran applications (32bit development files)
+ This package contains the headers and static library files needed to build
+ GNU Fortran applications.
+
+Package: libn32gfortran-8-dev
+X-DH-Build-For-Type: target
+Architecture: mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el
+Section: libdevel
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), libn32gcc-8-dev (= ${gcc:Version}), libn32gfortran5 (>= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
+Description: Runtime library for GNU Fortran applications (n32 development files)
+ This package contains the headers and static library files needed to build
+ GNU Fortran applications.
+
+Package: libx32gfortran-8-dev
+X-DH-Build-For-Type: target
+Architecture: amd64 i386
+Section: libdevel
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), libx32gcc-8-dev (= ${gcc:Version}), libx32gfortran5 (>= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
+Description: Runtime library for GNU Fortran applications (x32 development files)
+ This package contains the headers and static library files needed to build
+ GNU Fortran applications.
+
+Package: libgfortran5
+X-DH-Build-For-Type: target
+Section: libs
+Architecture: any
+Provides: libgfortran5-armel [armel], libgfortran5-armhf [armhf]
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Breaks: ${multiarch:breaks}
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
+Description: Runtime library for GNU Fortran applications
+ Library needed for GNU Fortran applications linked against the
+ shared library.
+
+Package: libgfortran5-dbg
+X-DH-Build-For-Type: target
+Section: debug
+Architecture: any
+Provides: libgfortran5-dbg-armel [armel], libgfortran5-dbg-armhf [armhf]
+Multi-Arch: same
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), libgfortran5 (= ${gcc:Version}), libgcc1-dbg (>= ${libgcc:Version}), ${misc:Depends}
+Description: Runtime library for GNU Fortran applications (debug symbols)
+ Library needed for GNU Fortran applications linked against the
+ shared library.
+
+Package: lib64gfortran5
+X-DH-Build-For-Type: target
+Section: libs
+Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Description: Runtime library for GNU Fortran applications (64bit)
+ Library needed for GNU Fortran applications linked against the
+ shared library.
+
+Package: lib64gfortran5-dbg
+X-DH-Build-For-Type: target
+Section: debug
+Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), lib64gfortran5 (= ${gcc:Version}), ${misc:Depends}
+Description: Runtime library for GNU Fortran applications (64bit debug symbols)
+ Library needed for GNU Fortran applications linked against the
+ shared library.
+
+Package: lib32gfortran5
+X-DH-Build-For-Type: target
+Section: libs
+Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Conflicts: ${confl:lib32}
+Description: Runtime library for GNU Fortran applications (32bit)
+ Library needed for GNU Fortran applications linked against the
+ shared library.
+
+Package: lib32gfortran5-dbg
+X-DH-Build-For-Type: target
+Section: debug
+Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), lib32gfortran5 (= ${gcc:Version}), ${misc:Depends}
+Description: Runtime library for GNU Fortran applications (32 bit debug symbols)
+ Library needed for GNU Fortran applications linked against the
+ shared library.
+
+Package: libn32gfortran5
+X-DH-Build-For-Type: target
+Section: libs
+Architecture: mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Description: Runtime library for GNU Fortran applications (n32)
+ Library needed for GNU Fortran applications linked against the
+ shared library.
+
+Package: libn32gfortran5-dbg
+X-DH-Build-For-Type: target
+Section: debug
+Architecture: mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), libn32gfortran5 (= ${gcc:Version}), ${misc:Depends}
+Description: Runtime library for GNU Fortran applications (n32 debug symbols)
+ Library needed for GNU Fortran applications linked against the
+ shared library.
+
+Package: libx32gfortran5
+X-DH-Build-For-Type: target
+Section: libs
+Architecture: amd64 i386
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Description: Runtime library for GNU Fortran applications (x32)
+ Library needed for GNU Fortran applications linked against the
+ shared library.
+
+Package: libx32gfortran5-dbg
+X-DH-Build-For-Type: target
+Section: debug
+Architecture: amd64 i386
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), libx32gfortran5 (= ${gcc:Version}), ${misc:Depends}
+Description: Runtime library for GNU Fortran applications (x32 debug symbols)
+ Library needed for GNU Fortran applications linked against the
+ shared library.
+
+Package: gccgo-8
+Architecture: any
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), gcc-8 (= ${gcc:Version}), libgo13 (>= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends}
+Provides: go-compiler
+Suggests: ${go:multilib}, gccgo-8-doc, libgo13-dbg (>= ${gcc:Version})
+Conflicts: ${golang:Conflicts}
+Breaks: libgo12 (<< 8-20171209-2)
+Replaces: libgo12 (<< 8-20171209-2)
+Description: GNU Go compiler
+ This is the GNU Go compiler, which compiles Go on platforms supported
+ by the gcc compiler. It uses the gcc backend to generate optimized code.
+
+Package: gccgo-8-multilib
+Architecture: amd64 i386 kfreebsd-amd64 mips mips64 mips64el mips64r6 mips64r6el mipsel mipsn32 mipsn32el mipsn32r6 mipsn32r6el mipsr6 mipsr6el powerpc ppc64 s390 s390x sparc sparc64 x32
+Section: devel
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), gccgo-8 (= ${gcc:Version}), gcc-8-multilib (= ${gcc:Version}), ${dep:libgobiarch}, ${shlibs:Depends}, ${misc:Depends}
+Suggests: ${dep:libgobiarchdbg}
+Breaks: lib32go12 (<< 8-20171209-2),
+ libn32go12 (<< 8-20171209-2),
+ libx32go12 (<< 8-20171209-2),
+ lib64go12 (<< 8-20171209-2)
+Replaces: lib32go12 (<< 8-20171209-2),
+ libn32go12 (<< 8-20171209-2),
+ libx32go12 (<< 8-20171209-2),
+ lib64go12 (<< 8-20171209-2)
+Description: GNU Go compiler (multilib support)
+ This is the GNU Go compiler, which compiles Go on platforms supported
+ by the gcc compiler.
+ .
+ This is a dependency package, depending on development packages
+ for the non-default multilib architecture(s).
+
+Package: libgo13
+X-DH-Build-For-Type: target
+Section: libs
+Architecture: any
+Provides: libgo13-armel [armel], libgo13-armhf [armhf]
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
+Replaces: libgo3, libgo8
+Description: Runtime library for GNU Go applications
+ Library needed for GNU Go applications linked against the
+ shared library.
+
+Package: libgo13-dbg
+X-DH-Build-For-Type: target
+Section: debug
+Architecture: any
+Provides: libgo13-dbg-armel [armel], libgo13-dbg-armhf [armhf]
+Multi-Arch: same
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), libgo13 (= ${gcc:Version}), ${misc:Depends}
+Description: Runtime library for GNU Go applications (debug symbols)
+ Library needed for GNU Go applications linked against the
+ shared library. This currently is an empty package, because the
+ library is completely unstripped.
+
+Package: lib64go13
+X-DH-Build-For-Type: target
+Section: libs
+Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Replaces: lib64go3, lib64go8
+Description: Runtime library for GNU Go applications (64bit)
+ Library needed for GNU Go applications linked against the
+ shared library.
+
+Package: lib64go13-dbg
+X-DH-Build-For-Type: target
+Section: debug
+Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), lib64go13 (= ${gcc:Version}), ${misc:Depends}
+Description: Runtime library for GNU Go applications (64bit debug symbols)
+ Library needed for GNU Go applications linked against the
+ shared library. This currently is an empty package, because the
+ library is completely unstripped.
+
+Package: lib32go13
+X-DH-Build-For-Type: target
+Section: libs
+Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Conflicts: ${confl:lib32}
+Replaces: lib32go3, lib32go8
+Description: Runtime library for GNU Go applications (32bit)
+ Library needed for GNU Go applications linked against the
+ shared library.
+
+Package: lib32go13-dbg
+X-DH-Build-For-Type: target
+Section: debug
+Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), lib32go13 (= ${gcc:Version}), ${misc:Depends}
+Description: Runtime library for GNU Go applications (32 bit debug symbols)
+ Library needed for GNU Go applications linked against the
+ shared library. This currently is an empty package, because the
+ library is completely unstripped.
+
+Package: libn32go13
+X-DH-Build-For-Type: target
+Section: libs
+Architecture: mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Replaces: libn32go3, libn32go8
+Description: Runtime library for GNU Go applications (n32)
+ Library needed for GNU Go applications linked against the
+ shared library.
+
+Package: libn32go13-dbg
+X-DH-Build-For-Type: target
+Section: debug
+Architecture: mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), libn32go13 (= ${gcc:Version}), ${misc:Depends}
+Description: Runtime library for GNU Go applications (n32 debug symbols)
+ Library needed for GNU Go applications linked against the
+ shared library. This currently is an empty package, because the
+ library is completely unstripped.
+
+Package: libx32go13
+X-DH-Build-For-Type: target
+Section: libs
+Architecture: amd64 i386
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Replaces: libx32go3, libx32go8
+Description: Runtime library for GNU Go applications (x32)
+ Library needed for GNU Go applications linked against the
+ shared library.
+
+Package: libx32go13-dbg
+X-DH-Build-For-Type: target
+Section: debug
+Architecture: amd64 i386
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), libx32go13 (= ${gcc:Version}), ${misc:Depends}
+Description: Runtime library for GNU Go applications (x32 debug symbols)
+ Library needed for GNU Go applications linked against the
+ shared library. This currently is an empty package, because the
+ library is completely unstripped.
+
+Package: libstdc++6
+X-DH-Build-For-Type: target
+Architecture: any
+Section: libs
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), ${dep:libc}, ${shlibs:Depends}, ${misc:Depends}
+Provides: libstdc++6-armel [armel], libstdc++6-armhf [armhf]
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Breaks: ${multiarch:breaks}, libantlr-dev (<= 2.7.7+dfsg-6), libaqsis1 (<= 1.8.2-1), libassimp3 (<= 3.0~dfsg-4), blockattack (<= 1.4.1+ds1-2.1+b2), boo (<= 0.9.5~git20110729.r1.202a430-2), libboost-date-time1.54.0, libboost-date-time1.55.0, libcpprest2.4 (<= 2.4.0-2), printer-driver-brlaser (<= 3-3), c++-annotations (<= 10.2.0-1), clustalx (<= 2.1+lgpl-3), libdavix0 (<= 0.4.0-1+b1), libdballe6 (<= 6.8-1), dff (<= 1.3.0+dfsg.1-4.1+b3), libdiet-sed2.8 (<= 2.8.0-1+b3), libdiet-client2.8 (<= 2.8.0-1+b3), libdiet-admin2.8 (<= 2.8.0-1+b3), digikam-private-libs (<= 4:4.4.0-1.1+b2), emscripten (<= 1.22.1-1), ergo (<= 3.4.0-1), fceux (<= 2.2.2+dfsg0-1), flush (<= 0.9.12-3.1), libfreefem++ (<= 3.37.1-1), freeorion (<= 0.4.4+git20150327-2), fslview (<= 4.0.1-4), fwbuilder (<= 5.1.0-4), libgazebo5 (<= 5.0.1+dfsg-2.1), libgetfem4++ (<= 4.2.1~beta1~svn4635~dfsg-3+b1), libgmsh2 (<= 2.9.3+dfsg1-1), gnote (<= 3.16.2-1), gnudatalanguage (<= 0.9.5-2+b2), python-healpy (<= 1.8.1-1+b1), innoextract (<= 1.4-1+b1), libinsighttoolkit4.7 (<= 4.7.2-2), libdap17 (<= 3.14.0-2), libdapclient6 (<= 3.14.0-2), libdapserver7 (<= 3.14.0-2), libkolabxml1 (<= 1.1.0-3), libpqxx-4.0 (<= 4.0.1+dfsg-3), libreoffice-core (<= 1:4.4.5-2), librime1 (<= 1.2+dfsg-2), libwibble-dev (<= 1.1-1), lightspark (<= 0.7.2+git20150512-2+b1), libmarisa0 (<= 0.2.4-8), mira-assembler (<= 4.9.5-1), mongodb (<= 1:2.4.14-2), mongodb-server (<= 1:2.4.14-2), ncbi-blast+ (<= 2.2.30-4), libogre-1.8.0 (<= 1.8.0+dfsg1-7+b1), libogre-1.9.0 (<= 1.9.0+dfsg1-4), openscad (<= 2014.03+dfsg-1+b1), libopenwalnut1 (<= 1.4.0~rc1+hg3a3147463ee2-1+b1), passepartout (<= 0.7.1-1.1), pdf2djvu (<= 0.7.21-2), photoprint (<= 0.4.2~pre2-2.3+b2), plastimatch (<= 1.6.2+dfsg-1), plee-the-bear (<= 0.6.0-3.1), povray (<= 1:3.7.0.0-8), powertop (<= 2.6.1-1), psi4 (<= 4.0~beta5+dfsg-2+b1), python3-taglib (<= 0.3.6+dfsg-2+b2), realtimebattle (<= 1.0.8-14), ruby-passenger (<= 5.0.7-1), libapache2-mod-passenger (<= 5.0.7-1), schroot (<= 1.6.10-1+b1), sqlitebrowser (<= 3.5.1-3), tecnoballz (<= 0.93.1-6), wesnoth-1.12-core (<= 1:1.12.4-1), widelands (<= 1:18-3+b1), libwreport2 (<= 2.14-1), xflr5 (<= 6.09.06-2), libxmltooling6 (<= 1.5.3-2.1), libchemps2-1 (<= 1.5-1), python-fiona (<= 1.5.1-2), python3-fiona (<= 1.5.1-2), fiona (<= 1.5.1-2), python-guiqwt (<= 2.3.1-1), python-htseq (<= 0.5.4p3-2), python-imposm (<= 2.5.0-3+b2), python-pysph (<= 0~20150606.gitfa26de9-5), python3-taglib (<= 0.3.6+dfsg-2+b2), python-scipy (<= 0.14.1-1), python3-scipy (<= 0.14.1-1), python-sfml (<= 2.2~git20150611.196c88+dfsg-1+b1), python3-sfml (<= 2.2~git20150611.196c88+dfsg-1+b1), python-rasterio (<= 0.24.0-1), libktoblzcheck1c2a, libaqbanking34-plugins, liblhapdf0, libpythia8, libxapian30 (<= 1.4.1-1~bpo8+1), dnsdist (<< 1.3.3-3), lambda-align (<< 1.0.3-5), libllvm3.8, libllvm3.9, libllvm4.0, mednafen (<< 1.22.1+dfsg-1), nghttp2-proxy (<< 1.36.0-2), osm2pgsql (<< 0.96.0+ds-2), osmcoastline (<< 2.2.4-1), osmium-tool (<< 1.10.0-1), pdns-recursor (<< 4.1.11-1), poedit (<< 2.2.1-2), python-pyosmium (<< 2.15.1-1), python3-pyosmium (<< 2.15.1-1), seer (<< 1.1.4-2), libsimgrid3.14, undertaker (<< 1.6.1-4.2), libusbguard0 (<< 0.7.4+ds-1),
+Conflicts: scim (<< 1.4.2-1)
+Replaces: libstdc++6-8-dbg (<< 4.9.0-3)
+Description: GNU Standard C++ Library v3
+ This package contains an additional runtime library for C++ programs
+ built with the GNU compiler.
+ .
+ libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which
+ was included up to g++-2.95. The first version of libstdc++-v3 appeared
+ in g++-3.0.
+
+Package: lib32stdc++6
+X-DH-Build-For-Type: target
+Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el
+Section: libs
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), lib32gcc1 (>= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
+Conflicts: ${confl:lib32}
+Description: GNU Standard C++ Library v3 (32 bit Version)
+ This package contains an additional runtime library for C++ programs
+ built with the GNU compiler.
+
+Package: lib64stdc++6
+X-DH-Build-For-Type: target
+Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32
+Section: libs
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), lib64gcc1 (>= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
+Description: GNU Standard C++ Library v3 (64bit)
+ This package contains an additional runtime library for C++ programs
+ built with the GNU compiler.
+ .
+ libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which
+ was included up to g++-2.95. The first version of libstdc++-v3 appeared
+ in g++-3.0.
+
+Package: libn32stdc++6
+X-DH-Build-For-Type: target
+Architecture: mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el
+Section: libs
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), libn32gcc1 (>= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
+Description: GNU Standard C++ Library v3 (n32)
+ This package contains an additional runtime library for C++ programs
+ built with the GNU compiler.
+ .
+ libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which
+ was included up to g++-2.95. The first version of libstdc++-v3 appeared
+ in g++-3.0.
+
+Package: libx32stdc++6
+X-DH-Build-For-Type: target
+Architecture: amd64 i386
+Section: libs
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), libx32gcc1 (>= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
+Description: GNU Standard C++ Library v3 (x32)
+ This package contains an additional runtime library for C++ programs
+ built with the GNU compiler.
+ .
+ libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which
+ was included up to g++-2.95. The first version of libstdc++-v3 appeared
+ in g++-3.0.
+
+Package: libstdc++-8-dev
+X-DH-Build-For-Type: target
+Architecture: any
+Multi-Arch: same
+Section: libdevel
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), libgcc-8-dev (= ${gcc:Version}),
+ libstdc++6 (>= ${gcc:Version}), ${dep:libcdev}, ${misc:Depends}
+Conflicts: libg++27-dev, libg++272-dev (<< 2.7.2.8-1), libstdc++2.8-dev,
+ libg++2.8-dev, libstdc++2.9-dev, libstdc++2.9-glibc2.1-dev,
+ libstdc++2.10-dev (<< 1:2.95.3-2), libstdc++3.0-dev
+Suggests: libstdc++-8-doc
+Provides: libstdc++-dev
+Description: GNU Standard C++ Library v3 (development files)
+ This package contains the headers and static library files necessary for
+ building C++ programs which use libstdc++.
+ .
+ libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which
+ was included up to g++-2.95. The first version of libstdc++-v3 appeared
+ in g++-3.0.
+
+Package: libstdc++-8-pic
+X-DH-Build-For-Type: target
+Architecture: any
+Multi-Arch: same
+Section: libdevel
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), libstdc++6 (>= ${gcc:Version}),
+ libstdc++-8-dev (= ${gcc:Version}), ${misc:Depends}
+Description: GNU Standard C++ Library v3 (shared library subset kit)
+ This is used to develop subsets of the libstdc++ shared libraries for
+ use on custom installation floppies and in embedded systems.
+ .
+ Unless you are making one of those, you will not need this package.
+
+Package: libstdc++6-8-dbg
+X-DH-Build-For-Type: target
+Architecture: any
+Section: debug
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), libstdc++6 (>= ${gcc:Version}),
+ libgcc1-dbg (>= ${libgcc:Version}), ${shlibs:Depends}, ${misc:Depends}
+Provides: libstdc++6-8-dbg-armel [armel], libstdc++6-8-dbg-armhf [armhf]
+Multi-Arch: same
+Recommends: libstdc++-8-dev (= ${gcc:Version})
+Conflicts: libstdc++5-dbg, libstdc++5-3.3-dbg, libstdc++6-dbg,
+ libstdc++6-4.0-dbg, libstdc++6-4.1-dbg, libstdc++6-4.2-dbg,
+ libstdc++6-4.3-dbg, libstdc++6-4.4-dbg, libstdc++6-4.5-dbg,
+ libstdc++6-4.6-dbg, libstdc++6-4.7-dbg, libstdc++6-4.8-dbg,
+ libstdc++6-4.9-dbg, libstdc++6-5-dbg, libstdc++6-6-dbg,
+ libstdc++6-7-dbg
+Description: GNU Standard C++ Library v3 (debugging files)
+ This package contains the shared library of libstdc++ compiled with
+ debugging symbols.
+
+Package: lib32stdc++-8-dev
+X-DH-Build-For-Type: target
+Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el
+Section: libdevel
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), lib32gcc-8-dev (= ${gcc:Version}),
+ lib32stdc++6 (>= ${gcc:Version}), libstdc++-8-dev (= ${gcc:Version}), ${misc:Depends}
+Description: GNU Standard C++ Library v3 (development files)
+ This package contains the headers and static library files necessary for
+ building C++ programs which use libstdc++.
+ .
+ libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which
+ was included up to g++-2.95. The first version of libstdc++-v3 appeared
+ in g++-3.0.
+
+Package: lib32stdc++6-8-dbg
+X-DH-Build-For-Type: target
+Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el
+Section: debug
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), lib32stdc++6 (>= ${gcc:Version}),
+ libstdc++-8-dev (= ${gcc:Version}), lib32gcc1-dbg (>= ${gcc:EpochVersion}),
+ ${shlibs:Depends}, ${misc:Depends}
+Conflicts: lib32stdc++6-dbg, lib32stdc++6-4.0-dbg,
+ lib32stdc++6-4.1-dbg, lib32stdc++6-4.2-dbg, lib32stdc++6-4.3-dbg,
+ lib32stdc++6-4.4-dbg, lib32stdc++6-4.5-dbg, lib32stdc++6-4.6-dbg,
+ lib32stdc++6-4.7-dbg, lib32stdc++6-4.8-dbg, lib32stdc++6-4.9-dbg,
+ lib32stdc++6-5-dbg, lib32stdc++6-6-dbg, lib32stdc++6-7-dbg
+Description: GNU Standard C++ Library v3 (debugging files)
+ This package contains the shared library of libstdc++ compiled with
+ debugging symbols.
+
+Package: lib64stdc++-8-dev
+X-DH-Build-For-Type: target
+Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32
+Section: libdevel
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), lib64gcc-8-dev (= ${gcc:Version}),
+ lib64stdc++6 (>= ${gcc:Version}), libstdc++-8-dev (= ${gcc:Version}), ${misc:Depends}
+Description: GNU Standard C++ Library v3 (development files)
+ This package contains the headers and static library files necessary for
+ building C++ programs which use libstdc++.
+ .
+ libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which
+ was included up to g++-2.95. The first version of libstdc++-v3 appeared
+ in g++-3.0.
+
+Package: lib64stdc++6-8-dbg
+X-DH-Build-For-Type: target
+Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32
+Section: debug
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), lib64stdc++6 (>= ${gcc:Version}),
+ libstdc++-8-dev (= ${gcc:Version}), lib64gcc1-dbg (>= ${gcc:EpochVersion}),
+ ${shlibs:Depends}, ${misc:Depends}
+Conflicts: lib64stdc++6-dbg, lib64stdc++6-4.0-dbg,
+ lib64stdc++6-4.1-dbg, lib64stdc++6-4.2-dbg, lib64stdc++6-4.3-dbg,
+ lib64stdc++6-4.4-dbg, lib64stdc++6-4.5-dbg, lib64stdc++6-4.6-dbg,
+ lib64stdc++6-4.7-dbg, lib64stdc++6-4.8-dbg, lib64stdc++6-4.9-dbg,
+ lib64stdc++6-5-dbg, lib64stdc++6-6-dbg, lib64stdc++6-7-dbg,
+Description: GNU Standard C++ Library v3 (debugging files)
+ This package contains the shared library of libstdc++ compiled with
+ debugging symbols.
+
+Package: libn32stdc++-8-dev
+X-DH-Build-For-Type: target
+Architecture: mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el
+Section: libdevel
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), libn32gcc-8-dev (= ${gcc:Version}),
+ libn32stdc++6 (>= ${gcc:Version}), libstdc++-8-dev (= ${gcc:Version}), ${misc:Depends}
+Description: GNU Standard C++ Library v3 (development files)
+ This package contains the headers and static library files necessary for
+ building C++ programs which use libstdc++.
+ .
+ libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which
+ was included up to g++-2.95. The first version of libstdc++-v3 appeared
+ in g++-3.0.
+
+Package: libn32stdc++6-8-dbg
+X-DH-Build-For-Type: target
+Architecture: mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el
+Section: debug
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), libn32stdc++6 (>= ${gcc:Version}),
+ libstdc++-8-dev (= ${gcc:Version}), libn32gcc1-dbg (>= ${gcc:EpochVersion}),
+ ${shlibs:Depends}, ${misc:Depends}
+Conflicts: libn32stdc++6-dbg, libn32stdc++6-4.0-dbg,
+ libn32stdc++6-4.1-dbg, libn32stdc++6-4.2-dbg, libn32stdc++6-4.3-dbg,
+ libn32stdc++6-4.4-dbg, libn32stdc++6-4.5-dbg, libn32stdc++6-4.6-dbg,
+ libn32stdc++6-4.7-dbg, libn32stdc++6-4.8-dbg, libn32stdc++6-4.9-dbg,
+ libn32stdc++6-5-dbg, libn32stdc++6-6-dbg, libn32stdc++6-7-dbg,
+Description: GNU Standard C++ Library v3 (debugging files)
+ This package contains the shared library of libstdc++ compiled with
+ debugging symbols.
+
+Package: libx32stdc++-8-dev
+X-DH-Build-For-Type: target
+Architecture: amd64 i386
+Section: libdevel
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), libx32gcc-8-dev (= ${gcc:Version}), libx32stdc++6 (>= ${gcc:Version}),
+ libstdc++-8-dev (= ${gcc:Version}), ${misc:Depends}
+Description: GNU Standard C++ Library v3 (development files)
+ This package contains the headers and static library files necessary for
+ building C++ programs which use libstdc++.
+ .
+ libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which
+ was included up to g++-2.95. The first version of libstdc++-v3 appeared
+ in g++-3.0.
+
+Package: libx32stdc++6-8-dbg
+X-DH-Build-For-Type: target
+Architecture: amd64 i386
+Section: debug
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), libx32stdc++6 (>= ${gcc:Version}),
+ libstdc++-8-dev (= ${gcc:Version}), libx32gcc1-dbg (>= ${gcc:EpochVersion}),
+ ${shlibs:Depends}, ${misc:Depends}
+Conflicts: libx32stdc++6-dbg, libx32stdc++6-4.6-dbg,
+ libx32stdc++6-4.7-dbg, libx32stdc++6-4.8-dbg, libx32stdc++6-4.9-dbg,
+ libx32stdc++6-5-dbg, libx32stdc++6-6-dbg, libx32stdc++6-7-dbg,
+Description: GNU Standard C++ Library v3 (debugging files)
+ This package contains the shared library of libstdc++ compiled with
+ debugging symbols.
+
+Package: libstdc++-8-doc
+Architecture: all
+Section: doc
+Priority: optional
+Depends: gcc-8-base (>= ${gcc:SoftVersion}), ${misc:Depends}
+Conflicts: libstdc++5-doc, libstdc++5-3.3-doc, libstdc++6-doc,
+ libstdc++6-4.0-doc, libstdc++6-4.1-doc, libstdc++6-4.2-doc, libstdc++6-4.3-doc,
+ libstdc++6-4.4-doc, libstdc++6-4.5-doc, libstdc++6-4.6-doc, libstdc++6-4.7-doc,
+ libstdc++-4.8-doc, libstdc++-4.9-doc, libstdc++-5-doc, libstdc++-6-doc,
+ libstdc++-7-doc,
+Description: GNU Standard C++ Library v3 (documentation files)
+ This package contains documentation files for the GNU stdc++ library.
+ .
+ One set is the distribution documentation, the other set is the
+ source documentation including a namespace list, class hierarchy,
+ alphabetical list, compound list, file list, namespace members,
+ compound members and file members.
+
+Package: gnat-8
+Architecture: any
+Priority: optional
+Pre-Depends: ${misc:Pre-Depends}
+Depends: gcc-8-base (= ${gcc:Version}), gcc-8 (>= ${gcc:SoftVersion}), ${dep:libgnat}, ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends}
+Suggests: gnat-8-doc, ada-reference-manual-2012, gnat-8-sjlj
+Breaks: gnat (<< 4.6.1), dh-ada-library (<< 6.0), gnat-4.6-base (= 4.6.4-2),
+ gnat-4.9-base (= 4.9-20140330-1)
+Replaces: gnat (<< 4.6.1), dh-ada-library (<< 6.0), gnat-4.6-base (= 4.6.4-2),
+ gnat-4.9-base (= 4.9-20140330-1)
+# Takes over symlink from gnat (<< 4.6.1): /usr/bin/gnatgcc.
+# Takes over file from dh-ada-library (<< 6.0): debian_packaging.mk.
+# g-base 4.6.4-2, 4.9-20140330-1 contain debian_packaging.mk by mistake.
+# Newer versions of gnat and dh-ada-library will not provide these files.
+Conflicts: gnat (<< 4.1), gnat-3.1, gnat-3.2, gnat-3.3, gnat-3.4, gnat-3.5,
+ gnat-4.0, gnat-4.1, gnat-4.2, gnat-4.3, gnat-4.4, gnat-4.6, gnat-4.7, gnat-4.8,
+ gnat-4.9, gnat-5, gnat-6, gnat-7,
+# These other packages will continue to provide /usr/bin/gnatmake and
+# other files.
+Description: GNU Ada compiler
+ GNAT is a compiler for the Ada programming language. It produces optimized
+ code on platforms supported by the GNU Compiler Collection (GCC).
+ .
+ This package provides the compiler, tools and runtime library that handles
+ exceptions using the default zero-cost mechanism.
+
+Package: gnat-8-sjlj
+Architecture: any
+Priority: optional
+Pre-Depends: ${misc:Pre-Depends}
+Depends: gcc-8-base (= ${gcc:Version}), gnat-8 (= ${gnat:Version}), ${misc:Depends}
+Description: GNU Ada compiler (setjump/longjump runtime library)
+ GNAT is a compiler for the Ada programming language. It produces optimized
+ code on platforms supported by the GNU Compiler Collection (GCC).
+ .
+ This package provides an alternative runtime library that handles
+ exceptions using the setjump/longjump mechanism (as a static library
+ only). You can install it to supplement the normal compiler.
+
+Package: libgnat-8
+X-DH-Build-For-Type: target
+Section: libs
+Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
+Description: runtime for applications compiled with GNAT (shared library)
+ GNAT is a compiler for the Ada programming language. It produces optimized
+ code on platforms supported by the GNU Compiler Collection (GCC).
+ .
+ The libgnat library provides runtime components needed by most
+ applications produced with GNAT.
+ .
+ This package contains the runtime shared library.
+
+Package: libgnat-8-dbg
+X-DH-Build-For-Type: target
+Section: debug
+Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), libgnat-8 (= ${gnat:Version}), ${misc:Depends}
+Description: runtime for applications compiled with GNAT (debugging symbols)
+ GNAT is a compiler for the Ada programming language. It produces optimized
+ code on platforms supported by the GNU Compiler Collection (GCC).
+ .
+ The libgnat library provides runtime components needed by most
+ applications produced with GNAT.
+ .
+ This package contains the debugging symbols.
+
+Package: libgnatvsn8-dev
+X-DH-Build-For-Type: target
+Section: libdevel
+Architecture: any
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), gnat-8 (= ${gnat:Version}),
+ libgnatvsn8 (= ${gnat:Version}), ${misc:Depends}
+Conflicts: libgnatvsn-dev (<< 8),
+ libgnatvsn4.1-dev, libgnatvsn4.3-dev, libgnatvsn4.4-dev,
+ libgnatvsn4.5-dev, libgnatvsn4.6-dev, libgnatvsn4.9-dev,
+ libgnatvsn5-dev, libgnatvsn6-dev, libgnatvsn7-dev,
+Description: GNU Ada compiler selected components (development files)
+ GNAT is a compiler for the Ada programming language. It produces optimized
+ code on platforms supported by the GNU Compiler Collection (GCC).
+ .
+ The libgnatvsn library exports selected GNAT components for use in other
+ packages, most notably ASIS tools. It is licensed under the GNAT-Modified
+ GPL, allowing to link proprietary programs with it.
+ .
+ This package contains the development files and static library.
+
+Package: libgnatvsn8
+X-DH-Build-For-Type: target
+Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Priority: optional
+Section: libs
+Depends: gcc-8-base (= ${gcc:Version}), libgnat-8 (= ${gnat:Version}),
+ ${shlibs:Depends}, ${misc:Depends}
+Description: GNU Ada compiler selected components (shared library)
+ GNAT is a compiler for the Ada programming language. It produces optimized
+ code on platforms supported by the GNU Compiler Collection (GCC).
+ .
+ The libgnatvsn library exports selected GNAT components for use in other
+ packages, most notably ASIS tools. It is licensed under the GNAT-Modified
+ GPL, allowing to link proprietary programs with it.
+ .
+ This package contains the runtime shared library.
+
+Package: libgnatvsn8-dbg
+X-DH-Build-For-Type: target
+Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Priority: optional
+Section: debug
+Depends: gcc-8-base (= ${gcc:Version}), libgnatvsn8 (= ${gnat:Version}), ${misc:Depends}
+Suggests: gnat
+Description: GNU Ada compiler selected components (debugging symbols)
+ GNAT is a compiler for the Ada programming language. It produces optimized
+ code on platforms supported by the GNU Compiler Collection (GCC).
+ .
+ The libgnatvsn library exports selected GNAT components for use in other
+ packages, most notably ASIS tools. It is licensed under the GNAT-Modified
+ GPL, allowing to link proprietary programs with it.
+ .
+ This package contains the debugging symbols.
+
+Package: gdc-8
+Architecture: any
+Priority: optional
+Depends: gcc-8-base (>= ${gcc:SoftVersion}), g++-8 (>= ${gcc:SoftVersion}), ${dep:gdccross}, ${dep:phobosdev}, ${shlibs:Depends}, ${misc:Depends}
+Provides: gdc, d-compiler, d-v2-compiler
+Replaces: gdc (<< 4.4.6-5)
+Description: GNU D compiler (version 2)
+ This is the GNU D compiler, which compiles D on platforms supported by gcc.
+ It uses the gcc backend to generate optimised code.
+ .
+ This compiler supports D language version 2.
+
+Package: gdc-8-multilib
+Architecture: any
+Priority: optional
+Depends: gcc-8-base (>= ${gcc:SoftVersion}), gdc-8 (= ${gcc:Version}), gcc-8-multilib (= ${gcc:Version}), ${dep:libphobosbiarchdev}${shlibs:Depends}, ${misc:Depends}
+Description: GNU D compiler (version 2, multilib support)
+ This is the GNU D compiler, which compiles D on platforms supported by gcc.
+ It uses the gcc backend to generate optimised code.
+ .
+ This is a dependency package, depending on development packages
+ for the non-default multilib architecture(s).
+
+Package: libgphobos-8-dev
+X-DH-Build-For-Type: target
+Architecture: amd64 arm64 armel armhf i386 x32 kfreebsd-amd64 kfreebsd-i386
+Multi-Arch: same
+Section: libdevel
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), libgphobos76 (>= ${gdc:Version}),
+ zlib1g-dev, ${shlibs:Depends}, ${misc:Depends}
+Description: Phobos D standard library
+ This is the Phobos standard library that comes with the D2 compiler.
+ .
+ For more information check http://www.dlang.org/phobos/
+
+Package: lib64gphobos-8-dev
+X-DH-Build-For-Type: target
+Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32
+Section: libdevel
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), lib64gphobos76 (>= ${gdc:Version}),
+ lib64gcc-8-dev (= ${gcc:Version}), lib64z1-dev, ${shlibs:Depends}, ${misc:Depends}
+Description: Phobos D standard library (64bit development files)
+ This is the Phobos standard library that comes with the D2 compiler.
+ .
+ For more information check http://www.dlang.org/phobos/
+
+Package: lib32gphobos-8-dev
+X-DH-Build-For-Type: target
+Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el
+Section: libdevel
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), lib32gphobos76 (>= ${gdc:Version}),
+ lib32gcc-8-dev (= ${gcc:Version}), lib32z1-dev, ${shlibs:Depends}, ${misc:Depends}
+Description: Phobos D standard library (32bit development files)
+ This is the Phobos standard library that comes with the D2 compiler.
+ .
+ For more information check http://www.dlang.org/phobos/
+
+Package: libx32gphobos-8-dev
+X-DH-Build-For-Type: target
+Architecture: amd64 i386
+Section: libdevel
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), libx32gphobos76 (>= ${gdc:Version}),
+ libx32gcc-8-dev (= ${gcc:Version}), ${dep:libx32z}, ${shlibs:Depends}, ${misc:Depends}
+Description: Phobos D standard library (x32 development files)
+ This is the Phobos standard library that comes with the D2 compiler.
+ .
+ For more information check http://www.dlang.org/phobos/
+
+Package: libgphobos76
+X-DH-Build-For-Type: target
+Section: libs
+Architecture: amd64 arm64 armel armhf i386 x32 kfreebsd-amd64 kfreebsd-i386
+Multi-Arch: same
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
+Replaces: libgphobos68
+Description: Phobos D standard library (runtime library)
+ This is the Phobos standard library that comes with the D2 compiler.
+ .
+ For more information check http://www.dlang.org/phobos/
+
+Package: libgphobos76-dbg
+X-DH-Build-For-Type: target
+Section: debug
+Architecture: amd64 arm64 armel armhf i386 x32 kfreebsd-amd64 kfreebsd-i386
+Multi-Arch: same
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), libgphobos76 (= ${gdc:Version}), ${misc:Depends}
+Replaces: libgphobos68-dbg
+Description: Phobos D standard library (debug symbols)
+ This is the Phobos standard library that comes with the D2 compiler.
+ .
+ For more information check http://www.dlang.org/phobos/
+
+Package: lib64gphobos76
+X-DH-Build-For-Type: target
+Section: libs
+Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
+Replaces: lib64gphobos68
+Description: Phobos D standard library (runtime library)
+ This is the Phobos standard library that comes with the D2 compiler.
+ .
+ For more information check http://www.dlang.org/phobos/
+
+Package: lib64gphobos76-dbg
+X-DH-Build-For-Type: target
+Section: debug
+Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), lib64gphobos76 (= ${gdc:Version}), ${misc:Depends}
+Replaces: lib64gphobos68-dbg
+Description: Phobos D standard library (debug symbols)
+ This is the Phobos standard library that comes with the D2 compiler.
+ .
+ For more information check http://www.dlang.org/phobos/
+
+Package: lib32gphobos76
+X-DH-Build-For-Type: target
+Section: libs
+Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
+Replaces: lib32gphobos68
+Description: Phobos D standard library (runtime library)
+ This is the Phobos standard library that comes with the D2 compiler.
+ .
+ For more information check http://www.dlang.org/phobos/
+
+Package: lib32gphobos76-dbg
+X-DH-Build-For-Type: target
+Section: debug
+Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), lib32gphobos76 (= ${gdc:Version}), ${misc:Depends}
+Replaces: lib32gphobos68-dbg
+Description: Phobos D standard library (debug symbols)
+ This is the Phobos standard library that comes with the D2 compiler.
+ .
+ For more information check http://www.dlang.org/phobos/
+
+Package: libx32gphobos76
+X-DH-Build-For-Type: target
+Section: libs
+Architecture: amd64 i386
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
+Replaces: libx32gphobos68
+Description: Phobos D standard library (runtime library)
+ This is the Phobos standard library that comes with the D2 compiler.
+ .
+ For more information check http://www.dlang.org/phobos/
+
+Package: libx32gphobos76-dbg
+X-DH-Build-For-Type: target
+Section: debug
+Architecture: amd64 i386
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), libx32gphobos76 (= ${gdc:Version}), ${misc:Depends}
+Replaces: libx32gphobos68-dbg
+Description: Phobos D standard library (debug symbols)
+ This is the Phobos standard library that comes with the D2 compiler.
+ .
+ For more information check http://www.dlang.org/phobos/
+
+Package: gccbrig-8
+Architecture: any
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), gcc-8 (= ${gcc:Version}), ${dep:libcdev},
+ hsail-tools,
+ ${shlibs:Depends}, libhsail-rt-8-dev (= ${gcc:Version}), ${misc:Depends}
+Suggests: ${gccbrig:multilib},
+ libhsail-rt0-dbg (>= ${gcc:Version})
+Provides: brig-compiler
+Description: GNU BRIG (HSA IL) frontend
+ This is the GNU BRIG (HSA IL) frontend.
+ The consumed format is a binary representation. The textual HSAIL
+ can be compiled to it with a separate assembler.
+
+Package: libhsail-rt-8-dev
+X-DH-Build-For-Type: target
+Architecture: any
+Section: libdevel
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), libgcc-8-dev (= ${gcc:Version}), libhsail-rt0 (>= ${gcc:Version}),
+ ${shlibs:Depends}, ${misc:Depends}
+Multi-Arch: same
+Description: HSAIL runtime library (development files)
+ This library implements the agent-side runtime functionality required
+ to run HSA finalized programs produced by the BRIG frontend.
+ .
+ The library contains both the code required to run kernels on the agent
+ and also functions implementing more complex HSAIL instructions.
+
+Package: libhsail-rt0
+X-DH-Build-For-Type: target
+Section: libs
+Architecture: any
+Provides: libhsail-rt0-armel [armel], libhsail-rt0-armhf [armhf]
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
+Description: HSAIL runtime library
+ This library implements the agent-side runtime functionality required
+ to run HSA finalized programs produced by the BRIG frontend.
+ .
+ The library contains both the code required to run kernels on the agent
+ and also functions implementing more complex HSAIL instructions.
+
+Package: libhsail-rt0-dbg
+X-DH-Build-For-Type: target
+Section: debug
+Architecture: any
+Provides: libhsail-rt0-dbg-armel [armel], libhsail-rt0-dbg-armhf [armhf]
+Multi-Arch: same
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), libhsail-rt0 (= ${gcc:Version}), libgcc1-dbg (>= ${libgcc:Version}), ${misc:Depends}
+Description: HSAIL runtime library (debug symbols)
+ This library implements the agent-side runtime functionality required
+ to run HSA finalized programs produced by the BRIG frontend.
+ .
+ The library contains both the code required to run kernels on the agent
+ and also functions implementing more complex HSAIL instructions.
+
+#Package: gcc`'PV-soft-float
+#Architecture: arm armel armhf
+#Priority: PRI(optional)
+#Depends: BASEDEP, depifenabled(`cdev',`gcc`'PV (= ${gcc:Version}),') ${shlibs:Depends}, ${misc:Depends}
+#Conflicts: gcc-4.4-soft-float, gcc-4.5-soft-float, gcc-4.6-soft-float
+#BUILT_USING`'dnl
+#Description: GCC soft-floating-point gcc libraries (ARM)
+# These are versions of basic static libraries such as libgcc.a compiled
+# with the -msoft-float option, for CPUs without a floating-point unit.
+
+Package: fixincludes
+Architecture: any
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), gcc-8 (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
+Description: Fix non-ANSI header files
+ FixIncludes was created to fix non-ANSI system header files. Many
+ system manufacturers supply proprietary headers that are not ANSI compliant.
+ The GNU compilers cannot compile non-ANSI headers. Consequently, the
+ FixIncludes shell script was written to fix the header files.
+ .
+ Not all packages with header files are installed on the system, when the
+ package is built, so we make fixincludes available at build time of other
+ packages, such that checking tools like lintian can make use of it.
+
+Package: gcc-8-offload-nvptx
+Architecture: amd64
+Priority: optional
+Depends: gcc-8-base (= ${gcc:Version}), gcc-8 (= ${gcc:Version}), ${dep:libcdev},
+ nvptx-tools, libgomp-plugin-nvptx1 (>= ${gcc:Version}),
+ ${shlibs:Depends}, ${misc:Depends}
+Description: GCC offloading compiler to NVPTX
+ The package provides offloading support for NVidia PTX. OpenMP and OpenACC
+ programs linked with -fopenmp will by default add PTX code into the binaries,
+ which can be offloaded to NVidia PTX capable devices if available.
+
+Package: libgomp-plugin-nvptx1
+Architecture: amd64
+Multi-Arch: same
+Section: libs
+Depends: gcc-8-base (= ${gcc:Version}), libgomp1, ${shlibs:Depends}, ${misc:Depends}
+Suggests: libcuda1
+Description: GCC OpenMP v4.5 plugin for offloading to NVPTX
+ This package contains libgomp plugin for offloading to NVidia
+ PTX. The plugin needs libcuda.so.1 shared library that has to be
+ installed separately.
+
+Package: gcc-8-source
+Architecture: all
+Priority: optional
+Depends: make, autoconf2.64, quilt, patchutils, sharutils, gawk, lsb-release,
+ ${misc:Depends}
+Description: Source of the GNU Compiler Collection
+ This package contains the sources and patches which are needed to
+ build the GNU Compiler Collection (GCC).
--- /dev/null
+divert(-1)
+
+define(`checkdef',`ifdef($1, , `errprint(`error: undefined macro $1
+')m4exit(1)')')
+define(`errexit',`errprint(`error: undefined macro `$1'
+')m4exit(1)')
+
+dnl The following macros must be defined, when called:
+dnl ifdef(`SRCNAME', , errexit(`SRCNAME'))
+dnl ifdef(`PV', , errexit(`PV'))
+dnl ifdef(`ARCH', , errexit(`ARCH'))
+
+dnl The architecture will also be defined (-D__i386__, -D__powerpc__, etc.)
+
+define(`PN', `$1')
+ifdef(`PRI', `', `
+ define(`PRI', `$1')
+')
+define(`MAINTAINER', `Debian GCC Maintainers <debian-gcc@lists.debian.org>')
+
+define(`depifenabled', `ifelse(index(enabled_languages, `$1'), -1, `', `$2')')
+define(`ifenabled', `ifelse(index(enabled_languages, `$1'), -1, `dnl', `$2')')
+
+ifdef(`TARGET',`ifdef(`CROSS_ARCH',`',`undefine(`MULTIARCH')')')
+define(`CROSS_ARCH', ifdef(`CROSS_ARCH', CROSS_ARCH, `all'))
+define(`libdep', `lib$2$1`'LS`'AQ (ifelse(`$3',`',`>=',`$3') ifelse(`$4',`',`${gcc:Version}',`$4'))')
+define(`libdevdep', `lib$2$1`'LS`'AQ (ifelse(`$3',`',`=',`$3') ifelse(`$4',`',`${gcc:Version}',`$4'))')
+define(`libidevdep', `lib$2$1`'LS`'AQ (ifelse(`$3',`',`=',`$3') ifelse(`$4',`',`${gcc:Version}',`$4'))')
+ifdef(`TARGET',`ifelse(CROSS_ARCH,`all',`
+define(`libidevdep', `lib$2$1`'LS`'AQ (>= ifelse(`$4',`',`${gcc:SoftVersion}',`$4'))')
+')')
+define(`libdbgdep', `lib$2$1`'LS`'AQ (ifelse(`$3',`',`>=',`$3') ifelse(`$4',`',`${gcc:Version}',`$4'))')
+
+define(`BUILT_USING', ifelse(add_built_using,yes,`Built-Using: ${Built-Using}
+'))
+define(`TARGET_PACKAGE',`X-DH-Build-For-Type: target
+')
+
+divert`'dnl
+dnl --------------------------------------------------------------------------
+Source: SRCNAME
+Section: devel
+Priority: PRI(optional)
+ifelse(DIST,`Ubuntu',`dnl
+ifelse(regexp(SRCNAME, `gnat\|gdc-'),0,`dnl
+Maintainer: Ubuntu MOTU Developers <ubuntu-motu@lists.ubuntu.com>
+', `dnl
+Maintainer: Ubuntu Core developers <ubuntu-devel-discuss@lists.ubuntu.com>
+')dnl SRCNAME
+XSBC-Original-Maintainer: MAINTAINER
+', `dnl
+Maintainer: MAINTAINER
+')dnl DIST
+ifelse(regexp(SRCNAME, `gnat'),0,`dnl
+Uploaders: Ludovic Brenta <lbrenta@debian.org>
+', regexp(SRCNAME, `gdc'),0,`dnl
+Uploaders: Iain Buclaw <ibuclaw@ubuntu.com>, Matthias Klose <doko@debian.org>
+', `dnl
+Uploaders: Matthias Klose <doko@debian.org>
+')dnl SRCNAME
+Standards-Version: 4.3.0
+ifdef(`TARGET',`dnl cross
+Build-Depends: DEBHELPER_BUILD_DEP DPKG_BUILD_DEP
+ LIBC_BUILD_DEP, LIBC_BIARCH_BUILD_DEP
+ kfreebsd-kernel-headers (>= 0.84) [kfreebsd-any], linux-libc-dev [m68k],
+ dwz, LIBUNWIND_BUILD_DEP LIBATOMIC_OPS_BUILD_DEP AUTO_BUILD_DEP
+ SOURCE_BUILD_DEP CROSS_BUILD_DEP
+ ISL_BUILD_DEP MPC_BUILD_DEP MPFR_BUILD_DEP GMP_BUILD_DEP,
+ zlib1g-dev, gawk, lzma, xz-utils, patchutils,
+ pkg-config, libgc-dev,
+ zlib1g-dev, SDT_BUILD_DEP
+ bison (>= 1:2.3), flex, coreutils (>= 2.26) | realpath (>= 1.9.12), lsb-release, quilt
+',`dnl native
+Build-Depends: DEBHELPER_BUILD_DEP DPKG_BUILD_DEP GCC_MULTILIB_BUILD_DEP
+ LIBC_BUILD_DEP, LIBC_BIARCH_BUILD_DEP LIBC_DBG_DEP
+ kfreebsd-kernel-headers (>= 0.84) [kfreebsd-any], linux-libc-dev [m68k],
+ AUTO_BUILD_DEP BASE_BUILD_DEP
+ dwz, libunwind8-dev [ia64], libatomic-ops-dev [ia64],
+ gawk, lzma, xz-utils, patchutils,
+ zlib1g-dev, SDT_BUILD_DEP
+ BINUTILS_BUILD_DEP,
+ gperf (>= 3.0.1), bison (>= 1:2.3), flex, gettext,
+ gdb`'NT [!riscv64], OFFLOAD_BUILD_DEP
+ texinfo (>= 4.3), locales-all, sharutils,
+ procps, FORTRAN_BUILD_DEP GNAT_BUILD_DEP GO_BUILD_DEP GDC_BUILD_DEP
+ ISL_BUILD_DEP MPC_BUILD_DEP MPFR_BUILD_DEP GMP_BUILD_DEP PHOBOS_BUILD_DEP
+ CHECK_BUILD_DEP coreutils (>= 2.26) | realpath (>= 1.9.12), chrpath, lsb-release, quilt,
+ pkg-config, libgc-dev,
+ TARGET_TOOL_BUILD_DEP
+Build-Depends-Indep: LIBSTDCXX_BUILD_INDEP
+')dnl
+ifelse(regexp(SRCNAME, `gnat'),0,`dnl
+Homepage: http://gcc.gnu.org/
+', regexp(SRCNAME, `gdc'),0,`dnl
+Homepage: http://gdcproject.org/
+', `dnl
+Homepage: http://gcc.gnu.org/
+')dnl SRCNAME
+Vcs-Browser: https://salsa.debian.org/toolchain-team/gcc/tree/gcc-8-debian
+Vcs-Git: https://salsa.debian.org/toolchain-team/gcc.git -b gcc-8-debian
+XS-Testsuite: autopkgtest
+
+ifelse(regexp(SRCNAME, `gcc-snapshot'),0,`dnl
+Package: gcc-snapshot`'TS
+Architecture: any
+Section: devel
+Priority: optional
+Depends: binutils`'TS (>= ${binutils:Version}), ${dep:libcbiarchdev}, ${dep:libcdev}, ${dep:libunwinddev}, ${snap:depends}, ${shlibs:Depends}, ${dep:ecj}, python, ${misc:Depends}
+Recommends: ${snap:recommends}
+Suggests: ${dep:gold}
+Provides: c++-compiler`'TS`'ifdef(`TARGET',`',`, c++abi2-dev')
+BUILT_USING`'dnl
+Description: SNAPSHOT of the GNU Compiler Collection
+ This package contains a recent development SNAPSHOT of all files
+ contained in the GNU Compiler Collection (GCC).
+ .
+ The source code for this package has been exported from SVN trunk.
+ .
+ DO NOT USE THIS SNAPSHOT FOR BUILDING DEBIAN PACKAGES!
+ .
+ This package will NEVER hit the testing distribution. It is used for
+ tracking gcc bugs submitted to the Debian BTS in recent development
+ versions of gcc.
+',`dnl gcc-X.Y
+
+dnl default base package dependencies
+define(`BASEDEP', `gcc`'PV`'TS-base (= ${gcc:Version})')
+define(`SOFTBASEDEP', `gcc`'PV`'TS-base (>= ${gcc:SoftVersion})')
+
+ifdef(`TARGET',`
+define(`BASELDEP', `gcc`'PV`'ifelse(CROSS_ARCH,`all',`-cross')-base`'GCC_PORTS_BUILD (= ${gcc:Version})')
+define(`SOFTBASELDEP', `gcc`'PV`'ifelse(CROSS_ARCH, `all',`-cross')-base`'GCC_PORTS_BUILD (>= ${gcc:SoftVersion})')
+',`dnl
+define(`BASELDEP', `BASEDEP')
+define(`SOFTBASELDEP', `SOFTBASEDEP')
+')
+
+ifelse(index(SRCNAME, `gnat'), 0, `
+define(`BASEDEP', `gnat`'PV-base (= ${gnat:Version})')
+define(`SOFTBASEDEP', `gnat`'PV-base (>= ${gnat:SoftVersion})')
+')
+
+ifenabled(`gccbase',`
+Package: gcc`'PV`'TS-base
+Architecture: any
+Multi-Arch: same
+Section: ifdef(`TARGET',`devel',`libs')
+Priority: ifdef(`TARGET',`optional',`PRI(required)')
+Depends: ${misc:Depends}
+Replaces: ${base:Replaces}
+Breaks: ${base:Breaks}
+BUILT_USING`'dnl
+Description: GCC, the GNU Compiler Collection (base package)
+ This package contains files common to all languages and libraries
+ contained in the GNU Compiler Collection (GCC).
+ifdef(`BASE_ONLY', `dnl
+ .
+ This version of GCC is not yet available for this architecture.
+ Please use the compilers from the gcc-snapshot package for testing.
+')`'dnl
+')`'dnl gccbase
+
+ifenabled(`gcclbase',`
+Package: gcc`'PV-cross-base`'GCC_PORTS_BUILD
+Architecture: all
+Section: ifdef(`TARGET',`devel',`libs')
+Priority: ifdef(`TARGET',`optional',`PRI(required)')
+Depends: ${misc:Depends}
+BUILT_USING`'dnl
+Description: GCC, the GNU Compiler Collection (library base package)
+ This empty package contains changelog and copyright files common to
+ all libraries contained in the GNU Compiler Collection (GCC).
+ifdef(`BASE_ONLY', `dnl
+ .
+ This version of GCC is not yet available for this architecture.
+ Please use the compilers from the gcc-snapshot package for testing.
+')`'dnl
+')`'dnl gcclbase
+
+ifenabled(`gnatbase',`
+Package: gnat`'PV-base`'TS
+Architecture: any
+# "all" causes build instabilities for "any" dependencies (see #748388).
+Section: libs
+Priority: PRI(optional)
+Depends: ${misc:Depends}
+Breaks: gcc-4.6 (<< 4.6.1-8~)
+BUILT_USING`'dnl
+Description: GNU Ada compiler (common files)
+ GNAT is a compiler for the Ada programming language. It produces optimized
+ code on platforms supported by the GNU Compiler Collection (GCC).
+ .
+ This package contains files common to all GNAT related packages.
+')`'dnl gnatbase
+
+ifenabled(`libgcc',`
+Package: libgcc1`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`any')
+Section: ifdef(`TARGET',`devel',`libs')
+Priority: optional
+Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends}
+Provides: ifdef(`TARGET',`libgcc1-TARGET-dcv1',`libgcc1-armel [armel], libgcc1-armhf [armhf]')
+ifdef(`MULTIARCH', `Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Breaks: ${multiarch:breaks}
+')`'dnl
+BUILT_USING`'dnl
+Description: GCC support library`'ifdef(`TARGET',` (TARGET)', `')
+ Shared version of the support library, a library of internal subroutines
+ that GCC uses to overcome shortcomings of particular machines, or
+ special needs for some languages.
+ifdef(`TARGET', `dnl
+ .
+ This package contains files for TARGET architecture, for use in cross-compile
+ environment.
+')`'dnl
+
+Package: libgcc1-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`any')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(gcc1,,=,${gcc:EpochVersion}), ${misc:Depends}
+ifdef(`TARGET',`',`Provides: libgcc1-dbg-armel [armel], libgcc1-dbg-armhf [armhf]
+')dnl
+ifdef(`MULTIARCH',`Multi-Arch: same
+')dnl
+BUILT_USING`'dnl
+Description: GCC support library (debug symbols)`'ifdef(`TARGET',` (TARGET)', `')
+ Debug symbols for the GCC support library.
+ifdef(`TARGET', `dnl
+ .
+ This package contains files for TARGET architecture, for use in cross-compile
+ environment.
+')`'dnl
+
+Package: libgcc2`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`m68k')
+Section: ifdef(`TARGET',`devel',`libs')
+Priority: optional
+Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends}
+ifdef(`TARGET',`Provides: libgcc2-TARGET-dcv1
+')`'dnl
+ifdef(`MULTIARCH', `Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Breaks: ${multiarch:breaks}
+')`'dnl
+BUILT_USING`'dnl
+Description: GCC support library`'ifdef(`TARGET',` (TARGET)', `')
+ Shared version of the support library, a library of internal subroutines
+ that GCC uses to overcome shortcomings of particular machines, or
+ special needs for some languages.
+ifdef(`TARGET', `dnl
+ .
+ This package contains files for TARGET architecture, for use in cross-compile
+ environment.
+')`'dnl
+
+Package: libgcc2-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`m68k')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(gcc2,,=,${gcc:EpochVersion}), ${misc:Depends}
+ifdef(`MULTIARCH', `Multi-Arch: same
+')`'dnl
+BUILT_USING`'dnl
+Description: GCC support library (debug symbols)`'ifdef(`TARGET',` (TARGET)', `')
+ Debug symbols for the GCC support library.
+ifdef(`TARGET', `dnl
+ .
+ This package contains files for TARGET architecture, for use in cross-compile
+ environment.
+')`'dnl
+')`'dnl libgcc
+
+ifenabled(`cdev',`
+Package: libgcc`'PV-dev`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`any')
+Section: libdevel
+Priority: optional
+Recommends: ${dep:libcdev}
+Depends: BASELDEP, ${dep:libgcc}, ${dep:libssp}, ${dep:libgomp}, ${dep:libitm},
+ ${dep:libatomic}, ${dep:libbtrace}, ${dep:libasan}, ${dep:liblsan},
+ ${dep:libtsan}, ${dep:libubsan}, ${dep:libvtv},
+ ${dep:libmpx},
+ ${dep:libqmath}, ${dep:libunwinddev}, ${shlibs:Depends}, ${misc:Depends}
+ifdef(`MULTIARCH', `Multi-Arch: same
+')`'dnl
+Replaces: gccgo-8 (<< ${gcc:Version})
+BUILT_USING`'dnl
+Description: GCC support library (development files)
+ This package contains the headers and static library files necessary for
+ building C programs which use libgcc, libgomp, libquadmath, libssp or libitm.
+')`'dnl libgcc
+
+Package: libgcc4`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`hppa')
+ifdef(`MULTIARCH', `Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Breaks: ${multiarch:breaks}
+')`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Priority: optional
+Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: GCC support library`'ifdef(`TARGET',` (TARGET)', `')
+ Shared version of the support library, a library of internal subroutines
+ that GCC uses to overcome shortcomings of particular machines, or
+ special needs for some languages.
+ifdef(`TARGET', `dnl
+ .
+ This package contains files for TARGET architecture, for use in cross-compile
+ environment.
+')`'dnl
+
+Package: libgcc4-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`hppa')
+ifdef(`MULTIARCH', `Multi-Arch: same
+')`'dnl
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(gcc4,,=,${gcc:EpochVersion}), ${misc:Depends}
+BUILT_USING`'dnl
+Description: GCC support library (debug symbols)`'ifdef(`TARGET',` (TARGET)', `')
+ Debug symbols for the GCC support library.
+ifdef(`TARGET', `dnl
+ .
+ This package contains files for TARGET architecture, for use in cross-compile
+ environment.
+')`'dnl
+
+ifenabled(`lib64gcc',`
+Package: lib64gcc1`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs')
+Section: ifdef(`TARGET',`devel',`libs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${misc:Depends}
+ifdef(`TARGET',`Provides: lib64gcc1-TARGET-dcv1
+',`')`'dnl
+Conflicts: libdep(gcc`'GCC_SO,,<=,1:3.3-0pre9)
+BUILT_USING`'dnl
+Description: GCC support library`'ifdef(`TARGET',` (TARGET)', `') (64bit)
+ Shared version of the support library, a library of internal subroutines
+ that GCC uses to overcome shortcomings of particular machines, or
+ special needs for some languages.
+ifdef(`TARGET', `dnl
+ .
+ This package contains files for TARGET architecture, for use in cross-compile
+ environment.
+')`'dnl
+
+Package: lib64gcc1-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(gcc1,64,=,${gcc:EpochVersion}), ${misc:Depends}
+BUILT_USING`'dnl
+Description: GCC support library (debug symbols)`'ifdef(`TARGET',` (TARGET)', `')
+ Debug symbols for the GCC support library.
+ifdef(`TARGET', `dnl
+ .
+ This package contains files for TARGET architecture, for use in cross-compile
+ environment.
+')`'dnl
+')`'dnl lib64gcc
+
+ifenabled(`cdev',`
+Package: lib64gcc`'PV-dev`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs')
+Section: libdevel
+Priority: optional
+Recommends: ${dep:libcdev}
+Depends: BASELDEP, ${dep:libgccbiarch}, ${dep:libsspbiarch},
+ ${dep:libgompbiarch}, ${dep:libitmbiarch}, ${dep:libatomicbiarch},
+ ${dep:libbtracebiarch}, ${dep:libasanbiarch}, ${dep:liblsanbiarch},
+ ${dep:libtsanbiarch}, ${dep:libubsanbiarch},
+ ${dep:libvtvbiarch}, ${dep:libmpxbiarch},
+ ${dep:libqmathbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Replaces: gccgo-8-multilib (<< ${gcc:Version})
+BUILT_USING`'dnl
+Description: GCC support library (64bit development files)
+ This package contains the headers and static library files necessary for
+ building C programs which use libgcc, libgomp, libquadmath, libssp or libitm.
+')`'dnl cdev
+
+ifenabled(`lib32gcc',`
+Package: lib32gcc1`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs')
+Section: ifdef(`TARGET',`devel',`libs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${misc:Depends}
+Conflicts: ${confl:lib32}
+ifdef(`TARGET',`Provides: lib32gcc1-TARGET-dcv1
+',`')`'dnl
+BUILT_USING`'dnl
+Description: GCC support library (32 bit Version)
+ Shared version of the support library, a library of internal subroutines
+ that GCC uses to overcome shortcomings of particular machines, or
+ special needs for some languages.
+ifdef(`TARGET', `dnl
+ .
+ This package contains files for TARGET architecture, for use in cross-compile
+ environment.
+')`'dnl
+
+Package: lib32gcc1-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(gcc1,32,=,${gcc:EpochVersion}), ${misc:Depends}
+BUILT_USING`'dnl
+Description: GCC support library (debug symbols)`'ifdef(`TARGET',` (TARGET)', `')
+ Debug symbols for the GCC support library.
+ifdef(`TARGET', `dnl
+ .
+ This package contains files for TARGET architecture, for use in cross-compile
+ environment.
+')`'dnl
+')`'dnl lib32gcc1
+
+ifenabled(`cdev',`
+Package: lib32gcc`'PV-dev`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs')
+Section: libdevel
+Priority: optional
+Recommends: ${dep:libcdev}
+Depends: BASELDEP, ${dep:libgccbiarch}, ${dep:libsspbiarch},
+ ${dep:libgompbiarch}, ${dep:libitmbiarch}, ${dep:libatomicbiarch},
+ ${dep:libbtracebiarch}, ${dep:libasanbiarch}, ${dep:liblsanbiarch},
+ ${dep:libtsanbiarch}, ${dep:libubsanbiarch},
+ ${dep:libvtvbiarch}, ${dep:libmpxbiarch},
+ ${dep:libqmathbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Replaces: gccgo-8-multilib (<< ${gcc:Version})
+BUILT_USING`'dnl
+Description: GCC support library (32 bit development files)
+ This package contains the headers and static library files necessary for
+ building C programs which use libgcc, libgomp, libquadmath, libssp or libitm.
+')`'dnl cdev
+
+ifenabled(`libneongcc',`
+Package: libgcc1-neon`'LS
+TARGET_PACKAGE`'dnl
+Architecture: NEON_ARCHS
+Section: libs
+Priority: optional
+Depends: BASELDEP, libc6-neon`'LS, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: GCC support library [neon optimized]
+ Shared version of the support library, a library of internal subroutines
+ that GCC uses to overcome shortcomings of particular machines, or
+ special needs for some languages.
+ .
+ This set of libraries is optimized to use a NEON coprocessor, and will
+ be selected instead when running under systems which have one.
+')`'dnl libneongcc1
+
+ifenabled(`libhfgcc',`
+Package: libhfgcc1`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs')
+Section: ifdef(`TARGET',`devel',`libs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${misc:Depends}
+ifdef(`TARGET',`Provides: libhfgcc1-TARGET-dcv1
+',`Conflicts: libgcc1-armhf [biarchhf_archs]
+')`'dnl
+BUILT_USING`'dnl
+Description: GCC support library`'ifdef(`TARGET',` (TARGET)', `') (hard float ABI)
+ Shared version of the support library, a library of internal subroutines
+ that GCC uses to overcome shortcomings of particular machines, or
+ special needs for some languages.
+ifdef(`TARGET', `dnl
+ .
+ This package contains files for TARGET architecture, for use in cross-compile
+ environment.
+')`'dnl
+
+Package: libhfgcc1-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(gcc1,hf,=,${gcc:EpochVersion}), ${misc:Depends}
+ifdef(`TARGET',`dnl',`Conflicts: libgcc1-dbg-armhf [biarchhf_archs]')
+BUILT_USING`'dnl
+Description: GCC support library (debug symbols)`'ifdef(`TARGET',` (TARGET)', `')
+ Debug symbols for the GCC support library.
+ifdef(`TARGET', `dnl
+ .
+ This package contains files for TARGET architecture, for use in cross-compile
+ environment.
+')`'dnl
+')`'dnl libhfgcc
+
+ifenabled(`cdev',`
+ifenabled(`armml',`
+Package: libhfgcc`'PV-dev`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs')
+Section: libdevel
+Priority: optional
+Recommends: ${dep:libcdev}
+Depends: BASELDEP, ${dep:libgccbiarch}, ${dep:libsspbiarch},
+ ${dep:libgompbiarch}, ${dep:libitmbiarch}, ${dep:libatomicbiarch},
+ ${dep:libbtracebiarch}, ${dep:libasanbiarch}, ${dep:liblsanbiarch},
+ ${dep:libtsanbiarch}, ${dep:libubsanbiarch},
+ ${dep:libvtvbiarch}, ${dep:libmpxbiarch},
+ ${dep:libqmathbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Replaces: gccgo-8-multilib (<< ${gcc:Version})
+BUILT_USING`'dnl
+Description: GCC support library (hard float ABI development files)
+ This package contains the headers and static library files necessary for
+ building C programs which use libgcc, libgomp, libquadmath, libssp or libitm.
+')`'dnl armml
+')`'dnl cdev
+
+ifenabled(`libsfgcc',`
+Package: libsfgcc1`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs')
+Section: ifdef(`TARGET',`devel',`libs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${misc:Depends}
+ifdef(`TARGET',`Provides: libsfgcc1-TARGET-dcv1
+',`Conflicts: libgcc1-armel [biarchsf_archs]
+')`'dnl
+BUILT_USING`'dnl
+Description: GCC support library`'ifdef(`TARGET',` (TARGET)', `') (soft float ABI)
+ Shared version of the support library, a library of internal subroutines
+ that GCC uses to overcome shortcomings of particular machines, or
+ special needs for some languages.
+ifdef(`TARGET', `dnl
+ .
+ This package contains files for TARGET architecture, for use in cross-compile
+ environment.
+')`'dnl
+
+Package: libsfgcc1-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(gcc1,sf,=,${gcc:EpochVersion}), ${misc:Depends}
+ifdef(`TARGET',`dnl',`Conflicts: libgcc1-dbg-armel [biarchsf_archs]')
+BUILT_USING`'dnl
+Description: GCC support library (debug symbols)`'ifdef(`TARGET',` (TARGET)', `')
+ Debug symbols for the GCC support library.
+ifdef(`TARGET', `dnl
+ .
+ This package contains files for TARGET architecture, for use in cross-compile
+ environment.
+')`'dnl
+')`'dnl libsfgcc
+
+ifenabled(`cdev',`
+ifenabled(`armml',`
+Package: libsfgcc`'PV-dev`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs')
+Section: libdevel
+Priority: optional
+Recommends: ${dep:libcdev}
+Depends: BASELDEP, ${dep:libgccbiarch}, ${dep:libsspbiarch},
+ ${dep:libgompbiarch}, ${dep:libitmbiarch}, ${dep:libatomicbiarch},
+ ${dep:libbtracebiarch}, ${dep:libasanbiarch}, ${dep:liblsanbiarch},
+ ${dep:libtsanbiarch}, ${dep:libubsanbiarch},
+ ${dep:libvtvbiarch}, ${dep:libmpxbiarch},
+ ${dep:libqmathbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Replaces: gccgo-8-multilib (<< ${gcc:Version})
+BUILT_USING`'dnl
+Description: GCC support library (soft float ABI development files)
+ This package contains the headers and static library files necessary for
+ building C programs which use libgcc, libgomp, libquadmath, libssp or libitm.
+')`'dnl armml
+')`'dnl cdev
+
+ifenabled(`libn32gcc',`
+Package: libn32gcc1`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs')
+Section: ifdef(`TARGET',`devel',`libs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${misc:Depends}
+Conflicts: libdep(gcc`'GCC_SO,,<=,1:3.3-0pre9)
+ifdef(`TARGET',`Provides: libn32gcc1-TARGET-dcv1
+',`')`'dnl
+BUILT_USING`'dnl
+Description: GCC support library`'ifdef(`TARGET',` (TARGET)', `') (n32)
+ Shared version of the support library, a library of internal subroutines
+ that GCC uses to overcome shortcomings of particular machines, or
+ special needs for some languages.
+ifdef(`TARGET', `dnl
+ .
+ This package contains files for TARGET architecture, for use in cross-compile
+ environment.
+')`'dnl
+
+Package: libn32gcc1-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(gcc1,n32,=,${gcc:EpochVersion}), ${misc:Depends}
+BUILT_USING`'dnl
+Description: GCC support library (debug symbols)`'ifdef(`TARGET',` (TARGET)', `')
+ Debug symbols for the GCC support library.
+ifdef(`TARGET', `dnl
+ .
+ This package contains files for TARGET architecture, for use in cross-compile
+ environment.
+')`'dnl
+')`'dnl libn32gcc
+
+ifenabled(`cdev',`
+Package: libn32gcc`'PV-dev`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs')
+Section: libdevel
+Priority: optional
+Recommends: ${dep:libcdev}
+Depends: BASELDEP, ${dep:libgccbiarch}, ${dep:libsspbiarch},
+ ${dep:libgompbiarch}, ${dep:libitmbiarch}, ${dep:libatomicbiarch},
+ ${dep:libbtracebiarch}, ${dep:libasanbiarch}, ${dep:liblsanbiarch},
+ ${dep:libtsanbiarch}, ${dep:libubsanbiarch},
+ ${dep:libvtvbiarch}, ${dep:libmpxbiarch},
+ ${dep:libqmathbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Replaces: gccgo-8-multilib (<< ${gcc:Version})
+BUILT_USING`'dnl
+Description: GCC support library (n32 development files)
+ This package contains the headers and static library files necessary for
+ building C programs which use libgcc, libgomp, libquadmath, libssp or libitm.
+')`'dnl cdev
+
+ifenabled(`libx32gcc',`
+Package: libx32gcc1`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs')
+Section: ifdef(`TARGET',`devel',`libs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${misc:Depends}
+ifdef(`TARGET',`Provides: libx32gcc1-TARGET-dcv1
+',`')`'dnl
+BUILT_USING`'dnl
+Description: GCC support library`'ifdef(`TARGET',` (TARGET)', `') (x32)
+ Shared version of the support library, a library of internal subroutines
+ that GCC uses to overcome shortcomings of particular machines, or
+ special needs for some languages.
+ifdef(`TARGET', `dnl
+ .
+ This package contains files for TARGET architecture, for use in cross-compile
+ environment.
+')`'dnl
+
+Package: libx32gcc1-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(gcc1,x32,=,${gcc:EpochVersion}), ${misc:Depends}
+BUILT_USING`'dnl
+Description: GCC support library (debug symbols)`'ifdef(`TARGET',` (TARGET)', `')
+ Debug symbols for the GCC support library.
+ifdef(`TARGET', `dnl
+ .
+ This package contains files for TARGET architecture, for use in cross-compile
+ environment.
+')`'dnl
+')`'dnl libx32gcc
+
+ifenabled(`cdev',`
+ifenabled(`x32dev',`
+Package: libx32gcc`'PV-dev`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs')
+Section: libdevel
+Priority: optional
+Recommends: ${dep:libcdev}
+Depends: BASELDEP, ${dep:libgccbiarch}, ${dep:libsspbiarch},
+ ${dep:libgompbiarch}, ${dep:libitmbiarch}, ${dep:libatomicbiarch},
+ ${dep:libbtracebiarch}, ${dep:libasanbiarch}, ${dep:liblsanbiarch},
+ ${dep:libtsanbiarch}, ${dep:libubsanbiarch},
+ ${dep:libvtvbiarch}, ${dep:libmpxbiarch},
+ ${dep:libqmathbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Replaces: gccgo-8-multilib (<< ${gcc:Version})
+BUILT_USING`'dnl
+Description: GCC support library (x32 development files)
+ This package contains the headers and static library files necessary for
+ building C programs which use libgcc, libgomp, libquadmath, libssp or libitm.
+')`'dnl x32dev
+')`'dnl cdev
+
+ifenabled(`cdev',`
+Package: gcc`'PV`'TS
+Architecture: any
+ifdef(`TARGET',`Multi-Arch: foreign
+')dnl
+Section: devel
+Priority: optional
+Depends: cpp`'PV`'TS (= ${gcc:Version}),ifenabled(`gccbase',` BASEDEP,')
+ ifenabled(`gccxbase',` BASEDEP,')
+ ${dep:libcc1},
+ binutils`'TS (>= ${binutils:Version}),
+ ${dep:libgccdev}, ${shlibs:Depends}, ${misc:Depends}
+Recommends: ${dep:libcdev}
+Replaces: gccgo-8 (<< ${gcc:Version}), cpp`'PV`'TS (<< 7.1.1-8)
+Suggests: ${gcc:multilib}, gcc`'PV-doc (>= ${gcc:SoftVersion}),
+ gcc`'PV-locales (>= ${gcc:SoftVersion}),
+ libdbgdep(gcc`'GCC_SO-dbg,,>=,${libgcc:Version}),
+ libdbgdep(gomp`'GOMP_SO-dbg,),
+ libdbgdep(itm`'ITM_SO-dbg,),
+ libdbgdep(atomic`'ATOMIC_SO-dbg,),
+ libdbgdep(asan`'ASAN_SO-dbg,),
+ libdbgdep(lsan`'LSAN_SO-dbg,),
+ libdbgdep(tsan`'TSAN_SO-dbg,),
+ libdbgdep(ubsan`'UBSAN_SO-dbg,),
+ifenabled(`libvtv',`',`
+ libdbgdep(vtv`'VTV_SO-dbg,),
+')`'dnl
+ libdbgdep(mpx`'MPX_SO-dbg,),
+ libdbgdep(quadmath`'QMATH_SO-dbg,)
+Provides: c-compiler`'TS
+ifdef(`TARGET',`Conflicts: gcc-multilib
+')`'dnl
+BUILT_USING`'dnl
+Description: GNU C compiler`'ifdef(`TARGET',` (cross compiler for TARGET architecture)', `')
+ This is the GNU C compiler, a fairly portable optimizing compiler for C.
+ifdef(`TARGET', `dnl
+ .
+ This package contains C cross-compiler for TARGET architecture.
+')`'dnl
+
+ifenabled(`multilib',`
+Package: gcc`'PV-multilib`'TS
+Architecture: ifdef(`TARGET',`any',MULTILIB_ARCHS)
+ifdef(`TARGET',`Multi-Arch: foreign
+')dnl
+Section: devel
+Priority: optional
+Depends: BASEDEP, gcc`'PV`'TS (= ${gcc:Version}), ${dep:libcbiarchdev}, ${dep:libgccbiarchdev}, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: GNU C compiler (multilib support)`'ifdef(`TARGET',` (cross compiler for TARGET architecture)', `')
+ This is the GNU C compiler, a fairly portable optimizing compiler for C.
+ .
+ This is a dependency package, depending on development packages
+ for the non-default multilib architecture(s).
+')`'dnl multilib
+
+ifenabled(`testresults',`
+Package: gcc`'PV-test-results
+Architecture: any
+Section: devel
+Priority: optional
+Depends: BASEDEP, ${misc:Depends}
+Replaces: g++-5 (<< 5.2.1-28)
+BUILT_USING`'dnl
+Description: Test results for the GCC test suite
+ This package contains the test results for running the GCC test suite
+ for a post build analysis.
+')`'dnl testresults
+
+ifenabled(`plugindev',`
+Package: gcc`'PV-plugin-dev`'TS
+Architecture: any
+ifdef(`TARGET',`Multi-Arch: foreign
+')dnl
+Section: devel
+Priority: optional
+Depends: BASEDEP, gcc`'PV`'TS (= ${gcc:Version}), GMP_BUILD_DEP MPC_BUILD_DEP ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: Files for GNU GCC plugin development.
+ This package contains (header) files for GNU GCC plugin development. It
+ is only used for the development of GCC plugins, but not needed to run
+ plugins.
+')`'dnl plugindev
+')`'dnl cdev
+
+ifenabled(`cdev',`
+Package: gcc`'PV-hppa64-linux-gnu
+Architecture: ifdef(`TARGET',`any',hppa amd64 i386 x32)
+ifdef(`TARGET',`Multi-Arch: foreign
+')dnl
+Section: devel
+Priority: PRI(optional)
+Depends: BASEDEP, gcc`'PV`'TS (= ${gcc:Version}),
+ binutils-hppa64-linux-gnu | binutils-hppa64,
+ ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: GNU C compiler (cross compiler for hppa64)
+ This is the GNU C compiler, a fairly portable optimizing compiler for C.
+')`'dnl cdev
+
+ifenabled(`cdev',`
+Package: cpp`'PV`'TS
+Architecture: any
+ifdef(`TARGET',`Multi-Arch: foreign
+')dnl
+Section: ifdef(`TARGET',`devel',`interpreters')
+Priority: optional
+Depends: BASEDEP, ${shlibs:Depends}, ${misc:Depends}
+Suggests: gcc`'PV-locales (>= ${gcc:SoftVersion})
+Replaces: gccgo-8 (<< ${gcc:Version})
+Breaks: libmagics++-dev (<< 2.28.0-4)ifdef(`TARGET',`',`, hardening-wrapper (<< 2.8+nmu3)')
+BUILT_USING`'dnl
+Description: GNU C preprocessor
+ A macro processor that is used automatically by the GNU C compiler
+ to transform programs before actual compilation.
+ .
+ This package has been separated from gcc for the benefit of those who
+ require the preprocessor but not the compiler.
+ifdef(`TARGET', `dnl
+ .
+ This package contains preprocessor configured for TARGET architecture.
+')`'dnl
+
+ifdef(`TARGET', `', `
+ifenabled(`gfdldoc',`
+Package: cpp`'PV-doc
+Architecture: all
+Section: doc
+Priority: PRI(optional)
+Depends: gcc`'PV-base (>= ${gcc:SoftVersion}), dpkg (>= 1.15.4) | install-info, ${misc:Depends}
+Description: Documentation for the GNU C preprocessor (cpp)
+ Documentation for the GNU C preprocessor in info `format'.
+')`'dnl gfdldoc
+')`'dnl native
+
+ifdef(`TARGET', `', `
+Package: gcc`'PV-locales
+Architecture: all
+Section: devel
+Priority: PRI(optional)
+Depends: SOFTBASEDEP, cpp`'PV (>= ${gcc:SoftVersion}), ${misc:Depends}
+Recommends: gcc`'PV (>= ${gcc:SoftVersion})
+Description: GCC, the GNU compiler collection (native language support files)
+ Native language support for GCC. Lets GCC speak your language,
+ if translations are available.
+ .
+ Please do NOT submit bug reports in other languages than "C".
+ Always reset your language settings to use the "C" locales.
+')`'dnl native
+')`'dnl cdev
+
+ifenabled(`c++',`
+ifenabled(`c++dev',`
+Package: g++`'PV`'TS
+Architecture: any
+ifdef(`TARGET',`Multi-Arch: foreign
+')dnl
+Section: devel
+Priority: optional
+Depends: BASEDEP, gcc`'PV`'TS (= ${gcc:Version}), libidevdep(stdc++`'PV-dev,,=), ${shlibs:Depends}, ${misc:Depends}
+Provides: c++-compiler`'TS`'ifdef(`TARGET',`',`, c++abi2-dev')
+Suggests: ${gxx:multilib}, gcc`'PV-doc (>= ${gcc:SoftVersion}), libdbgdep(stdc++CXX_SO`'PV-dbg,)
+BUILT_USING`'dnl
+Description: GNU C++ compiler`'ifdef(`TARGET',` (cross compiler for TARGET architecture)', `')
+ This is the GNU C++ compiler, a fairly portable optimizing compiler for C++.
+ifdef(`TARGET', `dnl
+ .
+ This package contains C++ cross-compiler for TARGET architecture.
+')`'dnl
+
+ifenabled(`multilib',`
+Package: g++`'PV-multilib`'TS
+Architecture: ifdef(`TARGET',`any',MULTILIB_ARCHS)
+ifdef(`TARGET',`Multi-Arch: foreign
+')dnl
+Section: devel
+Priority: optional
+Depends: BASEDEP, g++`'PV`'TS (= ${gcc:Version}), gcc`'PV-multilib`'TS (= ${gcc:Version}), ${dep:libcxxbiarchdev}, ${shlibs:Depends}, ${misc:Depends}
+Suggests: ${dep:libcxxbiarchdbg}
+BUILT_USING`'dnl
+Description: GNU C++ compiler (multilib support)`'ifdef(`TARGET',` (cross compiler for TARGET architecture)', `')
+ This is the GNU C++ compiler, a fairly portable optimizing compiler for C++.
+ .
+ This is a dependency package, depending on development packages
+ for the non-default multilib architecture(s).
+')`'dnl multilib
+')`'dnl c++dev
+')`'dnl c++
+
+ifdef(`TARGET', `', `
+ifenabled(`ssp',`
+Package: libssp`'SSP_SO`'LS
+TARGET_PACKAGE`'dnl
+Architecture: any
+ifdef(`MULTIARCH', `Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+')`'dnl
+Section: libs
+Priority: PRI(optional)
+Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: GCC stack smashing protection library
+ GCC can now emit code for protecting applications from stack-smashing attacks.
+ The protection is realized by buffer overflow detection and reordering of
+ stack variables to avoid pointer corruption.
+
+Package: lib32ssp`'SSP_SO`'LS
+TARGET_PACKAGE`'dnl
+Architecture: biarch32_archs
+Section: libs
+Priority: PRI(optional)
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Replaces: libssp0 (<< 4.1)
+Conflicts: ${confl:lib32}
+BUILT_USING`'dnl
+Description: GCC stack smashing protection library (32bit)
+ GCC can now emit code for protecting applications from stack-smashing attacks.
+ The protection is realized by buffer overflow detection and reordering of
+ stack variables to avoid pointer corruption.
+
+Package: lib64ssp`'SSP_SO`'LS
+TARGET_PACKAGE`'dnl
+Architecture: biarch64_archs
+Section: libs
+Priority: PRI(optional)
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Replaces: libssp0 (<< 4.1)
+BUILT_USING`'dnl
+Description: GCC stack smashing protection library (64bit)
+ GCC can now emit code for protecting applications from stack-smashing attacks.
+ The protection is realized by buffer overflow detection and reordering of
+ stack variables to avoid pointer corruption.
+
+Package: libn32ssp`'SSP_SO`'LS
+TARGET_PACKAGE`'dnl
+Architecture: biarchn32_archs
+Section: libs
+Priority: PRI(optional)
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Replaces: libssp0 (<< 4.1)
+BUILT_USING`'dnl
+Description: GCC stack smashing protection library (n32)
+ GCC can now emit code for protecting applications from stack-smashing attacks.
+ The protection is realized by buffer overflow detection and reordering of
+ stack variables to avoid pointer corruption.
+
+Package: libx32ssp`'SSP_SO`'LS
+TARGET_PACKAGE`'dnl
+Architecture: biarchx32_archs
+Section: libs
+Priority: PRI(optional)
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Replaces: libssp0 (<< 4.1)
+BUILT_USING`'dnl
+Description: GCC stack smashing protection library (x32)
+ GCC can now emit code for protecting applications from stack-smashing attacks.
+ The protection is realized by buffer overflow detection and reordering of
+ stack variables to avoid pointer corruption.
+
+Package: libhfssp`'SSP_SO`'LS
+TARGET_PACKAGE`'dnl
+Architecture: biarchhf_archs
+Section: libs
+Priority: PRI(optional)
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: GCC stack smashing protection library (hard float ABI)
+ GCC can now emit code for protecting applications from stack-smashing attacks.
+ The protection is realized by buffer overflow detection and reordering of
+ stack variables to avoid pointer corruption.
+
+Package: libsfssp`'SSP_SO`'LS
+TARGET_PACKAGE`'dnl
+Architecture: biarchsf_archs
+Section: libs
+Priority: PRI(optional)
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: GCC stack smashing protection library (soft float ABI)
+ GCC can now emit code for protecting applications from stack-smashing attacks.
+ The protection is realized by buffer overflow detection and reordering of
+ stack variables to avoid pointer corruption.
+')`'dnl
+')`'dnl native
+
+ifenabled(`libgomp',`
+Package: libgomp`'GOMP_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`any')
+ifdef(`TARGET',`',`Provides: libgomp'GOMP_SO`-armel [armel], libgomp'GOMP_SO`-armhf [armhf]
+')`'dnl
+ifdef(`MULTIARCH', `Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Breaks: ${multiarch:breaks}
+')`'dnl
+Priority: optional
+Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: GCC OpenMP (GOMP) support library
+ GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers
+ in the GNU Compiler Collection.
+
+Package: libgomp`'GOMP_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`any')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(gomp`'GOMP_SO,,=), ${misc:Depends}
+ifdef(`TARGET',`',`Provides: libgomp'GOMP_SO`-dbg-armel [armel], libgomp'GOMP_SO`-dbg-armhf [armhf]
+')`'dnl
+ifdef(`MULTIARCH', `Multi-Arch: same
+')`'dnl
+BUILT_USING`'dnl
+Description: GCC OpenMP (GOMP) support library (debug symbols)
+ GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers
+ in the GNU Compiler Collection.
+
+Package: lib32gomp`'GOMP_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Conflicts: ${confl:lib32}
+BUILT_USING`'dnl
+Description: GCC OpenMP (GOMP) support library (32bit)
+ GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers
+ in the GNU Compiler Collection.
+
+Package: lib32gomp`'GOMP_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(gomp`'GOMP_SO,32,=), ${misc:Depends}
+BUILT_USING`'dnl
+Description: GCC OpenMP (GOMP) support library (32 bit debug symbols)
+ GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers
+ in the GNU Compiler Collection.
+
+Package: lib64gomp`'GOMP_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: GCC OpenMP (GOMP) support library (64bit)
+ GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers
+ in the GNU Compiler Collection.
+
+Package: lib64gomp`'GOMP_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(gomp`'GOMP_SO,64,=), ${misc:Depends}
+BUILT_USING`'dnl
+Description: GCC OpenMP (GOMP) support library (64bit debug symbols)
+ GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers
+ in the GNU Compiler Collection.
+
+Package: libn32gomp`'GOMP_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: GCC OpenMP (GOMP) support library (n32)
+ GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers
+ in the GNU Compiler Collection.
+
+Package: libn32gomp`'GOMP_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(gomp`'GOMP_SO,n32,=), ${misc:Depends}
+BUILT_USING`'dnl
+Description: GCC OpenMP (GOMP) support library (n32 debug symbols)
+ GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers
+
+ifenabled(`libx32gomp',`
+Package: libx32gomp`'GOMP_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: GCC OpenMP (GOMP) support library (x32)
+ GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers
+ in the GNU Compiler Collection.
+
+Package: libx32gomp`'GOMP_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(gomp`'GOMP_SO,x32,=), ${misc:Depends}
+BUILT_USING`'dnl
+Description: GCC OpenMP (GOMP) support library (x32 debug symbols)
+ GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers
+')`'dnl libx32gomp
+
+ifenabled(`libhfgomp',`
+Package: libhfgomp`'GOMP_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+ifdef(`TARGET',`dnl',`Conflicts: libgomp'GOMP_SO`-armhf [biarchhf_archs]')
+BUILT_USING`'dnl
+Description: GCC OpenMP (GOMP) support library (hard float ABI)
+ GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers
+ in the GNU Compiler Collection.
+
+Package: libhfgomp`'GOMP_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(gomp`'GOMP_SO,hf,=), ${misc:Depends}
+ifdef(`TARGET',`dnl',`Conflicts: libgomp'GOMP_SO`-dbg-armhf [biarchhf_archs]')
+BUILT_USING`'dnl
+Description: GCC OpenMP (GOMP) support library (hard float ABI debug symbols)
+ GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers
+')`'dnl libhfgomp
+
+ifenabled(`libsfgomp',`
+Package: libsfgomp`'GOMP_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+ifdef(`TARGET',`dnl',`Conflicts: libgomp'GOMP_SO`-armel [biarchsf_archs]')
+BUILT_USING`'dnl
+Description: GCC OpenMP (GOMP) support library (soft float ABI)
+ GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers
+ in the GNU Compiler Collection.
+
+Package: libsfgomp`'GOMP_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(gomp`'GOMP_SO,sf,=), ${misc:Depends}
+ifdef(`TARGET',`dnl',`Conflicts: libgomp'GOMP_SO`-dbg-armel [biarchsf_archs]')
+BUILT_USING`'dnl
+Description: GCC OpenMP (GOMP) support library (soft float ABI debug symbols)
+ GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers
+')`'dnl libsfgomp
+
+ifenabled(`libneongomp',`
+Package: libgomp`'GOMP_SO-neon`'LS
+TARGET_PACKAGE`'dnl
+Architecture: NEON_ARCHS
+Section: libs
+Priority: optional
+Depends: BASELDEP, libc6-neon`'LS, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: GCC OpenMP (GOMP) support library [neon optimized]
+ GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers
+ in the GNU Compiler Collection.
+ .
+ This set of libraries is optimized to use a NEON coprocessor, and will
+ be selected instead when running under systems which have one.
+')`'dnl libneongomp
+')`'dnl libgomp
+
+ifenabled(`libitm',`
+Package: libitm`'ITM_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`any')
+ifdef(`TARGET',`',`Provides: libitm'ITM_SO`-armel [armel], libitm'ITM_SO`-armhf [armhf]
+')`'dnl
+ifdef(`MULTIARCH', `Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+')`'dnl
+Priority: optional
+Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: GNU Transactional Memory Library
+ GNU Transactional Memory Library (libitm) provides transaction support for
+ accesses to the memory of a process, enabling easy-to-use synchronization of
+ accesses to shared memory by several threads.
+
+Package: libitm`'ITM_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`any')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(itm`'ITM_SO,,=), ${misc:Depends}
+ifdef(`TARGET',`',`Provides: libitm'ITM_SO`-dbg-armel [armel], libitm'ITM_SO`-dbg-armhf [armhf]
+')`'dnl
+ifdef(`MULTIARCH', `Multi-Arch: same
+')`'dnl
+BUILT_USING`'dnl
+Description: GNU Transactional Memory Library (debug symbols)
+ GNU Transactional Memory Library (libitm) provides transaction support for
+ accesses to the memory of a process, enabling easy-to-use synchronization of
+ accesses to shared memory by several threads.
+
+Package: lib32itm`'ITM_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Conflicts: ${confl:lib32}
+BUILT_USING`'dnl
+Description: GNU Transactional Memory Library (32bit)
+ GNU Transactional Memory Library (libitm) provides transaction support for
+ accesses to the memory of a process, enabling easy-to-use synchronization of
+ accesses to shared memory by several threads.
+
+Package: lib32itm`'ITM_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(itm`'ITM_SO,32,=), ${misc:Depends}
+BUILT_USING`'dnl
+Description: GNU Transactional Memory Library (32 bit debug symbols)
+ GNU Transactional Memory Library (libitm) provides transaction support for
+ accesses to the memory of a process, enabling easy-to-use synchronization of
+ accesses to shared memory by several threads.
+
+Package: lib64itm`'ITM_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: GNU Transactional Memory Library (64bit)
+ GNU Transactional Memory Library (libitm) provides transaction support for
+ accesses to the memory of a process, enabling easy-to-use synchronization of
+ accesses to shared memory by several threads.
+
+Package: lib64itm`'ITM_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(itm`'ITM_SO,64,=), ${misc:Depends}
+BUILT_USING`'dnl
+Description: GNU Transactional Memory Library (64bit debug symbols)
+ GNU Transactional Memory Library (libitm) provides transaction support for
+ accesses to the memory of a process, enabling easy-to-use synchronization of
+ accesses to shared memory by several threads.
+
+#Package: libn32itm`'ITM_SO`'LS
+#Section: ifdef(`TARGET',`devel',`libs')
+#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs')
+#Priority: optional
+#Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+#BUILT_USING`'dnl
+#Description: GNU Transactional Memory Library (n32)
+# GNU Transactional Memory Library (libitm) provides transaction support for
+# accesses to the memory of a process, enabling easy-to-use synchronization of
+# accesses to shared memory by several threads.
+
+#Package: libn32itm`'ITM_SO-dbg`'LS
+#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs')
+#Section: debug
+#Priority: optional
+#Depends: BASELDEP, libdep(itm`'ITM_SO,n32,=), ${misc:Depends}
+#BUILT_USING`'dnl
+#Description: GNU Transactional Memory Library (n32 debug symbols)
+# GNU Transactional Memory Library (libitm) provides transaction support for
+# accesses to the memory of a process, enabling easy-to-use synchronization of
+# accesses to shared memory by several threads.
+
+ifenabled(`libx32itm',`
+Package: libx32itm`'ITM_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: GNU Transactional Memory Library (x32)
+ This manual documents the usage and internals of libitm. It provides
+ transaction support for accesses to the memory of a process, enabling
+ easy-to-use synchronization of accesses to shared memory by several threads.
+
+Package: libx32itm`'ITM_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(itm`'ITM_SO,x32,=), ${misc:Depends}
+BUILT_USING`'dnl
+Description: GNU Transactional Memory Library (x32 debug symbols)
+ This manual documents the usage and internals of libitm. It provides
+ transaction support for accesses to the memory of a process, enabling
+ easy-to-use synchronization of accesses to shared memory by several threads.
+')`'dnl libx32itm
+
+ifenabled(`libhfitm',`
+Package: libhfitm`'ITM_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+ifdef(`TARGET',`dnl',`Conflicts: libitm'ITM_SO`-armhf [biarchhf_archs]')
+BUILT_USING`'dnl
+Description: GNU Transactional Memory Library (hard float ABI)
+ GNU Transactional Memory Library (libitm) provides transaction support for
+ accesses to the memory of a process, enabling easy-to-use synchronization of
+ accesses to shared memory by several threads.
+
+Package: libhfitm`'ITM_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(itm`'ITM_SO,hf,=), ${misc:Depends}
+ifdef(`TARGET',`dnl',`Conflicts: libitm'ITM_SO`-armel [biarchsf_archs]')
+BUILT_USING`'dnl
+Description: GNU Transactional Memory Library (hard float ABI debug symbols)
+ GNU Transactional Memory Library (libitm) provides transaction support for
+ accesses to the memory of a process, enabling easy-to-use synchronization of
+ accesses to shared memory by several threads.
+')`'dnl libhfitm
+
+ifenabled(`libsfitm',`
+Package: libsfitm`'ITM_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: GNU Transactional Memory Library (soft float ABI)
+ GNU Transactional Memory Library (libitm) provides transaction support for
+ accesses to the memory of a process, enabling easy-to-use synchronization of
+ accesses to shared memory by several threads.
+
+Package: libsfitm`'ITM_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(itm`'ITM_SO,sf,=), ${misc:Depends}
+BUILT_USING`'dnl
+Description: GNU Transactional Memory Library (soft float ABI debug symbols)
+ GNU Transactional Memory Library (libitm) provides transaction support for
+ accesses to the memory of a process, enabling easy-to-use synchronization of
+ accesses to shared memory by several threads.
+')`'dnl libsfitm
+
+ifenabled(`libneonitm',`
+Package: libitm`'ITM_SO-neon`'LS
+TARGET_PACKAGE`'dnl
+Architecture: NEON_ARCHS
+Section: libs
+Priority: optional
+Depends: BASELDEP, libc6-neon`'LS, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: GNU Transactional Memory Library [neon optimized]
+ GNU Transactional Memory Library (libitm) provides transaction support for
+ accesses to the memory of a process, enabling easy-to-use synchronization of
+ accesses to shared memory by several threads.
+ .
+ This set of libraries is optimized to use a NEON coprocessor, and will
+ be selected instead when running under systems which have one.
+')`'dnl libneonitm
+')`'dnl libitm
+
+ifenabled(`libatomic',`
+Package: libatomic`'ATOMIC_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`any')
+ifdef(`TARGET',`',`Provides: libatomic'ATOMIC_SO`-armel [armel], libatomic'ATOMIC_SO`-armhf [armhf]
+')`'dnl
+ifdef(`MULTIARCH', `Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+')`'dnl
+Priority: optional
+Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: support library providing __atomic built-in functions
+ library providing __atomic built-in functions. When an atomic call cannot
+ be turned into lock-free instructions, GCC will make calls into this library.
+
+Package: libatomic`'ATOMIC_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`any')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(atomic`'ATOMIC_SO,,=), ${misc:Depends}
+ifdef(`TARGET',`',`Provides: libatomic'ATOMIC_SO`-dbg-armel [armel], libatomic'ATOMIC_SO`-dbg-armhf [armhf]
+')`'dnl
+ifdef(`MULTIARCH', `Multi-Arch: same
+')`'dnl
+BUILT_USING`'dnl
+Description: support library providing __atomic built-in functions (debug symbols)
+ library providing __atomic built-in functions. When an atomic call cannot
+ be turned into lock-free instructions, GCC will make calls into this library.
+
+Package: lib32atomic`'ATOMIC_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Conflicts: ${confl:lib32}
+BUILT_USING`'dnl
+Description: support library providing __atomic built-in functions (32bit)
+ library providing __atomic built-in functions. When an atomic call cannot
+ be turned into lock-free instructions, GCC will make calls into this library.
+
+Package: lib32atomic`'ATOMIC_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(atomic`'ATOMIC_SO,32,=), ${misc:Depends}
+BUILT_USING`'dnl
+Description: support library providing __atomic built-in functions (32 bit debug symbols)
+ library providing __atomic built-in functions. When an atomic call cannot
+ be turned into lock-free instructions, GCC will make calls into this library.
+
+Package: lib64atomic`'ATOMIC_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: support library providing __atomic built-in functions (64bit)
+ library providing __atomic built-in functions. When an atomic call cannot
+ be turned into lock-free instructions, GCC will make calls into this library.
+
+Package: lib64atomic`'ATOMIC_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(atomic`'ATOMIC_SO,64,=), ${misc:Depends}
+BUILT_USING`'dnl
+Description: support library providing __atomic built-in functions (64bit debug symbols)
+ library providing __atomic built-in functions. When an atomic call cannot
+ be turned into lock-free instructions, GCC will make calls into this library.
+
+Package: libn32atomic`'ATOMIC_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: support library providing __atomic built-in functions (n32)
+ library providing __atomic built-in functions. When an atomic call cannot
+ be turned into lock-free instructions, GCC will make calls into this library.
+
+Package: libn32atomic`'ATOMIC_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(atomic`'ATOMIC_SO,n32,=), ${misc:Depends}
+BUILT_USING`'dnl
+Description: support library providing __atomic built-in functions (n32 debug symbols)
+ library providing __atomic built-in functions. When an atomic call cannot
+ be turned into lock-free instructions, GCC will make calls into this library.
+
+ifenabled(`libx32atomic',`
+Package: libx32atomic`'ATOMIC_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: support library providing __atomic built-in functions (x32)
+ library providing __atomic built-in functions. When an atomic call cannot
+ be turned into lock-free instructions, GCC will make calls into this library.
+
+Package: libx32atomic`'ATOMIC_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(atomic`'ATOMIC_SO,x32,=), ${misc:Depends}
+BUILT_USING`'dnl
+Description: support library providing __atomic built-in functions (x32 debug symbols)
+ library providing __atomic built-in functions. When an atomic call cannot
+ be turned into lock-free instructions, GCC will make calls into this library.
+')`'dnl libx32atomic
+
+ifenabled(`libhfatomic',`
+Package: libhfatomic`'ATOMIC_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+ifdef(`TARGET',`dnl',`Conflicts: libatomic'ATOMIC_SO`-armhf [biarchhf_archs]')
+BUILT_USING`'dnl
+Description: support library providing __atomic built-in functions (hard float ABI)
+ library providing __atomic built-in functions. When an atomic call cannot
+ be turned into lock-free instructions, GCC will make calls into this library.
+
+Package: libhfatomic`'ATOMIC_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(atomic`'ATOMIC_SO,hf,=), ${misc:Depends}
+ifdef(`TARGET',`dnl',`Conflicts: libatomic'ATOMIC_SO`-armel [biarchsf_archs]')
+BUILT_USING`'dnl
+Description: support library providing __atomic built-in functions (hard float ABI debug symbols)
+ library providing __atomic built-in functions. When an atomic call cannot
+ be turned into lock-free instructions, GCC will make calls into this library.
+')`'dnl libhfatomic
+
+ifenabled(`libsfatomic',`
+Package: libsfatomic`'ATOMIC_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: support library providing __atomic built-in functions (soft float ABI)
+ library providing __atomic built-in functions. When an atomic call cannot
+ be turned into lock-free instructions, GCC will make calls into this library.
+
+Package: libsfatomic`'ATOMIC_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(atomic`'ATOMIC_SO,sf,=), ${misc:Depends}
+BUILT_USING`'dnl
+Description: support library providing __atomic built-in functions (soft float ABI debug symbols)
+ library providing __atomic built-in functions. When an atomic call cannot
+ be turned into lock-free instructions, GCC will make calls into this library.
+')`'dnl libsfatomic
+
+ifenabled(`libneonatomic',`
+Package: libatomic`'ATOMIC_SO-neon`'LS
+TARGET_PACKAGE`'dnl
+Architecture: NEON_ARCHS
+Section: libs
+Priority: optional
+Depends: BASELDEP, libc6-neon`'LS, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: support library providing __atomic built-in functions [neon optimized]
+ library providing __atomic built-in functions. When an atomic call cannot
+ be turned into lock-free instructions, GCC will make calls into this library.
+ .
+ This set of libraries is optimized to use a NEON coprocessor, and will
+ be selected instead when running under systems which have one.
+')`'dnl libneonatomic
+')`'dnl libatomic
+
+ifenabled(`libasan',`
+Package: libasan`'ASAN_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`any')
+ifdef(`TARGET',`',`Provides: libasan'ASAN_SO`-armel [armel], libasan'ASAN_SO`-armhf [armhf]
+')`'dnl
+ifdef(`MULTIARCH', `Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+')`'dnl
+Priority: optional
+Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: AddressSanitizer -- a fast memory error detector
+ AddressSanitizer (ASan) is a fast memory error detector. It finds
+ use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs.
+
+Package: libasan`'ASAN_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`any')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(asan`'ASAN_SO,,=), ${misc:Depends}
+ifdef(`TARGET',`',`Provides: libasan'ASAN_SO`-dbg-armel [armel], libasan'ASAN_SO`-dbg-armhf [armhf]
+')`'dnl
+ifdef(`MULTIARCH', `Multi-Arch: same
+')`'dnl
+BUILT_USING`'dnl
+Description: AddressSanitizer -- a fast memory error detector (debug symbols)
+ AddressSanitizer (ASan) is a fast memory error detector. It finds
+ use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs.
+
+Package: lib32asan`'ASAN_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Conflicts: ${confl:lib32}
+BUILT_USING`'dnl
+Description: AddressSanitizer -- a fast memory error detector (32bit)
+ AddressSanitizer (ASan) is a fast memory error detector. It finds
+ use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs.
+
+Package: lib32asan`'ASAN_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(asan`'ASAN_SO,32,=), ${misc:Depends}
+BUILT_USING`'dnl
+Description: AddressSanitizer -- a fast memory error detector (32 bit debug symbols)
+ AddressSanitizer (ASan) is a fast memory error detector. It finds
+ use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs.
+
+Package: lib64asan`'ASAN_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: AddressSanitizer -- a fast memory error detector (64bit)
+ AddressSanitizer (ASan) is a fast memory error detector. It finds
+ use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs.
+
+Package: lib64asan`'ASAN_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(asan`'ASAN_SO,64,=), ${misc:Depends}
+BUILT_USING`'dnl
+Description: AddressSanitizer -- a fast memory error detector (64bit debug symbols)
+ AddressSanitizer (ASan) is a fast memory error detector. It finds
+ use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs.
+
+#Package: libn32asan`'ASAN_SO`'LS
+#Section: ifdef(`TARGET',`devel',`libs')
+#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs')
+#Priority: optional
+#Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+#BUILT_USING`'dnl
+#Description: AddressSanitizer -- a fast memory error detector (n32)
+# AddressSanitizer (ASan) is a fast memory error detector. It finds
+# use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs.
+
+#Package: libn32asan`'ASAN_SO-dbg`'LS
+#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs')
+#Section: debug
+#Priority: optional
+#Depends: BASELDEP, libdep(asan`'ASAN_SO,n32,=), ${misc:Depends}
+#BUILT_USING`'dnl
+#Description: AddressSanitizer -- a fast memory error detector (n32 debug symbols)
+# AddressSanitizer (ASan) is a fast memory error detector. It finds
+# use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs.
+
+ifenabled(`libx32asan',`
+Package: libx32asan`'ASAN_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: AddressSanitizer -- a fast memory error detector (x32)
+ AddressSanitizer (ASan) is a fast memory error detector. It finds
+ use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs.
+
+Package: libx32asan`'ASAN_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(asan`'ASAN_SO,x32,=), ${misc:Depends}
+BUILT_USING`'dnl
+Description: AddressSanitizer -- a fast memory error detector (x32 debug symbols)
+ AddressSanitizer (ASan) is a fast memory error detector. It finds
+ use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs.
+')`'dnl libx32asan
+
+ifenabled(`libhfasan',`
+Package: libhfasan`'ASAN_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+ifdef(`TARGET',`dnl',`Conflicts: libasan'ASAN_SO`-armhf [biarchhf_archs]')
+BUILT_USING`'dnl
+Description: AddressSanitizer -- a fast memory error detector (hard float ABI)
+ AddressSanitizer (ASan) is a fast memory error detector. It finds
+ use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs.
+
+Package: libhfasan`'ASAN_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(asan`'ASAN_SO,hf,=), ${misc:Depends}
+ifdef(`TARGET',`dnl',`Conflicts: libasan'ASAN_SO`-armel [biarchsf_archs]')
+BUILT_USING`'dnl
+Description: AddressSanitizer -- a fast memory error detector (hard float ABI debug symbols)
+ AddressSanitizer (ASan) is a fast memory error detector. It finds
+ use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs.
+')`'dnl libhfasan
+
+ifenabled(`libsfasan',`
+Package: libsfasan`'ASAN_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: AddressSanitizer -- a fast memory error detector (soft float ABI)
+ AddressSanitizer (ASan) is a fast memory error detector. It finds
+ use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs.
+
+Package: libsfasan`'ASAN_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(asan`'ASAN_SO,sf,=), ${misc:Depends}
+BUILT_USING`'dnl
+Description: AddressSanitizer -- a fast memory error detector (soft float ABI debug symbols)
+ AddressSanitizer (ASan) is a fast memory error detector. It finds
+ use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs.
+')`'dnl libsfasan
+
+ifenabled(`libneonasan',`
+Package: libasan`'ASAN_SO-neon`'LS
+TARGET_PACKAGE`'dnl
+Architecture: NEON_ARCHS
+Section: libs
+Priority: optional
+Depends: BASELDEP, libc6-neon`'LS, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: AddressSanitizer -- a fast memory error detector [neon optimized]
+ AddressSanitizer (ASan) is a fast memory error detector. It finds
+ use-after-free and {heap,stack,global}-buffer overflow bugs in C/C++ programs.
+ .
+ This set of libraries is optimized to use a NEON coprocessor, and will
+ be selected instead when running under systems which have one.
+')`'dnl libneonasan
+')`'dnl libasan
+
+ifenabled(`liblsan',`
+Package: liblsan`'LSAN_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`any')
+ifdef(`MULTIARCH', `Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+')`'dnl
+Priority: optional
+Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: LeakSanitizer -- a memory leak detector (runtime)
+ LeakSanitizer (Lsan) is a memory leak detector which is integrated
+ into AddressSanitizer.
+
+Package: liblsan`'LSAN_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`any')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(lsan`'LSAN_SO,,=), ${misc:Depends}
+ifdef(`MULTIARCH', `Multi-Arch: same
+')`'dnl
+BUILT_USING`'dnl
+Description: LeakSanitizer -- a memory leak detector (debug symbols)
+ LeakSanitizer (Lsan) is a memory leak detector which is integrated
+ into AddressSanitizer.
+
+ifenabled(`lib32lsan',`
+Package: lib32lsan`'LSAN_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Conflicts: ${confl:lib32}
+BUILT_USING`'dnl
+Description: LeakSanitizer -- a memory leak detector (32bit)
+ LeakSanitizer (Lsan) is a memory leak detector which is integrated
+ into AddressSanitizer (empty package).
+
+Package: lib32lsan`'LSAN_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(lsan`'LSAN_SO,32,=), ${misc:Depends}
+BUILT_USING`'dnl
+Description: LeakSanitizer -- a memory leak detector (32 bit debug symbols)
+ LeakSanitizer (Lsan) is a memory leak detector which is integrated
+ into AddressSanitizer (empty package).
+')`'dnl lib32lsan
+
+ifenabled(`lib64lsan',`
+#Package: lib64lsan`'LSAN_SO`'LS
+#Section: ifdef(`TARGET',`devel',`libs')
+#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs')
+#Priority: optional
+#Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+#BUILT_USING`'dnl
+#Description: LeakSanitizer -- a memory leak detector (64bit)
+# LeakSanitizer (Lsan) is a memory leak detector which is integrated
+# into AddressSanitizer.
+
+#Package: lib64lsan`'LSAN_SO-dbg`'LS
+#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs')
+#Section: debug
+#Priority: optional
+#Depends: BASELDEP, libdep(lsan`'LSAN_SO,64,=), ${misc:Depends}
+#BUILT_USING`'dnl
+#Description: LeakSanitizer -- a memory leak detector (64bit debug symbols)
+# LeakSanitizer (Lsan) is a memory leak detector which is integrated
+# into AddressSanitizer.
+')`'dnl lib64lsan
+
+ifenabled(`libn32lsan',`
+#Package: libn32lsan`'LSAN_SO`'LS
+#Section: ifdef(`TARGET',`devel',`libs')
+#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs')
+#Priority: optional
+#Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+#BUILT_USING`'dnl
+#Description: LeakSanitizer -- a memory leak detector (n32)
+# LeakSanitizer (Lsan) is a memory leak detector which is integrated
+# into AddressSanitizer.
+
+#Package: libn32lsan`'LSAN_SO-dbg`'LS
+#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs')
+#Section: debug
+#Priority: optional
+#Depends: BASELDEP, libdep(lsan`'LSAN_SO,n32,=), ${misc:Depends}
+#BUILT_USING`'dnl
+#Description: LeakSanitizer -- a memory leak detector (n32 debug symbols)
+# LeakSanitizer (Lsan) is a memory leak detector which is integrated
+# into AddressSanitizer.
+')`'dnl libn32lsan
+
+ifenabled(`libx32lsan',`
+Package: libx32lsan`'LSAN_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: LeakSanitizer -- a memory leak detector (x32)
+ LeakSanitizer (Lsan) is a memory leak detector which is integrated
+ into AddressSanitizer (empty package).
+
+Package: libx32lsan`'LSAN_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(lsan`'LSAN_SO,x32,=), ${misc:Depends}
+BUILT_USING`'dnl
+Description: LeakSanitizer -- a memory leak detector (x32 debug symbols)
+ LeakSanitizer (Lsan) is a memory leak detector which is integrated
+ into AddressSanitizer (empty package).
+')`'dnl libx32lsan
+
+ifenabled(`libhflsan',`
+Package: libhflsan`'LSAN_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+ifdef(`TARGET',`dnl',`Conflicts: liblsan'LSAN_SO`-armhf [biarchhf_archs]')
+BUILT_USING`'dnl
+Description: LeakSanitizer -- a memory leak detector (hard float ABI)
+ LeakSanitizer (Lsan) is a memory leak detector which is integrated
+ into AddressSanitizer.
+
+Package: libhflsan`'LSAN_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(lsan`'LSAN_SO,hf,=), ${misc:Depends}
+ifdef(`TARGET',`dnl',`Conflicts: liblsan'LSAN_SO`-armel [biarchsf_archs]')
+BUILT_USING`'dnl
+Description: LeakSanitizer -- a memory leak detector (hard float ABI debug symbols)
+ LeakSanitizer (Lsan) is a memory leak detector which is integrated
+ into AddressSanitizer.
+')`'dnl libhflsan
+
+ifenabled(`libsflsan',`
+Package: libsflsan`'LSAN_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: LeakSanitizer -- a memory leak detector (soft float ABI)
+ LeakSanitizer (Lsan) is a memory leak detector which is integrated
+ into AddressSanitizer.
+
+Package: libsflsan`'LSAN_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(lsan`'LSAN_SO,sf,=), ${misc:Depends}
+BUILT_USING`'dnl
+Description: LeakSanitizer -- a memory leak detector (soft float ABI debug symbols)
+ LeakSanitizer (Lsan) is a memory leak detector which is integrated
+ into AddressSanitizer.
+')`'dnl libsflsan
+
+ifenabled(`libneonlsan',`
+Package: liblsan`'LSAN_SO-neon`'LS
+TARGET_PACKAGE`'dnl
+Architecture: NEON_ARCHS
+Section: libs
+Priority: optional
+Depends: BASELDEP, libc6-neon`'LS, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: LeakSanitizer -- a memory leak detector [neon optimized]
+ LeakSanitizer (Lsan) is a memory leak detector which is integrated
+ into AddressSanitizer.
+ .
+ This set of libraries is optimized to use a NEON coprocessor, and will
+ be selected instead when running under systems which have one.
+')`'dnl libneonlsan
+')`'dnl liblsan
+
+ifenabled(`libtsan',`
+Package: libtsan`'TSAN_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`any')
+ifdef(`TARGET',`',`Provides: libtsan'TSAN_SO`-armel [armel], libtsan'TSAN_SO`-armhf [armhf]
+')`'dnl
+ifdef(`MULTIARCH', `Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+')`'dnl
+Priority: optional
+Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: ThreadSanitizer -- a Valgrind-based detector of data races (runtime)
+ ThreadSanitizer (Tsan) is a data race detector for C/C++ programs.
+ The Linux and Mac versions are based on Valgrind.
+
+Package: libtsan`'TSAN_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`any')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(tsan`'TSAN_SO,,=), ${misc:Depends}
+ifdef(`TARGET',`',`Provides: libtsan'TSAN_SO`-dbg-armel [armel], libtsan'TSAN_SO`-dbg-armhf [armhf]
+')`'dnl
+ifdef(`MULTIARCH', `Multi-Arch: same
+')`'dnl
+BUILT_USING`'dnl
+Description: ThreadSanitizer -- a Valgrind-based detector of data races (debug symbols)
+ ThreadSanitizer (Tsan) is a data race detector for C/C++ programs.
+ The Linux and Mac versions are based on Valgrind.
+
+ifenabled(`lib32tsan',`
+Package: lib32tsan`'TSAN_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Conflicts: ${confl:lib32}
+BUILT_USING`'dnl
+Description: ThreadSanitizer -- a Valgrind-based detector of data races (32bit)
+ ThreadSanitizer (Tsan) is a data race detector for C/C++ programs.
+ The Linux and Mac versions are based on Valgrind.
+
+Package: lib32tsan`'TSAN_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(tsan`'TSAN_SO,32,=), ${misc:Depends}
+BUILT_USING`'dnl
+Description: ThreadSanitizer -- a Valgrind-based detector of data races (32 bit debug symbols)
+ ThreadSanitizer (Tsan) is a data race detector for C/C++ programs.
+ The Linux and Mac versions are based on Valgrind.
+')`'dnl lib32tsan
+
+ifenabled(`lib64tsan',`
+Package: lib64tsan`'TSAN_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: ThreadSanitizer -- a Valgrind-based detector of data races (64bit)
+ ThreadSanitizer (Tsan) is a data race detector for C/C++ programs.
+ The Linux and Mac versions are based on Valgrind.
+
+Package: lib64tsan`'TSAN_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(tsan`'TSAN_SO,64,=), ${misc:Depends}
+BUILT_USING`'dnl
+Description: ThreadSanitizer -- a Valgrind-based detector of data races (64bit debug symbols)
+ ThreadSanitizer (Tsan) is a data race detector for C/C++ programs.
+ The Linux and Mac versions are based on Valgrind.
+')`'dnl lib64tsan
+
+ifenabled(`libn32tsan',`
+Package: libn32tsan`'TSAN_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: ThreadSanitizer -- a Valgrind-based detector of data races (n32)
+ ThreadSanitizer (Tsan) is a data race detector for C/C++ programs.
+ The Linux and Mac versions are based on Valgrind.
+
+Package: libn32tsan`'TSAN_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(tsan`'TSAN_SO,n32,=), ${misc:Depends}
+BUILT_USING`'dnl
+Description: ThreadSanitizer -- a Valgrind-based detector of data races (n32 debug symbols)
+ ThreadSanitizer (Tsan) is a data race detector for C/C++ programs.
+ The Linux and Mac versions are based on Valgrind.
+')`'dnl libn32tsan
+
+ifenabled(`libx32tsan',`
+Package: libx32tsan`'TSAN_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: ThreadSanitizer -- a Valgrind-based detector of data races (x32)
+ ThreadSanitizer (Tsan) is a data race detector for C/C++ programs.
+ The Linux and Mac versions are based on Valgrind.
+
+Package: libx32tsan`'TSAN_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(tsan`'TSAN_SO,x32,=), ${misc:Depends}
+BUILT_USING`'dnl
+Description: ThreadSanitizer -- a Valgrind-based detector of data races (x32 debug symbols)
+ ThreadSanitizer (Tsan) is a data race detector for C/C++ programs.
+ The Linux and Mac versions are based on Valgrind.
+')`'dnl libx32tsan
+
+ifenabled(`libhftsan',`
+Package: libhftsan`'TSAN_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+ifdef(`TARGET',`dnl',`Conflicts: libtsan'TSAN_SO`-armhf [biarchhf_archs]')
+BUILT_USING`'dnl
+Description: ThreadSanitizer -- a Valgrind-based detector of data races (hard float ABI)
+ ThreadSanitizer (Tsan) is a data race detector for C/C++ programs.
+ The Linux and Mac versions are based on Valgrind.
+
+Package: libhftsan`'TSAN_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(tsan`'TSAN_SO,hf,=), ${misc:Depends}
+ifdef(`TARGET',`dnl',`Conflicts: libtsan'TSAN_SO`-armel [biarchsf_archs]')
+BUILT_USING`'dnl
+Description: ThreadSanitizer -- a Valgrind-based detector of data races (hard float ABI debug symbols)
+')`'dnl libhftsan
+
+ifenabled(`libsftsan',`
+Package: libsftsan`'TSAN_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: ThreadSanitizer -- a Valgrind-based detector of data races (soft float ABI)
+ ThreadSanitizer (Tsan) is a data race detector for C/C++ programs.
+ The Linux and Mac versions are based on Valgrind.
+
+Package: libsftsan`'TSAN_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(tsan`'TSAN_SO,sf,=), ${misc:Depends}
+BUILT_USING`'dnl
+Description: ThreadSanitizer -- a Valgrind-based detector of data races (soft float ABI debug symbols)
+ ThreadSanitizer (Tsan) is a data race detector for C/C++ programs.
+ The Linux and Mac versions are based on Valgrind.
+')`'dnl libsftsan
+
+ifenabled(`libneontsan',`
+Package: libtsan`'TSAN_SO-neon`'LS
+TARGET_PACKAGE`'dnl
+Architecture: NEON_ARCHS
+Section: libs
+Priority: optional
+Depends: BASELDEP, libc6-neon`'LS, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: ThreadSanitizer -- a Valgrind-based detector of data races [neon optimized]
+ ThreadSanitizer (Tsan) is a data race detector for C/C++ programs.
+ The Linux and Mac versions are based on Valgrind.
+ .
+ This set of libraries is optimized to use a NEON coprocessor, and will
+ be selected instead when running under systems which have one.
+')`'dnl libneontsan
+')`'dnl libtsan
+
+ifenabled(`libubsan',`
+Package: libubsan`'UBSAN_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`any')
+ifdef(`TARGET',`',`Provides: libubsan'UBSAN_SO`-armel [armel], libubsan'UBSAN_SO`-armhf [armhf]
+')`'dnl
+ifdef(`MULTIARCH', `Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+')`'dnl
+Priority: optional
+Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: UBSan -- undefined behaviour sanitizer (runtime)
+ UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined.
+ Various computations will be instrumented to detect undefined behavior
+ at runtime. Available for C and C++.
+
+Package: libubsan`'UBSAN_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`any')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(ubsan`'UBSAN_SO,,=), ${misc:Depends}
+ifdef(`TARGET',`',`Provides: libubsan'UBSAN_SO`-dbg-armel [armel], libubsan'UBSAN_SO`-dbg-armhf [armhf]
+')`'dnl
+ifdef(`MULTIARCH', `Multi-Arch: same
+')`'dnl
+BUILT_USING`'dnl
+Description: UBSan -- undefined behaviour sanitizer (debug symbols)
+ UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined.
+ Various computations will be instrumented to detect undefined behavior
+ at runtime. Available for C and C++.
+
+ifenabled(`lib32ubsan',`
+Package: lib32ubsan`'UBSAN_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Conflicts: ${confl:lib32}
+BUILT_USING`'dnl
+Description: UBSan -- undefined behaviour sanitizer (32bit)
+ UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined.
+ Various computations will be instrumented to detect undefined behavior
+ at runtime. Available for C and C++.
+
+Package: lib32ubsan`'UBSAN_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(ubsan`'UBSAN_SO,32,=), ${misc:Depends}
+BUILT_USING`'dnl
+Description: UBSan -- undefined behaviour sanitizer (32 bit debug symbols)
+ UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined.
+ Various computations will be instrumented to detect undefined behavior
+ at runtime. Available for C and C++.
+')`'dnl lib32ubsan
+
+ifenabled(`lib64ubsan',`
+Package: lib64ubsan`'UBSAN_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: UBSan -- undefined behaviour sanitizer (64bit)
+ UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined.
+ Various computations will be instrumented to detect undefined behavior
+ at runtime. Available for C and C++.
+
+Package: lib64ubsan`'UBSAN_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(ubsan`'UBSAN_SO,64,=), ${misc:Depends}
+BUILT_USING`'dnl
+Description: UBSan -- undefined behaviour sanitizer (64bit debug symbols)
+ UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined.
+ Various computations will be instrumented to detect undefined behavior
+ at runtime. Available for C and C++.
+')`'dnl lib64ubsan
+
+ifenabled(`libn32ubsan',`
+#Package: libn32ubsan`'UBSAN_SO`'LS
+#Section: ifdef(`TARGET',`devel',`libs')
+#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs')
+#Priority: optional
+#Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+#BUILT_USING`'dnl
+#Description: UBSan -- undefined behaviour sanitizer (n32)
+# UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined.
+# Various computations will be instrumented to detect undefined behavior
+# at runtime. Available for C and C++.
+
+#Package: libn32ubsan`'UBSAN_SO-dbg`'LS
+#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs')
+#Section: debug
+#Priority: optional
+#Depends: BASELDEP, libdep(ubsan`'UBSAN_SO,n32,=), ${misc:Depends}
+#BUILT_USING`'dnl
+#Description: UBSan -- undefined behaviour sanitizer (n32 debug symbols)
+# UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined.
+# Various computations will be instrumented to detect undefined behavior
+# at runtime. Available for C and C++.
+')`'dnl libn32ubsan
+
+ifenabled(`libx32ubsan',`
+Package: libx32ubsan`'UBSAN_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: UBSan -- undefined behaviour sanitizer (x32)
+ UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined.
+ Various computations will be instrumented to detect undefined behavior
+ at runtime. Available for C and C++.
+
+Package: libx32ubsan`'UBSAN_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(ubsan`'UBSAN_SO,x32,=), ${misc:Depends}
+BUILT_USING`'dnl
+Description: UBSan -- undefined behaviour sanitizer (x32 debug symbols)
+ UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined.
+ Various computations will be instrumented to detect undefined behavior
+ at runtime. Available for C and C++.
+')`'dnl libx32ubsan
+
+ifenabled(`libhfubsan',`
+Package: libhfubsan`'UBSAN_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+ifdef(`TARGET',`dnl',`Conflicts: libubsan'UBSAN_SO`-armhf [biarchhf_archs]')
+BUILT_USING`'dnl
+Description: UBSan -- undefined behaviour sanitizer (hard float ABI)
+ UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined.
+ Various computations will be instrumented to detect undefined behavior
+ at runtime. Available for C and C++.
+
+Package: libhfubsan`'UBSAN_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(ubsan`'UBSAN_SO,hf,=), ${misc:Depends}
+ifdef(`TARGET',`dnl',`Conflicts: libubsan'UBSAN_SO`-armel [biarchsf_archs]')
+BUILT_USING`'dnl
+Description: UBSan -- undefined behaviour sanitizer (hard float ABI debug symbols)
+ UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined.
+ Various computations will be instrumented to detect undefined behavior
+ at runtime. Available for C and C++.
+')`'dnl libhfubsan
+
+ifenabled(`libsfubsan',`
+Package: libsfubsan`'UBSAN_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: UBSan -- undefined behaviour sanitizer (soft float ABI)
+ UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined.
+ Various computations will be instrumented to detect undefined behavior
+ at runtime. Available for C and C++.
+
+Package: libsfubsan`'UBSAN_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(ubsan`'UBSAN_SO,sf,=), ${misc:Depends}
+BUILT_USING`'dnl
+Description: UBSan -- undefined behaviour sanitizer (soft float ABI debug symbols)
+ UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined.
+ Various computations will be instrumented to detect undefined behavior
+ at runtime. Available for C and C++.
+')`'dnl libsfubsan
+
+ifenabled(`libneonubsan',`
+Package: libubsan`'UBSAN_SO-neon`'LS
+TARGET_PACKAGE`'dnl
+Architecture: NEON_ARCHS
+Section: libs
+Priority: optional
+Depends: BASELDEP, libc6-neon`'LS, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: UBSan -- undefined behaviour sanitizer [neon optimized]
+ UndefinedBehaviorSanitizer can be enabled via -fsanitize=undefined.
+ Various computations will be instrumented to detect undefined behavior
+ at runtime. Available for C and C++.
+ .
+ This set of libraries is optimized to use a NEON coprocessor, and will
+ be selected instead when running under systems which have one.
+')`'dnl libneonubsan
+')`'dnl libubsan
+
+ifenabled(`libvtv',`
+Package: libvtv`'VTV_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`any')
+ifdef(`MULTIARCH', `Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+')`'dnl
+Priority: optional
+Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: GNU vtable verification library (runtime)
+ Vtable verification is a new security hardening feature for GCC that
+ is designed to detect and handle (during program execution) when a
+ vtable pointer that is about to be used for a virtual function call is
+ not a valid vtable pointer for that call.
+
+Package: libvtv`'VTV_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`any')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(vtv`'VTV_SO,,=), ${misc:Depends}
+ifdef(`MULTIARCH', `Multi-Arch: same
+')`'dnl
+BUILT_USING`'dnl
+Description: GNU vtable verification library (debug symbols)
+ Vtable verification is a new security hardening feature for GCC that
+ is designed to detect and handle (during program execution) when a
+ vtable pointer that is about to be used for a virtual function call is
+ not a valid vtable pointer for that call.
+
+ifenabled(`lib32vtv',`
+Package: lib32vtv`'VTV_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Conflicts: ${confl:lib32}
+BUILT_USING`'dnl
+Description: GNU vtable verification library (32bit)
+ Vtable verification is a new security hardening feature for GCC that
+ is designed to detect and handle (during program execution) when a
+ vtable pointer that is about to be used for a virtual function call is
+ not a valid vtable pointer for that call.
+
+Package: lib32vtv`'VTV_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(vtv`'VTV_SO,32,=), ${misc:Depends}
+BUILT_USING`'dnl
+Description: GNU vtable verification library (32 bit debug symbols)
+ Vtable verification is a new security hardening feature for GCC that
+ is designed to detect and handle (during program execution) when a
+ vtable pointer that is about to be used for a virtual function call is
+ not a valid vtable pointer for that call.
+')`'dnl lib32vtv
+
+ifenabled(`lib64vtv',`
+Package: lib64vtv`'VTV_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: GNU vtable verification library (64bit)
+ Vtable verification is a new security hardening feature for GCC that
+ is designed to detect and handle (during program execution) when a
+ vtable pointer that is about to be used for a virtual function call is
+ not a valid vtable pointer for that call.
+
+Package: lib64vtv`'VTV_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(vtv`'VTV_SO,64,=), ${misc:Depends}
+BUILT_USING`'dnl
+Description: GNU vtable verification library (64bit debug symbols)
+ Vtable verification is a new security hardening feature for GCC that
+ is designed to detect and handle (during program execution) when a
+ vtable pointer that is about to be used for a virtual function call is
+ not a valid vtable pointer for that call.
+')`'dnl lib64vtv
+
+ifenabled(`libn32vtv',`
+Package: libn32vtv`'VTV_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: GNU vtable verification library (n32)
+ Vtable verification is a new security hardening feature for GCC that
+ is designed to detect and handle (during program execution) when a
+ vtable pointer that is about to be used for a virtual function call is
+ not a valid vtable pointer for that call.
+
+Package: libn32vtv`'VTV_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(vtv`'VTV_SO,n32,=), ${misc:Depends}
+BUILT_USING`'dnl
+Description: GNU vtable verification library (n32 debug symbols)
+ Vtable verification is a new security hardening feature for GCC that
+ is designed to detect and handle (during program execution) when a
+ vtable pointer that is about to be used for a virtual function call is
+ not a valid vtable pointer for that call.
+')`'dnl libn32vtv
+
+ifenabled(`libx32vtv',`
+Package: libx32vtv`'VTV_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: GNU vtable verification library (x32)
+ Vtable verification is a new security hardening feature for GCC that
+ is designed to detect and handle (during program execution) when a
+ vtable pointer that is about to be used for a virtual function call is
+ not a valid vtable pointer for that call.
+
+Package: libx32vtv`'VTV_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(vtv`'VTV_SO,x32,=), ${misc:Depends}
+BUILT_USING`'dnl
+Description: GNU vtable verification library (x32 debug symbols)
+ Vtable verification is a new security hardening feature for GCC that
+ is designed to detect and handle (during program execution) when a
+ vtable pointer that is about to be used for a virtual function call is
+ not a valid vtable pointer for that call.
+')`'dnl libx32vtv
+
+ifenabled(`libhfvtv',`
+Package: libhfvtv`'VTV_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+ifdef(`TARGET',`dnl',`Conflicts: libvtv'VTV_SO`-armhf [biarchhf_archs]')
+BUILT_USING`'dnl
+Description: GNU vtable verification library (hard float ABI)
+ Vtable verification is a new security hardening feature for GCC that
+ is designed to detect and handle (during program execution) when a
+ vtable pointer that is about to be used for a virtual function call is
+ not a valid vtable pointer for that call.
+
+Package: libhfvtv`'VTV_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(vtv`'VTV_SO,hf,=), ${misc:Depends}
+ifdef(`TARGET',`dnl',`Conflicts: libvtv'VTV_SO`-armel [biarchsf_archs]')
+BUILT_USING`'dnl
+Description: GNU vtable verification library (hard float ABI debug symbols)
+ Vtable verification is a new security hardening feature for GCC that
+ is designed to detect and handle (during program execution) when a
+ vtable pointer that is about to be used for a virtual function call is
+ not a valid vtable pointer for that call.
+')`'dnl libhfvtv
+
+ifenabled(`libsfvtv',`
+Package: libsfvtv`'VTV_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: GNU vtable verification library (soft float ABI)
+ Vtable verification is a new security hardening feature for GCC that
+ is designed to detect and handle (during program execution) when a
+ vtable pointer that is about to be used for a virtual function call is
+ not a valid vtable pointer for that call.
+
+Package: libsfvtv`'VTV_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(vtv`'VTV_SO,sf,=), ${misc:Depends}
+BUILT_USING`'dnl
+Description: GNU vtable verification library (soft float ABI debug symbols)
+ Vtable verification is a new security hardening feature for GCC that
+ is designed to detect and handle (during program execution) when a
+ vtable pointer that is about to be used for a virtual function call is
+ not a valid vtable pointer for that call.
+')`'dnl libsfvtv
+
+ifenabled(`libneonvtv',`
+Package: libvtv`'VTV_SO-neon`'LS
+TARGET_PACKAGE`'dnl
+Architecture: NEON_ARCHS
+Section: libs
+Priority: optional
+Depends: BASELDEP, libc6-neon`'LS, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: GNU vtable verification library [neon optimized]
+ Vtable verification is a new security hardening feature for GCC that
+ is designed to detect and handle (during program execution) when a
+ vtable pointer that is about to be used for a virtual function call is
+ not a valid vtable pointer for that call.
+ .
+ This set of libraries is optimized to use a NEON coprocessor, and will
+ be selected instead when running under systems which have one.
+')`'dnl libneonvtv
+')`'dnl libvtv
+
+ifenabled(`libmpx',`
+Package: libmpx`'MPX_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`any')
+ifdef(`TARGET',`',`Provides: libmpx'MPX_SO`-armel [armel], libmpx'MPX_SO`-armhf [armhf]
+')`'dnl
+ifdef(`MULTIARCH', `Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+')`'dnl
+Priority: optional
+Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends}
+Replaces: libmpx0 (<< 6-20160120-1)
+BUILT_USING`'dnl
+Description: Intel memory protection extensions (runtime)
+ Intel MPX is a set of processor features which, with compiler,
+ runtime library and OS support, brings increased robustness to
+ software by checking pointer references whose compile time normal
+ intentions are usurped at runtime due to buffer overflow.
+
+Package: libmpx`'MPX_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`any')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(mpx`'MPX_SO,,=), ${misc:Depends}
+ifdef(`TARGET',`',`Provides: libmpx'MPX_SO`-dbg-armel [armel], libmpx'MPX_SO`-dbg-armhf [armhf]
+')`'dnl
+ifdef(`MULTIARCH', `Multi-Arch: same
+')`'dnl
+BUILT_USING`'dnl
+Description: Intel memory protection extensions (debug symbols)
+ Intel MPX is a set of processor features which, with compiler,
+ runtime library and OS support, brings increased robustness to
+ software by checking pointer references whose compile time normal
+ intentions are usurped at runtime due to buffer overflow.
+
+ifenabled(`lib32mpx',`
+Package: lib32mpx`'MPX_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Conflicts: ${confl:lib32}
+Replaces: lib32mpx0 (<< 6-20160120-1)
+BUILT_USING`'dnl
+Description: Intel memory protection extensions (32bit)
+ Intel MPX is a set of processor features which, with compiler,
+ runtime library and OS support, brings increased robustness to
+ software by checking pointer references whose compile time normal
+ intentions are usurped at runtime due to buffer overflow.
+
+Package: lib32mpx`'MPX_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(mpx`'MPX_SO,32,=), ${misc:Depends}
+BUILT_USING`'dnl
+Description: Intel memory protection extensions (32 bit debug symbols)
+ Intel MPX is a set of processor features which, with compiler,
+ runtime library and OS support, brings increased robustness to
+ software by checking pointer references whose compile time normal
+ intentions are usurped at runtime due to buffer overflow.
+')`'dnl lib32mpx
+
+ifenabled(`lib64mpx',`
+Package: lib64mpx`'MPX_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Replaces: lib64mpx0 (<< 6-20160120-1)
+BUILT_USING`'dnl
+Description: Intel memory protection extensions (64bit)
+ Intel MPX is a set of processor features which, with compiler,
+ runtime library and OS support, brings increased robustness to
+ software by checking pointer references whose compile time normal
+ intentions are usurped at runtime due to buffer overflow.
+
+Package: lib64mpx`'MPX_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(mpx`'MPX_SO,64,=), ${misc:Depends}
+BUILT_USING`'dnl
+Description: Intel memory protection extensions (64bit debug symbols)
+ Intel MPX is a set of processor features which, with compiler,
+ runtime library and OS support, brings increased robustness to
+ software by checking pointer references whose compile time normal
+ intentions are usurped at runtime due to buffer overflow.
+')`'dnl lib64mpx
+
+ifenabled(`libn32mpx',`
+Package: libn32mpx`'MPX_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: Intel memory protection extensions (n32)
+ Intel MPX is a set of processor features which, with compiler,
+ runtime library and OS support, brings increased robustness to
+ software by checking pointer references whose compile time normal
+ intentions are usurped at runtime due to buffer overflow.
+
+Package: libn32mpx`'MPX_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(mpx`'MPX_SO,n32,=), ${misc:Depends}
+BUILT_USING`'dnl
+Description: Intel memory protection extensions (n32 debug symbols)
+ Intel MPX is a set of processor features which, with compiler,
+ runtime library and OS support, brings increased robustness to
+ software by checking pointer references whose compile time normal
+ intentions are usurped at runtime due to buffer overflow.
+')`'dnl libn32mpx
+
+ifenabled(`libx32mpx',`
+Package: libx32mpx`'MPX_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: Intel memory protection extensions (x32)
+ Intel MPX is a set of processor features which, with compiler,
+ runtime library and OS support, brings increased robustness to
+ software by checking pointer references whose compile time normal
+ intentions are usurped at runtime due to buffer overflow.
+
+Package: libx32mpx`'MPX_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(mpx`'MPX_SO,x32,=), ${misc:Depends}
+BUILT_USING`'dnl
+Description: Intel memory protection extensions (x32 debug symbols)
+ Intel MPX is a set of processor features which, with compiler,
+ runtime library and OS support, brings increased robustness to
+ software by checking pointer references whose compile time normal
+ intentions are usurped at runtime due to buffer overflow.
+')`'dnl libx32mpx
+
+ifenabled(`libhfmpx',`
+Package: libhfmpx`'MPX_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+ifdef(`TARGET',`dnl',`Conflicts: libmpx'MPX_SO`-armhf [biarchhf_archs]')
+BUILT_USING`'dnl
+Description: Intel memory protection extensions (hard float ABI)
+ Intel MPX is a set of processor features which, with compiler,
+ runtime library and OS support, brings increased robustness to
+ software by checking pointer references whose compile time normal
+ intentions are usurped at runtime due to buffer overflow.
+
+Package: libhfmpx`'MPX_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(mpx`'MPX_SO,hf,=), ${misc:Depends}
+ifdef(`TARGET',`dnl',`Conflicts: libmpx'MPX_SO`-armel [biarchsf_archs]')
+BUILT_USING`'dnl
+Description: Intel memory protection extensions (hard float ABI debug symbols)
+ Intel MPX is a set of processor features which, with compiler,
+ runtime library and OS support, brings increased robustness to
+ software by checking pointer references whose compile time normal
+ intentions are usurped at runtime due to buffer overflow.
+')`'dnl libhfmpx
+
+ifenabled(`libsfmpx',`
+Package: libsfmpx`'MPX_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: Intel memory protection extensions (soft float ABI)
+ Intel MPX is a set of processor features which, with compiler,
+ runtime library and OS support, brings increased robustness to
+ software by checking pointer references whose compile time normal
+ intentions are usurped at runtime due to buffer overflow.
+
+Package: libsfmpx`'MPX_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(mpx`'MPX_SO,sf,=), ${misc:Depends}
+BUILT_USING`'dnl
+Description: Intel memory protection extensions (soft float ABI debug symbols)
+ Intel MPX is a set of processor features which, with compiler,
+ runtime library and OS support, brings increased robustness to
+ software by checking pointer references whose compile time normal
+ intentions are usurped at runtime due to buffer overflow.
+')`'dnl libsfmpx
+')`'dnl libmpx
+
+ifenabled(`libbacktrace',`
+Package: libbacktrace`'BTRACE_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`any')
+ifdef(`TARGET',`',`Provides: libbacktrace'BTRACE_SO`-armel [armel], libbacktrace'BTRACE_SO`-armhf [armhf]
+')`'dnl
+ifdef(`MULTIARCH', `Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+')`'dnl
+Priority: optional
+Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: stack backtrace library
+ libbacktrace uses the GCC unwind interface to collect a stack trace,
+ and parses DWARF debug info to get file/line/function information.
+
+Package: libbacktrace`'BTRACE_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`any')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(backtrace`'BTRACE_SO,,=), ${misc:Depends}
+ifdef(`TARGET',`',`Provides: libbacktrace'BTRACE_SO`-dbg-armel [armel], libbacktrace'BTRACE_SO`-dbg-armhf [armhf]
+')`'dnl
+ifdef(`MULTIARCH', `Multi-Arch: same
+')`'dnl
+BUILT_USING`'dnl
+Description: stack backtrace library (debug symbols)
+ libbacktrace uses the GCC unwind interface to collect a stack trace,
+ and parses DWARF debug info to get file/line/function information.
+
+Package: lib32backtrace`'BTRACE_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Conflicts: ${confl:lib32}
+BUILT_USING`'dnl
+Description: stack backtrace library (32bit)
+ libbacktrace uses the GCC unwind interface to collect a stack trace,
+ and parses DWARF debug info to get file/line/function information.
+
+Package: lib32backtrace`'BTRACE_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(backtrace`'BTRACE_SO,32,=), ${misc:Depends}
+BUILT_USING`'dnl
+Description: stack backtrace library (32 bit debug symbols)
+ libbacktrace uses the GCC unwind interface to collect a stack trace,
+ and parses DWARF debug info to get file/line/function information.
+
+Package: lib64backtrace`'BTRACE_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: stack backtrace library (64bit)
+ libbacktrace uses the GCC unwind interface to collect a stack trace,
+ and parses DWARF debug info to get file/line/function information.
+
+Package: lib64backtrace`'BTRACE_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(backtrace`'BTRACE_SO,64,=), ${misc:Depends}
+BUILT_USING`'dnl
+Description: stack backtrace library (64bit debug symbols)
+ libbacktrace uses the GCC unwind interface to collect a stack trace,
+ and parses DWARF debug info to get file/line/function information.
+
+Package: libn32backtrace`'BTRACE_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: stack backtrace library (n32)
+ libbacktrace uses the GCC unwind interface to collect a stack trace,
+ and parses DWARF debug info to get file/line/function information.
+
+Package: libn32backtrace`'BTRACE_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(backtrace`'BTRACE_SO,n32,=), ${misc:Depends}
+BUILT_USING`'dnl
+Description: stack backtrace library (n32 debug symbols)
+ libbacktrace uses the GCC unwind interface to collect a stack trace,
+ and parses DWARF debug info to get file/line/function information.
+
+ifenabled(`libx32backtrace',`
+Package: libx32backtrace`'BTRACE_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: stack backtrace library (x32)
+ libbacktrace uses the GCC unwind interface to collect a stack trace,
+ and parses DWARF debug info to get file/line/function information.
+
+Package: libx32backtrace`'BTRACE_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(backtrace`'BTRACE_SO,x32,=), ${misc:Depends}
+BUILT_USING`'dnl
+Description: stack backtrace library (x32 debug symbols)
+ libbacktrace uses the GCC unwind interface to collect a stack trace,
+ and parses DWARF debug info to get file/line/function information.
+')`'dnl libx32backtrace
+
+ifenabled(`libhfbacktrace',`
+Package: libhfbacktrace`'BTRACE_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+ifdef(`TARGET',`dnl',`Conflicts: libbacktrace'BTRACE_SO`-armhf [biarchhf_archs]')
+BUILT_USING`'dnl
+Description: stack backtrace library (hard float ABI)
+ libbacktrace uses the GCC unwind interface to collect a stack trace,
+ and parses DWARF debug info to get file/line/function information.
+
+Package: libhfbacktrace`'BTRACE_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(backtrace`'BTRACE_SO,hf,=), ${misc:Depends}
+wifdef(`TARGET',`dnl',`Conflicts: libbacktrace'BTRACE_SO`-armel [biarchsf_archs]')
+BUILT_USING`'dnl
+Description: stack backtrace library (hard float ABI debug symbols)
+ libbacktrace uses the GCC unwind interface to collect a stack trace,
+ and parses DWARF debug info to get file/line/function information.
+')`'dnl libhfbacktrace
+
+ifenabled(`libsfbacktrace',`
+Package: libsfbacktrace`'BTRACE_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: stack backtrace library (soft float ABI)
+ libbacktrace uses the GCC unwind interface to collect a stack trace,
+ and parses DWARF debug info to get file/line/function information.
+
+Package: libsfbacktrace`'BTRACE_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(backtrace`'BTRACE_SO,sf,=), ${misc:Depends}
+BUILT_USING`'dnl
+Description: stack backtrace library (soft float ABI debug symbols)
+ libbacktrace uses the GCC unwind interface to collect a stack trace,
+ and parses DWARF debug info to get file/line/function information.
+')`'dnl libsfbacktrace
+
+ifenabled(`libneonbacktrace',`
+Package: libbacktrace`'BTRACE_SO-neon`'LS
+TARGET_PACKAGE`'dnl
+Architecture: NEON_ARCHS
+Section: libs
+Priority: optional
+Depends: BASELDEP, libc6-neon`'LS, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: stack backtrace library [neon optimized]
+ libbacktrace uses the GCC unwind interface to collect a stack trace,
+ and parses DWARF debug info to get file/line/function information.
+ .
+ This set of libraries is optimized to use a NEON coprocessor, and will
+ be selected instead when running under systems which have one.
+')`'dnl libneonbacktrace
+')`'dnl libbacktrace
+
+
+ifenabled(`libqmath',`
+Package: libquadmath`'QMATH_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`any')
+ifdef(`MULTIARCH', `Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+')`'dnl
+Priority: optional
+Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: GCC Quad-Precision Math Library
+ A library, which provides quad-precision mathematical functions on targets
+ supporting the __float128 datatype. The library is used to provide on such
+ targets the REAL(16) type in the GNU Fortran compiler.
+
+Package: libquadmath`'QMATH_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`any')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(quadmath`'QMATH_SO,,=), ${misc:Depends}
+ifdef(`MULTIARCH', `Multi-Arch: same
+')`'dnl
+BUILT_USING`'dnl
+Description: GCC Quad-Precision Math Library (debug symbols)
+ A library, which provides quad-precision mathematical functions on targets
+ supporting the __float128 datatype.
+
+Package: lib32quadmath`'QMATH_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Conflicts: ${confl:lib32}
+BUILT_USING`'dnl
+Description: GCC Quad-Precision Math Library (32bit)
+ A library, which provides quad-precision mathematical functions on targets
+ supporting the __float128 datatype. The library is used to provide on such
+ targets the REAL(16) type in the GNU Fortran compiler.
+
+Package: lib32quadmath`'QMATH_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(quadmath`'QMATH_SO,32,=), ${misc:Depends}
+BUILT_USING`'dnl
+Description: GCC Quad-Precision Math Library (32 bit debug symbols)
+ A library, which provides quad-precision mathematical functions on targets
+ supporting the __float128 datatype.
+
+Package: lib64quadmath`'QMATH_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: GCC Quad-Precision Math Library (64bit)
+ A library, which provides quad-precision mathematical functions on targets
+ supporting the __float128 datatype. The library is used to provide on such
+ targets the REAL(16) type in the GNU Fortran compiler.
+
+Package: lib64quadmath`'QMATH_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(quadmath`'QMATH_SO,64,=), ${misc:Depends}
+BUILT_USING`'dnl
+Description: GCC Quad-Precision Math Library (64bit debug symbols)
+ A library, which provides quad-precision mathematical functions on targets
+ supporting the __float128 datatype.
+
+#Package: libn32quadmath`'QMATH_SO`'LS
+#Section: ifdef(`TARGET',`devel',`libs')
+#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs')
+#Priority: optional
+#Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+#BUILT_USING`'dnl
+#Description: GCC Quad-Precision Math Library (n32)
+# A library, which provides quad-precision mathematical functions on targets
+# supporting the __float128 datatype. The library is used to provide on such
+# targets the REAL(16) type in the GNU Fortran compiler.
+
+#Package: libn32quadmath`'QMATH_SO-dbg`'LS
+#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs')
+#Section: debug
+#Priority: optional
+#Depends: BASELDEP, libdep(quadmath`'QMATH_SO,n32,=), ${misc:Depends}
+#BUILT_USING`'dnl
+#Description: GCC Quad-Precision Math Library (n32 debug symbols)
+# A library, which provides quad-precision mathematical functions on targets
+# supporting the __float128 datatype.
+
+ifenabled(`libx32qmath',`
+Package: libx32quadmath`'QMATH_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: GCC Quad-Precision Math Library (x32)
+ A library, which provides quad-precision mathematical functions on targets
+ supporting the __float128 datatype. The library is used to provide on such
+ targets the REAL(16) type in the GNU Fortran compiler.
+
+Package: libx32quadmath`'QMATH_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(quadmath`'QMATH_SO,x32,=), ${misc:Depends}
+BUILT_USING`'dnl
+Description: GCC Quad-Precision Math Library (x32 debug symbols)
+ A library, which provides quad-precision mathematical functions on targets
+ supporting the __float128 datatype.
+')`'dnl libx32qmath
+
+ifenabled(`libhfqmath',`
+Package: libhfquadmath`'QMATH_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: GCC Quad-Precision Math Library (hard float ABI)
+ A library, which provides quad-precision mathematical functions on targets
+ supporting the __float128 datatype. The library is used to provide on such
+ targets the REAL(16) type in the GNU Fortran compiler.
+
+Package: libhfquadmath`'QMATH_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(quadmath`'QMATH_SO,hf,=), ${misc:Depends}
+BUILT_USING`'dnl
+Description: GCC Quad-Precision Math Library (hard float ABI debug symbols)
+ A library, which provides quad-precision mathematical functions on targets
+ supporting the __float128 datatype.
+')`'dnl libhfqmath
+
+ifenabled(`libsfqmath',`
+Package: libsfquadmath`'QMATH_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: GCC Quad-Precision Math Library (soft float ABI)
+ A library, which provides quad-precision mathematical functions on targets
+ supporting the __float128 datatype. The library is used to provide on such
+ targets the REAL(16) type in the GNU Fortran compiler.
+
+Package: libsfquadmath`'QMATH_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(quadmath`'QMATH_SO,sf,=), ${misc:Depends}
+BUILT_USING`'dnl
+Description: GCC Quad-Precision Math Library (hard float ABI debug symbols)
+ A library, which provides quad-precision mathematical functions on targets
+ supporting the __float128 datatype.
+')`'dnl libsfqmath
+')`'dnl libqmath
+
+ifenabled(`libcc1',`
+Package: libcc1-`'CC1_SO
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`any')
+ifdef(`MULTIARCH', `Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+')`'dnl
+Priority: optional
+Depends: BASEDEP, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: GCC cc1 plugin for GDB
+ libcc1 is a plugin for GDB.
+')`'dnl libcc1
+
+ifenabled(`libjit',`
+Package: libgccjit`'GCCJIT_SO
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`any')
+ifdef(`MULTIARCH', `Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+')`'dnl
+Priority: optional
+Depends: BASEDEP, libgcc`'PV-dev, binutils, ${shlibs:Depends}, ${misc:Depends}
+Breaks: python-gccjit (<< 0.4-4), python3-gccjit (<< 0.4-4)
+BUILT_USING`'dnl
+Description: GCC just-in-time compilation (shared library)
+ libgccjit provides an embeddable shared library with an API for adding
+ compilation to existing programs using GCC.
+
+Package: libgccjit`'GCCJIT_SO-dbg
+Section: debug
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`any')
+ifdef(`MULTIARCH', `Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+')`'dnl
+Priority: optional
+Depends: BASEDEP, libgccjit`'GCCJIT_SO (= ${gcc:Version}),
+ ${shlibs:Depends}, ${misc:Depends}
+Breaks: libgccjit-5-dbg, libgccjit-6-dbg
+Replaces: libgccjit-5-dbg, libgccjit-6-dbg
+BUILT_USING`'dnl
+Description: GCC just-in-time compilation (debug information)
+ libgccjit provides an embeddable shared library with an API for adding
+ compilation to existing programs using GCC.
+')`'dnl libjit
+
+ifenabled(`jit',`
+Package: libgccjit`'PV-doc
+Section: doc
+Architecture: all
+Priority: optional
+Depends: BASEDEP, ${misc:Depends}
+Conflicts: libgccjit-5-doc, libgccjit-6-doc, libgccjit-7-doc
+Description: GCC just-in-time compilation (documentation)
+ libgccjit provides an embeddable shared library with an API for adding
+ compilation to existing programs using GCC.
+
+Package: libgccjit`'PV-dev
+Section: ifdef(`TARGET',`devel',`libdevel')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`any')
+ifdef(`MULTIARCH', `Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+')`'dnl
+Priority: optional
+Depends: BASEDEP, libgccjit`'GCCJIT_SO (>= ${gcc:Version}),
+ ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Suggests: libgccjit`'PV-dbg
+Description: GCC just-in-time compilation (development files)
+ libgccjit provides an embeddable shared library with an API for adding
+ compilation to existing programs using GCC.
+')`'dnl jit
+
+ifenabled(`objpp',`
+ifenabled(`objppdev',`
+Package: gobjc++`'PV`'TS
+Architecture: any
+ifdef(`TARGET',`Multi-Arch: foreign
+')dnl
+Priority: optional
+Depends: BASEDEP, gobjc`'PV`'TS (= ${gcc:Version}), g++`'PV`'TS (= ${gcc:Version}), ${shlibs:Depends}, libidevdep(objc`'PV-dev,,=), ${misc:Depends}
+Suggests: ${gobjcxx:multilib}, gcc`'PV-doc (>= ${gcc:SoftVersion})
+Provides: objc++-compiler`'TS
+BUILT_USING`'dnl
+Description: GNU Objective-C++ compiler
+ This is the GNU Objective-C++ compiler, which compiles
+ Objective-C++ on platforms supported by the gcc compiler. It uses the
+ gcc backend to generate optimized code.
+')`'dnl obcppdev
+
+ifenabled(`multilib',`
+Package: gobjc++`'PV-multilib`'TS
+Architecture: ifdef(`TARGET',`any',MULTILIB_ARCHS)
+ifdef(`TARGET',`Multi-Arch: foreign
+')dnl
+Section: devel
+Priority: optional
+Depends: BASEDEP, gobjc++`'PV`'TS (= ${gcc:Version}), g++`'PV-multilib`'TS (= ${gcc:Version}), gobjc`'PV-multilib`'TS (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: GNU Objective-C++ compiler (multilib support)
+ This is the GNU Objective-C++ compiler, which compiles Objective-C++ on
+ platforms supported by the gcc compiler.
+ .
+ This is a dependency package, depending on development packages
+ for the non-default multilib architecture(s).
+')`'dnl multilib
+')`'dnl obcpp
+
+ifenabled(`objc',`
+ifenabled(`objcdev',`
+Package: gobjc`'PV`'TS
+Architecture: any
+ifdef(`TARGET',`Multi-Arch: foreign
+')dnl
+Priority: optional
+Depends: BASEDEP, gcc`'PV`'TS (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, libidevdep(objc`'PV-dev,,=), ${misc:Depends}
+Suggests: ${gobjc:multilib}, gcc`'PV-doc (>= ${gcc:SoftVersion}), libdbgdep(objc`'OBJC_SO-dbg,)
+Provides: objc-compiler`'TS
+ifdef(`__sparc__',`Conflicts: gcc`'PV-sparc64', `dnl')
+BUILT_USING`'dnl
+Description: GNU Objective-C compiler
+ This is the GNU Objective-C compiler, which compiles
+ Objective-C on platforms supported by the gcc compiler. It uses the
+ gcc backend to generate optimized code.
+
+ifenabled(`multilib',`
+Package: gobjc`'PV-multilib`'TS
+Architecture: ifdef(`TARGET',`any',MULTILIB_ARCHS)
+ifdef(`TARGET',`Multi-Arch: foreign
+')dnl
+Section: devel
+Priority: optional
+Depends: BASEDEP, gobjc`'PV`'TS (= ${gcc:Version}), gcc`'PV-multilib`'TS (= ${gcc:Version}), ${dep:libobjcbiarchdev}, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: GNU Objective-C compiler (multilib support)`'ifdef(`TARGET',` (cross compiler for TARGET architecture)', `')
+ This is the GNU Objective-C compiler, which compiles Objective-C on platforms
+ supported by the gcc compiler.
+ .
+ This is a dependency package, depending on development packages
+ for the non-default multilib architecture(s).
+')`'dnl multilib
+
+Package: libobjc`'PV-dev`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`any')
+Section: libdevel
+Priority: optional
+Depends: BASELDEP, libdevdep(gcc`'PV-dev,), libdep(objc`'OBJC_SO,), ${shlibs:Depends}, ${misc:Depends}
+ifdef(`MULTIARCH', `Multi-Arch: same
+')`'dnl
+BUILT_USING`'dnl
+Description: Runtime library for GNU Objective-C applications (development files)
+ This package contains the headers and static library files needed to build
+ GNU ObjC applications.
+
+Package: lib64objc`'PV-dev`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs')
+Section: libdevel
+Priority: optional
+Depends: BASELDEP, libdevdep(gcc`'PV-dev,64), libdep(objc`'OBJC_SO,64), ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: Runtime library for GNU Objective-C applications (64bit development files)
+ This package contains the headers and static library files needed to build
+ GNU ObjC applications.
+
+Package: lib32objc`'PV-dev`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs')
+Section: libdevel
+Priority: optional
+Depends: BASELDEP, libdevdep(gcc`'PV-dev,32), libdep(objc`'OBJC_SO,32), ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: Runtime library for GNU Objective-C applications (32bit development files)
+ This package contains the headers and static library files needed to build
+ GNU ObjC applications.
+
+Package: libn32objc`'PV-dev`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs')
+Section: libdevel
+Priority: optional
+Depends: BASELDEP, libdevdep(gcc`'PV-dev,n32), libdep(objc`'OBJC_SO,n32), ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: Runtime library for GNU Objective-C applications (n32 development files)
+ This package contains the headers and static library files needed to build
+ GNU ObjC applications.
+
+ifenabled(`x32dev',`
+Package: libx32objc`'PV-dev`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs')
+Section: libdevel
+Priority: optional
+Depends: BASELDEP, libdevdep(gcc`'PV-dev,x32), libdep(objc`'OBJC_SO,x32), ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: Runtime library for GNU Objective-C applications (x32 development files)
+ This package contains the headers and static library files needed to build
+ GNU ObjC applications.
+')`'dnl libx32objc
+
+ifenabled(`armml',`
+Package: libhfobjc`'PV-dev`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs')
+Section: libdevel
+Priority: optional
+Depends: BASELDEP, libdevdep(gcc`'PV-dev,hf), libdep(objc`'OBJC_SO,hf), ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: Runtime library for GNU Objective-C applications (hard float ABI development files)
+ This package contains the headers and static library files needed to build
+ GNU ObjC applications.
+')`'dnl armml
+
+ifenabled(`armml',`
+Package: libsfobjc`'PV-dev`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs')
+Section: libdevel
+Priority: optional
+Depends: BASELDEP, libdevdep(gcc`'PV-dev,sf), libdep(objc`'OBJC_SO,sf), ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: Runtime library for GNU Objective-C applications (soft float development files)
+ This package contains the headers and static library files needed to build
+ GNU ObjC applications.
+')`'dnl armml
+')`'dnl objcdev
+
+ifenabled(`libobjc',`
+Package: libobjc`'OBJC_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`any')
+ifdef(`TARGET',`',`Provides: libobjc'OBJC_SO`-armel [armel], libobjc'OBJC_SO`-armhf [armhf]
+')`'dnl
+ifdef(`MULTIARCH', `Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+ifelse(OBJC_SO,`2',`Breaks: ${multiarch:breaks}
+',`')')`'dnl
+Priority: optional
+Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: Runtime library for GNU Objective-C applications
+ Library needed for GNU ObjC applications linked against the shared library.
+
+Package: libobjc`'OBJC_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Section: debug
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`any')
+ifdef(`TARGET',`',`Provides: libobjc'OBJC_SO`-dbg-armel [armel], libobjc'OBJC_SO`-dbg-armhf [armhf]
+')`'dnl
+ifdef(`MULTIARCH', `Multi-Arch: same
+')`'dnl
+Priority: optional
+Depends: BASELDEP, libdep(objc`'OBJC_SO,,=), libdbgdep(gcc`'GCC_SO-dbg,,>=,${libgcc:Version}), ${misc:Depends}
+BUILT_USING`'dnl
+Description: Runtime library for GNU Objective-C applications (debug symbols)
+ Library needed for GNU ObjC applications linked against the shared library.
+')`'dnl libobjc
+
+ifenabled(`lib64objc',`
+Package: lib64objc`'OBJC_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: Runtime library for GNU Objective-C applications (64bit)
+ Library needed for GNU ObjC applications linked against the shared library.
+
+Package: lib64objc`'OBJC_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Section: debug
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs')
+Priority: optional
+Depends: BASELDEP, libdep(objc`'OBJC_SO,64,=), libdbgdep(gcc`'GCC_SO-dbg,64,>=,${gcc:EpochVersion}), ${misc:Depends}
+BUILT_USING`'dnl
+Description: Runtime library for GNU Objective-C applications (64 bit debug symbols)
+ Library needed for GNU ObjC applications linked against the shared library.
+')`'dnl lib64objc
+
+ifenabled(`lib32objc',`
+Package: lib32objc`'OBJC_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Conflicts: ${confl:lib32}
+BUILT_USING`'dnl
+Description: Runtime library for GNU Objective-C applications (32bit)
+ Library needed for GNU ObjC applications linked against the shared library.
+
+Package: lib32objc`'OBJC_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Section: debug
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs')
+Priority: optional
+Depends: BASELDEP, libdep(objc`'OBJC_SO,32,=), libdbgdep(gcc`'GCC_SO-dbg,32,>=,${gcc:EpochVersion}), ${misc:Depends}
+BUILT_USING`'dnl
+Description: Runtime library for GNU Objective-C applications (32 bit debug symbols)
+ Library needed for GNU ObjC applications linked against the shared library.
+')`'dnl lib32objc
+
+ifenabled(`libn32objc',`
+Package: libn32objc`'OBJC_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: Runtime library for GNU Objective-C applications (n32)
+ Library needed for GNU ObjC applications linked against the shared library.
+
+Package: libn32objc`'OBJC_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Section: debug
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs')
+Priority: optional
+Depends: BASELDEP, libdep(objc`'OBJC_SO,n32,=), libdbgdep(gcc`'GCC_SO-dbg,n32,>=,${gcc:EpochVersion}), ${misc:Depends}
+BUILT_USING`'dnl
+Description: Runtime library for GNU Objective-C applications (n32 debug symbols)
+ Library needed for GNU ObjC applications linked against the shared library.
+')`'dnl libn32objc
+
+ifenabled(`libx32objc',`
+Package: libx32objc`'OBJC_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: Runtime library for GNU Objective-C applications (x32)
+ Library needed for GNU ObjC applications linked against the shared library.
+
+Package: libx32objc`'OBJC_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Section: debug
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs')
+Priority: optional
+Depends: BASELDEP, libdep(objc`'OBJC_SO,x32,=), libdbgdep(gcc`'GCC_SO-dbg,x32,>=,${gcc:EpochVersion}), ${misc:Depends}
+BUILT_USING`'dnl
+Description: Runtime library for GNU Objective-C applications (x32 debug symbols)
+ Library needed for GNU ObjC applications linked against the shared library.
+')`'dnl libx32objc
+
+ifenabled(`libhfobjc',`
+Package: libhfobjc`'OBJC_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+ifdef(`TARGET',`dnl',`Conflicts: libobjc'OBJC_SO`-armhf [biarchhf_archs]')
+BUILT_USING`'dnl
+Description: Runtime library for GNU Objective-C applications (hard float ABI)
+ Library needed for GNU ObjC applications linked against the shared library.
+
+Package: libhfobjc`'OBJC_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Section: debug
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs')
+Priority: optional
+Depends: BASELDEP, libdep(objc`'OBJC_SO,hf,=), libdbgdep(gcc`'GCC_SO-dbg,hf,>=,${gcc:EpochVersion}), ${misc:Depends}
+ifdef(`TARGET',`dnl',`Conflicts: libobjc'OBJC_SO`-dbg-armhf [biarchhf_archs]')
+BUILT_USING`'dnl
+Description: Runtime library for GNU Objective-C applications (hard float ABI debug symbols)
+ Library needed for GNU ObjC applications linked against the shared library.
+')`'dnl libhfobjc
+
+ifenabled(`libsfobjc',`
+Package: libsfobjc`'OBJC_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+ifdef(`TARGET',`dnl',`Conflicts: libobjc'OBJC_SO`-armel [biarchsf_archs]')
+BUILT_USING`'dnl
+Description: Runtime library for GNU Objective-C applications (soft float ABI)
+ Library needed for GNU ObjC applications linked against the shared library.
+
+Package: libsfobjc`'OBJC_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Section: debug
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs')
+Priority: optional
+Depends: BASELDEP, libdep(objc`'OBJC_SO,sf,=), libdbgdep(gcc`'GCC_SO-dbg,sf,>=,${gcc:EpochVersion}), ${misc:Depends}
+ifdef(`TARGET',`dnl',`Conflicts: libobjc'OBJC_SO`-dbg-armel [biarchsf_archs]')
+BUILT_USING`'dnl
+Description: Runtime library for GNU Objective-C applications (soft float ABI debug symbols)
+ Library needed for GNU ObjC applications linked against the shared library.
+')`'dnl libsfobjc
+
+ifenabled(`libneonobjc',`
+Package: libobjc`'OBJC_SO-neon`'LS
+TARGET_PACKAGE`'dnl
+Section: libs
+Architecture: NEON_ARCHS
+Priority: PRI(optional)
+Depends: BASELDEP, libc6-neon`'LS, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: Runtime library for GNU Objective-C applications [NEON version]
+ Library needed for GNU ObjC applications linked against the shared library.
+ .
+ This set of libraries is optimized to use a NEON coprocessor, and will
+ be selected instead when running under systems which have one.
+')`'dnl libneonobjc
+')`'dnl objc
+
+ifenabled(`fortran',`
+ifenabled(`fdev',`
+Package: gfortran`'PV`'TS
+Architecture: any
+ifdef(`TARGET',`Multi-Arch: foreign
+')dnl
+Priority: optional
+Depends: BASEDEP, gcc`'PV`'TS (= ${gcc:Version}), libidevdep(gfortran`'PV-dev,,=), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends}
+ifdef(`TARGET',`',`Provides: fortran95-compiler, ${fortran:mod-version}
+')dnl
+Suggests: ${gfortran:multilib}, gfortran`'PV-doc,
+ libdbgdep(gfortran`'FORTRAN_SO-dbg,),
+ libcoarrays-dev
+BUILT_USING`'dnl
+Description: GNU Fortran compiler
+ This is the GNU Fortran compiler, which compiles
+ Fortran on platforms supported by the gcc compiler. It uses the
+ gcc backend to generate optimized code.
+
+ifenabled(`multilib',`
+Package: gfortran`'PV-multilib`'TS
+Architecture: ifdef(`TARGET',`any',MULTILIB_ARCHS)
+ifdef(`TARGET',`Multi-Arch: foreign
+')dnl
+Section: devel
+Priority: optional
+Depends: BASEDEP, gfortran`'PV`'TS (= ${gcc:Version}), gcc`'PV-multilib`'TS (= ${gcc:Version}), ${dep:libgfortranbiarchdev}, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: GNU Fortran compiler (multilib support)`'ifdef(`TARGET',` (cross compiler for TARGET architecture)', `')
+ This is the GNU Fortran compiler, which compiles Fortran on platforms
+ supported by the gcc compiler.
+ .
+ This is a dependency package, depending on development packages
+ for the non-default multilib architecture(s).
+')`'dnl multilib
+
+ifenabled(`gfdldoc',`
+Package: gfortran`'PV-doc
+Architecture: all
+Section: doc
+Priority: PRI(optional)
+Depends: gcc`'PV-base (>= ${gcc:SoftVersion}), dpkg (>= 1.15.4) | install-info, ${misc:Depends}
+Description: Documentation for the GNU Fortran compiler (gfortran)
+ Documentation for the GNU Fortran compiler in info `format'.
+')`'dnl gfdldoc
+
+Package: libgfortran`'PV-dev`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`any')
+Section: ifdef(`TARGET',`devel',`libdevel')
+Priority: optional
+Depends: BASELDEP, libdevdep(gcc`'PV-dev`',), libdep(gfortran`'FORTRAN_SO,), ${shlibs:Depends}, ${misc:Depends}
+ifdef(`MULTIARCH', `Multi-Arch: same
+')`'dnl
+BUILT_USING`'dnl
+Description: Runtime library for GNU Fortran applications (development files)
+ This package contains the headers and static library files needed to build
+ GNU Fortran applications.
+
+Package: lib64gfortran`'PV-dev`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs')
+Section: libdevel
+Priority: optional
+Depends: BASELDEP, libdevdep(gcc`'PV-dev`',64), libdep(gfortran`'FORTRAN_SO,64), ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: Runtime library for GNU Fortran applications (64bit development files)
+ This package contains the headers and static library files needed to build
+ GNU Fortran applications.
+
+Package: lib32gfortran`'PV-dev`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs')
+Section: libdevel
+Priority: optional
+Depends: BASELDEP, libdevdep(gcc`'PV-dev`',32), libdep(gfortran`'FORTRAN_SO,32), ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: Runtime library for GNU Fortran applications (32bit development files)
+ This package contains the headers and static library files needed to build
+ GNU Fortran applications.
+
+Package: libn32gfortran`'PV-dev`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs')
+Section: libdevel
+Priority: optional
+Depends: BASELDEP, libdevdep(gcc`'PV-dev`',n32), libdep(gfortran`'FORTRAN_SO,n32), ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: Runtime library for GNU Fortran applications (n32 development files)
+ This package contains the headers and static library files needed to build
+ GNU Fortran applications.
+
+ifenabled(`x32dev',`
+Package: libx32gfortran`'PV-dev`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs')
+Section: libdevel
+Priority: optional
+Depends: BASELDEP, libdevdep(gcc`'PV-dev`',x32), libdep(gfortran`'FORTRAN_SO,x32), ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: Runtime library for GNU Fortran applications (x32 development files)
+ This package contains the headers and static library files needed to build
+ GNU Fortran applications.
+')`'dnl libx32gfortran
+
+ifenabled(`armml',`
+Package: libhfgfortran`'PV-dev`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs')
+Section: libdevel
+Priority: optional
+Depends: BASELDEP, libdevdep(gcc`'PV-dev`',hf), libdep(gfortran`'FORTRAN_SO,hf), ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: Runtime library for GNU Fortran applications (hard float ABI development files)
+ This package contains the headers and static library files needed to build
+ GNU Fortran applications.
+')`'dnl armml
+
+ifenabled(`armml',`
+Package: libsfgfortran`'PV-dev`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs')
+Section: libdevel
+Priority: optional
+Depends: BASELDEP, libdevdep(gcc`'PV-dev`',sf), libdep(gfortran`'FORTRAN_SO,sf), ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: Runtime library for GNU Fortran applications (soft float ABI development files)
+ This package contains the headers and static library files needed to build
+ GNU Fortran applications.
+')`'dnl armml
+')`'dnl fdev
+
+ifenabled(`libgfortran',`
+Package: libgfortran`'FORTRAN_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`any')
+ifdef(`TARGET',`',`Provides: libgfortran'FORTRAN_SO`-armel [armel], libgfortran'FORTRAN_SO`-armhf [armhf]
+')`'dnl
+ifdef(`MULTIARCH', `Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Breaks: ${multiarch:breaks}
+')`'dnl
+Priority: optional
+Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: Runtime library for GNU Fortran applications
+ Library needed for GNU Fortran applications linked against the
+ shared library.
+
+Package: libgfortran`'FORTRAN_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Section: debug
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`any')
+ifdef(`TARGET',`',`Provides: libgfortran'FORTRAN_SO`-dbg-armel [armel], libgfortran'FORTRAN_SO`-dbg-armhf [armhf]
+')`'dnl
+ifdef(`MULTIARCH', `Multi-Arch: same
+')`'dnl
+Priority: optional
+Depends: BASELDEP, libdep(gfortran`'FORTRAN_SO,,=), libdbgdep(gcc`'GCC_SO-dbg,,>=,${libgcc:Version}), ${misc:Depends}
+BUILT_USING`'dnl
+Description: Runtime library for GNU Fortran applications (debug symbols)
+ Library needed for GNU Fortran applications linked against the
+ shared library.
+')`'dnl libgfortran
+
+ifenabled(`lib64gfortran',`
+Package: lib64gfortran`'FORTRAN_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: Runtime library for GNU Fortran applications (64bit)
+ Library needed for GNU Fortran applications linked against the
+ shared library.
+
+Package: lib64gfortran`'FORTRAN_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Section: debug
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs')
+Priority: optional
+Depends: BASELDEP, libdep(gfortran`'FORTRAN_SO,64,=), ${misc:Depends}
+BUILT_USING`'dnl
+Description: Runtime library for GNU Fortran applications (64bit debug symbols)
+ Library needed for GNU Fortran applications linked against the
+ shared library.
+')`'dnl lib64gfortran
+
+ifenabled(`lib32gfortran',`
+Package: lib32gfortran`'FORTRAN_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Conflicts: ${confl:lib32}
+BUILT_USING`'dnl
+Description: Runtime library for GNU Fortran applications (32bit)
+ Library needed for GNU Fortran applications linked against the
+ shared library.
+
+Package: lib32gfortran`'FORTRAN_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Section: debug
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs')
+Priority: optional
+Depends: BASELDEP, libdep(gfortran`'FORTRAN_SO,32,=), ${misc:Depends}
+BUILT_USING`'dnl
+Description: Runtime library for GNU Fortran applications (32 bit debug symbols)
+ Library needed for GNU Fortran applications linked against the
+ shared library.
+')`'dnl lib32gfortran
+
+ifenabled(`libn32gfortran',`
+Package: libn32gfortran`'FORTRAN_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: Runtime library for GNU Fortran applications (n32)
+ Library needed for GNU Fortran applications linked against the
+ shared library.
+
+Package: libn32gfortran`'FORTRAN_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Section: debug
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs')
+Priority: optional
+Depends: BASELDEP, libdep(gfortran`'FORTRAN_SO,n32,=), ${misc:Depends}
+BUILT_USING`'dnl
+Description: Runtime library for GNU Fortran applications (n32 debug symbols)
+ Library needed for GNU Fortran applications linked against the
+ shared library.
+')`'dnl libn32gfortran
+
+ifenabled(`libx32gfortran',`
+Package: libx32gfortran`'FORTRAN_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: Runtime library for GNU Fortran applications (x32)
+ Library needed for GNU Fortran applications linked against the
+ shared library.
+
+Package: libx32gfortran`'FORTRAN_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Section: debug
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs')
+Priority: optional
+Depends: BASELDEP, libdep(gfortran`'FORTRAN_SO,x32,=), ${misc:Depends}
+BUILT_USING`'dnl
+Description: Runtime library for GNU Fortran applications (x32 debug symbols)
+ Library needed for GNU Fortran applications linked against the
+ shared library.
+')`'dnl libx32gfortran
+
+ifenabled(`libhfgfortran',`
+Package: libhfgfortran`'FORTRAN_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+ifdef(`TARGET',`dnl',`Conflicts: libgfortran'FORTRAN_SO`-armhf [biarchhf_archs]')
+BUILT_USING`'dnl
+Description: Runtime library for GNU Fortran applications (hard float ABI)
+ Library needed for GNU Fortran applications linked against the
+ shared library.
+
+Package: libhfgfortran`'FORTRAN_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Section: debug
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs')
+Priority: optional
+Depends: BASELDEP, libdep(gfortran`'FORTRAN_SO,hf,=), ${misc:Depends}
+ifdef(`TARGET',`dnl',`Conflicts: libgfortran'FORTRAN_SO`-dbg-armhf [biarchhf_archs]')
+BUILT_USING`'dnl
+Description: Runtime library for GNU Fortran applications (hard float ABI debug symbols)
+ Library needed for GNU Fortran applications linked against the
+ shared library.
+')`'dnl libhfgfortran
+
+ifenabled(`libsfgfortran',`
+Package: libsfgfortran`'FORTRAN_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+ifdef(`TARGET',`dnl',`Conflicts: libgfortran'FORTRAN_SO`-armel [biarchsf_archs]')
+BUILT_USING`'dnl
+Description: Runtime library for GNU Fortran applications (soft float ABI)
+ Library needed for GNU Fortran applications linked against the
+ shared library.
+
+Package: libsfgfortran`'FORTRAN_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Section: debug
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs')
+Priority: optional
+Depends: BASELDEP, libdep(gfortran`'FORTRAN_SO,sf,=), ${misc:Depends}
+ifdef(`TARGET',`dnl',`Conflicts: libgfortran'FORTRAN_SO`-dbg-armel [biarchsf_archs]')
+BUILT_USING`'dnl
+Description: Runtime library for GNU Fortran applications (hard float ABI debug symbols)
+ Library needed for GNU Fortran applications linked against the
+ shared library.
+')`'dnl libsfgfortran
+
+ifenabled(`libneongfortran',`
+Package: libgfortran`'FORTRAN_SO-neon`'LS
+TARGET_PACKAGE`'dnl
+Section: libs
+Architecture: NEON_ARCHS
+ifdef(`MULTIARCH', `Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Breaks: ${multiarch:breaks}
+')`'dnl
+Priority: optional
+Depends: BASELDEP, libgcc1-neon`'LS, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: Runtime library for GNU Fortran applications [NEON version]
+ Library needed for GNU Fortran applications linked against the
+ shared library.
+ .
+ This set of libraries is optimized to use a NEON coprocessor, and will
+ be selected instead when running under systems which have one.
+')`'dnl libneongfortran
+')`'dnl fortran
+
+ifenabled(`ggo',`
+ifenabled(`godev',`
+Package: gccgo`'PV`'TS
+Architecture: any
+ifdef(`TARGET',`Multi-Arch: foreign
+')dnl
+Priority: optional
+Depends: BASEDEP, ifdef(`STANDALONEGO',`${dep:libcc1}, ',`gcc`'PV`'TS (= ${gcc:Version}), ')libidevdep(go`'GO_SO,,>=), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends}
+ifdef(`TARGET',`',`Provides: go-compiler
+')dnl
+Suggests: ${go:multilib}, gccgo`'PV-doc, libdbgdep(go`'GO_SO-dbg,)
+Conflicts: ${golang:Conflicts}
+Breaks: libgo12`'LS (<< 8-20171209-2)
+Replaces: libgo12`'LS (<< 8-20171209-2)
+BUILT_USING`'dnl
+Description: GNU Go compiler
+ This is the GNU Go compiler, which compiles Go on platforms supported
+ by the gcc compiler. It uses the gcc backend to generate optimized code.
+
+ifenabled(`multilib',`
+Package: gccgo`'PV-multilib`'TS
+Architecture: ifdef(`TARGET',`any',MULTILIB_ARCHS)
+ifdef(`TARGET',`Multi-Arch: foreign
+')dnl
+Section: devel
+Priority: optional
+Depends: BASEDEP, gccgo`'PV`'TS (= ${gcc:Version}), ifdef(`STANDALONEGO',,`gcc`'PV-multilib`'TS (= ${gcc:Version}), ')${dep:libgobiarch}, ${shlibs:Depends}, ${misc:Depends}
+Suggests: ${dep:libgobiarchdbg}
+Breaks: lib32go12 (<< 8-20171209-2),
+ libn32go12`'LS (<< 8-20171209-2),
+ libx32go12`'LS (<< 8-20171209-2),
+ lib64go12`'LS (<< 8-20171209-2)
+Replaces: lib32go12`'LS (<< 8-20171209-2),
+ libn32go12`'LS (<< 8-20171209-2),
+ libx32go12`'LS (<< 8-20171209-2),
+ lib64go12`'LS (<< 8-20171209-2)
+BUILT_USING`'dnl
+Description: GNU Go compiler (multilib support)`'ifdef(`TARGET',` (cross compiler for TARGET architecture)', `')
+ This is the GNU Go compiler, which compiles Go on platforms supported
+ by the gcc compiler.
+ .
+ This is a dependency package, depending on development packages
+ for the non-default multilib architecture(s).
+')`'dnl multilib
+
+ifenabled(`gfdldoc',`
+Package: gccgo`'PV-doc
+Architecture: all
+Section: doc
+Priority: PRI(optional)
+Depends: gcc`'PV-base (>= ${gcc:SoftVersion}), dpkg (>= 1.15.4) | install-info, ${misc:Depends}
+BUILT_USING`'dnl
+Description: Documentation for the GNU Go compiler (gccgo)
+ Documentation for the GNU Go compiler in info `format'.
+')`'dnl gfdldoc
+')`'dnl godev
+
+ifenabled(`libggo',`
+Package: libgo`'GO_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`any')
+ifdef(`TARGET',`',`Provides: libgo'GO_SO`-armel [armel], libgo'GO_SO`-armhf [armhf]
+')`'dnl
+ifdef(`MULTIARCH', `Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+')`'dnl
+Priority: optional
+Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends}
+Replaces: libgo3`'LS, libgo8`'LS
+BUILT_USING`'dnl
+Description: Runtime library for GNU Go applications
+ Library needed for GNU Go applications linked against the
+ shared library.
+
+Package: libgo`'GO_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Section: debug
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`any')
+ifdef(`TARGET',`',`Provides: libgo'GO_SO`-dbg-armel [armel], libgo'GO_SO`-dbg-armhf [armhf]
+')`'dnl
+ifdef(`MULTIARCH', `Multi-Arch: same
+')`'dnl
+Priority: optional
+Depends: BASELDEP, libdep(go`'GO_SO,,=), ${misc:Depends}
+BUILT_USING`'dnl
+Description: Runtime library for GNU Go applications (debug symbols)
+ Library needed for GNU Go applications linked against the
+ shared library. This currently is an empty package, because the
+ library is completely unstripped.
+')`'dnl libgo
+
+ifenabled(`lib64ggo',`
+Package: lib64go`'GO_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Replaces: lib64go3`'LS, lib64go8`'LS
+BUILT_USING`'dnl
+Description: Runtime library for GNU Go applications (64bit)
+ Library needed for GNU Go applications linked against the
+ shared library.
+
+Package: lib64go`'GO_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Section: debug
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs')
+Priority: optional
+Depends: BASELDEP, libdep(go`'GO_SO,64,=), ${misc:Depends}
+BUILT_USING`'dnl
+Description: Runtime library for GNU Go applications (64bit debug symbols)
+ Library needed for GNU Go applications linked against the
+ shared library. This currently is an empty package, because the
+ library is completely unstripped.
+')`'dnl lib64go
+
+ifenabled(`lib32ggo',`
+Package: lib32go`'GO_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Conflicts: ${confl:lib32}
+Replaces: lib32go3`'LS, lib32go8`'LS
+BUILT_USING`'dnl
+Description: Runtime library for GNU Go applications (32bit)
+ Library needed for GNU Go applications linked against the
+ shared library.
+
+Package: lib32go`'GO_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Section: debug
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs')
+Priority: optional
+Depends: BASELDEP, libdep(go`'GO_SO,32,=), ${misc:Depends}
+BUILT_USING`'dnl
+Description: Runtime library for GNU Go applications (32 bit debug symbols)
+ Library needed for GNU Go applications linked against the
+ shared library. This currently is an empty package, because the
+ library is completely unstripped.
+')`'dnl lib32go
+
+ifenabled(`libn32ggo',`
+Package: libn32go`'GO_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Replaces: libn32go3`'LS, libn32go8`'LS
+BUILT_USING`'dnl
+Description: Runtime library for GNU Go applications (n32)
+ Library needed for GNU Go applications linked against the
+ shared library.
+
+Package: libn32go`'GO_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Section: debug
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs')
+Priority: optional
+Depends: BASELDEP, libdep(go`'GO_SO,n32,=), ${misc:Depends}
+BUILT_USING`'dnl
+Description: Runtime library for GNU Go applications (n32 debug symbols)
+ Library needed for GNU Go applications linked against the
+ shared library. This currently is an empty package, because the
+ library is completely unstripped.
+')`'dnl libn32go
+
+ifenabled(`libx32ggo',`
+Package: libx32go`'GO_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Replaces: libx32go3`'LS, libx32go8`'LS
+BUILT_USING`'dnl
+Description: Runtime library for GNU Go applications (x32)
+ Library needed for GNU Go applications linked against the
+ shared library.
+
+Package: libx32go`'GO_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Section: debug
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs')
+Priority: optional
+Depends: BASELDEP, libdep(go`'GO_SO,x32,=), ${misc:Depends}
+BUILT_USING`'dnl
+Description: Runtime library for GNU Go applications (x32 debug symbols)
+ Library needed for GNU Go applications linked against the
+ shared library. This currently is an empty package, because the
+ library is completely unstripped.
+')`'dnl libx32go
+')`'dnl ggo
+
+ifenabled(`c++',`
+ifenabled(`libcxx',`
+Package: libstdc++CXX_SO`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`any')
+Section: ifdef(`TARGET',`devel',`libs')
+Priority: optional
+Depends: BASELDEP, ${dep:libc}, ${shlibs:Depends}, ${misc:Depends}
+Provides: ifdef(`TARGET',`libstdc++CXX_SO-TARGET-dcv1',`libstdc++'CXX_SO`-armel [armel], libstdc++'CXX_SO`-armhf [armhf]')
+ifdef(`MULTIARCH', `Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Breaks: ${multiarch:breaks}, PR66145BREAKS
+')`'dnl
+Conflicts: scim (<< 1.4.2-1)
+Replaces: libstdc++CXX_SO`'PV-dbg`'LS (<< 4.9.0-3)
+BUILT_USING`'dnl
+Description: GNU Standard C++ Library v3`'ifdef(`TARGET',` (TARGET)', `')
+ This package contains an additional runtime library for C++ programs
+ built with the GNU compiler.
+ .
+ libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which
+ was included up to g++-2.95. The first version of libstdc++-v3 appeared
+ in g++-3.0.
+ifdef(`TARGET', `dnl
+ .
+ This package contains files for TARGET architecture, for use in cross-compile
+ environment.
+')`'dnl
+')`'dnl libcxx
+
+ifenabled(`lib32cxx',`
+Package: lib32stdc++CXX_SO`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs')
+Section: ifdef(`TARGET',`devel',`libs')
+Priority: optional
+Depends: BASELDEP, libdep(gcc1,32), ${shlibs:Depends}, ${misc:Depends}
+Conflicts: ${confl:lib32}
+ifdef(`TARGET',`Provides: lib32stdc++CXX_SO-TARGET-dcv1
+',`')`'dnl
+BUILT_USING`'dnl
+Description: GNU Standard C++ Library v3 (32 bit Version)
+ This package contains an additional runtime library for C++ programs
+ built with the GNU compiler.
+ifdef(`TARGET', `dnl
+ .
+ This package contains files for TARGET architecture, for use in cross-compile
+ environment.
+')`'dnl
+')`'dnl lib32cxx
+
+ifenabled(`lib64cxx',`
+Package: lib64stdc++CXX_SO`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs')
+Section: ifdef(`TARGET',`devel',`libs')
+Priority: optional
+Depends: BASELDEP, libdep(gcc1,64), ${shlibs:Depends}, ${misc:Depends}
+ifdef(`TARGET',`Provides: lib64stdc++CXX_SO-TARGET-dcv1
+',`')`'dnl
+BUILT_USING`'dnl
+Description: GNU Standard C++ Library v3`'ifdef(`TARGET',` (TARGET)', `') (64bit)
+ This package contains an additional runtime library for C++ programs
+ built with the GNU compiler.
+ .
+ libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which
+ was included up to g++-2.95. The first version of libstdc++-v3 appeared
+ in g++-3.0.
+ifdef(`TARGET', `dnl
+ .
+ This package contains files for TARGET architecture, for use in cross-compile
+ environment.
+')`'dnl
+')`'dnl lib64cxx
+
+ifenabled(`libn32cxx',`
+Package: libn32stdc++CXX_SO`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs')
+Section: ifdef(`TARGET',`devel',`libs')
+Priority: optional
+Depends: BASELDEP, libdep(gcc1,n32), ${shlibs:Depends}, ${misc:Depends}
+ifdef(`TARGET',`Provides: libn32stdc++CXX_SO-TARGET-dcv1
+',`')`'dnl
+BUILT_USING`'dnl
+Description: GNU Standard C++ Library v3`'ifdef(`TARGET',` (TARGET)', `') (n32)
+ This package contains an additional runtime library for C++ programs
+ built with the GNU compiler.
+ .
+ libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which
+ was included up to g++-2.95. The first version of libstdc++-v3 appeared
+ in g++-3.0.
+ifdef(`TARGET', `dnl
+ .
+ This package contains files for TARGET architecture, for use in cross-compile
+ environment.
+')`'dnl
+')`'dnl libn32cxx
+
+ifenabled(`libx32cxx',`
+Package: libx32stdc++CXX_SO`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs')
+Section: ifdef(`TARGET',`devel',`libs')
+Priority: optional
+Depends: BASELDEP, libdep(gcc1,x32), ${shlibs:Depends}, ${misc:Depends}
+ifdef(`TARGET',`Provides: libx32stdc++CXX_SO-TARGET-dcv1
+',`')`'dnl
+BUILT_USING`'dnl
+Description: GNU Standard C++ Library v3`'ifdef(`TARGET',` (TARGET)', `') (x32)
+ This package contains an additional runtime library for C++ programs
+ built with the GNU compiler.
+ .
+ libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which
+ was included up to g++-2.95. The first version of libstdc++-v3 appeared
+ in g++-3.0.
+ifdef(`TARGET', `dnl
+ .
+ This package contains files for TARGET architecture, for use in cross-compile
+ environment.
+')`'dnl
+')`'dnl libx32cxx
+
+ifenabled(`libhfcxx',`
+Package: libhfstdc++CXX_SO`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs')
+Section: ifdef(`TARGET',`devel',`libs')
+Priority: optional
+Depends: BASELDEP, libdep(gcc1,hf), ${shlibs:Depends}, ${misc:Depends}
+ifdef(`TARGET',`Provides: libhfstdc++CXX_SO-TARGET-dcv1
+',`')`'dnl
+ifdef(`TARGET',`dnl',`Conflicts: libstdc++'CXX_SO`-armhf [biarchhf_archs]')
+BUILT_USING`'dnl
+Description: GNU Standard C++ Library v3`'ifdef(`TARGET',` (TARGET)', `') (hard float ABI)
+ This package contains an additional runtime library for C++ programs
+ built with the GNU compiler.
+ .
+ libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which
+ was included up to g++-2.95. The first version of libstdc++-v3 appeared
+ in g++-3.0.
+ifdef(`TARGET', `dnl
+ .
+ This package contains files for TARGET architecture, for use in cross-compile
+ environment.
+')`'dnl
+')`'dnl libhfcxx
+
+ifenabled(`libsfcxx',`
+Package: libsfstdc++CXX_SO`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs')
+Section: ifdef(`TARGET',`devel',`libs')
+Priority: optional
+Depends: BASELDEP, libdep(gcc1,sf), ${shlibs:Depends}, ${misc:Depends}
+ifdef(`TARGET',`Provides: libsfstdc++CXX_SO-TARGET-dcv1
+',`')`'dnl
+ifdef(`TARGET',`dnl',`Conflicts: libstdc++'CXX_SO`-armel [biarchsf_archs]')
+BUILT_USING`'dnl
+Description: GNU Standard C++ Library v3`'ifdef(`TARGET',` (TARGET)', `') (soft float ABI)
+ This package contains an additional runtime library for C++ programs
+ built with the GNU compiler.
+ .
+ libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which
+ was included up to g++-2.95. The first version of libstdc++-v3 appeared
+ in g++-3.0.
+ifdef(`TARGET', `dnl
+ .
+ This package contains files for TARGET architecture, for use in cross-compile
+ environment.
+')`'dnl
+')`'dnl libsfcxx
+
+ifenabled(`libneoncxx',`
+Package: libstdc++CXX_SO-neon`'LS
+TARGET_PACKAGE`'dnl
+Architecture: NEON_ARCHS
+Section: libs
+Priority: optional
+Depends: BASELDEP, libc6-neon`'LS, libgcc1-neon`'LS, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: GNU Standard C++ Library v3 [NEON version]
+ This package contains an additional runtime library for C++ programs
+ built with the GNU compiler.
+ .
+ This set of libraries is optimized to use a NEON coprocessor, and will
+ be selected instead when running under systems which have one.
+')`'dnl
+
+ifenabled(`c++dev',`
+Package: libstdc++`'PV-dev`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`any')
+ifdef(`MULTIARCH', `Multi-Arch: same
+')`'dnl
+Section: ifdef(`TARGET',`devel',`libdevel')
+Priority: optional
+Depends: BASELDEP, libdevdep(gcc`'PV-dev,,=),
+ libdep(stdc++CXX_SO,,>=), ${dep:libcdev}, ${misc:Depends}
+ifdef(`TARGET',`',`dnl native
+Conflicts: libg++27-dev, libg++272-dev (<< 2.7.2.8-1), libstdc++2.8-dev,
+ libg++2.8-dev, libstdc++2.9-dev, libstdc++2.9-glibc2.1-dev,
+ libstdc++2.10-dev (<< 1:2.95.3-2), libstdc++3.0-dev
+Suggests: libstdc++`'PV-doc
+')`'dnl native
+Provides: libstdc++-dev`'LS`'ifdef(`TARGET',`, libstdc++-dev-TARGET-dcv1')
+BUILT_USING`'dnl
+Description: GNU Standard C++ Library v3 (development files)`'ifdef(`TARGET',` (TARGET)', `')
+ This package contains the headers and static library files necessary for
+ building C++ programs which use libstdc++.
+ .
+ libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which
+ was included up to g++-2.95. The first version of libstdc++-v3 appeared
+ in g++-3.0.
+ifdef(`TARGET', `dnl
+ .
+ This package contains files for TARGET architecture, for use in cross-compile
+ environment.
+')`'dnl
+
+Package: libstdc++`'PV-pic`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`any')
+ifdef(`MULTIARCH', `Multi-Arch: same
+')`'dnl
+Section: ifdef(`TARGET',`devel',`libdevel')
+Priority: optional
+Depends: BASELDEP, libdep(stdc++CXX_SO,),
+ libdevdep(stdc++`'PV-dev,), ${misc:Depends}
+ifdef(`TARGET',`Provides: libstdc++-pic-TARGET-dcv1
+',`')`'dnl
+BUILT_USING`'dnl
+Description: GNU Standard C++ Library v3 (shared library subset kit)`'ifdef(`TARGET',` (TARGET)', `')
+ This is used to develop subsets of the libstdc++ shared libraries for
+ use on custom installation floppies and in embedded systems.
+ .
+ Unless you are making one of those, you will not need this package.
+ifdef(`TARGET', `dnl
+ .
+ This package contains files for TARGET architecture, for use in cross-compile
+ environment.
+')`'dnl
+
+Package: libstdc++CXX_SO`'PV-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`any')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(stdc++CXX_SO,),
+ libdbgdep(gcc`'GCC_SO-dbg,,>=,${libgcc:Version}), ${shlibs:Depends}, ${misc:Depends}
+Provides: ifdef(`TARGET',`libstdc++CXX_SO-dbg-TARGET-dcv1',`libstdc++'CXX_SO`'PV`-dbg-armel [armel], libstdc++'CXX_SO`'PV`-dbg-armhf [armhf]')
+ifdef(`MULTIARCH', `Multi-Arch: same
+')`'dnl
+Recommends: libdevdep(stdc++`'PV-dev,)
+Conflicts: libstdc++5-dbg`'LS, libstdc++5-3.3-dbg`'LS, libstdc++6-dbg`'LS,
+ libstdc++6-4.0-dbg`'LS, libstdc++6-4.1-dbg`'LS, libstdc++6-4.2-dbg`'LS,
+ libstdc++6-4.3-dbg`'LS, libstdc++6-4.4-dbg`'LS, libstdc++6-4.5-dbg`'LS,
+ libstdc++6-4.6-dbg`'LS, libstdc++6-4.7-dbg`'LS, libstdc++6-4.8-dbg`'LS,
+ libstdc++6-4.9-dbg`'LS, libstdc++6-5-dbg`'LS, libstdc++6-6-dbg`'LS,
+ libstdc++6-7-dbg`'LS
+BUILT_USING`'dnl
+Description: GNU Standard C++ Library v3 (debugging files)`'ifdef(`TARGET',` (TARGET)', `')
+ This package contains the shared library of libstdc++ compiled with
+ debugging symbols.
+ifdef(`TARGET', `dnl
+ .
+ This package contains files for TARGET architecture, for use in cross-compile
+ environment.
+')`'dnl
+
+Package: lib32stdc++`'PV-dev`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs')
+Section: ifdef(`TARGET',`devel',`libdevel')
+Priority: optional
+Depends: BASELDEP, libdevdep(gcc`'PV-dev,32),
+ libdep(stdc++CXX_SO,32), libdevdep(stdc++`'PV-dev,), ${misc:Depends}
+BUILT_USING`'dnl
+Description: GNU Standard C++ Library v3 (development files)`'ifdef(`TARGET',` (TARGET)', `')
+ This package contains the headers and static library files necessary for
+ building C++ programs which use libstdc++.
+ .
+ libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which
+ was included up to g++-2.95. The first version of libstdc++-v3 appeared
+ in g++-3.0.
+ifdef(`TARGET', `dnl
+ .
+ This package contains files for TARGET architecture, for use in cross-compile
+ environment.
+')`'dnl
+
+Package: lib32stdc++CXX_SO`'PV-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(stdc++CXX_SO,32),
+ libdevdep(stdc++`'PV-dev,), libdbgdep(gcc`'GCC_SO-dbg,32,>=,${gcc:EpochVersion}),
+ ${shlibs:Depends}, ${misc:Depends}
+ifdef(`TARGET',`Provides: lib32stdc++CXX_SO-dbg-TARGET-dcv1
+',`')`'dnl
+Conflicts: lib32stdc++6-dbg`'LS, lib32stdc++6-4.0-dbg`'LS,
+ lib32stdc++6-4.1-dbg`'LS, lib32stdc++6-4.2-dbg`'LS, lib32stdc++6-4.3-dbg`'LS,
+ lib32stdc++6-4.4-dbg`'LS, lib32stdc++6-4.5-dbg`'LS, lib32stdc++6-4.6-dbg`'LS,
+ lib32stdc++6-4.7-dbg`'LS, lib32stdc++6-4.8-dbg`'LS, lib32stdc++6-4.9-dbg`'LS,
+ lib32stdc++6-5-dbg`'LS, lib32stdc++6-6-dbg`'LS, lib32stdc++6-7-dbg`'LS
+BUILT_USING`'dnl
+Description: GNU Standard C++ Library v3 (debugging files)`'ifdef(`TARGET',` (TARGET)', `')
+ This package contains the shared library of libstdc++ compiled with
+ debugging symbols.
+ifdef(`TARGET', `dnl
+ .
+ This package contains files for TARGET architecture, for use in cross-compile
+ environment.
+')`'dnl
+
+Package: lib64stdc++`'PV-dev`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs')
+Section: ifdef(`TARGET',`devel',`libdevel')
+Priority: optional
+Depends: BASELDEP, libdevdep(gcc`'PV-dev,64),
+ libdep(stdc++CXX_SO,64), libdevdep(stdc++`'PV-dev,), ${misc:Depends}
+BUILT_USING`'dnl
+Description: GNU Standard C++ Library v3 (development files)`'ifdef(`TARGET',` (TARGET)', `')
+ This package contains the headers and static library files necessary for
+ building C++ programs which use libstdc++.
+ .
+ libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which
+ was included up to g++-2.95. The first version of libstdc++-v3 appeared
+ in g++-3.0.
+ifdef(`TARGET', `dnl
+ .
+ This package contains files for TARGET architecture, for use in cross-compile
+ environment.
+')`'dnl
+
+Package: lib64stdc++CXX_SO`'PV-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(stdc++CXX_SO,64),
+ libdevdep(stdc++`'PV-dev,), libdbgdep(gcc`'GCC_SO-dbg,64,>=,${gcc:EpochVersion}),
+ ${shlibs:Depends}, ${misc:Depends}
+ifdef(`TARGET',`Provides: lib64stdc++CXX_SO-dbg-TARGET-dcv1
+',`')`'dnl
+Conflicts: lib64stdc++6-dbg`'LS, lib64stdc++6-4.0-dbg`'LS,
+ lib64stdc++6-4.1-dbg`'LS, lib64stdc++6-4.2-dbg`'LS, lib64stdc++6-4.3-dbg`'LS,
+ lib64stdc++6-4.4-dbg`'LS, lib64stdc++6-4.5-dbg`'LS, lib64stdc++6-4.6-dbg`'LS,
+ lib64stdc++6-4.7-dbg`'LS, lib64stdc++6-4.8-dbg`'LS, lib64stdc++6-4.9-dbg`'LS,
+ lib64stdc++6-5-dbg`'LS, lib64stdc++6-6-dbg`'LS, lib64stdc++6-7-dbg`'LS,
+BUILT_USING`'dnl
+Description: GNU Standard C++ Library v3 (debugging files)`'ifdef(`TARGET',` (TARGET)', `')
+ This package contains the shared library of libstdc++ compiled with
+ debugging symbols.
+ifdef(`TARGET', `dnl
+ .
+ This package contains files for TARGET architecture, for use in cross-compile
+ environment.
+')`'dnl
+
+Package: libn32stdc++`'PV-dev`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs')
+Section: ifdef(`TARGET',`devel',`libdevel')
+Priority: optional
+Depends: BASELDEP, libdevdep(gcc`'PV-dev,n32),
+ libdep(stdc++CXX_SO,n32), libdevdep(stdc++`'PV-dev,), ${misc:Depends}
+BUILT_USING`'dnl
+Description: GNU Standard C++ Library v3 (development files)`'ifdef(`TARGET',` (TARGET)', `')
+ This package contains the headers and static library files necessary for
+ building C++ programs which use libstdc++.
+ .
+ libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which
+ was included up to g++-2.95. The first version of libstdc++-v3 appeared
+ in g++-3.0.
+ifdef(`TARGET', `dnl
+ .
+ This package contains files for TARGET architecture, for use in cross-compile
+ environment.
+')`'dnl
+
+Package: libn32stdc++CXX_SO`'PV-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(stdc++CXX_SO,n32),
+ libdevdep(stdc++`'PV-dev,), libdbgdep(gcc`'GCC_SO-dbg,n32,>=,${gcc:EpochVersion}),
+ ${shlibs:Depends}, ${misc:Depends}
+ifdef(`TARGET',`Provides: libn32stdc++CXX_SO-dbg-TARGET-dcv1
+',`')`'dnl
+Conflicts: libn32stdc++6-dbg`'LS, libn32stdc++6-4.0-dbg`'LS,
+ libn32stdc++6-4.1-dbg`'LS, libn32stdc++6-4.2-dbg`'LS, libn32stdc++6-4.3-dbg`'LS,
+ libn32stdc++6-4.4-dbg`'LS, libn32stdc++6-4.5-dbg`'LS, libn32stdc++6-4.6-dbg`'LS,
+ libn32stdc++6-4.7-dbg`'LS, libn32stdc++6-4.8-dbg`'LS, libn32stdc++6-4.9-dbg`'LS,
+ libn32stdc++6-5-dbg`'LS, libn32stdc++6-6-dbg`'LS, libn32stdc++6-7-dbg`'LS,
+BUILT_USING`'dnl
+Description: GNU Standard C++ Library v3 (debugging files)`'ifdef(`TARGET',` (TARGET)', `')
+ This package contains the shared library of libstdc++ compiled with
+ debugging symbols.
+ifdef(`TARGET', `dnl
+ .
+ This package contains files for TARGET architecture, for use in cross-compile
+ environment.
+')`'dnl
+
+ifenabled(`x32dev',`
+Package: libx32stdc++`'PV-dev`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs')
+Section: ifdef(`TARGET',`devel',`libdevel')
+Priority: optional
+Depends: BASELDEP, libdevdep(gcc`'PV-dev,x32), libdep(stdc++CXX_SO,x32),
+ libdevdep(stdc++`'PV-dev,), ${misc:Depends}
+BUILT_USING`'dnl
+Description: GNU Standard C++ Library v3 (development files)`'ifdef(`TARGET',` (TARGET)', `')
+ This package contains the headers and static library files necessary for
+ building C++ programs which use libstdc++.
+ .
+ libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which
+ was included up to g++-2.95. The first version of libstdc++-v3 appeared
+ in g++-3.0.
+ifdef(`TARGET', `dnl
+ .
+ This package contains files for TARGET architecture, for use in cross-compile
+ environment.
+')`'dnl
+')`'dnl x32dev
+
+ifenabled(`libx32dbgcxx',`
+Package: libx32stdc++CXX_SO`'PV-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(stdc++CXX_SO,x32),
+ libdevdep(stdc++`'PV-dev,), libdbgdep(gcc`'GCC_SO-dbg,x32,>=,${gcc:EpochVersion}),
+ ${shlibs:Depends}, ${misc:Depends}
+ifdef(`TARGET',`Provides: libx32stdc++CXX_SO-dbg-TARGET-dcv1
+',`')`'dnl
+Conflicts: libx32stdc++6-dbg`'LS, libx32stdc++6-4.6-dbg`'LS,
+ libx32stdc++6-4.7-dbg`'LS, libx32stdc++6-4.8-dbg`'LS, libx32stdc++6-4.9-dbg`'LS,
+ libx32stdc++6-5-dbg`'LS, libx32stdc++6-6-dbg`'LS, libx32stdc++6-7-dbg`'LS,
+BUILT_USING`'dnl
+Description: GNU Standard C++ Library v3 (debugging files)`'ifdef(`TARGET',` (TARGET)', `')
+ This package contains the shared library of libstdc++ compiled with
+ debugging symbols.
+ifdef(`TARGET', `dnl
+ .
+ This package contains files for TARGET architecture, for use in cross-compile
+ environment.
+')`'dnl
+')`'dnl libx32dbgcxx
+
+ifenabled(`libhfdbgcxx',`
+Package: libhfstdc++`'PV-dev`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs')
+Section: ifdef(`TARGET',`devel',`libdevel')
+Priority: optional
+Depends: BASELDEP, libdevdep(gcc`'PV-dev,hf),
+ libdep(stdc++CXX_SO,hf), libdevdep(stdc++`'PV-dev,), ${misc:Depends}
+BUILT_USING`'dnl
+Description: GNU Standard C++ Library v3 (development files)`'ifdef(`TARGET',` (TARGET)', `')
+ This package contains the headers and static library files necessary for
+ building C++ programs which use libstdc++.
+ .
+ libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which
+ was included up to g++-2.95. The first version of libstdc++-v3 appeared
+ in g++-3.0.
+ifdef(`TARGET', `dnl
+ .
+ This package contains files for TARGET architecture, for use in cross-compile
+ environment.
+')`'dnl
+
+Package: libhfstdc++CXX_SO`'PV-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(stdc++CXX_SO,hf),
+ libdevdep(stdc++`'PV-dev,), libdbgdep(gcc`'GCC_SO-dbg,hf,>=,${gcc:EpochVersion}),
+ ${shlibs:Depends}, ${misc:Depends}
+ifdef(`TARGET',`Provides: libhfstdc++CXX_SO-dbg-TARGET-dcv1
+',`')`'dnl
+ifdef(`TARGET',`dnl',`Conflicts: libhfstdc++6-dbg`'LS, libhfstdc++6-4.3-dbg`'LS, libhfstdc++6-4.4-dbg`'LS, libhfstdc++6-4.5-dbg`'LS, libhfstdc++6-4.6-dbg`'LS, libhfstdc++6-4.7-dbg`'LS, libhfstdc++6-4.8-dbg`'LS, libhfstdc++6-4.9-dbg`'LS, libhfstdc++6-5-dbg`'LS, libhfstdc++6-6-dbg`'LS, libhfstdc++6-7-dbg`'LS, libstdc++'CXX_SO`-armhf [biarchhf_archs]')
+BUILT_USING`'dnl
+Description: GNU Standard C++ Library v3 (debugging files)`'ifdef(`TARGET',` (TARGET)', `')
+ This package contains the shared library of libstdc++ compiled with
+ debugging symbols.
+ifdef(`TARGET', `dnl
+ .
+ This package contains files for TARGET architecture, for use in cross-compile
+ environment.
+')`'dnl
+')`'dnl libhfdbgcxx
+
+ifenabled(`libsfdbgcxx',`
+Package: libsfstdc++`'PV-dev`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs')
+Section: ifdef(`TARGET',`devel',`libdevel')
+Priority: optional
+Depends: BASELDEP, libdevdep(gcc`'PV-dev,sf),
+ libdep(stdc++CXX_SO,sf), libdevdep(stdc++`'PV-dev,), ${misc:Depends}
+BUILT_USING`'dnl
+Description: GNU Standard C++ Library v3 (development files)`'ifdef(`TARGET',` (TARGET)', `')
+ This package contains the headers and static library files necessary for
+ building C++ programs which use libstdc++.
+ .
+ libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which
+ was included up to g++-2.95. The first version of libstdc++-v3 appeared
+ in g++-3.0.
+ifdef(`TARGET', `dnl
+ .
+ This package contains files for TARGET architecture, for use in cross-compile
+ environment.
+')`'dnl
+
+Package: libsfstdc++CXX_SO`'PV-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs')
+Section: debug
+Priority: optional
+Depends: BASELDEP, libdep(stdc++CXX_SO,sf),
+ libdevdep(stdc++`'PV-dev,), libdbgdep(gcc`'GCC_SO-dbg,sf,>=,${gcc:EpochVersion}),
+ ${shlibs:Depends}, ${misc:Depends}
+ifdef(`TARGET',`Provides: libsfstdc++CXX_SO-dbg-TARGET-dcv1
+',`')`'dnl
+ifdef(`TARGET',`dnl',`Conflicts: libsfstdc++6-dbg`'LS, libsfstdc++6-4.3-dbg`'LS, libsfstdc++6-4.4-dbg`'LS, libsfstdc++6-4.5-dbg`'LS, libsfstdc++6-4.6-dbg`'LS, libsfstdc++6-4.7-dbg`'LS, libsfstdc++6-4.8-dbg`'LS, libsfstdc++6-4.9-dbg`'LS, libsfstdc++6-5-dbg`'LS, libhfstdc++6-6-dbg`'LS, libhfstdc++6-7-dbg`'LS, libstdc++'CXX_SO`-armel [biarchsf_archs]')
+BUILT_USING`'dnl
+Description: GNU Standard C++ Library v3 (debugging files)`'ifdef(`TARGET',` (TARGET)', `')
+ This package contains the shared library of libstdc++ compiled with
+ debugging symbols.
+ifdef(`TARGET', `dnl
+ .
+ This package contains files for TARGET architecture, for use in cross-compile
+ environment.
+')`'dnl
+')`'dnl libsfdbgcxx
+
+ifdef(`TARGET', `', `
+Package: libstdc++`'PV-doc
+Architecture: all
+Section: doc
+Priority: PRI(optional)
+Depends: gcc`'PV-base (>= ${gcc:SoftVersion}), ${misc:Depends}
+Conflicts: libstdc++5-doc, libstdc++5-3.3-doc, libstdc++6-doc,
+ libstdc++6-4.0-doc, libstdc++6-4.1-doc, libstdc++6-4.2-doc, libstdc++6-4.3-doc,
+ libstdc++6-4.4-doc, libstdc++6-4.5-doc, libstdc++6-4.6-doc, libstdc++6-4.7-doc,
+ libstdc++-4.8-doc, libstdc++-4.9-doc, libstdc++-5-doc, libstdc++-6-doc,
+ libstdc++-7-doc,
+Description: GNU Standard C++ Library v3 (documentation files)
+ This package contains documentation files for the GNU stdc++ library.
+ .
+ One set is the distribution documentation, the other set is the
+ source documentation including a namespace list, class hierarchy,
+ alphabetical list, compound list, file list, namespace members,
+ compound members and file members.
+')`'dnl native
+')`'dnl c++dev
+')`'dnl c++
+
+ifenabled(`ada',`
+Package: gnat`'-GNAT_V`'TS
+Architecture: any
+ifdef(`TARGET',`Multi-Arch: foreign
+')dnl
+Priority: optional
+ifdef(`MULTIARCH', `Pre-Depends: ${misc:Pre-Depends}
+')`'dnl
+Depends: BASEDEP, gcc`'PV`'TS (>= ${gcc:SoftVersion}), ${dep:libgnat}, ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends}
+Suggests: gnat`'PV-doc, ada-reference-manual-2012, gnat`'-GNAT_V-sjlj
+Breaks: gnat (<< 4.6.1), dh-ada-library (<< 6.0), gnat-4.6-base (= 4.6.4-2),
+ gnat-4.9-base (= 4.9-20140330-1)
+Replaces: gnat (<< 4.6.1), dh-ada-library (<< 6.0), gnat-4.6-base (= 4.6.4-2),
+ gnat-4.9-base (= 4.9-20140330-1)
+# Takes over symlink from gnat (<< 4.6.1): /usr/bin/gnatgcc.
+# Takes over file from dh-ada-library (<< 6.0): debian_packaging.mk.
+# g-base 4.6.4-2, 4.9-20140330-1 contain debian_packaging.mk by mistake.
+# Newer versions of gnat and dh-ada-library will not provide these files.
+Conflicts: gnat (<< 4.1), gnat-3.1, gnat-3.2, gnat-3.3, gnat-3.4, gnat-3.5,
+ gnat-4.0, gnat-4.1, gnat-4.2, gnat-4.3, gnat-4.4, gnat-4.6, gnat-4.7, gnat-4.8,
+ gnat-4.9, gnat-5`'TS, gnat-6`'TS, gnat-7`'TS,
+# These other packages will continue to provide /usr/bin/gnatmake and
+# other files.
+BUILT_USING`'dnl
+Description: GNU Ada compiler
+ GNAT is a compiler for the Ada programming language. It produces optimized
+ code on platforms supported by the GNU Compiler Collection (GCC).
+ .
+ This package provides the compiler, tools and runtime library that handles
+ exceptions using the default zero-cost mechanism.
+
+ifenabled(`adasjlj',`
+Package: gnat`'-GNAT_V-sjlj`'TS
+Architecture: any
+ifdef(`TARGET',`Multi-Arch: foreign
+')dnl
+Priority: optional
+ifdef(`MULTIARCH', `Pre-Depends: ${misc:Pre-Depends}
+')`'dnl
+Depends: BASEDEP, gnat`'-GNAT_V`'TS (= ${gnat:Version}), ${misc:Depends}
+BUILT_USING`'dnl
+Description: GNU Ada compiler (setjump/longjump runtime library)
+ GNAT is a compiler for the Ada programming language. It produces optimized
+ code on platforms supported by the GNU Compiler Collection (GCC).
+ .
+ This package provides an alternative runtime library that handles
+ exceptions using the setjump/longjump mechanism (as a static library
+ only). You can install it to supplement the normal compiler.
+')`'dnl adasjlj
+
+ifenabled(`libgnat',`
+Package: libgnat`'-GNAT_V`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`any')
+ifdef(`MULTIARCH', `Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+')`'dnl
+Priority: optional
+Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: runtime for applications compiled with GNAT (shared library)
+ GNAT is a compiler for the Ada programming language. It produces optimized
+ code on platforms supported by the GNU Compiler Collection (GCC).
+ .
+ The libgnat library provides runtime components needed by most
+ applications produced with GNAT.
+ .
+ This package contains the runtime shared library.
+
+Package: libgnat`'-GNAT_V-dbg`'LS
+TARGET_PACKAGE`'dnl
+Section: debug
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`any')
+ifdef(`MULTIARCH', `Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+')`'dnl
+Priority: optional
+Depends: BASELDEP, libgnat`'-GNAT_V`'LS (= ${gnat:Version}), ${misc:Depends}
+BUILT_USING`'dnl
+Description: runtime for applications compiled with GNAT (debugging symbols)
+ GNAT is a compiler for the Ada programming language. It produces optimized
+ code on platforms supported by the GNU Compiler Collection (GCC).
+ .
+ The libgnat library provides runtime components needed by most
+ applications produced with GNAT.
+ .
+ This package contains the debugging symbols.
+
+ifdef(`TARGET',`',`
+Package: libgnatvsn`'GNAT_V-dev`'LS
+TARGET_PACKAGE`'dnl
+Section: libdevel
+Architecture: any
+Priority: optional
+Depends: BASELDEP, gnat`'PV`'TS (= ${gnat:Version}),
+ libgnatvsn`'GNAT_V`'LS (= ${gnat:Version}), ${misc:Depends}
+Conflicts: libgnatvsn-dev (<< `'GNAT_V),
+ libgnatvsn4.1-dev, libgnatvsn4.3-dev, libgnatvsn4.4-dev,
+ libgnatvsn4.5-dev, libgnatvsn4.6-dev, libgnatvsn4.9-dev,
+ libgnatvsn5-dev`'LS, libgnatvsn6-dev`'LS, libgnatvsn7-dev`'LS,
+BUILT_USING`'dnl
+Description: GNU Ada compiler selected components (development files)
+ GNAT is a compiler for the Ada programming language. It produces optimized
+ code on platforms supported by the GNU Compiler Collection (GCC).
+ .
+ The libgnatvsn library exports selected GNAT components for use in other
+ packages, most notably ASIS tools. It is licensed under the GNAT-Modified
+ GPL, allowing to link proprietary programs with it.
+ .
+ This package contains the development files and static library.
+
+Package: libgnatvsn`'GNAT_V`'LS
+TARGET_PACKAGE`'dnl
+Architecture: any
+ifdef(`MULTIARCH', `Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+')`'dnl
+Priority: PRI(optional)
+Section: libs
+Depends: BASELDEP, libgnat`'-GNAT_V`'LS (= ${gnat:Version}),
+ ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: GNU Ada compiler selected components (shared library)
+ GNAT is a compiler for the Ada programming language. It produces optimized
+ code on platforms supported by the GNU Compiler Collection (GCC).
+ .
+ The libgnatvsn library exports selected GNAT components for use in other
+ packages, most notably ASIS tools. It is licensed under the GNAT-Modified
+ GPL, allowing to link proprietary programs with it.
+ .
+ This package contains the runtime shared library.
+
+Package: libgnatvsn`'GNAT_V-dbg`'LS
+TARGET_PACKAGE`'dnl
+Architecture: any
+ifdef(`MULTIARCH', `Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+')`'dnl
+Priority: optional
+Section: debug
+Depends: BASELDEP, libgnatvsn`'GNAT_V`'LS (= ${gnat:Version}), ${misc:Depends}
+Suggests: gnat
+BUILT_USING`'dnl
+Description: GNU Ada compiler selected components (debugging symbols)
+ GNAT is a compiler for the Ada programming language. It produces optimized
+ code on platforms supported by the GNU Compiler Collection (GCC).
+ .
+ The libgnatvsn library exports selected GNAT components for use in other
+ packages, most notably ASIS tools. It is licensed under the GNAT-Modified
+ GPL, allowing to link proprietary programs with it.
+ .
+ This package contains the debugging symbols.
+')`'dnl native
+')`'dnl libgnat
+
+ifenabled(`lib64gnat',`
+Package: lib64gnat`'-GNAT_V
+Section: libs
+Architecture: biarch64_archs
+Priority: PRI(optional)
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: runtime for applications compiled with GNAT (64 bits shared library)
+ GNAT is a compiler for the Ada programming language. It produces optimized
+ code on platforms supported by the GNU Compiler Collection (GCC).
+ .
+ The libgnat library provides runtime components needed by most
+ applications produced with GNAT.
+ .
+ This package contains the runtime shared library for 64 bits architectures.
+')`'dnl libgnat
+
+ifenabled(`gfdldoc',`
+Package: gnat`'PV-doc
+Architecture: all
+Section: doc
+Priority: PRI(optional)
+Depends: dpkg (>= 1.15.4) | install-info, ${misc:Depends}
+Suggests: gnat`'PV
+Conflicts: gnat-4.1-doc, gnat-4.2-doc,
+ gnat-4.3-doc, gnat-4.4-doc,
+ gnat-4.6-doc, gnat-4.9-doc,
+ gnat-5-doc, gnat-6-doc, gnat-7-doc,
+BUILT_USING`'dnl
+Description: GNU Ada compiler (documentation)
+ GNAT is a compiler for the Ada programming language. It produces optimized
+ code on platforms supported by the GNU Compiler Collection (GCC).
+ .
+ The libgnat library provides runtime components needed by most
+ applications produced with GNAT.
+ .
+ This package contains the documentation in info `format'.
+')`'dnl gfdldoc
+')`'dnl ada
+
+ifenabled(`d ',`
+Package: gdc`'PV`'TS
+Architecture: any
+ifdef(`TARGET',`Multi-Arch: foreign
+')dnl
+Priority: optional
+Depends: SOFTBASEDEP, g++`'PV`'TS (>= ${gcc:SoftVersion}), ${dep:gdccross}, ${dep:phobosdev}, ${shlibs:Depends}, ${misc:Depends}
+ifdef(`TARGET',`',`Provides: gdc, d-compiler, d-v2-compiler
+')dnl
+Replaces: gdc (<< 4.4.6-5)
+BUILT_USING`'dnl
+Description: GNU D compiler (version 2)`'ifdef(`TARGET',` (cross compiler for TARGET architecture)', `')
+ This is the GNU D compiler, which compiles D on platforms supported by gcc.
+ It uses the gcc backend to generate optimised code.
+ .
+ This compiler supports D language version 2.
+
+ifenabled(`multilib',`
+Package: gdc`'PV-multilib`'TS
+Architecture: any
+ifdef(`TARGET',`Multi-Arch: foreign
+')dnl
+Priority: optional
+Depends: SOFTBASEDEP, gdc`'PV`'TS (= ${gcc:Version}), gcc`'PV-multilib`'TS (= ${gcc:Version}), ${dep:libphobosbiarchdev}${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: GNU D compiler (version 2, multilib support)`'ifdef(`TARGET',` (cross compiler for TARGET architecture)', `')
+ This is the GNU D compiler, which compiles D on platforms supported by gcc.
+ It uses the gcc backend to generate optimised code.
+ .
+ This is a dependency package, depending on development packages
+ for the non-default multilib architecture(s).
+')`'dnl multilib
+
+ifenabled(`libdevphobos',`
+Package: libgphobos`'PV-dev`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`libphobos_archs')
+ifdef(`MULTIARCH', `Multi-Arch: same
+')`'dnl
+Section: libdevel
+Priority: optional
+Depends: BASELDEP, libgphobos`'PHOBOS_V`'LS (>= ${gdc:Version}),
+ zlib1g-dev, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: Phobos D standard library
+ This is the Phobos standard library that comes with the D2 compiler.
+ .
+ For more information check http://www.dlang.org/phobos/
+
+Package: lib64gphobos`'PV-dev`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs')
+Section: libdevel
+Priority: optional
+Depends: BASELDEP, lib64gphobos`'PHOBOS_V`'LS (>= ${gdc:Version}),
+ libdevdep(gcc`'PV-dev,64), ifdef(`TARGET',`',`lib64z1-dev,') ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: Phobos D standard library (64bit development files)
+ This is the Phobos standard library that comes with the D2 compiler.
+ .
+ For more information check http://www.dlang.org/phobos/
+
+Package: lib32gphobos`'PV-dev`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs')
+Section: libdevel
+Priority: optional
+Depends: BASELDEP, lib32gphobos`'PHOBOS_V`'LS (>= ${gdc:Version}),
+ libdevdep(gcc`'PV-dev,32), ifdef(`TARGET',`',`lib32z1-dev,') ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: Phobos D standard library (32bit development files)
+ This is the Phobos standard library that comes with the D2 compiler.
+ .
+ For more information check http://www.dlang.org/phobos/
+
+ifenabled(`libdevn32phobos',`
+Package: libn32gphobos`'PV-dev`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs')
+Section: libdevel
+Priority: optional
+Depends: BASELDEP, libn32gphobos`'PHOBOS_V`'LS (>= ${gdc:Version}),
+ libdevdep(gcc`'PV-dev,n32), ifdef(`TARGET',`',`libn32z1-dev,') ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: Phobos D standard library (n32 development files)
+ This is the Phobos standard library that comes with the D2 compiler.
+ .
+ For more information check http://www.dlang.org/phobos/
+')`'dnl libn32phobos
+
+ifenabled(`libdevx32phobos',`
+Package: libx32gphobos`'PV-dev`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs')
+Section: libdevel
+Priority: optional
+Depends: BASELDEP, libx32gphobos`'PHOBOS_V`'LS (>= ${gdc:Version}),
+ libdevdep(gcc`'PV-dev,x32), ifdef(`TARGET',`',`${dep:libx32z},') ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: Phobos D standard library (x32 development files)
+ This is the Phobos standard library that comes with the D2 compiler.
+ .
+ For more information check http://www.dlang.org/phobos/
+')`'dnl libx32phobos
+
+ifenabled(`armml',`
+Package: libhfgphobos`'PV-dev`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs')
+Section: libdevel
+Priority: optional
+Depends: BASELDEP, libhfgphobos`'PHOBOS_V`'LS (>= ${gdc:Version}),
+ libdevdep(gcc`'PV-dev,hf), ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: Phobos D standard library (hard float ABI development files)
+ This is the Phobos standard library that comes with the D2 compiler.
+ .
+ For more information check http://www.dlang.org/phobos/
+
+Package: libsfgphobos`'PV-dev`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs')
+Section: libdevel
+Priority: optional
+Depends: BASELDEP, libsfgphobos`'PHOBOS_V`'LS (>= ${gdc:Version}),
+ libdevdep(gcc`'PV-dev,sf), ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: Phobos D standard library (soft float ABI development files)
+ This is the Phobos standard library that comes with the D2 compiler.
+ .
+ For more information check http://www.dlang.org/phobos/
+')`'dnl armml
+')`'dnl libdevphobos
+
+ifenabled(`libphobos',`
+Package: libgphobos`'PHOBOS_V`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`libphobos_archs')
+ifdef(`MULTIARCH', `Multi-Arch: same
+')`'dnl
+Priority: optional
+Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends}
+Replaces: libgphobos68`'LS
+BUILT_USING`'dnl
+Description: Phobos D standard library (runtime library)
+ This is the Phobos standard library that comes with the D2 compiler.
+ .
+ For more information check http://www.dlang.org/phobos/
+
+Package: libgphobos`'PHOBOS_V-dbg`'LS
+TARGET_PACKAGE`'dnl
+Section: debug
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`libphobos_archs')
+ifdef(`MULTIARCH', `Multi-Arch: same
+')`'dnl
+Priority: optional
+Depends: BASELDEP, libgphobos`'PHOBOS_V`'LS (= ${gdc:Version}), ${misc:Depends}
+Replaces: libgphobos68-dbg`'LS
+BUILT_USING`'dnl
+Description: Phobos D standard library (debug symbols)
+ This is the Phobos standard library that comes with the D2 compiler.
+ .
+ For more information check http://www.dlang.org/phobos/
+
+Package: lib64gphobos`'PHOBOS_V`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs')
+Priority: optional
+Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends}
+Replaces: lib64gphobos68`'LS
+BUILT_USING`'dnl
+Description: Phobos D standard library (runtime library)
+ This is the Phobos standard library that comes with the D2 compiler.
+ .
+ For more information check http://www.dlang.org/phobos/
+
+Package: lib64gphobos`'PHOBOS_V-dbg`'LS
+TARGET_PACKAGE`'dnl
+Section: debug
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs')
+Priority: optional
+Depends: BASELDEP, lib64gphobos`'PHOBOS_V`'LS (= ${gdc:Version}), ${misc:Depends}
+Replaces: lib64gphobos68-dbg`'LS
+BUILT_USING`'dnl
+Description: Phobos D standard library (debug symbols)
+ This is the Phobos standard library that comes with the D2 compiler.
+ .
+ For more information check http://www.dlang.org/phobos/
+
+Package: lib32gphobos`'PHOBOS_V`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs')
+Priority: optional
+Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends}
+Replaces: lib32gphobos68`'LS
+BUILT_USING`'dnl
+Description: Phobos D standard library (runtime library)
+ This is the Phobos standard library that comes with the D2 compiler.
+ .
+ For more information check http://www.dlang.org/phobos/
+
+Package: lib32gphobos`'PHOBOS_V-dbg`'LS
+TARGET_PACKAGE`'dnl
+Section: debug
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs')
+Priority: optional
+Depends: BASELDEP, lib32gphobos`'PHOBOS_V`'LS (= ${gdc:Version}), ${misc:Depends}
+Replaces: lib32gphobos68-dbg`'LS
+BUILT_USING`'dnl
+Description: Phobos D standard library (debug symbols)
+ This is the Phobos standard library that comes with the D2 compiler.
+ .
+ For more information check http://www.dlang.org/phobos/
+
+ifenabled(`libn32phobos',`
+Package: libn32gphobos`'PHOBOS_V`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs')
+Priority: optional
+Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: Phobos D standard library (runtime library)
+ This is the Phobos standard library that comes with the D2 compiler.
+ .
+ For more information check http://www.dlang.org/phobos/
+
+Package: libn32gphobos`'PHOBOS_V-dbg`'LS
+TARGET_PACKAGE`'dnl
+Section: debug
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs')
+Priority: optional
+Depends: BASELDEP, libn32gphobos`'PHOBOS_V`'LS (= ${gdc:Version}), ${misc:Depends}
+BUILT_USING`'dnl
+Description: Phobos D standard library (debug symbols)
+ This is the Phobos standard library that comes with the D2 compiler.
+ .
+ For more information check http://www.dlang.org/phobos/
+')`'dnl libn32phobos
+
+ifenabled(`libx32phobos',`
+Package: libx32gphobos`'PHOBOS_V`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs')
+Priority: optional
+Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends}
+Replaces: libx32gphobos68`'LS
+BUILT_USING`'dnl
+Description: Phobos D standard library (runtime library)
+ This is the Phobos standard library that comes with the D2 compiler.
+ .
+ For more information check http://www.dlang.org/phobos/
+
+Package: libx32gphobos`'PHOBOS_V-dbg`'LS
+TARGET_PACKAGE`'dnl
+Section: debug
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs')
+Priority: optional
+Depends: BASELDEP, libx32gphobos`'PHOBOS_V`'LS (= ${gdc:Version}), ${misc:Depends}
+Replaces: libx32gphobos68-dbg`'LS
+BUILT_USING`'dnl
+Description: Phobos D standard library (debug symbols)
+ This is the Phobos standard library that comes with the D2 compiler.
+ .
+ For more information check http://www.dlang.org/phobos/
+')`'dnl libx32phobos
+
+ifenabled(`armml',`
+Package: libhfgphobos`'PHOBOS_V`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs')
+Priority: optional
+Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends}
+Replaces: libhfgphobos68`'LS
+BUILT_USING`'dnl
+Description: Phobos D standard library (runtime library)
+ This is the Phobos standard library that comes with the D2 compiler.
+ .
+ For more information check http://www.dlang.org/phobos/
+
+Package: libhfgphobos`'PHOBOS_V-dbg`'LS
+TARGET_PACKAGE`'dnl
+Section: debug
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs')
+Priority: optional
+Depends: BASELDEP, libhfgphobos`'PHOBOS_V`'LS (= ${gdc:Version}), ${misc:Depends}
+Replaces: libhfgphobos68-dbg`'LS
+BUILT_USING`'dnl
+Description: Phobos D standard library (debug symbols)
+ This is the Phobos standard library that comes with the D2 compiler.
+ .
+ For more information check http://www.dlang.org/phobos/
+
+Package: libsfgphobos`'PHOBOS_V`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs')
+Priority: optional
+Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends}
+Replaces: libsfgphobos68`'LS
+BUILT_USING`'dnl
+Description: Phobos D standard library (runtime library)
+ This is the Phobos standard library that comes with the D2 compiler.
+ .
+ For more information check http://www.dlang.org/phobos/
+
+Package: libsfgphobos`'PHOBOS_V-dbg`'LS
+TARGET_PACKAGE`'dnl
+Section: debug
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs')
+Priority: optional
+Depends: BASELDEP, libsfgphobos`'PHOBOS_V`'LS (= ${gdc:Version}), ${misc:Depends}
+Replaces: libsfgphobos68-dbg`'LS
+BUILT_USING`'dnl
+Description: Phobos D standard library (debug symbols)
+ This is the Phobos standard library that comes with the D2 compiler.
+ .
+ For more information check http://www.dlang.org/phobos/
+')`'dnl armml
+')`'dnl libphobos
+')`'dnl d
+
+ifenabled(`brig',`
+ifenabled(`brigdev',`
+Package: gccbrig`'PV`'TS
+Architecture: any
+ifdef(`TARGET',`Multi-Arch: foreign
+')dnl
+Priority: optional
+Depends: BASEDEP, gcc`'PV`'TS (= ${gcc:Version}), ${dep:libcdev},
+ hsail-tools,
+ ${shlibs:Depends}, libidevdep(hsail-rt`'PV-dev,,=), ${misc:Depends}
+Suggests: ${gccbrig:multilib},
+ libdbgdep(hsail-rt`'HSAIL_SO-dbg,)
+Provides: brig-compiler`'TS
+BUILT_USING`'dnl
+Description: GNU BRIG (HSA IL) frontend
+ This is the GNU BRIG (HSA IL) frontend.
+ The consumed format is a binary representation. The textual HSAIL
+ can be compiled to it with a separate assembler.
+
+ifenabled(`multiXXXlib',`
+Package: gccbrig`'PV-multilib`'TS
+Architecture: ifdef(`TARGET',`any',MULTILIB_ARCHS)
+ifdef(`TARGET',`Multi-Arch: foreign
+')dnl
+Section: devel
+Priority: optional
+Depends: BASEDEP, gccbrig`'PV`'TS (= ${gcc:Version}),
+ gcc`'PV-multilib`'TS (= ${gcc:Version}), ${dep:libhsailrtbiarchdev},
+ ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: GNU BRIG (HSA IL) frontend (multilib support)`'ifdef(`TARGET',` (cross compiler for TARGET architecture)', `')
+ This is the GNU BRIG (HSA IL) frontend.
+ The consumed format is a binary representation. The textual HSAIL
+ can be compiled to it with a separate assembler.
+ .
+ This is a dependency package, depending on development packages
+ for the non-default multilib architecture(s).
+')`'dnl multilib
+
+Package: libhsail-rt`'PV-dev`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`any')
+Section: libdevel
+Priority: optional
+Depends: BASELDEP, libdevdep(gcc`'PV-dev,), libdep(hsail-rt`'HSAIL_SO,),
+ ${shlibs:Depends}, ${misc:Depends}
+ifdef(`MULTIARCH', `Multi-Arch: same
+')`'dnl
+BUILT_USING`'dnl
+Description: HSAIL runtime library (development files)
+ This library implements the agent-side runtime functionality required
+ to run HSA finalized programs produced by the BRIG frontend.
+ .
+ The library contains both the code required to run kernels on the agent
+ and also functions implementing more complex HSAIL instructions.
+
+ifenabled(`lib64hsail',`
+Package: lib64hsail-rt`'PV-dev`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs')
+Section: libdevel
+Priority: optional
+Depends: BASELDEP, libdevdep(gcc`'PV-dev,64), libdep(hsail-rt`'HSAIL_SO,64),
+ ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: HSAIL runtime library (64bit development files)
+ This library implements the agent-side runtime functionality required
+ to run HSA finalized programs produced by the BRIG frontend.
+ .
+ The library contains both the code required to run kernels on the agent
+ and also functions implementing more complex HSAIL instructions.
+')`'dnl lib64hsail
+
+ifenabled(`lib32hsail',`
+Package: lib32hsail-rt`'PV-dev`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs')
+Section: libdevel
+Priority: optional
+Depends: BASELDEP, libdevdep(gcc`'PV-dev,32), libdep(hsail-rt`'HSAIL_SO,32), ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: HSAIL runtime library (32bit development files)
+ This library implements the agent-side runtime functionality required
+ to run HSA finalized programs produced by the BRIG frontend.
+ .
+ The library contains both the code required to run kernels on the agent
+ and also functions implementing more complex HSAIL instructions.
+')`'dnl lib32hsail
+
+ifenabled(`libn32hsail',`
+Package: libn32hsail-rt`'PV-dev`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs')
+Section: libdevel
+Priority: optional
+Depends: BASELDEP, libdevdep(gcc`'PV-dev,n32), libdep(hsail-rt`'HSAIL_SO,n32), ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: HSAIL runtime library (n32 development files)
+ This library implements the agent-side runtime functionality required
+ to run HSA finalized programs produced by the BRIG frontend.
+ .
+ The library contains both the code required to run kernels on the agent
+ and also functions implementing more complex HSAIL instructions.
+')`'dnl libn32hsail
+
+ifenabled(`x32dev',`
+ifenabled(`libx32hsail',`
+Package: libx32hsail-rt`'PV-dev`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs')
+Section: libdevel
+Priority: optional
+Depends: BASELDEP, libdevdep(gcc`'PV-dev,x32), libdep(hsail-rt`'HSAIL_SO,x32), ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: HSAIL runtime library (x32 development files)
+ This library implements the agent-side runtime functionality required
+ to run HSA finalized programs produced by the BRIG frontend.
+ .
+ The library contains both the code required to run kernels on the agent
+ and also functions implementing more complex HSAIL instructions.
+')`'dnl libx32hsail
+')`'dnl x32dev
+
+ifenabled(`armml',`
+ifenabled(`libhfhsail',`
+Package: libhfhsail-rt`'PV-dev`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs')
+Section: libdevel
+Priority: optional
+Depends: BASELDEP, libdevdep(gcc`'PV-dev,hf), libdep(hsail-rt`'HSAIL_SO,hf), ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: HSAIL runtime library (hard float ABI development files)
+ This library implements the agent-side runtime functionality required
+ to run HSA finalized programs produced by the BRIG frontend.
+ .
+ The library contains both the code required to run kernels on the agent
+ and also functions implementing more complex HSAIL instructions.
+')`'dnl libhfhsail
+')`'dnl armml
+
+ifenabled(`armml',`
+ifenabled(`libsfhsail',`
+Package: libsfhsail-rt`'PV-dev`'LS
+TARGET_PACKAGE`'dnl
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs')
+Section: libdevel
+Priority: optional
+Depends: BASELDEP, libdevdep(gcc`'PV-dev,sf), libdep(hsail-rt`'HSAIL_SO,sf), ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: HSAIL runtime library (soft float development files)
+ This library implements the agent-side runtime functionality required
+ to run HSA finalized programs produced by the BRIG frontend.
+ .
+ The library contains both the code required to run kernels on the agent
+ and also functions implementing more complex HSAIL instructions.
+')`'dnl libsfhsail
+')`'dnl armml
+')`'dnl hsailrtdev
+
+ifenabled(`libhsail',`
+Package: libhsail-rt`'HSAIL_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`any')
+ifdef(`TARGET',`',`Provides: libhsail-rt'HSAIL_SO`-armel [armel], libhsail-rt'HSAIL_SO`-armhf [armhf]
+')`'dnl
+ifdef(`MULTIARCH', `Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+ifelse(HSAIL_SO,`2',`Breaks: ${multiarch:breaks}
+',`')')`'dnl
+Priority: optional
+Depends: BASELDEP, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: HSAIL runtime library
+ This library implements the agent-side runtime functionality required
+ to run HSA finalized programs produced by the BRIG frontend.
+ .
+ The library contains both the code required to run kernels on the agent
+ and also functions implementing more complex HSAIL instructions.
+
+Package: libhsail-rt`'HSAIL_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Section: debug
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`any')
+ifdef(`TARGET',`',`Provides: libhsail-rt'HSAIL_SO`-dbg-armel [armel], libhsail-rt'HSAIL_SO`-dbg-armhf [armhf]
+')`'dnl
+ifdef(`MULTIARCH', `Multi-Arch: same
+')`'dnl
+Priority: optional
+Depends: BASELDEP, libdep(hsail-rt`'HSAIL_SO,,=), libdbgdep(gcc`'GCC_SO-dbg,,>=,${libgcc:Version}), ${misc:Depends}
+BUILT_USING`'dnl
+Description: HSAIL runtime library (debug symbols)
+ This library implements the agent-side runtime functionality required
+ to run HSA finalized programs produced by the BRIG frontend.
+ .
+ The library contains both the code required to run kernels on the agent
+ and also functions implementing more complex HSAIL instructions.
+')`'dnl libhsail
+
+ifenabled(`lib64hsail',`
+Package: lib64hsail-rt`'HSAIL_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: HSAIL runtime library (64bit)
+ This library implements the agent-side runtime functionality required
+ to run HSA finalized programs produced by the BRIG frontend.
+ .
+ The library contains both the code required to run kernels on the agent
+ and also functions implementing more complex HSAIL instructions.
+
+Package: lib64hsail-rt`'HSAIL_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Section: debug
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs')
+Priority: optional
+Depends: BASELDEP, libdep(hsail-rt`'HSAIL_SO,64,=), libdbgdep(gcc`'GCC_SO-dbg,64,>=,${gcc:EpochVersion}), ${misc:Depends}
+BUILT_USING`'dnl
+Description: HSAIL runtime library (64 bit debug symbols)
+ This library implements the agent-side runtime functionality required
+ to run HSA finalized programs produced by the BRIG frontend.
+ .
+ The library contains both the code required to run kernels on the agent
+ and also functions implementing more complex HSAIL instructions.
+')`'dnl lib64hsail
+
+ifenabled(`lib32hsail',`
+Package: lib32hsail-rt`'HSAIL_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+Conflicts: ${confl:lib32}
+BUILT_USING`'dnl
+Description: HSAIL runtime library (32bit)
+ This library implements the agent-side runtime functionality required
+ to run HSA finalized programs produced by the BRIG frontend.
+ .
+ The library contains both the code required to run kernels on the agent
+ and also functions implementing more complex HSAIL instructions.
+
+Package: lib32hsail-rt`'HSAIL_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Section: debug
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs')
+Priority: optional
+Depends: BASELDEP, libdep(hsail-rt`'HSAIL_SO,32,=), libdbgdep(gcc`'GCC_SO-dbg,32,>=,${gcc:EpochVersion}), ${misc:Depends}
+BUILT_USING`'dnl
+Description: HSAIL runtime library (32 bit debug symbols)
+ This library implements the agent-side runtime functionality required
+ to run HSA finalized programs produced by the BRIG frontend.
+ .
+ The library contains both the code required to run kernels on the agent
+ and also functions implementing more complex HSAIL instructions.
+')`'dnl lib32hsail
+
+ifenabled(`libn32hsail',`
+Package: libn32hsail-rt`'HSAIL_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: HSAIL runtime library (n32)
+ This library implements the agent-side runtime functionality required
+ to run HSA finalized programs produced by the BRIG frontend.
+ .
+ The library contains both the code required to run kernels on the agent
+ and also functions implementing more complex HSAIL instructions.
+
+Package: libn32hsail-rt`'HSAIL_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Section: debug
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs')
+Priority: optional
+Depends: BASELDEP, libdep(hsail-rt`'HSAIL_SO,n32,=), libdbgdep(gcc`'GCC_SO-dbg,n32,>=,${gcc:EpochVersion}), ${misc:Depends}
+BUILT_USING`'dnl
+Description: HSAIL runtime library (n32 debug symbols)
+ This library implements the agent-side runtime functionality required
+ to run HSA finalized programs produced by the BRIG frontend.
+ .
+ The library contains both the code required to run kernels on the agent
+ and also functions implementing more complex HSAIL instructions.
+')`'dnl libn32hsail
+
+ifenabled(`libx32hsail',`
+Package: libx32hsail-rt`'HSAIL_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: HSAIL runtime library (x32)
+ This library implements the agent-side runtime functionality required
+ to run HSA finalized programs produced by the BRIG frontend.
+ .
+ The library contains both the code required to run kernels on the agent
+ and also functions implementing more complex HSAIL instructions.
+
+Package: libx32hsail-rt`'HSAIL_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Section: debug
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs')
+Priority: optional
+Depends: BASELDEP, libdep(hsail-rt`'HSAIL_SO,x32,=), libdbgdep(gcc`'GCC_SO-dbg,x32,>=,${gcc:EpochVersion}), ${misc:Depends}
+BUILT_USING`'dnl
+Description: HSAIL runtime library (x32 debug symbols)
+ This library implements the agent-side runtime functionality required
+ to run HSA finalized programs produced by the BRIG frontend.
+ .
+ The library contains both the code required to run kernels on the agent
+ and also functions implementing more complex HSAIL instructions.
+')`'dnl libx32hsail
+
+ifenabled(`libhfhsail',`
+Package: libhfhsail-rt`'HSAIL_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+ifdef(`TARGET',`dnl',`Conflicts: libhsail-rt'HSAIL_SO`-armhf [biarchhf_archs]')
+BUILT_USING`'dnl
+Description: HSAIL runtime library (hard float ABI)
+ This library implements the agent-side runtime functionality required
+ to run HSA finalized programs produced by the BRIG frontend.
+ .
+ The library contains both the code required to run kernels on the agent
+ and also functions implementing more complex HSAIL instructions.
+
+Package: libhfhsail-rt`'HSAIL_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Section: debug
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs')
+Priority: optional
+Depends: BASELDEP, libdep(hsail-rt`'HSAIL_SO,hf,=), libdbgdep(gcc`'GCC_SO-dbg,hf,>=,${gcc:EpochVersion}), ${misc:Depends}
+ifdef(`TARGET',`dnl',`Conflicts: libhsail-rt'HSAIL_SO`-dbg-armhf [biarchhf_archs]')
+BUILT_USING`'dnl
+Description: HSAIL runtime library (hard float ABI debug symbols)
+ This library implements the agent-side runtime functionality required
+ to run HSA finalized programs produced by the BRIG frontend.
+ .
+ The library contains both the code required to run kernels on the agent
+ and also functions implementing more complex HSAIL instructions.
+')`'dnl libhfhsailrt
+
+ifenabled(`libsfhsail',`
+Package: libsfhsail-rt`'HSAIL_SO`'LS
+TARGET_PACKAGE`'dnl
+Section: ifdef(`TARGET',`devel',`libs')
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs')
+Priority: optional
+Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends}
+ifdef(`TARGET',`dnl',`Conflicts: libhsail-rt'HSAIL_SO`-armel [biarchsf_archs]')
+BUILT_USING`'dnl
+Description: HSAIL runtime library (soft float ABI)
+ This library implements the agent-side runtime functionality required
+ to run HSA finalized programs produced by the BRIG frontend.
+ .
+ The library contains both the code required to run kernels on the agent
+ and also functions implementing more complex HSAIL instructions.
+
+Package: libsfhsail-rt`'HSAIL_SO-dbg`'LS
+TARGET_PACKAGE`'dnl
+Section: debug
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs')
+Priority: optional
+Depends: BASELDEP, libdep(hsail-rt`'HSAIL_SO,sf,=), libdbgdep(gcc`'GCC_SO-dbg,sf,>=,${gcc:EpochVersion}), ${misc:Depends}
+ifdef(`TARGET',`dnl',`Conflicts: libhsail-rt'HSAIL_SO`-dbg-armel [biarchsf_archs]')
+BUILT_USING`'dnl
+Description: HSAIL runtime library (soft float ABI debug symbols)
+ This library implements the agent-side runtime functionality required
+ to run HSA finalized programs produced by the BRIG frontend.
+ .
+ The library contains both the code required to run kernels on the agent
+ and also functions implementing more complex HSAIL instructions.
+')`'dnl libsfhsailrt
+')`'dnl brig
+
+ifdef(`TARGET',`',`dnl
+ifenabled(`libs',`
+#Package: gcc`'PV-soft-float
+#Architecture: arm armel armhf
+#Priority: PRI(optional)
+#Depends: BASEDEP, depifenabled(`cdev',`gcc`'PV (= ${gcc:Version}),') ${shlibs:Depends}, ${misc:Depends}
+#Conflicts: gcc-4.4-soft-float, gcc-4.5-soft-float, gcc-4.6-soft-float
+#BUILT_USING`'dnl
+#Description: GCC soft-floating-point gcc libraries (ARM)
+# These are versions of basic static libraries such as libgcc.a compiled
+# with the -msoft-float option, for CPUs without a floating-point unit.
+')`'dnl commonlibs
+')`'dnl
+
+ifenabled(`fixincl',`
+Package: fixincludes
+Architecture: any
+Priority: PRI(optional)
+Depends: BASEDEP, gcc`'PV (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: Fix non-ANSI header files
+ FixIncludes was created to fix non-ANSI system header files. Many
+ system manufacturers supply proprietary headers that are not ANSI compliant.
+ The GNU compilers cannot compile non-ANSI headers. Consequently, the
+ FixIncludes shell script was written to fix the header files.
+ .
+ Not all packages with header files are installed on the system, when the
+ package is built, so we make fixincludes available at build time of other
+ packages, such that checking tools like lintian can make use of it.
+')`'dnl fixincl
+
+ifenabled(`cdev',`
+ifdef(`TARGET', `', `
+ifenabled(`gfdldoc',`
+Package: gcc`'PV-doc
+Architecture: all
+Section: doc
+Priority: PRI(optional)
+Depends: gcc`'PV-base (>= ${gcc:SoftVersion}), dpkg (>= 1.15.4) | install-info, ${misc:Depends}
+Conflicts: gcc-docs (<< 2.95.2)
+Replaces: gcc (<=2.7.2.3-4.3), gcc-docs (<< 2.95.2)
+Description: Documentation for the GNU compilers (gcc, gobjc, g++)
+ Documentation for the GNU compilers in info `format'.
+')`'dnl gfdldoc
+')`'dnl native
+')`'dnl cdev
+
+ifenabled(`olnvptx',`
+Package: gcc`'PV-offload-nvptx
+Architecture: amd64
+ifdef(`TARGET',`Multi-Arch: foreign
+')dnl
+Priority: optional
+Depends: BASEDEP, gcc`'PV (= ${gcc:Version}), ${dep:libcdev},
+ nvptx-tools, libgomp-plugin-nvptx`'GOMP_SO (>= ${gcc:Version}),
+ ${shlibs:Depends}, ${misc:Depends}
+BUILT_USING`'dnl
+Description: GCC offloading compiler to NVPTX
+ The package provides offloading support for NVidia PTX. OpenMP and OpenACC
+ programs linked with -fopenmp will by default add PTX code into the binaries,
+ which can be offloaded to NVidia PTX capable devices if available.
+
+ifenabled(`libgompnvptx',`
+Package: libgomp-plugin-nvptx`'GOMP_SO
+Architecture: amd64
+Multi-Arch: same
+Section: libs
+Depends: BASEDEP, libgomp`'GOMP_SO`'LS, ${shlibs:Depends}, ${misc:Depends}
+Suggests: libcuda1
+BUILT_USING`'dnl
+Description: GCC OpenMP v4.5 plugin for offloading to NVPTX
+ This package contains libgomp plugin for offloading to NVidia
+ PTX. The plugin needs libcuda.so.1 shared library that has to be
+ installed separately.
+')`'dnl libgompnvptx
+')`'dnl olnvptx
+
+ifdef(`TARGET',`',`dnl
+ifenabled(`libnof',`
+#Package: gcc`'PV-nof
+#Architecture: powerpc
+#Priority: PRI(optional)
+#Depends: BASEDEP, ${shlibs:Depends}ifenabled(`cdev',`, gcc`'PV (= ${gcc:Version})'), ${misc:Depends}
+#Conflicts: gcc-3.2-nof
+#BUILT_USING`'dnl
+#Description: GCC no-floating-point gcc libraries (powerpc)
+# These are versions of basic static libraries such as libgcc.a compiled
+# with the -msoft-float option, for CPUs without a floating-point unit.
+')`'dnl libnof
+')`'dnl
+
+ifenabled(`source',`
+Package: gcc`'PV-source
+Architecture: all
+Priority: PRI(optional)
+Depends: make, autoconf2.64, quilt, patchutils, sharutils, gawk, lsb-release,
+ ${misc:Depends}
+Description: Source of the GNU Compiler Collection
+ This package contains the sources and patches which are needed to
+ build the GNU Compiler Collection (GCC).
+')`'dnl source
+dnl
+')`'dnl gcc-X.Y
+dnl last line in file
--- /dev/null
+This is the Debian GNU/Linux prepackaged version of the GNU compiler
+collection, containing Ada, C, C++, Fortran 95, Objective-C,
+Objective-C++, and Treelang compilers, documentation, and support
+libraries. In addition, Debian provides the gdc compiler, either in
+the same source package, or built from a separate same source package.
+Packaging is done by the Debian GCC Maintainers
+<debian-gcc@lists.debian.org>, with sources obtained from:
+
+ ftp://gcc.gnu.org/pub/gcc/releases/ (for full releases)
+ svn://gcc.gnu.org/svn/gcc/ (for prereleases)
+ http://bitbucket.org/goshawk/gdc (for D)
+ https://github.com/MentorEmbedded/nvptx-newlib/ (for newlib-nvptx)
+
+The current gcc-8 source package is taken from the SVN gcc-8-branch.
+
+Changes: See changelog.Debian.gz
+
+Debian splits the GNU Compiler Collection into packages for each language,
+library, and documentation as follows:
+
+Language Compiler package Library package Documentation
+---------------------------------------------------------------------------
+Ada gnat-8 libgnat-8 gnat-8-doc
+BRIG gccbrig-8 libhsail-rt0
+C gcc-8 gcc-8-doc
+C++ g++-8 libstdc++6 libstdc++6-8-doc
+D gdc-8
+Fortran 95 gfortran-8 libgfortran3 gfortran-8-doc
+Go gccgo-8 libgo0
+Objective C gobjc-8 libobjc2
+Objective C++ gobjc++-8
+
+For some language run-time libraries, Debian provides source files,
+development files, debugging symbols and libraries containing position-
+independent code in separate packages:
+
+Language Sources Development Debugging Position-Independent
+------------------------------------------------------------------------------
+C++ libstdc++6-8-dbg libstdc++6-8-pic
+D libphobos-8-dev
+
+Additional packages include:
+
+All languages:
+libgcc1, libgcc2, libgcc4 GCC intrinsics (platform-dependent)
+gcc-8-base Base files common to all compilers
+gcc-8-soft-float Software floating point (ARM only)
+gcc-8-source The sources with patches
+
+Ada:
+libgnatvsn-dev, libgnatvsn8 GNAT version library
+
+C:
+cpp-8, cpp-8-doc GNU C Preprocessor
+libssp0-dev, libssp0 GCC stack smashing protection library
+libquadmath0 Math routines for the __float128 type
+fixincludes Fix non-ANSI header files
+
+C, C++ and Fortran 95:
+libgomp1-dev, libgomp1 GCC OpenMP (GOMP) support library
+libitm1-dev, libitm1 GNU Transactional Memory Library
+
+Biarch support: On some 64-bit platforms which can also run 32-bit code,
+Debian provides additional packages containing 32-bit versions of some
+libraries. These packages have names beginning with 'lib32' instead of
+'lib', for example lib32stdc++6. Similarly, on some 32-bit platforms which
+can also run 64-bit code, Debian provides additional packages with names
+beginning with 'lib64' instead of 'lib'. These packages contain 64-bit
+versions of the libraries. (At this time, not all platforms and not all
+libraries support biarch.) The license terms for these lib32 or lib64
+packages are identical to the ones for the lib packages.
+
+
+COPYRIGHT STATEMENTS AND LICENSING TERMS
+
+
+GCC is Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
+1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
+2008, 2009, 2010, 2011, 2012, 2013, 2014 Free Software Foundation, Inc.
+
+GCC is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free
+Software Foundation; either version 3, or (at your option) any later
+version.
+
+GCC is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+for more details.
+
+Files that have exception clauses are licensed under the terms of the
+GNU General Public License; either version 3, or (at your option) any
+later version.
+
+On Debian GNU/Linux systems, the complete text of the GNU General
+Public License is in `/usr/share/common-licenses/GPL', version 3 of this
+license in `/usr/share/common-licenses/GPL-3'.
+
+The following runtime libraries are licensed under the terms of the
+GNU General Public License (v3 or later) with version 3.1 of the GCC
+Runtime Library Exception (included in this file):
+
+ - libgcc (libgcc/, gcc/libgcc2.[ch], gcc/unwind*, gcc/gthr*,
+ gcc/coretypes.h, gcc/crtstuff.c, gcc/defaults.h, gcc/dwarf2.h,
+ gcc/emults.c, gcc/gbl-ctors.h, gcc/gcov-io.h, gcc/libgcov.c,
+ gcc/tsystem.h, gcc/typeclass.h).
+ - libatomic
+ - libdecnumber
+ - libgomp
+ - libitm
+ - libssp
+ - libstdc++-v3
+ - libobjc
+ - libgfortran
+ - The libgnat-8 Ada support library and libgnatvsn library.
+ - Various config files in gcc/config/ used in runtime libraries.
+ - libvtv
+
+The libbacktrace library is licensed under the following terms:
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ (1) Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ (2) Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+
+ (3) The name of the author may not be used to
+ endorse or promote products derived from this software without
+ specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+
+
+The libsanitizer libraries (libasan, liblsan, libtsan, libubsan) are
+licensed under the following terms:
+
+Copyright (c) 2009-2014 by the LLVM contributors.
+
+All rights reserved.
+
+Developed by:
+
+ LLVM Team
+
+ University of Illinois at Urbana-Champaign
+
+ http://llvm.org
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal with
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
+of the Software, and to permit persons to whom the Software is furnished to do
+so, subject to the following conditions:
+
+ * Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimers.
+
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimers in the
+ documentation and/or other materials provided with the distribution.
+
+ * Neither the names of the LLVM Team, University of Illinois at
+ Urbana-Champaign, nor the names of its contributors may be used to
+ endorse or promote products derived from this Software without specific
+ prior written permission.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE
+SOFTWARE.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+
+The libffi library is licensed under the following terms:
+
+ libffi - Copyright (c) 1996-2003 Red Hat, Inc.
+
+ Permission is hereby granted, free of charge, to any person obtaining
+ a copy of this software and associated documentation files (the
+ ``Software''), to deal in the Software without restriction, including
+ without limitation the rights to use, copy, modify, merge, publish,
+ distribute, sublicense, and/or sell copies of the Software, and to
+ permit persons to whom the Software is furnished to do so, subject to
+ the following conditions:
+
+ The above copyright notice and this permission notice shall be included
+ in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ IN NO EVENT SHALL CYGNUS SOLUTIONS BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ OTHER DEALINGS IN THE SOFTWARE.
+
+
+The documentation is licensed under the GNU Free Documentation License (v1.2).
+On Debian GNU/Linux systems, the complete text of this license is in
+`/usr/share/common-licenses/GFDL-1.2'.
+
+
+GCC RUNTIME LIBRARY EXCEPTION
+
+Version 3.1, 31 March 2009
+
+Copyright (C) 2009 Free Software Foundation, Inc. <http://fsf.org/>
+
+Everyone is permitted to copy and distribute verbatim copies of this
+license document, but changing it is not allowed.
+
+This GCC Runtime Library Exception ("Exception") is an additional
+permission under section 7 of the GNU General Public License, version
+3 ("GPLv3"). It applies to a given file (the "Runtime Library") that
+bears a notice placed by the copyright holder of the file stating that
+the file is governed by GPLv3 along with this Exception.
+
+When you use GCC to compile a program, GCC may combine portions of
+certain GCC header files and runtime libraries with the compiled
+program. The purpose of this Exception is to allow compilation of
+non-GPL (including proprietary) programs to use, in this way, the
+header files and runtime libraries covered by this Exception.
+
+0. Definitions.
+
+A file is an "Independent Module" if it either requires the Runtime
+Library for execution after a Compilation Process, or makes use of an
+interface provided by the Runtime Library, but is not otherwise based
+on the Runtime Library.
+
+"GCC" means a version of the GNU Compiler Collection, with or without
+modifications, governed by version 3 (or a specified later version) of
+the GNU General Public License (GPL) with the option of using any
+subsequent versions published by the FSF.
+
+"GPL-compatible Software" is software whose conditions of propagation,
+modification and use would permit combination with GCC in accord with
+the license of GCC.
+
+"Target Code" refers to output from any compiler for a real or virtual
+target processor architecture, in executable form or suitable for
+input to an assembler, loader, linker and/or execution
+phase. Notwithstanding that, Target Code does not include data in any
+format that is used as a compiler intermediate representation, or used
+for producing a compiler intermediate representation.
+
+The "Compilation Process" transforms code entirely represented in
+non-intermediate languages designed for human-written code, and/or in
+Java Virtual Machine byte code, into Target Code. Thus, for example,
+use of source code generators and preprocessors need not be considered
+part of the Compilation Process, since the Compilation Process can be
+understood as starting with the output of the generators or
+preprocessors.
+
+A Compilation Process is "Eligible" if it is done using GCC, alone or
+with other GPL-compatible software, or if it is done without using any
+work based on GCC. For example, using non-GPL-compatible Software to
+optimize any GCC intermediate representations would not qualify as an
+Eligible Compilation Process.
+
+1. Grant of Additional Permission.
+
+You have permission to propagate a work of Target Code formed by
+combining the Runtime Library with Independent Modules, even if such
+propagation would otherwise violate the terms of GPLv3, provided that
+all Target Code was generated by Eligible Compilation Processes. You
+may then convey such a combination under terms of your choice,
+consistent with the licensing of the Independent Modules.
+
+2. No Weakening of GCC Copyleft.
+
+The availability of this Exception does not imply any general
+presumption that third-party software is unaffected by the copyleft
+requirements of the license of GCC.
+
+
+libquadmath/*.[hc]:
+
+ Copyright (C) 2010 Free Software Foundation, Inc.
+ Written by Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+ Written by Tobias Burnus <burnus@net-b.de>
+
+This file is part of the libiberty library.
+Libiberty is free software; you can redistribute it and/or
+modify it under the terms of the GNU Library General Public
+License as published by the Free Software Foundation; either
+version 2 of the License, or (at your option) any later version.
+
+Libiberty is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Library General Public License for more details.
+
+libquadmath/math:
+
+atanq.c, expm1q.c, j0q.c, j1q.c, log1pq.c, logq.c:
+ Copyright 2001 by Stephen L. Moshier <moshier@na-net.ornl.gov>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+coshq.c, erfq.c, jnq.c, lgammaq.c, powq.c, roundq.c:
+ Changes for 128-bit __float128 are
+ Copyright (C) 2001 Stephen L. Moshier <moshier@na-net.ornl.gov>
+ and are incorporated herein by permission of the author. The author
+ reserves the right to distribute this material elsewhere under different
+ copying permissions. These modifications are distributed here under
+ the following terms:
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ldexpq.c:
+ * Conversion to long double by Ulrich Drepper,
+ * Cygnus Support, drepper@cygnus.com.
+
+cosq_kernel.c, expq.c, sincos_table.c, sincosq.c, sincosq_kernel.c,
+sinq_kernel.c, truncq.c:
+ Copyright (C) 1997, 1999 Free Software Foundation, Inc.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+isinfq.c:
+ * Written by J.T. Conklin <jtc@netbsd.org>.
+ * Change for long double by Jakub Jelinek <jj@ultra.linux.cz>
+ * Public domain.
+
+llroundq.c, lroundq.c, tgammaq.c:
+ Copyright (C) 1997, 1999, 2002, 2004 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+ Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997 and
+ Jakub Jelinek <jj@ultra.linux.cz>, 1999.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+log10q.c:
+ Cephes Math Library Release 2.2: January, 1991
+ Copyright 1984, 1991 by Stephen L. Moshier
+ Adapted for glibc November, 2001
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+remaining files:
+
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+
+
+gcc/go/gofrontend, libgo:
+
+Copyright (c) 2009 The Go Authors. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+ * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+libmpx:
+ Copyright (C) 2009-2014, Intel Corporation
+ All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+ * Neither the name of Intel Corporation nor the names of its
+ contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
+ WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGE.
+
+
+D:
+gdc-8 GNU D Compiler
+libphobos-8-dev D standard runtime library
+
+The D source package is made up of the following components.
+
+The D front-end for GCC:
+ - d/*
+
+Copyright (C) 2004-2007 David Friedman
+Modified by Vincenzo Ampolo, Michael Parrot, Iain Buclaw, (C) 2009, 2010
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+On Debian GNU/Linux systems, the complete text of the GNU General
+Public License is in `/usr/share/common-licenses/GPL', version 2 of this
+license in `/usr/share/common-licenses/GPL-2'.
+
+
+The DMD Compiler implementation of the D programming language:
+ - d/dmd/*
+
+Copyright (c) 1999-2010 by Digital Mars
+All Rights Reserved
+written by Walter Bright
+http://www.digitalmars.com
+License for redistribution is by either the Artistic License or
+the GNU General Public License (v1).
+
+On Debian GNU/Linux systems, the complete text of the GNU General
+Public License is in `/usr/share/common-licenses/GPL', the Artistic
+license in `/usr/share/common-licenses/Artistic'.
+
+
+The Zlib data compression library:
+ - d/phobos/etc/c/zlib/*
+
+ (C) 1995-2004 Jean-loup Gailly and Mark Adler
+
+ This software is provided 'as-is', without any express or implied
+ warranty. In no event will the authors be held liable for any damages
+ arising from the use of this software.
+
+ Permission is granted to anyone to use this software for any purpose,
+ including commercial applications, and to alter it and redistribute it
+ freely, subject to the following restrictions:
+
+ 1. The origin of this software must not be misrepresented; you must not
+ claim that you wrote the original software. If you use this software
+ in a product, an acknowledgment in the product documentation would be
+ appreciated but is not required.
+ 2. Altered source versions must be plainly marked as such, and must not be
+ misrepresented as being the original software.
+ 3. This notice may not be removed or altered from any source distribution.
+
+
+The Phobos standard runtime library:
+ - d/phobos/*
+
+Unless otherwise marked within the file, each file in the source
+is under the following licenses:
+
+Copyright (C) 2004-2005 by Digital Mars, www.digitalmars.com
+Written by Walter Bright
+
+This software is provided 'as-is', without any express or implied
+warranty. In no event will the authors be held liable for any damages
+arising from the use of this software.
+
+Permission is granted to anyone to use this software for any purpose,
+including commercial applications, and to alter it and redistribute it
+freely, in both source and binary form, subject to the following
+restrictions:
+
+ o The origin of this software must not be misrepresented; you must not
+ claim that you wrote the original software. If you use this software
+ in a product, an acknowledgment in the product documentation would be
+ appreciated but is not required.
+ o Altered source versions must be plainly marked as such, and must not
+ be misrepresented as being the original software.
+ o This notice may not be removed or altered from any source
+ distribution.
+
+By plainly marking modifications, something along the lines of adding to each
+file that has been changed a "Modified by Foo Bar" line
+underneath the "Written by" line would be adequate.
+
+The libhsail-rt library is licensed under the following terms:
+
+ Copyright (C) 2015-2017 Free Software Foundation, Inc.
+ Contributed by Pekka Jaaskelainen <pekka.jaaskelainen@parmance.com>
+ for General Processor Tech.
+
+ Permission is hereby granted, free of charge, to any person obtaining a
+ copy of this software and associated documentation files
+ (the "Software"), to deal in the Software without restriction, including
+ without limitation the rights to use, copy, modify, merge, publish,
+ distribute, sublicense, and/or sell copies of the Software, and to
+ permit persons to whom the Software is furnished to do so, subject to
+ the following conditions:
+
+ The above copyright notice and this permission notice shall be included
+ in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+ DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+ OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
+ USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+libhsail-rt/rt/fp16.c is licensed under the following terms:
+
+ Copyright (C) 2008-2017 Free Software Foundation, Inc.
+ Contributed by CodeSourcery.
+
+ This file is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by the
+ Free Software Foundation; either version 3, or (at your option) any
+ later version.
+
+ This file is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ Under Section 7 of GPL version 3, you are granted additional
+ permissions described in the GCC Runtime Library Exception, version
+ 3.1, as published by the Free Software Foundation.
+
+ You should have received a copy of the GNU General Public License and
+ a copy of the GCC Runtime Library Exception along with this program;
+ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+ <http://www.gnu.org/licenses/>.
+
+newlib-nvptx-20yymmdd/:
+
+Upstream Authors:
+newlib@sources.redhat.com
+Jeff Johnston <jjohnstn@redhat.com>
+Tom Fitzsimmons <fitzsim@redhat.com>
+
+The newlib subdirectory is a collection of software from several sources.
+Each file may have its own copyright/license that is embedded in the source
+file.
+
+This list documents those licenses which are more restrictive than
+a BSD-like license or require the copyright notice
+to be duplicated in documentation and/or other materials associated with
+the distribution. Certain licenses documented here only apply to
+specific targets. Certain clauses only apply if you are building the
+code as part of your binary.
+
+Note that this list may omit certain licenses that
+only pertain to the copying/modifying of the individual source code.
+If you are distributing the source code, then you do not need to
+worry about these omitted licenses, so long as you do not modify the
+copyright information already in place.
+
+Parts of this work are licensed under the terms of the GNU General
+Public License. On Debian systems, the complete text of this license
+can be found in /usr/share/common-licenses/GPL.
+
+Parts of this work are licensed under the terms of the GNU Library
+General Public License. On Debian systems, the complete text of this
+license be found in /usr/share/common-licenses/LGPL.
+
+(1) University of California, Berkeley
+
+[1a]
+
+Copyright (c) 1990 The Regents of the University of California.
+All rights reserved.
+
+Redistribution and use in source and binary forms are permitted
+provided that the above copyright notice and this paragraph are
+duplicated in all such forms and that any documentation,
+and other materials related to such distribution and use
+acknowledge that the software was developed
+by the University of California, Berkeley. The name of the
+University may not be used to endorse or promote products derived
+from this software without specific prior written permission.
+THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+[1b]
+
+Copyright (c) 1990 The Regents of the University of California.
+All rights reserved.
+
+Redistribution and use in source and binary forms are permitted
+provided that the above copyright notice and this paragraph are
+duplicated in all such forms and that any documentation,
+advertising materials, and other materials related to such
+distribution and use acknowledge that the software was developed
+by the University of California, Berkeley. The name of the
+University may not be used to endorse or promote products derived
+from this software without specific prior written permission.
+THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+[1c]
+
+Copyright (c) 1981, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
+The Regents of the University of California.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+3. All advertising materials mentioning features or use of this software
+ must display the following acknowledgement:
+ This product includes software developed by the University of
+ California, Berkeley and its contributors.
+4. Neither the name of the University nor the names of its contributors
+ may be used to endorse or promote products derived from this software
+ without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+[1d]
+
+Copyright (c) 1988, 1990, 1993 Regents of the University of California.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+3. Neither the name of the University nor the names of its contributors
+ may be used to endorse or promote products derived from this software
+ without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+[1e]
+
+Copyright (c) 1982, 1986, 1989, 1991, 1993, 1994
+The Regents of the University of California. All rights reserved.
+(c) UNIX System Laboratories, Inc.
+All or some portions of this file are derived from material licensed
+to the University of California by American Telephone and Telegraph
+Co. or Unix System Laboratories, Inc. and are reproduced herein with
+the permission of UNIX System Laboratories, Inc.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+3. All advertising materials mentioning features or use of this software
+ must display the following acknowledgement:
+ This product includes software developed by the University of
+ California, Berkeley and its contributors.
+4. Neither the name of the University nor the names of its contributors
+ may be used to endorse or promote products derived from this software
+ without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+[1f]
+
+Copyright (c) 1987, 1988, 2000 Regents of the University of California.
+All rights reserved.
+
+Redistribution and use in source and binary forms are permitted
+provided that: (1) source distributions retain this entire copyright
+notice and comment, and (2) distributions including binaries display
+the following acknowledgement: ``This product includes software
+developed by the University of California, Berkeley and its contributors''
+in the documentation or other materials provided with the distribution
+and in all advertising materials mentioning features or use of this
+software. Neither the name of the University nor the names of its
+contributors may be used to endorse or promote products derived
+from this software without specific prior written permission.
+THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+-------------------------------------------------------------
+ Please note that in some of the above alternate licenses, there is a
+ statement regarding that acknowledgement must be made in any
+ advertising materials for products using the code. This restriction
+ no longer applies due to the following license change:
+
+ ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change
+
+ In some cases the defunct clause has been removed in modified newlib code and
+ in some cases, the clause has been left as-is.
+-------------------------------------------------------------
+
+(2) Cygwin (cygwin targets only)
+
+Copyright 2001 Red Hat, Inc.
+
+This software is a copyrighted work licensed under the terms of the
+Cygwin license. Please consult the file "CYGWIN_LICENSE" for
+details.
+
+(3) David M. Gay at AT&T
+
+The author of this software is David M. Gay.
+
+Copyright (c) 1991 by AT&T.
+
+Permission to use, copy, modify, and distribute this software for any
+purpose without fee is hereby granted, provided that this entire notice
+is included in all copies of any software which is or includes a copy
+or modification of this software and in all copies of the supporting
+documentation for such software.
+
+THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED
+WARRANTY. IN PARTICULAR, NEITHER THE AUTHOR NOR AT&T MAKES ANY
+REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY
+OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.
+
+(4) Advanced Micro Devices
+
+Copyright 1989, 1990 Advanced Micro Devices, Inc.
+
+This software is the property of Advanced Micro Devices, Inc (AMD) which
+specifically grants the user the right to modify, use and distribute this
+software provided this notice is not removed or altered. All other rights
+are reserved by AMD.
+
+AMD MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS
+SOFTWARE. IN NO EVENT SHALL AMD BE LIABLE FOR INCIDENTAL OR CONSEQUENTIAL
+DAMAGES IN CONNECTION WITH OR ARISING FROM THE FURNISHING, PERFORMANCE, OR
+USE OF THIS SOFTWARE.
+
+So that all may benefit from your experience, please report any problems
+or suggestions about this software to the 29K Technical Support Center at
+800-29-29-AMD (800-292-9263) in the USA, or 0800-89-1131 in the UK, or
+0031-11-1129 in Japan, toll free. The direct dial number is 512-462-4118.
+
+Advanced Micro Devices, Inc.
+29K Support Products
+Mail Stop 573
+5900 E. Ben White Blvd.
+Austin, TX 78741
+800-292-9263
+
+(5) C.W. Sandmann
+
+Copyright (C) 1993 C.W. Sandmann
+
+This file may be freely distributed as long as the author's name remains.
+
+(6) Eric Backus
+
+(C) Copyright 1992 Eric Backus
+
+This software may be used freely so long as this copyright notice is
+left intact. There is no warrantee on this software.
+
+(7) Sun Microsystems
+
+Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+
+Developed at SunPro, a Sun Microsystems, Inc. business.
+Permission to use, copy, modify, and distribute this
+software is freely granted, provided that this notice
+is preserved.
+
+(8) Hewlett Packard
+
+(c) Copyright 1986 HEWLETT-PACKARD COMPANY
+
+To anyone who acknowledges that this file is provided "AS IS"
+without any express or implied warranty:
+ permission to use, copy, modify, and distribute this file
+for any purpose is hereby granted without fee, provided that
+the above copyright notice and this notice appears in all
+copies, and that the name of Hewlett-Packard Company not be
+used in advertising or publicity pertaining to distribution
+of the software without specific, written prior permission.
+Hewlett-Packard Company makes no representations about the
+suitability of this software for any purpose.
+
+(9) Hans-Peter Nilsson
+
+Copyright (C) 2001 Hans-Peter Nilsson
+
+Permission to use, copy, modify, and distribute this software is
+freely granted, provided that the above copyright notice, this notice
+and the following disclaimer are preserved with no changes.
+
+THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.
+
+(10) Stephane Carrez (m68hc11-elf/m68hc12-elf targets only)
+
+Copyright (C) 1999, 2000, 2001, 2002 Stephane Carrez (stcarrez@nerim.fr)
+
+The authors hereby grant permission to use, copy, modify, distribute,
+and license this software and its documentation for any purpose, provided
+that existing copyright notices are retained in all copies and that this
+notice is included verbatim in any distributions. No written agreement,
+license, or royalty fee is required for any of the authorized uses.
+Modifications to this software may be copyrighted by their authors
+and need not follow the licensing terms described here, provided that
+the new terms are clearly indicated on the first page of each file where
+they apply.
+
+(11) Christopher G. Demetriou
+
+Copyright (c) 2001 Christopher G. Demetriou
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+3. The name of the author may not be used to endorse or promote products
+ derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+(12) SuperH, Inc.
+
+Copyright 2002 SuperH, Inc. All rights reserved
+
+This software is the property of SuperH, Inc (SuperH) which specifically
+grants the user the right to modify, use and distribute this software
+provided this notice is not removed or altered. All other rights are
+reserved by SuperH.
+
+SUPERH MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO
+THIS SOFTWARE. IN NO EVENT SHALL SUPERH BE LIABLE FOR INDIRECT, SPECIAL,
+INCIDENTAL OR CONSEQUENTIAL DAMAGES IN CONNECTION WITH OR ARISING FROM
+THE FURNISHING, PERFORMANCE, OR USE OF THIS SOFTWARE.
+
+So that all may benefit from your experience, please report any problems
+or suggestions about this software to the SuperH Support Center via
+e-mail at softwaresupport@superh.com .
+
+SuperH, Inc.
+405 River Oaks Parkway
+San Jose
+CA 95134
+USA
+
+(13) Royal Institute of Technology
+
+Copyright (c) 1999 Kungliga Tekniska Hgskolan
+(Royal Institute of Technology, Stockholm, Sweden).
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+3. Neither the name of KTH nor the names of its contributors may be
+ used to endorse or promote products derived from this software without
+ specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY KTH AND ITS CONTRIBUTORS ``AS IS'' AND ANY
+EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL KTH OR ITS CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+(14) Alexey Zelkin
+
+Copyright (c) 2000, 2001 Alexey Zelkin <phantom@FreeBSD.org>
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+(15) Andrey A. Chernov
+
+Copyright (C) 1997 by Andrey A. Chernov, Moscow, Russia.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+(16) FreeBSD
+
+Copyright (c) 1997-2002 FreeBSD Project.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+(17) S. L. Moshier
+
+Author: S. L. Moshier.
+
+Copyright (c) 1984,2000 S.L. Moshier
+
+Permission to use, copy, modify, and distribute this software for any
+purpose without fee is hereby granted, provided that this entire notice
+is included in all copies of any software which is or includes a copy
+or modification of this software and in all copies of the supporting
+documentation for such software.
+
+THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED
+WARRANTY. IN PARTICULAR, THE AUTHOR MAKES NO REPRESENTATION
+OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY OF THIS
+SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.
+
+(18) Citrus Project
+
+Copyright (c)1999 Citrus Project,
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+(19) Todd C. Miller
+
+Copyright (c) 1998 Todd C. Miller <Todd.Miller@courtesan.com>
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+3. The name of the author may not be used to endorse or promote products
+ derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
+INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
+THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+(20) DJ Delorie (i386)
+
+Copyright (C) 1991 DJ Delorie
+All rights reserved.
+
+Redistribution and use in source and binary forms is permitted
+provided that the above copyright notice and following paragraph are
+duplicated in all such forms.
+
+This file is distributed WITHOUT ANY WARRANTY; without even the implied
+warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+(21) Free Software Foundation LGPL License (*-linux* targets only)
+
+ Copyright (C) 1990-1999, 2000, 2001
+ Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+ Contributed by Mark Kettenis <kettenis@phys.uva.nl>, 1997.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ 02110-1301 USA
+
+(22) Xavier Leroy LGPL License (i[3456]86-*-linux* targets only)
+
+Copyright (C) 1996 Xavier Leroy (Xavier.Leroy@inria.fr)
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU Library General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Library General Public License for more details.
+
+(23) Intel (i960)
+
+Copyright (c) 1993 Intel Corporation
+
+Intel hereby grants you permission to copy, modify, and distribute this
+software and its documentation. Intel grants this permission provided
+that the above copyright notice appears in all copies and that both the
+copyright notice and this permission notice appear in supporting
+documentation. In addition, Intel grants this permission provided that
+you prominently mark as "not part of the original" any modifications
+made to this software or documentation, and that the name of Intel
+Corporation not be used in advertising or publicity pertaining to
+distribution of the software or the documentation without specific,
+written prior permission.
+
+Intel Corporation provides this AS IS, WITHOUT ANY WARRANTY, EXPRESS OR
+IMPLIED, INCLUDING, WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY
+OR FITNESS FOR A PARTICULAR PURPOSE. Intel makes no guarantee or
+representations regarding the use of, or the results of the use of,
+the software and documentation in terms of correctness, accuracy,
+reliability, currentness, or otherwise; and you rely on the software,
+documentation and results solely at your own risk.
+
+IN NO EVENT SHALL INTEL BE LIABLE FOR ANY LOSS OF USE, LOSS OF BUSINESS,
+LOSS OF PROFITS, INDIRECT, INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES
+OF ANY KIND. IN NO EVENT SHALL INTEL'S TOTAL LIABILITY EXCEED THE SUM
+PAID TO INTEL FOR THE PRODUCT LICENSED HEREUNDER.
+
+(24) Hewlett-Packard (hppa targets only)
+
+(c) Copyright 1986 HEWLETT-PACKARD COMPANY
+
+To anyone who acknowledges that this file is provided "AS IS"
+without any express or implied warranty:
+ permission to use, copy, modify, and distribute this file
+for any purpose is hereby granted without fee, provided that
+the above copyright notice and this notice appears in all
+copies, and that the name of Hewlett-Packard Company not be
+used in advertising or publicity pertaining to distribution
+of the software without specific, written prior permission.
+Hewlett-Packard Company makes no representations about the
+suitability of this software for any purpose.
+
+(25) Henry Spencer (only *-linux targets)
+
+Copyright 1992, 1993, 1994 Henry Spencer. All rights reserved.
+This software is not subject to any license of the American Telephone
+and Telegraph Company or of the Regents of the University of California.
+
+Permission is granted to anyone to use this software for any purpose on
+any computer system, and to alter it and redistribute it, subject
+to the following restrictions:
+
+1. The author is not responsible for the consequences of use of this
+ software, no matter how awful, even if they arise from flaws in it.
+
+2. The origin of this software must not be misrepresented, either by
+ explicit claim or by omission. Since few users ever read sources,
+ credits must appear in the documentation.
+
+3. Altered versions must be plainly marked as such, and must not be
+ misrepresented as being the original software. Since few users
+ ever read sources, credits must appear in the documentation.
+
+4. This notice may not be removed or altered.
+
+(26) Mike Barcroft
+
+Copyright (c) 2001 Mike Barcroft <mike@FreeBSD.org>
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+(27) Konstantin Chuguev (--enable-newlib-iconv)
+
+Copyright (c) 1999, 2000
+ Konstantin Chuguev. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+ iconv (Charset Conversion Library) v2.0
+
+(27) Artem Bityuckiy (--enable-newlib-iconv)
+
+Copyright (c) 2003, Artem B. Bityuckiy, SoftMine Corporation.
+Rights transferred to Franklin Electronic Publishers.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+(28) Red Hat Incorporated
+
+Unless otherwise stated in each remaining newlib file, the remaining
+files in the newlib subdirectory default to the following copyright.
+It should be noted that Red Hat Incorporated now owns copyrights
+belonging to Cygnus Solutions and Cygnus Support.
+
+Copyright (c) 1994, 1997, 2001, 2002, 2003, 2004 Red Hat Incorporated.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ The name of Red Hat Incorporated may not be used to endorse
+ or promote products derived from this software without specific
+ prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--- /dev/null
+This is the Debian GNU/Linux prepackaged version of the GNU compiler
+collection, containing Ada, C, C++, Fortran 95, Objective-C,
+Objective-C++, and Treelang compilers, documentation, and support
+libraries. In addition, Debian provides the gdc compiler, either in
+the same source package, or built from a separate same source package.
+Packaging is done by the Debian GCC Maintainers
+<debian-gcc@lists.debian.org>, with sources obtained from:
+
+ ftp://gcc.gnu.org/pub/gcc/releases/ (for full releases)
+ svn://gcc.gnu.org/svn/gcc/ (for prereleases)
+ http://bitbucket.org/goshawk/gdc (for D)
+ https://github.com/MentorEmbedded/nvptx-newlib/ (for newlib-nvptx)
+
+The current gcc-@BV@ source package is taken from the SVN @SVN_BRANCH@.
+
+Changes: See changelog.Debian.gz
+
+Debian splits the GNU Compiler Collection into packages for each language,
+library, and documentation as follows:
+
+Language Compiler package Library package Documentation
+---------------------------------------------------------------------------
+Ada gnat-@BV@ libgnat-@BV@ gnat-@BV@-doc
+BRIG gccbrig-@BV@ libhsail-rt0
+C gcc-@BV@ gcc-@BV@-doc
+C++ g++-@BV@ libstdc++6 libstdc++6-@BV@-doc
+D gdc-@BV@
+Fortran 95 gfortran-@BV@ libgfortran3 gfortran-@BV@-doc
+Go gccgo-@BV@ libgo0
+Objective C gobjc-@BV@ libobjc2
+Objective C++ gobjc++-@BV@
+
+For some language run-time libraries, Debian provides source files,
+development files, debugging symbols and libraries containing position-
+independent code in separate packages:
+
+Language Sources Development Debugging Position-Independent
+------------------------------------------------------------------------------
+C++ libstdc++6-@BV@-dbg libstdc++6-@BV@-pic
+D libphobos-@BV@-dev
+
+Additional packages include:
+
+All languages:
+libgcc1, libgcc2, libgcc4 GCC intrinsics (platform-dependent)
+gcc-@BV@-base Base files common to all compilers
+gcc-@BV@-soft-float Software floating point (ARM only)
+gcc-@BV@-source The sources with patches
+
+Ada:
+libgnatvsn-dev, libgnatvsn@BV@ GNAT version library
+
+C:
+cpp-@BV@, cpp-@BV@-doc GNU C Preprocessor
+libssp0-dev, libssp0 GCC stack smashing protection library
+libquadmath0 Math routines for the __float128 type
+fixincludes Fix non-ANSI header files
+
+C, C++ and Fortran 95:
+libgomp1-dev, libgomp1 GCC OpenMP (GOMP) support library
+libitm1-dev, libitm1 GNU Transactional Memory Library
+
+Biarch support: On some 64-bit platforms which can also run 32-bit code,
+Debian provides additional packages containing 32-bit versions of some
+libraries. These packages have names beginning with 'lib32' instead of
+'lib', for example lib32stdc++6. Similarly, on some 32-bit platforms which
+can also run 64-bit code, Debian provides additional packages with names
+beginning with 'lib64' instead of 'lib'. These packages contain 64-bit
+versions of the libraries. (At this time, not all platforms and not all
+libraries support biarch.) The license terms for these lib32 or lib64
+packages are identical to the ones for the lib packages.
+
+
+COPYRIGHT STATEMENTS AND LICENSING TERMS
+
+
+GCC is Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
+1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
+2008, 2009, 2010, 2011, 2012, 2013, 2014 Free Software Foundation, Inc.
+
+GCC is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free
+Software Foundation; either version 3, or (at your option) any later
+version.
+
+GCC is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+for more details.
+
+Files that have exception clauses are licensed under the terms of the
+GNU General Public License; either version 3, or (at your option) any
+later version.
+
+On Debian GNU/Linux systems, the complete text of the GNU General
+Public License is in `/usr/share/common-licenses/GPL', version 3 of this
+license in `/usr/share/common-licenses/GPL-3'.
+
+The following runtime libraries are licensed under the terms of the
+GNU General Public License (v3 or later) with version 3.1 of the GCC
+Runtime Library Exception (included in this file):
+
+ - libgcc (libgcc/, gcc/libgcc2.[ch], gcc/unwind*, gcc/gthr*,
+ gcc/coretypes.h, gcc/crtstuff.c, gcc/defaults.h, gcc/dwarf2.h,
+ gcc/emults.c, gcc/gbl-ctors.h, gcc/gcov-io.h, gcc/libgcov.c,
+ gcc/tsystem.h, gcc/typeclass.h).
+ - libatomic
+ - libdecnumber
+ - libgomp
+ - libitm
+ - libssp
+ - libstdc++-v3
+ - libobjc
+ - libgfortran
+ - The libgnat-@BV@ Ada support library and libgnatvsn library.
+ - Various config files in gcc/config/ used in runtime libraries.
+ - libvtv
+
+The libbacktrace library is licensed under the following terms:
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ (1) Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ (2) Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+
+ (3) The name of the author may not be used to
+ endorse or promote products derived from this software without
+ specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+
+
+The libsanitizer libraries (libasan, liblsan, libtsan, libubsan) are
+licensed under the following terms:
+
+Copyright (c) 2009-2014 by the LLVM contributors.
+
+All rights reserved.
+
+Developed by:
+
+ LLVM Team
+
+ University of Illinois at Urbana-Champaign
+
+ http://llvm.org
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal with
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
+of the Software, and to permit persons to whom the Software is furnished to do
+so, subject to the following conditions:
+
+ * Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimers.
+
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimers in the
+ documentation and/or other materials provided with the distribution.
+
+ * Neither the names of the LLVM Team, University of Illinois at
+ Urbana-Champaign, nor the names of its contributors may be used to
+ endorse or promote products derived from this Software without specific
+ prior written permission.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE
+SOFTWARE.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+
+The libffi library is licensed under the following terms:
+
+ libffi - Copyright (c) 1996-2003 Red Hat, Inc.
+
+ Permission is hereby granted, free of charge, to any person obtaining
+ a copy of this software and associated documentation files (the
+ ``Software''), to deal in the Software without restriction, including
+ without limitation the rights to use, copy, modify, merge, publish,
+ distribute, sublicense, and/or sell copies of the Software, and to
+ permit persons to whom the Software is furnished to do so, subject to
+ the following conditions:
+
+ The above copyright notice and this permission notice shall be included
+ in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ IN NO EVENT SHALL CYGNUS SOLUTIONS BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ OTHER DEALINGS IN THE SOFTWARE.
+
+
+The documentation is licensed under the GNU Free Documentation License (v1.2).
+On Debian GNU/Linux systems, the complete text of this license is in
+`/usr/share/common-licenses/GFDL-1.2'.
+
+
+GCC RUNTIME LIBRARY EXCEPTION
+
+Version 3.1, 31 March 2009
+
+Copyright (C) 2009 Free Software Foundation, Inc. <http://fsf.org/>
+
+Everyone is permitted to copy and distribute verbatim copies of this
+license document, but changing it is not allowed.
+
+This GCC Runtime Library Exception ("Exception") is an additional
+permission under section 7 of the GNU General Public License, version
+3 ("GPLv3"). It applies to a given file (the "Runtime Library") that
+bears a notice placed by the copyright holder of the file stating that
+the file is governed by GPLv3 along with this Exception.
+
+When you use GCC to compile a program, GCC may combine portions of
+certain GCC header files and runtime libraries with the compiled
+program. The purpose of this Exception is to allow compilation of
+non-GPL (including proprietary) programs to use, in this way, the
+header files and runtime libraries covered by this Exception.
+
+0. Definitions.
+
+A file is an "Independent Module" if it either requires the Runtime
+Library for execution after a Compilation Process, or makes use of an
+interface provided by the Runtime Library, but is not otherwise based
+on the Runtime Library.
+
+"GCC" means a version of the GNU Compiler Collection, with or without
+modifications, governed by version 3 (or a specified later version) of
+the GNU General Public License (GPL) with the option of using any
+subsequent versions published by the FSF.
+
+"GPL-compatible Software" is software whose conditions of propagation,
+modification and use would permit combination with GCC in accord with
+the license of GCC.
+
+"Target Code" refers to output from any compiler for a real or virtual
+target processor architecture, in executable form or suitable for
+input to an assembler, loader, linker and/or execution
+phase. Notwithstanding that, Target Code does not include data in any
+format that is used as a compiler intermediate representation, or used
+for producing a compiler intermediate representation.
+
+The "Compilation Process" transforms code entirely represented in
+non-intermediate languages designed for human-written code, and/or in
+Java Virtual Machine byte code, into Target Code. Thus, for example,
+use of source code generators and preprocessors need not be considered
+part of the Compilation Process, since the Compilation Process can be
+understood as starting with the output of the generators or
+preprocessors.
+
+A Compilation Process is "Eligible" if it is done using GCC, alone or
+with other GPL-compatible software, or if it is done without using any
+work based on GCC. For example, using non-GPL-compatible Software to
+optimize any GCC intermediate representations would not qualify as an
+Eligible Compilation Process.
+
+1. Grant of Additional Permission.
+
+You have permission to propagate a work of Target Code formed by
+combining the Runtime Library with Independent Modules, even if such
+propagation would otherwise violate the terms of GPLv3, provided that
+all Target Code was generated by Eligible Compilation Processes. You
+may then convey such a combination under terms of your choice,
+consistent with the licensing of the Independent Modules.
+
+2. No Weakening of GCC Copyleft.
+
+The availability of this Exception does not imply any general
+presumption that third-party software is unaffected by the copyleft
+requirements of the license of GCC.
+
+
+libquadmath/*.[hc]:
+
+ Copyright (C) 2010 Free Software Foundation, Inc.
+ Written by Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+ Written by Tobias Burnus <burnus@net-b.de>
+
+This file is part of the libiberty library.
+Libiberty is free software; you can redistribute it and/or
+modify it under the terms of the GNU Library General Public
+License as published by the Free Software Foundation; either
+version 2 of the License, or (at your option) any later version.
+
+Libiberty is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Library General Public License for more details.
+
+libquadmath/math:
+
+atanq.c, expm1q.c, j0q.c, j1q.c, log1pq.c, logq.c:
+ Copyright 2001 by Stephen L. Moshier <moshier@na-net.ornl.gov>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+coshq.c, erfq.c, jnq.c, lgammaq.c, powq.c, roundq.c:
+ Changes for 128-bit __float128 are
+ Copyright (C) 2001 Stephen L. Moshier <moshier@na-net.ornl.gov>
+ and are incorporated herein by permission of the author. The author
+ reserves the right to distribute this material elsewhere under different
+ copying permissions. These modifications are distributed here under
+ the following terms:
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ldexpq.c:
+ * Conversion to long double by Ulrich Drepper,
+ * Cygnus Support, drepper@cygnus.com.
+
+cosq_kernel.c, expq.c, sincos_table.c, sincosq.c, sincosq_kernel.c,
+sinq_kernel.c, truncq.c:
+ Copyright (C) 1997, 1999 Free Software Foundation, Inc.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+isinfq.c:
+ * Written by J.T. Conklin <jtc@netbsd.org>.
+ * Change for long double by Jakub Jelinek <jj@ultra.linux.cz>
+ * Public domain.
+
+llroundq.c, lroundq.c, tgammaq.c:
+ Copyright (C) 1997, 1999, 2002, 2004 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+ Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997 and
+ Jakub Jelinek <jj@ultra.linux.cz>, 1999.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+log10q.c:
+ Cephes Math Library Release 2.2: January, 1991
+ Copyright 1984, 1991 by Stephen L. Moshier
+ Adapted for glibc November, 2001
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+remaining files:
+
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+
+
+gcc/go/gofrontend, libgo:
+
+Copyright (c) 2009 The Go Authors. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+ * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+libmpx:
+ Copyright (C) 2009-2014, Intel Corporation
+ All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+ * Neither the name of Intel Corporation nor the names of its
+ contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
+ WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGE.
+
+
+D:
+gdc-@BV@ GNU D Compiler
+libphobos-@BV@-dev D standard runtime library
+
+The D source package is made up of the following components.
+
+The D front-end for GCC:
+ - d/*
+
+Copyright (C) 2004-2007 David Friedman
+Modified by Vincenzo Ampolo, Michael Parrot, Iain Buclaw, (C) 2009, 2010
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+On Debian GNU/Linux systems, the complete text of the GNU General
+Public License is in `/usr/share/common-licenses/GPL', version 2 of this
+license in `/usr/share/common-licenses/GPL-2'.
+
+
+The DMD Compiler implementation of the D programming language:
+ - d/dmd/*
+
+Copyright (c) 1999-2010 by Digital Mars
+All Rights Reserved
+written by Walter Bright
+http://www.digitalmars.com
+License for redistribution is by either the Artistic License or
+the GNU General Public License (v1).
+
+On Debian GNU/Linux systems, the complete text of the GNU General
+Public License is in `/usr/share/common-licenses/GPL', the Artistic
+license in `/usr/share/common-licenses/Artistic'.
+
+
+The Zlib data compression library:
+ - d/phobos/etc/c/zlib/*
+
+ (C) 1995-2004 Jean-loup Gailly and Mark Adler
+
+ This software is provided 'as-is', without any express or implied
+ warranty. In no event will the authors be held liable for any damages
+ arising from the use of this software.
+
+ Permission is granted to anyone to use this software for any purpose,
+ including commercial applications, and to alter it and redistribute it
+ freely, subject to the following restrictions:
+
+ 1. The origin of this software must not be misrepresented; you must not
+ claim that you wrote the original software. If you use this software
+ in a product, an acknowledgment in the product documentation would be
+ appreciated but is not required.
+ 2. Altered source versions must be plainly marked as such, and must not be
+ misrepresented as being the original software.
+ 3. This notice may not be removed or altered from any source distribution.
+
+
+The Phobos standard runtime library:
+ - d/phobos/*
+
+Unless otherwise marked within the file, each file in the source
+is under the following licenses:
+
+Copyright (C) 2004-2005 by Digital Mars, www.digitalmars.com
+Written by Walter Bright
+
+This software is provided 'as-is', without any express or implied
+warranty. In no event will the authors be held liable for any damages
+arising from the use of this software.
+
+Permission is granted to anyone to use this software for any purpose,
+including commercial applications, and to alter it and redistribute it
+freely, in both source and binary form, subject to the following
+restrictions:
+
+ o The origin of this software must not be misrepresented; you must not
+ claim that you wrote the original software. If you use this software
+ in a product, an acknowledgment in the product documentation would be
+ appreciated but is not required.
+ o Altered source versions must be plainly marked as such, and must not
+ be misrepresented as being the original software.
+ o This notice may not be removed or altered from any source
+ distribution.
+
+By plainly marking modifications, something along the lines of adding to each
+file that has been changed a "Modified by Foo Bar" line
+underneath the "Written by" line would be adequate.
+
+The libhsail-rt library is licensed under the following terms:
+
+ Copyright (C) 2015-2017 Free Software Foundation, Inc.
+ Contributed by Pekka Jaaskelainen <pekka.jaaskelainen@parmance.com>
+ for General Processor Tech.
+
+ Permission is hereby granted, free of charge, to any person obtaining a
+ copy of this software and associated documentation files
+ (the "Software"), to deal in the Software without restriction, including
+ without limitation the rights to use, copy, modify, merge, publish,
+ distribute, sublicense, and/or sell copies of the Software, and to
+ permit persons to whom the Software is furnished to do so, subject to
+ the following conditions:
+
+ The above copyright notice and this permission notice shall be included
+ in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+ DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+ OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
+ USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+libhsail-rt/rt/fp16.c is licensed under the following terms:
+
+ Copyright (C) 2008-2017 Free Software Foundation, Inc.
+ Contributed by CodeSourcery.
+
+ This file is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by the
+ Free Software Foundation; either version 3, or (at your option) any
+ later version.
+
+ This file is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ Under Section 7 of GPL version 3, you are granted additional
+ permissions described in the GCC Runtime Library Exception, version
+ 3.1, as published by the Free Software Foundation.
+
+ You should have received a copy of the GNU General Public License and
+ a copy of the GCC Runtime Library Exception along with this program;
+ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+ <http://www.gnu.org/licenses/>.
+
+newlib-nvptx-20yymmdd/:
+
+Upstream Authors:
+newlib@sources.redhat.com
+Jeff Johnston <jjohnstn@redhat.com>
+Tom Fitzsimmons <fitzsim@redhat.com>
+
+The newlib subdirectory is a collection of software from several sources.
+Each file may have its own copyright/license that is embedded in the source
+file.
+
+This list documents those licenses which are more restrictive than
+a BSD-like license or require the copyright notice
+to be duplicated in documentation and/or other materials associated with
+the distribution. Certain licenses documented here only apply to
+specific targets. Certain clauses only apply if you are building the
+code as part of your binary.
+
+Note that this list may omit certain licenses that
+only pertain to the copying/modifying of the individual source code.
+If you are distributing the source code, then you do not need to
+worry about these omitted licenses, so long as you do not modify the
+copyright information already in place.
+
+Parts of this work are licensed under the terms of the GNU General
+Public License. On Debian systems, the complete text of this license
+can be found in /usr/share/common-licenses/GPL.
+
+Parts of this work are licensed under the terms of the GNU Library
+General Public License. On Debian systems, the complete text of this
+license be found in /usr/share/common-licenses/LGPL.
+
+(1) University of California, Berkeley
+
+[1a]
+
+Copyright (c) 1990 The Regents of the University of California.
+All rights reserved.
+
+Redistribution and use in source and binary forms are permitted
+provided that the above copyright notice and this paragraph are
+duplicated in all such forms and that any documentation,
+and other materials related to such distribution and use
+acknowledge that the software was developed
+by the University of California, Berkeley. The name of the
+University may not be used to endorse or promote products derived
+from this software without specific prior written permission.
+THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+[1b]
+
+Copyright (c) 1990 The Regents of the University of California.
+All rights reserved.
+
+Redistribution and use in source and binary forms are permitted
+provided that the above copyright notice and this paragraph are
+duplicated in all such forms and that any documentation,
+advertising materials, and other materials related to such
+distribution and use acknowledge that the software was developed
+by the University of California, Berkeley. The name of the
+University may not be used to endorse or promote products derived
+from this software without specific prior written permission.
+THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+[1c]
+
+Copyright (c) 1981, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
+The Regents of the University of California.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+3. All advertising materials mentioning features or use of this software
+ must display the following acknowledgement:
+ This product includes software developed by the University of
+ California, Berkeley and its contributors.
+4. Neither the name of the University nor the names of its contributors
+ may be used to endorse or promote products derived from this software
+ without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+[1d]
+
+Copyright (c) 1988, 1990, 1993 Regents of the University of California.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+3. Neither the name of the University nor the names of its contributors
+ may be used to endorse or promote products derived from this software
+ without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+[1e]
+
+Copyright (c) 1982, 1986, 1989, 1991, 1993, 1994
+The Regents of the University of California. All rights reserved.
+(c) UNIX System Laboratories, Inc.
+All or some portions of this file are derived from material licensed
+to the University of California by American Telephone and Telegraph
+Co. or Unix System Laboratories, Inc. and are reproduced herein with
+the permission of UNIX System Laboratories, Inc.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+3. All advertising materials mentioning features or use of this software
+ must display the following acknowledgement:
+ This product includes software developed by the University of
+ California, Berkeley and its contributors.
+4. Neither the name of the University nor the names of its contributors
+ may be used to endorse or promote products derived from this software
+ without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+[1f]
+
+Copyright (c) 1987, 1988, 2000 Regents of the University of California.
+All rights reserved.
+
+Redistribution and use in source and binary forms are permitted
+provided that: (1) source distributions retain this entire copyright
+notice and comment, and (2) distributions including binaries display
+the following acknowledgement: ``This product includes software
+developed by the University of California, Berkeley and its contributors''
+in the documentation or other materials provided with the distribution
+and in all advertising materials mentioning features or use of this
+software. Neither the name of the University nor the names of its
+contributors may be used to endorse or promote products derived
+from this software without specific prior written permission.
+THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+-------------------------------------------------------------
+ Please note that in some of the above alternate licenses, there is a
+ statement regarding that acknowledgement must be made in any
+ advertising materials for products using the code. This restriction
+ no longer applies due to the following license change:
+
+ ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change
+
+ In some cases the defunct clause has been removed in modified newlib code and
+ in some cases, the clause has been left as-is.
+-------------------------------------------------------------
+
+(2) Cygwin (cygwin targets only)
+
+Copyright 2001 Red Hat, Inc.
+
+This software is a copyrighted work licensed under the terms of the
+Cygwin license. Please consult the file "CYGWIN_LICENSE" for
+details.
+
+(3) David M. Gay at AT&T
+
+The author of this software is David M. Gay.
+
+Copyright (c) 1991 by AT&T.
+
+Permission to use, copy, modify, and distribute this software for any
+purpose without fee is hereby granted, provided that this entire notice
+is included in all copies of any software which is or includes a copy
+or modification of this software and in all copies of the supporting
+documentation for such software.
+
+THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED
+WARRANTY. IN PARTICULAR, NEITHER THE AUTHOR NOR AT&T MAKES ANY
+REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY
+OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.
+
+(4) Advanced Micro Devices
+
+Copyright 1989, 1990 Advanced Micro Devices, Inc.
+
+This software is the property of Advanced Micro Devices, Inc (AMD) which
+specifically grants the user the right to modify, use and distribute this
+software provided this notice is not removed or altered. All other rights
+are reserved by AMD.
+
+AMD MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS
+SOFTWARE. IN NO EVENT SHALL AMD BE LIABLE FOR INCIDENTAL OR CONSEQUENTIAL
+DAMAGES IN CONNECTION WITH OR ARISING FROM THE FURNISHING, PERFORMANCE, OR
+USE OF THIS SOFTWARE.
+
+So that all may benefit from your experience, please report any problems
+or suggestions about this software to the 29K Technical Support Center at
+800-29-29-AMD (800-292-9263) in the USA, or 0800-89-1131 in the UK, or
+0031-11-1129 in Japan, toll free. The direct dial number is 512-462-4118.
+
+Advanced Micro Devices, Inc.
+29K Support Products
+Mail Stop 573
+5900 E. Ben White Blvd.
+Austin, TX 78741
+800-292-9263
+
+(5) C.W. Sandmann
+
+Copyright (C) 1993 C.W. Sandmann
+
+This file may be freely distributed as long as the author's name remains.
+
+(6) Eric Backus
+
+(C) Copyright 1992 Eric Backus
+
+This software may be used freely so long as this copyright notice is
+left intact. There is no warrantee on this software.
+
+(7) Sun Microsystems
+
+Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+
+Developed at SunPro, a Sun Microsystems, Inc. business.
+Permission to use, copy, modify, and distribute this
+software is freely granted, provided that this notice
+is preserved.
+
+(8) Hewlett Packard
+
+(c) Copyright 1986 HEWLETT-PACKARD COMPANY
+
+To anyone who acknowledges that this file is provided "AS IS"
+without any express or implied warranty:
+ permission to use, copy, modify, and distribute this file
+for any purpose is hereby granted without fee, provided that
+the above copyright notice and this notice appears in all
+copies, and that the name of Hewlett-Packard Company not be
+used in advertising or publicity pertaining to distribution
+of the software without specific, written prior permission.
+Hewlett-Packard Company makes no representations about the
+suitability of this software for any purpose.
+
+(9) Hans-Peter Nilsson
+
+Copyright (C) 2001 Hans-Peter Nilsson
+
+Permission to use, copy, modify, and distribute this software is
+freely granted, provided that the above copyright notice, this notice
+and the following disclaimer are preserved with no changes.
+
+THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.
+
+(10) Stephane Carrez (m68hc11-elf/m68hc12-elf targets only)
+
+Copyright (C) 1999, 2000, 2001, 2002 Stephane Carrez (stcarrez@nerim.fr)
+
+The authors hereby grant permission to use, copy, modify, distribute,
+and license this software and its documentation for any purpose, provided
+that existing copyright notices are retained in all copies and that this
+notice is included verbatim in any distributions. No written agreement,
+license, or royalty fee is required for any of the authorized uses.
+Modifications to this software may be copyrighted by their authors
+and need not follow the licensing terms described here, provided that
+the new terms are clearly indicated on the first page of each file where
+they apply.
+
+(11) Christopher G. Demetriou
+
+Copyright (c) 2001 Christopher G. Demetriou
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+3. The name of the author may not be used to endorse or promote products
+ derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+(12) SuperH, Inc.
+
+Copyright 2002 SuperH, Inc. All rights reserved
+
+This software is the property of SuperH, Inc (SuperH) which specifically
+grants the user the right to modify, use and distribute this software
+provided this notice is not removed or altered. All other rights are
+reserved by SuperH.
+
+SUPERH MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO
+THIS SOFTWARE. IN NO EVENT SHALL SUPERH BE LIABLE FOR INDIRECT, SPECIAL,
+INCIDENTAL OR CONSEQUENTIAL DAMAGES IN CONNECTION WITH OR ARISING FROM
+THE FURNISHING, PERFORMANCE, OR USE OF THIS SOFTWARE.
+
+So that all may benefit from your experience, please report any problems
+or suggestions about this software to the SuperH Support Center via
+e-mail at softwaresupport@superh.com .
+
+SuperH, Inc.
+405 River Oaks Parkway
+San Jose
+CA 95134
+USA
+
+(13) Royal Institute of Technology
+
+Copyright (c) 1999 Kungliga Tekniska Hgskolan
+(Royal Institute of Technology, Stockholm, Sweden).
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+3. Neither the name of KTH nor the names of its contributors may be
+ used to endorse or promote products derived from this software without
+ specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY KTH AND ITS CONTRIBUTORS ``AS IS'' AND ANY
+EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL KTH OR ITS CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+(14) Alexey Zelkin
+
+Copyright (c) 2000, 2001 Alexey Zelkin <phantom@FreeBSD.org>
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+(15) Andrey A. Chernov
+
+Copyright (C) 1997 by Andrey A. Chernov, Moscow, Russia.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+(16) FreeBSD
+
+Copyright (c) 1997-2002 FreeBSD Project.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+(17) S. L. Moshier
+
+Author: S. L. Moshier.
+
+Copyright (c) 1984,2000 S.L. Moshier
+
+Permission to use, copy, modify, and distribute this software for any
+purpose without fee is hereby granted, provided that this entire notice
+is included in all copies of any software which is or includes a copy
+or modification of this software and in all copies of the supporting
+documentation for such software.
+
+THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED
+WARRANTY. IN PARTICULAR, THE AUTHOR MAKES NO REPRESENTATION
+OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY OF THIS
+SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.
+
+(18) Citrus Project
+
+Copyright (c)1999 Citrus Project,
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+(19) Todd C. Miller
+
+Copyright (c) 1998 Todd C. Miller <Todd.Miller@courtesan.com>
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+3. The name of the author may not be used to endorse or promote products
+ derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
+INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
+THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+(20) DJ Delorie (i386)
+
+Copyright (C) 1991 DJ Delorie
+All rights reserved.
+
+Redistribution and use in source and binary forms is permitted
+provided that the above copyright notice and following paragraph are
+duplicated in all such forms.
+
+This file is distributed WITHOUT ANY WARRANTY; without even the implied
+warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+(21) Free Software Foundation LGPL License (*-linux* targets only)
+
+ Copyright (C) 1990-1999, 2000, 2001
+ Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+ Contributed by Mark Kettenis <kettenis@phys.uva.nl>, 1997.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ 02110-1301 USA
+
+(22) Xavier Leroy LGPL License (i[3456]86-*-linux* targets only)
+
+Copyright (C) 1996 Xavier Leroy (Xavier.Leroy@inria.fr)
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU Library General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Library General Public License for more details.
+
+(23) Intel (i960)
+
+Copyright (c) 1993 Intel Corporation
+
+Intel hereby grants you permission to copy, modify, and distribute this
+software and its documentation. Intel grants this permission provided
+that the above copyright notice appears in all copies and that both the
+copyright notice and this permission notice appear in supporting
+documentation. In addition, Intel grants this permission provided that
+you prominently mark as "not part of the original" any modifications
+made to this software or documentation, and that the name of Intel
+Corporation not be used in advertising or publicity pertaining to
+distribution of the software or the documentation without specific,
+written prior permission.
+
+Intel Corporation provides this AS IS, WITHOUT ANY WARRANTY, EXPRESS OR
+IMPLIED, INCLUDING, WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY
+OR FITNESS FOR A PARTICULAR PURPOSE. Intel makes no guarantee or
+representations regarding the use of, or the results of the use of,
+the software and documentation in terms of correctness, accuracy,
+reliability, currentness, or otherwise; and you rely on the software,
+documentation and results solely at your own risk.
+
+IN NO EVENT SHALL INTEL BE LIABLE FOR ANY LOSS OF USE, LOSS OF BUSINESS,
+LOSS OF PROFITS, INDIRECT, INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES
+OF ANY KIND. IN NO EVENT SHALL INTEL'S TOTAL LIABILITY EXCEED THE SUM
+PAID TO INTEL FOR THE PRODUCT LICENSED HEREUNDER.
+
+(24) Hewlett-Packard (hppa targets only)
+
+(c) Copyright 1986 HEWLETT-PACKARD COMPANY
+
+To anyone who acknowledges that this file is provided "AS IS"
+without any express or implied warranty:
+ permission to use, copy, modify, and distribute this file
+for any purpose is hereby granted without fee, provided that
+the above copyright notice and this notice appears in all
+copies, and that the name of Hewlett-Packard Company not be
+used in advertising or publicity pertaining to distribution
+of the software without specific, written prior permission.
+Hewlett-Packard Company makes no representations about the
+suitability of this software for any purpose.
+
+(25) Henry Spencer (only *-linux targets)
+
+Copyright 1992, 1993, 1994 Henry Spencer. All rights reserved.
+This software is not subject to any license of the American Telephone
+and Telegraph Company or of the Regents of the University of California.
+
+Permission is granted to anyone to use this software for any purpose on
+any computer system, and to alter it and redistribute it, subject
+to the following restrictions:
+
+1. The author is not responsible for the consequences of use of this
+ software, no matter how awful, even if they arise from flaws in it.
+
+2. The origin of this software must not be misrepresented, either by
+ explicit claim or by omission. Since few users ever read sources,
+ credits must appear in the documentation.
+
+3. Altered versions must be plainly marked as such, and must not be
+ misrepresented as being the original software. Since few users
+ ever read sources, credits must appear in the documentation.
+
+4. This notice may not be removed or altered.
+
+(26) Mike Barcroft
+
+Copyright (c) 2001 Mike Barcroft <mike@FreeBSD.org>
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+(27) Konstantin Chuguev (--enable-newlib-iconv)
+
+Copyright (c) 1999, 2000
+ Konstantin Chuguev. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+ iconv (Charset Conversion Library) v2.0
+
+(27) Artem Bityuckiy (--enable-newlib-iconv)
+
+Copyright (c) 2003, Artem B. Bityuckiy, SoftMine Corporation.
+Rights transferred to Franklin Electronic Publishers.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+(28) Red Hat Incorporated
+
+Unless otherwise stated in each remaining newlib file, the remaining
+files in the newlib subdirectory default to the following copyright.
+It should be noted that Red Hat Incorporated now owns copyrights
+belonging to Cygnus Solutions and Cygnus Support.
+
+Copyright (c) 1994, 1997, 2001, 2002, 2003, 2004 Red Hat Incorporated.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ The name of Red Hat Incorporated may not be used to endorse
+ or promote products derived from this software without specific
+ prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--- /dev/null
+#!/bin/sh
+
+set -e
+
+if [ "$1" = "upgrade" ] || [ "$1" = "configure" ]; then
+ update-alternatives --quiet --remove @TARGET@-cpp /usr/bin/@TARGET@-cpp-@BV@
+fi
+
+#DEBHELPER#
+
+exit 0
--- /dev/null
+Document: cpp-@BV@
+Title: The GNU C preprocessor
+Author: Various
+Abstract: The C preprocessor is a "macro processor" that is used automatically
+ by the C compiler to transform your program before actual compilation.
+ It is called a macro processor because it allows you to define "macros",
+ which are brief abbreviations for longer constructs.
+Section: Programming
+
+Format: html
+Index: /usr/share/doc/gcc-@BV@-base/cpp.html
+Files: /usr/share/doc/gcc-@BV@-base/cpp.html
+
+Format: info
+Index: /usr/share/info/cpp-@BV@.info.gz
+Files: /usr/share/info/cpp-@BV@*
--- /dev/null
+Document: cppinternals-@BV@
+Title: The GNU C preprocessor (internals)
+Author: Various
+Abstract: This brief manual documents the internals of cpplib, and
+ explains some of the tricky issues. It is intended that, along with
+ the comments in the source code, a reasonably competent C programmer
+ should be able to figure out what the code is doing, and why things
+ have been implemented the way they have.
+Section: Programming
+
+Format: html
+Index: /usr/share/doc/gcc-@BV@-base/cppinternals.html
+Files: /usr/share/doc/gcc-@BV@-base/cppinternals.html
+
+Format: info
+Index: /usr/share/info/cppinternals-@BV@.info.gz
+Files: /usr/share/info/cppinternals-@BV@*
--- /dev/null
+#! /bin/sh
+
+pkg=`echo $1 | sed 's/^-p//'`
+target=$2
+
+[ -d debian/$pkg/usr/share/doc ] || mkdir -p debian/$pkg/usr/share/doc
+if [ -d debian/$pkg/usr/share/doc/$p -a ! -h debian/$pkg/usr/share/doc/$p ]
+then
+ echo "WARNING: removing doc directory $pkg"
+ rm -rf debian/$pkg/usr/share/doc/$pkg
+fi
+ln -sf $target debian/$pkg/usr/share/doc/$pkg
--- /dev/null
+#! /bin/sh -e
+
+pkg=`echo $1 | sed 's/^-p//'`
+
+: # remove empty directories, when all components are in place
+for d in `find debian/$pkg -depth -type d -empty 2> /dev/null`; do \
+ while rmdir $d 2> /dev/null; do d=`dirname $d`; done; \
+done
+
+exit 0
--- /dev/null
+.TH @NAME@ 1 "May 24, 2003" @name@ "Debian Free Documentation"
+.SH NAME
+@name@ \- A program with a man page covered by the GFDL with invariant sections
+.SH SYNOPSIS
+@name@ [\fB\s-1OPTION\s0\fR] ... [\fI\s-1ARGS\s0\fR...]
+
+.SH DESCRIPTION
+
+\fB@name@\fR is documented by a man page, which is covered by the "GNU
+Free Documentation License" (GFDL) containing invariant sections.
+.P
+In November 2002, version 1.2 of the GNU Free Documentation License (GNU
+FDL) was released by the Free Software Foundation after a long period
+of consultation. Unfortunately, some concerns raised by members of the
+Debian Project were not addressed, and as such the GNU FDL can apply
+to works that do not pass the Debian Free Software Guidelines (DFSG),
+and may thus only be included in the non-free component of the Debian
+archive, not the Debian distribution itself.
+
+.SH "SEE ALSO"
+.BR http://gcc.gnu.org/onlinedocs/
+for the complete documentation,
+.BR http://lists.debian.org/debian-legal/2003/debian-legal-200304/msg00307.html
+for a proposed statement of Debian with respect to the GFDL,
+.BR gfdl(7)
+
+.SH AUTHOR
+This manual page was written by the Debian GCC maintainers,
+for the Debian GNU/Linux system.
--- /dev/null
+@c This file is empty because the original one has a non DFSG free license (GFDL)
--- /dev/null
+#! /bin/sh
+
+PATH="/@LIBEXECDIR@/install-tools:$PATH"
+
+TARGET_MACHINE=`dpkg-architecture -qDEB_HOST_GNU_TYPE`
+export TARGET_MACHINE
+
+exec fixinc.sh "$@"
--- /dev/null
+#!/bin/sh
+
+set -e
+
+if [ "$1" = "upgrade" ] || [ "$1" = "configure" ]; then
+ update-alternatives --quiet --remove @TARGET@-g++ /usr/bin/@TARGET@-g++-@BV@
+fi
+
+#DEBHELPER#
+
+exit 0
--- /dev/null
+#!/bin/sh
+
+set -e
+
+if [ "$1" = "upgrade" ] || [ "$1" = "configure" ]; then
+ update-alternatives --quiet --remove @TARGET@-gcc /usr/bin/@TARGET@-gcc-@BV@
+ update-alternatives --quiet --remove @TARGET@-gcov /usr/bin/@TARGET@-gcov-@BV@
+fi
+
+#DEBHELPER#
+
+exit 0
--- /dev/null
+Document: gcc-@BV@
+Title: The GNU C and C++ compiler
+Author: Various
+Abstract: This manual documents how to run, install and port the GNU compiler,
+ as well as its new features and incompatibilities, and how to report bugs.
+Section: Programming
+
+Format: html
+Index: /usr/share/doc/gcc-@BV@-base/gcc.html
+Files: /usr/share/doc/gcc-@BV@-base/gcc.html
+
+Format: info
+Index: /usr/share/info/gcc-@BV@.info.gz
+Files: /usr/share/info/gcc-@BV@*
--- /dev/null
+Document: gccint-@BV@
+Title: Internals of the GNU C and C++ compiler
+Author: Various
+Abstract: This manual documents the internals of the GNU compilers,
+ including how to port them to new targets and some information about
+ how to write front ends for new languages. It corresponds to GCC
+ version @BV@.x. The use of the GNU compilers is documented in a
+ separate manual.
+Section: Programming
+
+Format: html
+Index: /usr/share/doc/gcc-@BV@-base/gccint.html
+Files: /usr/share/doc/gcc-@BV@-base/gccint.html
+
+Format: info
+Index: /usr/share/info/gccint-@BV@.info.gz
+Files: /usr/share/info/gccint-@BV@*
--- /dev/null
+Document: gcc-@BV@-gomp
+Title: The GNU OpenMP Implementation (for GCC @BV@)
+Author: Various
+Abstract: This manual documents the usage of libgomp, the GNU implementation
+ of the OpenMP Application Programming Interface (API) for multi-platform
+ shared-memory parallel programming in C/C++ and Fortran.
+Section: Programming
+
+Format: html
+Index: /usr/share/doc/gcc-@BV@-base/libgomp.html
+Files: /usr/share/doc/gcc-@BV@-base/libgomp.html
+
+Format: info
+Index: /usr/share/info/libgomp-@BV@.info.gz
+Files: /usr/share/info/libgomp-@BV@*
--- /dev/null
+Document: gcc-@BV@-itm
+Title: The GNU Transactional Memory Library (for GCC @BV@)
+Author: Various
+Abstract: This manual documents the usage and internals of libitm,
+ the GNU Transactional Memory Library. It provides transaction support
+ for accesses to a process' memory, enabling easy-to-use synchronization
+ of accesses to shared memory by several threads.
+Section: Programming
+
+Format: html
+Index: /usr/share/doc/gcc-@BV@-base/libitm.html
+Files: /usr/share/doc/gcc-@BV@-base/libitm.html
+
+Format: info
+Index: /usr/share/info/libitm-@BV@.info.gz
+Files: /usr/share/info/libitm-@BV@*
--- /dev/null
+Document: gcc-@BV@-qmath
+Title: The GCC Quad-Precision Math Library (for GCC @BV@)
+Author: Various
+Abstract: This manual documents the usage of libquadmath, the GCC
+ Quad-Precision Math Library Application Programming Interface (API).
+Section: Programming
+
+Format: html
+Index: /usr/share/doc/gcc-@BV@-base/libquadmath.html
+Files: /usr/share/doc/gcc-@BV@-base/libquadmath.html
+
+Format: info
+Index: /usr/share/info/libquadmath-@BV@.info.gz
+Files: /usr/share/info/libquadmath-@BV@*
--- /dev/null
+gcc-@BV@-hppa64-linux-gnu binary: binary-from-other-architecture
+gcc-@BV@-hppa64-linux-gnu binary: binary-without-manpage
+gcc-@BV@-hppa64-linux-gnu binary: hardening-no-pie
--- /dev/null
+gcc-@BV@-multilib binary: binary-from-other-architecture
--- /dev/null
+gcc-@BV@-source: changelog-file-not-compressed
+
+# these are patches taken over unmodified from 4.3
+gcc-@BV@-source: script-not-executable
+gcc-@BV@-source: shell-script-fails-syntax-check
--- /dev/null
+.TH GCC-@TOOL@-@BV@ 1 "May 8, 2012" gcc-@TOOL@-@BV@ ""
+.SH NAME
+gcc-@TOOL@ \- a wrapper around @TOOL@ adding the --plugin option
+
+.SH SYNOPSIS
+gcc-@TOOL@ [\fB\s-1OPTION\s0\fR] ... [\fI\s-1ARGS\s0\fR...]
+
+.SH DESCRIPTION
+
+\fBgcc-@TOOL@\fR is a wrapper around @TOOL@(1) adding the appropriate
+\fB\-\-plugin\fR option for the GCC @BV@ compiler.
+
+.SH OPTIONS
+See @TOOL@(1) for a list of options that @TOOL@ understands.
+
+.SH "SEE ALSO"
+.BR @TOOL@(1)
--- /dev/null
+\input texinfo @c -*-texinfo-*-
+@c %**start of header
+
+@settitle The GNU Compiler Collection (GCC)
+
+@c Create a separate index for command line options.
+@defcodeindex op
+@c Merge the standard indexes into a single one.
+@syncodeindex fn cp
+@syncodeindex vr cp
+@syncodeindex ky cp
+@syncodeindex pg cp
+@syncodeindex tp cp
+
+@paragraphindent 1
+
+@c %**end of header
+
+@copying
+The current documentation is licensed under the same terms as the Debian packaging.
+@end copying
+@ifnottex
+@dircategory Programming
+@direntry
+* @name@: (@name@). The GNU Compiler Collection (@name@).
+@end direntry
+@sp 1
+@end ifnottex
+
+@summarycontents
+@contents
+@page
+
+@node Top
+@top Introduction
+@cindex introduction
+The official GNU compilers' documentation is released under the terms
+of the GNU Free Documentation License with cover texts. This has been
+considered non free by the Debian Project. Thus you will find it in the
+non-free section of the Debian archive.
+@bye
--- /dev/null
+gcc-snapshot binary: bad-permissions-for-ali-file
+
+# keep patched ltdl copy
+gcc-snapshot binary: embedded-library
+
+gcc-snapshot binary: binary-from-other-architecture
+gcc-snapshot binary: extra-license-file
+gcc-snapshot binary: jar-not-in-usr-share
+gcc-snapshot binary: triplet-dir-and-architecture-mismatch
+gcc-snapshot binary: unstripped-binary-or-object
--- /dev/null
+#! /bin/sh -e
+
+rm -f /usr/lib/gcc-snapshot/share/python/*.py[co]
+
+#DEBHELPER#
--- /dev/null
+/* CSS for the GCC web site.
+
+ Gerald Pfeifer <gerald@pfeifer.com>
+ */
+
+body { background-color: white; color: black; }
+
+a:link { color: #0066bb; text-decoration: none; }
+a:visited { color: #003399; text-decoration: none; }
+a:hover { color: darkorange; text-decoration: none; }
+
+h1 { color: darkslategray; text-align:center; }
+h2 { color: darkslategray; }
+
+.highlight{ color: darkslategray; font-weight:bold; }
+.smaller { font-size: 80%; }
+
+.no-margin-top { margin-top:0; }
+.twocolumns { column-counts:2; -moz-column-count:2; }
+.imgleft { margin: 5px 20px; float: left; }
+
+td.news { width: 50%; padding-right: 8px; }
+td.news h2 { font-size: 1.2em; margin-top: 0; margin-bottom: 2%; }
+td.news dl { margin-top:0; }
+td.news dt { color:darkslategrey; font-weight:bold; margin-top:0.3em; }
+td.news dd { margin-left:3ex; margin-top:0.1em; margin-bottom:0.1em; }
+td.news .date { color:darkslategrey; font-size:90%; margin-left:0.1ex; }
+
+td.status { width: 50%; padding-left: 12px; border-left: #3366cc thin solid; }
+td.status h2 { font-size: 1.2em; margin-top:0; margin-bottom: 1%; }
+td.status dl { margin-top:0; }
+td.status .version { font-weight:bold; }
+td.status .regress { font-size: 80%; }
+td.status dd { margin-left:3ex; }
+
+table.nav {
+ padding-left: 32px;
+ border-spacing: 0pt;
+}
+
+table.navitem {
+ border-spacing: 0pt;
+}
+
+table.navitem tr:nth-child(1) {
+ border-color: #3366cc;
+ border-style: solid;
+ border-width: thin;
+ color: #f2f2f9;
+ background-color: #0066dd;
+ font-weight: bold;
+}
+table.navitem tr:nth-child(2) {
+ padding-top: 3px;
+ padding-left: 8px;
+ padding-bottom: 3px;
+ background-color: #f2f2f9;
+ font-size: smaller;
+}
+
+div.copyright {
+ font-size: smaller;
+ background: #f2f2f9;
+ border: 2px solid #3366cc;
+ border-style: solid;
+ border-width: thin;
+ padding: 4px;
+}
+div.copyright p:nth-child(3) { margin-bottom: 0; }
+
+.boldcyan { font-weight:bold; color:cyan; }
+.boldlime { font-weight:bold; color:lime; }
+.boldmagenta { font-weight:bold; color:magenta; }
+.boldred { font-weight:bold; color:red; }
+.boldblue { font-weight:bold; color:blue; }
+.green { color:green; }
+
+/* Quote an e-mail. The first <div> has the sender, the second the quote. */
+blockquote.mail div:nth-child(2) { border-left: solid blue; padding-left: 4pt; }
+
+/* C++ status tables. */
+table.cxxstatus th, table.cxxstatus td { border: 1px solid gray; }
+table.cxxstatus td:nth-child(3) { text-align:center; }
+table.cxxstatus tr.separator { background: #f2f2f9; }
+
+.supported { background-color: lightgreen; }
+.unsupported { background-color: lightsalmon; }
+
+/* Online documentation. */
+
+pre.smallexample {
+ font-size: medium;
+ background: #f2f2f9;
+ padding: 4px;
+}
+
+/* Classpath versus libgcj merge status page. */
+
+.classpath-only { background-color: #FFFFAA; }
+.libgcj-only { background-color: #FFFFAA; }
+.VM-specific { background-color: #CCCCFF; }
+.GCJ-specific { background-color: #CCCCFF; }
+.needsmerge { background-color: #FF9090; }
+.merged { background-color: #22FF22; }
+.merged-expected-diff { background-color: #22FF22; }
+.merged-unexpected-diff { background-color: #FF4444; }
--- /dev/null
+Document: gccgo-@BV@
+Title: The GNU Go compiler (version @BV@)
+Author: Various
+Abstract: This manual describes how to use gccgo, the GNU compiler for
+ the Go programming language. This manual is specifically about
+ gccgo. For more information about the Go programming
+ language in general, including language specifications and standard
+ package documentation, see http://golang.org/.
+Section: Programming
+
+Format: html
+Index: /usr/share/doc/gcc-@BV@-base/gccgo.html
+Files: /usr/share/doc/gcc-@BV@-base/gccgo.html
+
+Format: info
+Index: /usr/share/info/gccgo-@BV@.info.gz
+Files: /usr/share/info/gccgo-@BV@*
--- /dev/null
+#! /bin/sh
+
+# https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=gcc-pr66145;users=debian-gcc@lists.debian.org
+
+vendor=Debian
+if dpkg-vendor --derives-from Ubuntu; then
+ vendor=Ubuntu
+fi
+
+if [ "$vendor" = Debian ]; then
+ :
+ pkgs=$(echo '
+antlr
+libaqsis1
+libassimp3
+blockattack
+boo
+libboost-date-time1.54.0
+libboost-date-time1.55.0
+libcpprest2.4
+printer-driver-brlaser
+c++-annotations
+clustalx
+libdavix0
+libdballe6
+dff
+libdiet-sed2.8
+libdiet-client2.8
+libdiet-admin2.8
+digikam-private-libs
+emscripten
+ergo
+fceux
+flush
+libfreefem++
+freeorion
+fslview
+fwbuilder
+libgazebo5
+libgetfem4++
+libgmsh2
+gnote
+gnudatalanguage
+python-healpy
+innoextract
+libinsighttoolkit4.7
+libdap17
+libdapclient6
+libdapserver7
+libkolabxml1
+libpqxx-4.0
+libreoffice-core
+librime1
+libwibble-dev
+lightspark
+libmarisa0
+mira-assembler
+mongodb
+mongodb-server
+ncbi-blast+
+libogre-1.8.0
+libogre-1.9.0
+openscad
+libopenwalnut1
+passepartout
+pdf2djvu
+photoprint
+plastimatch
+plee-the-bear
+povray
+powertop
+psi4
+python3-taglib
+realtimebattle
+ruby-passenger
+libapache2-mod-passenger
+schroot
+sqlitebrowser
+tecnoballz
+wesnoth-1.12-core
+widelands
+libwreport2
+xflr5
+libxmltooling6')
+else
+ pkgs=$(echo '
+antlr
+libaqsis1
+libassimp3
+blockattack
+boo
+libboost-date-time1.55.0
+libcpprest2.2
+printer-driver-brlaser
+c++-annotations
+chromium-browser
+clustalx
+libdavix0
+libdballe6
+dff
+libdiet-sed2.8
+libdiet-client2.8
+libdiet-admin2.8
+libkgeomap2
+libmediawiki1
+libkvkontakte1
+emscripten
+ergo
+fceux
+flush
+libfreefem++
+freeorion
+fslview
+fwbuilder
+libgazebo5
+libgetfem4++
+libgmsh2
+gnote
+gnudatalanguage
+python-healpy
+innoextract
+libinsighttoolkit4.6
+libdap17
+libdapclient6
+libdapserver7
+libkolabxml1
+libpqxx-4.0
+libreoffice-core
+librime1
+libwibble-dev
+lightspark
+libmarisa0
+mira-assembler
+mongodb
+mongodb-server
+ncbi-blast+
+libogre-1.8.0
+libogre-1.9.0
+openscad
+libopenwalnut1
+passepartout
+pdf2djvu
+photoprint
+plastimatch
+plee-the-bear
+povray
+powertop
+psi4
+python3-taglib
+realtimebattle
+ruby-passenger
+libapache2-mod-passenger
+sqlitebrowser
+tecnoballz
+wesnoth-1.12-core
+widelands
+libwreport2
+xflr5
+libxmltooling6')
+fi
+
+fn=debian/libstdc++-breaks.$vendor
+rm -f $fn
+echo $pkgs
+for p in $pkgs; do
+ #echo $p
+ if ! apt-cache show --no-all-versions $p >/dev/null; then
+ echo "not found: $p"
+ fi
+ v=$(apt-cache show --no-all-versions $p | awk '/^Version/ {print $2}')
+ case "$p" in
+ libboost-date-time*)
+ echo "$p," >> $fn
+ ;;
+ *)
+ echo "$p (<= $v)," >> $fn
+ esac
+done
--- /dev/null
+#!/bin/sh
+
+set -e
+
+if [ "$1" = "upgrade" ] || [ "$1" = "configure" ]; then
+ update-alternatives --quiet --remove @TARGET@-gfortran /usr/bin/@TARGET@-gfortran-@BV@
+fi
+
+#DEBHELPER#
+
+exit 0
--- /dev/null
+Document: gfortran-@BV@
+Title: The GNU Fortran Compiler
+Author: Various
+Abstract: This manual documents how to run, install and port `gfortran',
+ as well as its new features and incompatibilities, and how to report bugs.
+Section: Programming/Fortran
+
+Format: html
+Index: /usr/share/doc/gcc-@BV@-base/fortran/gfortran.html
+Files: /usr/share/doc/gcc-@BV@-base/fortran/gfortran.html
+
+Format: info
+Index: /usr/share/info/gfortran-@BV@.info.gz
+Files: /usr/share/info/gfortran-@BV@*
--- /dev/null
+Document: gnat-rm-@BV@
+Title: GNAT (GNU Ada) Reference Manual
+Author: Various
+Abstract: This manual contains useful information in writing programs
+ using the GNAT compiler. It includes information on implementation
+ dependent characteristics of GNAT, including all the information
+ required by Annex M of the standard.
+Section: Programming/Ada
+
+Format: html
+Index: /usr/share/doc/gnat-@BV@-doc/gnat_rm.html
+Files: /usr/share/doc/gnat-@BV@-doc/gnat_rm.html
+
+Format: info
+Index: /usr/share/info/gnat_rm-@BV@.info.gz
+Files: /usr/share/info/gnat_rm-@BV@*
--- /dev/null
+Document: gnat-style-@BV@
+Title: GNAT Coding Style
+Author: Various
+Abstract: Most of GNAT is written in Ada using a consistent style to
+ ensure readability of the code. This document has been written to
+ help maintain this consistent style, while having a large group of
+ developers work on the compiler.
+Section: Programming/Ada
+
+Format: html
+Index: /usr/share/doc/gnat-@BV@-doc/gnat-style.html
+Files: /usr/share/doc/gnat-@BV@-doc/gnat-style.html
+
+Format: info
+Index: /usr/share/info/gnat-style-@BV@.info.gz
+Files: /usr/share/info/gnat-style-@BV@*
--- /dev/null
+Document: gnat-ugn-@BV@
+Title: GNAT User's Guide for Unix Platforms
+Author: Various
+Abstract: This guide describes the use of GNAT, a compiler and
+ software development toolset for the full Ada 95 programming language.
+ It describes the features of the compiler and tools, and details how
+ to use them to build Ada 95 applications.
+Section: Programming/Ada
+
+Format: html
+Index: /usr/share/doc/gnat-@BV@-doc/gnat_ugn.html
+Files: /usr/share/doc/gnat-@BV@-doc/gnat_ugn.html
+
+Format: info
+Index: /usr/share/info/gnat_ugn-@BV@.info.gz
+Files: /usr/share/info/gnat_ugn-@BV@*
--- /dev/null
+.\" Hey, Emacs! This is an -*- nroff -*- source file.
+.\"
+.\" Copyright (C) 1996 Erick Branderhorst <branderh@debian.org>
+.\" Copyright (C) 2011 Nicolas Boulenguez <nicolas.boulenguez@free.fr>
+.\"
+.\" This is free software; you can redistribute it and/or modify it under
+.\" the terms of the GNU General Public License as published by the Free
+.\" Software Foundation; either version 2, or (at your option) any later
+.\" version.
+.\"
+.\" This is distributed in the hope that it will be useful, but WITHOUT
+.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+.\" for more details.
+.\"
+.\" You should have received a copy of the GNU General Public License with
+.\" your Debian GNU/Linux system, in /usr/doc/copyright/GPL, or with the
+.\" dpkg source package as the file COPYING. If not, write to the Free
+.\" Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+.\"
+.\"
+.TH "GNAT TOOLBOX" 1 "Jun 2002" "Debian Project" "Debian Linux"
+.SH NAME
+gnat, gnatbind, gnatbl, gnatchop, gnatfind, gnathtml, gnatkr, gnatlink,
+gnatls, gnatmake, gnatprep, gnatpsta, gnatpsys, gnatxref \-
+GNAT toolbox
+.SH DESCRIPTION
+Those programs are part of GNU GNAT, a freely available Ada 95 compiler.
+.PP
+For accessing the full GNAT manuals, use
+.B info gnat-ug-4.8
+and
+.B info gnat-rm-4.8
+for the sections related to the reference manual.
+If those sections cannot be found, you will have to install the
+gnat-4.4-doc package as well (since these manuals contain invariant parts,
+the package is located in the non-free part of the Debian archive).
+You may also browse
+.B http://gcc.gnu.org/onlinedocs
+which provides the GCC online documentation.
+.SH AUTHOR
+This manpage has been written by Samuel Tardieu <sam@debian.org>, for the
+Debian GNU/Linux project.
--- /dev/null
+# automake gets it wrong for the multilib build
+lib32asan5 binary: binary-or-shlib-defines-rpath
--- /dev/null
+libasan.so.5 lib32asan5 #MINVER#
+#include "libasan.symbols.common"
+#include "libasan.symbols.32"
+ (arch=s390x)__interceptor___tls_get_addr_internal@Base 7
+ (arch=s390x)__interceptor___tls_get_offset@Base 7
+ (arch=s390x)__tls_get_addr_internal@Base 7
+ (arch=s390x)__tls_get_offset@Base 7
--- /dev/null
+#! /bin/sh -e
+
+case "$1" in
+ configure)
+ docdir=/usr/share/doc/lib32gcc@LC@
+ if [ -d $docdir ] && [ ! -h $docdir ]; then
+ rm -rf $docdir
+ ln -s gcc-@BV@-base $docdir
+ fi
+esac
+
+#DEBHELPER#
--- /dev/null
+# no usable zconf.h header in lib32z1-dev
+lib32gphobos68 binary: embedded-library
--- /dev/null
+libstdc++.so.6 lib32stdc++6 #MINVER#
+#include "libstdc++6.symbols.32bit"
+#include "libstdc++6.symbols.excprop"
+#include "libstdc++6.symbols.money.ldbl"
+ __gxx_personality_v0@CXXABI_1.3 4.1.1
+ _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3
+ _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3
+#(optional)_Z16__VLTRegisterSetPPvPKvjjS0_@CXXABI_1.3.8 4.9.0
+#(optional)_Z17__VLTRegisterPairPPvPKvjS2_@CXXABI_1.3.8 4.9.0
+#(optional)_Z21__VLTRegisterSetDebugPPvPKvjjS0_@CXXABI_1.3.8 4.9.0
+#(optional)_Z22__VLTRegisterPairDebugPPvPKvjS2_PKcS4_@CXXABI_1.3.8 4.9.0
+#(optional)_Z24__VLTVerifyVtablePointerPPvPKv@CXXABI_1.3.8 4.9.0
+#(optional)_Z29__VLTVerifyVtablePointerDebugPPvPKvPKcS4_@CXXABI_1.3.8 4.9.0
+#(optional)__VLTChangePermission@CXXABI_1.3.8 4.9.0
--- /dev/null
+libstdc++.so.6 lib32stdc++6 #MINVER#
+#include "libstdc++6.symbols.32bit"
+#include "libstdc++6.symbols.excprop"
+#include "libstdc++6.symbols.money.ldbl"
+ __gxx_personality_v0@CXXABI_1.3 4.1.1
+ _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3
+ _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3
--- /dev/null
+libstdc++.so.6 lib32stdc++6 #MINVER#
+#include "libstdc++6.symbols.32bit"
+#include "libstdc++6.symbols.excprop"
+ __gxx_personality_v0@CXXABI_1.3 4.1.1
+#include "libstdc++6.symbols.glibcxxmath"
+#include "libstdc++6.symbols.ldbl.32bit"
+#include "libstdc++6.symbols.money.f128"
+ _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3.0~rc2
+ _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3.0~rc2
--- /dev/null
+libstdc++.so.6 lib32stdc++6 #MINVER#
+#include "libstdc++6.symbols.common"
+#include "libstdc++6.symbols.excprop"
+#include "libstdc++6.symbols.money.f128"
+ _ZN9__gnu_cxx12__atomic_addEPVii@GLIBCXX_3.4 4.1.1
+ _ZN9__gnu_cxx17__pool_alloc_base16_M_get_free_listEm@GLIBCXX_3.4.2 4.1.1
+ _ZN9__gnu_cxx17__pool_alloc_base9_M_refillEm@GLIBCXX_3.4.2 4.1.1
+ _ZN9__gnu_cxx18__exchange_and_addEPVii@GLIBCXX_3.4 4.1.1
+ _ZN9__gnu_cxx6__poolILb0EE16_M_reclaim_blockEPcm@GLIBCXX_3.4.4 4.1.1
+ _ZN9__gnu_cxx6__poolILb0EE16_M_reserve_blockEmm@GLIBCXX_3.4.4 4.1.1
+ _ZN9__gnu_cxx6__poolILb1EE16_M_reclaim_blockEPcm@GLIBCXX_3.4.4 4.1.1
+ _ZN9__gnu_cxx6__poolILb1EE16_M_reserve_blockEmm@GLIBCXX_3.4.4 4.1.1
+ _ZN9__gnu_cxx9free_list6_M_getEm@GLIBCXX_3.4.4 4.1.1
+ _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE6xsgetnEPci@GLIBCXX_3.4.10 4.3.0~rc2
+ _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE6xsputnEPKci@GLIBCXX_3.4.10 4.3.0~rc2
+ _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4.10 4.3.0~rc2
+ _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE6xsgetnEPwi@GLIBCXX_3.4.10 4.3.0~rc2
+ _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE6xsputnEPKwi@GLIBCXX_3.4.10 4.3.0~rc2
+ _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4.10 4.3.0~rc2
+ _ZNK10__cxxabiv117__class_type_info12__do_dyncastEiNS0_10__sub_kindEPKS0_PKvS3_S5_RNS0_16__dyncast_resultE@CXXABI_1.3 4.1.1
+ _ZNK10__cxxabiv117__class_type_info20__do_find_public_srcEiPKvPKS0_S2_@CXXABI_1.3 4.1.1
+ _ZNK10__cxxabiv120__si_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE@CXXABI_1.3 4.1.1
+ _ZNK10__cxxabiv120__si_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2_@CXXABI_1.3 4.1.1
+ _ZNK10__cxxabiv121__vmi_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE@CXXABI_1.3 4.1.1
+ _ZNK10__cxxabiv121__vmi_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2_@CXXABI_1.3 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwmm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofERKS2_m@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEwm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwmm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofERKS2_m@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEwm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEmmPKc@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEmmPKc@GLIBCXX_3.4.5 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwmm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofERKS2_m@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEwm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwmm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofERKS2_m@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEwm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE2atEm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE4copyEPwmm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwmm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE4findERKS2_m@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE4findEwm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwmm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE5rfindERKS2_m@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE5rfindEwm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE6substrEmm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmPKw@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmPKwm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmRKS2_@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmRKS2_mm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE8_M_checkEmPKc@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE8_M_limitEmm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEEixEm@GLIBCXX_3.4 4.1.1
+ _ZNKSs12find_last_ofEPKcm@GLIBCXX_3.4 4.1.1
+ _ZNKSs12find_last_ofEPKcmm@GLIBCXX_3.4 4.1.1
+ _ZNKSs12find_last_ofERKSsm@GLIBCXX_3.4 4.1.1
+ _ZNKSs12find_last_ofEcm@GLIBCXX_3.4 4.1.1
+ _ZNKSs13find_first_ofEPKcm@GLIBCXX_3.4 4.1.1
+ _ZNKSs13find_first_ofEPKcmm@GLIBCXX_3.4 4.1.1
+ _ZNKSs13find_first_ofERKSsm@GLIBCXX_3.4 4.1.1
+ _ZNKSs13find_first_ofEcm@GLIBCXX_3.4 4.1.1
+ _ZNKSs15_M_check_lengthEmmPKc@GLIBCXX_3.4 4.1.1
+ _ZNKSs15_M_check_lengthEmmPKc@GLIBCXX_3.4.5 4.1.1
+ _ZNKSs16find_last_not_ofEPKcm@GLIBCXX_3.4 4.1.1
+ _ZNKSs16find_last_not_ofEPKcmm@GLIBCXX_3.4 4.1.1
+ _ZNKSs16find_last_not_ofERKSsm@GLIBCXX_3.4 4.1.1
+ _ZNKSs16find_last_not_ofEcm@GLIBCXX_3.4 4.1.1
+ _ZNKSs17find_first_not_ofEPKcm@GLIBCXX_3.4 4.1.1
+ _ZNKSs17find_first_not_ofEPKcmm@GLIBCXX_3.4 4.1.1
+ _ZNKSs17find_first_not_ofERKSsm@GLIBCXX_3.4 4.1.1
+ _ZNKSs17find_first_not_ofEcm@GLIBCXX_3.4 4.1.1
+ _ZNKSs2atEm@GLIBCXX_3.4 4.1.1
+ _ZNKSs4copyEPcmm@GLIBCXX_3.4 4.1.1
+ _ZNKSs4findEPKcm@GLIBCXX_3.4 4.1.1
+ _ZNKSs4findEPKcmm@GLIBCXX_3.4 4.1.1
+ _ZNKSs4findERKSsm@GLIBCXX_3.4 4.1.1
+ _ZNKSs4findEcm@GLIBCXX_3.4 4.1.1
+ _ZNKSs5rfindEPKcm@GLIBCXX_3.4 4.1.1
+ _ZNKSs5rfindEPKcmm@GLIBCXX_3.4 4.1.1
+ _ZNKSs5rfindERKSsm@GLIBCXX_3.4 4.1.1
+ _ZNKSs5rfindEcm@GLIBCXX_3.4 4.1.1
+ _ZNKSs6substrEmm@GLIBCXX_3.4 4.1.1
+ _ZNKSs7compareEmmPKc@GLIBCXX_3.4 4.1.1
+ _ZNKSs7compareEmmPKcm@GLIBCXX_3.4 4.1.1
+ _ZNKSs7compareEmmRKSs@GLIBCXX_3.4 4.1.1
+ _ZNKSs7compareEmmRKSsmm@GLIBCXX_3.4 4.1.1
+ _ZNKSs8_M_checkEmPKc@GLIBCXX_3.4 4.1.1
+ _ZNKSs8_M_limitEmm@GLIBCXX_3.4 4.1.1
+ _ZNKSsixEm@GLIBCXX_3.4 4.1.1
+ _ZNKSt11__timepunctIcE6_M_putEPcmPKcPK2tm@GLIBCXX_3.4 4.1.1
+ _ZNKSt11__timepunctIwE6_M_putEPwmPKwPK2tm@GLIBCXX_3.4 4.1.1
+ _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3
+ _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3
+ _ZNKSt7codecvtIcc11__mbstate_tE9do_lengthERS0_PKcS4_m@GLIBCXX_3.4 4.1.1
+ _ZNKSt7codecvtIwc11__mbstate_tE9do_lengthERS0_PKcS4_m@GLIBCXX_3.4 4.1.1
+ _ZNKSt7collateIcE12_M_transformEPcPKcm@GLIBCXX_3.4 4.1.1
+ _ZNKSt7collateIwE12_M_transformEPwPKwm@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12_M_group_intEPKcmcRSt8ios_basePcS9_Ri@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_group_floatEPKcmcS6_PcS7_Ri@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6_M_padEciRSt8ios_basePcPKcRi@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE12_M_group_intEPKcmwRSt8ios_basePwS9_Ri@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_group_floatEPKcmwPKwPwS9_Ri@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6_M_padEwiRSt8ios_basePwPKwRi@GLIBCXX_3.4 4.1.1
+ _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_numES3_S3_RiiimRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4 4.1.1
+ _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE15_M_extract_nameES3_S3_RiPPKcmRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4 4.1.1
+ _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE24_M_extract_wday_or_monthES3_S3_RiPPKcmRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4.14 4.5.0
+ _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_numES3_S3_RiiimRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4 4.1.1
+ _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE15_M_extract_nameES3_S3_RiPPKwmRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4 4.1.1
+ _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE24_M_extract_wday_or_monthES3_S3_RiPPKwmRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4.14 4.5.0
+ _ZNSbIwSt11char_traitsIwESaIwEE10_S_compareEmm@GLIBCXX_3.4.16 4.7
+ _ZNKSt8valarrayImE4sizeEv@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE12_S_constructEmwRKS1_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE14_M_replace_auxEmmmw@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeEmmPKwm@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE18_S_construct_aux_2EmwRKS1_@GLIBCXX_3.4.14 4.5.0
+ _ZNSbIwSt11char_traitsIwESaIwEE2atEm@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEm@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEm@GLIBCXX_3.4.5 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE4_Rep8_M_cloneERKS1_m@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE4_Rep9_S_createEmmRKS1_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE5eraseEmm@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6appendEPKwm@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_mm@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6appendEmw@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6assignEPKwm@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_mm@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6assignEmw@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEmw@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6insertEmPKw@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6insertEmPKwm@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6insertEmRKS2_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6insertEmRKS2_mm@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6insertEmmw@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6resizeEm@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6resizeEmw@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwm@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwm@GLIBCXX_3.4.5 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwm@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwm@GLIBCXX_3.4.5 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwm@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_mw@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmPKw@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmPKwm@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmRKS2_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmRKS2_mm@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmmw@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7reserveEm@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwmw@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwmw@GLIBCXX_3.4.5 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEmmm@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEEC1EPKwmRKS1_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mm@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mmRKS1_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEEC1EmwRKS1_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEEC2EPKwmRKS1_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mm@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mmRKS1_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEEC2EmwRKS1_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEEixEm@GLIBCXX_3.4 4.1.1
+ _ZNSi3getEPci@GLIBCXX_3.4 4.1.1
+ _ZNSi3getEPcic@GLIBCXX_3.4 4.1.1
+ _ZNSi4readEPci@GLIBCXX_3.4 4.1.1
+ _ZNSi5seekgExSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1
+ _ZNSi6ignoreEi@GLIBCXX_3.4 4.1.1
+ _ZNSi6ignoreEi@GLIBCXX_3.4.5 4.1.1
+ _ZNSi6ignoreEii@GLIBCXX_3.4 4.1.1
+ _ZNSi7getlineEPci@GLIBCXX_3.4 4.1.1
+ _ZNSi7getlineEPcic@GLIBCXX_3.4 4.1.1
+ _ZNSi8readsomeEPci@GLIBCXX_3.4 4.1.1
+ _ZNSo5seekpExSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1
+ _ZNSo5writeEPKci@GLIBCXX_3.4 4.1.1
+ _ZNSo8_M_writeEPKci@GLIBCXX_3.4 4.1.1
+ _ZNSs10_S_compareEmm@GLIBCXX_3.4.16 4.7
+ _ZNSs12_S_constructEmcRKSaIcE@GLIBCXX_3.4 4.1.1
+ _ZNSs14_M_replace_auxEmmmc@GLIBCXX_3.4 4.1.1
+ _ZNSs15_M_replace_safeEmmPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSs18_S_construct_aux_2EmcRKSaIcE@GLIBCXX_3.4.14 4.5.0
+ _ZNSs2atEm@GLIBCXX_3.4 4.1.1
+ _ZNSs4_Rep26_M_set_length_and_sharableEm@GLIBCXX_3.4 4.1.1
+ _ZNSs4_Rep26_M_set_length_and_sharableEm@GLIBCXX_3.4.5 4.1.1
+ _ZNSs4_Rep8_M_cloneERKSaIcEm@GLIBCXX_3.4 4.1.1
+ _ZNSs4_Rep9_S_createEmmRKSaIcE@GLIBCXX_3.4 4.1.1
+ _ZNSs5eraseEmm@GLIBCXX_3.4 4.1.1
+ _ZNSs6appendEPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSs6appendERKSsmm@GLIBCXX_3.4 4.1.1
+ _ZNSs6appendEmc@GLIBCXX_3.4 4.1.1
+ _ZNSs6assignEPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSs6assignERKSsmm@GLIBCXX_3.4 4.1.1
+ _ZNSs6assignEmc@GLIBCXX_3.4 4.1.1
+ _ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEmc@GLIBCXX_3.4 4.1.1
+ _ZNSs6insertEmPKc@GLIBCXX_3.4 4.1.1
+ _ZNSs6insertEmPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSs6insertEmRKSs@GLIBCXX_3.4 4.1.1
+ _ZNSs6insertEmRKSsmm@GLIBCXX_3.4 4.1.1
+ _ZNSs6insertEmmc@GLIBCXX_3.4 4.1.1
+ _ZNSs6resizeEm@GLIBCXX_3.4 4.1.1
+ _ZNSs6resizeEmc@GLIBCXX_3.4 4.1.1
+ _ZNSs7_M_copyEPcPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSs7_M_copyEPcPKcm@GLIBCXX_3.4.5 4.1.1
+ _ZNSs7_M_moveEPcPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSs7_M_moveEPcPKcm@GLIBCXX_3.4.5 4.1.1
+ _ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcm@GLIBCXX_3.4 4.1.1
+ _ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_mc@GLIBCXX_3.4 4.1.1
+ _ZNSs7replaceEmmPKc@GLIBCXX_3.4 4.1.1
+ _ZNSs7replaceEmmPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSs7replaceEmmRKSs@GLIBCXX_3.4 4.1.1
+ _ZNSs7replaceEmmRKSsmm@GLIBCXX_3.4 4.1.1
+ _ZNSs7replaceEmmmc@GLIBCXX_3.4 4.1.1
+ _ZNSs7reserveEm@GLIBCXX_3.4 4.1.1
+ _ZNSs9_M_assignEPcmc@GLIBCXX_3.4 4.1.1
+ _ZNSs9_M_assignEPcmc@GLIBCXX_3.4.5 4.1.1
+ _ZNSs9_M_mutateEmmm@GLIBCXX_3.4 4.1.1
+ _ZNSsC1EPKcmRKSaIcE@GLIBCXX_3.4 4.1.1
+ _ZNSsC1ERKSsmm@GLIBCXX_3.4 4.1.1
+ _ZNSsC1ERKSsmmRKSaIcE@GLIBCXX_3.4 4.1.1
+ _ZNSsC1EmcRKSaIcE@GLIBCXX_3.4 4.1.1
+ _ZNSsC2EPKcmRKSaIcE@GLIBCXX_3.4 4.1.1
+ _ZNSsC2ERKSsmm@GLIBCXX_3.4 4.1.1
+ _ZNSsC2ERKSsmmRKSaIcE@GLIBCXX_3.4 4.1.1
+ _ZNSsC2EmcRKSaIcE@GLIBCXX_3.4 4.1.1
+ _ZNSsixEm@GLIBCXX_3.4 4.1.1
+ _ZNSt10istrstreamC1EPKci@GLIBCXX_3.4 4.1.1
+ _ZNSt10istrstreamC1EPci@GLIBCXX_3.4 4.1.1
+ _ZNSt10istrstreamC2EPKci@GLIBCXX_3.4 4.1.1
+ _ZNSt10istrstreamC2EPci@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb0EEC1EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb0EEC1EPSt18__moneypunct_cacheIcLb0EEm@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb0EEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb0EEC2EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb0EEC2EPSt18__moneypunct_cacheIcLb0EEm@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb0EEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb1EEC1EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb1EEC1EPSt18__moneypunct_cacheIcLb1EEm@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb1EEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb1EEC2EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb1EEC2EPSt18__moneypunct_cacheIcLb1EEm@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb1EEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb0EEC1EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb0EEC1EPSt18__moneypunct_cacheIwLb0EEm@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb0EEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb0EEC2EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb0EEC2EPSt18__moneypunct_cacheIwLb0EEm@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb0EEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb1EEC1EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb1EEC1EPSt18__moneypunct_cacheIwLb1EEm@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb1EEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb1EEC2EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb1EEC2EPSt18__moneypunct_cacheIwLb1EEm@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb1EEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt11__timepunctIcEC1EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt11__timepunctIcEC1EPSt17__timepunct_cacheIcEm@GLIBCXX_3.4 4.1.1
+ _ZNSt11__timepunctIcEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt11__timepunctIcEC2EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt11__timepunctIcEC2EPSt17__timepunct_cacheIcEm@GLIBCXX_3.4 4.1.1
+ _ZNSt11__timepunctIcEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt11__timepunctIwEC1EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt11__timepunctIwEC1EPSt17__timepunct_cacheIwEm@GLIBCXX_3.4 4.1.1
+ _ZNSt11__timepunctIwEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt11__timepunctIwEC2EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt11__timepunctIwEC2EPSt17__timepunct_cacheIwEm@GLIBCXX_3.4 4.1.1
+ _ZNSt11__timepunctIwEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt12__basic_fileIcE6xsgetnEPci@GLIBCXX_3.4 4.1.1
+ _ZNSt12__basic_fileIcE6xsputnEPKci@GLIBCXX_3.4 4.1.1
+ _ZNSt12__basic_fileIcE7seekoffExSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1
+ _ZNSt12__basic_fileIcE8xsputn_2EPKciS2_i@GLIBCXX_3.4 4.1.1
+ _ZNSt12ctype_bynameIcEC1EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt12ctype_bynameIcEC2EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt12ctype_bynameIwEC1EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt12ctype_bynameIwEC2EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambuf6setbufEPci@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambuf7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambuf8_M_allocEm@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambuf8_M_setupEPcS0_i@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC1EPFPvmEPFvS0_E@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC1EPKai@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC1EPKci@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC1EPKhi@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC1EPaiS0_@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC1EPciS0_@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC1EPhiS0_@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC1Ei@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC2EPFPvmEPFvS0_E@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC2EPKai@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC2EPKci@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC2EPKhi@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC2EPaiS0_@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC2EPciS0_@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC2EPhiS0_@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC2Ei@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIcSt11char_traitsIcEE13_M_set_bufferEi@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIcSt11char_traitsIcEE22_M_convert_to_externalEPci@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIcSt11char_traitsIcEE6setbufEPci@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIcSt11char_traitsIcEE6xsgetnEPci@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIcSt11char_traitsIcEE6xsputnEPKci@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIcSt11char_traitsIcEE7_M_seekExSt12_Ios_Seekdir11__mbstate_t@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIwSt11char_traitsIwEE13_M_set_bufferEi@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIwSt11char_traitsIwEE22_M_convert_to_externalEPwi@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIwSt11char_traitsIwEE6setbufEPwi@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIwSt11char_traitsIwEE6xsgetnEPwi@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIwSt11char_traitsIwEE6xsputnEPKwi@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIwSt11char_traitsIwEE7_M_seekExSt12_Ios_Seekdir11__mbstate_t@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIwSt11char_traitsIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwi@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwiw@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE4readEPwi@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgExSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEi@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEi@GLIBCXX_3.4.5 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEij@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwi@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwiw@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE8readsomeEPwi@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpExSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEE5writeEPKwi@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEE8_M_writeEPKwi@GLIBCXX_3.4 4.1.1
+ _ZNSt14codecvt_bynameIcc11__mbstate_tEC1EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt14codecvt_bynameIcc11__mbstate_tEC2EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt14collate_bynameIcEC1EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt14collate_bynameIcEC2EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt14collate_bynameIwEC1EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt14collate_bynameIwEC2EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE12__safe_gbumpEi@GLIBCXX_3.4.16 4.7
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE12__safe_pbumpEi@GLIBCXX_3.4.16 4.7
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetnEPci@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE5sputnEPKci@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPci@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE6xsgetnEPci@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE6xsputnEPKci@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE9pubsetbufEPci@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE12__safe_gbumpEi@GLIBCXX_3.4.16 4.7
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE12__safe_pbumpEi@GLIBCXX_3.4.16 4.7
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetnEPwi@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE5sputnEPKwi@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE6setbufEPwi@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE6xsgetnEPwi@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE6xsputnEPKwi@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE9pubsetbufEPwi@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPci@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcmm@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8_M_pbumpEPcS4_x@GLIBCXX_3.4.16 4.7
+ _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE6setbufEPwi@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7_M_syncEPwmm@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8_M_pbumpEPwS4_x@GLIBCXX_3.4.16 4.7
+ _ZNSt15messages_bynameIcEC1EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt15messages_bynameIcEC2EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt15messages_bynameIwEC1EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt15messages_bynameIwEC2EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt15numpunct_bynameIcEC1EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt15numpunct_bynameIcEC2EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt15numpunct_bynameIwEC1EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt15numpunct_bynameIwEC2EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt16__numpunct_cacheIcEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt16__numpunct_cacheIcEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt16__numpunct_cacheIwEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt16__numpunct_cacheIwEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt17__timepunct_cacheIcEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt17__timepunct_cacheIcEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt17__timepunct_cacheIwEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt17__timepunct_cacheIwEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt17moneypunct_bynameIcLb0EEC1EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt17moneypunct_bynameIcLb0EEC2EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt17moneypunct_bynameIcLb1EEC1EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt17moneypunct_bynameIcLb1EEC2EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt17moneypunct_bynameIwLb0EEC1EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt17moneypunct_bynameIwLb0EEC2EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt17moneypunct_bynameIwLb1EEC1EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt17moneypunct_bynameIwLb1EEC2EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt18__moneypunct_cacheIcLb0EEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt18__moneypunct_cacheIcLb0EEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt18__moneypunct_cacheIcLb1EEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt18__moneypunct_cacheIcLb1EEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt18__moneypunct_cacheIwLb0EEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt18__moneypunct_cacheIwLb0EEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt18__moneypunct_cacheIwLb1EEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt18__moneypunct_cacheIwLb1EEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt5ctypeIcEC1EP15__locale_structPKtbm@GLIBCXX_3.4 4.1.1
+ _ZNSt5ctypeIcEC1EPKtbm@GLIBCXX_3.4 4.1.1
+ _ZNSt5ctypeIcEC2EP15__locale_structPKtbm@GLIBCXX_3.4 4.1.1
+ _ZNSt5ctypeIcEC2EPKtbm@GLIBCXX_3.4 4.1.1
+ _ZNSt5ctypeIwEC1EP15__locale_structm@GLIBCXX_3.4 4.1.1
+ _ZNSt5ctypeIwEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt5ctypeIwEC2EP15__locale_structm@GLIBCXX_3.4 4.1.1
+ _ZNSt5ctypeIwEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt6gslice8_IndexerC1EmRKSt8valarrayImES4_@GLIBCXX_3.4 4.1.1
+ _ZNSt6gslice8_IndexerC2EmRKSt8valarrayImES4_@GLIBCXX_3.4 4.1.1
+ _ZNSt6locale5_Impl16_M_install_cacheEPKNS_5facetEm@GLIBCXX_3.4.7 4.1.1
+ _ZNSt6locale5_ImplC1EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt6locale5_ImplC1ERKS0_m@GLIBCXX_3.4 4.1.1
+ _ZNSt6locale5_ImplC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt6locale5_ImplC2EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt6locale5_ImplC2ERKS0_m@GLIBCXX_3.4 4.1.1
+ _ZNSt6locale5_ImplC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt7codecvtIcc11__mbstate_tEC1EP15__locale_structm@GLIBCXX_3.4 4.1.1
+ _ZNSt7codecvtIcc11__mbstate_tEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt7codecvtIcc11__mbstate_tEC2EP15__locale_structm@GLIBCXX_3.4 4.1.1
+ _ZNSt7codecvtIcc11__mbstate_tEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt7codecvtIwc11__mbstate_tEC1EP15__locale_structm@GLIBCXX_3.4 4.1.1
+ _ZNSt7codecvtIwc11__mbstate_tEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt7codecvtIwc11__mbstate_tEC2EP15__locale_structm@GLIBCXX_3.4 4.1.1
+ _ZNSt7codecvtIwc11__mbstate_tEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt7collateIcEC1EP15__locale_structm@GLIBCXX_3.4 4.1.1
+ _ZNSt7collateIcEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt7collateIcEC2EP15__locale_structm@GLIBCXX_3.4 4.1.1
+ _ZNSt7collateIcEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt7collateIwEC1EP15__locale_structm@GLIBCXX_3.4 4.1.1
+ _ZNSt7collateIwEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt7collateIwEC2EP15__locale_structm@GLIBCXX_3.4 4.1.1
+ _ZNSt7collateIwEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt8messagesIcEC1EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt8messagesIcEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt8messagesIcEC2EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt8messagesIcEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt8messagesIwEC1EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt8messagesIwEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt8messagesIwEC2EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt8messagesIwEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIcEC1EP15__locale_structm@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIcEC1EPSt16__numpunct_cacheIcEm@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIcEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIcEC2EP15__locale_structm@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIcEC2EPSt16__numpunct_cacheIcEm@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIcEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIwEC1EP15__locale_structm@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIwEC1EPSt16__numpunct_cacheIwEm@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIwEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIwEC2EP15__locale_structm@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIwEC2EPSt16__numpunct_cacheIwEm@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIwEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt8valarrayImEC1ERKS0_@GLIBCXX_3.4 4.1.1
+ _ZNSt8valarrayImEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt8valarrayImEC2ERKS0_@GLIBCXX_3.4 4.1.1
+ _ZNSt8valarrayImEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt8valarrayImED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt8valarrayImED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt8valarrayImEixEm@GLIBCXX_3.4 4.1.1
+ _ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_3.4 4.1.1
+ _ZSt11_Hash_bytesPKvmm@CXXABI_1.3.5 4.6
+ _ZSt15_Fnv_hash_bytesPKvmm@CXXABI_1.3.5 4.6
+ _ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_i@GLIBCXX_3.4.9 4.2.1
+ _ZSt16__ostream_insertIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_i@GLIBCXX_3.4.9 4.2.1
+ _ZSt17__copy_streambufsIcSt11char_traitsIcEEiPSt15basic_streambufIT_T0_ES6_@GLIBCXX_3.4.6 4.1.1
+ _ZSt17__copy_streambufsIwSt11char_traitsIwEEiPSt15basic_streambufIT_T0_ES6_@GLIBCXX_3.4.6 4.1.1
+ _ZSt17__verify_groupingPKcmRKSs@GLIBCXX_3.4.10 4.3
+ _ZSt21__copy_streambufs_eofIcSt11char_traitsIcEEiPSt15basic_streambufIT_T0_ES6_Rb@GLIBCXX_3.4.9 4.2.1
+ _ZSt21__copy_streambufs_eofIwSt11char_traitsIwEEiPSt15basic_streambufIT_T0_ES6_Rb@GLIBCXX_3.4.9 4.2.1
+ _ZThn8_NSdD0Ev@GLIBCXX_3.4 4.1.1
+ _ZThn8_NSdD1Ev@GLIBCXX_3.4 4.1.1
+ _ZThn8_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZThn8_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZThn8_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZThn8_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZThn8_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZThn8_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZThn8_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZThn8_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZThn8_NSt9strstreamD0Ev@GLIBCXX_3.4 4.1.1
+ _ZThn8_NSt9strstreamD1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSdD0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSdD1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSiD0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSiD1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSoD0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSoD1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt10istrstreamD0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt10istrstreamD1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt10ostrstreamD0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt10ostrstreamD1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt9strstreamD0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt9strstreamD1Ev@GLIBCXX_3.4 4.1.1
+ _Znam@GLIBCXX_3.4 4.1.1
+ _ZnamRKSt9nothrow_t@GLIBCXX_3.4 4.1.1
+ _Znwm@GLIBCXX_3.4 4.1.1
+ _ZnwmRKSt9nothrow_t@GLIBCXX_3.4 4.1.1
+ __gxx_personality_v0@CXXABI_1.3 4.1.1
+#include "libstdc++6.symbols.glibcxxmath"
+#include "libstdc++6.symbols.ldbl.32bit.s390"
+ _ZNSt12__basic_fileIcEC1EP15pthread_mutex_t@GLIBCXX_3.4 4.1.1
+ _ZNSt12__basic_fileIcEC2EP15pthread_mutex_t@GLIBCXX_3.4 4.1.1
--- /dev/null
+libstdc++.so.6 lib32stdc++6 #MINVER#
+#include "libstdc++6.symbols.32bit"
+#include "libstdc++6.symbols.excprop"
+ __gxx_personality_v0@CXXABI_1.3 4.1.1
+#include "libstdc++6.symbols.glibcxxmath"
+#include "libstdc++6.symbols.ldbl.32bit"
+#include "libstdc++6.symbols.money.f128"
+ _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3.0~rc2
+ _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3.0~rc2
--- /dev/null
+#! /bin/sh -e
+
+case "$1" in
+ configure)
+ docdir=/usr/share/doc/lib32stdc++@CXX@
+ if [ -d $docdir ] && [ ! -h $docdir ]; then
+ rm -rf $docdir
+ ln -s gcc-@BV@-base $docdir
+ fi
+esac
+
+#DEBHELPER#
--- /dev/null
+# automake gets it wrong for the multilib build
+lib64asan5 binary: binary-or-shlib-defines-rpath
--- /dev/null
+libasan.so.5 lib64asan5 #MINVER#
+#include "libasan.symbols.common"
+#include "libasan.symbols.64"
--- /dev/null
+#! /bin/sh -e
+
+case "$1" in
+ configure)
+ docdir=/usr/share/doc/lib64gcc@LC@
+ if [ -d $docdir ] && [ ! -h $docdir ]; then
+ rm -rf $docdir
+ ln -s gcc-@BV@-base $docdir
+ fi
+esac
+
+#DEBHELPER#
--- /dev/null
+# no usable zconf.h header in lib64z1-dev
+lib64gphobos68 binary: embedded-library
--- /dev/null
+libstdc++.so.6 lib64stdc++6 #MINVER#
+#include "libstdc++6.symbols.64bit"
+#include "libstdc++6.symbols.128bit"
+#include "libstdc++6.symbols.excprop"
+#include "libstdc++6.symbols.money.ldbl"
+ _ZN9__gnu_cxx12__atomic_addEPVii@GLIBCXX_3.4 4.1.1
+ _ZN9__gnu_cxx18__exchange_and_addEPVii@GLIBCXX_3.4 4.1.1
+#DEPRECATED: 4.2.2-4# acosl@GLIBCXX_3.4.3 4.1.1
+#DEPRECATED: 4.2.2-4# asinl@GLIBCXX_3.4.3 4.1.1
+#DEPRECATED: 4.2.2-4# atan2l@GLIBCXX_3.4 4.1.1
+#DEPRECATED: 4.2.2-4# atanl@GLIBCXX_3.4.3 4.1.1
+#DEPRECATED: 4.2.2-4# ceill@GLIBCXX_3.4.3 4.1.1
+#DEPRECATED: 4.2.2-4# coshl@GLIBCXX_3.4 4.1.1
+#DEPRECATED: 4.2.2-4# cosl@GLIBCXX_3.4 4.1.1
+#DEPRECATED: 4.2.2-4# expl@GLIBCXX_3.4 4.1.1
+#DEPRECATED: 4.2.2-4# floorl@GLIBCXX_3.4.3 4.1.1
+#DEPRECATED: 4.2.2-4# fmodl@GLIBCXX_3.4.3 4.1.1
+#DEPRECATED: 4.2.2-4# frexpl@GLIBCXX_3.4.3 4.1.1
+#DEPRECATED: 4.2.2-4# hypotl@GLIBCXX_3.4 4.1.1
+#DEPRECATED: 4.2.2-4# ldexpf@GLIBCXX_3.4.3 4.1.1
+#DEPRECATED: 4.2.2-4# ldexpl@GLIBCXX_3.4.3 4.1.1
+#DEPRECATED: 4.2.2-4# log10l@GLIBCXX_3.4 4.1.1
+#DEPRECATED: 4.2.2-4# logl@GLIBCXX_3.4 4.1.1
+#DEPRECATED: 4.2.2-4# modfl@GLIBCXX_3.4.3 4.1.1
+#DEPRECATED: 4.2.2-4# powf@GLIBCXX_3.4 4.1.1
+#DEPRECATED: 4.2.2-4# powl@GLIBCXX_3.4 4.1.1
+#DEPRECATED: 4.2.2-4# sinhl@GLIBCXX_3.4 4.1.1
+#DEPRECATED: 4.2.2-4# sinl@GLIBCXX_3.4 4.1.1
+#DEPRECATED: 4.2.2-4# sqrtl@GLIBCXX_3.4 4.1.1
+#DEPRECATED: 4.2.2-4# tanhl@GLIBCXX_3.4 4.1.1
+#DEPRECATED: 4.2.2-4# tanl@GLIBCXX_3.4 4.1.1
+ _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3
+ _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3
+#(optional)_Z16__VLTRegisterSetPPvPKvmmS0_@CXXABI_1.3.8 4.9.0
+#(optional)_Z17__VLTRegisterPairPPvPKvmS2_@CXXABI_1.3.8 4.9.0
+#(optional)_Z21__VLTRegisterSetDebugPPvPKvmmS0_@CXXABI_1.3.8 4.9.0
+#(optional)_Z22__VLTRegisterPairDebugPPvPKvmS2_PKcS4_@CXXABI_1.3.8 4.9.0
+#(optional)_Z24__VLTVerifyVtablePointerPPvPKv@CXXABI_1.3.8 4.9.0
+#(optional)_Z29__VLTVerifyVtablePointerDebugPPvPKvPKcS4_@CXXABI_1.3.8 4.9.0
+#(optional)__VLTChangePermission@CXXABI_1.3.8 4.9.0
--- /dev/null
+libstdc++.so.6 lib64stdc++6 #MINVER#
+#include "libstdc++6.symbols.64bit"
+#include "libstdc++6.symbols.128bit"
+#include "libstdc++6.symbols.excprop"
+#include "libstdc++6.symbols.money.f128"
+ _ZN9__gnu_cxx12__atomic_addEPVii@GLIBCXX_3.4 4.1.1
+ _ZN9__gnu_cxx18__exchange_and_addEPVii@GLIBCXX_3.4 4.1.1
+#include "libstdc++6.symbols.glibcxxmath"
+#include "libstdc++6.symbols.ldbl.64bit"
+ _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3.0~rc2
+ _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3.0~rc2
--- /dev/null
+libstdc++.so.6 lib64stdc++6 #MINVER#
+#include "libstdc++6.symbols.64bit"
+#include "libstdc++6.symbols.128bit"
+#include "libstdc++6.symbols.excprop"
+ _ZN9__gnu_cxx12__atomic_addEPVii@GLIBCXX_3.4 4.1.1
+ _ZN9__gnu_cxx18__exchange_and_addEPVii@GLIBCXX_3.4 4.1.1
+#DEPRECATED: 4.2.2-4# ldexpf@GLIBCXX_3.4.3 4.1.1
+#DEPRECATED: 4.2.2-4# powf@GLIBCXX_3.4 4.1.1
+#include "libstdc++6.symbols.glibcxxmath"
+#include "libstdc++6.symbols.ldbl.64bit"
+ _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3.0~rc2
+ _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3.0~rc2
--- /dev/null
+libstdc++.so.6 lib64stdc++6 #MINVER#
+#include "libstdc++6.symbols.64bit"
+#include "libstdc++6.symbols.128bit"
+#include "libstdc++6.symbols.excprop"
+#include "libstdc++6.symbols.money.ldbl"
+ _ZN9__gnu_cxx12__atomic_addEPVli@GLIBCXX_3.4 4.1.1
+ _ZN9__gnu_cxx18__exchange_and_addEPVli@GLIBCXX_3.4 4.1.1
+# FIXME: Currently no ldbl symbols in the 64bit libstdc++ on sparc.
+# #include "libstdc++6.symbols.ldbl.64bit"
+ _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3
+ _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3
--- /dev/null
+#! /bin/sh -e
+
+case "$1" in
+ configure)
+ docdir=/usr/share/doc/lib64stdc++@CXX@
+ if [ -d $docdir ] && [ ! -h $docdir ]; then
+ rm -rf $docdir
+ ln -s gcc-@BV@-base $docdir
+ fi
+esac
+
+#DEBHELPER#
--- /dev/null
+ __sanitizer_syscall_post_impl_chown16@Base 5
+ __sanitizer_syscall_post_impl_fchown16@Base 5
+ __sanitizer_syscall_post_impl_getegid16@Base 5
+ __sanitizer_syscall_post_impl_geteuid16@Base 5
+ __sanitizer_syscall_post_impl_getgid16@Base 5
+ __sanitizer_syscall_post_impl_getgroups16@Base 5
+ __sanitizer_syscall_post_impl_getresgid16@Base 5
+ __sanitizer_syscall_post_impl_getresuid16@Base 5
+ __sanitizer_syscall_post_impl_getuid16@Base 5
+ __sanitizer_syscall_post_impl_lchown16@Base 5
+ __sanitizer_syscall_post_impl_setfsgid16@Base 5
+ __sanitizer_syscall_post_impl_setfsuid16@Base 5
+ __sanitizer_syscall_post_impl_setgid16@Base 5
+ __sanitizer_syscall_post_impl_setgroups16@Base 5
+ __sanitizer_syscall_post_impl_setregid16@Base 5
+ __sanitizer_syscall_post_impl_setresgid16@Base 5
+ __sanitizer_syscall_post_impl_setresuid16@Base 5
+ __sanitizer_syscall_post_impl_setreuid16@Base 5
+ __sanitizer_syscall_post_impl_setuid16@Base 5
+ __sanitizer_syscall_pre_impl_chown16@Base 5
+ __sanitizer_syscall_pre_impl_fchown16@Base 5
+ __sanitizer_syscall_pre_impl_getegid16@Base 5
+ __sanitizer_syscall_pre_impl_geteuid16@Base 5
+ __sanitizer_syscall_pre_impl_getgid16@Base 5
+ __sanitizer_syscall_pre_impl_getgroups16@Base 5
+ __sanitizer_syscall_pre_impl_getresgid16@Base 5
+ __sanitizer_syscall_pre_impl_getresuid16@Base 5
+ __sanitizer_syscall_pre_impl_getuid16@Base 5
+ __sanitizer_syscall_pre_impl_lchown16@Base 5
+ __sanitizer_syscall_pre_impl_setfsgid16@Base 5
+ __sanitizer_syscall_pre_impl_setfsuid16@Base 5
+ __sanitizer_syscall_pre_impl_setgid16@Base 5
+ __sanitizer_syscall_pre_impl_setgroups16@Base 5
+ __sanitizer_syscall_pre_impl_setregid16@Base 5
+ __sanitizer_syscall_pre_impl_setresgid16@Base 5
+ __sanitizer_syscall_pre_impl_setresuid16@Base 5
+ __sanitizer_syscall_pre_impl_setreuid16@Base 5
+ __sanitizer_syscall_pre_impl_setuid16@Base 5
--- /dev/null
+ (arch=!ppc64 !sparc64)__interceptor_ptrace@Base 7
+ (arch=!arm64 !alpha !amd64 !ia64 !mips64el !ppc64 !ppc64el !s390x !sparc64 !kfreebsd-amd64)_ZdaPvj@Base 5
+ (arch=!arm64 !alpha !amd64 !ia64 !mips64el !ppc64 !ppc64el !s390x !sparc64 !kfreebsd-amd64)_ZdaPvjSt11align_val_t@Base 7
+ (arch=!arm64 !alpha !amd64 !ia64 !mips64el !ppc64 !ppc64el !s390x !sparc64 !kfreebsd-amd64)_ZdlPvj@Base 5
+ (arch=!arm64 !alpha !amd64 !ia64 !mips64el !ppc64 !ppc64el !s390x !sparc64 !kfreebsd-amd64)_ZdlPvjSt11align_val_t@Base 7
+ (arch=!arm64 !alpha !amd64 !ia64 !mips64el !ppc64 !ppc64el !s390x !sparc64 !kfreebsd-amd64)_Znaj@Base 4.8
+ (arch=!arm64 !alpha !amd64 !ia64 !mips64el !ppc64 !ppc64el !s390x !sparc64 !kfreebsd-amd64)_ZnajRKSt9nothrow_t@Base 4.8
+ (arch=!arm64 !alpha !amd64 !ia64 !mips64el !ppc64 !ppc64el !s390x !sparc64 !kfreebsd-amd64)_ZnajSt11align_val_t@Base 7
+ (arch=!arm64 !alpha !amd64 !ia64 !mips64el !ppc64 !ppc64el !s390x !sparc64 !kfreebsd-amd64)_ZnajSt11align_val_tRKSt9nothrow_t@Base 7
+ (arch=!arm64 !alpha !amd64 !ia64 !mips64el !ppc64 !ppc64el !s390x !sparc64 !kfreebsd-amd64)_Znwj@Base 4.8
+ (arch=!arm64 !alpha !amd64 !ia64 !mips64el !ppc64 !ppc64el !s390x !sparc64 !kfreebsd-amd64)_ZnwjRKSt9nothrow_t@Base 4.8
+ (arch=!arm64 !alpha !amd64 !ia64 !mips64el !ppc64 !ppc64el !s390x !sparc64 !kfreebsd-amd64)_ZnwjSt11align_val_t@Base 7
+ (arch=!arm64 !alpha !amd64 !ia64 !mips64el !ppc64 !ppc64el !s390x !sparc64 !kfreebsd-amd64)_ZnwjSt11align_val_tRKSt9nothrow_t@Base 7
+ (arch=s390x)_ZdaPvm@Base 7.3
+ (arch=s390x)_ZdaPvmSt11align_val_t@Base 7.3
+ (arch=s390x)_ZdlPvm@Base 7.3
+ (arch=s390x)_ZdlPvmSt11align_val_t@Base 7.3
+ (arch=s390x)_Znam@Base 7.3
+ (arch=s390x)_ZnamRKSt9nothrow_t@Base 7.3
+ (arch=s390x)_ZnamSt11align_val_t@Base 7.3
+ (arch=s390x)_ZnamSt11align_val_tRKSt9nothrow_t@Base 7.3
+ (arch=s390x)_Znwm@Base 7.3
+ (arch=s390x)_ZnwmRKSt9nothrow_t@Base 7.3
+ (arch=s390x)_ZnwmSt11align_val_t@Base 7.3
+ (arch=s390x)_ZnwmSt11align_val_tRKSt9nothrow_t@Base 7.3
+ (arch=!ppc64 !sparc64)ptrace@Base 7
--- /dev/null
+ __interceptor_shmctl@Base 4.9
+ _ZdaPvm@Base 5
+ _ZdaPvmSt11align_val_t@Base 7
+ _ZdlPvm@Base 5
+ _ZdlPvmSt11align_val_t@Base 7
+ _Znam@Base 4.8
+ _ZnamRKSt9nothrow_t@Base 4.8
+ _ZnamSt11align_val_t@Base 7
+ _ZnamSt11align_val_tRKSt9nothrow_t@Base 7
+ _Znwm@Base 4.8
+ _ZnwmRKSt9nothrow_t@Base 4.8
+ _ZnwmSt11align_val_t@Base 7
+ _ZnwmSt11align_val_tRKSt9nothrow_t@Base 7
+ shmctl@Base 4.9
--- /dev/null
+ OnPrint@Base 8
+ _ZN11__sanitizer11CheckFailedEPKciS1_yy@Base 4.8
+ _ZdaPv@Base 4.8
+ _ZdaPvRKSt9nothrow_t@Base 4.8
+ _ZdaPvSt11align_val_t@Base 7
+ _ZdaPvSt11align_val_tRKSt9nothrow_t@Base 7
+ _ZdlPv@Base 4.8
+ _ZdlPvRKSt9nothrow_t@Base 4.8
+ _ZdlPvSt11align_val_t@Base 7
+ _ZdlPvSt11align_val_tRKSt9nothrow_t@Base 7
+ __asan_addr_is_in_fake_stack@Base 5
+ __asan_address_is_poisoned@Base 4.8
+ __asan_after_dynamic_init@Base 4.8
+ __asan_alloca_poison@Base 6.2
+ __asan_allocas_unpoison@Base 6.2
+ __asan_backtrace_alloc@Base 4.9
+ __asan_backtrace_close@Base 4.9
+ __asan_backtrace_create_state@Base 4.9
+ __asan_backtrace_dwarf_add@Base 4.9
+ __asan_backtrace_free@Base 4.9
+ __asan_backtrace_get_view@Base 4.9
+ __asan_backtrace_initialize@Base 4.9
+ __asan_backtrace_open@Base 4.9
+ __asan_backtrace_pcinfo@Base 4.9
+ __asan_backtrace_qsort@Base 4.9
+ __asan_backtrace_release_view@Base 4.9
+ __asan_backtrace_syminfo@Base 4.9
+ __asan_backtrace_uncompress_zdebug@Base 8
+ __asan_backtrace_vector_finish@Base 4.9
+ __asan_backtrace_vector_grow@Base 4.9
+ __asan_backtrace_vector_release@Base 4.9
+ __asan_before_dynamic_init@Base 4.8
+ __asan_cplus_demangle_builtin_types@Base 4.9
+ __asan_cplus_demangle_fill_ctor@Base 4.9
+ __asan_cplus_demangle_fill_dtor@Base 4.9
+ __asan_cplus_demangle_fill_extended_operator@Base 4.9
+ __asan_cplus_demangle_fill_name@Base 4.9
+ __asan_cplus_demangle_init_info@Base 4.9
+ __asan_cplus_demangle_mangled_name@Base 4.9
+ __asan_cplus_demangle_operators@Base 4.9
+ __asan_cplus_demangle_print@Base 4.9
+ __asan_cplus_demangle_print_callback@Base 4.9
+ __asan_cplus_demangle_type@Base 4.9
+ __asan_cplus_demangle_v3@Base 4.9
+ __asan_cplus_demangle_v3_callback@Base 4.9
+ __asan_default_options@Base 8
+ __asan_default_suppressions@Base 8
+ __asan_describe_address@Base 4.8
+ __asan_exp_load16@Base 6.2
+ __asan_exp_load1@Base 6.2
+ __asan_exp_load2@Base 6.2
+ __asan_exp_load4@Base 6.2
+ __asan_exp_load8@Base 6.2
+ __asan_exp_loadN@Base 6.2
+ __asan_exp_store16@Base 6.2
+ __asan_exp_store1@Base 6.2
+ __asan_exp_store2@Base 6.2
+ __asan_exp_store4@Base 6.2
+ __asan_exp_store8@Base 6.2
+ __asan_exp_storeN@Base 6.2
+ __asan_get_alloc_stack@Base 5
+ __asan_get_current_fake_stack@Base 5
+ __asan_get_free_stack@Base 5
+ __asan_get_report_access_size@Base 5
+ __asan_get_report_access_type@Base 5
+ __asan_get_report_address@Base 5
+ __asan_get_report_bp@Base 5
+ __asan_get_report_description@Base 5
+ __asan_get_report_pc@Base 5
+ __asan_get_report_sp@Base 5
+ __asan_get_shadow_mapping@Base 5
+ __asan_handle_no_return@Base 4.8
+ __asan_init@Base 6.2
+ __asan_internal_memcmp@Base 4.9
+ __asan_internal_memcpy@Base 4.9
+ __asan_internal_memset@Base 4.9
+ __asan_internal_strcmp@Base 4.9
+ __asan_internal_strlen@Base 4.9
+ __asan_internal_strncmp@Base 4.9
+ __asan_internal_strnlen@Base 4.9
+ __asan_is_gnu_v3_mangled_ctor@Base 4.9
+ __asan_is_gnu_v3_mangled_dtor@Base 4.9
+ __asan_java_demangle_v3@Base 4.9
+ __asan_java_demangle_v3_callback@Base 4.9
+ __asan_load16@Base 5
+ __asan_load16_noabort@Base 6.2
+ __asan_load1@Base 5
+ __asan_load1_noabort@Base 6.2
+ __asan_load2@Base 5
+ __asan_load2_noabort@Base 6.2
+ __asan_load4@Base 5
+ __asan_load4_noabort@Base 6.2
+ __asan_load8@Base 5
+ __asan_load8_noabort@Base 6.2
+ __asan_loadN@Base 5
+ __asan_loadN_noabort@Base 6.2
+ __asan_load_cxx_array_cookie@Base 5
+ __asan_locate_address@Base 5
+ __asan_memcpy@Base 5
+ __asan_memmove@Base 5
+ __asan_memset@Base 5
+ __asan_on_error@Base 8
+ __asan_option_detect_stack_use_after_return@Base 4.9
+ __asan_poison_cxx_array_cookie@Base 5
+ __asan_poison_intra_object_redzone@Base 5
+ __asan_poison_memory_region@Base 4.8
+ __asan_poison_stack_memory@Base 4.8
+ __asan_print_accumulated_stats@Base 4.8
+ __asan_region_is_poisoned@Base 4.8
+ __asan_register_elf_globals@Base 8
+ __asan_register_globals@Base 4.8
+ __asan_register_image_globals@Base 7
+ __asan_report_error@Base 4.8
+ __asan_report_exp_load16@Base 6.2
+ __asan_report_exp_load1@Base 6.2
+ __asan_report_exp_load2@Base 6.2
+ __asan_report_exp_load4@Base 6.2
+ __asan_report_exp_load8@Base 6.2
+ __asan_report_exp_load_n@Base 6.2
+ __asan_report_exp_store16@Base 6.2
+ __asan_report_exp_store1@Base 6.2
+ __asan_report_exp_store2@Base 6.2
+ __asan_report_exp_store4@Base 6.2
+ __asan_report_exp_store8@Base 6.2
+ __asan_report_exp_store_n@Base 6.2
+ __asan_report_load16@Base 4.8
+ __asan_report_load16_noabort@Base 6.2
+ __asan_report_load1@Base 4.8
+ __asan_report_load1_noabort@Base 6.2
+ __asan_report_load2@Base 4.8
+ __asan_report_load2_noabort@Base 6.2
+ __asan_report_load4@Base 4.8
+ __asan_report_load4_noabort@Base 6.2
+ __asan_report_load8@Base 4.8
+ __asan_report_load8_noabort@Base 6.2
+ __asan_report_load_n@Base 4.8
+ __asan_report_load_n_noabort@Base 6.2
+ __asan_report_present@Base 5
+ __asan_report_store16@Base 4.8
+ __asan_report_store16_noabort@Base 6.2
+ __asan_report_store1@Base 4.8
+ __asan_report_store1_noabort@Base 6.2
+ __asan_report_store2@Base 4.8
+ __asan_report_store2_noabort@Base 6.2
+ __asan_report_store4@Base 4.8
+ __asan_report_store4_noabort@Base 6.2
+ __asan_report_store8@Base 4.8
+ __asan_report_store8_noabort@Base 6.2
+ __asan_report_store_n@Base 4.8
+ __asan_report_store_n_noabort@Base 6.2
+ __asan_rt_version@Base 5
+ __asan_set_death_callback@Base 4.8
+ __asan_set_error_report_callback@Base 4.8
+ __asan_set_shadow_00@Base 7
+ __asan_set_shadow_f1@Base 7
+ __asan_set_shadow_f2@Base 7
+ __asan_set_shadow_f3@Base 7
+ __asan_set_shadow_f5@Base 7
+ __asan_set_shadow_f8@Base 7
+ __asan_shadow_memory_dynamic_address@Base 7
+ __asan_stack_free_0@Base 4.9
+ __asan_stack_free_10@Base 4.9
+ __asan_stack_free_1@Base 4.9
+ __asan_stack_free_2@Base 4.9
+ __asan_stack_free_3@Base 4.9
+ __asan_stack_free_4@Base 4.9
+ __asan_stack_free_5@Base 4.9
+ __asan_stack_free_6@Base 4.9
+ __asan_stack_free_7@Base 4.9
+ __asan_stack_free_8@Base 4.9
+ __asan_stack_free_9@Base 4.9
+ __asan_stack_malloc_0@Base 4.9
+ __asan_stack_malloc_10@Base 4.9
+ __asan_stack_malloc_1@Base 4.9
+ __asan_stack_malloc_2@Base 4.9
+ __asan_stack_malloc_3@Base 4.9
+ __asan_stack_malloc_4@Base 4.9
+ __asan_stack_malloc_5@Base 4.9
+ __asan_stack_malloc_6@Base 4.9
+ __asan_stack_malloc_7@Base 4.9
+ __asan_stack_malloc_8@Base 4.9
+ __asan_stack_malloc_9@Base 4.9
+ __asan_store16@Base 5
+ __asan_store16_noabort@Base 6.2
+ __asan_store1@Base 5
+ __asan_store1_noabort@Base 6.2
+ __asan_store2@Base 5
+ __asan_store2_noabort@Base 6.2
+ __asan_store4@Base 5
+ __asan_store4_noabort@Base 6.2
+ __asan_store8@Base 5
+ __asan_store8_noabort@Base 6.2
+ __asan_storeN@Base 5
+ __asan_storeN_noabort@Base 6.2
+ __asan_test_only_reported_buggy_pointer@Base 5
+ __asan_unpoison_intra_object_redzone@Base 5
+ __asan_unpoison_memory_region@Base 4.8
+ __asan_unpoison_stack_memory@Base 4.8
+ __asan_unregister_elf_globals@Base 8
+ __asan_unregister_globals@Base 4.8
+ __asan_unregister_image_globals@Base 7
+ __asan_version_mismatch_check_v8@Base 7
+ __cxa_atexit@Base 4.9
+ __cxa_throw@Base 4.8
+ __getdelim@Base 5
+ __interceptor___cxa_atexit@Base 4.9
+ __interceptor___cxa_throw@Base 4.8
+ __interceptor___getdelim@Base 5
+ __interceptor___isoc99_fprintf@Base 5
+ __interceptor___isoc99_fscanf@Base 4.8
+ __interceptor___isoc99_printf@Base 5
+ __interceptor___isoc99_scanf@Base 4.8
+ __interceptor___isoc99_snprintf@Base 5
+ __interceptor___isoc99_sprintf@Base 5
+ __interceptor___isoc99_sscanf@Base 4.8
+ __interceptor___isoc99_vfprintf@Base 5
+ __interceptor___isoc99_vfscanf@Base 4.8
+ __interceptor___isoc99_vprintf@Base 5
+ __interceptor___isoc99_vscanf@Base 4.8
+ __interceptor___isoc99_vsnprintf@Base 5
+ __interceptor___isoc99_vsprintf@Base 5
+ __interceptor___isoc99_vsscanf@Base 4.8
+ __interceptor___libc_memalign@Base 4.8
+ __interceptor___longjmp_chk@Base 8
+ __interceptor___lxstat64@Base 7
+ __interceptor___lxstat@Base 7
+ __interceptor___overflow@Base 5
+ __interceptor___strdup@Base 7
+ __interceptor___strndup@Base 8
+ __interceptor___uflow@Base 5
+ __interceptor___underflow@Base 5
+ __interceptor___woverflow@Base 5
+ __interceptor___wuflow@Base 5
+ __interceptor___wunderflow@Base 5
+ __interceptor___xpg_strerror_r@Base 4.9
+ __interceptor___xstat64@Base 7
+ __interceptor___xstat@Base 7
+ __interceptor__exit@Base 4.9
+ __interceptor__longjmp@Base 4.8
+ __interceptor__obstack_begin@Base 5
+ __interceptor__obstack_begin_1@Base 5
+ __interceptor__obstack_newchunk@Base 5
+ __interceptor_accept4@Base 4.9
+ __interceptor_accept@Base 4.9
+ __interceptor_aligned_alloc@Base 5
+ __interceptor_asctime@Base 4.8
+ __interceptor_asctime_r@Base 4.8
+ __interceptor_asprintf@Base 5
+ __interceptor_atoi@Base 4.8
+ __interceptor_atol@Base 4.8
+ __interceptor_atoll@Base 4.8
+ __interceptor_backtrace@Base 4.9
+ __interceptor_backtrace_symbols@Base 4.9
+ __interceptor_calloc@Base 4.8
+ __interceptor_canonicalize_file_name@Base 4.9
+ __interceptor_capget@Base 5
+ __interceptor_capset@Base 5
+ __interceptor_cfree@Base 4.8
+ __interceptor_clock_getres@Base 4.9
+ __interceptor_clock_gettime@Base 4.9
+ __interceptor_clock_settime@Base 4.9
+ __interceptor_confstr@Base 4.9
+ __interceptor_ctermid@Base 7
+ __interceptor_ctime@Base 4.8
+ __interceptor_ctime_r@Base 4.8
+ __interceptor_dlclose@Base 5
+ __interceptor_dlopen@Base 5
+ __interceptor_drand48_r@Base 4.9
+ __interceptor_endgrent@Base 5
+ __interceptor_endpwent@Base 5
+ __interceptor_ether_aton@Base 4.9
+ __interceptor_ether_aton_r@Base 4.9
+ __interceptor_ether_hostton@Base 4.9
+ __interceptor_ether_line@Base 4.9
+ __interceptor_ether_ntoa@Base 4.9
+ __interceptor_ether_ntoa_r@Base 4.9
+ __interceptor_ether_ntohost@Base 4.9
+ __interceptor_eventfd_read@Base 7
+ __interceptor_eventfd_write@Base 7
+ __interceptor_fclose@Base 5
+ __interceptor_fdopen@Base 5
+ __interceptor_fflush@Base 5
+ __interceptor_fgetgrent@Base 5
+ __interceptor_fgetgrent_r@Base 5
+ __interceptor_fgetpwent@Base 5
+ __interceptor_fgetpwent_r@Base 5
+ __interceptor_fgetxattr@Base 5
+ __interceptor_flistxattr@Base 5
+ __interceptor_fmemopen@Base 5
+ __interceptor_fopen64@Base 5
+ __interceptor_fopen@Base 5
+ __interceptor_fopencookie@Base 6.2
+ __interceptor_fork@Base 5
+ __interceptor_fprintf@Base 5
+ __interceptor_fread@Base 8
+ __interceptor_free@Base 4.8
+ __interceptor_freopen64@Base 5
+ __interceptor_freopen@Base 5
+ __interceptor_frexp@Base 4.9
+ __interceptor_frexpf@Base 4.9
+ __interceptor_frexpl@Base 4.9
+ __interceptor_fscanf@Base 4.8
+ __interceptor_fstatfs64@Base 4.9
+ __interceptor_fstatfs@Base 4.9
+ __interceptor_fstatvfs64@Base 4.9
+ __interceptor_fstatvfs@Base 4.9
+ __interceptor_ftime@Base 5
+ __interceptor_fwrite@Base 8
+ __interceptor_get_current_dir_name@Base 4.9
+ __interceptor_getaddrinfo@Base 4.9
+ __interceptor_getcwd@Base 4.9
+ __interceptor_getdelim@Base 4.9
+ __interceptor_getgrent@Base 5
+ __interceptor_getgrent_r@Base 5
+ __interceptor_getgrgid@Base 4.9
+ __interceptor_getgrgid_r@Base 4.9
+ __interceptor_getgrnam@Base 4.9
+ __interceptor_getgrnam_r@Base 4.9
+ __interceptor_getgroups@Base 4.9
+ __interceptor_gethostbyaddr@Base 4.9
+ __interceptor_gethostbyaddr_r@Base 4.9
+ __interceptor_gethostbyname2@Base 4.9
+ __interceptor_gethostbyname2_r@Base 4.9
+ __interceptor_gethostbyname@Base 4.9
+ __interceptor_gethostbyname_r@Base 4.9
+ __interceptor_gethostent@Base 4.9
+ __interceptor_gethostent_r@Base 4.9
+ __interceptor_getifaddrs@Base 5
+ __interceptor_getitimer@Base 4.9
+ __interceptor_getline@Base 4.9
+ __interceptor_getloadavg@Base 8
+ __interceptor_getmntent@Base 4.9
+ __interceptor_getmntent_r@Base 4.9
+ __interceptor_getnameinfo@Base 4.9
+ __interceptor_getpass@Base 5
+ __interceptor_getpeername@Base 4.9
+ __interceptor_getpwent@Base 5
+ __interceptor_getpwent_r@Base 5
+ __interceptor_getpwnam@Base 4.9
+ __interceptor_getpwnam_r@Base 4.9
+ __interceptor_getpwuid@Base 4.9
+ __interceptor_getpwuid_r@Base 4.9
+ __interceptor_getresgid@Base 5
+ __interceptor_getresuid@Base 5
+ __interceptor_getsockname@Base 4.9
+ __interceptor_getsockopt@Base 4.9
+ __interceptor_getutent@Base 8
+ __interceptor_getutid@Base 8
+ __interceptor_getutline@Base 8
+ __interceptor_getutxent@Base 8
+ __interceptor_getutxid@Base 8
+ __interceptor_getutxline@Base 8
+ __interceptor_getxattr@Base 5
+ __interceptor_glob64@Base 4.9
+ __interceptor_glob@Base 4.9
+ __interceptor_gmtime@Base 4.8
+ __interceptor_gmtime_r@Base 4.8
+ __interceptor_iconv@Base 4.9
+ __interceptor_if_indextoname@Base 5
+ __interceptor_if_nametoindex@Base 5
+ __interceptor_index@Base 4.8
+ __interceptor_inet_aton@Base 4.9
+ __interceptor_inet_ntop@Base 4.9
+ __interceptor_inet_pton@Base 4.9
+ __interceptor_initgroups@Base 4.9
+ __interceptor_ioctl@Base 4.9
+ __interceptor_lgamma@Base 4.9
+ __interceptor_lgamma_r@Base 4.9
+ __interceptor_lgammaf@Base 4.9
+ __interceptor_lgammaf_r@Base 4.9
+ __interceptor_lgammal@Base 4.9
+ __interceptor_lgammal_r@Base 4.9
+ __interceptor_lgetxattr@Base 5
+ __interceptor_listxattr@Base 5
+ __interceptor_llistxattr@Base 5
+ __interceptor_localtime@Base 4.8
+ __interceptor_localtime_r@Base 4.8
+ __interceptor_longjmp@Base 4.8
+ __interceptor_lrand48_r@Base 4.9
+ __interceptor_mallinfo@Base 4.8
+ __interceptor_malloc@Base 4.8
+ __interceptor_malloc_stats@Base 4.8
+ __interceptor_malloc_usable_size@Base 4.8
+ __interceptor_mallopt@Base 4.8
+ __interceptor_mbsnrtowcs@Base 4.9
+ __interceptor_mbsrtowcs@Base 4.9
+ __interceptor_mbstowcs@Base 4.9
+ __interceptor_mcheck@Base 8
+ __interceptor_mcheck_pedantic@Base 8
+ __interceptor_memalign@Base 4.8
+ __interceptor_memchr@Base 5
+ __interceptor_memcmp@Base 4.8
+ __interceptor_memcpy@Base 4.8
+ __interceptor_memmem@Base 7
+ __interceptor_memmove@Base 4.8
+ __interceptor_memrchr@Base 5
+ __interceptor_memset@Base 4.8
+ __interceptor_mincore@Base 6.2
+ __interceptor_mktime@Base 5
+ __interceptor_mlock@Base 4.8
+ __interceptor_mlockall@Base 4.8
+ __interceptor_modf@Base 4.9
+ __interceptor_modff@Base 4.9
+ __interceptor_modfl@Base 4.9
+ __interceptor_mprobe@Base 8
+ __interceptor_munlock@Base 4.8
+ __interceptor_munlockall@Base 4.8
+ __interceptor_open_memstream@Base 5
+ __interceptor_open_wmemstream@Base 5
+ __interceptor_opendir@Base 6.2
+ __interceptor_poll@Base 4.9
+ __interceptor_posix_memalign@Base 4.8
+ __interceptor_ppoll@Base 4.9
+ __interceptor_prctl@Base 4.8
+ __interceptor_pread64@Base 4.8
+ __interceptor_pread@Base 4.8
+ __interceptor_preadv64@Base 4.9
+ __interceptor_preadv@Base 4.9
+ __interceptor_printf@Base 5
+ __interceptor_process_vm_readv@Base 6.2
+ __interceptor_process_vm_writev@Base 6.2
+ __interceptor_pthread_attr_getaffinity_np@Base 4.9
+ __interceptor_pthread_attr_getdetachstate@Base 4.9
+ __interceptor_pthread_attr_getguardsize@Base 4.9
+ __interceptor_pthread_attr_getinheritsched@Base 4.9
+ __interceptor_pthread_attr_getschedparam@Base 4.9
+ __interceptor_pthread_attr_getschedpolicy@Base 4.9
+ __interceptor_pthread_attr_getscope@Base 4.9
+ __interceptor_pthread_attr_getstack@Base 4.9
+ __interceptor_pthread_attr_getstacksize@Base 4.9
+ __interceptor_pthread_barrierattr_getpshared@Base 5
+ __interceptor_pthread_condattr_getclock@Base 5
+ __interceptor_pthread_condattr_getpshared@Base 5
+ __interceptor_pthread_create@Base 4.8
+ __interceptor_pthread_getschedparam@Base 4.9
+ __interceptor_pthread_join@Base 6.2
+ __interceptor_pthread_mutex_lock@Base 4.9
+ __interceptor_pthread_mutex_unlock@Base 4.9
+ __interceptor_pthread_mutexattr_getprioceiling@Base 5
+ __interceptor_pthread_mutexattr_getprotocol@Base 5
+ __interceptor_pthread_mutexattr_getpshared@Base 5
+ __interceptor_pthread_mutexattr_getrobust@Base 5
+ __interceptor_pthread_mutexattr_getrobust_np@Base 5
+ __interceptor_pthread_mutexattr_gettype@Base 5
+ __interceptor_pthread_rwlockattr_getkind_np@Base 5
+ __interceptor_pthread_rwlockattr_getpshared@Base 5
+ __interceptor_pthread_setcancelstate@Base 6.2
+ __interceptor_pthread_setcanceltype@Base 6.2
+ __interceptor_pthread_setname_np@Base 4.9
+ __interceptor_pvalloc@Base 4.8
+ __interceptor_pwrite64@Base 4.8
+ __interceptor_pwrite@Base 4.8
+ __interceptor_pwritev64@Base 4.9
+ __interceptor_pwritev@Base 4.9
+ __interceptor_rand_r@Base 5
+ __interceptor_random_r@Base 4.9
+ __interceptor_read@Base 4.8
+ __interceptor_readdir64@Base 4.9
+ __interceptor_readdir64_r@Base 4.9
+ __interceptor_readdir@Base 4.9
+ __interceptor_readdir_r@Base 4.9
+ __interceptor_readv@Base 4.9
+ __interceptor_realloc@Base 4.8
+ __interceptor_realpath@Base 4.9
+ __interceptor_recv@Base 7
+ __interceptor_recvfrom@Base 7
+ __interceptor_recvmsg@Base 4.9
+ __interceptor_remquo@Base 4.9
+ __interceptor_remquof@Base 4.9
+ __interceptor_remquol@Base 4.9
+ __interceptor_scandir64@Base 4.9
+ __interceptor_scandir@Base 4.9
+ __interceptor_scanf@Base 4.8
+ __interceptor_sched_getaffinity@Base 4.9
+ __interceptor_sched_getparam@Base 6.2
+ __interceptor_sem_destroy@Base 6.2
+ __interceptor_sem_getvalue@Base 6.2
+ __interceptor_sem_init@Base 6.2
+ __interceptor_sem_post@Base 6.2
+ __interceptor_sem_timedwait@Base 6.2
+ __interceptor_sem_trywait@Base 6.2
+ __interceptor_sem_wait@Base 6.2
+ __interceptor_send@Base 7
+ __interceptor_sendmsg@Base 7
+ __interceptor_sendto@Base 7
+ __interceptor_setgrent@Base 5
+ __interceptor_setitimer@Base 4.9
+ __interceptor_setlocale@Base 4.9
+ __interceptor_setpwent@Base 5
+ __interceptor_sigaction@Base 4.8
+ __interceptor_sigemptyset@Base 4.9
+ __interceptor_sigfillset@Base 4.9
+ __interceptor_siglongjmp@Base 4.8
+ __interceptor_signal@Base 4.8
+ __interceptor_sigpending@Base 4.9
+ __interceptor_sigprocmask@Base 4.9
+ __interceptor_sigtimedwait@Base 4.9
+ __interceptor_sigwait@Base 4.9
+ __interceptor_sigwaitinfo@Base 4.9
+ __interceptor_sincos@Base 4.9
+ __interceptor_sincosf@Base 4.9
+ __interceptor_sincosl@Base 4.9
+ __interceptor_snprintf@Base 5
+ __interceptor_sprintf@Base 5
+ __interceptor_sscanf@Base 4.8
+ __interceptor_statfs64@Base 4.9
+ __interceptor_statfs@Base 4.9
+ __interceptor_statvfs64@Base 4.9
+ __interceptor_statvfs@Base 4.9
+ __interceptor_strcasecmp@Base 4.8
+ __interceptor_strcasestr@Base 6.2
+ __interceptor_strcat@Base 4.8
+ __interceptor_strchr@Base 4.8
+ __interceptor_strchrnul@Base 7
+ __interceptor_strcmp@Base 4.8
+ __interceptor_strcpy@Base 4.8
+ __interceptor_strcspn@Base 6.2
+ __interceptor_strdup@Base 4.8
+ __interceptor_strerror@Base 4.9
+ __interceptor_strerror_r@Base 4.9
+ __interceptor_strlen@Base 4.8
+ __interceptor_strncasecmp@Base 4.8
+ __interceptor_strncat@Base 4.8
+ __interceptor_strncmp@Base 4.8
+ __interceptor_strncpy@Base 4.8
+ __interceptor_strndup@Base 8
+ __interceptor_strnlen@Base 4.8
+ __interceptor_strpbrk@Base 6.2
+ __interceptor_strptime@Base 4.9
+ __interceptor_strrchr@Base 7
+ __interceptor_strspn@Base 6.2
+ __interceptor_strstr@Base 6.2
+ __interceptor_strtoimax@Base 4.9
+ __interceptor_strtok@Base 8
+ __interceptor_strtol@Base 4.8
+ __interceptor_strtoll@Base 4.8
+ __interceptor_strtoumax@Base 4.9
+ __interceptor_swapcontext@Base 4.8
+ __interceptor_sysinfo@Base 4.9
+ __interceptor_tcgetattr@Base 4.9
+ __interceptor_tempnam@Base 4.9
+ __interceptor_textdomain@Base 4.9
+ __interceptor_time@Base 4.9
+ __interceptor_timerfd_gettime@Base 5
+ __interceptor_timerfd_settime@Base 5
+ __interceptor_times@Base 4.9
+ __interceptor_tmpnam@Base 4.9
+ __interceptor_tmpnam_r@Base 4.9
+ __interceptor_tsearch@Base 5
+ __interceptor_ttyname_r@Base 7
+ __interceptor_valloc@Base 4.8
+ __interceptor_vasprintf@Base 5
+ __interceptor_vfprintf@Base 5
+ __interceptor_vfscanf@Base 4.8
+ __interceptor_vprintf@Base 5
+ __interceptor_vscanf@Base 4.8
+ __interceptor_vsnprintf@Base 5
+ __interceptor_vsprintf@Base 5
+ __interceptor_vsscanf@Base 4.8
+ __interceptor_wait3@Base 4.9
+ __interceptor_wait4@Base 4.9
+ __interceptor_wait@Base 4.9
+ __interceptor_waitid@Base 4.9
+ __interceptor_waitpid@Base 4.9
+ __interceptor_wcrtomb@Base 6.2
+ __interceptor_wcscat@Base 8
+ __interceptor_wcslen@Base 4.9
+ __interceptor_wcsncat@Base 8
+ __interceptor_wcsnlen@Base 8
+ __interceptor_wcsnrtombs@Base 4.9
+ __interceptor_wcsrtombs@Base 4.9
+ __interceptor_wcstombs@Base 4.9
+ __interceptor_wordexp@Base 4.9
+ __interceptor_write@Base 4.8
+ __interceptor_writev@Base 4.9
+ __interceptor_xdr_bool@Base 5
+ __interceptor_xdr_bytes@Base 5
+ __interceptor_xdr_char@Base 5
+ __interceptor_xdr_double@Base 5
+ __interceptor_xdr_enum@Base 5
+ __interceptor_xdr_float@Base 5
+ __interceptor_xdr_hyper@Base 5
+ __interceptor_xdr_int16_t@Base 5
+ __interceptor_xdr_int32_t@Base 5
+ __interceptor_xdr_int64_t@Base 5
+ __interceptor_xdr_int8_t@Base 5
+ __interceptor_xdr_int@Base 5
+ __interceptor_xdr_long@Base 5
+ __interceptor_xdr_longlong_t@Base 5
+ __interceptor_xdr_quad_t@Base 5
+ __interceptor_xdr_short@Base 5
+ __interceptor_xdr_string@Base 5
+ __interceptor_xdr_u_char@Base 5
+ __interceptor_xdr_u_hyper@Base 5
+ __interceptor_xdr_u_int@Base 5
+ __interceptor_xdr_u_long@Base 5
+ __interceptor_xdr_u_longlong_t@Base 5
+ __interceptor_xdr_u_quad_t@Base 5
+ __interceptor_xdr_u_short@Base 5
+ __interceptor_xdr_uint16_t@Base 5
+ __interceptor_xdr_uint32_t@Base 5
+ __interceptor_xdr_uint64_t@Base 5
+ __interceptor_xdr_uint8_t@Base 5
+ __interceptor_xdrmem_create@Base 5
+ __interceptor_xdrstdio_create@Base 5
+ __isoc99_fprintf@Base 5
+ __isoc99_fscanf@Base 4.8
+ __isoc99_printf@Base 5
+ __isoc99_scanf@Base 4.8
+ __isoc99_snprintf@Base 5
+ __isoc99_sprintf@Base 5
+ __isoc99_sscanf@Base 4.8
+ __isoc99_vfprintf@Base 5
+ __isoc99_vfscanf@Base 4.8
+ __isoc99_vprintf@Base 5
+ __isoc99_vscanf@Base 4.8
+ __isoc99_vsnprintf@Base 5
+ __isoc99_vsprintf@Base 5
+ __isoc99_vsscanf@Base 4.8
+ __libc_memalign@Base 4.8
+ __longjmp_chk@Base 8
+ __lsan_disable@Base 4.9
+ __lsan_do_leak_check@Base 4.9
+ __lsan_do_recoverable_leak_check@Base 6.2
+ __lsan_enable@Base 4.9
+ __lsan_ignore_object@Base 4.9
+ __lsan_register_root_region@Base 5
+ __lsan_unregister_root_region@Base 5
+ __lxstat64@Base 7
+ __lxstat@Base 7
+ __overflow@Base 5
+ __sancov_default_options@Base 8
+ __sancov_lowest_stack@Base 8
+ __sanitizer_annotate_contiguous_container@Base 4.9
+ __sanitizer_contiguous_container_find_bad_address@Base 6.2
+ __sanitizer_cov_8bit_counters_init@Base 8
+ __sanitizer_cov_dump@Base 4.9
+ __sanitizer_cov_pcs_init@Base 8
+ __sanitizer_cov_reset@Base 8
+ __sanitizer_cov_trace_cmp1@Base 7
+ __sanitizer_cov_trace_cmp2@Base 7
+ __sanitizer_cov_trace_cmp4@Base 7
+ __sanitizer_cov_trace_cmp8@Base 7
+ __sanitizer_cov_trace_cmp@Base 6.2
+ __sanitizer_cov_trace_const_cmp1@Base 8
+ __sanitizer_cov_trace_const_cmp2@Base 8
+ __sanitizer_cov_trace_const_cmp4@Base 8
+ __sanitizer_cov_trace_const_cmp8@Base 8
+ __sanitizer_cov_trace_div4@Base 7
+ __sanitizer_cov_trace_div8@Base 7
+ __sanitizer_cov_trace_gep@Base 7
+ __sanitizer_cov_trace_pc_guard@Base 7
+ __sanitizer_cov_trace_pc_guard_init@Base 7
+ __sanitizer_cov_trace_pc_indir@Base 7
+ __sanitizer_cov_trace_switch@Base 6.2
+ __sanitizer_dump_coverage@Base 8
+ __sanitizer_dump_trace_pc_guard_coverage@Base 8
+ __sanitizer_finish_switch_fiber@Base 7
+ __sanitizer_get_allocated_size@Base 5
+ __sanitizer_get_current_allocated_bytes@Base 5
+ __sanitizer_get_estimated_allocated_size@Base 5
+ __sanitizer_get_free_bytes@Base 5
+ __sanitizer_get_heap_size@Base 5
+ __sanitizer_get_module_and_offset_for_pc@Base 8
+ __sanitizer_get_ownership@Base 5
+ __sanitizer_get_unmapped_bytes@Base 5
+ __sanitizer_install_malloc_and_free_hooks@Base 7
+ __sanitizer_print_memory_profile@Base 8
+ __sanitizer_print_stack_trace@Base 4.9
+ __sanitizer_ptr_cmp@Base 5
+ __sanitizer_ptr_sub@Base 5
+ __sanitizer_report_error_summary@Base 4.8
+ __sanitizer_sandbox_on_notify@Base 4.8
+ __sanitizer_set_death_callback@Base 6.2
+ __sanitizer_set_report_fd@Base 7
+ __sanitizer_set_report_path@Base 4.8
+ __sanitizer_start_switch_fiber@Base 7
+ __sanitizer_symbolize_global@Base 7
+ __sanitizer_symbolize_pc@Base 7
+ __sanitizer_syscall_post_impl_accept4@Base 4.9
+ __sanitizer_syscall_post_impl_accept@Base 4.9
+ __sanitizer_syscall_post_impl_access@Base 4.9
+ __sanitizer_syscall_post_impl_acct@Base 4.9
+ __sanitizer_syscall_post_impl_add_key@Base 4.9
+ __sanitizer_syscall_post_impl_adjtimex@Base 4.9
+ __sanitizer_syscall_post_impl_alarm@Base 4.9
+ __sanitizer_syscall_post_impl_bdflush@Base 4.9
+ __sanitizer_syscall_post_impl_bind@Base 4.9
+ __sanitizer_syscall_post_impl_brk@Base 4.9
+ __sanitizer_syscall_post_impl_capget@Base 4.9
+ __sanitizer_syscall_post_impl_capset@Base 4.9
+ __sanitizer_syscall_post_impl_chdir@Base 4.9
+ __sanitizer_syscall_post_impl_chmod@Base 4.9
+ __sanitizer_syscall_post_impl_chown@Base 4.9
+ __sanitizer_syscall_post_impl_chroot@Base 4.9
+ __sanitizer_syscall_post_impl_clock_adjtime@Base 4.9
+ __sanitizer_syscall_post_impl_clock_getres@Base 4.9
+ __sanitizer_syscall_post_impl_clock_gettime@Base 4.9
+ __sanitizer_syscall_post_impl_clock_nanosleep@Base 4.9
+ __sanitizer_syscall_post_impl_clock_settime@Base 4.9
+ __sanitizer_syscall_post_impl_close@Base 4.9
+ __sanitizer_syscall_post_impl_connect@Base 4.9
+ __sanitizer_syscall_post_impl_creat@Base 4.9
+ __sanitizer_syscall_post_impl_delete_module@Base 4.9
+ __sanitizer_syscall_post_impl_dup2@Base 4.9
+ __sanitizer_syscall_post_impl_dup3@Base 4.9
+ __sanitizer_syscall_post_impl_dup@Base 4.9
+ __sanitizer_syscall_post_impl_epoll_create1@Base 4.9
+ __sanitizer_syscall_post_impl_epoll_create@Base 4.9
+ __sanitizer_syscall_post_impl_epoll_ctl@Base 4.9
+ __sanitizer_syscall_post_impl_epoll_pwait@Base 4.9
+ __sanitizer_syscall_post_impl_epoll_wait@Base 4.9
+ __sanitizer_syscall_post_impl_eventfd2@Base 4.9
+ __sanitizer_syscall_post_impl_eventfd@Base 4.9
+ __sanitizer_syscall_post_impl_exit@Base 4.9
+ __sanitizer_syscall_post_impl_exit_group@Base 4.9
+ __sanitizer_syscall_post_impl_faccessat@Base 4.9
+ __sanitizer_syscall_post_impl_fchdir@Base 4.9
+ __sanitizer_syscall_post_impl_fchmod@Base 4.9
+ __sanitizer_syscall_post_impl_fchmodat@Base 4.9
+ __sanitizer_syscall_post_impl_fchown@Base 4.9
+ __sanitizer_syscall_post_impl_fchownat@Base 4.9
+ __sanitizer_syscall_post_impl_fcntl64@Base 4.9
+ __sanitizer_syscall_post_impl_fcntl@Base 4.9
+ __sanitizer_syscall_post_impl_fdatasync@Base 4.9
+ __sanitizer_syscall_post_impl_fgetxattr@Base 4.9
+ __sanitizer_syscall_post_impl_flistxattr@Base 4.9
+ __sanitizer_syscall_post_impl_flock@Base 4.9
+ __sanitizer_syscall_post_impl_fork@Base 4.9
+ __sanitizer_syscall_post_impl_fremovexattr@Base 4.9
+ __sanitizer_syscall_post_impl_fsetxattr@Base 4.9
+ __sanitizer_syscall_post_impl_fstat64@Base 4.9
+ __sanitizer_syscall_post_impl_fstat@Base 4.9
+ __sanitizer_syscall_post_impl_fstatat64@Base 4.9
+ __sanitizer_syscall_post_impl_fstatfs64@Base 4.9
+ __sanitizer_syscall_post_impl_fstatfs@Base 4.9
+ __sanitizer_syscall_post_impl_fsync@Base 4.9
+ __sanitizer_syscall_post_impl_ftruncate@Base 4.9
+ __sanitizer_syscall_post_impl_futimesat@Base 4.9
+ __sanitizer_syscall_post_impl_get_mempolicy@Base 4.9
+ __sanitizer_syscall_post_impl_get_robust_list@Base 4.9
+ __sanitizer_syscall_post_impl_getcpu@Base 4.9
+ __sanitizer_syscall_post_impl_getcwd@Base 4.9
+ __sanitizer_syscall_post_impl_getdents64@Base 4.9
+ __sanitizer_syscall_post_impl_getdents@Base 4.9
+ __sanitizer_syscall_post_impl_getegid@Base 4.9
+ __sanitizer_syscall_post_impl_geteuid@Base 4.9
+ __sanitizer_syscall_post_impl_getgid@Base 4.9
+ __sanitizer_syscall_post_impl_getgroups@Base 4.9
+ __sanitizer_syscall_post_impl_gethostname@Base 4.9
+ __sanitizer_syscall_post_impl_getitimer@Base 4.9
+ __sanitizer_syscall_post_impl_getpeername@Base 4.9
+ __sanitizer_syscall_post_impl_getpgid@Base 4.9
+ __sanitizer_syscall_post_impl_getpgrp@Base 4.9
+ __sanitizer_syscall_post_impl_getpid@Base 4.9
+ __sanitizer_syscall_post_impl_getppid@Base 4.9
+ __sanitizer_syscall_post_impl_getpriority@Base 4.9
+ __sanitizer_syscall_post_impl_getresgid@Base 4.9
+ __sanitizer_syscall_post_impl_getresuid@Base 4.9
+ __sanitizer_syscall_post_impl_getrlimit@Base 4.9
+ __sanitizer_syscall_post_impl_getrusage@Base 4.9
+ __sanitizer_syscall_post_impl_getsid@Base 4.9
+ __sanitizer_syscall_post_impl_getsockname@Base 4.9
+ __sanitizer_syscall_post_impl_getsockopt@Base 4.9
+ __sanitizer_syscall_post_impl_gettid@Base 4.9
+ __sanitizer_syscall_post_impl_gettimeofday@Base 4.9
+ __sanitizer_syscall_post_impl_getuid@Base 4.9
+ __sanitizer_syscall_post_impl_getxattr@Base 4.9
+ __sanitizer_syscall_post_impl_init_module@Base 4.9
+ __sanitizer_syscall_post_impl_inotify_add_watch@Base 4.9
+ __sanitizer_syscall_post_impl_inotify_init1@Base 4.9
+ __sanitizer_syscall_post_impl_inotify_init@Base 4.9
+ __sanitizer_syscall_post_impl_inotify_rm_watch@Base 4.9
+ __sanitizer_syscall_post_impl_io_cancel@Base 4.9
+ __sanitizer_syscall_post_impl_io_destroy@Base 4.9
+ __sanitizer_syscall_post_impl_io_getevents@Base 4.9
+ __sanitizer_syscall_post_impl_io_setup@Base 4.9
+ __sanitizer_syscall_post_impl_io_submit@Base 4.9
+ __sanitizer_syscall_post_impl_ioctl@Base 4.9
+ __sanitizer_syscall_post_impl_ioperm@Base 4.9
+ __sanitizer_syscall_post_impl_ioprio_get@Base 4.9
+ __sanitizer_syscall_post_impl_ioprio_set@Base 4.9
+ __sanitizer_syscall_post_impl_ipc@Base 4.9
+ __sanitizer_syscall_post_impl_kexec_load@Base 4.9
+ __sanitizer_syscall_post_impl_keyctl@Base 4.9
+ __sanitizer_syscall_post_impl_kill@Base 4.9
+ __sanitizer_syscall_post_impl_lchown@Base 4.9
+ __sanitizer_syscall_post_impl_lgetxattr@Base 4.9
+ __sanitizer_syscall_post_impl_link@Base 4.9
+ __sanitizer_syscall_post_impl_linkat@Base 4.9
+ __sanitizer_syscall_post_impl_listen@Base 4.9
+ __sanitizer_syscall_post_impl_listxattr@Base 4.9
+ __sanitizer_syscall_post_impl_llistxattr@Base 4.9
+ __sanitizer_syscall_post_impl_llseek@Base 4.9
+ __sanitizer_syscall_post_impl_lookup_dcookie@Base 4.9
+ __sanitizer_syscall_post_impl_lremovexattr@Base 4.9
+ __sanitizer_syscall_post_impl_lseek@Base 4.9
+ __sanitizer_syscall_post_impl_lsetxattr@Base 4.9
+ __sanitizer_syscall_post_impl_lstat64@Base 4.9
+ __sanitizer_syscall_post_impl_lstat@Base 4.9
+ __sanitizer_syscall_post_impl_madvise@Base 4.9
+ __sanitizer_syscall_post_impl_mbind@Base 4.9
+ __sanitizer_syscall_post_impl_migrate_pages@Base 4.9
+ __sanitizer_syscall_post_impl_mincore@Base 4.9
+ __sanitizer_syscall_post_impl_mkdir@Base 4.9
+ __sanitizer_syscall_post_impl_mkdirat@Base 4.9
+ __sanitizer_syscall_post_impl_mknod@Base 4.9
+ __sanitizer_syscall_post_impl_mknodat@Base 4.9
+ __sanitizer_syscall_post_impl_mlock@Base 4.9
+ __sanitizer_syscall_post_impl_mlockall@Base 4.9
+ __sanitizer_syscall_post_impl_mmap_pgoff@Base 4.9
+ __sanitizer_syscall_post_impl_mount@Base 4.9
+ __sanitizer_syscall_post_impl_move_pages@Base 4.9
+ __sanitizer_syscall_post_impl_mprotect@Base 4.9
+ __sanitizer_syscall_post_impl_mq_getsetattr@Base 4.9
+ __sanitizer_syscall_post_impl_mq_notify@Base 4.9
+ __sanitizer_syscall_post_impl_mq_open@Base 4.9
+ __sanitizer_syscall_post_impl_mq_timedreceive@Base 4.9
+ __sanitizer_syscall_post_impl_mq_timedsend@Base 4.9
+ __sanitizer_syscall_post_impl_mq_unlink@Base 4.9
+ __sanitizer_syscall_post_impl_mremap@Base 4.9
+ __sanitizer_syscall_post_impl_msgctl@Base 4.9
+ __sanitizer_syscall_post_impl_msgget@Base 4.9
+ __sanitizer_syscall_post_impl_msgrcv@Base 4.9
+ __sanitizer_syscall_post_impl_msgsnd@Base 4.9
+ __sanitizer_syscall_post_impl_msync@Base 4.9
+ __sanitizer_syscall_post_impl_munlock@Base 4.9
+ __sanitizer_syscall_post_impl_munlockall@Base 4.9
+ __sanitizer_syscall_post_impl_munmap@Base 4.9
+ __sanitizer_syscall_post_impl_name_to_handle_at@Base 4.9
+ __sanitizer_syscall_post_impl_nanosleep@Base 4.9
+ __sanitizer_syscall_post_impl_newfstat@Base 4.9
+ __sanitizer_syscall_post_impl_newfstatat@Base 4.9
+ __sanitizer_syscall_post_impl_newlstat@Base 4.9
+ __sanitizer_syscall_post_impl_newstat@Base 4.9
+ __sanitizer_syscall_post_impl_newuname@Base 4.9
+ __sanitizer_syscall_post_impl_ni_syscall@Base 4.9
+ __sanitizer_syscall_post_impl_nice@Base 4.9
+ __sanitizer_syscall_post_impl_old_getrlimit@Base 4.9
+ __sanitizer_syscall_post_impl_old_mmap@Base 4.9
+ __sanitizer_syscall_post_impl_old_readdir@Base 4.9
+ __sanitizer_syscall_post_impl_old_select@Base 4.9
+ __sanitizer_syscall_post_impl_oldumount@Base 4.9
+ __sanitizer_syscall_post_impl_olduname@Base 4.9
+ __sanitizer_syscall_post_impl_open@Base 4.9
+ __sanitizer_syscall_post_impl_open_by_handle_at@Base 4.9
+ __sanitizer_syscall_post_impl_openat@Base 4.9
+ __sanitizer_syscall_post_impl_pause@Base 4.9
+ __sanitizer_syscall_post_impl_pciconfig_iobase@Base 4.9
+ __sanitizer_syscall_post_impl_pciconfig_read@Base 4.9
+ __sanitizer_syscall_post_impl_pciconfig_write@Base 4.9
+ __sanitizer_syscall_post_impl_perf_event_open@Base 4.9
+ __sanitizer_syscall_post_impl_personality@Base 4.9
+ __sanitizer_syscall_post_impl_pipe2@Base 4.9
+ __sanitizer_syscall_post_impl_pipe@Base 4.9
+ __sanitizer_syscall_post_impl_pivot_root@Base 4.9
+ __sanitizer_syscall_post_impl_poll@Base 4.9
+ __sanitizer_syscall_post_impl_ppoll@Base 4.9
+ __sanitizer_syscall_post_impl_pread64@Base 4.9
+ __sanitizer_syscall_post_impl_preadv@Base 4.9
+ __sanitizer_syscall_post_impl_prlimit64@Base 4.9
+ __sanitizer_syscall_post_impl_process_vm_readv@Base 4.9
+ __sanitizer_syscall_post_impl_process_vm_writev@Base 4.9
+ __sanitizer_syscall_post_impl_pselect6@Base 4.9
+ __sanitizer_syscall_post_impl_ptrace@Base 4.9
+ __sanitizer_syscall_post_impl_pwrite64@Base 4.9
+ __sanitizer_syscall_post_impl_pwritev@Base 4.9
+ __sanitizer_syscall_post_impl_quotactl@Base 4.9
+ __sanitizer_syscall_post_impl_read@Base 4.9
+ __sanitizer_syscall_post_impl_readlink@Base 4.9
+ __sanitizer_syscall_post_impl_readlinkat@Base 4.9
+ __sanitizer_syscall_post_impl_readv@Base 4.9
+ __sanitizer_syscall_post_impl_reboot@Base 4.9
+ __sanitizer_syscall_post_impl_recv@Base 4.9
+ __sanitizer_syscall_post_impl_recvfrom@Base 4.9
+ __sanitizer_syscall_post_impl_recvmmsg@Base 4.9
+ __sanitizer_syscall_post_impl_recvmsg@Base 4.9
+ __sanitizer_syscall_post_impl_remap_file_pages@Base 4.9
+ __sanitizer_syscall_post_impl_removexattr@Base 4.9
+ __sanitizer_syscall_post_impl_rename@Base 4.9
+ __sanitizer_syscall_post_impl_renameat@Base 4.9
+ __sanitizer_syscall_post_impl_request_key@Base 4.9
+ __sanitizer_syscall_post_impl_restart_syscall@Base 4.9
+ __sanitizer_syscall_post_impl_rmdir@Base 4.9
+ __sanitizer_syscall_post_impl_rt_sigaction@Base 7
+ __sanitizer_syscall_post_impl_rt_sigpending@Base 4.9
+ __sanitizer_syscall_post_impl_rt_sigprocmask@Base 4.9
+ __sanitizer_syscall_post_impl_rt_sigqueueinfo@Base 4.9
+ __sanitizer_syscall_post_impl_rt_sigtimedwait@Base 4.9
+ __sanitizer_syscall_post_impl_rt_tgsigqueueinfo@Base 4.9
+ __sanitizer_syscall_post_impl_sched_get_priority_max@Base 4.9
+ __sanitizer_syscall_post_impl_sched_get_priority_min@Base 4.9
+ __sanitizer_syscall_post_impl_sched_getaffinity@Base 4.9
+ __sanitizer_syscall_post_impl_sched_getparam@Base 4.9
+ __sanitizer_syscall_post_impl_sched_getscheduler@Base 4.9
+ __sanitizer_syscall_post_impl_sched_rr_get_interval@Base 4.9
+ __sanitizer_syscall_post_impl_sched_setaffinity@Base 4.9
+ __sanitizer_syscall_post_impl_sched_setparam@Base 4.9
+ __sanitizer_syscall_post_impl_sched_setscheduler@Base 4.9
+ __sanitizer_syscall_post_impl_sched_yield@Base 4.9
+ __sanitizer_syscall_post_impl_select@Base 4.9
+ __sanitizer_syscall_post_impl_semctl@Base 4.9
+ __sanitizer_syscall_post_impl_semget@Base 4.9
+ __sanitizer_syscall_post_impl_semop@Base 4.9
+ __sanitizer_syscall_post_impl_semtimedop@Base 4.9
+ __sanitizer_syscall_post_impl_send@Base 4.9
+ __sanitizer_syscall_post_impl_sendfile64@Base 4.9
+ __sanitizer_syscall_post_impl_sendfile@Base 4.9
+ __sanitizer_syscall_post_impl_sendmmsg@Base 4.9
+ __sanitizer_syscall_post_impl_sendmsg@Base 4.9
+ __sanitizer_syscall_post_impl_sendto@Base 4.9
+ __sanitizer_syscall_post_impl_set_mempolicy@Base 4.9
+ __sanitizer_syscall_post_impl_set_robust_list@Base 4.9
+ __sanitizer_syscall_post_impl_set_tid_address@Base 4.9
+ __sanitizer_syscall_post_impl_setdomainname@Base 4.9
+ __sanitizer_syscall_post_impl_setfsgid@Base 4.9
+ __sanitizer_syscall_post_impl_setfsuid@Base 4.9
+ __sanitizer_syscall_post_impl_setgid@Base 4.9
+ __sanitizer_syscall_post_impl_setgroups@Base 4.9
+ __sanitizer_syscall_post_impl_sethostname@Base 4.9
+ __sanitizer_syscall_post_impl_setitimer@Base 4.9
+ __sanitizer_syscall_post_impl_setns@Base 4.9
+ __sanitizer_syscall_post_impl_setpgid@Base 4.9
+ __sanitizer_syscall_post_impl_setpriority@Base 4.9
+ __sanitizer_syscall_post_impl_setregid@Base 4.9
+ __sanitizer_syscall_post_impl_setresgid@Base 4.9
+ __sanitizer_syscall_post_impl_setresuid@Base 4.9
+ __sanitizer_syscall_post_impl_setreuid@Base 4.9
+ __sanitizer_syscall_post_impl_setrlimit@Base 4.9
+ __sanitizer_syscall_post_impl_setsid@Base 4.9
+ __sanitizer_syscall_post_impl_setsockopt@Base 4.9
+ __sanitizer_syscall_post_impl_settimeofday@Base 4.9
+ __sanitizer_syscall_post_impl_setuid@Base 4.9
+ __sanitizer_syscall_post_impl_setxattr@Base 4.9
+ __sanitizer_syscall_post_impl_sgetmask@Base 4.9
+ __sanitizer_syscall_post_impl_shmat@Base 4.9
+ __sanitizer_syscall_post_impl_shmctl@Base 4.9
+ __sanitizer_syscall_post_impl_shmdt@Base 4.9
+ __sanitizer_syscall_post_impl_shmget@Base 4.9
+ __sanitizer_syscall_post_impl_shutdown@Base 4.9
+ __sanitizer_syscall_post_impl_sigaction@Base 7
+ __sanitizer_syscall_post_impl_signal@Base 4.9
+ __sanitizer_syscall_post_impl_signalfd4@Base 4.9
+ __sanitizer_syscall_post_impl_signalfd@Base 4.9
+ __sanitizer_syscall_post_impl_sigpending@Base 4.9
+ __sanitizer_syscall_post_impl_sigprocmask@Base 4.9
+ __sanitizer_syscall_post_impl_socket@Base 4.9
+ __sanitizer_syscall_post_impl_socketcall@Base 4.9
+ __sanitizer_syscall_post_impl_socketpair@Base 4.9
+ __sanitizer_syscall_post_impl_splice@Base 4.9
+ __sanitizer_syscall_post_impl_spu_create@Base 4.9
+ __sanitizer_syscall_post_impl_spu_run@Base 4.9
+ __sanitizer_syscall_post_impl_ssetmask@Base 4.9
+ __sanitizer_syscall_post_impl_stat64@Base 4.9
+ __sanitizer_syscall_post_impl_stat@Base 4.9
+ __sanitizer_syscall_post_impl_statfs64@Base 4.9
+ __sanitizer_syscall_post_impl_statfs@Base 4.9
+ __sanitizer_syscall_post_impl_stime@Base 4.9
+ __sanitizer_syscall_post_impl_swapoff@Base 4.9
+ __sanitizer_syscall_post_impl_swapon@Base 4.9
+ __sanitizer_syscall_post_impl_symlink@Base 4.9
+ __sanitizer_syscall_post_impl_symlinkat@Base 4.9
+ __sanitizer_syscall_post_impl_sync@Base 4.9
+ __sanitizer_syscall_post_impl_syncfs@Base 4.9
+ __sanitizer_syscall_post_impl_sysctl@Base 4.9
+ __sanitizer_syscall_post_impl_sysfs@Base 4.9
+ __sanitizer_syscall_post_impl_sysinfo@Base 4.9
+ __sanitizer_syscall_post_impl_syslog@Base 4.9
+ __sanitizer_syscall_post_impl_tee@Base 4.9
+ __sanitizer_syscall_post_impl_tgkill@Base 4.9
+ __sanitizer_syscall_post_impl_time@Base 4.9
+ __sanitizer_syscall_post_impl_timer_create@Base 4.9
+ __sanitizer_syscall_post_impl_timer_delete@Base 4.9
+ __sanitizer_syscall_post_impl_timer_getoverrun@Base 4.9
+ __sanitizer_syscall_post_impl_timer_gettime@Base 4.9
+ __sanitizer_syscall_post_impl_timer_settime@Base 4.9
+ __sanitizer_syscall_post_impl_timerfd_create@Base 4.9
+ __sanitizer_syscall_post_impl_timerfd_gettime@Base 4.9
+ __sanitizer_syscall_post_impl_timerfd_settime@Base 4.9
+ __sanitizer_syscall_post_impl_times@Base 4.9
+ __sanitizer_syscall_post_impl_tkill@Base 4.9
+ __sanitizer_syscall_post_impl_truncate@Base 4.9
+ __sanitizer_syscall_post_impl_umask@Base 4.9
+ __sanitizer_syscall_post_impl_umount@Base 4.9
+ __sanitizer_syscall_post_impl_uname@Base 4.9
+ __sanitizer_syscall_post_impl_unlink@Base 4.9
+ __sanitizer_syscall_post_impl_unlinkat@Base 4.9
+ __sanitizer_syscall_post_impl_unshare@Base 4.9
+ __sanitizer_syscall_post_impl_uselib@Base 4.9
+ __sanitizer_syscall_post_impl_ustat@Base 4.9
+ __sanitizer_syscall_post_impl_utime@Base 4.9
+ __sanitizer_syscall_post_impl_utimensat@Base 4.9
+ __sanitizer_syscall_post_impl_utimes@Base 4.9
+ __sanitizer_syscall_post_impl_vfork@Base 4.9
+ __sanitizer_syscall_post_impl_vhangup@Base 4.9
+ __sanitizer_syscall_post_impl_vmsplice@Base 4.9
+ __sanitizer_syscall_post_impl_wait4@Base 4.9
+ __sanitizer_syscall_post_impl_waitid@Base 4.9
+ __sanitizer_syscall_post_impl_waitpid@Base 4.9
+ __sanitizer_syscall_post_impl_write@Base 4.9
+ __sanitizer_syscall_post_impl_writev@Base 4.9
+ __sanitizer_syscall_pre_impl_accept4@Base 4.9
+ __sanitizer_syscall_pre_impl_accept@Base 4.9
+ __sanitizer_syscall_pre_impl_access@Base 4.9
+ __sanitizer_syscall_pre_impl_acct@Base 4.9
+ __sanitizer_syscall_pre_impl_add_key@Base 4.9
+ __sanitizer_syscall_pre_impl_adjtimex@Base 4.9
+ __sanitizer_syscall_pre_impl_alarm@Base 4.9
+ __sanitizer_syscall_pre_impl_bdflush@Base 4.9
+ __sanitizer_syscall_pre_impl_bind@Base 4.9
+ __sanitizer_syscall_pre_impl_brk@Base 4.9
+ __sanitizer_syscall_pre_impl_capget@Base 4.9
+ __sanitizer_syscall_pre_impl_capset@Base 4.9
+ __sanitizer_syscall_pre_impl_chdir@Base 4.9
+ __sanitizer_syscall_pre_impl_chmod@Base 4.9
+ __sanitizer_syscall_pre_impl_chown@Base 4.9
+ __sanitizer_syscall_pre_impl_chroot@Base 4.9
+ __sanitizer_syscall_pre_impl_clock_adjtime@Base 4.9
+ __sanitizer_syscall_pre_impl_clock_getres@Base 4.9
+ __sanitizer_syscall_pre_impl_clock_gettime@Base 4.9
+ __sanitizer_syscall_pre_impl_clock_nanosleep@Base 4.9
+ __sanitizer_syscall_pre_impl_clock_settime@Base 4.9
+ __sanitizer_syscall_pre_impl_close@Base 4.9
+ __sanitizer_syscall_pre_impl_connect@Base 4.9
+ __sanitizer_syscall_pre_impl_creat@Base 4.9
+ __sanitizer_syscall_pre_impl_delete_module@Base 4.9
+ __sanitizer_syscall_pre_impl_dup2@Base 4.9
+ __sanitizer_syscall_pre_impl_dup3@Base 4.9
+ __sanitizer_syscall_pre_impl_dup@Base 4.9
+ __sanitizer_syscall_pre_impl_epoll_create1@Base 4.9
+ __sanitizer_syscall_pre_impl_epoll_create@Base 4.9
+ __sanitizer_syscall_pre_impl_epoll_ctl@Base 4.9
+ __sanitizer_syscall_pre_impl_epoll_pwait@Base 4.9
+ __sanitizer_syscall_pre_impl_epoll_wait@Base 4.9
+ __sanitizer_syscall_pre_impl_eventfd2@Base 4.9
+ __sanitizer_syscall_pre_impl_eventfd@Base 4.9
+ __sanitizer_syscall_pre_impl_exit@Base 4.9
+ __sanitizer_syscall_pre_impl_exit_group@Base 4.9
+ __sanitizer_syscall_pre_impl_faccessat@Base 4.9
+ __sanitizer_syscall_pre_impl_fchdir@Base 4.9
+ __sanitizer_syscall_pre_impl_fchmod@Base 4.9
+ __sanitizer_syscall_pre_impl_fchmodat@Base 4.9
+ __sanitizer_syscall_pre_impl_fchown@Base 4.9
+ __sanitizer_syscall_pre_impl_fchownat@Base 4.9
+ __sanitizer_syscall_pre_impl_fcntl64@Base 4.9
+ __sanitizer_syscall_pre_impl_fcntl@Base 4.9
+ __sanitizer_syscall_pre_impl_fdatasync@Base 4.9
+ __sanitizer_syscall_pre_impl_fgetxattr@Base 4.9
+ __sanitizer_syscall_pre_impl_flistxattr@Base 4.9
+ __sanitizer_syscall_pre_impl_flock@Base 4.9
+ __sanitizer_syscall_pre_impl_fork@Base 4.9
+ __sanitizer_syscall_pre_impl_fremovexattr@Base 4.9
+ __sanitizer_syscall_pre_impl_fsetxattr@Base 4.9
+ __sanitizer_syscall_pre_impl_fstat64@Base 4.9
+ __sanitizer_syscall_pre_impl_fstat@Base 4.9
+ __sanitizer_syscall_pre_impl_fstatat64@Base 4.9
+ __sanitizer_syscall_pre_impl_fstatfs64@Base 4.9
+ __sanitizer_syscall_pre_impl_fstatfs@Base 4.9
+ __sanitizer_syscall_pre_impl_fsync@Base 4.9
+ __sanitizer_syscall_pre_impl_ftruncate@Base 4.9
+ __sanitizer_syscall_pre_impl_futimesat@Base 4.9
+ __sanitizer_syscall_pre_impl_get_mempolicy@Base 4.9
+ __sanitizer_syscall_pre_impl_get_robust_list@Base 4.9
+ __sanitizer_syscall_pre_impl_getcpu@Base 4.9
+ __sanitizer_syscall_pre_impl_getcwd@Base 4.9
+ __sanitizer_syscall_pre_impl_getdents64@Base 4.9
+ __sanitizer_syscall_pre_impl_getdents@Base 4.9
+ __sanitizer_syscall_pre_impl_getegid@Base 4.9
+ __sanitizer_syscall_pre_impl_geteuid@Base 4.9
+ __sanitizer_syscall_pre_impl_getgid@Base 4.9
+ __sanitizer_syscall_pre_impl_getgroups@Base 4.9
+ __sanitizer_syscall_pre_impl_gethostname@Base 4.9
+ __sanitizer_syscall_pre_impl_getitimer@Base 4.9
+ __sanitizer_syscall_pre_impl_getpeername@Base 4.9
+ __sanitizer_syscall_pre_impl_getpgid@Base 4.9
+ __sanitizer_syscall_pre_impl_getpgrp@Base 4.9
+ __sanitizer_syscall_pre_impl_getpid@Base 4.9
+ __sanitizer_syscall_pre_impl_getppid@Base 4.9
+ __sanitizer_syscall_pre_impl_getpriority@Base 4.9
+ __sanitizer_syscall_pre_impl_getresgid@Base 4.9
+ __sanitizer_syscall_pre_impl_getresuid@Base 4.9
+ __sanitizer_syscall_pre_impl_getrlimit@Base 4.9
+ __sanitizer_syscall_pre_impl_getrusage@Base 4.9
+ __sanitizer_syscall_pre_impl_getsid@Base 4.9
+ __sanitizer_syscall_pre_impl_getsockname@Base 4.9
+ __sanitizer_syscall_pre_impl_getsockopt@Base 4.9
+ __sanitizer_syscall_pre_impl_gettid@Base 4.9
+ __sanitizer_syscall_pre_impl_gettimeofday@Base 4.9
+ __sanitizer_syscall_pre_impl_getuid@Base 4.9
+ __sanitizer_syscall_pre_impl_getxattr@Base 4.9
+ __sanitizer_syscall_pre_impl_init_module@Base 4.9
+ __sanitizer_syscall_pre_impl_inotify_add_watch@Base 4.9
+ __sanitizer_syscall_pre_impl_inotify_init1@Base 4.9
+ __sanitizer_syscall_pre_impl_inotify_init@Base 4.9
+ __sanitizer_syscall_pre_impl_inotify_rm_watch@Base 4.9
+ __sanitizer_syscall_pre_impl_io_cancel@Base 4.9
+ __sanitizer_syscall_pre_impl_io_destroy@Base 4.9
+ __sanitizer_syscall_pre_impl_io_getevents@Base 4.9
+ __sanitizer_syscall_pre_impl_io_setup@Base 4.9
+ __sanitizer_syscall_pre_impl_io_submit@Base 4.9
+ __sanitizer_syscall_pre_impl_ioctl@Base 4.9
+ __sanitizer_syscall_pre_impl_ioperm@Base 4.9
+ __sanitizer_syscall_pre_impl_ioprio_get@Base 4.9
+ __sanitizer_syscall_pre_impl_ioprio_set@Base 4.9
+ __sanitizer_syscall_pre_impl_ipc@Base 4.9
+ __sanitizer_syscall_pre_impl_kexec_load@Base 4.9
+ __sanitizer_syscall_pre_impl_keyctl@Base 4.9
+ __sanitizer_syscall_pre_impl_kill@Base 4.9
+ __sanitizer_syscall_pre_impl_lchown@Base 4.9
+ __sanitizer_syscall_pre_impl_lgetxattr@Base 4.9
+ __sanitizer_syscall_pre_impl_link@Base 4.9
+ __sanitizer_syscall_pre_impl_linkat@Base 4.9
+ __sanitizer_syscall_pre_impl_listen@Base 4.9
+ __sanitizer_syscall_pre_impl_listxattr@Base 4.9
+ __sanitizer_syscall_pre_impl_llistxattr@Base 4.9
+ __sanitizer_syscall_pre_impl_llseek@Base 4.9
+ __sanitizer_syscall_pre_impl_lookup_dcookie@Base 4.9
+ __sanitizer_syscall_pre_impl_lremovexattr@Base 4.9
+ __sanitizer_syscall_pre_impl_lseek@Base 4.9
+ __sanitizer_syscall_pre_impl_lsetxattr@Base 4.9
+ __sanitizer_syscall_pre_impl_lstat64@Base 4.9
+ __sanitizer_syscall_pre_impl_lstat@Base 4.9
+ __sanitizer_syscall_pre_impl_madvise@Base 4.9
+ __sanitizer_syscall_pre_impl_mbind@Base 4.9
+ __sanitizer_syscall_pre_impl_migrate_pages@Base 4.9
+ __sanitizer_syscall_pre_impl_mincore@Base 4.9
+ __sanitizer_syscall_pre_impl_mkdir@Base 4.9
+ __sanitizer_syscall_pre_impl_mkdirat@Base 4.9
+ __sanitizer_syscall_pre_impl_mknod@Base 4.9
+ __sanitizer_syscall_pre_impl_mknodat@Base 4.9
+ __sanitizer_syscall_pre_impl_mlock@Base 4.9
+ __sanitizer_syscall_pre_impl_mlockall@Base 4.9
+ __sanitizer_syscall_pre_impl_mmap_pgoff@Base 4.9
+ __sanitizer_syscall_pre_impl_mount@Base 4.9
+ __sanitizer_syscall_pre_impl_move_pages@Base 4.9
+ __sanitizer_syscall_pre_impl_mprotect@Base 4.9
+ __sanitizer_syscall_pre_impl_mq_getsetattr@Base 4.9
+ __sanitizer_syscall_pre_impl_mq_notify@Base 4.9
+ __sanitizer_syscall_pre_impl_mq_open@Base 4.9
+ __sanitizer_syscall_pre_impl_mq_timedreceive@Base 4.9
+ __sanitizer_syscall_pre_impl_mq_timedsend@Base 4.9
+ __sanitizer_syscall_pre_impl_mq_unlink@Base 4.9
+ __sanitizer_syscall_pre_impl_mremap@Base 4.9
+ __sanitizer_syscall_pre_impl_msgctl@Base 4.9
+ __sanitizer_syscall_pre_impl_msgget@Base 4.9
+ __sanitizer_syscall_pre_impl_msgrcv@Base 4.9
+ __sanitizer_syscall_pre_impl_msgsnd@Base 4.9
+ __sanitizer_syscall_pre_impl_msync@Base 4.9
+ __sanitizer_syscall_pre_impl_munlock@Base 4.9
+ __sanitizer_syscall_pre_impl_munlockall@Base 4.9
+ __sanitizer_syscall_pre_impl_munmap@Base 4.9
+ __sanitizer_syscall_pre_impl_name_to_handle_at@Base 4.9
+ __sanitizer_syscall_pre_impl_nanosleep@Base 4.9
+ __sanitizer_syscall_pre_impl_newfstat@Base 4.9
+ __sanitizer_syscall_pre_impl_newfstatat@Base 4.9
+ __sanitizer_syscall_pre_impl_newlstat@Base 4.9
+ __sanitizer_syscall_pre_impl_newstat@Base 4.9
+ __sanitizer_syscall_pre_impl_newuname@Base 4.9
+ __sanitizer_syscall_pre_impl_ni_syscall@Base 4.9
+ __sanitizer_syscall_pre_impl_nice@Base 4.9
+ __sanitizer_syscall_pre_impl_old_getrlimit@Base 4.9
+ __sanitizer_syscall_pre_impl_old_mmap@Base 4.9
+ __sanitizer_syscall_pre_impl_old_readdir@Base 4.9
+ __sanitizer_syscall_pre_impl_old_select@Base 4.9
+ __sanitizer_syscall_pre_impl_oldumount@Base 4.9
+ __sanitizer_syscall_pre_impl_olduname@Base 4.9
+ __sanitizer_syscall_pre_impl_open@Base 4.9
+ __sanitizer_syscall_pre_impl_open_by_handle_at@Base 4.9
+ __sanitizer_syscall_pre_impl_openat@Base 4.9
+ __sanitizer_syscall_pre_impl_pause@Base 4.9
+ __sanitizer_syscall_pre_impl_pciconfig_iobase@Base 4.9
+ __sanitizer_syscall_pre_impl_pciconfig_read@Base 4.9
+ __sanitizer_syscall_pre_impl_pciconfig_write@Base 4.9
+ __sanitizer_syscall_pre_impl_perf_event_open@Base 4.9
+ __sanitizer_syscall_pre_impl_personality@Base 4.9
+ __sanitizer_syscall_pre_impl_pipe2@Base 4.9
+ __sanitizer_syscall_pre_impl_pipe@Base 4.9
+ __sanitizer_syscall_pre_impl_pivot_root@Base 4.9
+ __sanitizer_syscall_pre_impl_poll@Base 4.9
+ __sanitizer_syscall_pre_impl_ppoll@Base 4.9
+ __sanitizer_syscall_pre_impl_pread64@Base 4.9
+ __sanitizer_syscall_pre_impl_preadv@Base 4.9
+ __sanitizer_syscall_pre_impl_prlimit64@Base 4.9
+ __sanitizer_syscall_pre_impl_process_vm_readv@Base 4.9
+ __sanitizer_syscall_pre_impl_process_vm_writev@Base 4.9
+ __sanitizer_syscall_pre_impl_pselect6@Base 4.9
+ __sanitizer_syscall_pre_impl_ptrace@Base 4.9
+ __sanitizer_syscall_pre_impl_pwrite64@Base 4.9
+ __sanitizer_syscall_pre_impl_pwritev@Base 4.9
+ __sanitizer_syscall_pre_impl_quotactl@Base 4.9
+ __sanitizer_syscall_pre_impl_read@Base 4.9
+ __sanitizer_syscall_pre_impl_readlink@Base 4.9
+ __sanitizer_syscall_pre_impl_readlinkat@Base 4.9
+ __sanitizer_syscall_pre_impl_readv@Base 4.9
+ __sanitizer_syscall_pre_impl_reboot@Base 4.9
+ __sanitizer_syscall_pre_impl_recv@Base 4.9
+ __sanitizer_syscall_pre_impl_recvfrom@Base 4.9
+ __sanitizer_syscall_pre_impl_recvmmsg@Base 4.9
+ __sanitizer_syscall_pre_impl_recvmsg@Base 4.9
+ __sanitizer_syscall_pre_impl_remap_file_pages@Base 4.9
+ __sanitizer_syscall_pre_impl_removexattr@Base 4.9
+ __sanitizer_syscall_pre_impl_rename@Base 4.9
+ __sanitizer_syscall_pre_impl_renameat@Base 4.9
+ __sanitizer_syscall_pre_impl_request_key@Base 4.9
+ __sanitizer_syscall_pre_impl_restart_syscall@Base 4.9
+ __sanitizer_syscall_pre_impl_rmdir@Base 4.9
+ __sanitizer_syscall_pre_impl_rt_sigaction@Base 7
+ __sanitizer_syscall_pre_impl_rt_sigpending@Base 4.9
+ __sanitizer_syscall_pre_impl_rt_sigprocmask@Base 4.9
+ __sanitizer_syscall_pre_impl_rt_sigqueueinfo@Base 4.9
+ __sanitizer_syscall_pre_impl_rt_sigtimedwait@Base 4.9
+ __sanitizer_syscall_pre_impl_rt_tgsigqueueinfo@Base 4.9
+ __sanitizer_syscall_pre_impl_sched_get_priority_max@Base 4.9
+ __sanitizer_syscall_pre_impl_sched_get_priority_min@Base 4.9
+ __sanitizer_syscall_pre_impl_sched_getaffinity@Base 4.9
+ __sanitizer_syscall_pre_impl_sched_getparam@Base 4.9
+ __sanitizer_syscall_pre_impl_sched_getscheduler@Base 4.9
+ __sanitizer_syscall_pre_impl_sched_rr_get_interval@Base 4.9
+ __sanitizer_syscall_pre_impl_sched_setaffinity@Base 4.9
+ __sanitizer_syscall_pre_impl_sched_setparam@Base 4.9
+ __sanitizer_syscall_pre_impl_sched_setscheduler@Base 4.9
+ __sanitizer_syscall_pre_impl_sched_yield@Base 4.9
+ __sanitizer_syscall_pre_impl_select@Base 4.9
+ __sanitizer_syscall_pre_impl_semctl@Base 4.9
+ __sanitizer_syscall_pre_impl_semget@Base 4.9
+ __sanitizer_syscall_pre_impl_semop@Base 4.9
+ __sanitizer_syscall_pre_impl_semtimedop@Base 4.9
+ __sanitizer_syscall_pre_impl_send@Base 4.9
+ __sanitizer_syscall_pre_impl_sendfile64@Base 4.9
+ __sanitizer_syscall_pre_impl_sendfile@Base 4.9
+ __sanitizer_syscall_pre_impl_sendmmsg@Base 4.9
+ __sanitizer_syscall_pre_impl_sendmsg@Base 4.9
+ __sanitizer_syscall_pre_impl_sendto@Base 4.9
+ __sanitizer_syscall_pre_impl_set_mempolicy@Base 4.9
+ __sanitizer_syscall_pre_impl_set_robust_list@Base 4.9
+ __sanitizer_syscall_pre_impl_set_tid_address@Base 4.9
+ __sanitizer_syscall_pre_impl_setdomainname@Base 4.9
+ __sanitizer_syscall_pre_impl_setfsgid@Base 4.9
+ __sanitizer_syscall_pre_impl_setfsuid@Base 4.9
+ __sanitizer_syscall_pre_impl_setgid@Base 4.9
+ __sanitizer_syscall_pre_impl_setgroups@Base 4.9
+ __sanitizer_syscall_pre_impl_sethostname@Base 4.9
+ __sanitizer_syscall_pre_impl_setitimer@Base 4.9
+ __sanitizer_syscall_pre_impl_setns@Base 4.9
+ __sanitizer_syscall_pre_impl_setpgid@Base 4.9
+ __sanitizer_syscall_pre_impl_setpriority@Base 4.9
+ __sanitizer_syscall_pre_impl_setregid@Base 4.9
+ __sanitizer_syscall_pre_impl_setresgid@Base 4.9
+ __sanitizer_syscall_pre_impl_setresuid@Base 4.9
+ __sanitizer_syscall_pre_impl_setreuid@Base 4.9
+ __sanitizer_syscall_pre_impl_setrlimit@Base 4.9
+ __sanitizer_syscall_pre_impl_setsid@Base 4.9
+ __sanitizer_syscall_pre_impl_setsockopt@Base 4.9
+ __sanitizer_syscall_pre_impl_settimeofday@Base 4.9
+ __sanitizer_syscall_pre_impl_setuid@Base 4.9
+ __sanitizer_syscall_pre_impl_setxattr@Base 4.9
+ __sanitizer_syscall_pre_impl_sgetmask@Base 4.9
+ __sanitizer_syscall_pre_impl_shmat@Base 4.9
+ __sanitizer_syscall_pre_impl_shmctl@Base 4.9
+ __sanitizer_syscall_pre_impl_shmdt@Base 4.9
+ __sanitizer_syscall_pre_impl_shmget@Base 4.9
+ __sanitizer_syscall_pre_impl_shutdown@Base 4.9
+ __sanitizer_syscall_pre_impl_sigaction@Base 7
+ __sanitizer_syscall_pre_impl_signal@Base 4.9
+ __sanitizer_syscall_pre_impl_signalfd4@Base 4.9
+ __sanitizer_syscall_pre_impl_signalfd@Base 4.9
+ __sanitizer_syscall_pre_impl_sigpending@Base 4.9
+ __sanitizer_syscall_pre_impl_sigprocmask@Base 4.9
+ __sanitizer_syscall_pre_impl_socket@Base 4.9
+ __sanitizer_syscall_pre_impl_socketcall@Base 4.9
+ __sanitizer_syscall_pre_impl_socketpair@Base 4.9
+ __sanitizer_syscall_pre_impl_splice@Base 4.9
+ __sanitizer_syscall_pre_impl_spu_create@Base 4.9
+ __sanitizer_syscall_pre_impl_spu_run@Base 4.9
+ __sanitizer_syscall_pre_impl_ssetmask@Base 4.9
+ __sanitizer_syscall_pre_impl_stat64@Base 4.9
+ __sanitizer_syscall_pre_impl_stat@Base 4.9
+ __sanitizer_syscall_pre_impl_statfs64@Base 4.9
+ __sanitizer_syscall_pre_impl_statfs@Base 4.9
+ __sanitizer_syscall_pre_impl_stime@Base 4.9
+ __sanitizer_syscall_pre_impl_swapoff@Base 4.9
+ __sanitizer_syscall_pre_impl_swapon@Base 4.9
+ __sanitizer_syscall_pre_impl_symlink@Base 4.9
+ __sanitizer_syscall_pre_impl_symlinkat@Base 4.9
+ __sanitizer_syscall_pre_impl_sync@Base 4.9
+ __sanitizer_syscall_pre_impl_syncfs@Base 4.9
+ __sanitizer_syscall_pre_impl_sysctl@Base 4.9
+ __sanitizer_syscall_pre_impl_sysfs@Base 4.9
+ __sanitizer_syscall_pre_impl_sysinfo@Base 4.9
+ __sanitizer_syscall_pre_impl_syslog@Base 4.9
+ __sanitizer_syscall_pre_impl_tee@Base 4.9
+ __sanitizer_syscall_pre_impl_tgkill@Base 4.9
+ __sanitizer_syscall_pre_impl_time@Base 4.9
+ __sanitizer_syscall_pre_impl_timer_create@Base 4.9
+ __sanitizer_syscall_pre_impl_timer_delete@Base 4.9
+ __sanitizer_syscall_pre_impl_timer_getoverrun@Base 4.9
+ __sanitizer_syscall_pre_impl_timer_gettime@Base 4.9
+ __sanitizer_syscall_pre_impl_timer_settime@Base 4.9
+ __sanitizer_syscall_pre_impl_timerfd_create@Base 4.9
+ __sanitizer_syscall_pre_impl_timerfd_gettime@Base 4.9
+ __sanitizer_syscall_pre_impl_timerfd_settime@Base 4.9
+ __sanitizer_syscall_pre_impl_times@Base 4.9
+ __sanitizer_syscall_pre_impl_tkill@Base 4.9
+ __sanitizer_syscall_pre_impl_truncate@Base 4.9
+ __sanitizer_syscall_pre_impl_umask@Base 4.9
+ __sanitizer_syscall_pre_impl_umount@Base 4.9
+ __sanitizer_syscall_pre_impl_uname@Base 4.9
+ __sanitizer_syscall_pre_impl_unlink@Base 4.9
+ __sanitizer_syscall_pre_impl_unlinkat@Base 4.9
+ __sanitizer_syscall_pre_impl_unshare@Base 4.9
+ __sanitizer_syscall_pre_impl_uselib@Base 4.9
+ __sanitizer_syscall_pre_impl_ustat@Base 4.9
+ __sanitizer_syscall_pre_impl_utime@Base 4.9
+ __sanitizer_syscall_pre_impl_utimensat@Base 4.9
+ __sanitizer_syscall_pre_impl_utimes@Base 4.9
+ __sanitizer_syscall_pre_impl_vfork@Base 4.9
+ __sanitizer_syscall_pre_impl_vhangup@Base 4.9
+ __sanitizer_syscall_pre_impl_vmsplice@Base 4.9
+ __sanitizer_syscall_pre_impl_wait4@Base 4.9
+ __sanitizer_syscall_pre_impl_waitid@Base 4.9
+ __sanitizer_syscall_pre_impl_waitpid@Base 4.9
+ __sanitizer_syscall_pre_impl_write@Base 4.9
+ __sanitizer_syscall_pre_impl_writev@Base 4.9
+ __sanitizer_unaligned_load16@Base 4.9
+ __sanitizer_unaligned_load32@Base 4.9
+ __sanitizer_unaligned_load64@Base 4.9
+ __sanitizer_unaligned_store16@Base 4.9
+ __sanitizer_unaligned_store32@Base 4.9
+ __sanitizer_unaligned_store64@Base 4.9
+ __sanitizer_verify_contiguous_container@Base 5
+ __sanitizer_weak_hook_memcmp@Base 8
+ __sanitizer_weak_hook_memmem@Base 8
+ __sanitizer_weak_hook_strcasecmp@Base 8
+ __sanitizer_weak_hook_strcasestr@Base 8
+ __sanitizer_weak_hook_strcmp@Base 8
+ __sanitizer_weak_hook_strncasecmp@Base 8
+ __sanitizer_weak_hook_strncmp@Base 8
+ __sanitizer_weak_hook_strstr@Base 8
+ __strdup@Base 7
+ __strndup@Base 8
+ __uflow@Base 5
+ __underflow@Base 5
+ __woverflow@Base 5
+ __wuflow@Base 5
+ __wunderflow@Base 5
+ __xpg_strerror_r@Base 4.9
+ __xstat64@Base 7
+ __xstat@Base 7
+ _exit@Base 4.9
+ _longjmp@Base 4.8
+ _obstack_begin@Base 5
+ _obstack_begin_1@Base 5
+ _obstack_newchunk@Base 5
+ accept4@Base 4.9
+ accept@Base 4.9
+ aligned_alloc@Base 5
+ asctime@Base 4.8
+ asctime_r@Base 4.8
+ asprintf@Base 5
+ atoi@Base 4.8
+ atol@Base 4.8
+ atoll@Base 4.8
+ backtrace@Base 4.9
+ backtrace_symbols@Base 4.9
+ calloc@Base 4.8
+ canonicalize_file_name@Base 4.9
+ capget@Base 5
+ capset@Base 5
+ cfree@Base 4.8
+ clock_getres@Base 4.9
+ clock_gettime@Base 4.9
+ clock_settime@Base 4.9
+ confstr@Base 4.9
+ ctermid@Base 7
+ ctime@Base 4.8
+ ctime_r@Base 4.8
+ dlclose@Base 5
+ dlopen@Base 5
+ drand48_r@Base 4.9
+ endgrent@Base 5
+ endpwent@Base 5
+ ether_aton@Base 4.9
+ ether_aton_r@Base 4.9
+ ether_hostton@Base 4.9
+ ether_line@Base 4.9
+ ether_ntoa@Base 4.9
+ ether_ntoa_r@Base 4.9
+ ether_ntohost@Base 4.9
+ eventfd_read@Base 7
+ eventfd_write@Base 7
+ fclose@Base 5
+ fdopen@Base 5
+ fflush@Base 5
+ fgetgrent@Base 5
+ fgetgrent_r@Base 5
+ fgetpwent@Base 5
+ fgetpwent_r@Base 5
+ fgetxattr@Base 5
+ flistxattr@Base 5
+ fmemopen@Base 5
+ fopen64@Base 5
+ fopen@Base 5
+ fopencookie@Base 6.2
+ fork@Base 5
+ fprintf@Base 5
+ fread@Base 8
+ free@Base 4.8
+ freopen64@Base 5
+ freopen@Base 5
+ frexp@Base 4.9
+ frexpf@Base 4.9
+ frexpl@Base 4.9
+ fscanf@Base 4.8
+ fstatfs64@Base 4.9
+ fstatfs@Base 4.9
+ fstatvfs64@Base 4.9
+ fstatvfs@Base 4.9
+ ftime@Base 5
+ fwrite@Base 8
+ get_current_dir_name@Base 4.9
+ getaddrinfo@Base 4.9
+ getcwd@Base 4.9
+ getdelim@Base 4.9
+ getgrent@Base 5
+ getgrent_r@Base 5
+ getgrgid@Base 4.9
+ getgrgid_r@Base 4.9
+ getgrnam@Base 4.9
+ getgrnam_r@Base 4.9
+ getgroups@Base 4.9
+ gethostbyaddr@Base 4.9
+ gethostbyaddr_r@Base 4.9
+ gethostbyname2@Base 4.9
+ gethostbyname2_r@Base 4.9
+ gethostbyname@Base 4.9
+ gethostbyname_r@Base 4.9
+ gethostent@Base 4.9
+ gethostent_r@Base 4.9
+ getifaddrs@Base 5
+ getitimer@Base 4.9
+ getline@Base 4.9
+ getloadavg@Base 8
+ getmntent@Base 4.9
+ getmntent_r@Base 4.9
+ getnameinfo@Base 4.9
+ getpass@Base 5
+ getpeername@Base 4.9
+ getpwent@Base 5
+ getpwent_r@Base 5
+ getpwnam@Base 4.9
+ getpwnam_r@Base 4.9
+ getpwuid@Base 4.9
+ getpwuid_r@Base 4.9
+ getresgid@Base 5
+ getresuid@Base 5
+ getsockname@Base 4.9
+ getsockopt@Base 4.9
+ getutent@Base 8
+ getutid@Base 8
+ getutline@Base 8
+ getutxent@Base 8
+ getutxid@Base 8
+ getutxline@Base 8
+ getxattr@Base 5
+ glob64@Base 4.9
+ glob@Base 4.9
+ gmtime@Base 4.8
+ gmtime_r@Base 4.8
+ iconv@Base 4.9
+ if_indextoname@Base 5
+ if_nametoindex@Base 5
+ index@Base 4.8
+ inet_aton@Base 4.9
+ inet_ntop@Base 4.9
+ inet_pton@Base 4.9
+ initgroups@Base 4.9
+ ioctl@Base 4.9
+ lgamma@Base 4.9
+ lgamma_r@Base 4.9
+ lgammaf@Base 4.9
+ lgammaf_r@Base 4.9
+ lgammal@Base 4.9
+ lgammal_r@Base 4.9
+ lgetxattr@Base 5
+ listxattr@Base 5
+ llistxattr@Base 5
+ localtime@Base 4.8
+ localtime_r@Base 4.8
+ longjmp@Base 4.8
+ lrand48_r@Base 4.9
+ mallinfo@Base 4.8
+ malloc@Base 4.8
+ malloc_stats@Base 4.8
+ malloc_usable_size@Base 4.8
+ mallopt@Base 4.8
+ mbsnrtowcs@Base 4.9
+ mbsrtowcs@Base 4.9
+ mbstowcs@Base 4.9
+ mcheck@Base 8
+ mcheck_pedantic@Base 8
+ memalign@Base 4.8
+ memchr@Base 5
+ memcmp@Base 4.8
+ memcpy@Base 4.8
+ memmem@Base 7
+ memmove@Base 4.8
+ memrchr@Base 5
+ memset@Base 4.8
+ mincore@Base 6.2
+ mktime@Base 5
+ mlock@Base 4.8
+ mlockall@Base 4.8
+ modf@Base 4.9
+ modff@Base 4.9
+ modfl@Base 4.9
+ mprobe@Base 8
+ munlock@Base 4.8
+ munlockall@Base 4.8
+ open_memstream@Base 5
+ open_wmemstream@Base 5
+ opendir@Base 6.2
+ poll@Base 4.9
+ posix_memalign@Base 4.8
+ ppoll@Base 4.9
+ prctl@Base 4.8
+ pread64@Base 4.8
+ pread@Base 4.8
+ preadv64@Base 4.9
+ preadv@Base 4.9
+ printf@Base 5
+ process_vm_readv@Base 6.2
+ process_vm_writev@Base 6.2
+ pthread_attr_getaffinity_np@Base 4.9
+ pthread_attr_getdetachstate@Base 4.9
+ pthread_attr_getguardsize@Base 4.9
+ pthread_attr_getinheritsched@Base 4.9
+ pthread_attr_getschedparam@Base 4.9
+ pthread_attr_getschedpolicy@Base 4.9
+ pthread_attr_getscope@Base 4.9
+ pthread_attr_getstack@Base 4.9
+ pthread_attr_getstacksize@Base 4.9
+ pthread_barrierattr_getpshared@Base 5
+ pthread_condattr_getclock@Base 5
+ pthread_condattr_getpshared@Base 5
+ pthread_create@Base 4.8
+ pthread_getschedparam@Base 4.9
+ pthread_join@Base 6.2
+ pthread_mutex_lock@Base 4.9
+ pthread_mutex_unlock@Base 4.9
+ pthread_mutexattr_getprioceiling@Base 5
+ pthread_mutexattr_getprotocol@Base 5
+ pthread_mutexattr_getpshared@Base 5
+ pthread_mutexattr_getrobust@Base 5
+ pthread_mutexattr_getrobust_np@Base 5
+ pthread_mutexattr_gettype@Base 5
+ pthread_rwlockattr_getkind_np@Base 5
+ pthread_rwlockattr_getpshared@Base 5
+ pthread_setcancelstate@Base 6.2
+ pthread_setcanceltype@Base 6.2
+ pthread_setname_np@Base 4.9
+ pvalloc@Base 4.8
+ pwrite64@Base 4.8
+ pwrite@Base 4.8
+ pwritev64@Base 4.9
+ pwritev@Base 4.9
+ rand_r@Base 5
+ random_r@Base 4.9
+ read@Base 4.8
+ readdir64@Base 4.9
+ readdir64_r@Base 4.9
+ readdir@Base 4.9
+ readdir_r@Base 4.9
+ readv@Base 4.9
+ realloc@Base 4.8
+ realpath@Base 4.9
+ recv@Base 7
+ recvfrom@Base 7
+ recvmsg@Base 4.9
+ remquo@Base 4.9
+ remquof@Base 4.9
+ remquol@Base 4.9
+ scandir64@Base 4.9
+ scandir@Base 4.9
+ scanf@Base 4.8
+ sched_getaffinity@Base 4.9
+ sched_getparam@Base 6.2
+ sem_destroy@Base 6.2
+ sem_getvalue@Base 6.2
+ sem_init@Base 6.2
+ sem_post@Base 6.2
+ sem_timedwait@Base 6.2
+ sem_trywait@Base 6.2
+ sem_wait@Base 6.2
+ send@Base 7
+ sendmsg@Base 7
+ sendto@Base 7
+ setgrent@Base 5
+ setitimer@Base 4.9
+ setlocale@Base 4.9
+ setpwent@Base 5
+ sigaction@Base 4.8
+ sigemptyset@Base 4.9
+ sigfillset@Base 4.9
+ siglongjmp@Base 4.8
+ signal@Base 4.8
+ sigpending@Base 4.9
+ sigprocmask@Base 4.9
+ sigtimedwait@Base 4.9
+ sigwait@Base 4.9
+ sigwaitinfo@Base 4.9
+ sincos@Base 4.9
+ sincosf@Base 4.9
+ sincosl@Base 4.9
+ snprintf@Base 5
+ sprintf@Base 5
+ sscanf@Base 4.8
+ statfs64@Base 4.9
+ statfs@Base 4.9
+ statvfs64@Base 4.9
+ statvfs@Base 4.9
+ strcasecmp@Base 4.8
+ strcasestr@Base 6.2
+ strcat@Base 4.8
+ strchr@Base 4.8
+ strchrnul@Base 7
+ strcmp@Base 4.8
+ strcpy@Base 4.8
+ strcspn@Base 6.2
+ strdup@Base 4.8
+ strerror@Base 4.9
+ strerror_r@Base 4.9
+ strlen@Base 4.8
+ strncasecmp@Base 4.8
+ strncat@Base 4.8
+ strncmp@Base 4.8
+ strncpy@Base 4.8
+ strndup@Base 8
+ strnlen@Base 4.8
+ strpbrk@Base 6.2
+ strptime@Base 4.9
+ strrchr@Base 7
+ strspn@Base 6.2
+ strstr@Base 6.2
+ strtoimax@Base 4.9
+ strtok@Base 8
+ strtol@Base 4.8
+ strtoll@Base 4.8
+ strtoumax@Base 4.9
+ swapcontext@Base 4.8
+ sysinfo@Base 4.9
+ tcgetattr@Base 4.9
+ tempnam@Base 4.9
+ textdomain@Base 4.9
+ time@Base 4.9
+ timerfd_gettime@Base 5
+ timerfd_settime@Base 5
+ times@Base 4.9
+ tmpnam@Base 4.9
+ tmpnam_r@Base 4.9
+ tsearch@Base 5
+ ttyname_r@Base 7
+ valloc@Base 4.8
+ vasprintf@Base 5
+ vfprintf@Base 5
+ vfscanf@Base 4.8
+ vprintf@Base 5
+ vscanf@Base 4.8
+ vsnprintf@Base 5
+ vsprintf@Base 5
+ vsscanf@Base 4.8
+ wait3@Base 4.9
+ wait4@Base 4.9
+ wait@Base 4.9
+ waitid@Base 4.9
+ waitpid@Base 4.9
+ wcrtomb@Base 6.2
+ wcscat@Base 8
+ wcslen@Base 4.9
+ wcsncat@Base 8
+ wcsnlen@Base 8
+ wcsnrtombs@Base 4.9
+ wcsrtombs@Base 4.9
+ wcstombs@Base 4.9
+ wordexp@Base 4.9
+ write@Base 4.8
+ writev@Base 4.9
+ xdr_bool@Base 5
+ xdr_bytes@Base 5
+ xdr_char@Base 5
+ xdr_double@Base 5
+ xdr_enum@Base 5
+ xdr_float@Base 5
+ xdr_hyper@Base 5
+ xdr_int16_t@Base 5
+ xdr_int32_t@Base 5
+ xdr_int64_t@Base 5
+ xdr_int8_t@Base 5
+ xdr_int@Base 5
+ xdr_long@Base 5
+ xdr_longlong_t@Base 5
+ xdr_quad_t@Base 5
+ xdr_short@Base 5
+ xdr_string@Base 5
+ xdr_u_char@Base 5
+ xdr_u_hyper@Base 5
+ xdr_u_int@Base 5
+ xdr_u_long@Base 5
+ xdr_u_longlong_t@Base 5
+ xdr_u_quad_t@Base 5
+ xdr_u_short@Base 5
+ xdr_uint16_t@Base 5
+ xdr_uint32_t@Base 5
+ xdr_uint64_t@Base 5
+ xdr_uint8_t@Base 5
+ xdrmem_create@Base 5
+ xdrstdio_create@Base 5
--- /dev/null
+libasan.so.5 libasan5 #MINVER#
+#include "libasan.symbols.common"
+(arch=!arm64 !alpha !amd64 !ia64 !mips64el !ppc64 !ppc64el !s390x !sparc64 !kfreebsd-amd64)#include "libasan.symbols.32"
+(arch=arm64 alpha amd64 ia64 mips64el ppc64 ppc64el s390x sparc64 kfreebsd-amd64)#include "libasan.symbols.64"
+(arch=armel armhf sparc64 x32)#include "libasan.symbols.16"
+# these are missing on some archs ...
+ (arch=!s390x)__interceptor___tls_get_addr@Base 5
+ (arch=!powerpc !ppc64 !ppc64el !s390x)__tls_get_addr@Base 5
+ (arch=powerpc ppc64 ppc64el)__tls_get_addr_opt@Base 7
+ (arch=s390x)__interceptor___tls_get_addr_internal@Base 8
+ (arch=s390x)__interceptor___tls_get_offset@Base 8
+ (arch=s390x)__tls_get_addr_internal@Base 8
+ (arch=s390x)__tls_get_offset@Base 8
+ (arch=!powerpc !sparc !sparc64)__interceptor_ptrace@Base 4.9
+ (arch=!powerpc !sparc !sparc64)ptrace@Base 4.9
+ (arch=base-any-any-amd64 any-mips any-mipsel x32)internal_sigreturn@Base 7
+ (arch=armel armhf)__interceptor___aeabi_memclr4@Base 5
+ (arch=armel armhf)__interceptor___aeabi_memclr8@Base 5
+ (arch=armel armhf)__interceptor___aeabi_memclr@Base 5
+ (arch=armel armhf)__interceptor___aeabi_memcpy4@Base 5
+ (arch=armel armhf)__interceptor___aeabi_memcpy8@Base 5
+ (arch=armel armhf)__interceptor___aeabi_memcpy@Base 5
+ (arch=armel armhf)__interceptor___aeabi_memmove4@Base 5
+ (arch=armel armhf)__interceptor___aeabi_memmove8@Base 5
+ (arch=armel armhf)__interceptor___aeabi_memmove@Base 5
+ (arch=armel armhf)__interceptor___aeabi_memset4@Base 5
+ (arch=armel armhf)__interceptor___aeabi_memset8@Base 5
+ (arch=armel armhf)__interceptor___aeabi_memset@Base 5
--- /dev/null
+libatomic.so.1 #PACKAGE# #MINVER#
+ (symver)LIBATOMIC_1.0 4.8
+ (symver)LIBATOMIC_1.1 4.9
+ (symver)LIBATOMIC_1.2 6
--- /dev/null
+libcc1.so.0 libcc1-0 #MINVER#
+ (optional=abi_c++98)_ZNSs12_S_constructIPcEES0_T_S1_RKSaIcESt20forward_iterator_tag@Base 5
+ (optional=abi_c++98)_ZNSt6vectorISsSaISsEE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPSsS1_EERKSs@Base 5
+ (optional=abi_c++11)_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12emplace_backIJS5_EEEvDpOT_@Base 6
+ (optional=abi_c++11)_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE19_M_emplace_back_auxIJRKS5_EEEvDpOT_@Base 6
+ (optional=abi_c++11)_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE19_M_emplace_back_auxIJS5_EEEvDpOT_@Base 6
+ (optional=abi_c++17)_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_insertIJRKS5_EEEvN9__gnu_cxx17__normal_iteratorIPS5_S7_EEDpOT_@Base 8
+ (optional=abi_c++17)_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_insertIJS5_EEEvN9__gnu_cxx17__normal_iteratorIPS5_S7_EEDpOT_@Base 8
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag@Base 8
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPcEEvT_S7_St20forward_iterator_tag@Base 8
+ _xexit_cleanup@Base 5
+ concat@Base 5
+ concat_copy2@Base 5
+ concat_copy@Base 5
+ concat_length@Base 5
+ gcc_c_fe_context@Base 5
+ gcc_cp_fe_context@Base 7
+ htab_clear_slot@Base 5
+ htab_collisions@Base 5
+ htab_create@Base 5
+ htab_create_alloc@Base 5
+ htab_create_alloc_ex@Base 5
+ htab_create_typed_alloc@Base 5
+ htab_delete@Base 5
+ htab_elements@Base 5
+ htab_empty@Base 5
+ htab_eq_pointer@Base 5
+ htab_find@Base 5
+ htab_find_slot@Base 5
+ htab_find_slot_with_hash@Base 5
+ htab_find_with_hash@Base 5
+ htab_hash_pointer@Base 5
+ htab_hash_string@Base 5
+ htab_remove_elt@Base 5
+ htab_remove_elt_with_hash@Base 5
+ htab_set_functions_ex@Base 5
+ htab_size@Base 5
+ htab_traverse@Base 5
+ htab_traverse_noresize@Base 5
+ htab_try_create@Base 5
+ iterative_hash@Base 5
+ libiberty_concat_ptr@Base 5
+ reconcat@Base 5
+ xcalloc@Base 5
+ xexit@Base 5
+ xmalloc@Base 5
+ xmalloc_failed@Base 5
+ xmalloc_set_program_name@Base 5
+ xre_comp@Base 5
+ xre_compile_fastmap@Base 5
+ xre_compile_pattern@Base 5
+ xre_exec@Base 5
+ xre_match@Base 5
+ xre_match_2@Base 5
+ xre_max_failures@Base 5
+ xre_search@Base 5
+ xre_search_2@Base 5
+ xre_set_registers@Base 5
+ xre_set_syntax@Base 5
+ xre_syntax_options@Base 5
+ xrealloc@Base 5
+ xregcomp@Base 5
+ xregerror@Base 5
+ xregexec@Base 5
+ xregfree@Base 5
+ xstrdup@Base 7
--- /dev/null
+libgcc_s.so.1 #PACKAGE# #MINVER#
+ (symver)GCC_3.0 1:3.0
+ (symver)GCC_3.3 1:3.3
+ (symver)GCC_3.3.1 1:3.3.1
+# __gcc_personality_sj0, __gcc_personality_v0
+#(symver|optional)GCC_3.3.2 1:3.3.2
+ (symver|arch=armel armhf mips mipsel mipsn32 mips64 mips64el powerpc powerpcspe sh4)GCC_3.3.4 1:3.3.4
+ (symver)GCC_3.4 1:3.4
+ (symver)GCC_3.4.2 1:3.4.2
+#(symver|arch-bits=32)GCC_3.4.4 1:3.4.4
+ (symver|arch=!armel !armhf !any-i386 !mips !mipsel !powerpc !powerpcspe !s390 !sh4 !sparc)GCC_3.4.4 1:3.4.4
+ (symver|arch=armel armhf|ignore-blacklist)GCC_3.5 1:3.5
+ (symver)GCC_4.0.0 1:4.0
+ (symver|arch=powerpc s390 s390x)GCC_4.1.0 1:4.1
+ (symver)GCC_4.2.0 1:4.2
+ (symver)GCC_4.3.0 1:4.3
+ (symver|arch=any-i386 mips mipsel mipsn32 mips64 mips64el)GCC_4.4.0 1:4.4
+ (symver|arch=arm64 any-i386 mipsn32 mips64 mips64el)GCC_4.5.0 1:4.5
+#(symver|optional)GCC_4.6.0 1:4.6
+ (symver)GCC_4.7.0 1:4.7
+ (symver|arch=any-amd64 any-i386 x32)GCC_4.8.0 1:4.8
+ (symver|arch=!any-amd64 !x32 !sparc64 !s390x)GLIBC_2.0 1:4.2
+ (symver|arch=s390x sh4 sparc64)GLIBC_2.2 1:4.2
+ (symver|arch=sparc)GCC_LDBL_3.0@GCC_LDBL_3.0 1:3.0
+ (symver|arch=alpha sparc)GCC_LDBL_4.0.0@GCC_LDBL_4.0.0 1:4.0
+ (symver)GCC_7.0.0 1:7
--- /dev/null
+ __aeabi_cdcmpeq@GCC_3.5 1:3.5
+ __aeabi_cdcmple@GCC_3.5 1:3.5
+ __aeabi_cdrcmple@GCC_3.5 1:3.5
+ __aeabi_cfcmpeq@GCC_3.5 1:3.5
+ __aeabi_cfcmple@GCC_3.5 1:3.5
+ __aeabi_cfrcmple@GCC_3.5 1:3.5
+ __aeabi_d2f@GCC_3.5 1:3.5
+ __aeabi_d2iz@GCC_3.5 1:3.5
+ __aeabi_d2lz@GCC_3.5 1:3.5
+ __aeabi_d2uiz@GCC_3.5 1:3.5
+ __aeabi_d2ulz@GCC_3.5 1:3.5
+ __aeabi_dadd@GCC_3.5 1:3.5
+ __aeabi_dcmpeq@GCC_3.5 1:3.5
+ __aeabi_dcmpge@GCC_3.5 1:3.5
+ __aeabi_dcmpgt@GCC_3.5 1:3.5
+ __aeabi_dcmple@GCC_3.5 1:3.5
+ __aeabi_dcmplt@GCC_3.5 1:3.5
+ __aeabi_dcmpun@GCC_3.5 1:3.5
+ __aeabi_ddiv@GCC_3.5 1:3.5
+ __aeabi_dmul@GCC_3.5 1:3.5
+ __aeabi_dneg@GCC_3.5 1:3.5
+ __aeabi_drsub@GCC_3.5 1:3.5
+ __aeabi_dsub@GCC_3.5 1:3.5
+ __aeabi_f2d@GCC_3.5 1:3.5
+ __aeabi_f2iz@GCC_3.5 1:3.5
+ __aeabi_f2lz@GCC_3.5 1:3.5
+ __aeabi_f2uiz@GCC_3.5 1:3.5
+ __aeabi_f2ulz@GCC_3.5 1:3.5
+ __aeabi_fadd@GCC_3.5 1:3.5
+ __aeabi_fcmpeq@GCC_3.5 1:3.5
+ __aeabi_fcmpge@GCC_3.5 1:3.5
+ __aeabi_fcmpgt@GCC_3.5 1:3.5
+ __aeabi_fcmple@GCC_3.5 1:3.5
+ __aeabi_fcmplt@GCC_3.5 1:3.5
+ __aeabi_fcmpun@GCC_3.5 1:3.5
+ __aeabi_fdiv@GCC_3.5 1:3.5
+ __aeabi_fmul@GCC_3.5 1:3.5
+ __aeabi_fneg@GCC_3.5 1:3.5
+ __aeabi_frsub@GCC_3.5 1:3.5
+ __aeabi_fsub@GCC_3.5 1:3.5
+ __aeabi_i2d@GCC_3.5 1:3.5
+ __aeabi_i2f@GCC_3.5 1:3.5
+ __aeabi_idiv@GCC_3.5 1:3.5
+ __aeabi_idiv0@GCC_3.5 1:4.5.0
+ __aeabi_idivmod@GCC_3.5 1:3.5
+ __aeabi_l2d@GCC_3.5 1:3.5
+ __aeabi_l2f@GCC_3.5 1:3.5
+ __aeabi_lasr@GCC_3.5 1:3.5
+ __aeabi_lcmp@GCC_3.5 1:3.5
+ __aeabi_ldivmod@GCC_3.5 1:3.5
+ __aeabi_ldiv0@GCC_3.5 1:4.5.0
+ __aeabi_llsl@GCC_3.5 1:3.5
+ __aeabi_llsr@GCC_3.5 1:3.5
+ __aeabi_lmul@GCC_3.5 1:3.5
+ __aeabi_ui2d@GCC_3.5 1:3.5
+ __aeabi_ui2f@GCC_3.5 1:3.5
+ __aeabi_uidiv@GCC_3.5 1:3.5
+ __aeabi_uidivmod@GCC_3.5 1:3.5
+ __aeabi_ul2d@GCC_3.5 1:3.5
+ __aeabi_ul2f@GCC_3.5 1:3.5
+ __aeabi_ulcmp@GCC_3.5 1:3.5
+ __aeabi_uldivmod@GCC_3.5 1:3.5
+ __aeabi_unwind_cpp_pr0@GCC_3.5 1:3.5
+ __aeabi_unwind_cpp_pr1@GCC_3.5 1:3.5
+ __aeabi_unwind_cpp_pr2@GCC_3.5 1:3.5
+ __aeabi_uread4@GCC_3.5 1:3.5
+ __aeabi_uread8@GCC_3.5 1:3.5
+ __aeabi_uwrite4@GCC_3.5 1:3.5
+ __aeabi_uwrite8@GCC_3.5 1:3.5
--- /dev/null
+libgcc_s.so.2 libgcc2 #MINVER#
+ GCC_3.0@GCC_3.0 4.2.1
+ GCC_3.3.1@GCC_3.3.1 4.2.1
+ GCC_3.3.4@GCC_3.3.4 4.4.5
+ GCC_3.3@GCC_3.3 4.2.1
+ GCC_3.4.2@GCC_3.4.2 4.2.1
+ GCC_3.4@GCC_3.4 4.2.1
+ GCC_4.0.0@GCC_4.0.0 4.2.1
+ GCC_4.2.0@GCC_4.2.0 4.2.1
+ GCC_4.3.0@GCC_4.3.0 4.3.0
+ GCC_4.5.0@GCC_4.5.0 4.5
+ GCC_4.7.0@GCC_4.7.0 4.7
+ GLIBC_2.0@GLIBC_2.0 4.2.1
+ _Unwind_Backtrace@GCC_3.3 4.2.1
+ _Unwind_DeleteException@GCC_3.0 4.2.1
+ _Unwind_FindEnclosingFunction@GCC_3.3 4.2.1
+ _Unwind_Find_FDE@GCC_3.0 4.2.1
+ _Unwind_ForcedUnwind@GCC_3.0 4.2.1
+ _Unwind_GetCFA@GCC_3.3 4.2.1
+ _Unwind_GetDataRelBase@GCC_3.0 4.2.1
+ _Unwind_GetGR@GCC_3.0 4.2.1
+ _Unwind_GetIP@GCC_3.0 4.2.1
+ _Unwind_GetIPInfo@GCC_4.2.0 4.2.1
+ _Unwind_GetLanguageSpecificData@GCC_3.0 4.2.1
+ _Unwind_GetRegionStart@GCC_3.0 4.2.1
+ _Unwind_GetTextRelBase@GCC_3.0 4.2.1
+ _Unwind_RaiseException@GCC_3.0 4.2.1
+ _Unwind_Resume@GCC_3.0 4.2.1
+ _Unwind_Resume_or_Rethrow@GCC_3.3 4.2.1
+ _Unwind_SetGR@GCC_3.0 4.2.1
+ _Unwind_SetIP@GCC_3.0 4.2.1
+ __absvdi2@GCC_3.0 4.2.1
+ __absvsi2@GCC_3.0 4.2.1
+ __adddf3@GCC_3.0 4.4.5
+ __addsf3@GCC_3.0 4.4.5
+ __addvdi3@GCC_3.0 4.2.1
+ __addvsi3@GCC_3.0 4.2.1
+ __addxf3@GCC_3.0 4.4.5
+ __ashldi3@GCC_3.0 4.2.1
+ __ashrdi3@GCC_3.0 4.2.1
+ __bswapdi2@GCC_4.3.0 4.3.0
+ __bswapsi2@GCC_4.3.0 4.3.0
+ __clear_cache@GCC_3.0 4.2.1
+ __clrsbdi2@GCC_4.7.0 4.7
+ __clrsbsi2@GCC_4.7.0 4.7
+ __clzdi2@GCC_3.4 4.2.1
+ __clzsi2@GCC_3.4 4.2.1
+ __cmpdi2@GCC_3.0 4.2.1
+ __ctzdi2@GCC_3.4 4.2.1
+ __ctzsi2@GCC_3.4 4.2.1
+ __deregister_frame@GLIBC_2.0 4.2.1
+ __deregister_frame_info@GLIBC_2.0 4.2.1
+ __deregister_frame_info_bases@GCC_3.0 4.2.1
+ __divdc3@GCC_4.0.0 4.2.1
+ __divdf3@GCC_3.0 4.4.5
+ __divdi3@GLIBC_2.0 4.2.1
+ __divsc3@GCC_4.0.0 4.2.1
+ __divsf3@GCC_3.0 4.4.5
+ __divsi3@GCC_3.0 4.4.5
+ __divxc3@GCC_4.0.0 4.2.1
+ __divxf3@GCC_3.0 4.4.5
+ __emutls_get_address@GCC_4.3.0 4.3.0
+ __emutls_register_common@GCC_4.3.0 4.3.0
+ __enable_execute_stack@GCC_3.4.2 4.2.1
+ __eqdf2@GCC_3.0 4.4.5
+ __eqsf2@GCC_3.0 4.4.5
+ __eqxf2@GCC_3.0 4.4.5
+ __extenddfxf2@GCC_3.0 4.4.5
+ __extendsfdf2@GCC_3.0 4.4.5
+ __extendsfxf2@GCC_3.0 4.4.5
+ __ffsdi2@GCC_3.0 4.2.1
+ __ffssi2@GCC_4.3.0 4.3.0
+ __fixdfdi@GCC_3.0 4.2.1
+ __fixdfsi@GCC_3.0 4.4.5
+ __fixsfdi@GCC_3.0 4.2.1
+ __fixsfsi@GCC_3.0 4.4.5
+ __fixunsdfdi@GCC_3.0 4.2.1
+ __fixunsdfsi@GCC_3.0 4.2.1
+ __fixunssfdi@GCC_3.0 4.2.1
+ __fixunssfsi@GCC_3.0 4.2.1
+ __fixunsxfdi@GCC_3.0 4.2.1
+ __fixunsxfsi@GCC_3.0 4.2.1
+ __fixxfdi@GCC_3.0 4.2.1
+ __fixxfsi@GCC_3.0 4.4.5
+ __floatdidf@GCC_3.0 4.2.1
+ __floatdisf@GCC_3.0 4.2.1
+ __floatdixf@GCC_3.0 4.2.1
+ __floatsidf@GCC_3.0 4.4.5
+ __floatsisf@GCC_3.0 4.4.5
+ __floatsixf@GCC_3.0 4.4.5
+ __floatundidf@GCC_4.2.0 4.2.1
+ __floatundisf@GCC_4.2.0 4.2.1
+ __floatundixf@GCC_4.2.0 4.2.1
+ __floatunsidf@GCC_4.2.0 4.4.5
+ __floatunsisf@GCC_4.2.0 4.4.5
+ __floatunsixf@GCC_4.2.0 4.4.5
+ __frame_state_for@GLIBC_2.0 4.2.1
+ __gcc_personality_v0@GCC_3.3.1 4.2.1
+ __gedf2@GCC_3.0 4.4.5
+ __gesf2@GCC_3.0 4.4.5
+ __gexf2@GCC_3.0 4.4.5
+ __gtdf2@GCC_3.0 4.4.5
+ __gtsf2@GCC_3.0 4.4.5
+ __gtxf2@GCC_3.0 4.4.5
+ __ledf2@GCC_3.0 4.4.5
+ __lesf2@GCC_3.0 4.4.5
+ __lexf2@GCC_3.0 4.4.5
+ __lshrdi3@GCC_3.0 4.2.1
+ __ltdf2@GCC_3.0 4.4.5
+ __ltsf2@GCC_3.0 4.4.5
+ __ltxf2@GCC_3.0 4.4.5
+ __moddi3@GLIBC_2.0 4.2.1
+ __modsi3@GCC_3.0 4.4.5
+ __muldc3@GCC_4.0.0 4.2.1
+ __muldf3@GCC_3.0 4.4.5
+ __muldi3@GCC_3.0 4.2.1
+ __mulsc3@GCC_4.0.0 4.2.1
+ __mulsf3@GCC_3.0 4.4.5
+ __mulsi3@GCC_3.0 4.4.5
+ __mulvdi3@GCC_3.0 4.2.1
+ __mulvsi3@GCC_3.0 4.2.1
+ __mulxc3@GCC_4.0.0 4.2.1
+ __mulxf3@GCC_3.0 4.4.5
+ __nedf2@GCC_3.0 4.4.5
+ __negdf2@GCC_3.0 4.4.5
+ __negdi2@GCC_3.0 4.2.1
+ __negsf2@GCC_3.0 4.4.5
+ __negvdi2@GCC_3.0 4.2.1
+ __negvsi2@GCC_3.0 4.2.1
+ __negxf2@GCC_3.0 4.4.5
+ __nesf2@GCC_3.0 4.4.5
+ __nexf2@GCC_3.0 4.4.5
+ __paritydi2@GCC_3.4 4.2.1
+ __paritysi2@GCC_3.4 4.2.1
+ __popcountdi2@GCC_3.4 4.2.1
+ __popcountsi2@GCC_3.4 4.2.1
+ __powidf2@GCC_4.0.0 4.2.1
+ __powisf2@GCC_4.0.0 4.2.1
+ __powixf2@GCC_4.0.0 4.2.1
+ __register_frame@GLIBC_2.0 4.2.1
+ __register_frame_info@GLIBC_2.0 4.2.1
+ __register_frame_info_bases@GCC_3.0 4.2.1
+ __register_frame_info_table@GLIBC_2.0 4.2.1
+ __register_frame_info_table_bases@GCC_3.0 4.2.1
+ __register_frame_table@GLIBC_2.0 4.2.1
+ __subdf3@GCC_3.0 4.4.5
+ __subsf3@GCC_3.0 4.4.5
+ __subvdi3@GCC_3.0 4.2.1
+ __subvsi3@GCC_3.0 4.2.1
+ __subxf3@GCC_3.0 4.4.5
+ __truncdfsf2@GCC_3.0 4.4.5
+ __truncxfdf2@GCC_3.0 4.4.5
+ __truncxfsf2@GCC_3.0 4.4.5
+ __ucmpdi2@GCC_3.0 4.2.1
+ __udivdi3@GLIBC_2.0 4.2.1
+ __udivmoddi4@GCC_3.0 4.2.1
+ __udivsi3@GCC_3.0 4.4.5
+ __umoddi3@GLIBC_2.0 4.2.1
+ __umodsi3@GCC_3.0 4.4.5
+ __unorddf2@GCC_3.3.4 4.4.5
+ __unordsf2@GCC_3.3.4 4.4.5
+ __unordxf2@GCC_4.5.0 4.7
--- /dev/null
+libgcc_s.so.4 libgcc4 #MINVER#
+ GCC_3.0@GCC_3.0 4.1.1
+ GCC_3.3.1@GCC_3.3.1 4.1.1
+ GCC_3.3@GCC_3.3 4.1.1
+ GCC_3.4.2@GCC_3.4.2 4.1.1
+ GCC_3.4@GCC_3.4 4.1.1
+ GCC_4.0.0@GCC_4.0.0 4.1.1
+ GCC_4.2.0@GCC_4.2.0 4.1.1
+ GCC_4.3.0@GCC_4.3.0 4.3
+ GCC_4.7.0@GCC_4.7.0 1:4.7
+ GLIBC_2.0@GLIBC_2.0 4.1.1
+ _Unwind_Backtrace@GCC_3.3 4.1.1
+ _Unwind_DeleteException@GCC_3.0 4.1.1
+ _Unwind_FindEnclosingFunction@GCC_3.3 4.1.1
+ _Unwind_Find_FDE@GCC_3.0 4.1.1
+ _Unwind_ForcedUnwind@GCC_3.0 4.1.1
+ _Unwind_GetCFA@GCC_3.3 4.1.1
+ _Unwind_GetDataRelBase@GCC_3.0 4.1.1
+ _Unwind_GetGR@GCC_3.0 4.1.1
+ _Unwind_GetIP@GCC_3.0 4.1.1
+ _Unwind_GetIPInfo@GCC_4.2.0 4.1.1
+ _Unwind_GetLanguageSpecificData@GCC_3.0 4.1.1
+ _Unwind_GetRegionStart@GCC_3.0 4.1.1
+ _Unwind_GetTextRelBase@GCC_3.0 4.1.1
+ _Unwind_RaiseException@GCC_3.0 4.1.1
+ _Unwind_Resume@GCC_3.0 4.1.1
+ _Unwind_Resume_or_Rethrow@GCC_3.3 4.1.1
+ _Unwind_SetGR@GCC_3.0 4.1.1
+ _Unwind_SetIP@GCC_3.0 4.1.1
+ __absvdi2@GCC_3.0 4.1.1
+ __absvsi2@GCC_3.0 4.1.1
+ __addvdi3@GCC_3.0 4.1.1
+ __addvsi3@GCC_3.0 4.1.1
+ __ashldi3@GCC_3.0 4.1.1
+ __ashrdi3@GCC_3.0 4.1.1
+ __bswapdi2@GCC_4.3.0 4.3
+ __bswapsi2@GCC_4.3.0 4.3
+ __clear_cache@GCC_3.0 4.1.1
+ __clrsbdi2@GCC_4.7.0 4.7
+ __clrsbsi2@GCC_4.7.0 4.7
+ __clzdi2@GCC_3.4 4.1.1
+ __clzsi2@GCC_3.4 4.1.1
+ __cmpdi2@GCC_3.0 4.1.1
+ __ctzdi2@GCC_3.4 4.1.1
+ __ctzsi2@GCC_3.4 4.1.1
+ __deregister_frame@GLIBC_2.0 4.1.1
+ __deregister_frame_info@GLIBC_2.0 4.1.1
+ __deregister_frame_info_bases@GCC_3.0 4.1.1
+ __divdc3@GCC_4.0.0 4.1.1
+ __divdi3@GLIBC_2.0 4.1.1
+ __divsc3@GCC_4.0.0 4.1.1
+ __emutls_get_address@GCC_4.3.0 4.3
+ __emutls_register_common@GCC_4.3.0 4.3
+ __enable_execute_stack@GCC_3.4.2 4.1.1
+ __ffsdi2@GCC_3.0 4.1.1
+ __ffssi2@GCC_4.3.0 4.3
+ __fixdfdi@GCC_3.0 4.1.1
+ __fixsfdi@GCC_3.0 4.1.1
+ __fixunsdfdi@GCC_3.0 4.1.1
+ __fixunsdfsi@GCC_3.0 4.1.1
+ __fixunssfdi@GCC_3.0 4.1.1
+ __fixunssfsi@GCC_3.0 4.1.1
+ __floatdidf@GCC_3.0 4.1.1
+ __floatdisf@GCC_3.0 4.1.1
+ __floatundidf@GCC_4.2.0 4.2.1
+ __floatundisf@GCC_4.2.0 4.2.1
+ __frame_state_for@GLIBC_2.0 4.1.1
+ __gcc_personality_v0@GCC_3.3.1 4.1.1
+ __lshrdi3@GCC_3.0 4.1.1
+ __moddi3@GLIBC_2.0 4.1.1
+ __muldc3@GCC_4.0.0 4.1.1
+ __muldi3@GCC_3.0 4.1.1
+ __mulsc3@GCC_4.0.0 4.1.1
+ __mulvdi3@GCC_3.0 4.1.1
+ __mulvsi3@GCC_3.0 4.1.1
+ __negdi2@GCC_3.0 4.1.1
+ __negvdi2@GCC_3.0 4.1.1
+ __negvsi2@GCC_3.0 4.1.1
+ __paritydi2@GCC_3.4 4.1.1
+ __paritysi2@GCC_3.4 4.1.1
+ __popcountdi2@GCC_3.4 4.1.1
+ __popcountsi2@GCC_3.4 4.1.1
+ __powidf2@GCC_4.0.0 4.1.1
+ __powisf2@GCC_4.0.0 4.1.1
+ __register_frame@GLIBC_2.0 4.1.1
+ __register_frame_info@GLIBC_2.0 4.1.1
+ __register_frame_info_bases@GCC_3.0 4.1.1
+ __register_frame_info_table@GLIBC_2.0 4.1.1
+ __register_frame_info_table_bases@GCC_3.0 4.1.1
+ __register_frame_table@GLIBC_2.0 4.1.1
+ __subvdi3@GCC_3.0 4.1.1
+ __subvsi3@GCC_3.0 4.1.1
+ __ucmpdi2@GCC_3.0 4.1.1
+ __udivdi3@GLIBC_2.0 4.1.1
+ __udivmoddi4@GCC_3.0 4.1.1
+ __umoddi3@GLIBC_2.0 4.1.1
--- /dev/null
+#! /bin/sh -e
+
+case "$1" in
+ configure)
+ docdir=/usr/share/doc/libgcc@LC@
+ if [ -d $docdir ] && [ ! -h $docdir ]; then
+ rm -rf $docdir
+ ln -s gcc-@BV@-base $docdir
+ fi
+esac
+
+#DEBHELPER#
--- /dev/null
+libgccjit.so.0 #PACKAGE# #MINVER#
+ (symver)LIBGCCJIT_ABI_0 5.1
+ (symver)LIBGCCJIT_ABI_1 5.1
+ (symver)LIBGCCJIT_ABI_2 5.1
+ (symver)LIBGCCJIT_ABI_3 5.1
+ (symver)LIBGCCJIT_ABI_4 6
+ (symver)LIBGCCJIT_ABI_5 6
+ (symver)LIBGCCJIT_ABI_6 7
+ (symver)LIBGCCJIT_ABI_7 8
+ (symver)LIBGCCJIT_ABI_8 8
+ (symver)LIBGCCJIT_ABI_9 8
+ (symver)LIBGCCJIT_ABI_10 8
--- /dev/null
+libgfortran.so.5 #PACKAGE# #MINVER#
+ (symver)GFORTRAN_8 8
+ (symver)GFORTRAN_C99_8 8
+ (symver)GFORTRAN_F2C_8 8
--- /dev/null
+libgomp.so.1 #PACKAGE# #MINVER#
+ (symver)GOACC_2.0 5
+ (symver)GOACC_2.0.1 6
+ (symver)GOMP_1.0 4.2.1
+ (symver)GOMP_2.0 4.4
+ (symver)GOMP_3.0 4.7
+ (symver)GOMP_4.0 4.9
+ (symver)GOMP_4.0.1 5
+ (symver)GOMP_4.5 6
+ (symver)GOMP_PLUGIN_1.0 5
+ (symver)GOMP_PLUGIN_1.1 6
+ (symver)OACC_2.0 5
+ (symver)OACC_2.0.1 8
+ (symver)OMP_1.0 4.2.1
+ (symver)OMP_2.0 4.2.1
+ (symver)OMP_3.0 4.4
+ (symver)OMP_3.1 4.7
+ (symver)OMP_4.0 4.9
+ (symver)OMP_4.5 6
--- /dev/null
+libhsail-rt.so.0 #PACKAGE# #MINVER#
+ __hsail_addqueuewriteindex@Base 7
+ __hsail_alloca@Base 7
+ __hsail_alloca_pop_frame@Base 7
+ __hsail_alloca_push_frame@Base 7
+ __hsail_arrivefbar@Base 7
+ __hsail_atomic_max_s32@Base 7
+ __hsail_atomic_max_s64@Base 7
+ __hsail_atomic_max_u32@Base 7
+ __hsail_atomic_max_u64@Base 7
+ __hsail_atomic_min_s32@Base 7
+ __hsail_atomic_min_s64@Base 7
+ __hsail_atomic_min_u32@Base 7
+ __hsail_atomic_min_u64@Base 7
+ __hsail_atomic_wrapdec_u32@Base 7
+ __hsail_atomic_wrapdec_u64@Base 7
+ __hsail_atomic_wrapinc_u32@Base 7
+ __hsail_atomic_wrapinc_u64@Base 7
+ __hsail_barrier@Base 7
+ __hsail_bitalign@Base 7
+ __hsail_bitextract_s32@Base 7
+ __hsail_bitextract_s64@Base 7
+ __hsail_bitextract_u32@Base 7
+ __hsail_bitextract_u64@Base 7
+ __hsail_bitinsert_u32@Base 7
+ __hsail_bitinsert_u64@Base 7
+ __hsail_bitmask_u32@Base 7
+ __hsail_bitmask_u64@Base 7
+ __hsail_bitrev_u32@Base 7
+ __hsail_bitrev_u64@Base 7
+ __hsail_bitselect_u32@Base 7
+ __hsail_bitselect_u64@Base 7
+ __hsail_borrow_u32@Base 7
+ __hsail_borrow_u64@Base 7
+ __hsail_bytealign@Base 7
+ __hsail_carry_u32@Base 7
+ __hsail_carry_u64@Base 7
+ __hsail_casqueuewriteindex@Base 7
+ __hsail_class_f32@Base 7
+ __hsail_class_f32_f16@Base 7
+ __hsail_class_f64@Base 8
+ __hsail_clock@Base 7
+ __hsail_cuid@Base 7
+ __hsail_currentworkgroupsize@Base 7
+ __hsail_currentworkitemflatid@Base 7
+ __hsail_cvt_zeroi_sat_s16_f32@Base 7
+ __hsail_cvt_zeroi_sat_s16_f64@Base 7
+ __hsail_cvt_zeroi_sat_s32_f32@Base 7
+ __hsail_cvt_zeroi_sat_s32_f64@Base 7
+ __hsail_cvt_zeroi_sat_s64_f32@Base 7
+ __hsail_cvt_zeroi_sat_s64_f64@Base 7
+ __hsail_cvt_zeroi_sat_s8_f32@Base 7
+ __hsail_cvt_zeroi_sat_s8_f64@Base 7
+ __hsail_cvt_zeroi_sat_u16_f32@Base 7
+ __hsail_cvt_zeroi_sat_u16_f64@Base 7
+ __hsail_cvt_zeroi_sat_u32_f32@Base 7
+ __hsail_cvt_zeroi_sat_u32_f64@Base 7
+ __hsail_cvt_zeroi_sat_u64_f32@Base 7
+ __hsail_cvt_zeroi_sat_u64_f64@Base 7
+ __hsail_cvt_zeroi_sat_u8_f32@Base 7
+ __hsail_cvt_zeroi_sat_u8_f64@Base 7
+ __hsail_debugtrap@Base 7
+ __hsail_dim@Base 7
+ __hsail_f16_to_f32@Base 7
+ __hsail_f32_to_f16@Base 7
+ __hsail_firstbit_s32@Base 7
+ __hsail_firstbit_s64@Base 7
+ __hsail_firstbit_u32@Base 7
+ __hsail_firstbit_u64@Base 7
+ __hsail_fract_f32@Base 7
+ __hsail_fract_f64@Base 7
+ __hsail_ftz_f32@Base 7
+ __hsail_ftz_f32_f16@Base 7
+ __hsail_ftz_f64@Base 7
+ __hsail_gridgroups@Base 7
+ __hsail_gridsize@Base 7
+ __hsail_groupbaseptr@Base 7
+ __hsail_initfbar@Base 7
+ __hsail_joinfbar@Base 7
+ __hsail_kernargbaseptr_u32@Base 7
+ __hsail_kernargbaseptr_u64@Base 7
+ __hsail_lastbit_u32@Base 7
+ __hsail_lastbit_u64@Base 7
+ __hsail_launch_kernel@Base 7
+ __hsail_launch_wg_function@Base 7
+ __hsail_ldqueuereadindex@Base 7
+ __hsail_ldqueuewriteindex@Base 7
+ __hsail_leavefbar@Base 7
+ __hsail_lerp@Base 7
+ __hsail_max_f32@Base 7
+ __hsail_max_f64@Base 7
+ __hsail_maxcuid@Base 7
+ __hsail_min_f32@Base 7
+ __hsail_min_f64@Base 7
+ __hsail_packcvt@Base 7
+ __hsail_packetcompletionsig_sig32@Base 7
+ __hsail_packetcompletionsig_sig64@Base 7
+ __hsail_packetid@Base 7
+ __hsail_releasefbar@Base 7
+ __hsail_rem_s32@Base 7
+ __hsail_rem_s64@Base 7
+ __hsail_sad_u16x2@Base 7
+ __hsail_sad_u32@Base 7
+ __hsail_sad_u8x4@Base 7
+ __hsail_sadhi_u16x2_u8x4@Base 7
+ __hsail_sat_add_s16@Base 7
+ __hsail_sat_add_s32@Base 7
+ __hsail_sat_add_s64@Base 7
+ __hsail_sat_add_s8@Base 7
+ __hsail_sat_add_u16@Base 7
+ __hsail_sat_add_u32@Base 7
+ __hsail_sat_add_u64@Base 7
+ __hsail_sat_add_u8@Base 7
+ __hsail_sat_mul_s16@Base 7
+ __hsail_sat_mul_s32@Base 7
+ __hsail_sat_mul_s64@Base 7
+ __hsail_sat_mul_s8@Base 7
+ __hsail_sat_mul_u16@Base 7
+ __hsail_sat_mul_u32@Base 7
+ __hsail_sat_mul_u64@Base 7
+ __hsail_sat_mul_u8@Base 7
+ __hsail_sat_sub_s16@Base 7
+ __hsail_sat_sub_s32@Base 7
+ __hsail_sat_sub_s64@Base 7
+ __hsail_sat_sub_s8@Base 7
+ __hsail_sat_sub_u16@Base 7
+ __hsail_sat_sub_u32@Base 7
+ __hsail_sat_sub_u64@Base 7
+ __hsail_sat_sub_u8@Base 7
+ __hsail_segmentp_global@Base 7
+ __hsail_segmentp_group@Base 7
+ __hsail_segmentp_private@Base 7
+ __hsail_setworkitemid@Base 7
+ __hsail_stqueuereadindex@Base 7
+ __hsail_stqueuewriteindex@Base 7
+ __hsail_unpackcvt@Base 7
+ __hsail_waitfbar@Base 7
+ __hsail_workgroupid@Base 7
+ __hsail_workgroupsize@Base 7
+ __hsail_workitemabsid@Base 7
+ __hsail_workitemabsid_u64@Base 7
+ __hsail_workitemflatabsid_u32@Base 7
+ __hsail_workitemflatabsid_u64@Base 7
+ __hsail_workitemflatid@Base 7
+ __hsail_workitemid@Base 7
+ fiber_barrier_init@Base 7
+ fiber_barrier_reach@Base 7
+ fiber_exit@Base 7
+ fiber_init@Base 7
+ fiber_int_args_to_ptr@Base 7
+ fiber_join@Base 7
+ fiber_yield@Base 7
+ main_context@Base 7
+ phsa_fatal_error@Base 7
--- /dev/null
+libitm.so.1 #PACKAGE# #MINVER#
+ (symver)LIBITM_1.0 4.7
+ (symver)LIBITM_1.1 6
--- /dev/null
+liblsan.so.0 liblsan0 #MINVER#
+ OnPrint@Base 8
+ _ZN11__sanitizer11CheckFailedEPKciS1_yy@Base 4.9
+ _ZdaPv@Base 4.9
+ _ZdaPvRKSt9nothrow_t@Base 4.9
+ _ZdaPvSt11align_val_t@Base 8
+ _ZdaPvSt11align_val_tRKSt9nothrow_t@Base 8
+ _ZdaPvm@Base 8
+ _ZdaPvmSt11align_val_t@Base 8
+ _ZdlPv@Base 4.9
+ _ZdlPvRKSt9nothrow_t@Base 4.9
+ _ZdlPvSt11align_val_t@Base 8
+ _ZdlPvSt11align_val_tRKSt9nothrow_t@Base 8
+ _ZdlPvm@Base 8
+ _ZdlPvmSt11align_val_t@Base 8
+ _Znam@Base 4.9
+ _ZnamRKSt9nothrow_t@Base 4.9
+ _ZnamSt11align_val_t@Base 8
+ _ZnamSt11align_val_tRKSt9nothrow_t@Base 8
+ _Znwm@Base 4.9
+ _ZnwmRKSt9nothrow_t@Base 4.9
+ _ZnwmSt11align_val_t@Base 8
+ _ZnwmSt11align_val_tRKSt9nothrow_t@Base 8
+ __asan_backtrace_alloc@Base 4.9
+ __asan_backtrace_close@Base 4.9
+ __asan_backtrace_create_state@Base 4.9
+ __asan_backtrace_dwarf_add@Base 4.9
+ __asan_backtrace_free@Base 4.9
+ __asan_backtrace_get_view@Base 4.9
+ __asan_backtrace_initialize@Base 4.9
+ __asan_backtrace_open@Base 4.9
+ __asan_backtrace_pcinfo@Base 4.9
+ __asan_backtrace_qsort@Base 4.9
+ __asan_backtrace_release_view@Base 4.9
+ __asan_backtrace_syminfo@Base 4.9
+ __asan_backtrace_uncompress_zdebug@Base 8
+ __asan_backtrace_vector_finish@Base 4.9
+ __asan_backtrace_vector_grow@Base 4.9
+ __asan_backtrace_vector_release@Base 4.9
+ __asan_cplus_demangle_builtin_types@Base 4.9
+ __asan_cplus_demangle_fill_ctor@Base 4.9
+ __asan_cplus_demangle_fill_dtor@Base 4.9
+ __asan_cplus_demangle_fill_extended_operator@Base 4.9
+ __asan_cplus_demangle_fill_name@Base 4.9
+ __asan_cplus_demangle_init_info@Base 4.9
+ __asan_cplus_demangle_mangled_name@Base 4.9
+ __asan_cplus_demangle_operators@Base 4.9
+ __asan_cplus_demangle_print@Base 4.9
+ __asan_cplus_demangle_print_callback@Base 4.9
+ __asan_cplus_demangle_type@Base 4.9
+ __asan_cplus_demangle_v3@Base 4.9
+ __asan_cplus_demangle_v3_callback@Base 4.9
+ __asan_internal_memcmp@Base 4.9
+ __asan_internal_memcpy@Base 4.9
+ __asan_internal_memset@Base 4.9
+ __asan_internal_strcmp@Base 4.9
+ __asan_internal_strlen@Base 4.9
+ __asan_internal_strncmp@Base 4.9
+ __asan_internal_strnlen@Base 4.9
+ __asan_is_gnu_v3_mangled_ctor@Base 4.9
+ __asan_is_gnu_v3_mangled_dtor@Base 4.9
+ __asan_java_demangle_v3@Base 4.9
+ __asan_java_demangle_v3_callback@Base 4.9
+ __interceptor___libc_memalign@Base 4.9
+ __interceptor__exit@Base 8
+ __interceptor_aligned_alloc@Base 5
+ __interceptor_calloc@Base 4.9
+ __interceptor_cfree@Base 4.9
+ __interceptor_free@Base 4.9
+ __interceptor_mallinfo@Base 4.9
+ __interceptor_malloc@Base 4.9
+ __interceptor_malloc_usable_size@Base 4.9
+ __interceptor_mallopt@Base 4.9
+ __interceptor_mcheck@Base 8
+ __interceptor_mcheck_pedantic@Base 8
+ __interceptor_memalign@Base 4.9
+ __interceptor_mprobe@Base 8
+ __interceptor_posix_memalign@Base 4.9
+ __interceptor_pthread_create@Base 4.9
+ __interceptor_pthread_join@Base 4.9
+ __interceptor_pvalloc@Base 4.9
+ __interceptor_realloc@Base 4.9
+ __interceptor_sigaction@Base 8
+ __interceptor_signal@Base 8
+ __interceptor_valloc@Base 4.9
+ __libc_memalign@Base 4.9
+ __lsan_disable@Base 4.9
+ __lsan_do_leak_check@Base 4.9
+ __lsan_do_recoverable_leak_check@Base 6
+ __lsan_enable@Base 4.9
+ __lsan_ignore_object@Base 4.9
+ __lsan_init@Base 8
+ __lsan_register_root_region@Base 5
+ __lsan_unregister_root_region@Base 5
+ __sancov_default_options@Base 8
+ __sancov_lowest_stack@Base 8
+ __sanitizer_cov_8bit_counters_init@Base 8
+ __sanitizer_cov_dump@Base 4.9
+ __sanitizer_cov_pcs_init@Base 8
+ __sanitizer_cov_reset@Base 8
+ __sanitizer_cov_trace_cmp1@Base 7
+ __sanitizer_cov_trace_cmp2@Base 7
+ __sanitizer_cov_trace_cmp4@Base 7
+ __sanitizer_cov_trace_cmp8@Base 7
+ __sanitizer_cov_trace_cmp@Base 6
+ __sanitizer_cov_trace_const_cmp1@Base 8
+ __sanitizer_cov_trace_const_cmp2@Base 8
+ __sanitizer_cov_trace_const_cmp4@Base 8
+ __sanitizer_cov_trace_const_cmp8@Base 8
+ __sanitizer_cov_trace_div4@Base 7
+ __sanitizer_cov_trace_div8@Base 7
+ __sanitizer_cov_trace_gep@Base 7
+ __sanitizer_cov_trace_pc_guard@Base 7
+ __sanitizer_cov_trace_pc_guard_init@Base 7
+ __sanitizer_cov_trace_pc_indir@Base 7
+ __sanitizer_cov_trace_switch@Base 6
+ __sanitizer_dump_coverage@Base 8
+ __sanitizer_dump_trace_pc_guard_coverage@Base 8
+ __sanitizer_get_allocated_size@Base 5
+ __sanitizer_get_current_allocated_bytes@Base 5
+ __sanitizer_get_estimated_allocated_size@Base 5
+ __sanitizer_get_free_bytes@Base 5
+ __sanitizer_get_heap_size@Base 5
+ __sanitizer_get_module_and_offset_for_pc@Base 8
+ __sanitizer_get_ownership@Base 5
+ __sanitizer_get_unmapped_bytes@Base 5
+ __sanitizer_install_malloc_and_free_hooks@Base 7
+ __sanitizer_print_stack_trace@Base 5
+ __sanitizer_report_error_summary@Base 4.9
+ __sanitizer_sandbox_on_notify@Base 4.9
+ __sanitizer_set_death_callback@Base 6
+ __sanitizer_set_report_fd@Base 7
+ __sanitizer_set_report_path@Base 4.9
+ __sanitizer_symbolize_global@Base 7
+ __sanitizer_symbolize_pc@Base 7
+ _exit@Base 8
+ aligned_alloc@Base 5
+ calloc@Base 4.9
+ cfree@Base 4.9
+ free@Base 4.9
+ (arch=base-any-any-amd64 any-mips any-mipsel)internal_sigreturn@Base 7
+ mallinfo@Base 4.9
+ malloc@Base 4.9
+ malloc_usable_size@Base 4.9
+ mallopt@Base 4.9
+ mcheck@Base 8
+ mcheck_pedantic@Base 8
+ memalign@Base 4.9
+ mprobe@Base 8
+ posix_memalign@Base 4.9
+ pthread_create@Base 4.9
+ pthread_join@Base 4.9
+ pvalloc@Base 4.9
+ realloc@Base 4.9
+ sigaction@Base 8
+ signal@Base 8
+ valloc@Base 4.9
--- /dev/null
+libmpx.so.2 #PACKAGE# #MINVER#
+ (symver)LIBMPX_1.0 5
+ (symver)LIBMPX_2.0 6
+libmpxwrappers.so.2 #PACKAGE# #MINVER#
+ (symver)LIBMPXWRAPPERS_1.0 5
--- /dev/null
+libobjc.so.4 #PACKAGE# #MINVER#
+#include "libobjc.symbols.common"
+ __gnu_objc_personality_v0@Base 4.2.1
+ (arch=armel armhf)__objc_exception_class@Base 4.3.0
+libobjc_gc.so.4 #PACKAGE# #MINVER#
+#include "libobjc.symbols.common"
+(optional)#include "libobjc.symbols.gc"
+ __gnu_objc_personality_v0@Base 4.2.1
+ (arch=armel armhf)__objc_exception_class@Base 4.3.0
--- /dev/null
+ __objc_accessors_init@Base 4.6
+ __objc_add_class_to_hash@Base 4.2.1
+ __objc_class_links_resolved@Base 4.2.1
+ __objc_class_name_NXConstantString@Base 4.2.1
+ __objc_class_name_Object@Base 4.2.1
+ __objc_class_name_Protocol@Base 4.2.1
+ __objc_dangling_categories@Base 4.2.1
+ __objc_exec_class@Base 4.2.1
+ __objc_force_linking@Base 4.2.1
+ __objc_generate_gc_type_description@Base 4.2.1
+ __objc_get_forward_imp@Base 4.2.1
+ __objc_init_class@Base 4.6
+ __objc_init_class_tables@Base 4.2.1
+ __objc_init_dispatch_tables@Base 4.2.1
+ __objc_init_selector_tables@Base 4.2.1
+ __objc_init_thread_system@Base 4.2.1
+ __objc_install_premature_dtable@Base 4.2.1
+ __objc_is_multi_threaded@Base 4.2.1
+ __objc_linking@Base 4.2.1
+ __objc_msg_forward@Base 4.2.1
+ __objc_msg_forward2@Base 4.3
+ __objc_print_dtable_stats@Base 4.2.1
+ __objc_protocols_add_protocol@Base 4.6
+ __objc_protocols_init@Base 4.6
+ __objc_register_instance_methods_to_class@Base 4.2.1
+ __objc_register_selectors_from_class@Base 4.2.1
+ __objc_register_selectors_from_description_list@Base 4.6
+ __objc_register_selectors_from_list@Base 4.2.1
+ __objc_register_selectors_from_module@Base 4.6
+ __objc_resolve_class_links@Base 4.2.1
+ __objc_responds_to@Base 4.2.1
+ __objc_runtime_mutex@Base 4.2.1
+ __objc_runtime_threads_alive@Base 4.2.1
+ __objc_selector_max_index@Base 4.2.1
+ __objc_sparse2_id@Base 4.2.1
+ __objc_sync_init@Base 4.6
+ __objc_thread_exit_status@Base 4.2.1
+ __objc_uninstalled_dtable@Base 4.2.1
+ __objc_update_classes_with_methods@Base 4.6
+ __objc_update_dispatch_table_for_class@Base 4.2.1
+ _objc_abort@Base 4.6
+ _objc_became_multi_threaded@Base 4.2.1
+ _objc_load_callback@Base 4.2.1
+ _objc_lookup_class@Base 4.6
+ class_addIvar@Base 4.6
+ class_addMethod@Base 4.6
+ class_addProtocol@Base 4.6
+ class_add_method_list@Base 4.2.1
+ class_conformsToProtocol@Base 4.6
+ class_copyIvarList@Base 4.6
+ class_copyMethodList@Base 4.6
+ class_copyPropertyList@Base 4.6
+ class_copyProtocolList@Base 4.6
+ class_createInstance@Base 4.6
+ class_getClassMethod@Base 4.6
+ class_getClassVariable@Base 4.6
+ class_getInstanceMethod@Base 4.6
+ class_getInstanceSize@Base 4.6
+ class_getInstanceVariable@Base 4.6
+ class_getIvarLayout@Base 4.6
+ class_getMethodImplementation@Base 4.6
+ class_getName@Base 4.6
+ class_getProperty@Base 4.6
+ class_getSuperclass@Base 4.6
+ class_getVersion@Base 4.6
+ class_getWeakIvarLayout@Base 4.6
+ class_isMetaClass@Base 4.6
+ class_ivar_set_gcinvisible@Base 4.2.1
+ class_replaceMethod@Base 4.6
+ class_respondsToSelector@Base 4.6
+ class_setIvarLayout@Base 4.6
+ class_setVersion@Base 4.6
+ class_setWeakIvarLayout@Base 4.6
+ get_imp@Base 4.2.1
+ idxsize@Base 4.2.1
+ ivar_getName@Base 4.6
+ ivar_getOffset@Base 4.6
+ ivar_getTypeEncoding@Base 4.6
+ method_copyArgumentType@Base 4.6
+ method_copyReturnType@Base 4.6
+ method_exchangeImplementations@Base 4.6
+ method_getArgumentType@Base 4.6
+ method_getDescription@Base 4.6
+ method_getImplementation@Base 4.6
+ method_getName@Base 4.6
+ method_getNumberOfArguments@Base 4.6
+ method_getReturnType@Base 4.6
+ method_getTypeEncoding@Base 4.6
+ method_get_imp@Base 4.6
+ method_setImplementation@Base 4.6
+ narrays@Base 4.2.1
+ nbuckets@Base 4.2.1
+ nil_method@Base 4.2.1
+ nindices@Base 4.2.1
+ objc_aligned_size@Base 4.2.1
+ objc_alignof_type@Base 4.2.1
+ objc_allocateClassPair@Base 4.6
+ objc_atomic_malloc@Base 4.2.1
+ objc_calloc@Base 4.2.1
+ objc_condition_allocate@Base 4.2.1
+ objc_condition_broadcast@Base 4.2.1
+ objc_condition_deallocate@Base 4.2.1
+ objc_condition_signal@Base 4.2.1
+ objc_condition_wait@Base 4.2.1
+ objc_copyProtocolList@Base 4.6
+ objc_copyStruct@Base 4.6
+ objc_disposeClassPair@Base 4.6
+ objc_enumerationMutation@Base 4.6
+ objc_exception_throw@Base 4.2.1
+ objc_free@Base 4.2.1
+ objc_getClass@Base 4.6
+ objc_getClassList@Base 4.6
+ objc_getMetaClass@Base 4.6
+ objc_getProperty@Base 4.6
+ objc_getPropertyStruct@Base 4.6
+ objc_getProtocol@Base 4.6
+ objc_getRequiredClass@Base 4.6
+ objc_get_class@Base 4.2.1
+ objc_get_meta_class@Base 4.2.1
+ objc_get_type_qualifiers@Base 4.2.1
+ objc_hash_add@Base 4.2.1
+ objc_hash_delete@Base 4.2.1
+ objc_hash_is_key_in_hash@Base 4.2.1
+ objc_hash_new@Base 4.2.1
+ objc_hash_next@Base 4.2.1
+ objc_hash_remove@Base 4.2.1
+ objc_hash_value_for_key@Base 4.2.1
+ objc_layout_finish_structure@Base 4.2.1
+ objc_layout_structure@Base 4.2.1
+ objc_layout_structure_get_info@Base 4.2.1
+ objc_layout_structure_next_member@Base 4.2.1
+ objc_lookUpClass@Base 4.6
+ objc_lookup_class@Base 4.2.1
+ objc_malloc@Base 4.2.1
+ objc_msg_lookup@Base 4.2.1
+ objc_msg_lookup_super@Base 4.2.1
+ objc_mutex_allocate@Base 4.2.1
+ objc_mutex_deallocate@Base 4.2.1
+ objc_mutex_lock@Base 4.2.1
+ objc_mutex_trylock@Base 4.2.1
+ objc_mutex_unlock@Base 4.2.1
+ objc_promoted_size@Base 4.2.1
+ objc_realloc@Base 4.2.1
+ objc_registerClassPair@Base 4.6
+ objc_setEnumerationMutationHandler@Base 4.6
+ objc_setExceptionMatcher@Base 4.6
+ objc_setGetUnknownClassHandler@Base 4.6
+ objc_setProperty@Base 4.6
+ objc_setPropertyStruct@Base 4.6
+ objc_setUncaughtExceptionHandler@Base 4.6
+ objc_set_thread_callback@Base 4.2.1
+ objc_sizeof_type@Base 4.2.1
+ objc_skip_argspec@Base 4.2.1
+ objc_skip_offset@Base 4.2.1
+ objc_skip_type_qualifiers@Base 4.2.1
+ objc_skip_typespec@Base 4.2.1
+ objc_sync_enter@Base 4.6
+ objc_sync_exit@Base 4.6
+ objc_thread_add@Base 4.2.1
+ objc_thread_detach@Base 4.2.1
+ objc_thread_exit@Base 4.2.1
+ objc_thread_get_data@Base 4.2.1
+ objc_thread_get_priority@Base 4.2.1
+ objc_thread_id@Base 4.2.1
+ objc_thread_remove@Base 4.2.1
+ objc_thread_set_data@Base 4.2.1
+ objc_thread_set_priority@Base 4.2.1
+ objc_thread_yield@Base 4.2.1
+ object_copy@Base 4.2.1
+ object_dispose@Base 4.2.1
+ object_getClassName@Base 4.6
+ object_getIndexedIvars@Base 4.6
+ object_getInstanceVariable@Base 4.6
+ object_getIvar@Base 4.6
+ object_setClass@Base 4.6
+ object_setInstanceVariable@Base 4.6
+ object_setIvar@Base 4.6
+ property_getAttributes@Base 4.6
+ property_getName@Base 4.6
+ protocol_conformsToProtocol@Base 4.6
+ protocol_copyMethodDescriptionList@Base 4.6
+ protocol_copyPropertyList@Base 4.6
+ protocol_copyProtocolList@Base 4.6
+ protocol_getMethodDescription@Base 4.6
+ protocol_getName@Base 4.6
+ protocol_getProperty@Base 4.6
+ protocol_isEqual@Base 4.6
+ sarray_at_put@Base 4.2.1
+ sarray_at_put_safe@Base 4.2.1
+ sarray_free@Base 4.2.1
+ sarray_lazy_copy@Base 4.2.1
+ sarray_new@Base 4.2.1
+ sarray_realloc@Base 4.2.1
+ sarray_remove_garbage@Base 4.2.1
+ search_for_method_in_list@Base 4.2.1
+ sel_copyTypedSelectorList@Base 4.6
+ sel_getName@Base 4.6
+ sel_getTypeEncoding@Base 4.6
+ sel_getTypedSelector@Base 4.6
+ sel_getUid@Base 4.6
+ sel_get_any_uid@Base 4.2.1
+ sel_isEqual@Base 4.6
+ sel_is_mapped@Base 4.2.1
+ sel_registerName@Base 4.6
+ sel_registerTypedName@Base 4.6
--- /dev/null
+ async_set_pht_entry_from_index@Base 4.2.1
+ free_list_index_of@Base 4.2.1
+ suspend_self@Base 4.2.1
+ GC_abort@Base 6
+ GC_acquire_mark_lock@Base 6
+ GC_add_ext_descriptor@Base 6
+ GC_add_leaked@Base 6
+ GC_add_map_entry@Base 6
+ GC_add_roots@Base 6
+ GC_add_roots_inner@Base 6
+ GC_add_smashed@Base 6
+ GC_add_to_black_list_normal@Base 6
+ GC_add_to_black_list_stack@Base 6
+ GC_add_to_fl@Base 6
+ GC_add_to_heap@Base 6
+ GC_adj_words_allocd@Base 6
+ GC_all_bottom_indices@Base 6
+ GC_all_bottom_indices_end@Base 6
+ GC_all_interior_pointers@Base 6
+ GC_alloc_large@Base 6
+ GC_alloc_large_and_clear@Base 6
+ GC_alloc_reclaim_list@Base 6
+ GC_allocate_ml@Base 6
+ GC_allochblk@Base 6
+ GC_allochblk_nth@Base 6
+ GC_allocobj@Base 6
+ GC_aobjfreelist_ptr@Base 6
+ GC_apply_to_all_blocks@Base 6
+ GC_apply_to_maps@Base 6
+ GC_approx_sp@Base 6
+ GC_arobjfreelist@Base 6
+ GC_array_kind@Base 6
+ GC_array_mark_proc@Base 6
+ GC_array_mark_proc_index@Base 6
+ GC_arrays@Base 6
+ GC_auobjfreelist_ptr@Base 6
+ GC_avail_descr@Base 6
+ GC_base@Base 6
+ GC_begin_syscall@Base 6
+ GC_bl_init@Base 6
+ GC_black_list_spacing@Base 6
+ GC_block_count@Base 6
+ GC_block_empty@Base 6
+ GC_block_nearly_full1@Base 6
+ GC_block_nearly_full3@Base 6
+ GC_block_nearly_full@Base 6
+ GC_block_was_dirty@Base 6
+ GC_bm_table@Base 6
+ GC_brief_async_signal_safe_sleep@Base 6
+ GC_build_fl1@Base 6
+ GC_build_fl2@Base 6
+ GC_build_fl4@Base 6
+ GC_build_fl@Base 6
+ GC_build_fl_clear2@Base 6
+ GC_build_fl_clear3@Base 6
+ GC_build_fl_clear4@Base 6
+ GC_call_with_alloc_lock@Base 6
+ GC_calloc_explicitly_typed@Base 6
+ GC_change_stubborn@Base 6
+ GC_check_annotated_obj@Base 6
+ GC_check_heap@Base 6
+ GC_check_heap_block@Base 6
+ GC_check_heap_proc@Base 6
+ GC_clear_a_few_frames@Base 6
+ GC_clear_bl@Base 6
+ GC_clear_fl_links@Base 6
+ GC_clear_fl_marks@Base 6
+ GC_clear_hdr_marks@Base 6
+ GC_clear_mark_bit@Base 6
+ GC_clear_marks@Base 6
+ GC_clear_roots@Base 6
+ GC_clear_stack@Base 6
+ GC_clear_stack_inner@Base 6
+ GC_collect_a_little@Base 6
+ GC_collect_a_little_inner@Base 6
+ GC_collect_or_expand@Base 6
+ GC_collecting@Base 6
+ GC_collection_in_progress@Base 6
+ GC_cond_register_dynamic_libraries@Base 6
+ GC_continue_reclaim@Base 6
+ GC_copy_bl@Base 6
+ GC_copyright@Base 6
+ GC_current_warn_proc@Base 6
+ GC_data_start@Base 6
+ GC_debug_change_stubborn@Base 6
+ GC_debug_end_stubborn_change@Base 6
+ GC_debug_free@Base 6
+ GC_debug_free_inner@Base 6
+ GC_debug_gcj_fast_malloc@Base 6
+ GC_debug_gcj_malloc@Base 6
+ GC_debug_header_size@Base 6
+ GC_debug_invoke_finalizer@Base 6
+ GC_debug_malloc@Base 6
+ GC_debug_malloc_atomic@Base 6
+ GC_debug_malloc_atomic_ignore_off_page@Base 6
+ GC_debug_malloc_atomic_uncollectable@Base 6
+ GC_debug_malloc_ignore_off_page@Base 6
+ GC_debug_malloc_replacement@Base 6
+ GC_debug_malloc_stubborn@Base 6
+ GC_debug_malloc_uncollectable@Base 6
+ GC_debug_print_heap_obj_proc@Base 6
+ GC_debug_realloc@Base 6
+ GC_debug_realloc_replacement@Base 6
+ GC_debug_register_displacement@Base 6
+ GC_debug_register_finalizer@Base 6
+ GC_debug_register_finalizer_ignore_self@Base 6
+ GC_debug_register_finalizer_no_order@Base 6
+ GC_debug_register_finalizer_unreachable@Base 6
+ GC_debugging_started@Base 6
+ GC_default_is_valid_displacement_print_proc@Base 6
+ GC_default_is_visible_print_proc@Base 6
+ GC_default_oom_fn@Base 6
+ GC_default_print_heap_obj_proc@Base 6
+ GC_default_push_other_roots@Base 6
+ GC_default_same_obj_print_proc@Base 6
+ GC_default_warn_proc@Base 6
+ GC_deficit@Base 6
+ GC_delete_gc_thread@Base 6
+ GC_delete_thread@Base 6
+ GC_descr_obj_size@Base 6
+ GC_destroy_thread_local@Base 6
+ GC_dirty_init@Base 6
+ GC_dirty_maintained@Base 6
+ GC_disable@Base 6
+ GC_disable_signals@Base 6
+ GC_dl_entries@Base 6
+ GC_dlopen@Base 6
+ GC_do_nothing@Base 6
+ GC_dont_expand@Base 6
+ GC_dont_gc@Base 6
+ GC_dont_precollect@Base 6
+ GC_double_descr@Base 6
+ GC_dump@Base 6
+ GC_dump_finalization@Base 6
+ GC_dump_regions@Base 6
+ GC_dump_regularly@Base 6
+ GC_ed_size@Base 6
+ GC_enable@Base 6
+ GC_enable_incremental@Base 6
+ GC_enable_signals@Base 6
+ GC_end_blocking@Base 6
+ GC_end_stubborn_change@Base 6
+ GC_end_syscall@Base 6
+ GC_enqueue_all_finalizers@Base 6
+ GC_eobjfreelist@Base 6
+ GC_err_printf@Base 6
+ GC_err_puts@Base 6
+ GC_err_write@Base 6
+ GC_excl_table_entries@Base 6
+ GC_exclude_static_roots@Base 6
+ GC_exit_check@Base 6
+ GC_expand_hp@Base 6
+ GC_expand_hp_inner@Base 6
+ GC_explicit_kind@Base 6
+ GC_explicit_typing_initialized@Base 6
+ GC_ext_descriptors@Base 6
+ GC_extend_size_map@Base 6
+ GC_fail_count@Base 6
+ GC_fault_handler@Base 6
+ GC_finalization_failures@Base 6
+ GC_finalize@Base 6
+ GC_finalize_all@Base 6
+ GC_finalize_now@Base 6
+ GC_finalize_on_demand@Base 6
+ GC_finalizer_notifier@Base 6
+ GC_find_header@Base 6
+ GC_find_leak@Base 6
+ GC_find_limit@Base 6
+ GC_find_start@Base 6
+ GC_finish_collection@Base 6
+ GC_fl_builder_count@Base 6
+ GC_fo_entries@Base 6
+ GC_free@Base 6
+ GC_free_block_ending_at@Base 6
+ GC_free_bytes@Base 6
+ GC_free_inner@Base 6
+ GC_free_space_divisor@Base 6
+ GC_freehblk@Base 6
+ GC_freehblk_ptr@Base 6
+ GC_full_freq@Base 6
+ GC_gc_no@Base 6
+ GC_gcj_debug_kind@Base 6
+ GC_gcj_fast_malloc@Base 6
+ GC_gcj_kind@Base 6
+ GC_gcj_malloc@Base 6
+ GC_gcj_malloc_ignore_off_page@Base 6
+ GC_gcj_malloc_initialized@Base 6
+ GC_gcjdebugobjfreelist@Base 6
+ GC_gcjobjfreelist@Base 6
+ GC_gcollect@Base 6
+ GC_general_register_disappearing_link@Base 6
+ GC_generic_lock@Base 6
+ GC_generic_malloc@Base 6
+ GC_generic_malloc_ignore_off_page@Base 6
+ GC_generic_malloc_inner@Base 6
+ GC_generic_malloc_inner_ignore_off_page@Base 6
+ GC_generic_malloc_many@Base 6
+ GC_generic_malloc_words_small@Base 6
+ GC_generic_malloc_words_small_inner@Base 6
+ GC_generic_or_special_malloc@Base 6
+ GC_generic_push_regs@Base 6
+ GC_get_bytes_since_gc@Base 6
+ GC_get_first_part@Base 6
+ GC_get_free_bytes@Base 6
+ GC_get_heap_size@Base 6
+ GC_get_nprocs@Base 6
+ GC_get_stack_base@Base 6
+ GC_get_thread_stack_base@Base 6
+ GC_get_total_bytes@Base 6
+ GC_greatest_plausible_heap_addr@Base 6
+ GC_grow_table@Base 6
+ GC_has_other_debug_info@Base 6
+ GC_have_errors@Base 6
+ GC_hblk_fl_from_blocks@Base 6
+ GC_hblkfreelist@Base 6
+ GC_hdr_cache_hits@Base 6
+ GC_hdr_cache_misses@Base 6
+ GC_high_water@Base 6
+ GC_ignore_self_finalize_mark_proc@Base 6
+ GC_in_thread_creation@Base 6
+ GC_incomplete_normal_bl@Base 6
+ GC_incomplete_stack_bl@Base 6
+ GC_incr_mem_freed@Base 6
+ GC_incr_words_allocd@Base 6
+ GC_incremental@Base 6
+ GC_incremental_protection_needs@Base 6
+ GC_init@Base 6
+ GC_init_explicit_typing@Base 6
+ GC_init_gcj_malloc@Base 6
+ GC_init_headers@Base 6
+ GC_init_inner@Base 6
+ GC_init_linux_data_start@Base 6
+ GC_init_parallel@Base 6
+ GC_init_size_map@Base 6
+ GC_init_thread_local@Base 6
+ GC_initiate_gc@Base 6
+ GC_install_counts@Base 6
+ GC_install_header@Base 6
+ GC_invalid_header@Base 6
+ GC_invalid_map@Base 6
+ GC_invalidate_map@Base 6
+ GC_invalidate_mark_state@Base 6
+ GC_invoke_finalizers@Base 6
+ GC_is_black_listed@Base 6
+ GC_is_fresh@Base 6
+ GC_is_full_gc@Base 6
+ GC_is_initialized@Base 6
+ GC_is_marked@Base 6
+ GC_is_static_root@Base 6
+ GC_is_thread_suspended@Base 6
+ GC_is_valid_displacement@Base 6
+ GC_is_valid_displacement_print_proc@Base 6
+ GC_is_visible@Base 6
+ GC_is_visible_print_proc@Base 6
+ GC_java_finalization@Base 6
+ GC_jmp_buf@Base 6
+ GC_key_create@Base 6
+ GC_large_alloc_warn_interval@Base 6
+ GC_large_alloc_warn_suppressed@Base 6
+ GC_leaked@Base 6
+ GC_least_plausible_heap_addr@Base 6
+ GC_linux_stack_base@Base 6
+ GC_local_gcj_malloc@Base 6
+ GC_local_malloc@Base 6
+ GC_local_malloc_atomic@Base 6
+ GC_lock@Base 6
+ GC_lock_holder@Base 6
+ GC_lookup_thread@Base 6
+ GC_make_array_descriptor@Base 6
+ GC_make_closure@Base 6
+ GC_make_descriptor@Base 6
+ GC_make_sequence_descriptor@Base 6
+ GC_malloc@Base 6
+ GC_malloc_atomic@Base 6
+ GC_malloc_atomic_ignore_off_page@Base 6
+ GC_malloc_atomic_uncollectable@Base 6
+ GC_malloc_explicitly_typed@Base 6
+ GC_malloc_explicitly_typed_ignore_off_page@Base 6
+ GC_malloc_ignore_off_page@Base 6
+ GC_malloc_many@Base 6
+ GC_malloc_stubborn@Base 6
+ GC_malloc_uncollectable@Base 6
+ GC_mark_and_push@Base 6
+ GC_mark_and_push_stack@Base 6
+ GC_mark_from@Base 6
+ GC_mark_init@Base 6
+ GC_mark_some@Base 6
+ GC_mark_stack@Base 6
+ GC_mark_stack_empty@Base 6
+ GC_mark_stack_limit@Base 6
+ GC_mark_stack_size@Base 6
+ GC_mark_stack_too_small@Base 6
+ GC_mark_stack_top@Base 6
+ GC_mark_state@Base 6
+ GC_mark_thread_local_free_lists@Base 6
+ GC_max@Base 6
+ GC_max_retries@Base 6
+ GC_maybe_gc@Base 6
+ GC_mem_found@Base 6
+ GC_memalign@Base 6
+ GC_min@Base 6
+ GC_min_sp@Base 6
+ GC_n_attempts@Base 6
+ GC_n_heap_sects@Base 6
+ GC_n_kinds@Base 6
+ GC_n_leaked@Base 6
+ GC_n_mark_procs@Base 6
+ GC_n_rescuing_pages@Base 6
+ GC_n_set_marks@Base 6
+ GC_n_smashed@Base 6
+ GC_need_full_gc@Base 6
+ GC_never_stop_func@Base 6
+ GC_new_free_list@Base 6
+ GC_new_free_list_inner@Base 6
+ GC_new_hblk@Base 6
+ GC_new_kind@Base 6
+ GC_new_kind_inner@Base 6
+ GC_new_proc@Base 6
+ GC_new_proc_inner@Base 6
+ GC_new_thread@Base 6
+ GC_next_exclusion@Base 6
+ GC_next_used_block@Base 6
+ GC_no_dls@Base 6
+ GC_non_gc_bytes@Base 6
+ GC_noop1@Base 6
+ GC_noop@Base 6
+ GC_normal_finalize_mark_proc@Base 6
+ GC_notify_all_builder@Base 6
+ GC_notify_full_gc@Base 6
+ GC_notify_or_invoke_finalizers@Base 6
+ GC_nprocs@Base 6
+ GC_null_finalize_mark_proc@Base 6
+ GC_number_stack_black_listed@Base 6
+ GC_obj_kinds@Base 6
+ GC_objects_are_marked@Base 6
+ GC_objfreelist_ptr@Base 6
+ GC_old_bus_handler@Base 6
+ GC_old_normal_bl@Base 6
+ GC_old_segv_handler@Base 6
+ GC_old_stack_bl@Base 6
+ GC_on_stack@Base 6
+ GC_oom_fn@Base 6
+ GC_page_size@Base 6
+ GC_page_was_dirty@Base 6
+ GC_page_was_ever_dirty@Base 6
+ GC_parallel@Base 6
+ GC_pause@Base 6
+ GC_post_incr@Base 6
+ GC_pre_incr@Base 6
+ GC_prev_block@Base 6
+ GC_print_address_map@Base 6
+ GC_print_all_errors@Base 6
+ GC_print_all_smashed@Base 6
+ GC_print_all_smashed_proc@Base 6
+ GC_print_back_height@Base 6
+ GC_print_block_descr@Base 6
+ GC_print_block_list@Base 6
+ GC_print_finalization_stats@Base 6
+ GC_print_hblkfreelist@Base 6
+ GC_print_heap_obj@Base 6
+ GC_print_heap_sects@Base 6
+ GC_print_obj@Base 6
+ GC_print_smashed_obj@Base 6
+ GC_print_source_ptr@Base 6
+ GC_print_static_roots@Base 6
+ GC_print_stats@Base 6
+ GC_print_type@Base 6
+ GC_printf@Base 6
+ GC_project2@Base 6
+ GC_promote_black_lists@Base 6
+ GC_protect_heap@Base 6
+ GC_pthread_create@Base 6
+ GC_pthread_detach@Base 6
+ GC_pthread_join@Base 6
+ GC_pthread_sigmask@Base 6
+ GC_push_all@Base 6
+ GC_push_all_eager@Base 6
+ GC_push_all_stack@Base 6
+ GC_push_all_stacks@Base 6
+ GC_push_complex_descriptor@Base 6
+ GC_push_conditional@Base 6
+ GC_push_conditional_with_exclusions@Base 6
+ GC_push_current_stack@Base 6
+ GC_push_finalizer_structures@Base 6
+ GC_push_gc_structures@Base 6
+ GC_push_marked1@Base 6
+ GC_push_marked2@Base 6
+ GC_push_marked4@Base 6
+ GC_push_marked@Base 6
+ GC_push_next_marked@Base 6
+ GC_push_next_marked_dirty@Base 6
+ GC_push_next_marked_uncollectable@Base 6
+ GC_push_one@Base 6
+ GC_push_other_roots@Base 6
+ GC_push_roots@Base 6
+ GC_push_selected@Base 6
+ GC_push_stubborn_structures@Base 6
+ GC_push_thread_structures@Base 6
+ GC_quiet@Base 6
+ GC_read_dirty@Base 6
+ GC_realloc@Base 6
+ GC_reclaim1@Base 6
+ GC_reclaim_all@Base 6
+ GC_reclaim_block@Base 6
+ GC_reclaim_check@Base 6
+ GC_reclaim_clear2@Base 6
+ GC_reclaim_clear4@Base 6
+ GC_reclaim_clear@Base 6
+ GC_reclaim_generic@Base 6
+ GC_reclaim_small_nonempty_block@Base 6
+ GC_reclaim_uninit2@Base 6
+ GC_reclaim_uninit4@Base 6
+ GC_reclaim_uninit@Base 6
+ GC_register_data_segments@Base 6
+ GC_register_describe_type_fn@Base 6
+ GC_register_disappearing_link@Base 6
+ GC_register_displacement@Base 6
+ GC_register_displacement_inner@Base 6
+ GC_register_dynamic_libraries@Base 6
+ GC_register_dynamic_libraries_dl_iterate_phdr@Base 6
+ GC_register_finalizer@Base 6
+ GC_register_finalizer_ignore_self@Base 6
+ GC_register_finalizer_inner@Base 6
+ GC_register_finalizer_no_order@Base 6
+ GC_register_finalizer_unreachable@Base 6
+ GC_register_has_static_roots_callback@Base 6
+ GC_register_main_static_data@Base 6
+ GC_register_my_thread@Base 6
+ GC_release_mark_lock@Base 6
+ GC_remove_allowed_signals@Base 6
+ GC_remove_counts@Base 6
+ GC_remove_from_fl@Base 6
+ GC_remove_header@Base 6
+ GC_remove_protection@Base 6
+ GC_remove_roots@Base 6
+ GC_remove_roots_inner@Base 6
+ GC_remove_specific@Base 6
+ GC_remove_tmp_roots@Base 6
+ GC_repeat_read@Base 6
+ GC_reset_fault_handler@Base 6
+ GC_restart_handler@Base 6
+ GC_resume_thread@Base 6
+ GC_retry_signals@Base 6
+ GC_root_size@Base 6
+ GC_roots_present@Base 6
+ GC_same_obj@Base 6
+ GC_same_obj_print_proc@Base 6
+ GC_scratch_alloc@Base 6
+ GC_set_and_save_fault_handler@Base 6
+ GC_set_fl_marks@Base 6
+ GC_set_free_space_divisor@Base 6
+ GC_set_hdr_marks@Base 6
+ GC_set_mark_bit@Base 6
+ GC_set_max_heap_size@Base 6
+ GC_set_warn_proc@Base 6
+ GC_setpagesize@Base 6
+ GC_setspecific@Base 6
+ GC_setup_temporary_fault_handler@Base 6
+ GC_should_collect@Base 6
+ GC_should_invoke_finalizers@Base 6
+ GC_signal_mark_stack_overflow@Base 6
+ GC_size@Base 6
+ GC_sleep@Base 6
+ GC_slow_getspecific@Base 6
+ GC_smashed@Base 6
+ GC_spin_count@Base 6
+ GC_split_block@Base 6
+ GC_stack_last_cleared@Base 6
+ GC_stackbottom@Base 6
+ GC_start_blocking@Base 6
+ GC_start_call_back@Base 6
+ GC_start_debugging@Base 6
+ GC_start_reclaim@Base 6
+ GC_start_routine@Base 6
+ GC_start_time@Base 6
+ GC_start_world@Base 6
+ GC_stderr@Base 6
+ GC_stdout@Base 6
+ GC_stop_count@Base 6
+ GC_stop_init@Base 6
+ GC_stop_world@Base 6
+ GC_stopped_mark@Base 6
+ GC_stopping_pid@Base 6
+ GC_stopping_thread@Base 6
+ GC_store_debug_info@Base 6
+ GC_suspend_ack_sem@Base 6
+ GC_suspend_all@Base 6
+ GC_suspend_handler@Base 6
+ GC_suspend_handler_inner@Base 6
+ GC_suspend_thread@Base 6
+ GC_thr_init@Base 6
+ GC_thr_initialized@Base 6
+ GC_thread_exit_proc@Base 6
+ GC_thread_key@Base 6
+ GC_threads@Base 6
+ GC_time_limit@Base 6
+ GC_timeout_stop_func@Base 6
+ GC_total_stack_black_listed@Base 6
+ GC_try_to_collect@Base 6
+ GC_try_to_collect_inner@Base 6
+ GC_typed_mark_proc@Base 6
+ GC_typed_mark_proc_index@Base 6
+ GC_unix_get_mem@Base 6
+ GC_unlocked_count@Base 6
+ GC_unpromote_black_lists@Base 6
+ GC_unprotect_range@Base 6
+ GC_unreachable_finalize_mark_proc@Base 6
+ GC_unregister_disappearing_link@Base 6
+ GC_unregister_my_thread@Base 6
+ GC_uobjfreelist_ptr@Base 6
+ GC_use_entire_heap@Base 6
+ GC_used_heap_size_after_full@Base 6
+ GC_version@Base 6
+ GC_wait_builder@Base 6
+ GC_wait_for_gc_completion@Base 6
+ GC_wait_for_reclaim@Base 6
+ GC_with_callee_saves_pushed@Base 6
+ GC_words_allocd_at_reset@Base 6
+ GC_world_is_stopped@Base 6
+ GC_world_stopped@Base 6
+ GC_write@Base 6
+ GC_write_fault_handler@Base 6
--- /dev/null
+libquadmath.so.0 #PACKAGE# #MINVER#
+ (symver)QUADMATH_1.0 4.6
+ (symver)QUADMATH_1.1 6
--- /dev/null
+Document: libstdc++-@BV@-doc
+Title: The GNU Standard C++ Library v3 (gcc-@BV@)
+Author: Various
+Abstract: This package contains documentation files for the GNU stdc++ library.
+ One set is the distribution documentation, the other set is the
+ source documentation including a namespace list, class hierarchy,
+ alphabetical list, compound list, file list, namespace members,
+ compound members and file members.
+Section: Programming/C++
+
+Format: html
+Index: /usr/share/doc/libstdc++-@BV@-doc/libstdc++/index.html
+Files: /usr/share/doc/libstdc++-@BV@-doc/libstdc++/*
--- /dev/null
+libstdc++-@BV@-doc binary: hyphen-used-as-minus-sign
+libstdc++-@BV@-doc binary: manpage-has-bad-whatis-entry
+
+# 3xx used by intent to avoid conficts
+libstdc++-@BV@-doc binary: manpage-section-mismatch
+
+# some very long identifiers
+libstdc++-@BV@-doc binary: manpage-has-errors-from-man * can't break line
+
+# doxygen accepts formulas in man pages ...
+libstdc++-@BV@-doc binary: manpage-has-errors-from-man * a space character is not allowed in an escape name
--- /dev/null
+libantlr-dev (<= 2.7.7+dfsg-6),
+libaqsis1 (<= 1.8.2-1),
+libassimp3 (<= 3.0~dfsg-4),
+blockattack (<= 1.4.1+ds1-2.1+b2),
+boo (<= 0.9.5~git20110729.r1.202a430-2),
+libboost-date-time1.54.0,
+libboost-date-time1.55.0,
+libcpprest2.4 (<= 2.4.0-2),
+printer-driver-brlaser (<= 3-3),
+c++-annotations (<= 10.2.0-1),
+clustalx (<= 2.1+lgpl-3),
+libdavix0 (<= 0.4.0-1+b1),
+libdballe6 (<= 6.8-1),
+dff (<= 1.3.0+dfsg.1-4.1+b3),
+libdiet-sed2.8 (<= 2.8.0-1+b3),
+libdiet-client2.8 (<= 2.8.0-1+b3),
+libdiet-admin2.8 (<= 2.8.0-1+b3),
+digikam-private-libs (<= 4:4.4.0-1.1+b2),
+emscripten (<= 1.22.1-1),
+ergo (<= 3.4.0-1),
+fceux (<= 2.2.2+dfsg0-1),
+flush (<= 0.9.12-3.1),
+libfreefem++ (<= 3.37.1-1),
+freeorion (<= 0.4.4+git20150327-2),
+fslview (<= 4.0.1-4),
+fwbuilder (<= 5.1.0-4),
+libgazebo5 (<= 5.0.1+dfsg-2.1),
+libgetfem4++ (<= 4.2.1~beta1~svn4635~dfsg-3+b1),
+libgmsh2 (<= 2.9.3+dfsg1-1),
+gnote (<= 3.16.2-1),
+gnudatalanguage (<= 0.9.5-2+b2),
+python-healpy (<= 1.8.1-1+b1),
+innoextract (<= 1.4-1+b1),
+libinsighttoolkit4.7 (<= 4.7.2-2),
+libdap17 (<= 3.14.0-2),
+libdapclient6 (<= 3.14.0-2),
+libdapserver7 (<= 3.14.0-2),
+libkolabxml1 (<= 1.1.0-3),
+libpqxx-4.0 (<= 4.0.1+dfsg-3),
+libreoffice-core (<= 1:4.4.5-2),
+librime1 (<= 1.2+dfsg-2),
+libwibble-dev (<= 1.1-1),
+lightspark (<= 0.7.2+git20150512-2+b1),
+libmarisa0 (<= 0.2.4-8),
+mira-assembler (<= 4.9.5-1),
+mongodb (<= 1:2.4.14-2),
+mongodb-server (<= 1:2.4.14-2),
+ncbi-blast+ (<= 2.2.30-4),
+libogre-1.8.0 (<= 1.8.0+dfsg1-7+b1),
+libogre-1.9.0 (<= 1.9.0+dfsg1-4),
+openscad (<= 2014.03+dfsg-1+b1),
+libopenwalnut1 (<= 1.4.0~rc1+hg3a3147463ee2-1+b1),
+passepartout (<= 0.7.1-1.1),
+pdf2djvu (<= 0.7.21-2),
+photoprint (<= 0.4.2~pre2-2.3+b2),
+plastimatch (<= 1.6.2+dfsg-1),
+plee-the-bear (<= 0.6.0-3.1),
+povray (<= 1:3.7.0.0-8),
+powertop (<= 2.6.1-1),
+psi4 (<= 4.0~beta5+dfsg-2+b1),
+python3-taglib (<= 0.3.6+dfsg-2+b2),
+realtimebattle (<= 1.0.8-14),
+ruby-passenger (<= 5.0.7-1),
+libapache2-mod-passenger (<= 5.0.7-1),
+schroot (<= 1.6.10-1+b1),
+sqlitebrowser (<= 3.5.1-3),
+tecnoballz (<= 0.93.1-6),
+wesnoth-1.12-core (<= 1:1.12.4-1),
+widelands (<= 1:18-3+b1),
+libwreport2 (<= 2.14-1),
+xflr5 (<= 6.09.06-2),
+libxmltooling6 (<= 1.5.3-2.1),
+libchemps2-1 (<= 1.5-1),
+python-fiona (<= 1.5.1-2),
+python3-fiona (<= 1.5.1-2),
+fiona (<= 1.5.1-2),
+python-guiqwt (<= 2.3.1-1),
+python-htseq (<= 0.5.4p3-2),
+python-imposm (<= 2.5.0-3+b2),
+python-pysph (<= 0~20150606.gitfa26de9-5),
+python3-taglib (<= 0.3.6+dfsg-2+b2),
+python-scipy (<= 0.14.1-1),
+python3-scipy (<= 0.14.1-1),
+python-sfml (<= 2.2~git20150611.196c88+dfsg-1+b1),
+python3-sfml (<= 2.2~git20150611.196c88+dfsg-1+b1),
+python-rasterio (<= 0.24.0-1),
+libktoblzcheck1c2a,
+libaqbanking34-plugins,
+liblhapdf0,
+libpythia8,
+libxapian30 (<= 1.4.1-1~bpo8+1),
+dnsdist (<< 1.3.3-3),
+lambda-align (<< 1.0.3-5),
+libllvm3.8,
+libllvm3.9,
+libllvm4.0,
+mednafen (<< 1.22.1+dfsg-1),
+nghttp2-proxy (<< 1.36.0-2),
+osm2pgsql (<< 0.96.0+ds-2),
+osmcoastline (<< 2.2.4-1),
+osmium-tool (<< 1.10.0-1),
+pdns-recursor (<< 4.1.11-1),
+poedit (<< 2.2.1-2),
+python-pyosmium (<< 2.15.1-1),
+python3-pyosmium (<< 2.15.1-1),
+seer (<< 1.1.4-2),
+libsimgrid3.14,
+undertaker (<< 1.6.1-4.2),
+libusbguard0 (<< 0.7.4+ds-1),
--- /dev/null
+libantlr-dev (<= 2.7.7+dfsg-6),
+libaqsis1 (<= 1.8.2-1),
+libassimp3 (<= 3.0~dfsg-4),
+blockattack (<= 1.4.1+ds1-2.1build2),
+boo (<= 0.9.5~git20110729.r1.202a430-2),
+libboost-date-time1.55.0,
+libcpprest2.2 (<= 2.2.0-1),
+printer-driver-brlaser (<= 3-3),
+c++-annotations (<= 10.2.0-1),
+chromium-browser (<= 43.0.2357.130-0ubuntu2),
+clustalx (<= 2.1+lgpl-2),
+libdavix0 (<= 0.4.0-1build1),
+libdballe6 (<= 6.8-1),
+dff (<= 1.3.0+dfsg.1-4.1build2),
+libdiet-sed2.8 (<= 2.8.0-1build3),
+libdiet-client2.8 (<= 2.8.0-1build3),
+libdiet-admin2.8 (<= 2.8.0-1build3),
+libkgeomap2 (<= 4:15.04.2-0ubuntu1),
+libmediawiki1 (<= 1.0~digikam4.10.0-0ubuntu2),
+libkvkontakte1 (<= 1.0~digikam4.10.0-0ubuntu2),
+emscripten (<= 1.22.1-1),
+ergo (<= 3.4.0-1),
+fceux (<= 2.2.2+dfsg0-1),
+flush (<= 0.9.12-3.1ubuntu1),
+libfreefem++ (<= 3.37.1-1),
+freeorion (<= 0.4.4+git20150327-2),
+fslview (<= 4.0.1-4),
+fwbuilder (<= 5.1.0-4),
+libgazebo5 (<= 5.0.1+dfsg-2.1),
+libgetfem4++ (<= 4.2.1~beta1~svn4482~dfsg-3ubuntu3),
+libgmsh2 (<= 2.8.5+dfsg-1.1ubuntu1),
+gnote (<= 3.16.2-1),
+gnudatalanguage (<= 0.9.5-2build1),
+python-healpy (<= 1.8.1-1),
+innoextract (<= 1.4-1build1),
+libinsighttoolkit4.6 (<= 4.6.0-3ubuntu3),
+libdap17 (<= 3.14.0-2),
+libdapclient6 (<= 3.14.0-2),
+libdapserver7 (<= 3.14.0-2),
+libkolabxml1 (<= 1.1.0-3),
+libpqxx-4.0 (<= 4.0.1+dfsg-3ubuntu1),
+libreoffice-core (<= 1:4.4.4~rc3-0ubuntu1),
+librime1 (<= 1.2+dfsg-2),
+libwibble-dev (<= 1.1-1),
+lightspark (<= 0.7.2+git20150512-2),
+libmarisa0 (<= 0.2.4-8build1),
+mira-assembler (<= 4.9.5-1),
+mongodb (<= 1:2.6.3-0ubuntu7),
+mongodb-server (<= 1:2.6.3-0ubuntu7),
+ncbi-blast+ (<= 2.2.30-4),
+libogre-1.8.0 (<= 1.8.1+dfsg-0ubuntu5),
+libogre-1.9.0 (<= 1.9.0+dfsg1-4),
+openscad (<= 2014.03+dfsg-1build1),
+libopenwalnut1 (<= 1.4.0~rc1+hg3a3147463ee2-1ubuntu2),
+passepartout (<= 0.7.1-1.1),
+pdf2djvu (<= 0.7.19-1ubuntu2),
+photoprint (<= 0.4.2~pre2-2.3),
+plastimatch (<= 1.6.2+dfsg-1),
+plee-the-bear (<= 0.6.0-3.1),
+povray (<= 1:3.7.0.0-8),
+powertop (<= 2.6.1-1),
+psi4 (<= 4.0~beta5+dfsg-2build1),
+python3-taglib (<= 0.3.6+dfsg-2build2),
+realtimebattle (<= 1.0.8-14),
+ruby-passenger (<= 4.0.53-1),
+libapache2-mod-passenger (<= 4.0.53-1),
+sqlitebrowser (<= 3.5.1-3),
+tecnoballz (<= 0.93.1-6),
+wesnoth-1.12-core (<= 1:1.12.4-1),
+widelands (<= 1:18-3build1),
+libwreport2 (<= 2.14-1),
+xflr5 (<= 6.09.06-2),
+libxmltooling6 (<= 1.5.3-2.1),
--- /dev/null
+ _ZNSt14numeric_limitsInE10has_denormE@GLIBCXX_3.4.17 4.7
+ _ZNSt14numeric_limitsInE10is_boundedE@GLIBCXX_3.4.17 4.7
+ _ZNSt14numeric_limitsInE10is_integerE@GLIBCXX_3.4.17 4.7
+ _ZNSt14numeric_limitsInE11round_styleE@GLIBCXX_3.4.17 4.7
+ _ZNSt14numeric_limitsInE12has_infinityE@GLIBCXX_3.4.17 4.7
+ _ZNSt14numeric_limitsInE12max_digits10E@GLIBCXX_3.4.17 4.7
+ _ZNSt14numeric_limitsInE12max_exponentE@GLIBCXX_3.4.17 4.7
+ _ZNSt14numeric_limitsInE12min_exponentE@GLIBCXX_3.4.17 4.7
+ _ZNSt14numeric_limitsInE13has_quiet_NaNE@GLIBCXX_3.4.17 4.7
+ _ZNSt14numeric_limitsInE14is_specializedE@GLIBCXX_3.4.17 4.7
+ _ZNSt14numeric_limitsInE14max_exponent10E@GLIBCXX_3.4.17 4.7
+ _ZNSt14numeric_limitsInE14min_exponent10E@GLIBCXX_3.4.17 4.7
+ _ZNSt14numeric_limitsInE15has_denorm_lossE@GLIBCXX_3.4.17 4.7
+ _ZNSt14numeric_limitsInE15tinyness_beforeE@GLIBCXX_3.4.17 4.7
+ _ZNSt14numeric_limitsInE17has_signaling_NaNE@GLIBCXX_3.4.17 4.7
+ _ZNSt14numeric_limitsInE5radixE@GLIBCXX_3.4.17 4.7
+ _ZNSt14numeric_limitsInE5trapsE@GLIBCXX_3.4.17 4.7
+ _ZNSt14numeric_limitsInE6digitsE@GLIBCXX_3.4.17 4.7
+ _ZNSt14numeric_limitsInE8digits10E@GLIBCXX_3.4.17 4.7
+ _ZNSt14numeric_limitsInE8is_exactE@GLIBCXX_3.4.17 4.7
+ _ZNSt14numeric_limitsInE9is_iec559E@GLIBCXX_3.4.17 4.7
+ _ZNSt14numeric_limitsInE9is_moduloE@GLIBCXX_3.4.17 4.7
+ _ZNSt14numeric_limitsInE9is_signedE@GLIBCXX_3.4.17 4.7
+ _ZNSt14numeric_limitsIoE10has_denormE@GLIBCXX_3.4.17 4.7
+ _ZNSt14numeric_limitsIoE10is_boundedE@GLIBCXX_3.4.17 4.7
+ _ZNSt14numeric_limitsIoE10is_integerE@GLIBCXX_3.4.17 4.7
+ _ZNSt14numeric_limitsIoE11round_styleE@GLIBCXX_3.4.17 4.7
+ _ZNSt14numeric_limitsIoE12has_infinityE@GLIBCXX_3.4.17 4.7
+ _ZNSt14numeric_limitsIoE12max_digits10E@GLIBCXX_3.4.17 4.7
+ _ZNSt14numeric_limitsIoE12max_exponentE@GLIBCXX_3.4.17 4.7
+ _ZNSt14numeric_limitsIoE12min_exponentE@GLIBCXX_3.4.17 4.7
+ _ZNSt14numeric_limitsIoE13has_quiet_NaNE@GLIBCXX_3.4.17 4.7
+ _ZNSt14numeric_limitsIoE14is_specializedE@GLIBCXX_3.4.17 4.7
+ _ZNSt14numeric_limitsIoE14max_exponent10E@GLIBCXX_3.4.17 4.7
+ _ZNSt14numeric_limitsIoE14min_exponent10E@GLIBCXX_3.4.17 4.7
+ _ZNSt14numeric_limitsIoE15has_denorm_lossE@GLIBCXX_3.4.17 4.7
+ _ZNSt14numeric_limitsIoE15tinyness_beforeE@GLIBCXX_3.4.17 4.7
+ _ZNSt14numeric_limitsIoE17has_signaling_NaNE@GLIBCXX_3.4.17 4.7
+ _ZNSt14numeric_limitsIoE5radixE@GLIBCXX_3.4.17 4.7
+ _ZNSt14numeric_limitsIoE5trapsE@GLIBCXX_3.4.17 4.7
+ _ZNSt14numeric_limitsIoE6digitsE@GLIBCXX_3.4.17 4.7
+ _ZNSt14numeric_limitsIoE8digits10E@GLIBCXX_3.4.17 4.7
+ _ZNSt14numeric_limitsIoE8is_exactE@GLIBCXX_3.4.17 4.7
+ _ZNSt14numeric_limitsIoE9is_iec559E@GLIBCXX_3.4.17 4.7
+ _ZNSt14numeric_limitsIoE9is_moduloE@GLIBCXX_3.4.17 4.7
+ _ZNSt14numeric_limitsIoE9is_signedE@GLIBCXX_3.4.17 4.7
--- /dev/null
+#include "libstdc++6.symbols.common"
+#include "libstdc++6.symbols.32bit.cxx11"
+ _ZN9__gnu_cxx12__atomic_addEPVii@GLIBCXX_3.4 4.1.1
+ _ZN9__gnu_cxx17__pool_alloc_base16_M_get_free_listEj@GLIBCXX_3.4.2 4.1.1
+ _ZN9__gnu_cxx17__pool_alloc_base9_M_refillEj@GLIBCXX_3.4.2 4.1.1
+ _ZN9__gnu_cxx18__exchange_and_addEPVii@GLIBCXX_3.4 4.1.1
+ _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE6xsgetnEPci@GLIBCXX_3.4.10 4.3.0~rc2
+ _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE6xsputnEPKci@GLIBCXX_3.4.10 4.3.0~rc2
+ _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4.10 4.3.0~rc2
+ _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE6xsgetnEPwi@GLIBCXX_3.4.10 4.3.0~rc2
+ _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE6xsputnEPKwi@GLIBCXX_3.4.10 4.3.0~rc2
+ _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4.10 4.3.0~rc2
+ _ZN9__gnu_cxx6__poolILb0EE16_M_reclaim_blockEPcj@GLIBCXX_3.4.4 4.1.1
+ _ZN9__gnu_cxx6__poolILb0EE16_M_reserve_blockEjj@GLIBCXX_3.4.4 4.1.1
+ _ZN9__gnu_cxx6__poolILb1EE16_M_reclaim_blockEPcj@GLIBCXX_3.4.4 4.1.1
+ _ZN9__gnu_cxx6__poolILb1EE16_M_reserve_blockEjj@GLIBCXX_3.4.4 4.1.1
+ _ZN9__gnu_cxx9free_list6_M_getEj@GLIBCXX_3.4.4 4.1.1
+ _ZNK10__cxxabiv117__class_type_info12__do_dyncastEiNS0_10__sub_kindEPKS0_PKvS3_S5_RNS0_16__dyncast_resultE@CXXABI_1.3 4.1.1
+ _ZNK10__cxxabiv117__class_type_info20__do_find_public_srcEiPKvPKS0_S2_@CXXABI_1.3 4.1.1
+ _ZNK10__cxxabiv120__si_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE@CXXABI_1.3 4.1.1
+ _ZNK10__cxxabiv120__si_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2_@CXXABI_1.3 4.1.1
+ _ZNK10__cxxabiv121__vmi_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE@CXXABI_1.3 4.1.1
+ _ZNK10__cxxabiv121__vmi_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2_@CXXABI_1.3 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwj@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwjj@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofERKS2_j@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEwj@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwj@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwjj@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofERKS2_j@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEwj@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEjjPKc@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEjjPKc@GLIBCXX_3.4.5 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwj@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwjj@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofERKS2_j@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEwj@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwj@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwjj@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofERKS2_j@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEwj@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE2atEj@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE4copyEPwjj@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwj@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwjj@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE4findERKS2_j@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE4findEwj@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwj@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwjj@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE5rfindERKS2_j@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE5rfindEwj@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE6substrEjj@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjPKw@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjPKwj@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjRKS2_@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjRKS2_jj@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE8_M_checkEjPKc@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE8_M_limitEjj@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEEixEj@GLIBCXX_3.4 4.1.1
+ _ZNKSs12find_last_ofEPKcj@GLIBCXX_3.4 4.1.1
+ _ZNKSs12find_last_ofEPKcjj@GLIBCXX_3.4 4.1.1
+ _ZNKSs12find_last_ofERKSsj@GLIBCXX_3.4 4.1.1
+ _ZNKSs12find_last_ofEcj@GLIBCXX_3.4 4.1.1
+ _ZNKSs13find_first_ofEPKcj@GLIBCXX_3.4 4.1.1
+ _ZNKSs13find_first_ofEPKcjj@GLIBCXX_3.4 4.1.1
+ _ZNKSs13find_first_ofERKSsj@GLIBCXX_3.4 4.1.1
+ _ZNKSs13find_first_ofEcj@GLIBCXX_3.4 4.1.1
+ _ZNKSs15_M_check_lengthEjjPKc@GLIBCXX_3.4 4.1.1
+ _ZNKSs15_M_check_lengthEjjPKc@GLIBCXX_3.4.5 4.1.1
+ _ZNKSs16find_last_not_ofEPKcj@GLIBCXX_3.4 4.1.1
+ _ZNKSs16find_last_not_ofEPKcjj@GLIBCXX_3.4 4.1.1
+ _ZNKSs16find_last_not_ofERKSsj@GLIBCXX_3.4 4.1.1
+ _ZNKSs16find_last_not_ofEcj@GLIBCXX_3.4 4.1.1
+ _ZNKSs17find_first_not_ofEPKcj@GLIBCXX_3.4 4.1.1
+ _ZNKSs17find_first_not_ofEPKcjj@GLIBCXX_3.4 4.1.1
+ _ZNKSs17find_first_not_ofERKSsj@GLIBCXX_3.4 4.1.1
+ _ZNKSs17find_first_not_ofEcj@GLIBCXX_3.4 4.1.1
+ _ZNKSs2atEj@GLIBCXX_3.4 4.1.1
+ _ZNKSs4copyEPcjj@GLIBCXX_3.4 4.1.1
+ _ZNKSs4findEPKcj@GLIBCXX_3.4 4.1.1
+ _ZNKSs4findEPKcjj@GLIBCXX_3.4 4.1.1
+ _ZNKSs4findERKSsj@GLIBCXX_3.4 4.1.1
+ _ZNKSs4findEcj@GLIBCXX_3.4 4.1.1
+ _ZNKSs5rfindEPKcj@GLIBCXX_3.4 4.1.1
+ _ZNKSs5rfindEPKcjj@GLIBCXX_3.4 4.1.1
+ _ZNKSs5rfindERKSsj@GLIBCXX_3.4 4.1.1
+ _ZNKSs5rfindEcj@GLIBCXX_3.4 4.1.1
+ _ZNKSs6substrEjj@GLIBCXX_3.4 4.1.1
+ _ZNKSs7compareEjjPKc@GLIBCXX_3.4 4.1.1
+ _ZNKSs7compareEjjPKcj@GLIBCXX_3.4 4.1.1
+ _ZNKSs7compareEjjRKSs@GLIBCXX_3.4 4.1.1
+ _ZNKSs7compareEjjRKSsjj@GLIBCXX_3.4 4.1.1
+ _ZNKSs8_M_checkEjPKc@GLIBCXX_3.4 4.1.1
+ _ZNKSs8_M_limitEjj@GLIBCXX_3.4 4.1.1
+ _ZNKSsixEj@GLIBCXX_3.4 4.1.1
+ _ZNKSt11__timepunctIcE6_M_putEPcjPKcPK2tm@GLIBCXX_3.4 4.1.1
+ _ZNKSt11__timepunctIwE6_M_putEPwjPKwPK2tm@GLIBCXX_3.4 4.1.1
+ _ZNKSt19__codecvt_utf8_baseIDiE9do_lengthER11__mbstate_tPKcS4_j@GLIBCXX_3.4.21 5
+ _ZNKSt19__codecvt_utf8_baseIDsE9do_lengthER11__mbstate_tPKcS4_j@GLIBCXX_3.4.21 5
+ _ZNKSt19__codecvt_utf8_baseIwE9do_lengthER11__mbstate_tPKcS4_j@GLIBCXX_3.4.21 5
+ _ZNKSt20__codecvt_utf16_baseIDiE9do_lengthER11__mbstate_tPKcS4_j@GLIBCXX_3.4.21 5
+ _ZNKSt20__codecvt_utf16_baseIDsE9do_lengthER11__mbstate_tPKcS4_j@GLIBCXX_3.4.21 5
+ _ZNKSt20__codecvt_utf16_baseIwE9do_lengthER11__mbstate_tPKcS4_j@GLIBCXX_3.4.21 5
+ _ZNKSt25__codecvt_utf8_utf16_baseIDiE9do_lengthER11__mbstate_tPKcS4_j@GLIBCXX_3.4.21 5
+ _ZNKSt25__codecvt_utf8_utf16_baseIDsE9do_lengthER11__mbstate_tPKcS4_j@GLIBCXX_3.4.21 5
+ _ZNKSt25__codecvt_utf8_utf16_baseIwE9do_lengthER11__mbstate_tPKcS4_j@GLIBCXX_3.4.21 5
+ _ZNKSt7codecvtIDic11__mbstate_tE9do_lengthERS0_PKcS4_j@GLIBCXX_3.4.21 5
+ _ZNKSt7codecvtIDsc11__mbstate_tE9do_lengthERS0_PKcS4_j@GLIBCXX_3.4.21 5
+ _ZNKSt7codecvtIcc11__mbstate_tE9do_lengthERS0_PKcS4_j@GLIBCXX_3.4 4.1.1
+ _ZNKSt7codecvtIwc11__mbstate_tE9do_lengthERS0_PKcS4_j@GLIBCXX_3.4 4.1.1
+ _ZNKSt7collateIcE12_M_transformEPcPKcj@GLIBCXX_3.4 4.1.1
+ _ZNKSt7collateIwE12_M_transformEPwPKwj@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12_M_group_intEPKcjcRSt8ios_basePcS9_Ri@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_group_floatEPKcjcS6_PcS7_Ri@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6_M_padEciRSt8ios_basePcPKcRi@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE12_M_group_intEPKcjwRSt8ios_basePwS9_Ri@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_group_floatEPKcjwPKwPwS9_Ri@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6_M_padEwiRSt8ios_basePwPKwRi@GLIBCXX_3.4 4.1.1
+ _ZNKSt8__detail20_Prime_rehash_policy11_M_next_bktEj@GLIBCXX_3.4.18 4.8
+ _ZNKSt8__detail20_Prime_rehash_policy14_M_need_rehashEjjj@GLIBCXX_3.4.18 4.8
+ _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_numES3_S3_RiiijRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4 4.1.1
+ _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE15_M_extract_nameES3_S3_RiPPKcjRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4 4.1.1
+ _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE24_M_extract_wday_or_monthES3_S3_RiPPKcjRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4.14 4.5
+ _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_numES3_S3_RiiijRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4 4.1.1
+ _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE15_M_extract_nameES3_S3_RiPPKwjRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4 4.1.1
+ _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE24_M_extract_wday_or_monthES3_S3_RiPPKwjRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4.14 4.5
+ _ZNKSt8valarrayIjE4sizeEv@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE10_S_compareEjj@GLIBCXX_3.4.16 4.6.0
+ _ZNSbIwSt11char_traitsIwESaIwEE12_S_constructEjwRKS1_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE14_M_replace_auxEjjjw@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE18_S_construct_aux_2EjwRKS1_@GLIBCXX_3.4.14 4.5
+ _ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeEjjPKwj@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE2atEj@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEj@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEj@GLIBCXX_3.4.5 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE4_Rep8_M_cloneERKS1_j@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE4_Rep9_S_createEjjRKS1_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE5eraseEjj@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6appendEPKwj@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_jj@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6appendEjw@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6assignEPKwj@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_jj@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6assignEjw@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEjw@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6insertEjPKw@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6insertEjPKwj@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6insertEjRKS2_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6insertEjRKS2_jj@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6insertEjjw@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6resizeEj@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6resizeEjw@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwj@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwj@GLIBCXX_3.4.5 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwj@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwj@GLIBCXX_3.4.5 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwj@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_jw@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjPKw@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjPKwj@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjRKS2_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjRKS2_jj@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjjw@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7reserveEj@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwjw@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwjw@GLIBCXX_3.4.5 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEjjj@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEEC1EPKwjRKS1_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_jRKS1_@GLIBCXX_3.4.24 7
+ _ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_jj@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_jjRKS1_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEEC1EjwRKS1_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEEC2EPKwjRKS1_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_jRKS1_@GLIBCXX_3.4.24 7
+ _ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_jj@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_jjRKS1_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEEC2EjwRKS1_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEEixEj@GLIBCXX_3.4 4.1.1
+ _ZNSi3getEPci@GLIBCXX_3.4 4.1.1
+ _ZNSi3getEPcic@GLIBCXX_3.4 4.1.1
+ _ZNSi4readEPci@GLIBCXX_3.4 4.1.1
+ _ZNSi5seekgExSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1
+ _ZNSi6ignoreEi@GLIBCXX_3.4 4.1.1
+ _ZNSi6ignoreEi@GLIBCXX_3.4.5 4.1.1
+ _ZNSi6ignoreEii@GLIBCXX_3.4 4.1.1
+ _ZNSi7getlineEPci@GLIBCXX_3.4 4.1.1
+ _ZNSi7getlineEPcic@GLIBCXX_3.4 4.1.1
+ _ZNSi8readsomeEPci@GLIBCXX_3.4 4.1.1
+ _ZNSo5seekpExSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1
+ _ZNSo5writeEPKci@GLIBCXX_3.4 4.1.1
+ _ZNSo8_M_writeEPKci@GLIBCXX_3.4 4.1.1
+ _ZNSs10_S_compareEjj@GLIBCXX_3.4.16 4.6.0
+ _ZNSs12_S_constructEjcRKSaIcE@GLIBCXX_3.4 4.1.1
+ _ZNSs14_M_replace_auxEjjjc@GLIBCXX_3.4 4.1.1
+ _ZNSs15_M_replace_safeEjjPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSs18_S_construct_aux_2EjcRKSaIcE@GLIBCXX_3.4.14 4.5
+ _ZNSs2atEj@GLIBCXX_3.4 4.1.1
+ _ZNSs4_Rep26_M_set_length_and_sharableEj@GLIBCXX_3.4 4.1.1
+ _ZNSs4_Rep26_M_set_length_and_sharableEj@GLIBCXX_3.4.5 4.1.1
+ _ZNSs4_Rep8_M_cloneERKSaIcEj@GLIBCXX_3.4 4.1.1
+ _ZNSs4_Rep9_S_createEjjRKSaIcE@GLIBCXX_3.4 4.1.1
+ _ZNSs5eraseEjj@GLIBCXX_3.4 4.1.1
+ _ZNSs6appendEPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSs6appendERKSsjj@GLIBCXX_3.4 4.1.1
+ _ZNSs6appendEjc@GLIBCXX_3.4 4.1.1
+ _ZNSs6assignEPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSs6assignERKSsjj@GLIBCXX_3.4 4.1.1
+ _ZNSs6assignEjc@GLIBCXX_3.4 4.1.1
+ _ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEjc@GLIBCXX_3.4 4.1.1
+ _ZNSs6insertEjPKc@GLIBCXX_3.4 4.1.1
+ _ZNSs6insertEjPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSs6insertEjRKSs@GLIBCXX_3.4 4.1.1
+ _ZNSs6insertEjRKSsjj@GLIBCXX_3.4 4.1.1
+ _ZNSs6insertEjjc@GLIBCXX_3.4 4.1.1
+ _ZNSs6resizeEj@GLIBCXX_3.4 4.1.1
+ _ZNSs6resizeEjc@GLIBCXX_3.4 4.1.1
+ _ZNSs7_M_copyEPcPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSs7_M_copyEPcPKcj@GLIBCXX_3.4.5 4.1.1
+ _ZNSs7_M_moveEPcPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSs7_M_moveEPcPKcj@GLIBCXX_3.4.5 4.1.1
+ _ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcj@GLIBCXX_3.4 4.1.1
+ _ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_jc@GLIBCXX_3.4 4.1.1
+ _ZNSs7replaceEjjPKc@GLIBCXX_3.4 4.1.1
+ _ZNSs7replaceEjjPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSs7replaceEjjRKSs@GLIBCXX_3.4 4.1.1
+ _ZNSs7replaceEjjRKSsjj@GLIBCXX_3.4 4.1.1
+ _ZNSs7replaceEjjjc@GLIBCXX_3.4 4.1.1
+ _ZNSs7reserveEj@GLIBCXX_3.4 4.1.1
+ _ZNSs9_M_assignEPcjc@GLIBCXX_3.4 4.1.1
+ _ZNSs9_M_assignEPcjc@GLIBCXX_3.4.5 4.1.1
+ _ZNSs9_M_mutateEjjj@GLIBCXX_3.4 4.1.1
+ _ZNSsC1EPKcjRKSaIcE@GLIBCXX_3.4 4.1.1
+ _ZNSsC1ERKSsjj@GLIBCXX_3.4 4.1.1
+ _ZNSsC1ERKSsjRKSaIcE@GLIBCXX_3.4.23 7
+ _ZNSsC1ERKSsjjRKSaIcE@GLIBCXX_3.4 4.1.1
+ _ZNSsC1EjcRKSaIcE@GLIBCXX_3.4 4.1.1
+ _ZNSsC2EPKcjRKSaIcE@GLIBCXX_3.4 4.1.1
+ _ZNSsC2ERKSsjRKSaIcE@GLIBCXX_3.4.23 7
+ _ZNSsC2ERKSsjj@GLIBCXX_3.4 4.1.1
+ _ZNSsC2ERKSsjjRKSaIcE@GLIBCXX_3.4 4.1.1
+ _ZNSsC2EjcRKSaIcE@GLIBCXX_3.4 4.1.1
+ _ZNSsixEj@GLIBCXX_3.4 4.1.1
+ _ZNSt10istrstreamC1EPKci@GLIBCXX_3.4 4.1.1
+ _ZNSt10istrstreamC1EPci@GLIBCXX_3.4 4.1.1
+ _ZNSt10istrstreamC2EPKci@GLIBCXX_3.4 4.1.1
+ _ZNSt10istrstreamC2EPci@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb0EEC1EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb0EEC1EPSt18__moneypunct_cacheIcLb0EEj@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb0EEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb0EEC2EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb0EEC2EPSt18__moneypunct_cacheIcLb0EEj@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb0EEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb1EEC1EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb1EEC1EPSt18__moneypunct_cacheIcLb1EEj@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb1EEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb1EEC2EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb1EEC2EPSt18__moneypunct_cacheIcLb1EEj@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb1EEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb0EEC1EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb0EEC1EPSt18__moneypunct_cacheIwLb0EEj@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb0EEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb0EEC2EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb0EEC2EPSt18__moneypunct_cacheIwLb0EEj@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb0EEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb1EEC1EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb1EEC1EPSt18__moneypunct_cacheIwLb1EEj@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb1EEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb1EEC2EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb1EEC2EPSt18__moneypunct_cacheIwLb1EEj@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb1EEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt11this_thread11__sleep_forENSt6chrono8durationIxSt5ratioILx1ELx1EEEENS1_IxS2_ILx1ELx1000000000EEEE@GLIBCXX_3.4.18 4.8
+ _ZNSt11__timepunctIcEC1EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt11__timepunctIcEC1EPSt17__timepunct_cacheIcEj@GLIBCXX_3.4 4.1.1
+ _ZNSt11__timepunctIcEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt11__timepunctIcEC2EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt11__timepunctIcEC2EPSt17__timepunct_cacheIcEj@GLIBCXX_3.4 4.1.1
+ _ZNSt11__timepunctIcEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt11__timepunctIwEC1EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt11__timepunctIwEC1EPSt17__timepunct_cacheIwEj@GLIBCXX_3.4 4.1.1
+ _ZNSt11__timepunctIwEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt11__timepunctIwEC2EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt11__timepunctIwEC2EPSt17__timepunct_cacheIwEj@GLIBCXX_3.4 4.1.1
+ _ZNSt11__timepunctIwEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt12__basic_fileIcE6xsgetnEPci@GLIBCXX_3.4 4.1.1
+ _ZNSt12__basic_fileIcE6xsputnEPKci@GLIBCXX_3.4 4.1.1
+ _ZNSt12__basic_fileIcE7seekoffExSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1
+ _ZNSt12__basic_fileIcE8xsputn_2EPKciS2_i@GLIBCXX_3.4 4.1.1
+ _ZNSt12ctype_bynameIcEC1EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt12ctype_bynameIcEC1ERKSsj@GLIBCXX_3.4.21 5
+ _ZNSt12ctype_bynameIcEC2EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt12ctype_bynameIcEC2ERKSsj@GLIBCXX_3.4.21 5
+ _ZNSt12ctype_bynameIwEC1EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt12ctype_bynameIwEC1ERKSsj@GLIBCXX_3.4.21 5
+ _ZNSt12ctype_bynameIwEC2EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt12ctype_bynameIwEC2ERKSsj@GLIBCXX_3.4.21 5
+ _ZNSt12strstreambuf6setbufEPci@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambuf7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambuf8_M_allocEj@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambuf8_M_setupEPcS0_i@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC1EPFPvjEPFvS0_E@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC1EPKai@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC1EPKci@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC1EPKhi@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC1EPaiS0_@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC1EPciS0_@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC1EPhiS0_@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC1Ei@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC2EPFPvjEPFvS0_E@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC2EPKai@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC2EPKci@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC2EPKhi@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC2EPaiS0_@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC2EPciS0_@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC2EPhiS0_@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC2Ei@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIcSt11char_traitsIcEE13_M_set_bufferEi@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIcSt11char_traitsIcEE22_M_convert_to_externalEPci@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIcSt11char_traitsIcEE6setbufEPci@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIcSt11char_traitsIcEE6xsgetnEPci@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIcSt11char_traitsIcEE6xsputnEPKci@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIcSt11char_traitsIcEE7_M_seekExSt12_Ios_Seekdir11__mbstate_t@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIwSt11char_traitsIwEE13_M_set_bufferEi@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIwSt11char_traitsIwEE22_M_convert_to_externalEPwi@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIwSt11char_traitsIwEE6setbufEPwi@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIwSt11char_traitsIwEE6xsgetnEPwi@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIwSt11char_traitsIwEE6xsputnEPKwi@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIwSt11char_traitsIwEE7_M_seekExSt12_Ios_Seekdir11__mbstate_t@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIwSt11char_traitsIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwi@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwiw@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE4readEPwi@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgExSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEi@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEi@GLIBCXX_3.4.5 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEij@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwi@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwiw@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE8readsomeEPwi@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpExSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEE5writeEPKwi@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEE8_M_writeEPKwi@GLIBCXX_3.4 4.1.1
+ _ZNSt14codecvt_bynameIcc11__mbstate_tEC1EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt14codecvt_bynameIcc11__mbstate_tEC1ERKSsj@GLIBCXX_3.4.21 5
+ _ZNSt14codecvt_bynameIcc11__mbstate_tEC2EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt14codecvt_bynameIcc11__mbstate_tEC2ERKSsj@GLIBCXX_3.4.21 5
+ _ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt14codecvt_bynameIwc11__mbstate_tEC1ERKSsj@GLIBCXX_3.4.21 5
+ _ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt14codecvt_bynameIwc11__mbstate_tEC2ERKSsj@GLIBCXX_3.4.21 5
+ _ZNSt14collate_bynameIcEC1EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt14collate_bynameIcEC2EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt14collate_bynameIwEC1EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt14collate_bynameIwEC2EPKcj@GLIBCXX_3.4 4.1.1
+ (arch=!powerpc !powerpcspe !ppc64 !sparc)_ZNSt14numeric_limitsIeE12max_digits10E@GLIBCXX_3.4.14 4.5.0
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE12__safe_gbumpEi@GLIBCXX_3.4.16 4.6.0
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE12__safe_pbumpEi@GLIBCXX_3.4.16 4.6.0
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetnEPci@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE5sputnEPKci@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPci@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE6xsgetnEPci@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE6xsputnEPKci@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE9pubsetbufEPci@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE12__safe_gbumpEi@GLIBCXX_3.4.16 4.6.0
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE12__safe_pbumpEi@GLIBCXX_3.4.16 4.6.0
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetnEPwi@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE5sputnEPKwi@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE6setbufEPwi@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE6xsgetnEPwi@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE6xsputnEPKwi@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE9pubsetbufEPwi@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPci@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcjj@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8_M_pbumpEPcS4_x@GLIBCXX_3.4.16 4.6.0
+ _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE6setbufEPwi@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7_M_syncEPwjj@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8_M_pbumpEPwS4_x@GLIBCXX_3.4.16 4.6.0
+ _ZNSt15messages_bynameIcEC1EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt15messages_bynameIcEC1ERKSsj@GLIBCXX_3.4.21 5
+ _ZNSt15messages_bynameIcEC2EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt15messages_bynameIcEC2ERKSsj@GLIBCXX_3.4.21 5
+ _ZNSt15messages_bynameIwEC1EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt15messages_bynameIwEC1ERKSsj@GLIBCXX_3.4.21 5
+ _ZNSt15messages_bynameIwEC2EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt15messages_bynameIwEC2ERKSsj@GLIBCXX_3.4.21 5
+ _ZNSt15numpunct_bynameIcEC1EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt15numpunct_bynameIcEC1ERKSsj@GLIBCXX_3.4.21 5
+ _ZNSt15numpunct_bynameIcEC2EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt15numpunct_bynameIcEC2ERKSsj@GLIBCXX_3.4.21 5
+ _ZNSt15numpunct_bynameIwEC1EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt15numpunct_bynameIwEC1ERKSsj@GLIBCXX_3.4.21 5
+ _ZNSt15numpunct_bynameIwEC2EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt15numpunct_bynameIwEC2ERKSsj@GLIBCXX_3.4.21 5
+ _ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1ERKSsj@GLIBCXX_3.4.21 5
+ _ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2ERKSsj@GLIBCXX_3.4.21 5
+ _ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1ERKSsj@GLIBCXX_3.4.21 5
+ _ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2ERKSsj@GLIBCXX_3.4.21 5
+ _ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1ERKSsj@GLIBCXX_3.4.21 5
+ _ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2ERKSsj@GLIBCXX_3.4.21 5
+ _ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1ERKSsj@GLIBCXX_3.4.21 5
+ _ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2ERKSsj@GLIBCXX_3.4.21 5
+ _ZNSt16__numpunct_cacheIcEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt16__numpunct_cacheIcEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt16__numpunct_cacheIwEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt16__numpunct_cacheIwEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt17__timepunct_cacheIcEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt17__timepunct_cacheIcEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt17__timepunct_cacheIwEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt17__timepunct_cacheIwEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt17moneypunct_bynameIcLb0EEC1EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt17moneypunct_bynameIcLb0EEC1ERKSsj@GLIBCXX_3.4.21 5
+ _ZNSt17moneypunct_bynameIcLb0EEC2EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt17moneypunct_bynameIcLb0EEC2ERKSsj@GLIBCXX_3.4.21 5
+ _ZNSt17moneypunct_bynameIcLb1EEC1EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt17moneypunct_bynameIcLb1EEC1ERKSsj@GLIBCXX_3.4.21 5
+ _ZNSt17moneypunct_bynameIcLb1EEC2EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt17moneypunct_bynameIcLb1EEC2ERKSsj@GLIBCXX_3.4.21 5
+ _ZNSt17moneypunct_bynameIwLb0EEC1EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt17moneypunct_bynameIwLb0EEC1ERKSsj@GLIBCXX_3.4.21 5
+ _ZNSt17moneypunct_bynameIwLb0EEC2EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt17moneypunct_bynameIwLb0EEC2ERKSsj@GLIBCXX_3.4.21 5
+ _ZNSt17moneypunct_bynameIwLb1EEC1EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt17moneypunct_bynameIwLb1EEC1ERKSsj@GLIBCXX_3.4.21 5
+ _ZNSt17moneypunct_bynameIwLb1EEC2EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt17moneypunct_bynameIwLb1EEC2ERKSsj@GLIBCXX_3.4.21 5
+ _ZNSt18__moneypunct_cacheIcLb0EEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt18__moneypunct_cacheIcLb0EEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt18__moneypunct_cacheIcLb1EEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt18__moneypunct_cacheIcLb1EEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt18__moneypunct_cacheIwLb0EEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt18__moneypunct_cacheIwLb0EEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt18__moneypunct_cacheIwLb1EEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt18__moneypunct_cacheIwLb1EEC2Ej@GLIBCXX_3.4 4.1.1
+ (arch=!armel !kfreebsd-amd64 !kfreebsd-i386)_ZNSt28__atomic_futex_unsigned_base19_M_futex_wait_untilEPjjbNSt6chrono8durationIxSt5ratioILx1ELx1EEEENS2_IxS3_ILx1ELx1000000000EEEE@GLIBCXX_3.4.21 5
+ _ZNSt5ctypeIcEC1EP15__locale_structPKtbj@GLIBCXX_3.4 4.1.1
+ _ZNSt5ctypeIcEC1EPKtbj@GLIBCXX_3.4 4.1.1
+ _ZNSt5ctypeIcEC2EP15__locale_structPKtbj@GLIBCXX_3.4 4.1.1
+ _ZNSt5ctypeIcEC2EPKtbj@GLIBCXX_3.4 4.1.1
+ _ZNSt5ctypeIwEC1EP15__locale_structj@GLIBCXX_3.4 4.1.1
+ _ZNSt5ctypeIwEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt5ctypeIwEC2EP15__locale_structj@GLIBCXX_3.4 4.1.1
+ _ZNSt5ctypeIwEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt6gslice8_IndexerC1EjRKSt8valarrayIjES4_@GLIBCXX_3.4 4.1.1
+ _ZNSt6gslice8_IndexerC2EjRKSt8valarrayIjES4_@GLIBCXX_3.4 4.1.1
+ _ZNSt6locale5_Impl16_M_install_cacheEPKNS_5facetEj@GLIBCXX_3.4.7 4.1.1
+ _ZNSt6locale5_ImplC1EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt6locale5_ImplC1ERKS0_j@GLIBCXX_3.4 4.1.1
+ _ZNSt6locale5_ImplC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt6locale5_ImplC2EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt6locale5_ImplC2ERKS0_j@GLIBCXX_3.4 4.1.1
+ _ZNSt6locale5_ImplC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt7codecvtIcc11__mbstate_tEC1EP15__locale_structj@GLIBCXX_3.4 4.1.1
+ _ZNSt7codecvtIcc11__mbstate_tEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt7codecvtIcc11__mbstate_tEC2EP15__locale_structj@GLIBCXX_3.4 4.1.1
+ _ZNSt7codecvtIcc11__mbstate_tEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt7codecvtIwc11__mbstate_tEC1EP15__locale_structj@GLIBCXX_3.4 4.1.1
+ _ZNSt7codecvtIwc11__mbstate_tEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt7codecvtIwc11__mbstate_tEC2EP15__locale_structj@GLIBCXX_3.4 4.1.1
+ _ZNSt7codecvtIwc11__mbstate_tEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt7collateIcEC1EP15__locale_structj@GLIBCXX_3.4 4.1.1
+ _ZNSt7collateIcEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt7collateIcEC2EP15__locale_structj@GLIBCXX_3.4 4.1.1
+ _ZNSt7collateIcEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt7collateIwEC1EP15__locale_structj@GLIBCXX_3.4 4.1.1
+ _ZNSt7collateIwEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt7collateIwEC2EP15__locale_structj@GLIBCXX_3.4 4.1.1
+ _ZNSt7collateIwEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt8messagesIcEC1EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt8messagesIcEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt8messagesIcEC2EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt8messagesIcEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt8messagesIwEC1EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt8messagesIwEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt8messagesIwEC2EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt8messagesIwEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIcEC1EP15__locale_structj@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIcEC1EPSt16__numpunct_cacheIcEj@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIcEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIcEC2EP15__locale_structj@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIcEC2EPSt16__numpunct_cacheIcEj@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIcEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIwEC1EP15__locale_structj@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIwEC1EPSt16__numpunct_cacheIwEj@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIwEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIwEC2EP15__locale_structj@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIwEC2EPSt16__numpunct_cacheIwEj@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIwEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt8valarrayIjEC1ERKS0_@GLIBCXX_3.4 4.1.1
+ _ZNSt8valarrayIjEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt8valarrayIjEC2ERKS0_@GLIBCXX_3.4 4.1.1
+ _ZNSt8valarrayIjEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt8valarrayIjED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt8valarrayIjED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt8valarrayIjEixEj@GLIBCXX_3.4 4.1.1
+ _ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZSt11_Hash_bytesPKvjj@CXXABI_1.3.5 4.6
+ _ZSt15_Fnv_hash_bytesPKvjj@CXXABI_1.3.5 4.6
+ _ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_i@GLIBCXX_3.4.9 4.2.1
+ _ZSt16__ostream_insertIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_i@GLIBCXX_3.4.9 4.2.1
+ _ZSt17__copy_streambufsIcSt11char_traitsIcEEiPSt15basic_streambufIT_T0_ES6_@GLIBCXX_3.4.6 4.1.1
+ _ZSt17__copy_streambufsIwSt11char_traitsIwEEiPSt15basic_streambufIT_T0_ES6_@GLIBCXX_3.4.6 4.1.1
+ _ZSt17__verify_groupingPKcjRKSs@GLIBCXX_3.4.10 4.3
+ _ZSt21__copy_streambufs_eofIcSt11char_traitsIcEEiPSt15basic_streambufIT_T0_ES6_Rb@GLIBCXX_3.4.9 4.2.1
+ _ZSt21__copy_streambufs_eofIwSt11char_traitsIwEEiPSt15basic_streambufIT_T0_ES6_Rb@GLIBCXX_3.4.9 4.2.1
+ _ZThn8_NSdD0Ev@GLIBCXX_3.4 4.1.1
+ _ZThn8_NSdD1Ev@GLIBCXX_3.4 4.1.1
+ _ZThn8_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZThn8_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZThn8_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZThn8_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZThn8_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZThn8_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZThn8_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZThn8_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZThn8_NSt9strstreamD0Ev@GLIBCXX_3.4 4.1.1
+ _ZThn8_NSt9strstreamD1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSdD0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSdD1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSiD0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSiD1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSoD0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSoD1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt10istrstreamD0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt10istrstreamD1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt10ostrstreamD0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt10ostrstreamD1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt9strstreamD0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt9strstreamD1Ev@GLIBCXX_3.4 4.1.1
+ _ZdaPvj@CXXABI_1.3.9 5
+ _ZdaPvjSt11align_val_t@CXXABI_1.3.11 7
+ _ZdlPvjSt11align_val_t@CXXABI_1.3.11 7
+ _ZdlPvj@CXXABI_1.3.9 5
+ _ZdlPvjSt11align_val_t@CXXABI_1.3.11 7
+ _Znaj@GLIBCXX_3.4 4.1.1
+ _ZnajRKSt9nothrow_t@GLIBCXX_3.4 4.1.1
+ _ZnajSt11align_val_t@CXXABI_1.3.11 7
+ _ZnajSt11align_val_tRKSt9nothrow_t@CXXABI_1.3.11 7
+ _Znwj@GLIBCXX_3.4 4.1.1
+ _ZnwjRKSt9nothrow_t@GLIBCXX_3.4 4.1.1
+ _ZnwjSt11align_val_t@CXXABI_1.3.11 7
+ _ZnwjSt11align_val_tRKSt9nothrow_t@CXXABI_1.3.11 7
+ _ZNSt12__basic_fileIcEC1EP15pthread_mutex_t@GLIBCXX_3.4 4.1.1
+ _ZNSt12__basic_fileIcEC2EP15pthread_mutex_t@GLIBCXX_3.4 4.1.1
--- /dev/null
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12find_last_ofEPKcj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12find_last_ofEPKcjj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12find_last_ofERKS4_j@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12find_last_ofEcj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13find_first_ofEPKcj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13find_first_ofEPKcjj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13find_first_ofERKS4_j@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13find_first_ofEcj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE15_M_check_lengthEjjPKc@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16find_last_not_ofEPKcj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16find_last_not_ofEPKcjj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16find_last_not_ofERKS4_j@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16find_last_not_ofEcj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE17find_first_not_ofEPKcj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE17find_first_not_ofEPKcjj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE17find_first_not_ofERKS4_j@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE17find_first_not_ofEcj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE2atEj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4copyEPcjj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEPKcj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEPKcjj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findERKS4_j@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEcj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5rfindEPKcj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5rfindEPKcjj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5rfindERKS4_j@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5rfindEcj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6substrEjj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEjjPKc@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEjjPKcj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEjjRKS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEjjRKS4_jj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8_M_checkEjPKc@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8_M_limitEjj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12find_last_ofEPKwj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12find_last_ofEPKwjj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12find_last_ofERKS4_j@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12find_last_ofEwj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13find_first_ofEPKwj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13find_first_ofEPKwjj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13find_first_ofERKS4_j@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13find_first_ofEwj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE15_M_check_lengthEjjPKc@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwjj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE16find_last_not_ofERKS4_j@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE16find_last_not_ofEwj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwjj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE17find_first_not_ofERKS4_j@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE17find_first_not_ofEwj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE2atEj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4copyEPwjj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4findEPKwj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4findEPKwjj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4findERKS4_j@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4findEwj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5rfindEPKwj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5rfindEPKwjj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5rfindERKS4_j@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5rfindEwj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6substrEjj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7compareEjjPKw@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7compareEjjPKwj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7compareEjjRKS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7compareEjjRKS4_jj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE8_M_checkEjPKc@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE8_M_limitEjj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEixEj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx117collateIcE12_M_transformEPcPKcj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx117collateIwE12_M_transformEPwPKwj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_numES4_S4_RiiijRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE15_M_extract_nameES4_S4_RiPPKcjRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE24_M_extract_wday_or_monthES4_S4_RiPPKcjRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_numES4_S4_RiiijRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE15_M_extract_nameES4_S4_RiPPKwjRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE24_M_extract_wday_or_monthES4_S4_RiPPKwjRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt12ctype_bynameIcEC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt12ctype_bynameIcEC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt12ctype_bynameIwEC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt12ctype_bynameIwEC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt14codecvt_bynameIcc11__mbstate_tEC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt14codecvt_bynameIcc11__mbstate_tEC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt14codecvt_bynameIwc11__mbstate_tEC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt14codecvt_bynameIwc11__mbstate_tEC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1ERKNSt7__cxx1112basic_stringIcS2_SaIcEEEj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2ERKNSt7__cxx1112basic_stringIcS2_SaIcEEEj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb0EEC1EP15__locale_structPKcj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb0EEC1EPSt18__moneypunct_cacheIcLb0EEj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb0EEC1Ej@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb0EEC2EP15__locale_structPKcj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb0EEC2EPSt18__moneypunct_cacheIcLb0EEj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb0EEC2Ej@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb1EEC1EP15__locale_structPKcj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb1EEC1EPSt18__moneypunct_cacheIcLb1EEj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb1EEC1Ej@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb1EEC2EP15__locale_structPKcj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb1EEC2EPSt18__moneypunct_cacheIcLb1EEj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb1EEC2Ej@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb0EEC1EP15__locale_structPKcj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb0EEC1EPSt18__moneypunct_cacheIwLb0EEj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb0EEC1Ej@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb0EEC2EP15__locale_structPKcj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb0EEC2EPSt18__moneypunct_cacheIwLb0EEj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb0EEC2Ej@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb1EEC1EP15__locale_structPKcj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb1EEC1EPSt18__moneypunct_cacheIwLb1EEj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb1EEC1Ej@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb1EEC2EP15__locale_structPKcj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb1EEC2EPSt18__moneypunct_cacheIwLb1EEj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb1EEC2Ej@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_destroyEj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEjjPKcj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_S_compareEjj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_capacityEj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructEjc@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_set_lengthEj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE14_M_replace_auxEjjjc@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE18_M_construct_aux_2Ejc@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE2atEj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5eraseEjj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKcj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendERKS4_jj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEjc@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignEPKcj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignERKS4_jj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignEjc@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEN9__gnu_cxx17__normal_iteratorIPKcS4_EEjc@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEN9__gnu_cxx17__normal_iteratorIPcS4_EEjc@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEjPKc@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEjPKcj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEjRKS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEjRKS4_jj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEjjc@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6resizeEj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6resizeEjc@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_S_copyEPcPKcj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_S_moveEPcPKcj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_S8_j@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_jc@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPcS4_EES8_PKcj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPcS4_EES8_jc@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEjjPKc@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEjjPKcj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEjjRKS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEjjRKS4_jj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEjjjc@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7reserveEj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8_M_eraseEjj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_appendEPKcj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERjj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_lengthEj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_mutateEjjPKcj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_S_assignEPcjc@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcjRKS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS4_jRKS3_@GLIBCXX_3.4.23 7
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS4_jj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS4_jjRKS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EjcRKS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EPKcjRKS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_jRKS3_@GLIBCXX_3.4.23 7
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_jj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_jjRKS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EjcRKS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE10_M_destroyEj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE10_M_replaceEjjPKwj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE10_S_compareEjj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE11_M_capacityEj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructEjw@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13_M_set_lengthEj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE14_M_replace_auxEjjjw@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE18_M_construct_aux_2Ejw@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE2atEj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5eraseEjj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6appendEPKwj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6appendERKS4_jj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6appendEjw@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6assignEjw@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6assignEPKwj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6assignERKS4_jj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPKwS4_EEjw@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS4_EEjw@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEjPKwj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEjPKw@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEjRKS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEjRKS4_jj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEjjw@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6resizeEj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6resizeEjw@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7_S_copyEPwPKwj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7_S_moveEPwPKwj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_S8_j@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_jw@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS4_EES8_PKwj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS4_EES8_jw@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEjjPKw@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEjjPKwj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEjjRKS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEjjRKS4_jj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEjjjw@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7reserveEj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE8_M_eraseEjj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_M_appendEPKwj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_M_createERjj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_M_lengthEj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_M_mutateEjjPKwj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_S_assignEPwjw@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1EPKwjRKS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1ERKS4_jRKS3_@GLIBCXX_3.4.23 7
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1ERKS4_jj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1ERKS4_jjRKS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1EjwRKS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2EPKwjRKS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2ERKS4_jRKS3_@GLIBCXX_3.4.23 7
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2ERKS4_jj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2ERKS4_jjRKS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2EjwRKS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEixEj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1114collate_bynameIcEC1EPKcj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1114collate_bynameIcEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1114collate_bynameIcEC2EPKcj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1114collate_bynameIcEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1114collate_bynameIwEC1EPKcj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1114collate_bynameIwEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1114collate_bynameIwEC2EPKcj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1114collate_bynameIwEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcjj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPci@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE8_M_pbumpEPcS5_x@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE6setbufEPwi@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE7_M_syncEPwjj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE8_M_pbumpEPwS5_x@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115messages_bynameIcEC1EPKcj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115messages_bynameIcEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115messages_bynameIcEC2EPKcj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115messages_bynameIcEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115messages_bynameIwEC1EPKcj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115messages_bynameIwEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115messages_bynameIwEC2EPKcj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115messages_bynameIwEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115numpunct_bynameIcEC1EPKcj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115numpunct_bynameIcEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115numpunct_bynameIcEC2EPKcj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115numpunct_bynameIcEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115numpunct_bynameIwEC1EPKcj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115numpunct_bynameIwEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115numpunct_bynameIwEC2EPKcj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115numpunct_bynameIwEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1ERKNS_12basic_stringIcS3_SaIcEEEj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2ERKNS_12basic_stringIcS3_SaIcEEEj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1ERKNS_12basic_stringIcS2_IcESaIcEEEj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2ERKNS_12basic_stringIcS2_IcESaIcEEEj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIcLb0EEC1EPKcj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIcLb0EEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIcLb0EEC2EPKcj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIcLb0EEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIcLb1EEC1EPKcj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIcLb1EEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIcLb1EEC2EPKcj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIcLb1EEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIwLb0EEC1EPKcj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIwLb0EEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIwLb0EEC2EPKcj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIwLb0EEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIwLb1EEC1EPKcj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIwLb1EEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIwLb1EEC2EPKcj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIwLb1EEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx117collateIcEC1EP15__locale_structj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx117collateIcEC1Ej@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx117collateIcEC2EP15__locale_structj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx117collateIcEC2Ej@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx117collateIwEC1EP15__locale_structj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx117collateIwEC1Ej@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx117collateIwEC2EP15__locale_structj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx117collateIwEC2Ej@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118messagesIcEC1EP15__locale_structPKcj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118messagesIcEC1Ej@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118messagesIcEC2EP15__locale_structPKcj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118messagesIcEC2Ej@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118messagesIwEC1EP15__locale_structPKcj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118messagesIwEC1Ej@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118messagesIwEC2EP15__locale_structPKcj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118messagesIwEC2Ej@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118numpunctIcEC1EP15__locale_structj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118numpunctIcEC1EPSt16__numpunct_cacheIcEj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118numpunctIcEC1Ej@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118numpunctIcEC2EP15__locale_structj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118numpunctIcEC2EPSt16__numpunct_cacheIcEj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118numpunctIcEC2Ej@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118numpunctIwEC1EP15__locale_structj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118numpunctIwEC1EPSt16__numpunct_cacheIwEj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118numpunctIwEC1Ej@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118numpunctIwEC2EP15__locale_structj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118numpunctIwEC2EPSt16__numpunct_cacheIwEj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118numpunctIwEC2Ej@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZSt17__verify_groupingPKcjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZThn8_NSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZThn8_NSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZThn8_NSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZThn8_NSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTv0_n12_NSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTv0_n12_NSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTv0_n12_NSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTv0_n12_NSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTv0_n12_NSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTv0_n12_NSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTv0_n12_NSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTv0_n12_NSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTv0_n12_NSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTv0_n12_NSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTv0_n12_NSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTv0_n12_NSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4.21 5.2
--- /dev/null
+#include "libstdc++6.symbols.common"
+ _ZN9__gnu_cxx12__atomic_addEPVii@GLIBCXX_3.4 4.1.1
+ _ZN9__gnu_cxx17__pool_alloc_base16_M_get_free_listEj@GLIBCXX_3.4.2 4.1.1
+ _ZN9__gnu_cxx17__pool_alloc_base9_M_refillEj@GLIBCXX_3.4.2 4.1.1
+ _ZN9__gnu_cxx18__exchange_and_addEPVii@GLIBCXX_3.4 4.1.1
+ _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE6xsgetnEPci@GLIBCXX_3.4.10 4.3.0~rc2
+ _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE6xsputnEPKci@GLIBCXX_3.4.10 4.3.0~rc2
+ _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4.10 4.3.0~rc2
+ _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE6xsgetnEPwi@GLIBCXX_3.4.10 4.3.0~rc2
+ _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE6xsputnEPKwi@GLIBCXX_3.4.10 4.3.0~rc2
+ _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4.10 4.3.0~rc2
+ _ZN9__gnu_cxx6__poolILb0EE16_M_reclaim_blockEPcj@GLIBCXX_3.4.4 4.1.1
+ _ZN9__gnu_cxx6__poolILb0EE16_M_reserve_blockEjj@GLIBCXX_3.4.4 4.1.1
+ _ZN9__gnu_cxx6__poolILb1EE16_M_reclaim_blockEPcj@GLIBCXX_3.4.4 4.1.1
+ _ZN9__gnu_cxx6__poolILb1EE16_M_reserve_blockEjj@GLIBCXX_3.4.4 4.1.1
+ _ZN9__gnu_cxx9free_list6_M_getEj@GLIBCXX_3.4.4 4.1.1
+ _ZNK10__cxxabiv117__class_type_info12__do_dyncastEiNS0_10__sub_kindEPKS0_PKvS3_S5_RNS0_16__dyncast_resultE@CXXABI_1.3 4.1.1
+ _ZNK10__cxxabiv117__class_type_info20__do_find_public_srcEiPKvPKS0_S2_@CXXABI_1.3 4.1.1
+ _ZNK10__cxxabiv120__si_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE@CXXABI_1.3 4.1.1
+ _ZNK10__cxxabiv120__si_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2_@CXXABI_1.3 4.1.1
+ _ZNK10__cxxabiv121__vmi_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE@CXXABI_1.3 4.1.1
+ _ZNK10__cxxabiv121__vmi_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2_@CXXABI_1.3 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwj@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwjj@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofERKS2_j@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEwj@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwj@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwjj@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofERKS2_j@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEwj@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEjjPKc@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEjjPKc@GLIBCXX_3.4.5 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwj@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwjj@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofERKS2_j@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEwj@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwj@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwjj@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofERKS2_j@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEwj@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE2atEj@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE4copyEPwjj@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwj@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwjj@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE4findERKS2_j@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE4findEwj@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwj@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwjj@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE5rfindERKS2_j@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE5rfindEwj@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE6substrEjj@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjPKw@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjPKwj@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjRKS2_@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjRKS2_jj@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE8_M_checkEjPKc@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE8_M_limitEjj@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEEixEj@GLIBCXX_3.4 4.1.1
+ _ZNKSs12find_last_ofEPKcj@GLIBCXX_3.4 4.1.1
+ _ZNKSs12find_last_ofEPKcjj@GLIBCXX_3.4 4.1.1
+ _ZNKSs12find_last_ofERKSsj@GLIBCXX_3.4 4.1.1
+ _ZNKSs12find_last_ofEcj@GLIBCXX_3.4 4.1.1
+ _ZNKSs13find_first_ofEPKcj@GLIBCXX_3.4 4.1.1
+ _ZNKSs13find_first_ofEPKcjj@GLIBCXX_3.4 4.1.1
+ _ZNKSs13find_first_ofERKSsj@GLIBCXX_3.4 4.1.1
+ _ZNKSs13find_first_ofEcj@GLIBCXX_3.4 4.1.1
+ _ZNKSs15_M_check_lengthEjjPKc@GLIBCXX_3.4 4.1.1
+ _ZNKSs15_M_check_lengthEjjPKc@GLIBCXX_3.4.5 4.1.1
+ _ZNKSs16find_last_not_ofEPKcj@GLIBCXX_3.4 4.1.1
+ _ZNKSs16find_last_not_ofEPKcjj@GLIBCXX_3.4 4.1.1
+ _ZNKSs16find_last_not_ofERKSsj@GLIBCXX_3.4 4.1.1
+ _ZNKSs16find_last_not_ofEcj@GLIBCXX_3.4 4.1.1
+ _ZNKSs17find_first_not_ofEPKcj@GLIBCXX_3.4 4.1.1
+ _ZNKSs17find_first_not_ofEPKcjj@GLIBCXX_3.4 4.1.1
+ _ZNKSs17find_first_not_ofERKSsj@GLIBCXX_3.4 4.1.1
+ _ZNKSs17find_first_not_ofEcj@GLIBCXX_3.4 4.1.1
+ _ZNKSs2atEj@GLIBCXX_3.4 4.1.1
+ _ZNKSs4copyEPcjj@GLIBCXX_3.4 4.1.1
+ _ZNKSs4findEPKcj@GLIBCXX_3.4 4.1.1
+ _ZNKSs4findEPKcjj@GLIBCXX_3.4 4.1.1
+ _ZNKSs4findERKSsj@GLIBCXX_3.4 4.1.1
+ _ZNKSs4findEcj@GLIBCXX_3.4 4.1.1
+ _ZNKSs5rfindEPKcj@GLIBCXX_3.4 4.1.1
+ _ZNKSs5rfindEPKcjj@GLIBCXX_3.4 4.1.1
+ _ZNKSs5rfindERKSsj@GLIBCXX_3.4 4.1.1
+ _ZNKSs5rfindEcj@GLIBCXX_3.4 4.1.1
+ _ZNKSs6substrEjj@GLIBCXX_3.4 4.1.1
+ _ZNKSs7compareEjjPKc@GLIBCXX_3.4 4.1.1
+ _ZNKSs7compareEjjPKcj@GLIBCXX_3.4 4.1.1
+ _ZNKSs7compareEjjRKSs@GLIBCXX_3.4 4.1.1
+ _ZNKSs7compareEjjRKSsjj@GLIBCXX_3.4 4.1.1
+ _ZNKSs8_M_checkEjPKc@GLIBCXX_3.4 4.1.1
+ _ZNKSs8_M_limitEjj@GLIBCXX_3.4 4.1.1
+ _ZNKSsixEj@GLIBCXX_3.4 4.1.1
+ _ZNKSt11__timepunctIcE6_M_putEPcjPKcPK2tm@GLIBCXX_3.4 4.1.1
+ _ZNKSt11__timepunctIwE6_M_putEPwjPKwPK2tm@GLIBCXX_3.4 4.1.1
+ _ZNKSt7codecvtIcc11__mbstate_tE9do_lengthERS0_PKcS4_j@GLIBCXX_3.4 4.1.1
+ _ZNKSt7codecvtIwc11__mbstate_tE9do_lengthERS0_PKcS4_j@GLIBCXX_3.4 4.1.1
+ _ZNKSt7collateIcE12_M_transformEPcPKcj@GLIBCXX_3.4 4.1.1
+ _ZNKSt7collateIwE12_M_transformEPwPKwj@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12_M_group_intEPKcjcRSt8ios_basePcS9_Ri@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_group_floatEPKcjcS6_PcS7_Ri@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6_M_padEciRSt8ios_basePcPKcRi@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE12_M_group_intEPKcjwRSt8ios_basePwS9_Ri@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_group_floatEPKcjwPKwPwS9_Ri@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6_M_padEwiRSt8ios_basePwPKwRi@GLIBCXX_3.4 4.1.1
+ _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_numES3_S3_RiiijRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4 4.1.1
+ _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE15_M_extract_nameES3_S3_RiPPKcjRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4 4.1.1
+ _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_numES3_S3_RiiijRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4 4.1.1
+ _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE15_M_extract_nameES3_S3_RiPPKwjRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4 4.1.1
+ _ZNKSt8valarrayIjE4sizeEv@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE12_S_constructEjwRKS1_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE14_M_replace_auxEjjjw@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeEjjPKwj@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE2atEj@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEj@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEj@GLIBCXX_3.4.5 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE4_Rep8_M_cloneERKS1_j@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE4_Rep9_S_createEjjRKS1_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE5eraseEjj@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6appendEPKwj@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_jj@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6appendEjw@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6assignEPKwj@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_jj@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6assignEjw@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEjw@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6insertEjPKw@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6insertEjPKwj@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6insertEjRKS2_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6insertEjRKS2_jj@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6insertEjjw@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6resizeEj@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6resizeEjw@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwj@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwj@GLIBCXX_3.4.5 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwj@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwj@GLIBCXX_3.4.5 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwj@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_jw@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjPKw@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjPKwj@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjRKS2_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjRKS2_jj@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjjw@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7reserveEj@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwjw@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwjw@GLIBCXX_3.4.5 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEjjj@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEEC1EPKwjRKS1_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_jj@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_jjRKS1_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEEC1EjwRKS1_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEEC2EPKwjRKS1_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_jj@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_jjRKS1_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEEC2EjwRKS1_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEEixEj@GLIBCXX_3.4 4.1.1
+ _ZNSi3getEPci@GLIBCXX_3.4 4.1.1
+ _ZNSi3getEPcic@GLIBCXX_3.4 4.1.1
+ _ZNSi4readEPci@GLIBCXX_3.4 4.1.1
+ _ZNSi5seekgExSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1
+ _ZNSi6ignoreEi@GLIBCXX_3.4 4.1.1
+ _ZNSi6ignoreEi@GLIBCXX_3.4.5 4.1.1
+ _ZNSi6ignoreEii@GLIBCXX_3.4 4.1.1
+ _ZNSi7getlineEPci@GLIBCXX_3.4 4.1.1
+ _ZNSi7getlineEPcic@GLIBCXX_3.4 4.1.1
+ _ZNSi8readsomeEPci@GLIBCXX_3.4 4.1.1
+ _ZNSo5seekpExSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1
+ _ZNSo5writeEPKci@GLIBCXX_3.4 4.1.1
+ _ZNSo8_M_writeEPKci@GLIBCXX_3.4 4.1.1
+ _ZNSs12_S_constructEjcRKSaIcE@GLIBCXX_3.4 4.1.1
+ _ZNSs14_M_replace_auxEjjjc@GLIBCXX_3.4 4.1.1
+ _ZNSs15_M_replace_safeEjjPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSs2atEj@GLIBCXX_3.4 4.1.1
+ _ZNSs4_Rep26_M_set_length_and_sharableEj@GLIBCXX_3.4 4.1.1
+ _ZNSs4_Rep26_M_set_length_and_sharableEj@GLIBCXX_3.4.5 4.1.1
+ _ZNSs4_Rep8_M_cloneERKSaIcEj@GLIBCXX_3.4 4.1.1
+ _ZNSs4_Rep9_S_createEjjRKSaIcE@GLIBCXX_3.4 4.1.1
+ _ZNSs5eraseEjj@GLIBCXX_3.4 4.1.1
+ _ZNSs6appendEPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSs6appendERKSsjj@GLIBCXX_3.4 4.1.1
+ _ZNSs6appendEjc@GLIBCXX_3.4 4.1.1
+ _ZNSs6assignEPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSs6assignERKSsjj@GLIBCXX_3.4 4.1.1
+ _ZNSs6assignEjc@GLIBCXX_3.4 4.1.1
+ _ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEjc@GLIBCXX_3.4 4.1.1
+ _ZNSs6insertEjPKc@GLIBCXX_3.4 4.1.1
+ _ZNSs6insertEjPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSs6insertEjRKSs@GLIBCXX_3.4 4.1.1
+ _ZNSs6insertEjRKSsjj@GLIBCXX_3.4 4.1.1
+ _ZNSs6insertEjjc@GLIBCXX_3.4 4.1.1
+ _ZNSs6resizeEj@GLIBCXX_3.4 4.1.1
+ _ZNSs6resizeEjc@GLIBCXX_3.4 4.1.1
+ _ZNSs7_M_copyEPcPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSs7_M_copyEPcPKcj@GLIBCXX_3.4.5 4.1.1
+ _ZNSs7_M_moveEPcPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSs7_M_moveEPcPKcj@GLIBCXX_3.4.5 4.1.1
+ _ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcj@GLIBCXX_3.4 4.1.1
+ _ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_jc@GLIBCXX_3.4 4.1.1
+ _ZNSs7replaceEjjPKc@GLIBCXX_3.4 4.1.1
+ _ZNSs7replaceEjjPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSs7replaceEjjRKSs@GLIBCXX_3.4 4.1.1
+ _ZNSs7replaceEjjRKSsjj@GLIBCXX_3.4 4.1.1
+ _ZNSs7replaceEjjjc@GLIBCXX_3.4 4.1.1
+ _ZNSs7reserveEj@GLIBCXX_3.4 4.1.1
+ _ZNSs9_M_assignEPcjc@GLIBCXX_3.4 4.1.1
+ _ZNSs9_M_assignEPcjc@GLIBCXX_3.4.5 4.1.1
+ _ZNSs9_M_mutateEjjj@GLIBCXX_3.4 4.1.1
+ _ZNSsC1EPKcjRKSaIcE@GLIBCXX_3.4 4.1.1
+ _ZNSsC1ERKSsjj@GLIBCXX_3.4 4.1.1
+ _ZNSsC1ERKSsjjRKSaIcE@GLIBCXX_3.4 4.1.1
+ _ZNSsC1EjcRKSaIcE@GLIBCXX_3.4 4.1.1
+ _ZNSsC2EPKcjRKSaIcE@GLIBCXX_3.4 4.1.1
+ _ZNSsC2ERKSsjj@GLIBCXX_3.4 4.1.1
+ _ZNSsC2ERKSsjjRKSaIcE@GLIBCXX_3.4 4.1.1
+ _ZNSsC2EjcRKSaIcE@GLIBCXX_3.4 4.1.1
+ _ZNSsixEj@GLIBCXX_3.4 4.1.1
+ _ZNSt10istrstreamC1EPKci@GLIBCXX_3.4 4.1.1
+ _ZNSt10istrstreamC1EPci@GLIBCXX_3.4 4.1.1
+ _ZNSt10istrstreamC2EPKci@GLIBCXX_3.4 4.1.1
+ _ZNSt10istrstreamC2EPci@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb0EEC1EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb0EEC1EPSt18__moneypunct_cacheIcLb0EEj@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb0EEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb0EEC2EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb0EEC2EPSt18__moneypunct_cacheIcLb0EEj@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb0EEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb1EEC1EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb1EEC1EPSt18__moneypunct_cacheIcLb1EEj@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb1EEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb1EEC2EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb1EEC2EPSt18__moneypunct_cacheIcLb1EEj@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb1EEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb0EEC1EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb0EEC1EPSt18__moneypunct_cacheIwLb0EEj@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb0EEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb0EEC2EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb0EEC2EPSt18__moneypunct_cacheIwLb0EEj@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb0EEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb1EEC1EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb1EEC1EPSt18__moneypunct_cacheIwLb1EEj@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb1EEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb1EEC2EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb1EEC2EPSt18__moneypunct_cacheIwLb1EEj@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb1EEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt11__timepunctIcEC1EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt11__timepunctIcEC1EPSt17__timepunct_cacheIcEj@GLIBCXX_3.4 4.1.1
+ _ZNSt11__timepunctIcEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt11__timepunctIcEC2EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt11__timepunctIcEC2EPSt17__timepunct_cacheIcEj@GLIBCXX_3.4 4.1.1
+ _ZNSt11__timepunctIcEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt11__timepunctIwEC1EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt11__timepunctIwEC1EPSt17__timepunct_cacheIwEj@GLIBCXX_3.4 4.1.1
+ _ZNSt11__timepunctIwEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt11__timepunctIwEC2EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt11__timepunctIwEC2EPSt17__timepunct_cacheIwEj@GLIBCXX_3.4 4.1.1
+ _ZNSt11__timepunctIwEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt12__basic_fileIcE6xsgetnEPci@GLIBCXX_3.4 4.1.1
+ _ZNSt12__basic_fileIcE6xsputnEPKci@GLIBCXX_3.4 4.1.1
+ _ZNSt12__basic_fileIcE7seekoffExSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1
+ _ZNSt12__basic_fileIcE8xsputn_2EPKciS2_i@GLIBCXX_3.4 4.1.1
+ _ZNSt12ctype_bynameIcEC1EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt12ctype_bynameIcEC2EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt12ctype_bynameIwEC1EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt12ctype_bynameIwEC2EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambuf6setbufEPci@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambuf7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambuf8_M_allocEj@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambuf8_M_setupEPcS0_i@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC1EPFPvjEPFvS0_E@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC1EPKai@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC1EPKci@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC1EPKhi@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC1EPaiS0_@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC1EPciS0_@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC1EPhiS0_@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC1Ei@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC2EPFPvjEPFvS0_E@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC2EPKai@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC2EPKci@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC2EPKhi@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC2EPaiS0_@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC2EPciS0_@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC2EPhiS0_@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC2Ei@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIcSt11char_traitsIcEE13_M_set_bufferEi@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIcSt11char_traitsIcEE22_M_convert_to_externalEPci@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIcSt11char_traitsIcEE6setbufEPci@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIcSt11char_traitsIcEE6xsgetnEPci@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIcSt11char_traitsIcEE6xsputnEPKci@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIcSt11char_traitsIcEE7_M_seekExSt12_Ios_Seekdir11__mbstate_t@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIwSt11char_traitsIwEE13_M_set_bufferEi@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIwSt11char_traitsIwEE22_M_convert_to_externalEPwi@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIwSt11char_traitsIwEE6setbufEPwi@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIwSt11char_traitsIwEE6xsgetnEPwi@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIwSt11char_traitsIwEE6xsputnEPKwi@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIwSt11char_traitsIwEE7_M_seekExSt12_Ios_Seekdir11__mbstate_t@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIwSt11char_traitsIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwi@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwiw@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE4readEPwi@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgExSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEi@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEi@GLIBCXX_3.4.5 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEij@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwi@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwiw@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE8readsomeEPwi@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpExSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEE5writeEPKwi@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEE8_M_writeEPKwi@GLIBCXX_3.4 4.1.1
+ _ZNSt14codecvt_bynameIcc11__mbstate_tEC1EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt14codecvt_bynameIcc11__mbstate_tEC2EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt14collate_bynameIcEC1EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt14collate_bynameIcEC2EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt14collate_bynameIwEC1EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt14collate_bynameIwEC2EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetnEPci@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE5sputnEPKci@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPci@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE6xsgetnEPci@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE6xsputnEPKci@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE9pubsetbufEPci@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetnEPwi@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE5sputnEPKwi@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE6setbufEPwi@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE6xsgetnEPwi@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE6xsputnEPKwi@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE9pubsetbufEPwi@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPci@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcjj@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE6setbufEPwi@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7_M_syncEPwjj@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt15messages_bynameIcEC1EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt15messages_bynameIcEC2EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt15messages_bynameIwEC1EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt15messages_bynameIwEC2EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt15numpunct_bynameIcEC1EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt15numpunct_bynameIcEC2EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt15numpunct_bynameIwEC1EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt15numpunct_bynameIwEC2EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt16__numpunct_cacheIcEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt16__numpunct_cacheIcEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt16__numpunct_cacheIwEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt16__numpunct_cacheIwEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt17__timepunct_cacheIcEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt17__timepunct_cacheIcEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt17__timepunct_cacheIwEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt17__timepunct_cacheIwEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt17moneypunct_bynameIcLb0EEC1EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt17moneypunct_bynameIcLb0EEC2EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt17moneypunct_bynameIcLb1EEC1EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt17moneypunct_bynameIcLb1EEC2EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt17moneypunct_bynameIwLb0EEC1EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt17moneypunct_bynameIwLb0EEC2EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt17moneypunct_bynameIwLb1EEC1EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt17moneypunct_bynameIwLb1EEC2EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt18__moneypunct_cacheIcLb0EEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt18__moneypunct_cacheIcLb0EEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt18__moneypunct_cacheIcLb1EEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt18__moneypunct_cacheIcLb1EEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt18__moneypunct_cacheIwLb0EEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt18__moneypunct_cacheIwLb0EEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt18__moneypunct_cacheIwLb1EEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt18__moneypunct_cacheIwLb1EEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt5ctypeIcEC1EP15__locale_structPKtbj@GLIBCXX_3.4 4.1.1
+ _ZNSt5ctypeIcEC1EPKtbj@GLIBCXX_3.4 4.1.1
+ _ZNSt5ctypeIcEC2EP15__locale_structPKtbj@GLIBCXX_3.4 4.1.1
+ _ZNSt5ctypeIcEC2EPKtbj@GLIBCXX_3.4 4.1.1
+ _ZNSt5ctypeIwEC1EP15__locale_structj@GLIBCXX_3.4 4.1.1
+ _ZNSt5ctypeIwEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt5ctypeIwEC2EP15__locale_structj@GLIBCXX_3.4 4.1.1
+ _ZNSt5ctypeIwEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt6gslice8_IndexerC1EjRKSt8valarrayIjES4_@GLIBCXX_3.4 4.1.1
+ _ZNSt6gslice8_IndexerC2EjRKSt8valarrayIjES4_@GLIBCXX_3.4 4.1.1
+ _ZNSt6locale5_Impl16_M_install_cacheEPKNS_5facetEj@GLIBCXX_3.4.7 4.1.1
+ _ZNSt6locale5_ImplC1EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt6locale5_ImplC1ERKS0_j@GLIBCXX_3.4 4.1.1
+ _ZNSt6locale5_ImplC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt6locale5_ImplC2EPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt6locale5_ImplC2ERKS0_j@GLIBCXX_3.4 4.1.1
+ _ZNSt6locale5_ImplC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt7codecvtIcc11__mbstate_tEC1EP15__locale_structj@GLIBCXX_3.4 4.1.1
+ _ZNSt7codecvtIcc11__mbstate_tEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt7codecvtIcc11__mbstate_tEC2EP15__locale_structj@GLIBCXX_3.4 4.1.1
+ _ZNSt7codecvtIcc11__mbstate_tEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt7codecvtIwc11__mbstate_tEC1EP15__locale_structj@GLIBCXX_3.4 4.1.1
+ _ZNSt7codecvtIwc11__mbstate_tEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt7codecvtIwc11__mbstate_tEC2EP15__locale_structj@GLIBCXX_3.4 4.1.1
+ _ZNSt7codecvtIwc11__mbstate_tEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt7collateIcEC1EP15__locale_structj@GLIBCXX_3.4 4.1.1
+ _ZNSt7collateIcEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt7collateIcEC2EP15__locale_structj@GLIBCXX_3.4 4.1.1
+ _ZNSt7collateIcEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt7collateIwEC1EP15__locale_structj@GLIBCXX_3.4 4.1.1
+ _ZNSt7collateIwEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt7collateIwEC2EP15__locale_structj@GLIBCXX_3.4 4.1.1
+ _ZNSt7collateIwEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt8messagesIcEC1EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt8messagesIcEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt8messagesIcEC2EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt8messagesIcEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt8messagesIwEC1EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt8messagesIwEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt8messagesIwEC2EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1
+ _ZNSt8messagesIwEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIcEC1EP15__locale_structj@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIcEC1EPSt16__numpunct_cacheIcEj@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIcEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIcEC2EP15__locale_structj@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIcEC2EPSt16__numpunct_cacheIcEj@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIcEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIwEC1EP15__locale_structj@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIwEC1EPSt16__numpunct_cacheIwEj@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIwEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIwEC2EP15__locale_structj@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIwEC2EPSt16__numpunct_cacheIwEj@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIwEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt8valarrayIjEC1ERKS0_@GLIBCXX_3.4 4.1.1
+ _ZNSt8valarrayIjEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt8valarrayIjEC2ERKS0_@GLIBCXX_3.4 4.1.1
+ _ZNSt8valarrayIjEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt8valarrayIjED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt8valarrayIjED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt8valarrayIjEixEj@GLIBCXX_3.4 4.1.1
+ _ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@GLIBCXX_3.4 4.1.1
+ _ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@GLIBCXX_3.4 4.1.1
+ _ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_i@GLIBCXX_3.4.9 4.2.1
+ _ZSt16__ostream_insertIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_i@GLIBCXX_3.4.9 4.2.1
+ _ZSt17__copy_streambufsIcSt11char_traitsIcEEiPSt15basic_streambufIT_T0_ES6_@GLIBCXX_3.4.6 4.1.1
+ _ZSt17__copy_streambufsIwSt11char_traitsIwEEiPSt15basic_streambufIT_T0_ES6_@GLIBCXX_3.4.6 4.1.1
+ _ZSt17__verify_groupingPKcjRKSs@GLIBCXX_3.4.10 4.3
+ _ZSt21__copy_streambufs_eofIcSt11char_traitsIcEEiPSt15basic_streambufIT_T0_ES6_Rb@GLIBCXX_3.4.9 4.2.1
+ _ZSt21__copy_streambufs_eofIwSt11char_traitsIwEEiPSt15basic_streambufIT_T0_ES6_Rb@GLIBCXX_3.4.9 4.2.1
+ _ZThn8_NSdD0Ev@GLIBCXX_3.4 4.1.1
+ _ZThn8_NSdD1Ev@GLIBCXX_3.4 4.1.1
+ _ZThn8_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZThn8_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZThn8_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZThn8_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZThn8_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZThn8_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZThn8_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZThn8_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZThn8_NSt9strstreamD0Ev@GLIBCXX_3.4 4.1.1
+ _ZThn8_NSt9strstreamD1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSdD0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSdD1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSiD0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSiD1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSoD0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSoD1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt10istrstreamD0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt10istrstreamD1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt10ostrstreamD0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt10ostrstreamD1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt9strstreamD0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt9strstreamD1Ev@GLIBCXX_3.4 4.1.1
+ _Znaj@GLIBCXX_3.4 4.1.1
+ _ZnajRKSt9nothrow_t@GLIBCXX_3.4 4.1.1
+ _Znwj@GLIBCXX_3.4 4.1.1
+ _ZnwjRKSt9nothrow_t@GLIBCXX_3.4 4.1.1
+ _ZNSt12__basic_fileIcEC1EP15__pthread_mutex@GLIBCXX_3.4 4.3.0
+ _ZNSt12__basic_fileIcEC2EP15__pthread_mutex@GLIBCXX_3.4 4.3.0
--- /dev/null
+#include "libstdc++6.symbols.common"
+#include "libstdc++6.symbols.64bit.cxx11"
+ _ZN9__gnu_cxx17__pool_alloc_base16_M_get_free_listEm@GLIBCXX_3.4.2 4.1.1
+ _ZN9__gnu_cxx17__pool_alloc_base9_M_refillEm@GLIBCXX_3.4.2 4.1.1
+ _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE6xsgetnEPcl@GLIBCXX_3.4.10 4.3.0~rc2
+ _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE6xsputnEPKcl@GLIBCXX_3.4.10 4.3.0~rc2
+ _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4.10 4.3.0~rc2
+ _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE6xsgetnEPwl@GLIBCXX_3.4.10 4.3.0~rc2
+ _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE6xsputnEPKwl@GLIBCXX_3.4.10 4.3.0~rc2
+ _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4.10 4.3.0~rc2
+ _ZN9__gnu_cxx6__poolILb0EE16_M_reclaim_blockEPcm@GLIBCXX_3.4.4 4.1.1
+ _ZN9__gnu_cxx6__poolILb0EE16_M_reserve_blockEmm@GLIBCXX_3.4.4 4.1.1
+ _ZN9__gnu_cxx6__poolILb1EE16_M_reclaim_blockEPcm@GLIBCXX_3.4.4 4.1.1
+ _ZN9__gnu_cxx6__poolILb1EE16_M_reserve_blockEmm@GLIBCXX_3.4.4 4.1.1
+ _ZN9__gnu_cxx9free_list6_M_getEm@GLIBCXX_3.4.4 4.1.1
+ _ZNK10__cxxabiv117__class_type_info12__do_dyncastElNS0_10__sub_kindEPKS0_PKvS3_S5_RNS0_16__dyncast_resultE@CXXABI_1.3 4.1.1
+ _ZNK10__cxxabiv117__class_type_info20__do_find_public_srcElPKvPKS0_S2_@CXXABI_1.3 4.1.1
+ _ZNK10__cxxabiv120__si_class_type_info12__do_dyncastElNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE@CXXABI_1.3 4.1.1
+ _ZNK10__cxxabiv120__si_class_type_info20__do_find_public_srcElPKvPKNS_17__class_type_infoES2_@CXXABI_1.3 4.1.1
+ _ZNK10__cxxabiv121__vmi_class_type_info12__do_dyncastElNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE@CXXABI_1.3 4.1.1
+ _ZNK10__cxxabiv121__vmi_class_type_info20__do_find_public_srcElPKvPKNS_17__class_type_infoES2_@CXXABI_1.3 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwmm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofERKS2_m@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEwm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwmm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofERKS2_m@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEwm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEmmPKc@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEmmPKc@GLIBCXX_3.4.5 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwmm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofERKS2_m@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEwm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwmm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofERKS2_m@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEwm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE2atEm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE4copyEPwmm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwmm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE4findERKS2_m@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE4findEwm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwmm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE5rfindERKS2_m@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE5rfindEwm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE6substrEmm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmPKw@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmPKwm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmRKS2_@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmRKS2_mm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE8_M_checkEmPKc@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE8_M_limitEmm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEEixEm@GLIBCXX_3.4 4.1.1
+ _ZNKSs12find_last_ofEPKcm@GLIBCXX_3.4 4.1.1
+ _ZNKSs12find_last_ofEPKcmm@GLIBCXX_3.4 4.1.1
+ _ZNKSs12find_last_ofERKSsm@GLIBCXX_3.4 4.1.1
+ _ZNKSs12find_last_ofEcm@GLIBCXX_3.4 4.1.1
+ _ZNKSs13find_first_ofEPKcm@GLIBCXX_3.4 4.1.1
+ _ZNKSs13find_first_ofEPKcmm@GLIBCXX_3.4 4.1.1
+ _ZNKSs13find_first_ofERKSsm@GLIBCXX_3.4 4.1.1
+ _ZNKSs13find_first_ofEcm@GLIBCXX_3.4 4.1.1
+ _ZNKSs15_M_check_lengthEmmPKc@GLIBCXX_3.4 4.1.1
+ _ZNKSs15_M_check_lengthEmmPKc@GLIBCXX_3.4.5 4.1.1
+ _ZNKSs16find_last_not_ofEPKcm@GLIBCXX_3.4 4.1.1
+ _ZNKSs16find_last_not_ofEPKcmm@GLIBCXX_3.4 4.1.1
+ _ZNKSs16find_last_not_ofERKSsm@GLIBCXX_3.4 4.1.1
+ _ZNKSs16find_last_not_ofEcm@GLIBCXX_3.4 4.1.1
+ _ZNKSs17find_first_not_ofEPKcm@GLIBCXX_3.4 4.1.1
+ _ZNKSs17find_first_not_ofEPKcmm@GLIBCXX_3.4 4.1.1
+ _ZNKSs17find_first_not_ofERKSsm@GLIBCXX_3.4 4.1.1
+ _ZNKSs17find_first_not_ofEcm@GLIBCXX_3.4 4.1.1
+ _ZNKSs2atEm@GLIBCXX_3.4 4.1.1
+ _ZNKSs4copyEPcmm@GLIBCXX_3.4 4.1.1
+ _ZNKSs4findEPKcm@GLIBCXX_3.4 4.1.1
+ _ZNKSs4findEPKcmm@GLIBCXX_3.4 4.1.1
+ _ZNKSs4findERKSsm@GLIBCXX_3.4 4.1.1
+ _ZNKSs4findEcm@GLIBCXX_3.4 4.1.1
+ _ZNKSs5rfindEPKcm@GLIBCXX_3.4 4.1.1
+ _ZNKSs5rfindEPKcmm@GLIBCXX_3.4 4.1.1
+ _ZNKSs5rfindERKSsm@GLIBCXX_3.4 4.1.1
+ _ZNKSs5rfindEcm@GLIBCXX_3.4 4.1.1
+ _ZNKSs6substrEmm@GLIBCXX_3.4 4.1.1
+ _ZNKSs7compareEmmPKc@GLIBCXX_3.4 4.1.1
+ _ZNKSs7compareEmmPKcm@GLIBCXX_3.4 4.1.1
+ _ZNKSs7compareEmmRKSs@GLIBCXX_3.4 4.1.1
+ _ZNKSs7compareEmmRKSsmm@GLIBCXX_3.4 4.1.1
+ _ZNKSs8_M_checkEmPKc@GLIBCXX_3.4 4.1.1
+ _ZNKSs8_M_limitEmm@GLIBCXX_3.4 4.1.1
+ _ZNKSsixEm@GLIBCXX_3.4 4.1.1
+ _ZNKSt11__timepunctIcE6_M_putEPcmPKcPK2tm@GLIBCXX_3.4 4.1.1
+ _ZNKSt11__timepunctIwE6_M_putEPwmPKwPK2tm@GLIBCXX_3.4 4.1.1
+ _ZNKSt19__codecvt_utf8_baseIDiE9do_lengthER11__mbstate_tPKcS4_m@GLIBCXX_3.4.21 5
+ _ZNKSt19__codecvt_utf8_baseIDsE9do_lengthER11__mbstate_tPKcS4_m@GLIBCXX_3.4.21 5
+ _ZNKSt19__codecvt_utf8_baseIwE9do_lengthER11__mbstate_tPKcS4_m@GLIBCXX_3.4.21 5
+ _ZNKSt20__codecvt_utf16_baseIDiE9do_lengthER11__mbstate_tPKcS4_m@GLIBCXX_3.4.21 5
+ _ZNKSt20__codecvt_utf16_baseIDsE9do_lengthER11__mbstate_tPKcS4_m@GLIBCXX_3.4.21 5
+ _ZNKSt20__codecvt_utf16_baseIwE9do_lengthER11__mbstate_tPKcS4_m@GLIBCXX_3.4.21 5
+ _ZNKSt25__codecvt_utf8_utf16_baseIDiE9do_lengthER11__mbstate_tPKcS4_m@GLIBCXX_3.4.21 5
+ _ZNKSt25__codecvt_utf8_utf16_baseIDsE9do_lengthER11__mbstate_tPKcS4_m@GLIBCXX_3.4.21 5
+ _ZNKSt25__codecvt_utf8_utf16_baseIwE9do_lengthER11__mbstate_tPKcS4_m@GLIBCXX_3.4.21 5
+ _ZNKSt7codecvtIDic11__mbstate_tE9do_lengthERS0_PKcS4_m@GLIBCXX_3.4.21 5
+ _ZNKSt7codecvtIDsc11__mbstate_tE9do_lengthERS0_PKcS4_m@GLIBCXX_3.4.21 5
+ _ZNKSt7codecvtIcc11__mbstate_tE9do_lengthERS0_PKcS4_m@GLIBCXX_3.4 4.1.1
+ _ZNKSt7codecvtIwc11__mbstate_tE9do_lengthERS0_PKcS4_m@GLIBCXX_3.4 4.1.1
+ _ZNKSt7collateIcE12_M_transformEPcPKcm@GLIBCXX_3.4 4.1.1
+ _ZNKSt7collateIwE12_M_transformEPwPKwm@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12_M_group_intEPKcmcRSt8ios_basePcS9_Ri@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_group_floatEPKcmcS6_PcS7_Ri@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6_M_padEclRSt8ios_basePcPKcRi@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE12_M_group_intEPKcmwRSt8ios_basePwS9_Ri@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_group_floatEPKcmwPKwPwS9_Ri@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6_M_padEwlRSt8ios_basePwPKwRi@GLIBCXX_3.4 4.1.1
+ _ZNKSt8__detail20_Prime_rehash_policy11_M_next_bktEm@GLIBCXX_3.4.18 4.8
+ _ZNKSt8__detail20_Prime_rehash_policy14_M_need_rehashEmmm@GLIBCXX_3.4.18 4.8
+ _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_numES3_S3_RiiimRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4 4.1.1
+ _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE15_M_extract_nameES3_S3_RiPPKcmRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4 4.1.1
+ _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE24_M_extract_wday_or_monthES3_S3_RiPPKcmRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4.14 4.5
+ _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_numES3_S3_RiiimRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4 4.1.1
+ _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE15_M_extract_nameES3_S3_RiPPKwmRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4 4.1.1
+ _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE24_M_extract_wday_or_monthES3_S3_RiPPKwmRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4.14 4.5
+ _ZNKSt8valarrayImE4sizeEv@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE10_S_compareEmm@GLIBCXX_3.4.16 4.6.0
+ _ZNSbIwSt11char_traitsIwESaIwEE12_S_constructEmwRKS1_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE14_M_replace_auxEmmmw@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeEmmPKwm@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE18_S_construct_aux_2EmwRKS1_@GLIBCXX_3.4.14 4.5
+ _ZNSbIwSt11char_traitsIwESaIwEE2atEm@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEm@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEm@GLIBCXX_3.4.5 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE4_Rep8_M_cloneERKS1_m@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE4_Rep9_S_createEmmRKS1_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE5eraseEmm@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6appendEPKwm@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_mm@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6appendEmw@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6assignEPKwm@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_mm@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6assignEmw@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEmw@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6insertEmPKw@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6insertEmPKwm@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6insertEmRKS2_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6insertEmRKS2_mm@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6insertEmmw@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6resizeEm@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6resizeEmw@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwm@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwm@GLIBCXX_3.4.5 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwm@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwm@GLIBCXX_3.4.5 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwm@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_mw@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmPKw@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmPKwm@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmRKS2_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmRKS2_mm@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmmw@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7reserveEm@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwmw@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwmw@GLIBCXX_3.4.5 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEmmm@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEEC1EPKwmRKS1_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mRKS1_@GLIBCXX_3.4.23 7
+ _ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mm@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mmRKS1_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEEC1EmwRKS1_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEEC2EPKwmRKS1_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mRKS1_@GLIBCXX_3.4.23 7
+ _ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mm@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mmRKS1_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEEC2EmwRKS1_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEEixEm@GLIBCXX_3.4 4.1.1
+ _ZNSi3getEPcl@GLIBCXX_3.4 4.1.1
+ _ZNSi3getEPclc@GLIBCXX_3.4 4.1.1
+ _ZNSi4readEPcl@GLIBCXX_3.4 4.1.1
+ _ZNSi5seekgElSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1
+ _ZNSi6ignoreEl@GLIBCXX_3.4 4.1.1
+ _ZNSi6ignoreEl@GLIBCXX_3.4.5 4.1.1
+ _ZNSi6ignoreEli@GLIBCXX_3.4 4.1.1
+ _ZNSi7getlineEPcl@GLIBCXX_3.4 4.1.1
+ _ZNSi7getlineEPclc@GLIBCXX_3.4 4.1.1
+ _ZNSi8readsomeEPcl@GLIBCXX_3.4 4.1.1
+ _ZNSo5seekpElSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1
+ _ZNSo5writeEPKcl@GLIBCXX_3.4 4.1.1
+ _ZNSo8_M_writeEPKcl@GLIBCXX_3.4 4.1.1
+ _ZNSs10_S_compareEmm@GLIBCXX_3.4.16 4.6.0
+ _ZNSs12_S_constructEmcRKSaIcE@GLIBCXX_3.4 4.1.1
+ _ZNSs14_M_replace_auxEmmmc@GLIBCXX_3.4 4.1.1
+ _ZNSs15_M_replace_safeEmmPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSs18_S_construct_aux_2EmcRKSaIcE@GLIBCXX_3.4.14 4.5
+ _ZNSs2atEm@GLIBCXX_3.4 4.1.1
+ _ZNSs4_Rep26_M_set_length_and_sharableEm@GLIBCXX_3.4 4.1.1
+ _ZNSs4_Rep26_M_set_length_and_sharableEm@GLIBCXX_3.4.5 4.1.1
+ _ZNSs4_Rep8_M_cloneERKSaIcEm@GLIBCXX_3.4 4.1.1
+ _ZNSs4_Rep9_S_createEmmRKSaIcE@GLIBCXX_3.4 4.1.1
+ _ZNSs5eraseEmm@GLIBCXX_3.4 4.1.1
+ _ZNSs6appendEPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSs6appendERKSsmm@GLIBCXX_3.4 4.1.1
+ _ZNSs6appendEmc@GLIBCXX_3.4 4.1.1
+ _ZNSs6assignEPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSs6assignERKSsmm@GLIBCXX_3.4 4.1.1
+ _ZNSs6assignEmc@GLIBCXX_3.4 4.1.1
+ _ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEmc@GLIBCXX_3.4 4.1.1
+ _ZNSs6insertEmPKc@GLIBCXX_3.4 4.1.1
+ _ZNSs6insertEmPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSs6insertEmRKSs@GLIBCXX_3.4 4.1.1
+ _ZNSs6insertEmRKSsmm@GLIBCXX_3.4 4.1.1
+ _ZNSs6insertEmmc@GLIBCXX_3.4 4.1.1
+ _ZNSs6resizeEm@GLIBCXX_3.4 4.1.1
+ _ZNSs6resizeEmc@GLIBCXX_3.4 4.1.1
+ _ZNSs7_M_copyEPcPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSs7_M_copyEPcPKcm@GLIBCXX_3.4.5 4.1.1
+ _ZNSs7_M_moveEPcPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSs7_M_moveEPcPKcm@GLIBCXX_3.4.5 4.1.1
+ _ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcm@GLIBCXX_3.4 4.1.1
+ _ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_mc@GLIBCXX_3.4 4.1.1
+ _ZNSs7replaceEmmPKc@GLIBCXX_3.4 4.1.1
+ _ZNSs7replaceEmmPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSs7replaceEmmRKSs@GLIBCXX_3.4 4.1.1
+ _ZNSs7replaceEmmRKSsmm@GLIBCXX_3.4 4.1.1
+ _ZNSs7replaceEmmmc@GLIBCXX_3.4 4.1.1
+ _ZNSs7reserveEm@GLIBCXX_3.4 4.1.1
+ _ZNSs9_M_assignEPcmc@GLIBCXX_3.4 4.1.1
+ _ZNSs9_M_assignEPcmc@GLIBCXX_3.4.5 4.1.1
+ _ZNSs9_M_mutateEmmm@GLIBCXX_3.4 4.1.1
+ _ZNSsC1EPKcmRKSaIcE@GLIBCXX_3.4 4.1.1
+ _ZNSsC1ERKSsmRKSaIcE@GLIBCXX_3.4.23 7
+ _ZNSsC1ERKSsmm@GLIBCXX_3.4 4.1.1
+ _ZNSsC1ERKSsmmRKSaIcE@GLIBCXX_3.4 4.1.1
+ _ZNSsC1EmcRKSaIcE@GLIBCXX_3.4 4.1.1
+ _ZNSsC2EPKcmRKSaIcE@GLIBCXX_3.4 4.1.1
+ _ZNSsC2ERKSsmRKSaIcE@GLIBCXX_3.4.23 7
+ _ZNSsC2ERKSsmm@GLIBCXX_3.4 4.1.1
+ _ZNSsC2ERKSsmmRKSaIcE@GLIBCXX_3.4 4.1.1
+ _ZNSsC2EmcRKSaIcE@GLIBCXX_3.4 4.1.1
+ _ZNSsixEm@GLIBCXX_3.4 4.1.1
+ _ZNSt10istrstreamC1EPKcl@GLIBCXX_3.4 4.1.1
+ _ZNSt10istrstreamC1EPcl@GLIBCXX_3.4 4.1.1
+ _ZNSt10istrstreamC2EPKcl@GLIBCXX_3.4 4.1.1
+ _ZNSt10istrstreamC2EPcl@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb0EEC1EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb0EEC1EPSt18__moneypunct_cacheIcLb0EEm@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb0EEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb0EEC2EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb0EEC2EPSt18__moneypunct_cacheIcLb0EEm@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb0EEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb1EEC1EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb1EEC1EPSt18__moneypunct_cacheIcLb1EEm@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb1EEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb1EEC2EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb1EEC2EPSt18__moneypunct_cacheIcLb1EEm@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb1EEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb0EEC1EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb0EEC1EPSt18__moneypunct_cacheIwLb0EEm@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb0EEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb0EEC2EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb0EEC2EPSt18__moneypunct_cacheIwLb0EEm@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb0EEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb1EEC1EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb1EEC1EPSt18__moneypunct_cacheIwLb1EEm@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb1EEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb1EEC2EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb1EEC2EPSt18__moneypunct_cacheIwLb1EEm@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb1EEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt11this_thread11__sleep_forENSt6chrono8durationIlSt5ratioILl1ELl1EEEENS1_IlS2_ILl1ELl1000000000EEEE@GLIBCXX_3.4.18 4.8
+ _ZNSt11__timepunctIcEC1EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt11__timepunctIcEC1EPSt17__timepunct_cacheIcEm@GLIBCXX_3.4 4.1.1
+ _ZNSt11__timepunctIcEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt11__timepunctIcEC2EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt11__timepunctIcEC2EPSt17__timepunct_cacheIcEm@GLIBCXX_3.4 4.1.1
+ _ZNSt11__timepunctIcEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt11__timepunctIwEC1EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt11__timepunctIwEC1EPSt17__timepunct_cacheIwEm@GLIBCXX_3.4 4.1.1
+ _ZNSt11__timepunctIwEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt11__timepunctIwEC2EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt11__timepunctIwEC2EPSt17__timepunct_cacheIwEm@GLIBCXX_3.4 4.1.1
+ _ZNSt11__timepunctIwEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt12__basic_fileIcE6xsgetnEPcl@GLIBCXX_3.4 4.1.1
+ _ZNSt12__basic_fileIcE6xsputnEPKcl@GLIBCXX_3.4 4.1.1
+ _ZNSt12__basic_fileIcE7seekoffElSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1
+ _ZNSt12__basic_fileIcE8xsputn_2EPKclS2_l@GLIBCXX_3.4 4.1.1
+ _ZNSt12ctype_bynameIcEC1EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt12ctype_bynameIcEC1ERKSsm@GLIBCXX_3.4.21 5
+ _ZNSt12ctype_bynameIcEC2EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt12ctype_bynameIcEC2ERKSsm@GLIBCXX_3.4.21 5
+ _ZNSt12ctype_bynameIwEC1EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt12ctype_bynameIwEC1ERKSsm@GLIBCXX_3.4.21 5
+ _ZNSt12ctype_bynameIwEC2EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt12ctype_bynameIwEC2ERKSsm@GLIBCXX_3.4.21 5
+ _ZNSt12strstreambuf6setbufEPcl@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambuf7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambuf8_M_allocEm@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambuf8_M_setupEPcS0_l@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC1EPFPvmEPFvS0_E@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC1EPKal@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC1EPKcl@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC1EPKhl@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC1EPalS0_@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC1EPclS0_@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC1EPhlS0_@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC1El@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC2EPFPvmEPFvS0_E@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC2EPKal@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC2EPKcl@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC2EPKhl@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC2EPalS0_@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC2EPclS0_@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC2EPhlS0_@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC2El@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIcSt11char_traitsIcEE13_M_set_bufferEl@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIcSt11char_traitsIcEE22_M_convert_to_externalEPcl@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIcSt11char_traitsIcEE6setbufEPcl@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIcSt11char_traitsIcEE6xsgetnEPcl@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIcSt11char_traitsIcEE6xsputnEPKcl@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIcSt11char_traitsIcEE7_M_seekElSt12_Ios_Seekdir11__mbstate_t@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIcSt11char_traitsIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIwSt11char_traitsIwEE13_M_set_bufferEl@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIwSt11char_traitsIwEE22_M_convert_to_externalEPwl@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIwSt11char_traitsIwEE6setbufEPwl@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIwSt11char_traitsIwEE6xsgetnEPwl@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIwSt11char_traitsIwEE6xsputnEPKwl@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIwSt11char_traitsIwEE7_M_seekElSt12_Ios_Seekdir11__mbstate_t@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIwSt11char_traitsIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwl@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwlw@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE4readEPwl@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgElSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEl@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEl@GLIBCXX_3.4.5 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreElj@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwl@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwlw@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE8readsomeEPwl@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpElSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEE5writeEPKwl@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEE8_M_writeEPKwl@GLIBCXX_3.4 4.1.1
+ _ZNSt14codecvt_bynameIcc11__mbstate_tEC1EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt14codecvt_bynameIcc11__mbstate_tEC1ERKSsm@GLIBCXX_3.4.21 5
+ _ZNSt14codecvt_bynameIcc11__mbstate_tEC2EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt14codecvt_bynameIcc11__mbstate_tEC2ERKSsm@GLIBCXX_3.4.21 5
+ _ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt14codecvt_bynameIwc11__mbstate_tEC1ERKSsm@GLIBCXX_3.4.21 5
+ _ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt14codecvt_bynameIwc11__mbstate_tEC2ERKSsm@GLIBCXX_3.4.21 5
+ _ZNSt14collate_bynameIcEC1EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt14collate_bynameIcEC2EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt14collate_bynameIwEC1EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt14collate_bynameIwEC2EPKcm@GLIBCXX_3.4 4.1.1
+ (arch=!alpha !powerpc !ppc64 !ppc64el !s390 !s390x)_ZNSt14numeric_limitsIeE12max_digits10E@GLIBCXX_3.4.14 4.5.0
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE12__safe_gbumpEl@GLIBCXX_3.4.16 4.6.0
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE12__safe_pbumpEl@GLIBCXX_3.4.16 4.6.0
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetnEPcl@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE5sputnEPKcl@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPcl@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE6xsgetnEPcl@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE6xsputnEPKcl@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE9pubsetbufEPcl@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPcl@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcmm@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8_M_pbumpEPcS4_l@GLIBCXX_3.4.16 4.6.0
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetnEPwl@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE5sputnEPKwl@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE6setbufEPwl@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE6xsgetnEPwl@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE6xsputnEPKwl@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE9pubsetbufEPwl@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE12__safe_gbumpEl@GLIBCXX_3.4.16 4.6.0
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE12__safe_pbumpEl@GLIBCXX_3.4.16 4.6.0
+ _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE6setbufEPwl@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7_M_syncEPwmm@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8_M_pbumpEPwS4_l@GLIBCXX_3.4.16 4.6.0
+ _ZNSt15messages_bynameIcEC1EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt15messages_bynameIcEC1ERKSsm@GLIBCXX_3.4.21 5
+ _ZNSt15messages_bynameIcEC2EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt15messages_bynameIcEC2ERKSsm@GLIBCXX_3.4.21 5
+ _ZNSt15messages_bynameIwEC1EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt15messages_bynameIwEC1ERKSsm@GLIBCXX_3.4.21 5
+ _ZNSt15messages_bynameIwEC2EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt15messages_bynameIwEC2ERKSsm@GLIBCXX_3.4.21 5
+ _ZNSt15numpunct_bynameIcEC1EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt15numpunct_bynameIcEC1ERKSsm@GLIBCXX_3.4.21 5
+ _ZNSt15numpunct_bynameIcEC2EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt15numpunct_bynameIcEC2ERKSsm@GLIBCXX_3.4.21 5
+ _ZNSt15numpunct_bynameIwEC1EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt15numpunct_bynameIwEC1ERKSsm@GLIBCXX_3.4.21 5
+ _ZNSt15numpunct_bynameIwEC2EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt15numpunct_bynameIwEC2ERKSsm@GLIBCXX_3.4.21 5
+
+ _ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1ERKSsm@GLIBCXX_3.4.21 5
+ _ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2ERKSsm@GLIBCXX_3.4.21 5
+ _ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1ERKSsm@GLIBCXX_3.4.21 5
+ _ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2ERKSsm@GLIBCXX_3.4.21 5
+ _ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1ERKSsm@GLIBCXX_3.4.21 5
+ _ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2ERKSsm@GLIBCXX_3.4.21 5
+ _ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1ERKSsm@GLIBCXX_3.4.21 5
+ _ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2ERKSsm@GLIBCXX_3.4.21 5
+ _ZNSt16__numpunct_cacheIcEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt16__numpunct_cacheIcEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt16__numpunct_cacheIwEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt16__numpunct_cacheIwEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt17__timepunct_cacheIcEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt17__timepunct_cacheIcEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt17__timepunct_cacheIwEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt17__timepunct_cacheIwEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt17moneypunct_bynameIcLb0EEC1EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt17moneypunct_bynameIcLb0EEC1ERKSsm@GLIBCXX_3.4.21 5
+ _ZNSt17moneypunct_bynameIcLb0EEC2EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt17moneypunct_bynameIcLb0EEC2ERKSsm@GLIBCXX_3.4.21 5
+ _ZNSt17moneypunct_bynameIcLb1EEC1EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt17moneypunct_bynameIcLb1EEC1ERKSsm@GLIBCXX_3.4.21 5
+ _ZNSt17moneypunct_bynameIcLb1EEC2EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt17moneypunct_bynameIcLb1EEC2ERKSsm@GLIBCXX_3.4.21 5
+ _ZNSt17moneypunct_bynameIwLb0EEC1EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt17moneypunct_bynameIwLb0EEC1ERKSsm@GLIBCXX_3.4.21 5
+ _ZNSt17moneypunct_bynameIwLb0EEC2EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt17moneypunct_bynameIwLb0EEC2ERKSsm@GLIBCXX_3.4.21 5
+ _ZNSt17moneypunct_bynameIwLb1EEC1EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt17moneypunct_bynameIwLb1EEC1ERKSsm@GLIBCXX_3.4.21 5
+ _ZNSt17moneypunct_bynameIwLb1EEC2EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt17moneypunct_bynameIwLb1EEC2ERKSsm@GLIBCXX_3.4.21 5
+ _ZNSt18__moneypunct_cacheIcLb0EEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt18__moneypunct_cacheIcLb0EEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt18__moneypunct_cacheIcLb1EEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt18__moneypunct_cacheIcLb1EEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt18__moneypunct_cacheIwLb0EEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt18__moneypunct_cacheIwLb0EEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt18__moneypunct_cacheIwLb1EEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt18__moneypunct_cacheIwLb1EEC2Em@GLIBCXX_3.4 4.1.1
+ (arch=!kfreebsd-amd64)_ZNSt28__atomic_futex_unsigned_base19_M_futex_wait_untilEPjjbNSt6chrono8durationIlSt5ratioILl1ELl1EEEENS2_IlS3_ILl1ELl1000000000EEEE@GLIBCXX_3.4.21 5
+ _ZNSt5ctypeIcEC1EP15__locale_structPKtbm@GLIBCXX_3.4 4.1.1
+ _ZNSt5ctypeIcEC1EPKtbm@GLIBCXX_3.4 4.1.1
+ _ZNSt5ctypeIcEC2EP15__locale_structPKtbm@GLIBCXX_3.4 4.1.1
+ _ZNSt5ctypeIcEC2EPKtbm@GLIBCXX_3.4 4.1.1
+ _ZNSt5ctypeIwEC1EP15__locale_structm@GLIBCXX_3.4 4.1.1
+ _ZNSt5ctypeIwEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt5ctypeIwEC2EP15__locale_structm@GLIBCXX_3.4 4.1.1
+ _ZNSt5ctypeIwEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt6gslice8_IndexerC1EmRKSt8valarrayImES4_@GLIBCXX_3.4 4.1.1
+ _ZNSt6gslice8_IndexerC2EmRKSt8valarrayImES4_@GLIBCXX_3.4 4.1.1
+ _ZNSt6locale5_Impl16_M_install_cacheEPKNS_5facetEm@GLIBCXX_3.4.7 4.1.1
+ _ZNSt6locale5_ImplC1EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt6locale5_ImplC1ERKS0_m@GLIBCXX_3.4 4.1.1
+ _ZNSt6locale5_ImplC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt6locale5_ImplC2EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt6locale5_ImplC2ERKS0_m@GLIBCXX_3.4 4.1.1
+ _ZNSt6locale5_ImplC2Em@GLIBCXX_3.4 4.1.1
+
+ _ZNSt7codecvtIcc11__mbstate_tEC1EP15__locale_structm@GLIBCXX_3.4 4.1.1
+ _ZNSt7codecvtIcc11__mbstate_tEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt7codecvtIcc11__mbstate_tEC2EP15__locale_structm@GLIBCXX_3.4 4.1.1
+ _ZNSt7codecvtIcc11__mbstate_tEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt7codecvtIwc11__mbstate_tEC1EP15__locale_structm@GLIBCXX_3.4 4.1.1
+ _ZNSt7codecvtIwc11__mbstate_tEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt7codecvtIwc11__mbstate_tEC2EP15__locale_structm@GLIBCXX_3.4 4.1.1
+ _ZNSt7codecvtIwc11__mbstate_tEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt7collateIcEC1EP15__locale_structm@GLIBCXX_3.4 4.1.1
+ _ZNSt7collateIcEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt7collateIcEC2EP15__locale_structm@GLIBCXX_3.4 4.1.1
+ _ZNSt7collateIcEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt7collateIwEC1EP15__locale_structm@GLIBCXX_3.4 4.1.1
+ _ZNSt7collateIwEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt7collateIwEC2EP15__locale_structm@GLIBCXX_3.4 4.1.1
+ _ZNSt7collateIwEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt8messagesIcEC1EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt8messagesIcEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt8messagesIcEC2EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt8messagesIcEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt8messagesIwEC1EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt8messagesIwEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt8messagesIwEC2EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt8messagesIwEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIcEC1EP15__locale_structm@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIcEC1EPSt16__numpunct_cacheIcEm@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIcEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIcEC2EP15__locale_structm@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIcEC2EPSt16__numpunct_cacheIcEm@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIcEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIwEC1EP15__locale_structm@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIwEC1EPSt16__numpunct_cacheIwEm@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIwEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIwEC2EP15__locale_structm@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIwEC2EPSt16__numpunct_cacheIwEm@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIwEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt8valarrayImEC1ERKS0_@GLIBCXX_3.4 4.1.1
+ _ZNSt8valarrayImEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt8valarrayImEC2ERKS0_@GLIBCXX_3.4 4.1.1
+ _ZNSt8valarrayImEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt8valarrayImED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt8valarrayImED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt8valarrayImEixEm@GLIBCXX_3.4 4.1.1
+ _ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_3.4 4.1.1
+ _ZSt11_Hash_bytesPKvmm@CXXABI_1.3.5 4.6
+ _ZSt15_Fnv_hash_bytesPKvmm@CXXABI_1.3.5 4.6
+ _ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l@GLIBCXX_3.4.9 4.2.1
+ _ZSt16__ostream_insertIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_l@GLIBCXX_3.4.9 4.2.1
+ _ZSt17__copy_streambufsIcSt11char_traitsIcEElPSt15basic_streambufIT_T0_ES6_@GLIBCXX_3.4.8 4.1.1
+ _ZSt17__copy_streambufsIwSt11char_traitsIwEElPSt15basic_streambufIT_T0_ES6_@GLIBCXX_3.4.8 4.1.1
+ _ZSt17__verify_groupingPKcmRKSs@GLIBCXX_3.4.10 4.3
+ _ZSt21__copy_streambufs_eofIcSt11char_traitsIcEElPSt15basic_streambufIT_T0_ES6_Rb@GLIBCXX_3.4.9 4.2.1
+ _ZSt21__copy_streambufs_eofIwSt11char_traitsIwEElPSt15basic_streambufIT_T0_ES6_Rb@GLIBCXX_3.4.9 4.2.1
+ _ZTIPKn@CXXABI_1.3.5 4.6
+ _ZTIPKo@CXXABI_1.3.5 4.6
+ _ZTIPn@CXXABI_1.3.5 4.6
+ _ZTIPo@CXXABI_1.3.5 4.6
+ _ZTIn@CXXABI_1.3.5 4.6
+ _ZTIo@CXXABI_1.3.5 4.6
+ _ZTSPKn@CXXABI_1.3.9 5
+ _ZTSPKo@CXXABI_1.3.9 5
+ _ZTSPn@CXXABI_1.3.9 5
+ _ZTSPo@CXXABI_1.3.9 5
+ _ZTSn@CXXABI_1.3.9 5
+ _ZTSo@CXXABI_1.3.9 5
+ _ZThn16_NSdD0Ev@GLIBCXX_3.4 4.1.1
+ _ZThn16_NSdD1Ev@GLIBCXX_3.4 4.1.1
+ _ZThn16_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZThn16_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZThn16_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZThn16_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZThn16_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZThn16_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZThn16_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZThn16_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZThn16_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZThn16_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZThn16_NSt9strstreamD0Ev@GLIBCXX_3.4 4.1.1
+ _ZThn16_NSt9strstreamD1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n24_NSdD0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n24_NSdD1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n24_NSiD0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n24_NSiD1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n24_NSoD0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n24_NSoD1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n24_NSt10istrstreamD0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n24_NSt10istrstreamD1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n24_NSt10ostrstreamD0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n24_NSt10ostrstreamD1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n24_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n24_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n24_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n24_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n24_NSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n24_NSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n24_NSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n24_NSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n24_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n24_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n24_NSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n24_NSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n24_NSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n24_NSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n24_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n24_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n24_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n24_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n24_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n24_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n24_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n24_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n24_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n24_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n24_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n24_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n24_NSt9strstreamD0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n24_NSt9strstreamD1Ev@GLIBCXX_3.4 4.1.1
+ _ZdaPvm@CXXABI_1.3.9 5
+ _ZdaPvmSt11align_val_t@CXXABI_1.3.11 7
+ _ZdlPvm@CXXABI_1.3.9 5
+ _ZdlPvmSt11align_val_t@CXXABI_1.3.11 7
+ _Znam@GLIBCXX_3.4 4.1.1
+ _ZnamRKSt9nothrow_t@GLIBCXX_3.4 4.1.1
+ _ZnamSt11align_val_t@CXXABI_1.3.11 7
+ _ZnamSt11align_val_tRKSt9nothrow_t@CXXABI_1.3.11 7
+ _Znwm@GLIBCXX_3.4 4.1.1
+ _ZnwmRKSt9nothrow_t@GLIBCXX_3.4 4.1.1
+ _ZnwmSt11align_val_t@CXXABI_1.3.11 7
+ _ZnwmSt11align_val_tRKSt9nothrow_t@CXXABI_1.3.11 7
+ __gxx_personality_v0@CXXABI_1.3 4.1.1
+ _ZNSt12__basic_fileIcEC1EP15pthread_mutex_t@GLIBCXX_3.4 4.1.1
+ _ZNSt12__basic_fileIcEC2EP15pthread_mutex_t@GLIBCXX_3.4 4.1.1
--- /dev/null
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12find_last_ofEPKcm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12find_last_ofEPKcmm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12find_last_ofERKS4_m@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12find_last_ofEcm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13find_first_ofEPKcm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13find_first_ofEPKcmm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13find_first_ofERKS4_m@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13find_first_ofEcm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE15_M_check_lengthEmmPKc@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16find_last_not_ofEPKcm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16find_last_not_ofEPKcmm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16find_last_not_ofERKS4_m@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16find_last_not_ofEcm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE17find_first_not_ofEPKcm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE17find_first_not_ofEPKcmm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE17find_first_not_ofERKS4_m@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE17find_first_not_ofEcm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE2atEm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4copyEPcmm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEPKcm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEPKcmm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findERKS4_m@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEcm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5rfindEPKcm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5rfindEPKcmm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5rfindERKS4_m@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5rfindEcm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6substrEmm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEmmPKc@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEmmPKcm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEmmRKS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEmmRKS4_mm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8_M_checkEmPKc@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8_M_limitEmm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12find_last_ofEPKwm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12find_last_ofEPKwmm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12find_last_ofERKS4_m@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12find_last_ofEwm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13find_first_ofEPKwm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13find_first_ofEPKwmm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13find_first_ofERKS4_m@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13find_first_ofEwm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE15_M_check_lengthEmmPKc@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwmm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE16find_last_not_ofERKS4_m@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE16find_last_not_ofEwm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwmm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE17find_first_not_ofERKS4_m@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE17find_first_not_ofEwm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE2atEm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4copyEPwmm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4findEPKwm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4findEPKwmm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4findERKS4_m@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4findEwm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5rfindEPKwm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5rfindEPKwmm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5rfindERKS4_m@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5rfindEwm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6substrEmm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7compareEmmPKw@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7compareEmmPKwm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7compareEmmRKS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7compareEmmRKS4_mm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE8_M_checkEmPKc@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE8_M_limitEmm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEixEm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx117collateIcE12_M_transformEPcPKcm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx117collateIwE12_M_transformEPwPKwm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_numES4_S4_RiiimRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE15_M_extract_nameES4_S4_RiPPKcmRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE24_M_extract_wday_or_monthES4_S4_RiPPKcmRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_numES4_S4_RiiimRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE15_M_extract_nameES4_S4_RiPPKwmRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE24_M_extract_wday_or_monthES4_S4_RiPPKwmRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt12ctype_bynameIcEC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt12ctype_bynameIcEC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt12ctype_bynameIwEC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt12ctype_bynameIwEC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt14codecvt_bynameIcc11__mbstate_tEC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt14codecvt_bynameIcc11__mbstate_tEC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt14codecvt_bynameIwc11__mbstate_tEC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt14codecvt_bynameIwc11__mbstate_tEC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1ERKNSt7__cxx1112basic_stringIcS2_SaIcEEEm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2ERKNSt7__cxx1112basic_stringIcS2_SaIcEEEm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb0EEC1EP15__locale_structPKcm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb0EEC1EPSt18__moneypunct_cacheIcLb0EEm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb0EEC1Em@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb0EEC2EP15__locale_structPKcm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb0EEC2EPSt18__moneypunct_cacheIcLb0EEm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb0EEC2Em@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb1EEC1EP15__locale_structPKcm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb1EEC1EPSt18__moneypunct_cacheIcLb1EEm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb1EEC1Em@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb1EEC2EP15__locale_structPKcm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb1EEC2EPSt18__moneypunct_cacheIcLb1EEm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb1EEC2Em@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb0EEC1EP15__locale_structPKcm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb0EEC1EPSt18__moneypunct_cacheIwLb0EEm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb0EEC1Em@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb0EEC2EP15__locale_structPKcm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb0EEC2EPSt18__moneypunct_cacheIwLb0EEm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb0EEC2Em@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb1EEC1EP15__locale_structPKcm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb1EEC1EPSt18__moneypunct_cacheIwLb1EEm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb1EEC1Em@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb1EEC2EP15__locale_structPKcm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb1EEC2EPSt18__moneypunct_cacheIwLb1EEm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb1EEC2Em@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_destroyEm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEmmPKcm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_S_compareEmm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_capacityEm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructEmc@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_set_lengthEm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE14_M_replace_auxEmmmc@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE18_M_construct_aux_2Emc@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE2atEm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5eraseEmm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKcm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendERKS4_mm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEmc@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignEPKcm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignERKS4_mm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignEmc@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEN9__gnu_cxx17__normal_iteratorIPKcS4_EEmc@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEN9__gnu_cxx17__normal_iteratorIPcS4_EEmc@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEmPKc@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEmPKcm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEmRKS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEmRKS4_mm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEmmc@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6resizeEm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6resizeEmc@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_S_copyEPcPKcm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_S_moveEPcPKcm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_S8_m@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_mc@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPcS4_EES8_PKcm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPcS4_EES8_mc@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEmmPKc@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEmmPKcm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEmmRKS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEmmRKS4_mm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEmmmc@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7reserveEm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8_M_eraseEmm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_appendEPKcm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_lengthEm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_mutateEmmPKcm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_S_assignEPcmc@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcmRKS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS4_mRKS3_@GLIBCXX_3.4.23 7
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS4_mm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS4_mmRKS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EmcRKS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EPKcmRKS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_mRKS3_@GLIBCXX_3.4.23 7
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_mm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_mmRKS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EmcRKS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE10_M_destroyEm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE10_M_replaceEmmPKwm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE10_S_compareEmm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE11_M_capacityEm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructEmw@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13_M_set_lengthEm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE14_M_replace_auxEmmmw@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE18_M_construct_aux_2Emw@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE2atEm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5eraseEmm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6appendEPKwm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6appendERKS4_mm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6appendEmw@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6assignEmw@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6assignEPKwm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6assignERKS4_mm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPKwS4_EEmw@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS4_EEmw@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEmPKwm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEmPKw@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEmRKS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEmRKS4_mm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEmmw@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6resizeEm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6resizeEmw@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7_S_copyEPwPKwm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7_S_moveEPwPKwm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_S8_m@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_mw@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS4_EES8_PKwm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS4_EES8_mw@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEmmPKw@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEmmPKwm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEmmRKS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEmmRKS4_mm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEmmmw@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7reserveEm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE8_M_eraseEmm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_M_appendEPKwm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_M_createERmm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_M_lengthEm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_M_mutateEmmPKwm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_S_assignEPwmw@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1EPKwmRKS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1ERKS4_mRKS3_@GLIBCXX_3.4.23 7
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1ERKS4_mm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1ERKS4_mmRKS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1EmwRKS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2EPKwmRKS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2ERKS4_mRKS3_@GLIBCXX_3.4.23 7
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2ERKS4_mm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2ERKS4_mmRKS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2EmwRKS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEixEm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1114collate_bynameIcEC1EPKcm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1114collate_bynameIcEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1114collate_bynameIcEC2EPKcm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1114collate_bynameIcEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1114collate_bynameIwEC1EPKcm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1114collate_bynameIwEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1114collate_bynameIwEC2EPKcm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1114collate_bynameIwEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcmm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPcl@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE8_M_pbumpEPcS5_l@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE6setbufEPwl@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE7_M_syncEPwmm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE8_M_pbumpEPwS5_l@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115messages_bynameIcEC1EPKcm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115messages_bynameIcEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115messages_bynameIcEC2EPKcm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115messages_bynameIcEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115messages_bynameIwEC1EPKcm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115messages_bynameIwEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115messages_bynameIwEC2EPKcm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115messages_bynameIwEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115numpunct_bynameIcEC1EPKcm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115numpunct_bynameIcEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115numpunct_bynameIcEC2EPKcm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115numpunct_bynameIcEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115numpunct_bynameIwEC1EPKcm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115numpunct_bynameIwEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115numpunct_bynameIwEC2EPKcm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115numpunct_bynameIwEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1ERKNS_12basic_stringIcS3_SaIcEEEm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2ERKNS_12basic_stringIcS3_SaIcEEEm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1ERKNS_12basic_stringIcS2_IcESaIcEEEm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2ERKNS_12basic_stringIcS2_IcESaIcEEEm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIcLb0EEC1EPKcm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIcLb0EEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIcLb0EEC2EPKcm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIcLb0EEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIcLb1EEC1EPKcm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIcLb1EEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIcLb1EEC2EPKcm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIcLb1EEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIwLb0EEC1EPKcm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIwLb0EEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIwLb0EEC2EPKcm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIwLb0EEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIwLb1EEC1EPKcm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIwLb1EEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIwLb1EEC2EPKcm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIwLb1EEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx117collateIcEC1EP15__locale_structm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx117collateIcEC1Em@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx117collateIcEC2EP15__locale_structm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx117collateIcEC2Em@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx117collateIwEC1EP15__locale_structm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx117collateIwEC1Em@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx117collateIwEC2EP15__locale_structm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx117collateIwEC2Em@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118messagesIcEC1EP15__locale_structPKcm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118messagesIcEC1Em@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118messagesIcEC2EP15__locale_structPKcm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118messagesIcEC2Em@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118messagesIwEC1EP15__locale_structPKcm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118messagesIwEC1Em@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118messagesIwEC2EP15__locale_structPKcm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118messagesIwEC2Em@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118numpunctIcEC1EP15__locale_structm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118numpunctIcEC1EPSt16__numpunct_cacheIcEm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118numpunctIcEC1Em@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118numpunctIcEC2EP15__locale_structm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118numpunctIcEC2EPSt16__numpunct_cacheIcEm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118numpunctIcEC2Em@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118numpunctIwEC1EP15__locale_structm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118numpunctIwEC1EPSt16__numpunct_cacheIwEm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118numpunctIwEC1Em@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118numpunctIwEC2EP15__locale_structm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118numpunctIwEC2EPSt16__numpunct_cacheIwEm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118numpunctIwEC2Em@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZSt17__verify_groupingPKcmRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZThn16_NSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZThn16_NSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZThn16_NSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZThn16_NSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTv0_n24_NSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTv0_n24_NSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTv0_n24_NSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTv0_n24_NSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTv0_n24_NSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTv0_n24_NSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTv0_n24_NSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTv0_n24_NSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTv0_n24_NSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTv0_n24_NSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTv0_n24_NSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTv0_n24_NSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4.21 5.2
--- /dev/null
+libstdc++.so.6 libstdc++6 #MINVER#
+#include "libstdc++6.symbols.64bit"
+#include "libstdc++6.symbols.excprop"
+ _ZN9__gnu_cxx12__atomic_addEPVii@GLIBCXX_3.4 4.1.1
+ _ZN9__gnu_cxx18__exchange_and_addEPVii@GLIBCXX_3.4 4.1.1
+#include "libstdc++6.symbols.glibcxxmath"
+#include "libstdc++6.symbols.ldbl.64bit"
+#include "libstdc++6.symbols.money.f128"
+ _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3.0~rc2
+ _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3.0~rc2
+ _ZNSt14numeric_limitsInE10has_denormE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsInE10is_boundedE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsInE10is_integerE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsInE11round_styleE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsInE12has_infinityE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsInE12max_digits10E@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsInE12max_exponentE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsInE12min_exponentE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsInE13has_quiet_NaNE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsInE14is_specializedE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsInE14max_exponent10E@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsInE14min_exponent10E@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsInE15has_denorm_lossE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsInE15tinyness_beforeE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsInE17has_signaling_NaNE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsInE5radixE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsInE5trapsE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsInE6digitsE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsInE8digits10E@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsInE8is_exactE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsInE9is_iec559E@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsInE9is_moduloE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsInE9is_signedE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsIoE10has_denormE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsIoE10is_boundedE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsIoE10is_integerE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsIoE11round_styleE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsIoE12has_infinityE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsIoE12max_digits10E@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsIoE12max_exponentE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsIoE12min_exponentE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsIoE13has_quiet_NaNE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsIoE14is_specializedE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsIoE14max_exponent10E@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsIoE14min_exponent10E@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsIoE15has_denorm_lossE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsIoE15tinyness_beforeE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsIoE17has_signaling_NaNE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsIoE5radixE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsIoE5trapsE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsIoE6digitsE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsIoE8digits10E@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsIoE8is_exactE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsIoE9is_iec559E@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsIoE9is_moduloE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsIoE9is_signedE@GLIBCXX_3.4.17 4.8
--- /dev/null
+libstdc++.so.6 libstdc++6 #MINVER#
+#include "libstdc++6.symbols.64bit"
+#include "libstdc++6.symbols.128bit"
+#include "libstdc++6.symbols.excprop"
+#include "libstdc++6.symbols.money.ldbl"
+ _ZN9__gnu_cxx12__atomic_addEPVii@GLIBCXX_3.4 4.1.1
+ _ZN9__gnu_cxx18__exchange_and_addEPVii@GLIBCXX_3.4 4.1.1
+ _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3
+ _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3
+#(optional)_Z16__VLTRegisterSetPPvPKvmmS0_@CXXABI_1.3.8 4.9.0
+#(optional)_Z17__VLTRegisterPairPPvPKvmS2_@CXXABI_1.3.8 4.9.0
+#(optional)_Z21__VLTRegisterSetDebugPPvPKvmmS0_@CXXABI_1.3.8 4.9.0
+#(optional)_Z22__VLTRegisterPairDebugPPvPKvmS2_PKcS4_@CXXABI_1.3.8 4.9.0
+#(optional)_Z24__VLTVerifyVtablePointerPPvPKv@CXXABI_1.3.8 4.9.0
+#(optional)_Z29__VLTVerifyVtablePointerDebugPPvPKvPKcS4_@CXXABI_1.3.8 4.9.0
+#(optional)__VLTChangePermission@CXXABI_1.3.8 4.9.0
--- /dev/null
+libstdc++.so.6 libstdc++6 #MINVER#
+#include "libstdc++6.symbols.32bit"
+ __gxx_personality_sj0@CXXABI_1.3 4.1.1
+#include "libstdc++6.symbols.glibcxxmath"
+ _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3.0
+ _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3.0
--- /dev/null
+libstdc++.so.6 libstdc++6 #MINVER#
+#include "libstdc++6.symbols.64bit"
+#include "libstdc++6.symbols.128bit"
+#include "libstdc++6.symbols.excprop"
+#include "libstdc++6.symbols.money.ldbl"
+ __gxx_personality_v0@CXXABI_1.3 4.1.1
+ _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3.0
+ _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3.0
+ _ZN9__gnu_cxx12__atomic_addEPVii@GLIBCXX_3.4 4.1.1
+ _ZN9__gnu_cxx18__exchange_and_addEPVii@GLIBCXX_3.4 4.1.1
--- /dev/null
+libstdc++.so.6 libstdc++6 #MINVER#
+#include "libstdc++6.symbols.32bit"
+#include "libstdc++6.symbols.money.ldbl"
+ __gxx_personality_v0@CXXABI_1.3 4.1.1
+#include "libstdc++6.symbols.glibcxxmath"
+ CXXABI_ARM_1.3.3@CXXABI_ARM_1.3.3 4.4.0
+ _ZNKSt9type_info6beforeERKS_@GLIBCXX_3.4 4.3.0
+ _ZNKSt9type_infoeqERKS_@GLIBCXX_3.4 4.3.0
+ _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3.0
+ _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3.0
+ __cxa_begin_cleanup@CXXABI_1.3 4.3.0
+ __cxa_end_cleanup@CXXABI_1.3 4.3.0
+ __cxa_type_match@CXXABI_1.3 4.3.0
--- /dev/null
+libstdc++.so.6 libstdc++6 #MINVER#
+#include "libstdc++6.symbols.32bit"
+#include "libstdc++6.symbols.excprop"
+#include "libstdc++6.symbols.money.ldbl"
+ __gxx_personality_v0@CXXABI_1.3 4.1.1
+#include "libstdc++6.symbols.glibcxxmath"
+ CXXABI_ARM_1.3.3@CXXABI_ARM_1.3.3 4.4.0
+ _ZNKSt9type_info6beforeERKS_@GLIBCXX_3.4 4.3.0
+ _ZNKSt9type_infoeqERKS_@GLIBCXX_3.4 4.3.0
+ _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3.0
+ _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3.0
+ __cxa_begin_cleanup@CXXABI_1.3 4.3.0
+ __cxa_end_cleanup@CXXABI_1.3 4.3.0
+ __cxa_type_match@CXXABI_1.3 4.3.0
+ _ZTIPKo@CXXABI_1.3.5 7
+ _ZTIPo@CXXABI_1.3.5 7
+ _ZTIo@CXXABI_1.3.5 7
+ _ZTSPKo@CXXABI_1.3.9 7
+ _ZTSPo@CXXABI_1.3.9 7
+ _ZTSo@CXXABI_1.3.9 7
--- /dev/null
+ CXXABI_1.3.1@CXXABI_1.3.1 4.1.1
+ CXXABI_1.3.2@CXXABI_1.3.2 4.3
+ CXXABI_1.3.3@CXXABI_1.3.3 4.4.0
+ CXXABI_1.3.4@CXXABI_1.3.4 4.5
+ CXXABI_1.3.5@CXXABI_1.3.5 4.6
+ CXXABI_1.3.6@CXXABI_1.3.6 4.7
+ CXXABI_1.3.7@CXXABI_1.3.7 4.8
+ CXXABI_1.3.8@CXXABI_1.3.8 4.9
+ CXXABI_1.3.9@CXXABI_1.3.9 5
+ CXXABI_1.3.10@CXXABI_1.3.10 6
+ CXXABI_1.3.11@CXXABI_1.3.11 7
+ CXXABI_1.3@CXXABI_1.3 4.1.1
+ CXXABI_TM_1@CXXABI_TM_1 4.7
+ GLIBCXX_3.4.10@GLIBCXX_3.4.10 4.3
+ GLIBCXX_3.4.11@GLIBCXX_3.4.11 4.4.0
+ GLIBCXX_3.4.12@GLIBCXX_3.4.12 4.4.0
+ GLIBCXX_3.4.13@GLIBCXX_3.4.13 4.4.2
+ GLIBCXX_3.4.14@GLIBCXX_3.4.14 4.5
+ GLIBCXX_3.4.15@GLIBCXX_3.4.15 4.6
+ GLIBCXX_3.4.16@GLIBCXX_3.4.16 4.6.0
+ GLIBCXX_3.4.17@GLIBCXX_3.4.17 4.7
+ GLIBCXX_3.4.18@GLIBCXX_3.4.18 4.8
+ GLIBCXX_3.4.19@GLIBCXX_3.4.19 4.8
+ GLIBCXX_3.4.1@GLIBCXX_3.4.1 4.1.1
+ GLIBCXX_3.4.20@GLIBCXX_3.4.20 4.9
+ GLIBCXX_3.4.21@GLIBCXX_3.4.21 5
+ GLIBCXX_3.4.22@GLIBCXX_3.4.22 6
+ GLIBCXX_3.4.23@GLIBCXX_3.4.23 7
+ GLIBCXX_3.4.24@GLIBCXX_3.4.24 7
+ GLIBCXX_3.4.25@GLIBCXX_3.4.25 8
+ GLIBCXX_3.4.2@GLIBCXX_3.4.2 4.1.1
+ GLIBCXX_3.4.3@GLIBCXX_3.4.3 4.1.1
+ GLIBCXX_3.4.4@GLIBCXX_3.4.4 4.1.1
+ GLIBCXX_3.4.5@GLIBCXX_3.4.5 4.1.1
+ GLIBCXX_3.4.6@GLIBCXX_3.4.6 4.1.1
+ GLIBCXX_3.4.7@GLIBCXX_3.4.7 4.1.1
+ GLIBCXX_3.4.8@GLIBCXX_3.4.8 4.1.1
+ GLIBCXX_3.4.9@GLIBCXX_3.4.9 4.2.1
+ GLIBCXX_3.4@GLIBCXX_3.4 4.1.1
+#include "libstdc++6.symbols.common.cxx11"
+(arch=amd64 i386 x32 kfreebsd-amd64 kfreebsd-i386)#include "libstdc++6.symbols.float128"
+(arch=!armel)#include "libstdc++6.symbols.not-armel"
+ (arch=!armel !hurd-i386 !kfreebsd-amd64 !kfreebsd-i386)_ZNSt28__atomic_futex_unsigned_base19_M_futex_notify_allEPj@GLIBCXX_3.4.21 5
+ _ZGTtNKSt11logic_error4whatEv@GLIBCXX_3.4.22 6
+ _ZGTtNKSt13bad_exception4whatEv@CXXABI_1.3.10 6
+ _ZGTtNKSt13bad_exceptionD1Ev@CXXABI_1.3.10 6
+ _ZGTtNKSt13runtime_error4whatEv@GLIBCXX_3.4.22 6
+ _ZGTtNKSt9exception4whatEv@CXXABI_1.3.10 6
+ _ZGTtNKSt9exceptionD1Ev@CXXABI_1.3.10 6
+ _ZGTtNSt11logic_errorC1EPKc@GLIBCXX_3.4.22 6
+ (optional=abi_c++11)_ZGTtNSt11logic_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.22 6
+ _ZGTtNSt11logic_errorC2EPKc@GLIBCXX_3.4.22 6
+ (optional=abi_c++11)_ZGTtNSt11logic_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.22 6
+ _ZGTtNSt11logic_errorD0Ev@GLIBCXX_3.4.22 6
+ _ZGTtNSt11logic_errorD1Ev@GLIBCXX_3.4.22 6
+ _ZGTtNSt11logic_errorD2Ev@GLIBCXX_3.4.22 6
+ _ZGTtNSt11range_errorC1EPKc@GLIBCXX_3.4.22 6
+ (optional=abi_c++11)_ZGTtNSt11range_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.22 6
+ _ZGTtNSt11range_errorC2EPKc@GLIBCXX_3.4.22 6
+ (optional=abi_c++11)_ZGTtNSt11range_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.22 6
+ _ZGTtNSt11range_errorD0Ev@GLIBCXX_3.4.22 6
+ _ZGTtNSt11range_errorD1Ev@GLIBCXX_3.4.22 6
+ _ZGTtNSt11range_errorD2Ev@GLIBCXX_3.4.22 6
+ _ZGTtNSt12domain_errorC1EPKc@GLIBCXX_3.4.22 6
+ (optional=abi_c++11)_ZGTtNSt12domain_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.22 6
+ _ZGTtNSt12domain_errorC2EPKc@GLIBCXX_3.4.22 6
+ (optional=abi_c++11)_ZGTtNSt12domain_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.22 6
+ _ZGTtNSt12domain_errorD0Ev@GLIBCXX_3.4.22 6
+ _ZGTtNSt12domain_errorD1Ev@GLIBCXX_3.4.22 6
+ _ZGTtNSt12domain_errorD2Ev@GLIBCXX_3.4.22 6
+ _ZGTtNSt12length_errorC1EPKc@GLIBCXX_3.4.22 6
+ (optional=abi_c++11)_ZGTtNSt12length_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.22 6
+ _ZGTtNSt12length_errorC2EPKc@GLIBCXX_3.4.22 6
+ (optional=abi_c++11)_ZGTtNSt12length_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.22 6
+ _ZGTtNSt12length_errorD0Ev@GLIBCXX_3.4.22 6
+ _ZGTtNSt12length_errorD1Ev@GLIBCXX_3.4.22 6
+ _ZGTtNSt12length_errorD2Ev@GLIBCXX_3.4.22 6
+ _ZGTtNSt12out_of_rangeC1EPKc@GLIBCXX_3.4.22 6
+ (optional=abi_c++11)_ZGTtNSt12out_of_rangeC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.22 6
+ _ZGTtNSt12out_of_rangeC2EPKc@GLIBCXX_3.4.22 6
+ (optional=abi_c++11)_ZGTtNSt12out_of_rangeC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.22 6
+ _ZGTtNSt12out_of_rangeD0Ev@GLIBCXX_3.4.22 6
+ _ZGTtNSt12out_of_rangeD1Ev@GLIBCXX_3.4.22 6
+ _ZGTtNSt12out_of_rangeD2Ev@GLIBCXX_3.4.22 6
+ _ZGTtNSt13runtime_errorC1EPKc@GLIBCXX_3.4.22 6
+ (optional=abi_c++11)_ZGTtNSt13runtime_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.22 6
+ _ZGTtNSt13runtime_errorC2EPKc@GLIBCXX_3.4.22 6
+ (optional=abi_c++11)_ZGTtNSt13runtime_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.22 6
+ _ZGTtNSt13runtime_errorD0Ev@GLIBCXX_3.4.22 6
+ _ZGTtNSt13runtime_errorD1Ev@GLIBCXX_3.4.22 6
+ _ZGTtNSt13runtime_errorD2Ev@GLIBCXX_3.4.22 6
+ _ZGTtNSt14overflow_errorC1EPKc@GLIBCXX_3.4.22 6
+ (optional=abi_c++11)_ZGTtNSt14overflow_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.22 6
+ _ZGTtNSt14overflow_errorC2EPKc@GLIBCXX_3.4.22 6
+ (optional=abi_c++11)_ZGTtNSt14overflow_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.22 6
+ _ZGTtNSt14overflow_errorD0Ev@GLIBCXX_3.4.22 6
+ _ZGTtNSt14overflow_errorD1Ev@GLIBCXX_3.4.22 6
+ _ZGTtNSt14overflow_errorD2Ev@GLIBCXX_3.4.22 6
+ _ZGTtNSt15underflow_errorC1EPKc@GLIBCXX_3.4.22 6
+ (optional=abi_c++11)_ZGTtNSt15underflow_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.22 6
+ _ZGTtNSt15underflow_errorC2EPKc@GLIBCXX_3.4.22 6
+ (optional=abi_c++11)_ZGTtNSt15underflow_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.22 6
+ _ZGTtNSt15underflow_errorD0Ev@GLIBCXX_3.4.22 6
+ _ZGTtNSt15underflow_errorD1Ev@GLIBCXX_3.4.22 6
+ _ZGTtNSt15underflow_errorD2Ev@GLIBCXX_3.4.22 6
+ _ZGTtNSt16invalid_argumentC1EPKc@GLIBCXX_3.4.22 6
+ (optional=abi_c++11)_ZGTtNSt16invalid_argumentC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.22 6
+ _ZGTtNSt16invalid_argumentC2EPKc@GLIBCXX_3.4.22 6
+ (optional=abi_c++11)_ZGTtNSt16invalid_argumentC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.22 6
+ _ZGTtNSt16invalid_argumentD0Ev@GLIBCXX_3.4.22 6
+ _ZGTtNSt16invalid_argumentD1Ev@GLIBCXX_3.4.22 6
+ _ZGTtNSt16invalid_argumentD2Ev@GLIBCXX_3.4.22 6
+ _ZGVNSt10moneypunctIcLb0EE2idE@GLIBCXX_3.4 4.1.1
+ _ZGVNSt10moneypunctIcLb1EE2idE@GLIBCXX_3.4 4.1.1
+ _ZGVNSt10moneypunctIwLb0EE2idE@GLIBCXX_3.4 4.1.1
+ _ZGVNSt10moneypunctIwLb1EE2idE@GLIBCXX_3.4 4.1.1
+ _ZGVNSt11__timepunctIcE2idE@GLIBCXX_3.4 4.1.1
+ _ZGVNSt11__timepunctIwE2idE@GLIBCXX_3.4 4.1.1
+ _ZGVNSt7collateIcE2idE@GLIBCXX_3.4 4.1.1
+ _ZGVNSt7collateIwE2idE@GLIBCXX_3.4 4.1.1
+ _ZGVNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_3.4 4.1.1
+ _ZGVNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_3.4 4.1.1
+ _ZGVNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_3.4 4.1.1
+ _ZGVNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_3.4 4.1.1
+ _ZGVNSt8messagesIcE2idE@GLIBCXX_3.4 4.1.1
+ _ZGVNSt8messagesIwE2idE@GLIBCXX_3.4 4.1.1
+ _ZGVNSt8numpunctIcE2idE@GLIBCXX_3.4 4.1.1
+ _ZGVNSt8numpunctIwE2idE@GLIBCXX_3.4 4.1.1
+ _ZGVNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_3.4 4.1.1
+ _ZGVNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_3.4 4.1.1
+ _ZGVNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_3.4 4.1.1
+ _ZGVNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_3.4 4.1.1
+ _ZGVNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_3.4 4.1.1
+ _ZGVNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_3.4 4.1.1
+ _ZGVNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_3.4 4.1.1
+ _ZGVNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_3.4 4.1.1
+ _ZN10__cxxabiv116__enum_type_infoD0Ev@CXXABI_1.3 4.1.1
+ _ZN10__cxxabiv116__enum_type_infoD1Ev@CXXABI_1.3 4.1.1
+ _ZN10__cxxabiv116__enum_type_infoD2Ev@CXXABI_1.3 4.1.1
+ _ZN10__cxxabiv117__array_type_infoD0Ev@CXXABI_1.3 4.1.1
+ _ZN10__cxxabiv117__array_type_infoD1Ev@CXXABI_1.3 4.1.1
+ _ZN10__cxxabiv117__array_type_infoD2Ev@CXXABI_1.3 4.1.1
+ _ZN10__cxxabiv117__class_type_infoD0Ev@CXXABI_1.3 4.1.1
+ _ZN10__cxxabiv117__class_type_infoD1Ev@CXXABI_1.3 4.1.1
+ _ZN10__cxxabiv117__class_type_infoD2Ev@CXXABI_1.3 4.1.1
+ _ZN10__cxxabiv117__pbase_type_infoD0Ev@CXXABI_1.3 4.1.1
+ _ZN10__cxxabiv117__pbase_type_infoD1Ev@CXXABI_1.3 4.1.1
+ _ZN10__cxxabiv117__pbase_type_infoD2Ev@CXXABI_1.3 4.1.1
+ _ZN10__cxxabiv119__pointer_type_infoD0Ev@CXXABI_1.3 4.1.1
+ _ZN10__cxxabiv119__pointer_type_infoD1Ev@CXXABI_1.3 4.1.1
+ _ZN10__cxxabiv119__pointer_type_infoD2Ev@CXXABI_1.3 4.1.1
+ _ZN10__cxxabiv120__function_type_infoD0Ev@CXXABI_1.3 4.1.1
+ _ZN10__cxxabiv120__function_type_infoD1Ev@CXXABI_1.3 4.1.1
+ _ZN10__cxxabiv120__function_type_infoD2Ev@CXXABI_1.3 4.1.1
+ _ZN10__cxxabiv120__si_class_type_infoD0Ev@CXXABI_1.3 4.1.1
+ _ZN10__cxxabiv120__si_class_type_infoD1Ev@CXXABI_1.3 4.1.1
+ _ZN10__cxxabiv120__si_class_type_infoD2Ev@CXXABI_1.3 4.1.1
+ _ZN10__cxxabiv121__vmi_class_type_infoD0Ev@CXXABI_1.3 4.1.1
+ _ZN10__cxxabiv121__vmi_class_type_infoD1Ev@CXXABI_1.3 4.1.1
+ _ZN10__cxxabiv121__vmi_class_type_infoD2Ev@CXXABI_1.3 4.1.1
+ _ZN10__cxxabiv123__fundamental_type_infoD0Ev@CXXABI_1.3 4.1.1
+ _ZN10__cxxabiv123__fundamental_type_infoD1Ev@CXXABI_1.3 4.1.1
+ _ZN10__cxxabiv123__fundamental_type_infoD2Ev@CXXABI_1.3 4.1.1
+ _ZN10__cxxabiv129__pointer_to_member_type_infoD0Ev@CXXABI_1.3 4.1.1
+ _ZN10__cxxabiv129__pointer_to_member_type_infoD1Ev@CXXABI_1.3 4.1.1
+ _ZN10__cxxabiv129__pointer_to_member_type_infoD2Ev@CXXABI_1.3 4.1.1
+ _ZN10__gnu_norm15_List_node_base4hookEPS0_@GLIBCXX_3.4 4.1.1
+ _ZN10__gnu_norm15_List_node_base4swapERS0_S1_@GLIBCXX_3.4 4.1.1
+ _ZN10__gnu_norm15_List_node_base6unhookEv@GLIBCXX_3.4 4.1.1
+ _ZN10__gnu_norm15_List_node_base7reverseEv@GLIBCXX_3.4 4.1.1
+ _ZN10__gnu_norm15_List_node_base8transferEPS0_S1_@GLIBCXX_3.4 4.1.1
+ _ZN11__gnu_debug19_Safe_iterator_base12_M_get_mutexEv@GLIBCXX_3.4.9 4.2.1
+ _ZN11__gnu_debug19_Safe_iterator_base16_M_attach_singleEPNS_19_Safe_sequence_baseEb@GLIBCXX_3.4.9 4.2.1
+ _ZN11__gnu_debug19_Safe_iterator_base16_M_detach_singleEv@GLIBCXX_3.4.9 4.2.1
+ _ZN11__gnu_debug19_Safe_iterator_base9_M_attachEPNS_19_Safe_sequence_baseEb@GLIBCXX_3.4 4.1.1
+ _ZN11__gnu_debug19_Safe_iterator_base9_M_detachEv@GLIBCXX_3.4 4.1.1
+ _ZN11__gnu_debug19_Safe_sequence_base12_M_get_mutexEv@GLIBCXX_3.4.9 4.2.1
+ _ZN11__gnu_debug19_Safe_sequence_base13_M_detach_allEv@GLIBCXX_3.4 4.1.1
+ _ZN11__gnu_debug19_Safe_sequence_base18_M_detach_singularEv@GLIBCXX_3.4 4.1.1
+ _ZN11__gnu_debug19_Safe_sequence_base22_M_revalidate_singularEv@GLIBCXX_3.4 4.1.1
+ _ZN11__gnu_debug19_Safe_sequence_base7_M_swapERS0_@GLIBCXX_3.4 4.1.1
+ _ZN11__gnu_debug25_Safe_local_iterator_base9_M_attachEPNS_19_Safe_sequence_baseEb@GLIBCXX_3.4.17 4.7
+ _ZN11__gnu_debug25_Safe_local_iterator_base9_M_detachEv@GLIBCXX_3.4.17 4.7
+ _ZN11__gnu_debug30_Safe_unordered_container_base13_M_detach_allEv@GLIBCXX_3.4.17 4.7
+ _ZN11__gnu_debug30_Safe_unordered_container_base7_M_swapERS0_@GLIBCXX_3.4.17 4.7
+ _ZN14__gnu_parallel9_Settings3getEv@GLIBCXX_3.4.10 4.3.0~rc2
+ _ZN14__gnu_parallel9_Settings3setERS0_@GLIBCXX_3.4.10 4.3.0~rc2
+ _ZN9__gnu_cxx17__pool_alloc_base12_M_get_mutexEv@GLIBCXX_3.4.2 4.1.1
+ _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE4fileEv@GLIBCXX_3.4.2 4.1.1
+ _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE4syncEv@GLIBCXX_3.4.10 4.3.0~rc2
+ _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE4syncEv@GLIBCXX_3.4.10 4.3.0~rc2
+ _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE5uflowEv@GLIBCXX_3.4.10 4.3.0~rc2
+ _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE5uflowEv@GLIBCXX_3.4.10 4.3.0~rc2
+ _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@GLIBCXX_3.4.10 4.3.0~rc2
+ _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE8overflowEi@GLIBCXX_3.4.10 4.3.0~rc2
+ _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE9pbackfailEi@GLIBCXX_3.4.10 4.3.0~rc2
+ _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE9underflowEv@GLIBCXX_3.4.10 4.3.0~rc2
+ _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEC1EOS3_@GLIBCXX_3.4.21 5
+ _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEC1EP8_IO_FILE@GLIBCXX_3.4.10 4.3.0~rc2
+ _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEC2EOS3_@GLIBCXX_3.4.21 5
+ _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEC2EP8_IO_FILE@GLIBCXX_3.4.10 4.3.0~rc2
+ _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4.10 4.3.0~rc2
+ _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4.10 4.3.0~rc2
+ _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEaSEOS3_@GLIBCXX_3.4.21 5
+ _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE4fileEv@GLIBCXX_3.4.2 4.1.1
+ _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE4syncEv@GLIBCXX_3.4.10 4.3.0~rc2
+ _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE5uflowEv@GLIBCXX_3.4.10 4.3.0~rc2
+ _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@GLIBCXX_3.4.10 4.3.0~rc2
+ _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE8overflowEj@GLIBCXX_3.4.10 4.3.0~rc2
+ _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE9pbackfailEj@GLIBCXX_3.4.10 4.3.0~rc2
+ _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE9underflowEv@GLIBCXX_3.4.10 4.3.0~rc2
+ _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEC1EOS3_@GLIBCXX_3.4.21 5
+ _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEC1EP8_IO_FILE@GLIBCXX_3.4.10 4.3.0~rc2
+ _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEC2EOS3_@GLIBCXX_3.4.21 5
+ _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEC2EP8_IO_FILE@GLIBCXX_3.4.10 4.3.0~rc2
+ _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4.10 4.3.0~rc2
+ _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4.10 4.3.0~rc2
+ _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEaSEOS3_@GLIBCXX_3.4.21 5
+ _ZN9__gnu_cxx27__verbose_terminate_handlerEv@CXXABI_1.3 4.1.1
+ _ZN9__gnu_cxx6__poolILb0EE10_M_destroyEv@GLIBCXX_3.4.4 4.1.1
+ _ZN9__gnu_cxx6__poolILb0EE13_M_initializeEv@GLIBCXX_3.4.4 4.1.1
+ _ZN9__gnu_cxx6__poolILb1EE10_M_destroyEv@GLIBCXX_3.4.4 4.1.1
+ _ZN9__gnu_cxx6__poolILb1EE13_M_initializeEPFvPvE@GLIBCXX_3.4.4 4.1.1
+ _ZN9__gnu_cxx6__poolILb1EE13_M_initializeEv@GLIBCXX_3.4.6 4.1.1
+ _ZN9__gnu_cxx6__poolILb1EE16_M_get_thread_idEv@GLIBCXX_3.4.4 4.1.1
+ _ZN9__gnu_cxx6__poolILb1EE21_M_destroy_thread_keyEPv@GLIBCXX_3.4.4 4.1.1
+ _ZN9__gnu_cxx9__freeresEv@CXXABI_1.3.10 6
+ _ZN9__gnu_cxx9free_list8_M_clearEv@GLIBCXX_3.4.4 4.1.1
+ _ZNK10__cxxabiv117__class_type_info10__do_catchEPKSt9type_infoPPvj@CXXABI_1.3 4.1.1
+ _ZNK10__cxxabiv117__class_type_info11__do_upcastEPKS0_PKvRNS0_15__upcast_resultE@CXXABI_1.3 4.1.1
+ _ZNK10__cxxabiv117__class_type_info11__do_upcastEPKS0_PPv@CXXABI_1.3 4.1.1
+ _ZNK10__cxxabiv117__pbase_type_info10__do_catchEPKSt9type_infoPPvj@CXXABI_1.3 4.1.1
+ _ZNK10__cxxabiv117__pbase_type_info15__pointer_catchEPKS0_PPvj@CXXABI_1.3 4.1.1
+ _ZNK10__cxxabiv119__pointer_type_info14__is_pointer_pEv@CXXABI_1.3 4.1.1
+ _ZNK10__cxxabiv119__pointer_type_info15__pointer_catchEPKNS_17__pbase_type_infoEPPvj@CXXABI_1.3 4.1.1
+ _ZNK10__cxxabiv120__function_type_info15__is_function_pEv@CXXABI_1.3 4.1.1
+ _ZNK10__cxxabiv120__si_class_type_info11__do_upcastEPKNS_17__class_type_infoEPKvRNS1_15__upcast_resultE@CXXABI_1.3 4.1.1
+ _ZNK10__cxxabiv121__vmi_class_type_info11__do_upcastEPKNS_17__class_type_infoEPKvRNS1_15__upcast_resultE@CXXABI_1.3 4.1.1
+ _ZNK10__cxxabiv129__pointer_to_member_type_info15__pointer_catchEPKNS_17__pbase_type_infoEPPvj@CXXABI_1.3 4.1.1
+ _ZNK11__gnu_debug16_Error_formatter10_M_messageENS_13_Debug_msg_idE@GLIBCXX_3.4 4.1.1
+ _ZNK11__gnu_debug16_Error_formatter10_Parameter14_M_print_fieldEPKS0_PKc@GLIBCXX_3.4 4.1.1
+ _ZNK11__gnu_debug16_Error_formatter10_Parameter20_M_print_descriptionEPKS0_@GLIBCXX_3.4 4.1.1
+ _ZNK11__gnu_debug16_Error_formatter13_M_print_wordEPKc@GLIBCXX_3.4 4.1.1
+ _ZNK11__gnu_debug16_Error_formatter15_M_print_stringEPKc@GLIBCXX_3.4 4.1.1
+ _ZNK11__gnu_debug16_Error_formatter17_M_get_max_lengthEv@GLIBCXX_3.4.10 4.3
+ _ZNK11__gnu_debug16_Error_formatter8_M_errorEv@GLIBCXX_3.4 4.1.1
+ _ZNK11__gnu_debug19_Safe_iterator_base11_M_singularEv@GLIBCXX_3.4 4.1.1
+ _ZNK11__gnu_debug19_Safe_iterator_base14_M_can_compareERKS0_@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw@GLIBCXX_3.4.5 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE13get_allocatorEv@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE3endEv@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_leakedEv@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_sharedEv@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE4backEv@GLIBCXX_3.4.15 4.6
+ _ZNKSbIwSt11char_traitsIwESaIwEE4cendEv@GLIBCXX_3.4.14 4.5
+ _ZNKSbIwSt11char_traitsIwESaIwEE4dataEv@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE4rendEv@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE4sizeEv@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE5beginEv@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE5crendEv@GLIBCXX_3.4.14 4.5
+ _ZNKSbIwSt11char_traitsIwESaIwEE5c_strEv@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE5emptyEv@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE5frontEv@GLIBCXX_3.4.15 4.6
+ _ZNKSbIwSt11char_traitsIwESaIwEE6_M_repEv@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE6cbeginEv@GLIBCXX_3.4.14 4.5
+ _ZNKSbIwSt11char_traitsIwESaIwEE6lengthEv@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE6rbeginEv@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE7_M_dataEv@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE7_M_iendEv@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE7compareEPKw@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE7compareERKS2_@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE7crbeginEv@GLIBCXX_3.4.14 4.5
+ _ZNKSbIwSt11char_traitsIwESaIwEE8capacityEv@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE8max_sizeEv@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE9_M_ibeginEv@GLIBCXX_3.4 4.1.1
+ _ZNKSi6gcountEv@GLIBCXX_3.4 4.1.1
+ _ZNKSi6sentrycvbEv@GLIBCXX_3.4 4.1.1
+ _ZNKSo6sentrycvbEv@GLIBCXX_3.4 4.1.1
+ _ZNKSs11_M_disjunctEPKc@GLIBCXX_3.4 4.1.1
+ _ZNKSs11_M_disjunctEPKc@GLIBCXX_3.4.5 4.1.1
+ _ZNKSs13get_allocatorEv@GLIBCXX_3.4 4.1.1
+ _ZNKSs3endEv@GLIBCXX_3.4 4.1.1
+ _ZNKSs4_Rep12_M_is_leakedEv@GLIBCXX_3.4 4.1.1
+ _ZNKSs4_Rep12_M_is_sharedEv@GLIBCXX_3.4 4.1.1
+ _ZNKSs4backEv@GLIBCXX_3.4.15 4.6
+ _ZNKSs4cendEv@GLIBCXX_3.4.14 4.5
+ _ZNKSs4dataEv@GLIBCXX_3.4 4.1.1
+ _ZNKSs4rendEv@GLIBCXX_3.4 4.1.1
+ _ZNKSs4sizeEv@GLIBCXX_3.4 4.1.1
+ _ZNKSs5beginEv@GLIBCXX_3.4 4.1.1
+ _ZNKSs5c_strEv@GLIBCXX_3.4 4.1.1
+ _ZNKSs5crendEv@GLIBCXX_3.4.14 4.5
+ _ZNKSs5emptyEv@GLIBCXX_3.4 4.1.1
+ _ZNKSs5frontEv@GLIBCXX_3.4.15 4.6
+ _ZNKSs6_M_repEv@GLIBCXX_3.4 4.1.1
+ _ZNKSs6cbeginEv@GLIBCXX_3.4.14 4.5
+ _ZNKSs6lengthEv@GLIBCXX_3.4 4.1.1
+ _ZNKSs6rbeginEv@GLIBCXX_3.4 4.1.1
+ _ZNKSs7_M_dataEv@GLIBCXX_3.4 4.1.1
+ _ZNKSs7_M_iendEv@GLIBCXX_3.4 4.1.1
+ _ZNKSs7compareEPKc@GLIBCXX_3.4 4.1.1
+ _ZNKSs7compareERKSs@GLIBCXX_3.4 4.1.1
+ _ZNKSs7crbeginEv@GLIBCXX_3.4.14 4.5
+ _ZNKSs8capacityEv@GLIBCXX_3.4 4.1.1
+ _ZNKSs8max_sizeEv@GLIBCXX_3.4 4.1.1
+ _ZNKSs9_M_ibeginEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10bad_typeid4whatEv@GLIBCXX_3.4.9 4.2.1
+ _ZNKSt10error_code23default_error_conditionEv@GLIBCXX_3.4.11 4.4.0
+ _ZNKSt10istrstream5rdbufEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10lock_error4whatEv@GLIBCXX_3.4.11 4.4.0
+ _ZNKSt10moneypunctIcLb0EE10neg_formatEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIcLb0EE10pos_formatEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIcLb0EE11curr_symbolEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIcLb0EE11do_groupingEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIcLb0EE11frac_digitsEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIcLb0EE13decimal_pointEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIcLb0EE13do_neg_formatEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIcLb0EE13do_pos_formatEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIcLb0EE13negative_signEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIcLb0EE13positive_signEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIcLb0EE13thousands_sepEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIcLb0EE14do_curr_symbolEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIcLb0EE14do_frac_digitsEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIcLb0EE16do_decimal_pointEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIcLb0EE16do_negative_signEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIcLb0EE16do_positive_signEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIcLb0EE16do_thousands_sepEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIcLb0EE8groupingEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIcLb1EE10neg_formatEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIcLb1EE10pos_formatEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIcLb1EE11curr_symbolEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIcLb1EE11do_groupingEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIcLb1EE11frac_digitsEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIcLb1EE13decimal_pointEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIcLb1EE13do_neg_formatEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIcLb1EE13do_pos_formatEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIcLb1EE13negative_signEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIcLb1EE13positive_signEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIcLb1EE13thousands_sepEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIcLb1EE14do_curr_symbolEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIcLb1EE14do_frac_digitsEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIcLb1EE16do_decimal_pointEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIcLb1EE16do_negative_signEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIcLb1EE16do_positive_signEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIcLb1EE16do_thousands_sepEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIcLb1EE8groupingEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIwLb0EE10neg_formatEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIwLb0EE10pos_formatEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIwLb0EE11curr_symbolEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIwLb0EE11do_groupingEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIwLb0EE11frac_digitsEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIwLb0EE13decimal_pointEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIwLb0EE13do_neg_formatEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIwLb0EE13do_pos_formatEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIwLb0EE13negative_signEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIwLb0EE13positive_signEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIwLb0EE13thousands_sepEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIwLb0EE14do_curr_symbolEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIwLb0EE14do_frac_digitsEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIwLb0EE16do_decimal_pointEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIwLb0EE16do_negative_signEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIwLb0EE16do_positive_signEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIwLb0EE16do_thousands_sepEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIwLb0EE8groupingEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIwLb1EE10neg_formatEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIwLb1EE10pos_formatEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIwLb1EE11curr_symbolEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIwLb1EE11do_groupingEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIwLb1EE11frac_digitsEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIwLb1EE13decimal_pointEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIwLb1EE13do_neg_formatEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIwLb1EE13do_pos_formatEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIwLb1EE13negative_signEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIwLb1EE13positive_signEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIwLb1EE13thousands_sepEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIwLb1EE14do_curr_symbolEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIwLb1EE14do_frac_digitsEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIwLb1EE16do_decimal_pointEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIwLb1EE16do_negative_signEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIwLb1EE16do_positive_signEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIwLb1EE16do_thousands_sepEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10moneypunctIwLb1EE8groupingEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10ostrstream5rdbufEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt10ostrstream6pcountEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt11__timepunctIcE15_M_am_pm_formatEPKc@GLIBCXX_3.4 4.1.1
+ _ZNKSt11__timepunctIcE15_M_date_formatsEPPKc@GLIBCXX_3.4 4.1.1
+ _ZNKSt11__timepunctIcE15_M_time_formatsEPPKc@GLIBCXX_3.4 4.1.1
+ _ZNKSt11__timepunctIcE19_M_days_abbreviatedEPPKc@GLIBCXX_3.4 4.1.1
+ _ZNKSt11__timepunctIcE20_M_date_time_formatsEPPKc@GLIBCXX_3.4 4.1.1
+ _ZNKSt11__timepunctIcE21_M_months_abbreviatedEPPKc@GLIBCXX_3.4 4.1.1
+ _ZNKSt11__timepunctIcE7_M_daysEPPKc@GLIBCXX_3.4 4.1.1
+ _ZNKSt11__timepunctIcE8_M_am_pmEPPKc@GLIBCXX_3.4 4.1.1
+ _ZNKSt11__timepunctIcE9_M_monthsEPPKc@GLIBCXX_3.4 4.1.1
+ _ZNKSt11__timepunctIwE15_M_am_pm_formatEPKw@GLIBCXX_3.4 4.1.1
+ _ZNKSt11__timepunctIwE15_M_date_formatsEPPKw@GLIBCXX_3.4 4.1.1
+ _ZNKSt11__timepunctIwE15_M_time_formatsEPPKw@GLIBCXX_3.4 4.1.1
+ _ZNKSt11__timepunctIwE19_M_days_abbreviatedEPPKw@GLIBCXX_3.4 4.1.1
+ _ZNKSt11__timepunctIwE20_M_date_time_formatsEPPKw@GLIBCXX_3.4 4.1.1
+ _ZNKSt11__timepunctIwE21_M_months_abbreviatedEPPKw@GLIBCXX_3.4 4.1.1
+ _ZNKSt11__timepunctIwE7_M_daysEPPKw@GLIBCXX_3.4 4.1.1
+ _ZNKSt11__timepunctIwE8_M_am_pmEPPKw@GLIBCXX_3.4 4.1.1
+ _ZNKSt11__timepunctIwE9_M_monthsEPPKw@GLIBCXX_3.4 4.1.1
+ _ZNKSt11logic_error4whatEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt12__basic_fileIcE7is_openEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt12bad_weak_ptr4whatEv@GLIBCXX_3.4.15 4.6
+ _ZNKSt12future_error4whatEv@GLIBCXX_3.4.14 4.5
+ _ZNKSt12strstreambuf6pcountEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt13bad_exception4whatEv@GLIBCXX_3.4.9 4.2.1
+ _ZNKSt13basic_filebufIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt13basic_filebufIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt13basic_fstreamIcSt11char_traitsIcEE5rdbufEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4.5 4.1.1
+ _ZNKSt13basic_fstreamIwSt11char_traitsIwEE5rdbufEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4.5 4.1.1
+ _ZNKSt13basic_istreamIwSt11char_traitsIwEE6gcountEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt13basic_istreamIwSt11char_traitsIwEE6sentrycvbEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt13basic_ostreamIwSt11char_traitsIwEE6sentrycvbEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt13random_device13_M_getentropyEv@GLIBCXX_3.4.25 8
+ _ZNKSt13runtime_error4whatEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt14basic_ifstreamIcSt11char_traitsIcEE5rdbufEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4.5 4.1.1
+ _ZNKSt14basic_ifstreamIwSt11char_traitsIwEE5rdbufEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4.5 4.1.1
+ _ZNKSt14basic_ofstreamIcSt11char_traitsIcEE5rdbufEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4.5 4.1.1
+ _ZNKSt14basic_ofstreamIwSt11char_traitsIwEE5rdbufEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4.5 4.1.1
+ _ZNKSt14error_category10equivalentERKSt10error_codei@GLIBCXX_3.4.11 4.4.0
+ _ZNKSt14error_category10equivalentEiRKSt15error_condition@GLIBCXX_3.4.11 4.4.0
+ _ZNKSt14error_category23default_error_conditionEi@GLIBCXX_3.4.11 4.4.0
+ _ZNKSt15basic_streambufIcSt11char_traitsIcEE4gptrEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt15basic_streambufIcSt11char_traitsIcEE4pptrEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt15basic_streambufIcSt11char_traitsIcEE5ebackEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt15basic_streambufIcSt11char_traitsIcEE5egptrEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt15basic_streambufIcSt11char_traitsIcEE5epptrEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt15basic_streambufIcSt11char_traitsIcEE5pbaseEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt15basic_streambufIcSt11char_traitsIcEE6getlocEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt15basic_streambufIwSt11char_traitsIwEE4gptrEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt15basic_streambufIwSt11char_traitsIwEE4pptrEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt15basic_streambufIwSt11char_traitsIwEE5ebackEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt15basic_streambufIwSt11char_traitsIwEE5egptrEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt15basic_streambufIwSt11char_traitsIwEE5epptrEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt15basic_streambufIwSt11char_traitsIwEE5pbaseEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt15basic_streambufIwSt11char_traitsIwEE6getlocEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt16bad_array_length4whatEv@CXXABI_1.3.8 4.9
+ _ZNKSt17bad_function_call4whatEv@GLIBCXX_3.4.18 4.8
+ _ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt19__codecvt_utf8_baseIDiE10do_unshiftER11__mbstate_tPcS3_RS3_@GLIBCXX_3.4.21 5
+ _ZNKSt19__codecvt_utf8_baseIDiE11do_encodingEv@GLIBCXX_3.4.21 5
+ _ZNKSt19__codecvt_utf8_baseIDiE13do_max_lengthEv@GLIBCXX_3.4.21 5
+ _ZNKSt19__codecvt_utf8_baseIDiE16do_always_noconvEv@GLIBCXX_3.4.21 5
+ _ZNKSt19__codecvt_utf8_baseIDiE5do_inER11__mbstate_tPKcS4_RS4_PDiS6_RS6_@GLIBCXX_3.4.21 5
+ _ZNKSt19__codecvt_utf8_baseIDiE6do_outER11__mbstate_tPKDiS4_RS4_PcS6_RS6_@GLIBCXX_3.4.21 5
+ _ZNKSt19__codecvt_utf8_baseIDsE10do_unshiftER11__mbstate_tPcS3_RS3_@GLIBCXX_3.4.21 5
+ _ZNKSt19__codecvt_utf8_baseIDsE11do_encodingEv@GLIBCXX_3.4.21 5
+ _ZNKSt19__codecvt_utf8_baseIDsE13do_max_lengthEv@GLIBCXX_3.4.21 5
+ _ZNKSt19__codecvt_utf8_baseIDsE16do_always_noconvEv@GLIBCXX_3.4.21 5
+ _ZNKSt19__codecvt_utf8_baseIDsE5do_inER11__mbstate_tPKcS4_RS4_PDsS6_RS6_@GLIBCXX_3.4.21 5
+ _ZNKSt19__codecvt_utf8_baseIDsE6do_outER11__mbstate_tPKDsS4_RS4_PcS6_RS6_@GLIBCXX_3.4.21 5
+ _ZNKSt19__codecvt_utf8_baseIwE10do_unshiftER11__mbstate_tPcS3_RS3_@GLIBCXX_3.4.21 5
+ _ZNKSt19__codecvt_utf8_baseIwE11do_encodingEv@GLIBCXX_3.4.21 5
+ _ZNKSt19__codecvt_utf8_baseIwE13do_max_lengthEv@GLIBCXX_3.4.21 5
+ _ZNKSt19__codecvt_utf8_baseIwE16do_always_noconvEv@GLIBCXX_3.4.21 5
+ _ZNKSt19__codecvt_utf8_baseIwE5do_inER11__mbstate_tPKcS4_RS4_PwS6_RS6_@GLIBCXX_3.4.21 5
+ _ZNKSt19__codecvt_utf8_baseIwE6do_outER11__mbstate_tPKwS4_RS4_PcS6_RS6_@GLIBCXX_3.4.21 5
+ _ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt20__codecvt_utf16_baseIDiE10do_unshiftER11__mbstate_tPcS3_RS3_@GLIBCXX_3.4.21 5
+ _ZNKSt20__codecvt_utf16_baseIDiE11do_encodingEv@GLIBCXX_3.4.21 5
+ _ZNKSt20__codecvt_utf16_baseIDiE13do_max_lengthEv@GLIBCXX_3.4.21 5
+ _ZNKSt20__codecvt_utf16_baseIDiE16do_always_noconvEv@GLIBCXX_3.4.21 5
+ _ZNKSt20__codecvt_utf16_baseIDiE5do_inER11__mbstate_tPKcS4_RS4_PDiS6_RS6_@GLIBCXX_3.4.21 5
+ _ZNKSt20__codecvt_utf16_baseIDiE6do_outER11__mbstate_tPKDiS4_RS4_PcS6_RS6_@GLIBCXX_3.4.21 5
+ _ZNKSt20__codecvt_utf16_baseIDsE10do_unshiftER11__mbstate_tPcS3_RS3_@GLIBCXX_3.4.21 5
+ _ZNKSt20__codecvt_utf16_baseIDsE11do_encodingEv@GLIBCXX_3.4.21 5
+ _ZNKSt20__codecvt_utf16_baseIDsE13do_max_lengthEv@GLIBCXX_3.4.21 5
+ _ZNKSt20__codecvt_utf16_baseIDsE16do_always_noconvEv@GLIBCXX_3.4.21 5
+ _ZNKSt20__codecvt_utf16_baseIDsE5do_inER11__mbstate_tPKcS4_RS4_PDsS6_RS6_@GLIBCXX_3.4.21 5
+ _ZNKSt20__codecvt_utf16_baseIDsE6do_outER11__mbstate_tPKDsS4_RS4_PcS6_RS6_@GLIBCXX_3.4.21 5
+ _ZNKSt20__codecvt_utf16_baseIwE10do_unshiftER11__mbstate_tPcS3_RS3_@GLIBCXX_3.4.21 5
+ _ZNKSt20__codecvt_utf16_baseIwE11do_encodingEv@GLIBCXX_3.4.21 5
+ _ZNKSt20__codecvt_utf16_baseIwE13do_max_lengthEv@GLIBCXX_3.4.21 5
+ _ZNKSt20__codecvt_utf16_baseIwE16do_always_noconvEv@GLIBCXX_3.4.21 5
+ _ZNKSt20__codecvt_utf16_baseIwE5do_inER11__mbstate_tPKcS4_RS4_PwS6_RS6_@GLIBCXX_3.4.21 5
+ _ZNKSt20__codecvt_utf16_baseIwE6do_outER11__mbstate_tPKwS4_RS4_PcS6_RS6_@GLIBCXX_3.4.21 5
+ _ZNKSt20bad_array_new_length4whatEv@CXXABI_1.3.8 4.9
+ _ZNKSt25__codecvt_utf8_utf16_baseIDiE10do_unshiftER11__mbstate_tPcS3_RS3_@GLIBCXX_3.4.21 5
+ _ZNKSt25__codecvt_utf8_utf16_baseIDiE11do_encodingEv@GLIBCXX_3.4.21 5
+ _ZNKSt25__codecvt_utf8_utf16_baseIDiE13do_max_lengthEv@GLIBCXX_3.4.21 5
+ _ZNKSt25__codecvt_utf8_utf16_baseIDiE16do_always_noconvEv@GLIBCXX_3.4.21 5
+ _ZNKSt25__codecvt_utf8_utf16_baseIDiE5do_inER11__mbstate_tPKcS4_RS4_PDiS6_RS6_@GLIBCXX_3.4.21 5
+ _ZNKSt25__codecvt_utf8_utf16_baseIDiE6do_outER11__mbstate_tPKDiS4_RS4_PcS6_RS6_@GLIBCXX_3.4.21 5
+ _ZNKSt25__codecvt_utf8_utf16_baseIDsE10do_unshiftER11__mbstate_tPcS3_RS3_@GLIBCXX_3.4.21 5
+ _ZNKSt25__codecvt_utf8_utf16_baseIDsE11do_encodingEv@GLIBCXX_3.4.21 5
+ _ZNKSt25__codecvt_utf8_utf16_baseIDsE13do_max_lengthEv@GLIBCXX_3.4.21 5
+ _ZNKSt25__codecvt_utf8_utf16_baseIDsE16do_always_noconvEv@GLIBCXX_3.4.21 5
+ _ZNKSt25__codecvt_utf8_utf16_baseIDsE5do_inER11__mbstate_tPKcS4_RS4_PDsS6_RS6_@GLIBCXX_3.4.21 5
+ _ZNKSt25__codecvt_utf8_utf16_baseIDsE6do_outER11__mbstate_tPKDsS4_RS4_PcS6_RS6_@GLIBCXX_3.4.21 5
+ _ZNKSt25__codecvt_utf8_utf16_baseIwE10do_unshiftER11__mbstate_tPcS3_RS3_@GLIBCXX_3.4.21 5
+ _ZNKSt25__codecvt_utf8_utf16_baseIwE11do_encodingEv@GLIBCXX_3.4.21 5
+ _ZNKSt25__codecvt_utf8_utf16_baseIwE13do_max_lengthEv@GLIBCXX_3.4.21 5
+ _ZNKSt25__codecvt_utf8_utf16_baseIwE16do_always_noconvEv@GLIBCXX_3.4.21 5
+ _ZNKSt25__codecvt_utf8_utf16_baseIwE5do_inER11__mbstate_tPKcS4_RS4_PwS6_RS6_@GLIBCXX_3.4.21 5
+ _ZNKSt25__codecvt_utf8_utf16_baseIwE6do_outER11__mbstate_tPKwS4_RS4_PcS6_RS6_@GLIBCXX_3.4.21 5
+ _ZNKSt3_V214error_category10_M_messageEi@GLIBCXX_3.4.21 5
+ _ZNKSt3_V214error_category10equivalentERKSt10error_codei@GLIBCXX_3.4.21 5
+ _ZNKSt3_V214error_category10equivalentEiRKSt15error_condition@GLIBCXX_3.4.21 5
+ _ZNKSt3_V214error_category23default_error_conditionEi@GLIBCXX_3.4.21 5
+ _ZNKSt3tr14hashIRKSbIwSt11char_traitsIwESaIwEEEclES6_@GLIBCXX_3.4.10 4.3
+ _ZNKSt3tr14hashIRKSsEclES2_@GLIBCXX_3.4.10 4.3
+ _ZNKSt3tr14hashISbIwSt11char_traitsIwESaIwEEEclES4_@GLIBCXX_3.4.10 4.3
+ _ZNKSt3tr14hashISsEclESs@GLIBCXX_3.4.10 4.3
+ _ZNKSt4hashIRKSbIwSt11char_traitsIwESaIwEEEclES5_@GLIBCXX_3.4.10 4.3
+ _ZNKSt4hashIRKSsEclES1_@GLIBCXX_3.4.10 4.3
+ _ZNKSt4hashISbIwSt11char_traitsIwESaIwEEEclES3_@GLIBCXX_3.4.10 4.3
+ _ZNKSt4hashISsEclESs@GLIBCXX_3.4.10 4.3
+ _ZNKSt4hashISt10error_codeEclES0_@GLIBCXX_3.4.11 4.4.0
+ _ZNKSt5ctypeIcE10do_tolowerEPcPKc@GLIBCXX_3.4 4.1.1
+ _ZNKSt5ctypeIcE10do_tolowerEc@GLIBCXX_3.4 4.1.1
+ _ZNKSt5ctypeIcE10do_toupperEPcPKc@GLIBCXX_3.4 4.1.1
+ _ZNKSt5ctypeIcE10do_toupperEc@GLIBCXX_3.4 4.1.1
+ _ZNKSt5ctypeIcE13_M_widen_initEv@GLIBCXX_3.4.11 4.4.0
+ _ZNKSt5ctypeIcE14_M_narrow_initEv@GLIBCXX_3.4.11 4.4.0
+ _ZNKSt5ctypeIcE8do_widenEPKcS2_Pc@GLIBCXX_3.4 4.1.1
+ _ZNKSt5ctypeIcE8do_widenEc@GLIBCXX_3.4 4.1.1
+ _ZNKSt5ctypeIcE9do_narrowEPKcS2_cPc@GLIBCXX_3.4 4.1.1
+ _ZNKSt5ctypeIcE9do_narrowEcc@GLIBCXX_3.4 4.1.1
+ _ZNKSt5ctypeIwE10do_scan_isEtPKwS2_@GLIBCXX_3.4 4.1.1
+ _ZNKSt5ctypeIwE10do_tolowerEPwPKw@GLIBCXX_3.4 4.1.1
+ _ZNKSt5ctypeIwE10do_tolowerEw@GLIBCXX_3.4 4.1.1
+ _ZNKSt5ctypeIwE10do_toupperEPwPKw@GLIBCXX_3.4 4.1.1
+ _ZNKSt5ctypeIwE10do_toupperEw@GLIBCXX_3.4 4.1.1
+ _ZNKSt5ctypeIwE11do_scan_notEtPKwS2_@GLIBCXX_3.4 4.1.1
+ _ZNKSt5ctypeIwE19_M_convert_to_wmaskEt@GLIBCXX_3.4 4.1.1
+ _ZNKSt5ctypeIwE5do_isEPKwS2_Pt@GLIBCXX_3.4 4.1.1
+ _ZNKSt5ctypeIwE5do_isEtw@GLIBCXX_3.4 4.1.1
+ _ZNKSt5ctypeIwE8do_widenEPKcS2_Pw@GLIBCXX_3.4 4.1.1
+ _ZNKSt5ctypeIwE8do_widenEc@GLIBCXX_3.4 4.1.1
+ _ZNKSt5ctypeIwE9do_narrowEPKwS2_cPc@GLIBCXX_3.4 4.1.1
+ _ZNKSt5ctypeIwE9do_narrowEwc@GLIBCXX_3.4 4.1.1
+ _ZNKSt6locale2id5_M_idEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt6locale4nameEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt6localeeqERKS_@GLIBCXX_3.4 4.1.1
+ _ZNKSt7codecvtIDic11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@GLIBCXX_3.4.21 5
+ _ZNKSt7codecvtIDic11__mbstate_tE11do_encodingEv@GLIBCXX_3.4.21 5
+ _ZNKSt7codecvtIDic11__mbstate_tE13do_max_lengthEv@GLIBCXX_3.4.21 5
+ _ZNKSt7codecvtIDic11__mbstate_tE16do_always_noconvEv@GLIBCXX_3.4.21 5
+ _ZNKSt7codecvtIDic11__mbstate_tE5do_inERS0_PKcS4_RS4_PDiS6_RS6_@GLIBCXX_3.4.21 5
+ _ZNKSt7codecvtIDic11__mbstate_tE6do_outERS0_PKDiS4_RS4_PcS6_RS6_@GLIBCXX_3.4.21 5
+ _ZNKSt7codecvtIDsc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@GLIBCXX_3.4.21 5
+ _ZNKSt7codecvtIDsc11__mbstate_tE11do_encodingEv@GLIBCXX_3.4.21 5
+ _ZNKSt7codecvtIDsc11__mbstate_tE13do_max_lengthEv@GLIBCXX_3.4.21 5
+ _ZNKSt7codecvtIDsc11__mbstate_tE16do_always_noconvEv@GLIBCXX_3.4.21 5
+ _ZNKSt7codecvtIDsc11__mbstate_tE5do_inERS0_PKcS4_RS4_PDsS6_RS6_@GLIBCXX_3.4.21 5
+ _ZNKSt7codecvtIDsc11__mbstate_tE6do_outERS0_PKDsS4_RS4_PcS6_RS6_@GLIBCXX_3.4.21 5
+ _ZNKSt7codecvtIcc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@GLIBCXX_3.4 4.1.1
+ _ZNKSt7codecvtIcc11__mbstate_tE11do_encodingEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt7codecvtIcc11__mbstate_tE13do_max_lengthEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt7codecvtIcc11__mbstate_tE16do_always_noconvEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt7codecvtIcc11__mbstate_tE5do_inERS0_PKcS4_RS4_PcS6_RS6_@GLIBCXX_3.4 4.1.1
+ _ZNKSt7codecvtIcc11__mbstate_tE6do_outERS0_PKcS4_RS4_PcS6_RS6_@GLIBCXX_3.4 4.1.1
+ _ZNKSt7codecvtIwc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@GLIBCXX_3.4 4.1.1
+ _ZNKSt7codecvtIwc11__mbstate_tE11do_encodingEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt7codecvtIwc11__mbstate_tE13do_max_lengthEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt7codecvtIwc11__mbstate_tE16do_always_noconvEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt7codecvtIwc11__mbstate_tE5do_inERS0_PKcS4_RS4_PwS6_RS6_@GLIBCXX_3.4 4.1.1
+ _ZNKSt7codecvtIwc11__mbstate_tE6do_outERS0_PKwS4_RS4_PcS6_RS6_@GLIBCXX_3.4 4.1.1
+ _ZNKSt7collateIcE10_M_compareEPKcS2_@GLIBCXX_3.4 4.1.1
+ _ZNKSt7collateIcE10do_compareEPKcS2_S2_S2_@GLIBCXX_3.4 4.1.1
+ _ZNKSt7collateIcE12do_transformEPKcS2_@GLIBCXX_3.4 4.1.1
+ _ZNKSt7collateIcE4hashEPKcS2_@GLIBCXX_3.4 4.1.1
+ _ZNKSt7collateIcE7compareEPKcS2_S2_S2_@GLIBCXX_3.4 4.1.1
+ _ZNKSt7collateIcE7do_hashEPKcS2_@GLIBCXX_3.4 4.1.1
+ _ZNKSt7collateIcE9transformEPKcS2_@GLIBCXX_3.4 4.1.1
+ _ZNKSt7collateIwE10_M_compareEPKwS2_@GLIBCXX_3.4 4.1.1
+ _ZNKSt7collateIwE10do_compareEPKwS2_S2_S2_@GLIBCXX_3.4 4.1.1
+ _ZNKSt7collateIwE12do_transformEPKwS2_@GLIBCXX_3.4 4.1.1
+ _ZNKSt7collateIwE4hashEPKwS2_@GLIBCXX_3.4 4.1.1
+ _ZNKSt7collateIwE7compareEPKwS2_S2_S2_@GLIBCXX_3.4 4.1.1
+ _ZNKSt7collateIwE7do_hashEPKwS2_@GLIBCXX_3.4 4.1.1
+ _ZNKSt7collateIwE9transformEPKwS2_@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIjEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIlEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intImEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intItEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIxEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIyEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIjEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIlEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intImEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intItEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIxEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIyEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIlEES3_S3_RSt8ios_basecT_@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intImEES3_S3_RSt8ios_basecT_@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIxEES3_S3_RSt8ios_basecT_@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIyEES3_S3_RSt8ios_basecT_@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIdEES3_S3_RSt8ios_baseccT_@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIeEES3_S3_RSt8ios_baseccT_@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPKv@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecb@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecd@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basece@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecl@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecm@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecx@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecy@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPKv@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecb@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecd@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basece@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecl@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecm@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecx@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecy@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIlEES3_S3_RSt8ios_basewT_@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intImEES3_S3_RSt8ios_basewT_@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIxEES3_S3_RSt8ios_basewT_@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIyEES3_S3_RSt8ios_basewT_@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIdEES3_S3_RSt8ios_basewcT_@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIeEES3_S3_RSt8ios_basewcT_@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPKv@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewb@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewd@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewe@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewl@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewm@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewx@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewy@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPKv@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewb@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewd@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewe@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewl@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewm@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewx@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewy@GLIBCXX_3.4 4.1.1
+ _ZNKSt8bad_cast4whatEv@GLIBCXX_3.4.9 4.2.1
+ _ZNKSt8ios_base7failure4whatEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt8messagesIcE18_M_convert_to_charERKSs@GLIBCXX_3.4 4.1.1
+ _ZNKSt8messagesIcE20_M_convert_from_charEPc@GLIBCXX_3.4 4.1.1
+ _ZNKSt8messagesIcE3getEiiiRKSs@GLIBCXX_3.4 4.1.1
+ _ZNKSt8messagesIcE4openERKSsRKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZNKSt8messagesIcE4openERKSsRKSt6localePKc@GLIBCXX_3.4 4.1.1
+ _ZNKSt8messagesIcE5closeEi@GLIBCXX_3.4 4.1.1
+ _ZNKSt8messagesIcE6do_getEiiiRKSs@GLIBCXX_3.4 4.1.1
+ _ZNKSt8messagesIcE7do_openERKSsRKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZNKSt8messagesIcE8do_closeEi@GLIBCXX_3.4 4.1.1
+ _ZNKSt8messagesIwE18_M_convert_to_charERKSbIwSt11char_traitsIwESaIwEE@GLIBCXX_3.4 4.1.1
+ _ZNKSt8messagesIwE20_M_convert_from_charEPc@GLIBCXX_3.4 4.1.1
+ _ZNKSt8messagesIwE3getEiiiRKSbIwSt11char_traitsIwESaIwEE@GLIBCXX_3.4 4.1.1
+ _ZNKSt8messagesIwE4openERKSsRKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZNKSt8messagesIwE4openERKSsRKSt6localePKc@GLIBCXX_3.4 4.1.1
+ _ZNKSt8messagesIwE5closeEi@GLIBCXX_3.4 4.1.1
+ _ZNKSt8messagesIwE6do_getEiiiRKSbIwSt11char_traitsIwESaIwEE@GLIBCXX_3.4 4.1.1
+ _ZNKSt8messagesIwE7do_openERKSsRKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZNKSt8messagesIwE8do_closeEi@GLIBCXX_3.4 4.1.1
+ _ZNKSt8numpunctIcE11do_groupingEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt8numpunctIcE11do_truenameEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt8numpunctIcE12do_falsenameEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt8numpunctIcE13decimal_pointEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt8numpunctIcE13thousands_sepEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt8numpunctIcE16do_decimal_pointEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt8numpunctIcE16do_thousands_sepEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt8numpunctIcE8groupingEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt8numpunctIcE8truenameEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt8numpunctIcE9falsenameEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt8numpunctIwE11do_groupingEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt8numpunctIwE11do_truenameEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt8numpunctIwE12do_falsenameEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt8numpunctIwE13decimal_pointEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt8numpunctIwE13thousands_sepEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt8numpunctIwE16do_decimal_pointEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt8numpunctIwE16do_thousands_sepEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt8numpunctIwE8groupingEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt8numpunctIwE8truenameEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt8numpunctIwE9falsenameEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10date_orderEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4 4.1.1
+ _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4 4.1.1
+ _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4 4.1.1
+ _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4 4.1.1
+ _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13do_date_orderEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4 4.1.1
+ _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4 4.1.1
+ _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4 4.1.1
+ _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKcSC_@GLIBCXX_3.4.21 5
+ _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmcc@GLIBCXX_3.4.21 5
+ _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE21_M_extract_via_formatES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKc@GLIBCXX_3.4 4.1.1
+ _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4 4.1.1
+ _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4 4.1.1
+ _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4 4.1.1
+ _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10date_orderEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4 4.1.1
+ _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4 4.1.1
+ _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4 4.1.1
+ _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4 4.1.1
+ _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13do_date_orderEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4 4.1.1
+ _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4 4.1.1
+ _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4 4.1.1
+ _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE21_M_extract_via_formatES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKw@GLIBCXX_3.4 4.1.1
+ _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKwSC_@GLIBCXX_3.4.21 5
+ _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmcc@GLIBCXX_3.4.21 5
+ _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4 4.1.1
+ _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4 4.1.1
+ _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4 4.1.1
+ _ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmPKcSB_@GLIBCXX_3.4 4.1.1
+ _ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmcc@GLIBCXX_3.4 4.1.1
+ _ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPK2tmcc@GLIBCXX_3.4 4.1.1
+ _ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmPKwSB_@GLIBCXX_3.4 4.1.1
+ _ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmcc@GLIBCXX_3.4 4.1.1
+ _ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPK2tmcc@GLIBCXX_3.4 4.1.1
+ _ZNKSt9bad_alloc4whatEv@GLIBCXX_3.4.9 4.2.1
+ _ZNKSt9basic_iosIcSt11char_traitsIcEE10exceptionsEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt9basic_iosIcSt11char_traitsIcEE3badEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt9basic_iosIcSt11char_traitsIcEE3tieEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt9basic_iosIcSt11char_traitsIcEE4failEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt9basic_iosIcSt11char_traitsIcEE5rdbufEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc@GLIBCXX_3.4 4.1.1
+ _ZNKSt9basic_iosIcSt11char_traitsIcEE6narrowEcc@GLIBCXX_3.4 4.1.1
+ _ZNKSt9basic_iosIcSt11char_traitsIcEE7rdstateEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt9basic_iosIcSt11char_traitsIcEEcvPvEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt9basic_iosIcSt11char_traitsIcEEcvbEv@GLIBCXX_3.4.21 5
+ _ZNKSt9basic_iosIcSt11char_traitsIcEEntEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt9basic_iosIwSt11char_traitsIwEE10exceptionsEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt9basic_iosIwSt11char_traitsIwEE3badEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt9basic_iosIwSt11char_traitsIwEE3eofEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt9basic_iosIwSt11char_traitsIwEE3tieEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt9basic_iosIwSt11char_traitsIwEE4failEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt9basic_iosIwSt11char_traitsIwEE4fillEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt9basic_iosIwSt11char_traitsIwEE4goodEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt9basic_iosIwSt11char_traitsIwEE5rdbufEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt9basic_iosIwSt11char_traitsIwEE5widenEc@GLIBCXX_3.4 4.1.1
+ _ZNKSt9basic_iosIwSt11char_traitsIwEE6narrowEwc@GLIBCXX_3.4 4.1.1
+ _ZNKSt9basic_iosIwSt11char_traitsIwEE7rdstateEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt9basic_iosIwSt11char_traitsIwEEcvPvEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt9basic_iosIwSt11char_traitsIwEEcvbEv@GLIBCXX_3.4.21 5
+ _ZNKSt9basic_iosIwSt11char_traitsIwEEntEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt9exception4whatEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb0EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_3.4 4.1.1
+ _ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb1EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_3.4 4.1.1
+ _ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_3.4 4.1.1
+ _ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@GLIBCXX_3.4 4.1.1
+ _ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_3.4 4.1.1
+ _ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@GLIBCXX_3.4 4.1.1
+ _ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb0EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_3.4 4.1.1
+ _ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb1EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_3.4 4.1.1
+ _ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@GLIBCXX_3.4 4.1.1
+ _ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@GLIBCXX_3.4 4.1.1
+ _ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@GLIBCXX_3.4 4.1.1
+ _ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@GLIBCXX_3.4 4.1.1
+ _ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basecRKSs@GLIBCXX_3.4 4.1.1
+ _ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basece@GLIBCXX_3.4 4.1.1
+ _ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basecRKSs@GLIBCXX_3.4 4.1.1
+ _ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basece@GLIBCXX_3.4 4.1.1
+ _ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb0EEES3_S3_RSt8ios_basecRKSs@GLIBCXX_3.4 4.1.1
+ _ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb1EEES3_S3_RSt8ios_basecRKSs@GLIBCXX_3.4 4.1.1
+ _ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@GLIBCXX_3.4 4.1.1
+ _ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewe@GLIBCXX_3.4 4.1.1
+ _ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@GLIBCXX_3.4 4.1.1
+ _ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewe@GLIBCXX_3.4 4.1.1
+ _ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb0EEES3_S3_RSt8ios_basewRKSbIwS2_SaIwEE@GLIBCXX_3.4 4.1.1
+ _ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb1EEES3_S3_RSt8ios_basewRKSbIwS2_SaIwEE@GLIBCXX_3.4 4.1.1
+ _ZNKSt9strstream5rdbufEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt9strstream6pcountEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt9type_info10__do_catchEPKS_PPvj@GLIBCXX_3.4 4.1.1
+ _ZNKSt9type_info11__do_upcastEPKN10__cxxabiv117__class_type_infoEPPv@GLIBCXX_3.4 4.1.1
+ _ZNKSt9type_info14__is_pointer_pEv@GLIBCXX_3.4 4.1.1
+ _ZNKSt9type_info15__is_function_pEv@GLIBCXX_3.4 4.1.1
+ _ZNSaIcEC1ERKS_@GLIBCXX_3.4 4.1.1
+ _ZNSaIcEC1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSaIcEC2ERKS_@GLIBCXX_3.4 4.1.1
+ _ZNSaIcEC2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSaIcED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSaIcED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSaIwEC1ERKS_@GLIBCXX_3.4 4.1.1
+ _ZNSaIwEC1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSaIwEC2ERKS_@GLIBCXX_3.4 4.1.1
+ _ZNSaIwEC2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSaIwED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSaIwED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS1_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwRKS1_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE12_M_leak_hardEv@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE12_S_constructIN9__gnu_cxx17__normal_iteratorIPwS2_EEEES6_T_S8_RKS1_St20forward_iterator_tag@GLIBCXX_3.4.14 4.5
+ _ZNSbIwSt11char_traitsIwESaIwEE12_S_constructIPKwEEPwT_S7_RKS1_St20forward_iterator_tag@GLIBCXX_3.4.14 4.5
+ _ZNSbIwSt11char_traitsIwESaIwEE12_S_constructIPwEES4_T_S5_RKS1_St20forward_iterator_tag@GLIBCXX_3.4.14 4.5
+ _ZNSbIwSt11char_traitsIwESaIwEE12_S_empty_repEv@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIPKwS2_EES8_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIS3_S2_EES6_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwPKwS5_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwS3_S3_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE13shrink_to_fitEv@GLIBCXX_3.4.14 4.5
+ _ZNSbIwSt11char_traitsIwESaIwEE3endEv@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_destroyERKS1_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_disposeERKS1_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refcopyEv@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refdataEv@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_max_sizeE@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_terminalE@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE4_Rep12_S_empty_repEv@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE4_Rep13_M_set_leakedEv@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE4_Rep15_M_set_sharableEv@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE4_Rep20_S_empty_rep_storageE@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE4_Rep7_M_grabERKS1_S5_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE4backEv@GLIBCXX_3.4.15 4.6
+ _ZNSbIwSt11char_traitsIwESaIwEE4nposE@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE4rendEv@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE4swapERS2_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE5beginEv@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE5clearEv@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EE@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE5frontEv@GLIBCXX_3.4.15 4.6
+ _ZNSbIwSt11char_traitsIwESaIwEE6appendEPKw@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6appendESt16initializer_listIwE@GLIBCXX_3.4.11 4.4.0
+ _ZNSbIwSt11char_traitsIwESaIwEE6assignEOS2_@GLIBCXX_3.4.14 4.5
+ _ZNSbIwSt11char_traitsIwESaIwEE6assignEPKw@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6assignESt16initializer_listIwE@GLIBCXX_3.4.11 4.4.0
+ _ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EESt16initializer_listIwE@GLIBCXX_3.4.11 4.4.0
+ _ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEw@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6rbeginEv@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7_M_dataEPw@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7_M_leakEv@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_NS4_IPKwS2_EES9_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKw@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwS8_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_RKS2_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S5_S5_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S6_S6_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_St16initializer_listIwE@GLIBCXX_3.4.11 4.4.0
+ _ZNSbIwSt11char_traitsIwESaIwEE8pop_backEv@GLIBCXX_3.4.17 4.7
+ _ZNSbIwSt11char_traitsIwESaIwEE9push_backEw@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEEC1EOS2_@GLIBCXX_3.4.14 4.5
+ _ZNSbIwSt11char_traitsIwESaIwEEC1EPKwRKS1_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEEC1ERKS1_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEEC1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEEC1IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEEC1IPKwEET_S6_RKS1_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEEC1IPwEET_S5_RKS1_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEEC2EOS2_@GLIBCXX_3.4.15 4.6
+ _ZNSbIwSt11char_traitsIwESaIwEEC2EPKwRKS1_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEEC2ERKS1_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEEC1ESt16initializer_listIwERKS1_@GLIBCXX_3.4.11 4.4.0
+ _ZNSbIwSt11char_traitsIwESaIwEEC2ESt16initializer_listIwERKS1_@GLIBCXX_3.4.11 4.4.0
+ _ZNSbIwSt11char_traitsIwESaIwEEC2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEEC2IPKwEET_S6_RKS1_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEEC2IPwEET_S5_RKS1_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEEaSEOS2_@GLIBCXX_3.4.14 4.5
+ _ZNSbIwSt11char_traitsIwESaIwEEaSEPKw@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEEaSERKS2_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEEaSESt16initializer_listIwE@GLIBCXX_3.4.11 4.4.0
+ _ZNSbIwSt11char_traitsIwESaIwEEaSEw@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEEpLEPKw@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEEpLERKS2_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEEpLESt16initializer_listIwE@GLIBCXX_3.4.11 4.4.0
+ _ZNSbIwSt11char_traitsIwESaIwEEpLEw@GLIBCXX_3.4 4.1.1
+ _ZNSd4swapERSd@GLIBCXX_3.4.21 5
+ _ZNSdC1EOSd@GLIBCXX_3.4.21 5
+ _ZNSdC1EPSt15basic_streambufIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1
+ _ZNSdC1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSdC2EOSd@GLIBCXX_3.4.21 5
+ _ZNSdC2EPSt15basic_streambufIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1
+ _ZNSdC2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSdD0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSdD1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSdD2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSdaSEOSd@GLIBCXX_3.4.21 5
+ _ZNSi10_M_extractIPvEERSiRT_@GLIBCXX_3.4.9 4.2.1
+ _ZNSi10_M_extractIbEERSiRT_@GLIBCXX_3.4.9 4.2.1
+ _ZNSi10_M_extractIdEERSiRT_@GLIBCXX_3.4.9 4.2.1
+ _ZNSi10_M_extractIeEERSiRT_@GLIBCXX_3.4.9 4.2.1
+ _ZNSi10_M_extractIfEERSiRT_@GLIBCXX_3.4.9 4.2.1
+ _ZNSi10_M_extractIjEERSiRT_@GLIBCXX_3.4.9 4.2.1
+ _ZNSi10_M_extractIlEERSiRT_@GLIBCXX_3.4.9 4.2.1
+ _ZNSi10_M_extractImEERSiRT_@GLIBCXX_3.4.9 4.2.1
+ _ZNSi10_M_extractItEERSiRT_@GLIBCXX_3.4.9 4.2.1
+ _ZNSi10_M_extractIxEERSiRT_@GLIBCXX_3.4.9 4.2.1
+ _ZNSi10_M_extractIyEERSiRT_@GLIBCXX_3.4.9 4.2.1
+ _ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1
+ _ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEEc@GLIBCXX_3.4 4.1.1
+ _ZNSi3getERc@GLIBCXX_3.4 4.1.1
+ _ZNSi3getEv@GLIBCXX_3.4 4.1.1
+ _ZNSi4peekEv@GLIBCXX_3.4 4.1.1
+ _ZNSi4swapERSi@GLIBCXX_3.4.21 5
+ _ZNSi4syncEv@GLIBCXX_3.4 4.1.1
+ _ZNSi5seekgESt4fposI11__mbstate_tE@GLIBCXX_3.4 4.1.1
+ _ZNSi5tellgEv@GLIBCXX_3.4 4.1.1
+ _ZNSi5ungetEv@GLIBCXX_3.4 4.1.1
+ _ZNSi6ignoreEv@GLIBCXX_3.4 4.1.1
+ _ZNSi6ignoreEv@GLIBCXX_3.4.5 4.1.1
+ _ZNSi6sentryC1ERSib@GLIBCXX_3.4 4.1.1
+ _ZNSi6sentryC2ERSib@GLIBCXX_3.4 4.1.1
+ _ZNSi7putbackEc@GLIBCXX_3.4 4.1.1
+ _ZNSiC1EOSi@GLIBCXX_3.4.21 5
+ _ZNSiC1EPSt15basic_streambufIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1
+ _ZNSiC1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSiC2EOSi@GLIBCXX_3.4.21 5
+ _ZNSiC2EPSt15basic_streambufIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1
+ _ZNSiC2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSiD0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSiD1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSiD2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSiaSEOSi@GLIBCXX_3.4.21 5
+ _ZNSirsEPFRSiS_E@GLIBCXX_3.4 4.1.1
+ _ZNSirsEPFRSt8ios_baseS0_E@GLIBCXX_3.4 4.1.1
+ _ZNSirsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@GLIBCXX_3.4 4.1.1
+ _ZNSirsEPSt15basic_streambufIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1
+ _ZNSirsERPv@GLIBCXX_3.4 4.1.1
+ _ZNSirsERb@GLIBCXX_3.4 4.1.1
+ _ZNSirsERd@GLIBCXX_3.4 4.1.1
+ _ZNSirsERe@GLIBCXX_3.4 4.1.1
+ _ZNSirsERf@GLIBCXX_3.4 4.1.1
+ _ZNSirsERi@GLIBCXX_3.4 4.1.1
+ _ZNSirsERj@GLIBCXX_3.4 4.1.1
+ _ZNSirsERl@GLIBCXX_3.4 4.1.1
+ _ZNSirsERm@GLIBCXX_3.4 4.1.1
+ _ZNSirsERs@GLIBCXX_3.4 4.1.1
+ _ZNSirsERt@GLIBCXX_3.4 4.1.1
+ _ZNSirsERx@GLIBCXX_3.4 4.1.1
+ _ZNSirsERy@GLIBCXX_3.4 4.1.1
+ _ZNSo3putEc@GLIBCXX_3.4 4.1.1
+ _ZNSo4swapERSo@GLIBCXX_3.4.21 5
+ _ZNSo5flushEv@GLIBCXX_3.4 4.1.1
+ _ZNSo5seekpESt4fposI11__mbstate_tE@GLIBCXX_3.4 4.1.1
+ _ZNSo5tellpEv@GLIBCXX_3.4 4.1.1
+ _ZNSo6sentryC1ERSo@GLIBCXX_3.4 4.1.1
+ _ZNSo6sentryC2ERSo@GLIBCXX_3.4 4.1.1
+ _ZNSo6sentryD1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSo6sentryD2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSo9_M_insertIPKvEERSoT_@GLIBCXX_3.4.9 4.2.1
+ _ZNSo9_M_insertIbEERSoT_@GLIBCXX_3.4.9 4.2.1
+ _ZNSo9_M_insertIdEERSoT_@GLIBCXX_3.4.9 4.2.1
+ _ZNSo9_M_insertIeEERSoT_@GLIBCXX_3.4.9 4.2.1
+ _ZNSo9_M_insertIlEERSoT_@GLIBCXX_3.4.9 4.2.1
+ _ZNSo9_M_insertImEERSoT_@GLIBCXX_3.4.9 4.2.1
+ _ZNSo9_M_insertIxEERSoT_@GLIBCXX_3.4.9 4.2.1
+ _ZNSo9_M_insertIyEERSoT_@GLIBCXX_3.4.9 4.2.1
+ _ZNSoC1EOSo@GLIBCXX_3.4.21 5
+ _ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1
+ _ZNSoC1ERSd@GLIBCXX_3.4.21 5
+ _ZNSoC1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSoC2EOSo@GLIBCXX_3.4.21 5
+ _ZNSoC2EPSt15basic_streambufIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1
+ _ZNSoC2ERSd@GLIBCXX_3.4.21 5
+ _ZNSoC2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSoD0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSoD1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSoD2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSoaSEOSo@GLIBCXX_3.4.21 5
+ _ZNSolsEPFRSoS_E@GLIBCXX_3.4 4.1.1
+ _ZNSolsEPFRSt8ios_baseS0_E@GLIBCXX_3.4 4.1.1
+ _ZNSolsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@GLIBCXX_3.4 4.1.1
+ _ZNSolsEPKv@GLIBCXX_3.4 4.1.1
+ _ZNSolsEPSt15basic_streambufIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1
+ _ZNSolsEb@GLIBCXX_3.4 4.1.1
+ _ZNSolsEd@GLIBCXX_3.4 4.1.1
+ _ZNSolsEe@GLIBCXX_3.4 4.1.1
+ _ZNSolsEf@GLIBCXX_3.4 4.1.1
+ _ZNSolsEi@GLIBCXX_3.4 4.1.1
+ _ZNSolsEj@GLIBCXX_3.4 4.1.1
+ _ZNSolsEl@GLIBCXX_3.4 4.1.1
+ _ZNSolsEm@GLIBCXX_3.4 4.1.1
+ _ZNSolsEs@GLIBCXX_3.4 4.1.1
+ _ZNSolsEt@GLIBCXX_3.4 4.1.1
+ _ZNSolsEx@GLIBCXX_3.4 4.1.1
+ _ZNSolsEy@GLIBCXX_3.4 4.1.1
+ _ZNSs12_Alloc_hiderC1EPcRKSaIcE@GLIBCXX_3.4 4.1.1
+ _ZNSs12_Alloc_hiderC2EPcRKSaIcE@GLIBCXX_3.4 4.1.1
+ _ZNSs12_M_leak_hardEv@GLIBCXX_3.4 4.1.1
+ _ZNSs12_S_constructIN9__gnu_cxx17__normal_iteratorIPcSsEEEES2_T_S4_RKSaIcESt20forward_iterator_tag@GLIBCXX_3.4.14 4.5
+ _ZNSs12_S_constructIPKcEEPcT_S3_RKSaIcESt20forward_iterator_tag@GLIBCXX_3.4.14 4.5
+ _ZNSs12_S_constructIPcEES0_T_S1_RKSaIcESt20forward_iterator_tag@GLIBCXX_3.4.14 4.5
+ _ZNSs12_S_empty_repEv@GLIBCXX_3.4 4.1.1
+ _ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIPKcSsEES4_@GLIBCXX_3.4 4.1.1
+ _ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIS_SsEES2_@GLIBCXX_3.4 4.1.1
+ _ZNSs13_S_copy_charsEPcPKcS1_@GLIBCXX_3.4 4.1.1
+ _ZNSs13_S_copy_charsEPcS_S_@GLIBCXX_3.4 4.1.1
+ _ZNSs13shrink_to_fitEv@GLIBCXX_3.4.14 4.5
+ _ZNSs3endEv@GLIBCXX_3.4 4.1.1
+ _ZNSs4_Rep10_M_destroyERKSaIcE@GLIBCXX_3.4 4.1.1
+ _ZNSs4_Rep10_M_disposeERKSaIcE@GLIBCXX_3.4 4.1.1
+ _ZNSs4_Rep10_M_refcopyEv@GLIBCXX_3.4 4.1.1
+ _ZNSs4_Rep10_M_refdataEv@GLIBCXX_3.4 4.1.1
+ _ZNSs4_Rep11_S_max_sizeE@GLIBCXX_3.4 4.1.1
+ _ZNSs4_Rep11_S_terminalE@GLIBCXX_3.4 4.1.1
+ _ZNSs4_Rep12_S_empty_repEv@GLIBCXX_3.4 4.1.1
+ _ZNSs4_Rep13_M_set_leakedEv@GLIBCXX_3.4 4.1.1
+ _ZNSs4_Rep15_M_set_sharableEv@GLIBCXX_3.4 4.1.1
+ _ZNSs4_Rep20_S_empty_rep_storageE@GLIBCXX_3.4 4.1.1
+ _ZNSs4_Rep7_M_grabERKSaIcES2_@GLIBCXX_3.4 4.1.1
+ _ZNSs4backEv@GLIBCXX_3.4.15 4.6
+ _ZNSs4nposE@GLIBCXX_3.4 4.1.1
+ _ZNSs4rendEv@GLIBCXX_3.4 4.1.1
+ _ZNSs4swapERSs@GLIBCXX_3.4 4.1.1
+ _ZNSs5beginEv@GLIBCXX_3.4 4.1.1
+ _ZNSs5clearEv@GLIBCXX_3.4 4.1.1
+ _ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEE@GLIBCXX_3.4 4.1.1
+ _ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEES2_@GLIBCXX_3.4 4.1.1
+ _ZNSs5frontEv@GLIBCXX_3.4.15 4.6
+ _ZNSs6appendEPKc@GLIBCXX_3.4 4.1.1
+ _ZNSs6appendERKSs@GLIBCXX_3.4 4.1.1
+ _ZNSs6appendESt16initializer_listIcE@GLIBCXX_3.4.11 4.4.0
+ _ZNSs6assignEOSs@GLIBCXX_3.4.14 4.5
+ _ZNSs6assignEPKc@GLIBCXX_3.4 4.1.1
+ _ZNSs6assignERKSs@GLIBCXX_3.4 4.1.1
+ _ZNSs6assignESt16initializer_listIcE@GLIBCXX_3.4.11 4.4.0
+ _ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEESt16initializer_listIcE@GLIBCXX_3.4.11 4.4.0
+ _ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEc@GLIBCXX_3.4 4.1.1
+ _ZNSs6rbeginEv@GLIBCXX_3.4 4.1.1
+ _ZNSs7_M_dataEPc@GLIBCXX_3.4 4.1.1
+ _ZNSs7_M_leakEv@GLIBCXX_3.4 4.1.1
+ _ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_NS0_IPKcSsEES5_@GLIBCXX_3.4 4.1.1
+ _ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKc@GLIBCXX_3.4 4.1.1
+ _ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcS4_@GLIBCXX_3.4 4.1.1
+ _ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_RKSs@GLIBCXX_3.4 4.1.1
+ _ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S1_S1_@GLIBCXX_3.4 4.1.1
+ _ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S2_S2_@GLIBCXX_3.4 4.1.1
+ _ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_St16initializer_listIcE@GLIBCXX_3.4.11 4.4.0
+ _ZNSs8pop_backEv@GLIBCXX_3.4.17 4.7
+ _ZNSs9push_backEc@GLIBCXX_3.4 4.1.1
+ _ZNSsC1EOSs@GLIBCXX_3.4.14 4.5
+ _ZNSsC1EPKcRKSaIcE@GLIBCXX_3.4 4.1.1
+ _ZNSsC1ERKSaIcE@GLIBCXX_3.4 4.1.1
+ _ZNSsC1ERKSs@GLIBCXX_3.4 4.1.1
+ _ZNSsC1ESt16initializer_listIcERKSaIcE@GLIBCXX_3.4.11 4.4.0
+ _ZNSsC1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSsC1IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@GLIBCXX_3.4 4.1.1
+ _ZNSsC1IPKcEET_S2_RKSaIcE@GLIBCXX_3.4 4.1.1
+ _ZNSsC1IPcEET_S1_RKSaIcE@GLIBCXX_3.4 4.1.1
+ _ZNSsC2EOSs@GLIBCXX_3.4.15 4.6
+ _ZNSsC2EPKcRKSaIcE@GLIBCXX_3.4 4.1.1
+ _ZNSsC2ERKSaIcE@GLIBCXX_3.4 4.1.1
+ _ZNSsC2ERKSs@GLIBCXX_3.4 4.1.1
+ _ZNSsC2ESt16initializer_listIcERKSaIcE@GLIBCXX_3.4.11 4.4.0
+ _ZNSsC2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSsC2IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@GLIBCXX_3.4 4.1.1
+ _ZNSsC2IPKcEET_S2_RKSaIcE@GLIBCXX_3.4 4.1.1
+ _ZNSsC2IPcEET_S1_RKSaIcE@GLIBCXX_3.4 4.1.1
+ _ZNSsD1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSsD2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSsaSEOSs@GLIBCXX_3.4.14 4.5
+ _ZNSsaSEPKc@GLIBCXX_3.4 4.1.1
+ _ZNSsaSERKSs@GLIBCXX_3.4 4.1.1
+ _ZNSsaSESt16initializer_listIcE@GLIBCXX_3.4.11 4.4.0
+ _ZNSsaSEc@GLIBCXX_3.4 4.1.1
+ _ZNSspLEPKc@GLIBCXX_3.4 4.1.1
+ _ZNSspLERKSs@GLIBCXX_3.4 4.1.1
+ _ZNSspLESt16initializer_listIcE@GLIBCXX_3.4.11 4.4.0
+ _ZNSspLEc@GLIBCXX_3.4 4.1.1
+ _ZNSt10_Sp_lockerC1EPKv@GLIBCXX_3.4.21 5
+ _ZNSt10_Sp_lockerC1EPKvS1_@GLIBCXX_3.4.21 5
+ _ZNSt10_Sp_lockerC2EPKv@GLIBCXX_3.4.21 5
+ _ZNSt10_Sp_lockerC2EPKvS1_@GLIBCXX_3.4.21 5
+ _ZNSt10_Sp_lockerD1Ev@GLIBCXX_3.4.21 5
+ _ZNSt10_Sp_lockerD2Ev@GLIBCXX_3.4.21 5
+ _ZNSt10__num_base11_S_atoms_inE@GLIBCXX_3.4 4.1.1
+ _ZNSt10__num_base12_S_atoms_outE@GLIBCXX_3.4 4.1.1
+ _ZNSt10__num_base15_S_format_floatERKSt8ios_basePcc@GLIBCXX_3.4 4.1.1
+ _ZNSt10bad_typeidD0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt10bad_typeidD1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt10bad_typeidD2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt10ctype_base5alnumE@GLIBCXX_3.4 4.1.1
+ _ZNSt10ctype_base5alphaE@GLIBCXX_3.4 4.1.1
+ _ZNSt10ctype_base5blankE@GLIBCXX_3.4.21 5
+ _ZNSt10ctype_base5cntrlE@GLIBCXX_3.4 4.1.1
+ _ZNSt10ctype_base5digitE@GLIBCXX_3.4 4.1.1
+ _ZNSt10ctype_base5graphE@GLIBCXX_3.4 4.1.1
+ _ZNSt10ctype_base5lowerE@GLIBCXX_3.4 4.1.1
+ _ZNSt10ctype_base5printE@GLIBCXX_3.4 4.1.1
+ _ZNSt10ctype_base5punctE@GLIBCXX_3.4 4.1.1
+ _ZNSt10ctype_base5spaceE@GLIBCXX_3.4 4.1.1
+ _ZNSt10ctype_base5upperE@GLIBCXX_3.4 4.1.1
+ _ZNSt10ctype_base6xdigitE@GLIBCXX_3.4 4.1.1
+ _ZNSt10istrstream3strEv@GLIBCXX_3.4 4.1.1
+ _ZNSt10istrstreamC1EPKc@GLIBCXX_3.4 4.1.1
+ _ZNSt10istrstreamC1EPc@GLIBCXX_3.4 4.1.1
+ _ZNSt10istrstreamC2EPKc@GLIBCXX_3.4 4.1.1
+ _ZNSt10istrstreamC2EPc@GLIBCXX_3.4 4.1.1
+ _ZNSt10istrstreamD0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt10istrstreamD1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt10istrstreamD2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt10money_base18_S_default_patternE@GLIBCXX_3.4 4.1.1
+ _ZNSt10money_base20_S_construct_patternEccc@GLIBCXX_3.4 4.1.1
+ _ZNSt10money_base8_S_atomsE@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb0EE24_M_initialize_moneypunctEP15__locale_structPKc@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb0EE2idE@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb0EE4intlE@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb0EED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb0EED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb0EED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb1EE24_M_initialize_moneypunctEP15__locale_structPKc@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb1EE2idE@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb1EE4intlE@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb1EED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb1EED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb1EED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb0EE24_M_initialize_moneypunctEP15__locale_structPKc@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb0EE2idE@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb0EE4intlE@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb0EED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb0EED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb0EED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb1EE24_M_initialize_moneypunctEP15__locale_structPKc@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb1EE2idE@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb1EE4intlE@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb1EED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb1EED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb1EED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt10ostrstream3strEv@GLIBCXX_3.4 4.1.1
+ _ZNSt10ostrstream6freezeEb@GLIBCXX_3.4 4.1.1
+ _ZNSt10ostrstreamC1EPciSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt10ostrstreamC1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt10ostrstreamC2EPciSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt10ostrstreamC2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt10ostrstreamD0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt10ostrstreamD1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt10ostrstreamD2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt11__timepunctIcE23_M_initialize_timepunctEP15__locale_struct@GLIBCXX_3.4 4.1.1
+ _ZNSt11__timepunctIcE2idE@GLIBCXX_3.4 4.1.1
+ _ZNSt11__timepunctIcED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt11__timepunctIcED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt11__timepunctIcED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt11__timepunctIwE23_M_initialize_timepunctEP15__locale_struct@GLIBCXX_3.4 4.1.1
+ _ZNSt11__timepunctIwE2idE@GLIBCXX_3.4 4.1.1
+ _ZNSt11__timepunctIwED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt11__timepunctIwED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt11__timepunctIwED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt11char_traitsIcE2eqERKcS2_@GLIBCXX_3.4 4.1.1
+ _ZNSt11char_traitsIcE2eqERKcS2_@GLIBCXX_3.4.5 4.1.1
+ _ZNSt11char_traitsIwE2eqERKwS2_@GLIBCXX_3.4 4.1.1
+ _ZNSt11char_traitsIwE2eqERKwS2_@GLIBCXX_3.4.5 4.1.1
+ _ZNSt11logic_errorC1EPKc@GLIBCXX_3.4.21 5
+ _ZNSt11logic_errorC1ERKS_@GLIBCXX_3.4.21 5
+ _ZNSt11logic_errorC1ERKSs@GLIBCXX_3.4 4.1.1
+ _ZNSt11logic_errorC2EPKc@GLIBCXX_3.4.21 5
+ _ZNSt11logic_errorC2ERKS_@GLIBCXX_3.4.21 5
+ _ZNSt11logic_errorC2ERKSs@GLIBCXX_3.4 4.1.1
+ _ZNSt11logic_errorD0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt11logic_errorD1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt11logic_errorD2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt11logic_erroraSERKS_@GLIBCXX_3.4.21 5
+ _ZNSt11range_errorC1EPKc@GLIBCXX_3.4.21 5
+ _ZNSt11range_errorC1ERKSs@GLIBCXX_3.4 4.1.1
+ _ZNSt11range_errorC2EPKc@GLIBCXX_3.4.21 5
+ _ZNSt11range_errorC2ERKSs@GLIBCXX_3.4 4.1.1
+ _ZNSt11range_errorD0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt11range_errorD1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt11range_errorD2Ev@GLIBCXX_3.4.15 4.6
+ _ZNSt11regex_errorC1ENSt15regex_constants10error_typeE@GLIBCXX_3.4.20 4.9
+ _ZNSt11regex_errorC2ENSt15regex_constants10error_typeE@GLIBCXX_3.4.21 5
+ _ZNSt11regex_errorD0Ev@GLIBCXX_3.4.15 4.6
+ _ZNSt11regex_errorD1Ev@GLIBCXX_3.4.15 4.6
+ _ZNSt11regex_errorD2Ev@GLIBCXX_3.4.15 4.6
+ _ZNSt12__basic_fileIcE2fdEv@GLIBCXX_3.4 4.1.1
+ _ZNSt12__basic_fileIcE4fileEv@GLIBCXX_3.4.1 4.1.1
+ _ZNSt12__basic_fileIcE4openEPKcSt13_Ios_Openmodei@GLIBCXX_3.4 4.1.1
+ _ZNSt12__basic_fileIcE4syncEv@GLIBCXX_3.4 4.1.1
+ _ZNSt12__basic_fileIcE5closeEv@GLIBCXX_3.4 4.1.1
+ _ZNSt12__basic_fileIcE8sys_openEP8_IO_FILESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt12__basic_fileIcE8sys_openEiSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt12__basic_fileIcE9showmanycEv@GLIBCXX_3.4 4.1.1
+ _ZNSt12__basic_fileIcED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt12__basic_fileIcED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt12bad_weak_ptrD0Ev@GLIBCXX_3.4.15 4.6
+ _ZNSt12bad_weak_ptrD1Ev@GLIBCXX_3.4.15 4.6
+ _ZNSt12bad_weak_ptrD2Ev@GLIBCXX_3.4.15 4.6
+ _ZNSt12ctype_bynameIcED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt12ctype_bynameIcED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt12ctype_bynameIcED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt12ctype_bynameIwED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt12ctype_bynameIwED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt12ctype_bynameIwED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt12domain_errorC1EPKc@GLIBCXX_3.4.21 5
+ _ZNSt12domain_errorC1ERKSs@GLIBCXX_3.4 4.1.1
+ _ZNSt12domain_errorC2EPKc@GLIBCXX_3.4.21 5
+ _ZNSt12domain_errorC2ERKSs@GLIBCXX_3.4 4.1.1
+ _ZNSt12domain_errorD0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt12domain_errorD1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt12domain_errorD2Ev@GLIBCXX_3.4.15 4.6
+ _ZNSt12future_errorD0Ev@GLIBCXX_3.4.14 4.5
+ _ZNSt12future_errorD1Ev@GLIBCXX_3.4.14 4.5
+ _ZNSt12future_errorD2Ev@GLIBCXX_3.4.14 4.5
+ _ZNSt12length_errorC1EPKc@GLIBCXX_3.4.21 5
+ _ZNSt12length_errorC1ERKSs@GLIBCXX_3.4 4.1.1
+ _ZNSt12length_errorC2EPKc@GLIBCXX_3.4.21 5
+ _ZNSt12length_errorC2ERKSs@GLIBCXX_3.4 4.1.1
+ _ZNSt12length_errorD0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt12length_errorD1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt12length_errorD2Ev@GLIBCXX_3.4.15 4.6
+ _ZNSt12out_of_rangeC1EPKc@GLIBCXX_3.4.21 5
+ _ZNSt12out_of_rangeC1ERKSs@GLIBCXX_3.4 4.1.1
+ _ZNSt12out_of_rangeC2EPKc@GLIBCXX_3.4.21 5
+ _ZNSt12out_of_rangeC2ERKSs@GLIBCXX_3.4 4.1.1
+ _ZNSt12out_of_rangeD0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt12out_of_rangeD1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt12out_of_rangeD2Ev@GLIBCXX_3.4.15 4.6
+ _ZNSt12placeholders2_1E@GLIBCXX_3.4.15 4.6
+ _ZNSt12placeholders2_2E@GLIBCXX_3.4.15 4.6
+ _ZNSt12placeholders2_3E@GLIBCXX_3.4.15 4.6
+ _ZNSt12placeholders2_4E@GLIBCXX_3.4.15 4.6
+ _ZNSt12placeholders2_5E@GLIBCXX_3.4.15 4.6
+ _ZNSt12placeholders2_6E@GLIBCXX_3.4.15 4.6
+ _ZNSt12placeholders2_7E@GLIBCXX_3.4.15 4.6
+ _ZNSt12placeholders2_8E@GLIBCXX_3.4.15 4.6
+ _ZNSt12placeholders2_9E@GLIBCXX_3.4.15 4.6
+ _ZNSt12placeholders3_10E@GLIBCXX_3.4.15 4.6
+ _ZNSt12placeholders3_11E@GLIBCXX_3.4.15 4.6
+ _ZNSt12placeholders3_12E@GLIBCXX_3.4.15 4.6
+ _ZNSt12placeholders3_13E@GLIBCXX_3.4.15 4.6
+ _ZNSt12placeholders3_14E@GLIBCXX_3.4.15 4.6
+ _ZNSt12placeholders3_15E@GLIBCXX_3.4.15 4.6
+ _ZNSt12placeholders3_16E@GLIBCXX_3.4.15 4.6
+ _ZNSt12placeholders3_17E@GLIBCXX_3.4.15 4.6
+ _ZNSt12placeholders3_18E@GLIBCXX_3.4.15 4.6
+ _ZNSt12placeholders3_19E@GLIBCXX_3.4.15 4.6
+ _ZNSt12placeholders3_20E@GLIBCXX_3.4.15 4.6
+ _ZNSt12placeholders3_21E@GLIBCXX_3.4.15 4.6
+ _ZNSt12placeholders3_22E@GLIBCXX_3.4.15 4.6
+ _ZNSt12placeholders3_23E@GLIBCXX_3.4.15 4.6
+ _ZNSt12placeholders3_24E@GLIBCXX_3.4.15 4.6
+ _ZNSt12placeholders3_25E@GLIBCXX_3.4.15 4.6
+ _ZNSt12placeholders3_26E@GLIBCXX_3.4.15 4.6
+ _ZNSt12placeholders3_27E@GLIBCXX_3.4.15 4.6
+ _ZNSt12placeholders3_28E@GLIBCXX_3.4.15 4.6
+ _ZNSt12placeholders3_29E@GLIBCXX_3.4.15 4.6
+ _ZNSt12strstreambuf3strEv@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambuf6freezeEb@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambuf7_M_freeEPc@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambuf7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambuf8overflowEi@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambuf9pbackfailEi@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambuf9underflowEv@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufD0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufD1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufD2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt12system_errorD0Ev@GLIBCXX_3.4.11 4.4.0
+ _ZNSt12system_errorD1Ev@GLIBCXX_3.4.11 4.4.0
+ _ZNSt12system_errorD2Ev@GLIBCXX_3.4.11 4.4.0
+ _ZNSt13bad_exceptionD0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt13bad_exceptionD1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt13bad_exceptionD2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIcSt11char_traitsIcEE14_M_get_ext_posER11__mbstate_t@GLIBCXX_3.4.15 4.6
+ _ZNSt13basic_filebufIcSt11char_traitsIcEE15_M_create_pbackEv@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIcSt11char_traitsIcEE16_M_destroy_pbackEv@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIcSt11char_traitsIcEE19_M_terminate_outputEv@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIcSt11char_traitsIcEE26_M_destroy_internal_bufferEv@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIcSt11char_traitsIcEE27_M_allocate_internal_bufferEv@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIcSt11char_traitsIcEE4openERKSsSt13_Ios_Openmode@GLIBCXX_3.4.13 4.4.2
+ _ZNSt13basic_filebufIcSt11char_traitsIcEE4swapERS2_@GLIBCXX_3.4.21 5
+ _ZNSt13basic_filebufIcSt11char_traitsIcEE4syncEv@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIcSt11char_traitsIcEE5closeEv@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIcSt11char_traitsIcEE5imbueERKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIcSt11char_traitsIcEE8overflowEi@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIcSt11char_traitsIcEE9pbackfailEi@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIcSt11char_traitsIcEE9showmanycEv@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIcSt11char_traitsIcEE9underflowEv@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIcSt11char_traitsIcEEC1EOS2_@GLIBCXX_3.4.21 5
+ _ZNSt13basic_filebufIcSt11char_traitsIcEEC1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIcSt11char_traitsIcEEC2EOS2_@GLIBCXX_3.4.21 5
+ _ZNSt13basic_filebufIcSt11char_traitsIcEEC2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIcSt11char_traitsIcEED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIcSt11char_traitsIcEEaSEOS2_@GLIBCXX_3.4.21 5
+ _ZNSt13basic_filebufIwSt11char_traitsIwEE14_M_get_ext_posER11__mbstate_t@GLIBCXX_3.4.15 4.6
+ _ZNSt13basic_filebufIwSt11char_traitsIwEE15_M_create_pbackEv@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIwSt11char_traitsIwEE16_M_destroy_pbackEv@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIwSt11char_traitsIwEE19_M_terminate_outputEv@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIwSt11char_traitsIwEE26_M_destroy_internal_bufferEv@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIwSt11char_traitsIwEE27_M_allocate_internal_bufferEv@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIwSt11char_traitsIwEE4openERKSsSt13_Ios_Openmode@GLIBCXX_3.4.13 4.4.2
+ _ZNSt13basic_filebufIwSt11char_traitsIwEE4swapERS2_@GLIBCXX_3.4.21 5
+ _ZNSt13basic_filebufIwSt11char_traitsIwEE4syncEv@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIwSt11char_traitsIwEE5closeEv@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIwSt11char_traitsIwEE5imbueERKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIwSt11char_traitsIwEE8overflowEj@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIwSt11char_traitsIwEE9pbackfailEj@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIwSt11char_traitsIwEE9showmanycEv@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIwSt11char_traitsIwEE9underflowEv@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIwSt11char_traitsIwEEC1EOS2_@GLIBCXX_3.4.21 5
+ _ZNSt13basic_filebufIwSt11char_traitsIwEEC1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIwSt11char_traitsIwEEC2EOS2_@GLIBCXX_3.4.21 5
+ _ZNSt13basic_filebufIwSt11char_traitsIwEEC2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIwSt11char_traitsIwEED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIwSt11char_traitsIwEEaSEOS2_@GLIBCXX_3.4.21 5
+ _ZNSt13basic_fstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_fstreamIcSt11char_traitsIcEE4openERKSsSt13_Ios_Openmode@GLIBCXX_3.4.13 4.4.2
+ _ZNSt13basic_fstreamIcSt11char_traitsIcEE4swapERS2_@GLIBCXX_3.4.21 5
+ _ZNSt13basic_fstreamIcSt11char_traitsIcEE5closeEv@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_fstreamIcSt11char_traitsIcEEC1EOS2_@GLIBCXX_3.4.21 5
+ _ZNSt13basic_fstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_fstreamIcSt11char_traitsIcEEC1ERKSsSt13_Ios_Openmode@GLIBCXX_3.4.13 4.4.2
+ _ZNSt13basic_fstreamIcSt11char_traitsIcEEC1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_fstreamIcSt11char_traitsIcEEC2EOS2_@GLIBCXX_3.4.21 5
+ _ZNSt13basic_fstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_fstreamIcSt11char_traitsIcEEC2ERKSsSt13_Ios_Openmode@GLIBCXX_3.4.13 4.4.2
+ _ZNSt13basic_fstreamIcSt11char_traitsIcEEC2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_fstreamIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_fstreamIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_fstreamIcSt11char_traitsIcEED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_fstreamIcSt11char_traitsIcEEaSEOS2_@GLIBCXX_3.4.21 5
+ _ZNSt13basic_fstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_fstreamIwSt11char_traitsIwEE4openERKSsSt13_Ios_Openmode@GLIBCXX_3.4.13 4.4.2
+ _ZNSt13basic_fstreamIwSt11char_traitsIwEE4swapERS2_@GLIBCXX_3.4.21 5
+ _ZNSt13basic_fstreamIwSt11char_traitsIwEE5closeEv@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_fstreamIwSt11char_traitsIwEEC1EOS2_@GLIBCXX_3.4.21 5
+ _ZNSt13basic_fstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_fstreamIwSt11char_traitsIwEEC1ERKSsSt13_Ios_Openmode@GLIBCXX_3.4.13 4.4.2
+ _ZNSt13basic_fstreamIwSt11char_traitsIwEEC1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_fstreamIwSt11char_traitsIwEEC2EOS2_@GLIBCXX_3.4.21 5
+ _ZNSt13basic_fstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_fstreamIwSt11char_traitsIwEEC2ERKSsSt13_Ios_Openmode@GLIBCXX_3.4.13 4.4.2
+ _ZNSt13basic_fstreamIwSt11char_traitsIwEEC2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_fstreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_fstreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_fstreamIwSt11char_traitsIwEED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_fstreamIwSt11char_traitsIwEEaSEOS2_@GLIBCXX_3.4.21 5
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIPvEERS2_RT_@GLIBCXX_3.4.9 4.2.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIbEERS2_RT_@GLIBCXX_3.4.9 4.2.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIdEERS2_RT_@GLIBCXX_3.4.9 4.2.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIeEERS2_RT_@GLIBCXX_3.4.9 4.2.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIfEERS2_RT_@GLIBCXX_3.4.9 4.2.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIjEERS2_RT_@GLIBCXX_3.4.9 4.2.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIlEERS2_RT_@GLIBCXX_3.4.9 4.2.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractImEERS2_RT_@GLIBCXX_3.4.9 4.2.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractItEERS2_RT_@GLIBCXX_3.4.9 4.2.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIxEERS2_RT_@GLIBCXX_3.4.9 4.2.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIyEERS2_RT_@GLIBCXX_3.4.9 4.2.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_E@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_Ew@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE3getERw@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE3getEv@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE4peekEv@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE4swapERS2_@GLIBCXX_3.4.21 5
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE4syncEv@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgESt4fposI11__mbstate_tE@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE5tellgEv@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE5ungetEv@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv@GLIBCXX_3.4.5 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC1ERS2_b@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC2ERS2_b@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE7putbackEw@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEEC1EOS2_@GLIBCXX_3.4.21 5
+ _ZNSt13basic_istreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEEC1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEEC2EOS2_@GLIBCXX_3.4.21 5
+ _ZNSt13basic_istreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEEC2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEEaSEOS2_@GLIBCXX_3.4.21 5
+ _ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRS2_S3_E@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt8ios_baseS4_E@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt9basic_iosIwS1_ES5_E@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEErsEPSt15basic_streambufIwS1_E@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEErsERPv@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEErsERb@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEErsERd@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEErsERe@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEErsERf@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEErsERi@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEErsERj@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEErsERl@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEErsERm@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEErsERs@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEErsERt@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEErsERx@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEErsERy@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEE3putEw@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEE4swapERS2_@GLIBCXX_3.4.21 5
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEE5flushEv@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpESt4fposI11__mbstate_tE@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEE5tellpEv@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC1ERS2_@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC2ERS2_@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIPKvEERS2_T_@GLIBCXX_3.4.9 4.2.1
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIbEERS2_T_@GLIBCXX_3.4.9 4.2.1
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIdEERS2_T_@GLIBCXX_3.4.9 4.2.1
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIeEERS2_T_@GLIBCXX_3.4.9 4.2.1
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIlEERS2_T_@GLIBCXX_3.4.9 4.2.1
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertImEERS2_T_@GLIBCXX_3.4.9 4.2.1
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIxEERS2_T_@GLIBCXX_3.4.9 4.2.1
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIyEERS2_T_@GLIBCXX_3.4.9 4.2.1
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEEC1EOS2_@GLIBCXX_3.4.21 5
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEEC1ERSt14basic_iostreamIwS1_E@GLIBCXX_3.4.21 5
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEEC1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEEC2EOS2_@GLIBCXX_3.4.21 5
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEEC2ERSt14basic_iostreamIwS1_E@GLIBCXX_3.4.21 5
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEEC2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEEaSEOS2_@GLIBCXX_3.4.21 5
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRS2_S3_E@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt8ios_baseS4_E@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt9basic_iosIwS1_ES5_E@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPKv@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPSt15basic_streambufIwS1_E@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEElsEb@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEElsEd@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEElsEe@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEElsEf@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEElsEi@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEElsEj@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEElsEl@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEElsEm@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEElsEs@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEElsEt@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEElsEx@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEElsEy@GLIBCXX_3.4 4.1.1
+ _ZNSt13random_device14_M_init_pretr1ERKSs@GLIBCXX_3.4.18 4.8
+ _ZNSt13random_device16_M_getval_pretr1Ev@GLIBCXX_3.4.18 4.8
+ _ZNSt13random_device7_M_finiEv@GLIBCXX_3.4.18 4.8
+ _ZNSt13random_device7_M_initERKSs@GLIBCXX_3.4.18 4.8
+ _ZNSt13random_device9_M_getvalEv@GLIBCXX_3.4.18 4.8
+ _ZNSt13runtime_errorC1ERKSs@GLIBCXX_3.4 4.1.1
+ _ZNSt13runtime_errorC2ERKSs@GLIBCXX_3.4 4.1.1
+ _ZNSt13runtime_errorD0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt13runtime_errorD1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt13runtime_errorD2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openERKSsSt13_Ios_Openmode@GLIBCXX_3.4.13 4.4.2
+ _ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv@GLIBCXX_3.4 4.1.1
+ _ZNSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4 4.1.1
+ _ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1ERKSsSt13_Ios_Openmode@GLIBCXX_3.4.13 4.4.2
+ _ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2ERKSsSt13_Ios_Openmode@GLIBCXX_3.4.13 4.4.2
+ _ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt14basic_ifstreamIcSt11char_traitsIcEED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt14basic_ifstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt14basic_ifstreamIwSt11char_traitsIwEE4openERKSsSt13_Ios_Openmode@GLIBCXX_3.4.13 4.4.2
+ _ZNSt14basic_ifstreamIwSt11char_traitsIwEE5closeEv@GLIBCXX_3.4 4.1.1
+ _ZNSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4 4.1.1
+ _ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1ERKSsSt13_Ios_Openmode@GLIBCXX_3.4.13 4.4.2
+ _ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2ERKSsSt13_Ios_Openmode@GLIBCXX_3.4.13 4.4.2
+ _ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt14basic_ifstreamIwSt11char_traitsIwEED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt14basic_iostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@GLIBCXX_3.4 4.1.1
+ _ZNSt14basic_iostreamIwSt11char_traitsIwEEC1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt14basic_iostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@GLIBCXX_3.4 4.1.1
+ _ZNSt14basic_iostreamIwSt11char_traitsIwEEC2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt14basic_iostreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt14basic_iostreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt14basic_iostreamIwSt11char_traitsIwEED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openERKSsSt13_Ios_Openmode@GLIBCXX_3.4.13 4.4.2
+ _ZNSt14basic_ofstreamIcSt11char_traitsIcEE5closeEv@GLIBCXX_3.4 4.1.1
+ _ZNSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4 4.1.1
+ _ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1ERKSsSt13_Ios_Openmode@GLIBCXX_3.4.13 4.4.2
+ _ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2ERKSsSt13_Ios_Openmode@GLIBCXX_3.4.13 4.4.2
+ _ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt14basic_ofstreamIcSt11char_traitsIcEED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt14basic_ofstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt14basic_ofstreamIwSt11char_traitsIwEE4openERKSsSt13_Ios_Openmode@GLIBCXX_3.4.13 4.4.2
+ _ZNSt14basic_ofstreamIwSt11char_traitsIwEE5closeEv@GLIBCXX_3.4 4.1.1
+ _ZNSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4 4.1.1
+ _ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1ERKSsSt13_Ios_Openmode@GLIBCXX_3.4.13 4.4.2
+ _ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2ERKSsSt13_Ios_Openmode@GLIBCXX_3.4.13 4.4.2
+ _ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt14basic_ofstreamIwSt11char_traitsIwEED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt14codecvt_bynameIcc11__mbstate_tED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt14codecvt_bynameIcc11__mbstate_tED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt14codecvt_bynameIcc11__mbstate_tED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt14codecvt_bynameIwc11__mbstate_tED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt14codecvt_bynameIwc11__mbstate_tED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt14codecvt_bynameIwc11__mbstate_tED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt14collate_bynameIcED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt14collate_bynameIcED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt14collate_bynameIcED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt14collate_bynameIwED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt14collate_bynameIwED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt14collate_bynameIwED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt14error_categoryC1Ev@GLIBCXX_3.4.15 4.6
+ _ZNSt14error_categoryC2Ev@GLIBCXX_3.4.15 4.6
+ _ZNSt14error_categoryD0Ev@GLIBCXX_3.4.15 4.6
+ _ZNSt14error_categoryD1Ev@GLIBCXX_3.4.15 4.6
+ _ZNSt14error_categoryD2Ev@GLIBCXX_3.4.15 4.6
+ _ZNSt14numeric_limitsIDiE10has_denormE@GLIBCXX_3.4.11 4.4.0
+ _ZNSt14numeric_limitsIDiE10is_boundedE@GLIBCXX_3.4.11 4.4.0
+ _ZNSt14numeric_limitsIDiE10is_integerE@GLIBCXX_3.4.11 4.4.0
+ _ZNSt14numeric_limitsIDiE11round_styleE@GLIBCXX_3.4.11 4.4.0
+ _ZNSt14numeric_limitsIDiE12has_infinityE@GLIBCXX_3.4.11 4.4.0
+ _ZNSt14numeric_limitsIDiE12max_digits10E@GLIBCXX_3.4.14 4.5.0
+ _ZNSt14numeric_limitsIDiE12max_exponentE@GLIBCXX_3.4.11 4.4.0
+ _ZNSt14numeric_limitsIDiE12min_exponentE@GLIBCXX_3.4.11 4.4.0
+ _ZNSt14numeric_limitsIDiE13has_quiet_NaNE@GLIBCXX_3.4.11 4.4.0
+ _ZNSt14numeric_limitsIDiE14is_specializedE@GLIBCXX_3.4.11 4.4.0
+ _ZNSt14numeric_limitsIDiE14max_exponent10E@GLIBCXX_3.4.11 4.4.0
+ _ZNSt14numeric_limitsIDiE14min_exponent10E@GLIBCXX_3.4.11 4.4.0
+ _ZNSt14numeric_limitsIDiE15has_denorm_lossE@GLIBCXX_3.4.11 4.4.0
+ _ZNSt14numeric_limitsIDiE15tinyness_beforeE@GLIBCXX_3.4.11 4.4.0
+ _ZNSt14numeric_limitsIDiE17has_signaling_NaNE@GLIBCXX_3.4.11 4.4.0
+ _ZNSt14numeric_limitsIDiE5radixE@GLIBCXX_3.4.11 4.4.0
+ _ZNSt14numeric_limitsIDiE5trapsE@GLIBCXX_3.4.11 4.4.0
+ _ZNSt14numeric_limitsIDiE6digitsE@GLIBCXX_3.4.11 4.4.0
+ _ZNSt14numeric_limitsIDiE8digits10E@GLIBCXX_3.4.11 4.4.0
+ _ZNSt14numeric_limitsIDiE8is_exactE@GLIBCXX_3.4.11 4.4.0
+ _ZNSt14numeric_limitsIDiE9is_iec559E@GLIBCXX_3.4.11 4.4.0
+ _ZNSt14numeric_limitsIDiE9is_moduloE@GLIBCXX_3.4.11 4.4.0
+ _ZNSt14numeric_limitsIDiE9is_signedE@GLIBCXX_3.4.11 4.4.0
+ _ZNSt14numeric_limitsIDsE10has_denormE@GLIBCXX_3.4.11 4.4.0
+ _ZNSt14numeric_limitsIDsE10is_boundedE@GLIBCXX_3.4.11 4.4.0
+ _ZNSt14numeric_limitsIDsE10is_integerE@GLIBCXX_3.4.11 4.4.0
+ _ZNSt14numeric_limitsIDsE11round_styleE@GLIBCXX_3.4.11 4.4.0
+ _ZNSt14numeric_limitsIDsE12has_infinityE@GLIBCXX_3.4.11 4.4.0
+ _ZNSt14numeric_limitsIDsE12max_digits10E@GLIBCXX_3.4.14 4.5.0
+ _ZNSt14numeric_limitsIDsE12max_exponentE@GLIBCXX_3.4.11 4.4.0
+ _ZNSt14numeric_limitsIDsE12min_exponentE@GLIBCXX_3.4.11 4.4.0
+ _ZNSt14numeric_limitsIDsE13has_quiet_NaNE@GLIBCXX_3.4.11 4.4.0
+ _ZNSt14numeric_limitsIDsE14is_specializedE@GLIBCXX_3.4.11 4.4.0
+ _ZNSt14numeric_limitsIDsE14max_exponent10E@GLIBCXX_3.4.11 4.4.0
+ _ZNSt14numeric_limitsIDsE14min_exponent10E@GLIBCXX_3.4.11 4.4.0
+ _ZNSt14numeric_limitsIDsE15has_denorm_lossE@GLIBCXX_3.4.11 4.4.0
+ _ZNSt14numeric_limitsIDsE15tinyness_beforeE@GLIBCXX_3.4.11 4.4.0
+ _ZNSt14numeric_limitsIDsE17has_signaling_NaNE@GLIBCXX_3.4.11 4.4.0
+ _ZNSt14numeric_limitsIDsE5radixE@GLIBCXX_3.4.11 4.4.0
+ _ZNSt14numeric_limitsIDsE5trapsE@GLIBCXX_3.4.11 4.4.0
+ _ZNSt14numeric_limitsIDsE6digitsE@GLIBCXX_3.4.11 4.4.0
+ _ZNSt14numeric_limitsIDsE8digits10E@GLIBCXX_3.4.11 4.4.0
+ _ZNSt14numeric_limitsIDsE8is_exactE@GLIBCXX_3.4.11 4.4.0
+ _ZNSt14numeric_limitsIDsE9is_iec559E@GLIBCXX_3.4.11 4.4.0
+ _ZNSt14numeric_limitsIDsE9is_moduloE@GLIBCXX_3.4.11 4.4.0
+ _ZNSt14numeric_limitsIDsE9is_signedE@GLIBCXX_3.4.11 4.4.0
+ _ZNSt14numeric_limitsIaE10has_denormE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIaE10is_boundedE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIaE10is_integerE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIaE11round_styleE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIaE12has_infinityE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIaE12max_digits10E@GLIBCXX_3.4.14 4.5.0
+ _ZNSt14numeric_limitsIaE12max_exponentE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIaE12min_exponentE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIaE13has_quiet_NaNE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIaE14is_specializedE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIaE14max_exponent10E@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIaE14min_exponent10E@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIaE15has_denorm_lossE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIaE15tinyness_beforeE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIaE17has_signaling_NaNE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIaE5radixE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIaE5trapsE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIaE6digitsE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIaE8digits10E@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIaE8is_exactE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIaE9is_iec559E@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIaE9is_moduloE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIaE9is_signedE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIbE10has_denormE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIbE10is_boundedE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIbE10is_integerE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIbE11round_styleE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIbE12has_infinityE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIbE12max_digits10E@GLIBCXX_3.4.14 4.5.0
+ _ZNSt14numeric_limitsIbE12max_exponentE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIbE12min_exponentE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIbE13has_quiet_NaNE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIbE14is_specializedE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIbE14max_exponent10E@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIbE14min_exponent10E@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIbE15has_denorm_lossE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIbE15tinyness_beforeE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIbE17has_signaling_NaNE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIbE5radixE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIbE5trapsE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIbE6digitsE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIbE8digits10E@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIbE8is_exactE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIbE9is_iec559E@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIbE9is_moduloE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIbE9is_signedE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIcE10has_denormE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIcE10is_boundedE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIcE10is_integerE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIcE11round_styleE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIcE12has_infinityE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIcE12max_digits10E@GLIBCXX_3.4.14 4.5.0
+ _ZNSt14numeric_limitsIcE12max_exponentE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIcE12min_exponentE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIcE13has_quiet_NaNE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIcE14is_specializedE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIcE14max_exponent10E@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIcE14min_exponent10E@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIcE15has_denorm_lossE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIcE15tinyness_beforeE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIcE17has_signaling_NaNE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIcE5radixE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIcE5trapsE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIcE6digitsE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIcE8digits10E@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIcE8is_exactE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIcE9is_iec559E@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIcE9is_moduloE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIcE9is_signedE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIdE10has_denormE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIdE10is_boundedE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIdE10is_integerE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIdE11round_styleE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIdE12has_infinityE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIdE12max_digits10E@GLIBCXX_3.4.14 4.5.0
+ _ZNSt14numeric_limitsIdE12max_exponentE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIdE12min_exponentE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIdE13has_quiet_NaNE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIdE14is_specializedE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIdE14max_exponent10E@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIdE14min_exponent10E@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIdE15has_denorm_lossE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIdE15tinyness_beforeE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIdE17has_signaling_NaNE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIdE5radixE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIdE5trapsE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIdE6digitsE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIdE8digits10E@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIdE8is_exactE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIdE9is_iec559E@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIdE9is_moduloE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIdE9is_signedE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIeE10has_denormE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIeE10is_boundedE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIeE10is_integerE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIeE11round_styleE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIeE12has_infinityE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIeE12max_exponentE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIeE12min_exponentE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIeE13has_quiet_NaNE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIeE14is_specializedE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIeE14max_exponent10E@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIeE14min_exponent10E@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIeE15has_denorm_lossE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIeE15tinyness_beforeE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIeE17has_signaling_NaNE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIeE5radixE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIeE5trapsE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIeE6digitsE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIeE8digits10E@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIeE8is_exactE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIeE9is_iec559E@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIeE9is_moduloE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIeE9is_signedE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIfE10has_denormE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIfE10is_boundedE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIfE10is_integerE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIfE11round_styleE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIfE12has_infinityE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIfE12max_digits10E@GLIBCXX_3.4.14 4.5.0
+ _ZNSt14numeric_limitsIfE12max_exponentE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIfE12min_exponentE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIfE13has_quiet_NaNE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIfE14is_specializedE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIfE14max_exponent10E@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIfE14min_exponent10E@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIfE15has_denorm_lossE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIfE15tinyness_beforeE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIfE17has_signaling_NaNE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIfE5radixE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIfE5trapsE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIfE6digitsE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIfE8digits10E@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIfE8is_exactE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIfE9is_iec559E@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIfE9is_moduloE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIfE9is_signedE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIhE10has_denormE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIhE10is_boundedE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIhE10is_integerE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIhE11round_styleE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIhE12has_infinityE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIhE12max_digits10E@GLIBCXX_3.4.14 4.5.0
+ _ZNSt14numeric_limitsIhE12max_exponentE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIhE12min_exponentE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIhE13has_quiet_NaNE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIhE14is_specializedE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIhE14max_exponent10E@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIhE14min_exponent10E@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIhE15has_denorm_lossE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIhE15tinyness_beforeE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIhE17has_signaling_NaNE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIhE5radixE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIhE5trapsE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIhE6digitsE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIhE8digits10E@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIhE8is_exactE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIhE9is_iec559E@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIhE9is_moduloE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIhE9is_signedE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIiE10has_denormE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIiE10is_boundedE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIiE10is_integerE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIiE11round_styleE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIiE12has_infinityE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIiE12max_digits10E@GLIBCXX_3.4.14 4.5.0
+ _ZNSt14numeric_limitsIiE12max_exponentE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIiE12min_exponentE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIiE13has_quiet_NaNE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIiE14is_specializedE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIiE14max_exponent10E@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIiE14min_exponent10E@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIiE15has_denorm_lossE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIiE15tinyness_beforeE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIiE17has_signaling_NaNE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIiE5radixE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIiE5trapsE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIiE6digitsE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIiE8digits10E@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIiE8is_exactE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIiE9is_iec559E@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIiE9is_moduloE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIiE9is_signedE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIjE10has_denormE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIjE10is_boundedE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIjE10is_integerE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIjE11round_styleE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIjE12has_infinityE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIjE12max_digits10E@GLIBCXX_3.4.14 4.5.0
+ _ZNSt14numeric_limitsIjE12max_exponentE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIjE12min_exponentE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIjE13has_quiet_NaNE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIjE14is_specializedE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIjE14max_exponent10E@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIjE14min_exponent10E@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIjE15has_denorm_lossE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIjE15tinyness_beforeE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIjE17has_signaling_NaNE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIjE5radixE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIjE5trapsE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIjE6digitsE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIjE8digits10E@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIjE8is_exactE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIjE9is_iec559E@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIjE9is_moduloE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIjE9is_signedE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIlE10has_denormE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIlE10is_boundedE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIlE10is_integerE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIlE11round_styleE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIlE12has_infinityE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIlE12max_digits10E@GLIBCXX_3.4.14 4.5.0
+ _ZNSt14numeric_limitsIlE12max_exponentE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIlE12min_exponentE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIlE13has_quiet_NaNE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIlE14is_specializedE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIlE14max_exponent10E@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIlE14min_exponent10E@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIlE15has_denorm_lossE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIlE15tinyness_beforeE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIlE17has_signaling_NaNE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIlE5radixE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIlE5trapsE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIlE6digitsE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIlE8digits10E@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIlE8is_exactE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIlE9is_iec559E@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIlE9is_moduloE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIlE9is_signedE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsImE10has_denormE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsImE10is_boundedE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsImE10is_integerE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsImE11round_styleE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsImE12has_infinityE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsImE12max_digits10E@GLIBCXX_3.4.14 4.5.0
+ _ZNSt14numeric_limitsImE12max_exponentE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsImE12min_exponentE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsImE13has_quiet_NaNE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsImE14is_specializedE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsImE14max_exponent10E@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsImE14min_exponent10E@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsImE15has_denorm_lossE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsImE15tinyness_beforeE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsImE17has_signaling_NaNE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsImE5radixE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsImE5trapsE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsImE6digitsE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsImE8digits10E@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsImE8is_exactE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsImE9is_iec559E@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsImE9is_moduloE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsImE9is_signedE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIsE10has_denormE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIsE10is_boundedE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIsE10is_integerE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIsE11round_styleE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIsE12has_infinityE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIsE12max_digits10E@GLIBCXX_3.4.14 4.5.0
+ _ZNSt14numeric_limitsIsE12max_exponentE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIsE12min_exponentE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIsE13has_quiet_NaNE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIsE14is_specializedE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIsE14max_exponent10E@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIsE14min_exponent10E@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIsE15has_denorm_lossE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIsE15tinyness_beforeE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIsE17has_signaling_NaNE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIsE5radixE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIsE5trapsE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIsE6digitsE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIsE8digits10E@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIsE8is_exactE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIsE9is_iec559E@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIsE9is_moduloE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIsE9is_signedE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsItE10has_denormE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsItE10is_boundedE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsItE10is_integerE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsItE11round_styleE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsItE12has_infinityE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsItE12max_digits10E@GLIBCXX_3.4.14 4.5.0
+ _ZNSt14numeric_limitsItE12max_exponentE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsItE12min_exponentE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsItE13has_quiet_NaNE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsItE14is_specializedE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsItE14max_exponent10E@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsItE14min_exponent10E@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsItE15has_denorm_lossE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsItE15tinyness_beforeE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsItE17has_signaling_NaNE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsItE5radixE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsItE5trapsE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsItE6digitsE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsItE8digits10E@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsItE8is_exactE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsItE9is_iec559E@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsItE9is_moduloE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsItE9is_signedE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIwE10has_denormE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIwE10is_boundedE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIwE10is_integerE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIwE11round_styleE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIwE12has_infinityE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIwE12max_digits10E@GLIBCXX_3.4.14 4.5.0
+ _ZNSt14numeric_limitsIwE12max_exponentE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIwE12min_exponentE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIwE13has_quiet_NaNE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIwE14is_specializedE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIwE14max_exponent10E@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIwE14min_exponent10E@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIwE15has_denorm_lossE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIwE15tinyness_beforeE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIwE17has_signaling_NaNE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIwE5radixE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIwE5trapsE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIwE6digitsE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIwE8digits10E@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIwE8is_exactE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIwE9is_iec559E@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIwE9is_moduloE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIwE9is_signedE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIxE10has_denormE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIxE10is_boundedE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIxE10is_integerE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIxE11round_styleE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIxE12has_infinityE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIxE12max_digits10E@GLIBCXX_3.4.14 4.5.0
+ _ZNSt14numeric_limitsIxE12max_exponentE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIxE12min_exponentE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIxE13has_quiet_NaNE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIxE14is_specializedE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIxE14max_exponent10E@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIxE14min_exponent10E@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIxE15has_denorm_lossE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIxE15tinyness_beforeE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIxE17has_signaling_NaNE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIxE5radixE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIxE5trapsE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIxE6digitsE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIxE8digits10E@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIxE8is_exactE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIxE9is_iec559E@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIxE9is_moduloE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIxE9is_signedE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIyE10has_denormE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIyE10is_boundedE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIyE10is_integerE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIyE11round_styleE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIyE12has_infinityE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIyE12max_digits10E@GLIBCXX_3.4.14 4.5.0
+ _ZNSt14numeric_limitsIyE12max_exponentE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIyE12min_exponentE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIyE13has_quiet_NaNE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIyE14is_specializedE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIyE14max_exponent10E@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIyE14min_exponent10E@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIyE15has_denorm_lossE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIyE15tinyness_beforeE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIyE17has_signaling_NaNE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIyE5radixE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIyE5trapsE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIyE6digitsE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIyE8digits10E@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIyE8is_exactE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIyE9is_iec559E@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIyE9is_moduloE@GLIBCXX_3.4 4.1.1
+ _ZNSt14numeric_limitsIyE9is_signedE@GLIBCXX_3.4 4.1.1
+ _ZNSt14overflow_errorC1EPKc@GLIBCXX_3.4.21 5
+ _ZNSt14overflow_errorC1ERKSs@GLIBCXX_3.4 4.1.1
+ _ZNSt14overflow_errorC2EPKc@GLIBCXX_3.4.21 5
+ _ZNSt14overflow_errorC2ERKSs@GLIBCXX_3.4 4.1.1
+ _ZNSt14overflow_errorD0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt14overflow_errorD1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt14overflow_errorD2Ev@GLIBCXX_3.4.15 4.6
+ _ZNSt15_List_node_base10_M_reverseEv@GLIBCXX_3.4.14 4.5
+ _ZNSt15_List_node_base11_M_transferEPS_S0_@GLIBCXX_3.4.14 4.5
+ _ZNSt15_List_node_base4hookEPS_@GLIBCXX_3.4 4.1.1
+ _ZNSt15_List_node_base4swapERS_S0_@GLIBCXX_3.4 4.1.1
+ _ZNSt15_List_node_base6unhookEv@GLIBCXX_3.4 4.1.1
+ _ZNSt15_List_node_base7_M_hookEPS_@GLIBCXX_3.4.14 4.5
+ _ZNSt15_List_node_base7reverseEv@GLIBCXX_3.4 4.1.1
+ _ZNSt15_List_node_base8transferEPS_S0_@GLIBCXX_3.4 4.1.1
+ _ZNSt15_List_node_base9_M_unhookEv@GLIBCXX_3.4.14 4.5
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE4setgEPcS3_S3_@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE4setpEPcS3_@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE4swapERS2_@GLIBCXX_3.4.21 5
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE4syncEv@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE5gbumpEi@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE5imbueERKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE5pbumpEi@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetcEv@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE5sputcEc@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE5uflowEv@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE6sbumpcEv@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE6snextcEv@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE6stosscEv@GLIBCXX_3.4.10 4.3
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE7pubsyncEv@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE7sungetcEv@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE8in_availEv@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE8overflowEi@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE8pubimbueERKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE9pbackfailEi@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE9showmanycEv@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE9sputbackcEc@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE9underflowEv@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIcSt11char_traitsIcEEC1ERKS2_@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIcSt11char_traitsIcEEC1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIcSt11char_traitsIcEEC2ERKS2_@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIcSt11char_traitsIcEEC2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIcSt11char_traitsIcEED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIcSt11char_traitsIcEEaSERKS2_@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE4setgEPwS3_S3_@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE4setpEPwS3_@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE4swapERS2_@GLIBCXX_3.4.21 5
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE4syncEv@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE5gbumpEi@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE5imbueERKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE5pbumpEi@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetcEv@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE5sputcEw@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE5uflowEv@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE6sbumpcEv@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE6snextcEv@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE6stosscEv@GLIBCXX_3.4.10 4.3
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE7pubsyncEv@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE7sungetcEv@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE8in_availEv@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE8overflowEj@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE8pubimbueERKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE9pbackfailEj@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE9showmanycEv@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE9sputbackcEw@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE9underflowEv@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEEC1ERKS2_@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEEC1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEEC2ERKS2_@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEEC2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEEaSERKS2_@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE15_M_update_egptrEv@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE17_M_stringbuf_initESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strERKSs@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9showmanycEv@GLIBCXX_3.4.6 4.1.1
+ _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9underflowEv@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE15_M_update_egptrEv@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE17_M_stringbuf_initESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8overflowEj@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9pbackfailEj@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9showmanycEv@GLIBCXX_3.4.6 4.1.1
+ _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9underflowEv@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt15messages_bynameIcED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt15messages_bynameIcED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt15messages_bynameIcED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt15messages_bynameIwED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt15messages_bynameIwED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt15messages_bynameIwED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt15numpunct_bynameIcED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt15numpunct_bynameIcED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt15numpunct_bynameIcED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt15numpunct_bynameIwED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt15numpunct_bynameIwED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt15numpunct_bynameIwED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt15underflow_errorC1EPKc@GLIBCXX_3.4.21 5
+ _ZNSt15underflow_errorC1ERKSs@GLIBCXX_3.4 4.1.1
+ _ZNSt15underflow_errorC2EPKc@GLIBCXX_3.4.21 5
+ _ZNSt15underflow_errorC2ERKSs@GLIBCXX_3.4 4.1.1
+ _ZNSt15underflow_errorD0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt15underflow_errorD1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt15underflow_errorD2Ev@GLIBCXX_3.4.15 4.6
+ _ZNSt16__numpunct_cacheIcE8_M_cacheERKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZNSt16__numpunct_cacheIcED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt16__numpunct_cacheIcED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt16__numpunct_cacheIcED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt16__numpunct_cacheIwE8_M_cacheERKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZNSt16__numpunct_cacheIwED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt16__numpunct_cacheIwED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt16__numpunct_cacheIwED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt16bad_array_lengthD0Ev@CXXABI_1.3.8 4.9
+ _ZNSt16bad_array_lengthD1Ev@CXXABI_1.3.8 4.9
+ _ZNSt16bad_array_lengthD2Ev@CXXABI_1.3.8 4.9
+ _ZNSt16invalid_argumentC1EPKc@GLIBCXX_3.4.21 5
+ _ZNSt16invalid_argumentC1ERKSs@GLIBCXX_3.4 4.1.1
+ _ZNSt16invalid_argumentC2EPKc@GLIBCXX_3.4.21 5
+ _ZNSt16invalid_argumentC2ERKSs@GLIBCXX_3.4 4.1.1
+ _ZNSt16invalid_argumentD0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt16invalid_argumentD1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt16invalid_argumentD2Ev@GLIBCXX_3.4.15 4.6
+ _ZNSt17__timepunct_cacheIcE12_S_timezonesE@GLIBCXX_3.4 4.1.1
+ _ZNSt17__timepunct_cacheIcED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt17__timepunct_cacheIcED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt17__timepunct_cacheIcED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt17__timepunct_cacheIwE12_S_timezonesE@GLIBCXX_3.4 4.1.1
+ _ZNSt17__timepunct_cacheIwED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt17__timepunct_cacheIwED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt17__timepunct_cacheIwED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt17bad_function_callD0Ev@GLIBCXX_3.4.15 4.6
+ _ZNSt17bad_function_callD1Ev@GLIBCXX_3.4.15 4.6
+ _ZNSt17bad_function_callD2Ev@GLIBCXX_3.4.15 4.6
+ _ZNSt17moneypunct_bynameIcLb0EE4intlE@GLIBCXX_3.4 4.1.1
+ _ZNSt17moneypunct_bynameIcLb0EED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt17moneypunct_bynameIcLb0EED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt17moneypunct_bynameIcLb0EED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt17moneypunct_bynameIcLb1EE4intlE@GLIBCXX_3.4 4.1.1
+ _ZNSt17moneypunct_bynameIcLb1EED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt17moneypunct_bynameIcLb1EED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt17moneypunct_bynameIcLb1EED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt17moneypunct_bynameIwLb0EE4intlE@GLIBCXX_3.4 4.1.1
+ _ZNSt17moneypunct_bynameIwLb0EED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt17moneypunct_bynameIwLb0EED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt17moneypunct_bynameIwLb0EED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt17moneypunct_bynameIwLb1EE4intlE@GLIBCXX_3.4 4.1.1
+ _ZNSt17moneypunct_bynameIwLb1EED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt17moneypunct_bynameIwLb1EED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt17moneypunct_bynameIwLb1EED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt18__moneypunct_cacheIcLb0EE8_M_cacheERKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZNSt18__moneypunct_cacheIcLb0EED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt18__moneypunct_cacheIcLb0EED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt18__moneypunct_cacheIcLb0EED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt18__moneypunct_cacheIcLb1EE8_M_cacheERKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZNSt18__moneypunct_cacheIcLb1EED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt18__moneypunct_cacheIcLb1EED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt18__moneypunct_cacheIcLb1EED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt18__moneypunct_cacheIwLb0EE8_M_cacheERKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZNSt18__moneypunct_cacheIwLb0EED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt18__moneypunct_cacheIwLb0EED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt18__moneypunct_cacheIwLb0EED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt18__moneypunct_cacheIwLb1EE8_M_cacheERKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZNSt18__moneypunct_cacheIwLb1EED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt18__moneypunct_cacheIwLb1EED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt18__moneypunct_cacheIwLb1EED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKSs@GLIBCXX_3.4 4.1.1
+ _ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEE4swapERS3_@GLIBCXX_3.4.21 5
+ _ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1EOS3_@GLIBCXX_3.4.21 5
+ _ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2EOS3_@GLIBCXX_3.4.21 5
+ _ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEaSEOS3_@GLIBCXX_3.4.21 5
+ _ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@GLIBCXX_3.4 4.1.1
+ _ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEE4swapERS3_@GLIBCXX_3.4.21 5
+ _ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1EOS3_@GLIBCXX_3.4.21 5
+ _ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2EOS3_@GLIBCXX_3.4.21 5
+ _ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEaSEOS3_@GLIBCXX_3.4.21 5
+ _ZNSt18condition_variable10notify_allEv@GLIBCXX_3.4.11 4.4.0
+ _ZNSt18condition_variable10notify_oneEv@GLIBCXX_3.4.11 4.4.0
+ _ZNSt18condition_variable4waitERSt11unique_lockISt5mutexE@GLIBCXX_3.4.11 4.4.0
+ _ZNSt18condition_variableC1Ev@GLIBCXX_3.4.11 4.4.0
+ _ZNSt18condition_variableC2Ev@GLIBCXX_3.4.11 4.4.0
+ _ZNSt18condition_variableD1Ev@GLIBCXX_3.4.11 4.4.0
+ _ZNSt18condition_variableD2Ev@GLIBCXX_3.4.11 4.4.0
+ _ZNSt19__codecvt_utf8_baseIDiED0Ev@GLIBCXX_3.4.21 5
+ _ZNSt19__codecvt_utf8_baseIDiED1Ev@GLIBCXX_3.4.21 5
+ _ZNSt19__codecvt_utf8_baseIDiED2Ev@GLIBCXX_3.4.21 5
+ _ZNSt19__codecvt_utf8_baseIDsED0Ev@GLIBCXX_3.4.21 5
+ _ZNSt19__codecvt_utf8_baseIDsED1Ev@GLIBCXX_3.4.21 5
+ _ZNSt19__codecvt_utf8_baseIDsED2Ev@GLIBCXX_3.4.21 5
+ _ZNSt19__codecvt_utf8_baseIwED0Ev@GLIBCXX_3.4.21 5
+ _ZNSt19__codecvt_utf8_baseIwED1Ev@GLIBCXX_3.4.21 5
+ _ZNSt19__codecvt_utf8_baseIwED2Ev@GLIBCXX_3.4.21 5
+ _ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strERKSs@GLIBCXX_3.4 4.1.1
+ _ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEE4swapERS3_@GLIBCXX_3.4.21 5
+ _ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1EOS3_@GLIBCXX_3.4.21 5
+ _ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2EOS3_@GLIBCXX_3.4.21 5
+ _ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEaSEOS3_@GLIBCXX_3.4.21 5
+ _ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@GLIBCXX_3.4 4.1.1
+ _ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEE4swapERS3_@GLIBCXX_3.4.21 5
+ _ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1EOS3_@GLIBCXX_3.4.21 5
+ _ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2EOS3_@GLIBCXX_3.4.21 5
+ _ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEaSEOS3_@GLIBCXX_3.4.21 5
+ _ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strERKSs@GLIBCXX_3.4 4.1.1
+ _ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE4swapERS3_@GLIBCXX_3.4.21 5
+ _ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1EOS3_@GLIBCXX_3.4.21 5
+ _ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2EOS3_@GLIBCXX_3.4.21 5
+ _ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEaSEOS3_@GLIBCXX_3.4.21 5
+ _ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@GLIBCXX_3.4 4.1.1
+ _ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE4swapERS3_@GLIBCXX_3.4.21 5
+ _ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1EOS3_@GLIBCXX_3.4.21 5
+ _ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2EOS3_@GLIBCXX_3.4.21 5
+ _ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEaSEOS3_@GLIBCXX_3.4.21 5
+ _ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv@GLIBCXX_3.4 4.1.1
+ _ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv@GLIBCXX_3.4.5 4.1.1
+ _ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv@GLIBCXX_3.4 4.1.1
+ _ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv@GLIBCXX_3.4.5 4.1.1
+ _ZNSt20__codecvt_utf16_baseIDiED0Ev@GLIBCXX_3.4.21 5
+ _ZNSt20__codecvt_utf16_baseIDiED1Ev@GLIBCXX_3.4.21 5
+ _ZNSt20__codecvt_utf16_baseIDiED2Ev@GLIBCXX_3.4.21 5
+ _ZNSt20__codecvt_utf16_baseIDsED0Ev@GLIBCXX_3.4.21 5
+ _ZNSt20__codecvt_utf16_baseIDsED1Ev@GLIBCXX_3.4.21 5
+ _ZNSt20__codecvt_utf16_baseIDsED2Ev@GLIBCXX_3.4.21 5
+ _ZNSt20__codecvt_utf16_baseIwED0Ev@GLIBCXX_3.4.21 5
+ _ZNSt20__codecvt_utf16_baseIwED1Ev@GLIBCXX_3.4.21 5
+ _ZNSt20__codecvt_utf16_baseIwED2Ev@GLIBCXX_3.4.21 5
+ _ZNSt20bad_array_new_lengthD0Ev@CXXABI_1.3.8 4.9
+ _ZNSt20bad_array_new_lengthD1Ev@CXXABI_1.3.8 4.9
+ _ZNSt20bad_array_new_lengthD2Ev@CXXABI_1.3.8 4.9
+ _ZNSt21__numeric_limits_base10has_denormE@GLIBCXX_3.4 4.1.1
+ _ZNSt21__numeric_limits_base10is_boundedE@GLIBCXX_3.4 4.1.1
+ _ZNSt21__numeric_limits_base10is_integerE@GLIBCXX_3.4 4.1.1
+ _ZNSt21__numeric_limits_base11round_styleE@GLIBCXX_3.4 4.1.1
+ _ZNSt21__numeric_limits_base12has_infinityE@GLIBCXX_3.4 4.1.1
+ _ZNSt21__numeric_limits_base12max_digits10E@GLIBCXX_3.4.14 4.5.0
+ _ZNSt21__numeric_limits_base12max_exponentE@GLIBCXX_3.4 4.1.1
+ _ZNSt21__numeric_limits_base12min_exponentE@GLIBCXX_3.4 4.1.1
+ _ZNSt21__numeric_limits_base13has_quiet_NaNE@GLIBCXX_3.4 4.1.1
+ _ZNSt21__numeric_limits_base14is_specializedE@GLIBCXX_3.4 4.1.1
+ _ZNSt21__numeric_limits_base14max_exponent10E@GLIBCXX_3.4 4.1.1
+ _ZNSt21__numeric_limits_base14min_exponent10E@GLIBCXX_3.4 4.1.1
+ _ZNSt21__numeric_limits_base15has_denorm_lossE@GLIBCXX_3.4 4.1.1
+ _ZNSt21__numeric_limits_base15tinyness_beforeE@GLIBCXX_3.4 4.1.1
+ _ZNSt21__numeric_limits_base17has_signaling_NaNE@GLIBCXX_3.4 4.1.1
+ _ZNSt21__numeric_limits_base5radixE@GLIBCXX_3.4 4.1.1
+ _ZNSt21__numeric_limits_base5trapsE@GLIBCXX_3.4 4.1.1
+ _ZNSt21__numeric_limits_base6digitsE@GLIBCXX_3.4 4.1.1
+ _ZNSt21__numeric_limits_base8digits10E@GLIBCXX_3.4 4.1.1
+ _ZNSt21__numeric_limits_base8is_exactE@GLIBCXX_3.4 4.1.1
+ _ZNSt21__numeric_limits_base9is_iec559E@GLIBCXX_3.4 4.1.1
+ _ZNSt21__numeric_limits_base9is_moduloE@GLIBCXX_3.4 4.1.1
+ _ZNSt21__numeric_limits_base9is_signedE@GLIBCXX_3.4 4.1.1
+ _ZNSt22condition_variable_anyC1Ev@GLIBCXX_3.4.11 4.4.0
+ _ZNSt22condition_variable_anyC2Ev@GLIBCXX_3.4.11 4.4.0
+ _ZNSt22condition_variable_anyD1Ev@GLIBCXX_3.4.11 4.4.0
+ _ZNSt22condition_variable_anyD2Ev@GLIBCXX_3.4.11 4.4.0
+ _ZNSt25__codecvt_utf8_utf16_baseIDiED0Ev@GLIBCXX_3.4.21 5
+ _ZNSt25__codecvt_utf8_utf16_baseIDiED1Ev@GLIBCXX_3.4.21 5
+ _ZNSt25__codecvt_utf8_utf16_baseIDiED2Ev@GLIBCXX_3.4.21 5
+ _ZNSt25__codecvt_utf8_utf16_baseIDsED0Ev@GLIBCXX_3.4.21 5
+ _ZNSt25__codecvt_utf8_utf16_baseIDsED1Ev@GLIBCXX_3.4.21 5
+ _ZNSt25__codecvt_utf8_utf16_baseIDsED2Ev@GLIBCXX_3.4.21 5
+ _ZNSt25__codecvt_utf8_utf16_baseIwED0Ev@GLIBCXX_3.4.21 5
+ _ZNSt25__codecvt_utf8_utf16_baseIwED1Ev@GLIBCXX_3.4.21 5
+ _ZNSt25__codecvt_utf8_utf16_baseIwED2Ev@GLIBCXX_3.4.21 5
+ _ZNSt3_V214error_categoryD0Ev@GLIBCXX_3.4.21 5
+ _ZNSt3_V214error_categoryD1Ev@GLIBCXX_3.4.21 5
+ _ZNSt3_V214error_categoryD2Ev@GLIBCXX_3.4.21 5
+ _ZNSt3_V215system_categoryEv@GLIBCXX_3.4.21 5
+ _ZNSt3_V216generic_categoryEv@GLIBCXX_3.4.21 5
+ _ZNSt3tr18__detail12__prime_listE@GLIBCXX_3.4.10 4.3
+ _ZNSt5ctypeIcE10table_sizeE@GLIBCXX_3.4 4.1.1
+ _ZNSt5ctypeIcE13classic_tableEv@GLIBCXX_3.4 4.1.1
+ _ZNSt5ctypeIcE2idE@GLIBCXX_3.4 4.1.1
+ _ZNSt5ctypeIcED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt5ctypeIcED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt5ctypeIcED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt5ctypeIwE19_M_initialize_ctypeEv@GLIBCXX_3.4 4.1.1
+ _ZNSt5ctypeIwE2idE@GLIBCXX_3.4 4.1.1
+ _ZNSt5ctypeIwED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt5ctypeIwED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt5ctypeIwED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt6__norm15_List_node_base10_M_reverseEv@GLIBCXX_3.4.14 4.5
+ _ZNSt6__norm15_List_node_base11_M_transferEPS0_S1_@GLIBCXX_3.4.14 4.5
+ _ZNSt6__norm15_List_node_base4hookEPS0_@GLIBCXX_3.4.9 4.2.1
+ _ZNSt6__norm15_List_node_base4swapERS0_S1_@GLIBCXX_3.4.9 4.2.1
+ _ZNSt6__norm15_List_node_base6unhookEv@GLIBCXX_3.4.9 4.2.1
+ _ZNSt6__norm15_List_node_base7_M_hookEPS0_@GLIBCXX_3.4.14 4.5
+ _ZNSt6__norm15_List_node_base7reverseEv@GLIBCXX_3.4.9 4.2.1
+ _ZNSt6__norm15_List_node_base8transferEPS0_S1_@GLIBCXX_3.4.9 4.2.1
+ _ZNSt6__norm15_List_node_base9_M_unhookEv@GLIBCXX_3.4.14 4.5
+ _ZNSt6chrono3_V212steady_clock3nowEv@GLIBCXX_3.4.19 4.8.1
+ _ZNSt6chrono3_V212steady_clock9is_steadyE@GLIBCXX_3.4.19 4.8.1
+ _ZNSt6chrono3_V212system_clock3nowEv@GLIBCXX_3.4.19 4.8.1
+ _ZNSt6chrono3_V212system_clock9is_steadyE@GLIBCXX_3.4.19 4.8.1
+ _ZNSt6chrono12system_clock12is_monotonicE@GLIBCXX_3.4.11 4.4.0
+ _ZNSt6chrono12system_clock3nowEv@GLIBCXX_3.4.11 4.4.0
+ _ZNSt6locale11_M_coalesceERKS_S1_i@GLIBCXX_3.4 4.1.1
+ _ZNSt6locale21_S_normalize_categoryEi@GLIBCXX_3.4 4.1.1
+ _ZNSt6locale3allE@GLIBCXX_3.4 4.1.1
+ _ZNSt6locale4noneE@GLIBCXX_3.4 4.1.1
+ _ZNSt6locale4timeE@GLIBCXX_3.4 4.1.1
+ _ZNSt6locale5_Impl16_M_install_facetEPKNS_2idEPKNS_5facetE@GLIBCXX_3.4 4.1.1
+ _ZNSt6locale5_Impl16_M_replace_facetEPKS0_PKNS_2idE@GLIBCXX_3.4 4.1.1
+ _ZNSt6locale5_Impl19_M_replace_categoryEPKS0_PKPKNS_2idE@GLIBCXX_3.4 4.1.1
+ _ZNSt6locale5_Impl21_M_replace_categoriesEPKS0_i@GLIBCXX_3.4 4.1.1
+ _ZNSt6locale5_ImplD1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt6locale5_ImplD2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt6locale5ctypeE@GLIBCXX_3.4 4.1.1
+ _ZNSt6locale5facet13_S_get_c_nameEv@GLIBCXX_3.4.6 4.1.1
+ _ZNSt6locale5facet15_S_get_c_localeEv@GLIBCXX_3.4 4.1.1
+ _ZNSt6locale5facet17_S_clone_c_localeERP15__locale_struct@GLIBCXX_3.4 4.1.1
+ _ZNSt6locale5facet18_S_create_c_localeERP15__locale_structPKcS2_@GLIBCXX_3.4 4.1.1
+ _ZNSt6locale5facet19_S_destroy_c_localeERP15__locale_struct@GLIBCXX_3.4 4.1.1
+ _ZNSt6locale5facetD0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt6locale5facetD1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt6locale5facetD2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt6locale6globalERKS_@GLIBCXX_3.4 4.1.1
+ _ZNSt6locale7classicEv@GLIBCXX_3.4 4.1.1
+ _ZNSt6locale7collateE@GLIBCXX_3.4 4.1.1
+ _ZNSt6locale7numericE@GLIBCXX_3.4 4.1.1
+ _ZNSt6locale8messagesE@GLIBCXX_3.4 4.1.1
+ _ZNSt6locale8monetaryE@GLIBCXX_3.4 4.1.1
+ _ZNSt6localeC1EPKc@GLIBCXX_3.4 4.1.1
+ _ZNSt6localeC1EPNS_5_ImplE@GLIBCXX_3.4 4.1.1
+ _ZNSt6localeC1ERKS_@GLIBCXX_3.4 4.1.1
+ _ZNSt6localeC1ERKS_PKci@GLIBCXX_3.4 4.1.1
+ _ZNSt6localeC1ERKS_S1_i@GLIBCXX_3.4 4.1.1
+ _ZNSt6localeC1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt6localeC2EPKc@GLIBCXX_3.4 4.1.1
+ _ZNSt6localeC2EPNS_5_ImplE@GLIBCXX_3.4 4.1.1
+ _ZNSt6localeC2ERKS_@GLIBCXX_3.4 4.1.1
+ _ZNSt6localeC2ERKS_PKci@GLIBCXX_3.4 4.1.1
+ _ZNSt6localeC2ERKS_S1_i@GLIBCXX_3.4 4.1.1
+ _ZNSt6localeC2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt6localeD1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt6localeD2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt6localeaSERKS_@GLIBCXX_3.4 4.1.1
+ _ZNSt6thread15_M_start_threadESt10shared_ptrINS_10_Impl_baseEE@GLIBCXX_3.4.11 4.4.0
+ _ZNSt6thread15_M_start_threadESt10shared_ptrINS_10_Impl_baseEEPFvvE@GLIBCXX_3.4.21 5
+ _ZNSt6thread15_M_start_threadESt10unique_ptrINS_6_StateESt14default_deleteIS1_EEPFvvE@GLIBCXX_3.4.22 6
+ _ZNSt6thread20hardware_concurrencyEv@GLIBCXX_3.4.17 4.7
+ _ZNSt6thread4joinEv@GLIBCXX_3.4.11 4.4.0
+ _ZNSt6thread6_StateD0Ev@GLIBCXX_3.4.22 6
+ _ZNSt6thread6_StateD1Ev@GLIBCXX_3.4.22 6
+ _ZNSt6thread6_StateD2Ev@GLIBCXX_3.4.22 6
+ _ZNSt6thread6detachEv@GLIBCXX_3.4.11 4.4.0
+ _ZNSt7codecvtIDic11__mbstate_tE2idE@GLIBCXX_3.4.21 5
+ _ZNSt7codecvtIDic11__mbstate_tED0Ev@GLIBCXX_3.4.21 5
+ _ZNSt7codecvtIDic11__mbstate_tED1Ev@GLIBCXX_3.4.21 5
+ _ZNSt7codecvtIDic11__mbstate_tED2Ev@GLIBCXX_3.4.21 5
+ _ZNSt7codecvtIDsc11__mbstate_tE2idE@GLIBCXX_3.4.21 5
+ _ZNSt7codecvtIDsc11__mbstate_tED0Ev@GLIBCXX_3.4.21 5
+ _ZNSt7codecvtIDsc11__mbstate_tED1Ev@GLIBCXX_3.4.21 5
+ _ZNSt7codecvtIDsc11__mbstate_tED2Ev@GLIBCXX_3.4.21 5
+ _ZNSt7codecvtIcc11__mbstate_tE2idE@GLIBCXX_3.4 4.1.1
+ _ZNSt7codecvtIcc11__mbstate_tED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt7codecvtIcc11__mbstate_tED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt7codecvtIcc11__mbstate_tED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt7codecvtIwc11__mbstate_tE2idE@GLIBCXX_3.4 4.1.1
+ _ZNSt7codecvtIwc11__mbstate_tED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt7codecvtIwc11__mbstate_tED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt7codecvtIwc11__mbstate_tED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt7collateIcE2idE@GLIBCXX_3.4 4.1.1
+ _ZNSt7collateIcED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt7collateIcED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt7collateIcED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt7collateIwE2idE@GLIBCXX_3.4 4.1.1
+ _ZNSt7collateIwED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt7collateIwED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt7collateIwED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_3.4 4.1.1
+ _ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_3.4 4.1.1
+ _ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_3.4 4.1.1
+ _ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_3.4 4.1.1
+ _ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt8__detail12__prime_listE@GLIBCXX_3.4.10 4.3
+ _ZNSt8__detail15_List_node_base10_M_reverseEv@GLIBCXX_3.4.15 4.6
+ _ZNSt8__detail15_List_node_base11_M_transferEPS0_S1_@GLIBCXX_3.4.15 4.6
+ _ZNSt8__detail15_List_node_base4swapERS0_S1_@GLIBCXX_3.4.15 4.6
+ _ZNSt8__detail15_List_node_base7_M_hookEPS0_@GLIBCXX_3.4.15 4.6
+ _ZNSt8__detail15_List_node_base9_M_unhookEv@GLIBCXX_3.4.15 4.6
+ _ZNSt8bad_castD0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt8bad_castD1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt8bad_castD2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt8ios_base10floatfieldE@GLIBCXX_3.4 4.1.1
+ _ZNSt8ios_base10scientificE@GLIBCXX_3.4 4.1.1
+ _ZNSt8ios_base11adjustfieldE@GLIBCXX_3.4 4.1.1
+ _ZNSt8ios_base13_M_grow_wordsEib@GLIBCXX_3.4 4.1.1
+ _ZNSt8ios_base15sync_with_stdioEb@GLIBCXX_3.4 4.1.1
+ _ZNSt8ios_base17_M_call_callbacksENS_5eventE@GLIBCXX_3.4.6 4.1.1
+ _ZNSt8ios_base17register_callbackEPFvNS_5eventERS_iEi@GLIBCXX_3.4 4.1.1
+ _ZNSt8ios_base20_M_dispose_callbacksEv@GLIBCXX_3.4.6 4.1.1
+ _ZNSt8ios_base2inE@GLIBCXX_3.4 4.1.1
+ _ZNSt8ios_base3appE@GLIBCXX_3.4 4.1.1
+ _ZNSt8ios_base3ateE@GLIBCXX_3.4 4.1.1
+ _ZNSt8ios_base3begE@GLIBCXX_3.4 4.1.1
+ _ZNSt8ios_base3curE@GLIBCXX_3.4 4.1.1
+ _ZNSt8ios_base3decE@GLIBCXX_3.4 4.1.1
+ _ZNSt8ios_base3endE@GLIBCXX_3.4 4.1.1
+ _ZNSt8ios_base3hexE@GLIBCXX_3.4 4.1.1
+ _ZNSt8ios_base3octE@GLIBCXX_3.4 4.1.1
+ _ZNSt8ios_base3outE@GLIBCXX_3.4 4.1.1
+ _ZNSt8ios_base4InitC1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt8ios_base4InitC2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt8ios_base4InitD1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt8ios_base4InitD2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt8ios_base4leftE@GLIBCXX_3.4 4.1.1
+ _ZNSt8ios_base5fixedE@GLIBCXX_3.4 4.1.1
+ _ZNSt8ios_base5imbueERKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZNSt8ios_base5rightE@GLIBCXX_3.4 4.1.1
+ _ZNSt8ios_base5truncE@GLIBCXX_3.4 4.1.1
+ _ZNSt8ios_base6badbitE@GLIBCXX_3.4 4.1.1
+ _ZNSt8ios_base6binaryE@GLIBCXX_3.4 4.1.1
+ _ZNSt8ios_base6eofbitE@GLIBCXX_3.4 4.1.1
+ _ZNSt8ios_base6skipwsE@GLIBCXX_3.4 4.1.1
+ _ZNSt8ios_base6xallocEv@GLIBCXX_3.4 4.1.1
+ _ZNSt8ios_base7_M_initEv@GLIBCXX_3.4 4.1.1
+ _ZNSt8ios_base7_M_moveERS_@GLIBCXX_3.4.21 5
+ _ZNSt8ios_base7_M_swapERS_@GLIBCXX_3.4.21 5
+ _ZNSt8ios_base7failbitE@GLIBCXX_3.4 4.1.1
+ _ZNSt8ios_base7failureC1ERKSs@GLIBCXX_3.4 4.1.1
+ _ZNSt8ios_base7failureC2ERKSs@GLIBCXX_3.4 4.1.1
+ _ZNSt8ios_base7failureD0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt8ios_base7failureD1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt8ios_base7failureD2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt8ios_base7goodbitE@GLIBCXX_3.4 4.1.1
+ _ZNSt8ios_base7showposE@GLIBCXX_3.4 4.1.1
+ _ZNSt8ios_base7unitbufE@GLIBCXX_3.4 4.1.1
+ _ZNSt8ios_base8internalE@GLIBCXX_3.4 4.1.1
+ _ZNSt8ios_base8showbaseE@GLIBCXX_3.4 4.1.1
+ _ZNSt8ios_base9basefieldE@GLIBCXX_3.4 4.1.1
+ _ZNSt8ios_base9boolalphaE@GLIBCXX_3.4 4.1.1
+ _ZNSt8ios_base9showpointE@GLIBCXX_3.4 4.1.1
+ _ZNSt8ios_base9uppercaseE@GLIBCXX_3.4 4.1.1
+ _ZNSt8ios_baseC1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt8ios_baseC2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt8ios_baseD0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt8ios_baseD1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt8ios_baseD2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt8messagesIcE2idE@GLIBCXX_3.4 4.1.1
+ _ZNSt8messagesIcED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt8messagesIcED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt8messagesIcED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt8messagesIwE2idE@GLIBCXX_3.4 4.1.1
+ _ZNSt8messagesIwED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt8messagesIwED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt8messagesIwED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIcE22_M_initialize_numpunctEP15__locale_struct@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIcE2idE@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIcED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIcED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIcED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIwE22_M_initialize_numpunctEP15__locale_struct@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIwE2idE@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIwED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIwED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIwED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_3.4 4.1.1
+ _ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_3.4 4.1.1
+ _ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_3.4 4.1.1
+ _ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_3.4 4.1.1
+ _ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt9__atomic011atomic_flag12test_and_setESt12memory_order@GLIBCXX_3.4.14 4.5
+ _ZNSt9__atomic011atomic_flag5clearESt12memory_order@GLIBCXX_3.4.14 4.5
+ _ZNSt9__cxx199815_List_node_base10_M_reverseEv@GLIBCXX_3.4.14 4.5
+ _ZNSt9__cxx199815_List_node_base11_M_transferEPS0_S1_@GLIBCXX_3.4.14 4.5
+ _ZNSt9__cxx199815_List_node_base4hookEPS0_@GLIBCXX_3.4.10 4.3
+ _ZNSt9__cxx199815_List_node_base4swapERS0_S1_@GLIBCXX_3.4.10 4.3
+ _ZNSt9__cxx199815_List_node_base7_M_hookEPS0_@GLIBCXX_3.4.14 4.5
+ _ZNSt9__cxx199815_List_node_base6unhookEv@GLIBCXX_3.4.10 4.3
+ _ZNSt9__cxx199815_List_node_base7reverseEv@GLIBCXX_3.4.10 4.3
+ _ZNSt9__cxx199815_List_node_base8transferEPS0_S1_@GLIBCXX_3.4.10 4.3
+ _ZNSt9__cxx199815_List_node_base9_M_unhookEv@GLIBCXX_3.4.14 4.5
+ _ZNSt9bad_allocD0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt9bad_allocD1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt9bad_allocD2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt9basic_iosIcSt11char_traitsIcEE10exceptionsESt12_Ios_Iostate@GLIBCXX_3.4 4.1.1
+ _ZNSt9basic_iosIcSt11char_traitsIcEE11_M_setstateESt12_Ios_Iostate@GLIBCXX_3.4 4.1.1
+ _ZNSt9basic_iosIcSt11char_traitsIcEE15_M_cache_localeERKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZNSt9basic_iosIcSt11char_traitsIcEE3tieEPSo@GLIBCXX_3.4 4.1.1
+ _ZNSt9basic_iosIcSt11char_traitsIcEE4fillEc@GLIBCXX_3.4 4.1.1
+ _ZNSt9basic_iosIcSt11char_traitsIcEE4initEPSt15basic_streambufIcS1_E@GLIBCXX_3.4 4.1.1
+ _ZNSt9basic_iosIcSt11char_traitsIcEE4moveEOS2_@GLIBCXX_3.4.21 5
+ _ZNSt9basic_iosIcSt11char_traitsIcEE4moveERS2_@GLIBCXX_3.4.21 5
+ _ZNSt9basic_iosIcSt11char_traitsIcEE4swapERS2_@GLIBCXX_3.4.21 5
+ _ZNSt9basic_iosIcSt11char_traitsIcEE5clearESt12_Ios_Iostate@GLIBCXX_3.4 4.1.1
+ _ZNSt9basic_iosIcSt11char_traitsIcEE5imbueERKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZNSt9basic_iosIcSt11char_traitsIcEE5rdbufEPSt15basic_streambufIcS1_E@GLIBCXX_3.4 4.1.1
+ _ZNSt9basic_iosIcSt11char_traitsIcEE7copyfmtERKS2_@GLIBCXX_3.4 4.1.1
+ _ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate@GLIBCXX_3.4 4.1.1
+ _ZNSt9basic_iosIcSt11char_traitsIcEE9set_rdbufEPSt15basic_streambufIcS1_E@GLIBCXX_3.4.21 5
+ _ZNSt9basic_iosIcSt11char_traitsIcEEC1EPSt15basic_streambufIcS1_E@GLIBCXX_3.4 4.1.1
+ _ZNSt9basic_iosIcSt11char_traitsIcEEC1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt9basic_iosIcSt11char_traitsIcEEC2EPSt15basic_streambufIcS1_E@GLIBCXX_3.4 4.1.1
+ _ZNSt9basic_iosIcSt11char_traitsIcEEC2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt9basic_iosIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt9basic_iosIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt9basic_iosIcSt11char_traitsIcEED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt9basic_iosIwSt11char_traitsIwEE10exceptionsESt12_Ios_Iostate@GLIBCXX_3.4 4.1.1
+ _ZNSt9basic_iosIwSt11char_traitsIwEE11_M_setstateESt12_Ios_Iostate@GLIBCXX_3.4 4.1.1
+ _ZNSt9basic_iosIwSt11char_traitsIwEE15_M_cache_localeERKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZNSt9basic_iosIwSt11char_traitsIwEE3tieEPSt13basic_ostreamIwS1_E@GLIBCXX_3.4 4.1.1
+ _ZNSt9basic_iosIwSt11char_traitsIwEE4fillEw@GLIBCXX_3.4 4.1.1
+ _ZNSt9basic_iosIwSt11char_traitsIwEE4initEPSt15basic_streambufIwS1_E@GLIBCXX_3.4 4.1.1
+ _ZNSt9basic_iosIwSt11char_traitsIwEE4moveEOS2_@GLIBCXX_3.4.21 5
+ _ZNSt9basic_iosIwSt11char_traitsIwEE4moveERS2_@GLIBCXX_3.4.21 5
+ _ZNSt9basic_iosIwSt11char_traitsIwEE4swapERS2_@GLIBCXX_3.4.21 5
+ _ZNSt9basic_iosIwSt11char_traitsIwEE5clearESt12_Ios_Iostate@GLIBCXX_3.4 4.1.1
+ _ZNSt9basic_iosIwSt11char_traitsIwEE5imbueERKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZNSt9basic_iosIwSt11char_traitsIwEE5rdbufEPSt15basic_streambufIwS1_E@GLIBCXX_3.4 4.1.1
+ _ZNSt9basic_iosIwSt11char_traitsIwEE7copyfmtERKS2_@GLIBCXX_3.4 4.1.1
+ _ZNSt9basic_iosIwSt11char_traitsIwEE8setstateESt12_Ios_Iostate@GLIBCXX_3.4 4.1.1
+ _ZNSt9basic_iosIwSt11char_traitsIwEE9set_rdbufEPSt15basic_streambufIwS1_E@GLIBCXX_3.4.21 5
+ _ZNSt9basic_iosIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@GLIBCXX_3.4 4.1.1
+ _ZNSt9basic_iosIwSt11char_traitsIwEEC1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt9basic_iosIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@GLIBCXX_3.4 4.1.1
+ _ZNSt9basic_iosIwSt11char_traitsIwEEC2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt9basic_iosIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt9basic_iosIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt9basic_iosIwSt11char_traitsIwEED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt9exceptionD0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt9exceptionD1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt9exceptionD2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_3.4 4.1.1
+ _ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_3.4 4.1.1
+ _ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_3.4 4.1.1
+ _ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_3.4 4.1.1
+ _ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt9strstream3strEv@GLIBCXX_3.4 4.1.1
+ _ZNSt9strstream6freezeEb@GLIBCXX_3.4 4.1.1
+ _ZNSt9strstreamC1EPciSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt9strstreamC1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt9strstreamC2EPciSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt9strstreamC2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt9strstreamD0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt9strstreamD1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt9strstreamD2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt9type_infoD0Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt9type_infoD1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt9type_infoD2Ev@GLIBCXX_3.4 4.1.1
+ _ZNVSt9__atomic011atomic_flag12test_and_setESt12memory_order@GLIBCXX_3.4.11 4.4.0
+ _ZNVSt9__atomic011atomic_flag5clearESt12memory_order@GLIBCXX_3.4.11 4.4.0
+ _ZSt10adopt_lock@GLIBCXX_3.4.11 4.4.0
+ _ZSt10defer_lock@GLIBCXX_3.4.11 4.4.0
+ _ZSt10unexpectedv@GLIBCXX_3.4 4.1.1
+ _ZSt11__once_call@GLIBCXX_3.4.11 4.4.0
+ _ZSt11try_to_lock@GLIBCXX_3.4.11 4.4.0
+ _ZSt13get_terminatev@GLIBCXX_3.4.20 4.9
+ _ZSt13set_terminatePFvvE@GLIBCXX_3.4 4.1.1
+ _ZSt14__convert_to_vIdEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@GLIBCXX_3.4 4.1.1
+ _ZSt14__convert_to_vIeEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@GLIBCXX_3.4 4.1.1
+ _ZSt14__convert_to_vIfEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@GLIBCXX_3.4 4.1.1
+ _ZSt14get_unexpectedv@GLIBCXX_3.4.20 4.9
+ _ZSt14set_unexpectedPFvvE@GLIBCXX_3.4 4.1.1
+ _ZSt15__once_callable@GLIBCXX_3.4.11 4.4.0
+ _ZSt15future_category@GLIBCXX_3.4.14 4.5
+ _ZSt15future_categoryv@GLIBCXX_3.4.15 4.6
+ _ZSt15get_new_handlerv@GLIBCXX_3.4.20 4.9
+ _ZSt15set_new_handlerPFvvE@GLIBCXX_3.4 4.1.1
+ _ZSt15system_categoryv@GLIBCXX_3.4.11 4.4.0
+ _ZNSt13runtime_errorC1EPKc@GLIBCXX_3.4.21 5
+ _ZNSt13runtime_errorC1ERKS_@GLIBCXX_3.4.21 5
+ _ZNSt13runtime_errorC2EPKc@GLIBCXX_3.4.21 5
+ _ZNSt13runtime_errorC2ERKS_@GLIBCXX_3.4.21 5
+ _ZNSt13runtime_erroraSERKS_@GLIBCXX_3.4.21 5
+ _ZNSt14basic_ifstreamIcSt11char_traitsIcEE4swapERS2_@GLIBCXX_3.4.21 5
+ _ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1EOS2_@GLIBCXX_3.4.21 5
+ _ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2EOS2_@GLIBCXX_3.4.21 5
+ _ZNSt14basic_ifstreamIcSt11char_traitsIcEEaSEOS2_@GLIBCXX_3.4.21 5
+ _ZNSt14basic_ifstreamIwSt11char_traitsIwEE4swapERS2_@GLIBCXX_3.4.21 5
+ _ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1EOS2_@GLIBCXX_3.4.21 5
+ _ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2EOS2_@GLIBCXX_3.4.21 5
+ _ZNSt14basic_ifstreamIwSt11char_traitsIwEEaSEOS2_@GLIBCXX_3.4.21 5
+ _ZNSt14basic_iostreamIwSt11char_traitsIwEE4swapERS2_@GLIBCXX_3.4.21 5
+ _ZNSt14basic_iostreamIwSt11char_traitsIwEEC1EOS2_@GLIBCXX_3.4.21 5
+ _ZNSt14basic_iostreamIwSt11char_traitsIwEEC2EOS2_@GLIBCXX_3.4.21 5
+ _ZNSt14basic_iostreamIwSt11char_traitsIwEEaSEOS2_@GLIBCXX_3.4.21 5
+ _ZNSt14basic_ofstreamIcSt11char_traitsIcEE4swapERS2_@GLIBCXX_3.4.21 5
+ _ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1EOS2_@GLIBCXX_3.4.21 5
+ _ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2EOS2_@GLIBCXX_3.4.21 5
+ _ZNSt14basic_ofstreamIcSt11char_traitsIcEEaSEOS2_@GLIBCXX_3.4.21 5
+ _ZNSt14basic_ofstreamIwSt11char_traitsIwEE4swapERS2_@GLIBCXX_3.4.21 5
+ _ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1EOS2_@GLIBCXX_3.4.21 5
+ _ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2EOS2_@GLIBCXX_3.4.21 5
+ _ZNSt14basic_ofstreamIwSt11char_traitsIwEEaSEOS2_@GLIBCXX_3.4.21 5
+ _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE4swapERS3_@GLIBCXX_3.4.21 5
+ _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1EOS3_@GLIBCXX_3.4.21 5
+ _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2EOS3_@GLIBCXX_3.4.21 5
+ _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEaSEOS3_@GLIBCXX_3.4.21 5
+ _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE4swapERS3_@GLIBCXX_3.4.21 5
+ _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1EOS3_@GLIBCXX_3.4.21 5
+ _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2EOS3_@GLIBCXX_3.4.21 5
+ _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEaSEOS3_@GLIBCXX_3.4.21 5
+ _ZSt16__throw_bad_castv@GLIBCXX_3.4 4.1.1
+ _ZSt16generic_categoryv@GLIBCXX_3.4.11 4.4.0
+ _ZSt17__throw_bad_allocv@GLIBCXX_3.4 4.1.1
+ _ZSt18_Rb_tree_decrementPKSt18_Rb_tree_node_base@GLIBCXX_3.4 4.1.1
+ _ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base@GLIBCXX_3.4 4.1.1
+ _ZSt18_Rb_tree_incrementPKSt18_Rb_tree_node_base@GLIBCXX_3.4 4.1.1
+ _ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base@GLIBCXX_3.4 4.1.1
+ _ZSt18__throw_bad_typeidv@GLIBCXX_3.4 4.1.1
+ _ZSt18uncaught_exceptionv@GLIBCXX_3.4 4.1.1
+ _ZSt19__throw_ios_failurePKc@GLIBCXX_3.4 4.1.1
+ _ZSt19__throw_logic_errorPKc@GLIBCXX_3.4 4.1.1
+ _ZSt19__throw_range_errorPKc@GLIBCXX_3.4 4.1.1
+ _ZSt19__throw_regex_errorNSt15regex_constants10error_typeE@GLIBCXX_3.4.15 4.6
+ _ZSt19uncaught_exceptionsv@GLIBCXX_3.4.22 6
+ _ZSt20_Rb_tree_black_countPKSt18_Rb_tree_node_baseS1_@GLIBCXX_3.4 4.1.1
+ _ZSt20_Rb_tree_rotate_leftPSt18_Rb_tree_node_baseRS0_@GLIBCXX_3.4 4.1.1
+ _ZSt20__throw_domain_errorPKc@GLIBCXX_3.4 4.1.1
+ _ZSt20__throw_future_errori@GLIBCXX_3.4.14 4.5
+ _ZSt20__throw_length_errorPKc@GLIBCXX_3.4 4.1.1
+ _ZSt20__throw_out_of_rangePKc@GLIBCXX_3.4 4.1.1
+ _ZSt20__throw_system_errori@GLIBCXX_3.4.11 4.4.0
+ _ZSt21_Rb_tree_rotate_rightPSt18_Rb_tree_node_baseRS0_@GLIBCXX_3.4 4.1.1
+ _ZSt21__throw_bad_exceptionv@GLIBCXX_3.4 4.1.1
+ _ZSt21__throw_runtime_errorPKc@GLIBCXX_3.4 4.1.1
+ _ZSt22__throw_overflow_errorPKc@GLIBCXX_3.4 4.1.1
+ _ZSt23__throw_underflow_errorPKc@GLIBCXX_3.4 4.1.1
+ _ZSt24__throw_invalid_argumentPKc@GLIBCXX_3.4 4.1.1
+ _ZSt24__throw_out_of_range_fmtPKcz@GLIBCXX_3.4.20 4.9
+ _ZSt25__throw_bad_function_callv@GLIBCXX_3.4.14 4.5
+ _ZSt25notify_all_at_thread_exitRSt18condition_variableSt11unique_lockISt5mutexE@GLIBCXX_3.4.21 5
+ _ZSt28_Rb_tree_rebalance_for_erasePSt18_Rb_tree_node_baseRS_@GLIBCXX_3.4 4.1.1
+ _ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_@GLIBCXX_3.4 4.1.1
+ _ZSt2wsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_@GLIBCXX_3.4 4.1.1
+ _ZSt2wsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_@GLIBCXX_3.4 4.1.1
+ _ZSt3cin@GLIBCXX_3.4 4.1.1
+ _ZSt4cerr@GLIBCXX_3.4 4.1.1
+ _ZSt4clog@GLIBCXX_3.4 4.1.1
+ _ZSt4cout@GLIBCXX_3.4 4.1.1
+ _ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@GLIBCXX_3.4 4.1.1
+ _ZSt4endlIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@GLIBCXX_3.4 4.1.1
+ _ZSt4endsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@GLIBCXX_3.4 4.1.1
+ _ZSt4endsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@GLIBCXX_3.4 4.1.1
+ _ZSt4wcin@GLIBCXX_3.4 4.1.1
+ _ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@GLIBCXX_3.4 4.1.1
+ _ZSt5flushIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@GLIBCXX_3.4 4.1.1
+ _ZSt5wcerr@GLIBCXX_3.4 4.1.1
+ _ZSt5wclog@GLIBCXX_3.4 4.1.1
+ _ZSt5wcout@GLIBCXX_3.4 4.1.1
+ _ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@GLIBCXX_3.4 4.1.1
+ _ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@GLIBCXX_3.4 4.1.1
+ _ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@GLIBCXX_3.4 4.1.1
+ _ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@GLIBCXX_3.4 4.1.1
+ _ZSt7nothrow@GLIBCXX_3.4 4.1.1
+ _ZSt9has_facetISt10moneypunctIcLb0EEEbRKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZSt9has_facetISt10moneypunctIwLb0EEEbRKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZSt9has_facetISt11__timepunctIcEEbRKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZSt9has_facetISt11__timepunctIwEEbRKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZSt9has_facetISt5ctypeIcEEbRKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZSt9has_facetISt5ctypeIwEEbRKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZSt9has_facetISt7codecvtIcc11__mbstate_tEEbRKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZSt9has_facetISt7codecvtIwc11__mbstate_tEEbRKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZSt9has_facetISt7collateIcEEbRKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZSt9has_facetISt7collateIwEEbRKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZSt9has_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZSt9has_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZSt9has_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZSt9has_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZSt9has_facetISt8messagesIcEEbRKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZSt9has_facetISt8messagesIwEEbRKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZSt9has_facetISt8numpunctIcEEbRKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZSt9has_facetISt8numpunctIwEEbRKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZSt9has_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZSt9has_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZSt9has_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZSt9has_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZSt9has_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZSt9has_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZSt9has_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZSt9has_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZSt9terminatev@GLIBCXX_3.4 4.1.1
+ _ZSt9use_facetISt10moneypunctIcLb0EEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZSt9use_facetISt10moneypunctIcLb1EEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZSt9use_facetISt10moneypunctIwLb0EEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZSt9use_facetISt10moneypunctIwLb1EEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZSt9use_facetISt11__timepunctIcEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZSt9use_facetISt11__timepunctIwEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZSt9use_facetISt5ctypeIcEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZSt9use_facetISt5ctypeIwEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZSt9use_facetISt7codecvtIcc11__mbstate_tEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZSt9use_facetISt7codecvtIwc11__mbstate_tEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZSt9use_facetISt7collateIcEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZSt9use_facetISt7collateIwEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZSt9use_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZSt9use_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZSt9use_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZSt9use_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZSt9use_facetISt8messagesIcEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZSt9use_facetISt8messagesIwEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZSt9use_facetISt8numpunctIcEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZSt9use_facetISt8numpunctIwEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZSt9use_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZSt9use_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZSt9use_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZSt9use_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZSt9use_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZSt9use_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZSt9use_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZSt9use_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1
+ _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKa@GLIBCXX_3.4 4.1.1
+ _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@GLIBCXX_3.4 4.1.1
+ _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKh@GLIBCXX_3.4 4.1.1
+ _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_a@GLIBCXX_3.4 4.1.1
+ _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c@GLIBCXX_3.4 4.1.1
+ _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_h@GLIBCXX_3.4 4.1.1
+ _ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@GLIBCXX_3.4 4.1.1
+ _ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@GLIBCXX_3.4 4.1.1
+ _ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@GLIBCXX_3.4 4.1.1
+ _ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St5_Setw@GLIBCXX_3.4 4.1.1
+ _ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@GLIBCXX_3.4 4.1.1
+ _ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@GLIBCXX_3.4 4.1.1
+ _ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@GLIBCXX_3.4 4.1.1
+ _ZStlsIdcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@GLIBCXX_3.4 4.1.1
+ _ZStlsIdwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@GLIBCXX_3.4 4.1.1
+ _ZStlsIecSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@GLIBCXX_3.4 4.1.1
+ _ZStlsIewSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@GLIBCXX_3.4 4.1.1
+ _ZStlsIfcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@GLIBCXX_3.4 4.1.1
+ _ZStlsIfwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@GLIBCXX_3.4 4.1.1
+ _ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_@GLIBCXX_3.4 4.1.1
+ _ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKc@GLIBCXX_3.4 4.1.1
+ _ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_S3_@GLIBCXX_3.4 4.1.1
+ _ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@GLIBCXX_3.4 4.1.1
+ _ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@GLIBCXX_3.4 4.1.1
+ _ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@GLIBCXX_3.4 4.1.1
+ _ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St5_Setw@GLIBCXX_3.4 4.1.1
+ _ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@GLIBCXX_3.4 4.1.1
+ _ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@GLIBCXX_3.4 4.1.1
+ _ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_c@GLIBCXX_3.4 4.1.1
+ _ZStlsIwSt11char_traitsIwESaIwEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@GLIBCXX_3.4 4.1.1
+ _ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_EPKS3_RKS6_@GLIBCXX_3.4 4.1.1
+ _ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_S8_@GLIBCXX_3.4 4.1.1
+ _ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ES3_RKS6_@GLIBCXX_3.4 4.1.1
+ _ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_EPKS3_RKS6_@GLIBCXX_3.4 4.1.1
+ _ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ERKS6_S8_@GLIBCXX_3.4 4.1.1
+ _ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ES3_RKS6_@GLIBCXX_3.4 4.1.1
+ _ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Pa@GLIBCXX_3.4 4.1.1
+ _ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ph@GLIBCXX_3.4 4.1.1
+ _ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ra@GLIBCXX_3.4 4.1.1
+ _ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Rh@GLIBCXX_3.4 4.1.1
+ _ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_PS3_@GLIBCXX_3.4 4.1.1
+ _ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_RS3_@GLIBCXX_3.4 4.1.1
+ _ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@GLIBCXX_3.4 4.1.1
+ _ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@GLIBCXX_3.4 4.1.1
+ _ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@GLIBCXX_3.4 4.1.1
+ _ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St5_Setw@GLIBCXX_3.4 4.1.1
+ _ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_Setbase@GLIBCXX_3.4 4.1.1
+ _ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@GLIBCXX_3.4 4.1.1
+ _ZStrsIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@GLIBCXX_3.4 4.1.1
+ _ZStrsIdcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@GLIBCXX_3.4 4.1.1
+ _ZStrsIdwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@GLIBCXX_3.4 4.1.1
+ _ZStrsIecSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@GLIBCXX_3.4 4.1.1
+ _ZStrsIewSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@GLIBCXX_3.4 4.1.1
+ _ZStrsIfcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@GLIBCXX_3.4 4.1.1
+ _ZStrsIfwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@GLIBCXX_3.4 4.1.1
+ _ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_PS3_@GLIBCXX_3.4 4.1.1
+ _ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_RS3_@GLIBCXX_3.4 4.1.1
+ _ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@GLIBCXX_3.4 4.1.1
+ _ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@GLIBCXX_3.4 4.1.1
+ _ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@GLIBCXX_3.4 4.1.1
+ _ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St5_Setw@GLIBCXX_3.4 4.1.1
+ _ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_Setbase@GLIBCXX_3.4 4.1.1
+ _ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@GLIBCXX_3.4 4.1.1
+ _ZStrsIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@GLIBCXX_3.4 4.1.1
+ _ZTIDd@CXXABI_1.3.4 4.5
+ _ZTIDe@CXXABI_1.3.4 4.5
+ _ZTIDf@CXXABI_1.3.4 4.5
+ _ZTIDi@CXXABI_1.3.3 4.4.0
+ _ZTIDn@CXXABI_1.3.5 4.6
+ _ZTIDs@CXXABI_1.3.3 4.4.0
+ _ZTIN10__cxxabiv115__forced_unwindE@CXXABI_1.3.2 4.3
+ _ZTIN10__cxxabiv116__enum_type_infoE@CXXABI_1.3 4.1.1
+ _ZTIN10__cxxabiv117__array_type_infoE@CXXABI_1.3 4.1.1
+ _ZTIN10__cxxabiv117__class_type_infoE@CXXABI_1.3 4.1.1
+ _ZTIN10__cxxabiv117__pbase_type_infoE@CXXABI_1.3 4.1.1
+ _ZTIN10__cxxabiv119__foreign_exceptionE@CXXABI_1.3.2 4.3
+ _ZTIN10__cxxabiv119__pointer_type_infoE@CXXABI_1.3 4.1.1
+ _ZTIN10__cxxabiv120__function_type_infoE@CXXABI_1.3 4.1.1
+ _ZTIN10__cxxabiv120__si_class_type_infoE@CXXABI_1.3 4.1.1
+ _ZTIN10__cxxabiv121__vmi_class_type_infoE@CXXABI_1.3 4.1.1
+ _ZTIN10__cxxabiv123__fundamental_type_infoE@CXXABI_1.3 4.1.1
+ _ZTIN10__cxxabiv129__pointer_to_member_type_infoE@CXXABI_1.3 4.1.1
+ _ZTIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1
+ _ZTIN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1
+ _ZTIN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1
+ _ZTIN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1
+ _ZTINSt3_V214error_categoryE@GLIBCXX_3.4.21 5
+ _ZTINSt6locale5facetE@GLIBCXX_3.4 4.1.1
+ _ZTINSt6thread6_StateE@GLIBCXX_3.4.22 6
+ _ZTINSt8ios_base7failureE@GLIBCXX_3.4 4.1.1
+ _ZTIPDd@CXXABI_1.3.4 4.5
+ _ZTIPDe@CXXABI_1.3.4 4.5
+ _ZTIPDf@CXXABI_1.3.4 4.5
+ _ZTIPDi@CXXABI_1.3.3 4.4.0
+ _ZTIPDn@CXXABI_1.3.5 4.6
+ _ZTIPDs@CXXABI_1.3.3 4.4.0
+ _ZTIPKDd@CXXABI_1.3.4 4.5
+ _ZTIPKDe@CXXABI_1.3.4 4.5
+ _ZTIPKDf@CXXABI_1.3.4 4.5
+ _ZTIPKDi@CXXABI_1.3.3 4.4.0
+ _ZTIPKDn@CXXABI_1.3.5 4.6
+ _ZTIPKDs@CXXABI_1.3.3 4.4.0
+ _ZTIPKa@CXXABI_1.3 4.1.1
+ _ZTIPKb@CXXABI_1.3 4.1.1
+ _ZTIPKc@CXXABI_1.3 4.1.1
+ _ZTIPKd@CXXABI_1.3 4.1.1
+ _ZTIPKe@CXXABI_1.3 4.1.1
+ _ZTIPKf@CXXABI_1.3 4.1.1
+ _ZTIPKh@CXXABI_1.3 4.1.1
+ _ZTIPKi@CXXABI_1.3 4.1.1
+ _ZTIPKj@CXXABI_1.3 4.1.1
+ _ZTIPKl@CXXABI_1.3 4.1.1
+ _ZTIPKm@CXXABI_1.3 4.1.1
+ _ZTIPKs@CXXABI_1.3 4.1.1
+ _ZTIPKt@CXXABI_1.3 4.1.1
+ _ZTIPKv@CXXABI_1.3 4.1.1
+ _ZTIPKw@CXXABI_1.3 4.1.1
+ _ZTIPKx@CXXABI_1.3 4.1.1
+ _ZTIPKy@CXXABI_1.3 4.1.1
+ _ZTIPa@CXXABI_1.3 4.1.1
+ _ZTIPb@CXXABI_1.3 4.1.1
+ _ZTIPc@CXXABI_1.3 4.1.1
+ _ZTIPd@CXXABI_1.3 4.1.1
+ _ZTIPe@CXXABI_1.3 4.1.1
+ _ZTIPf@CXXABI_1.3 4.1.1
+ _ZTIPh@CXXABI_1.3 4.1.1
+ _ZTIPi@CXXABI_1.3 4.1.1
+ _ZTIPj@CXXABI_1.3 4.1.1
+ _ZTIPl@CXXABI_1.3 4.1.1
+ _ZTIPm@CXXABI_1.3 4.1.1
+ _ZTIPs@CXXABI_1.3 4.1.1
+ _ZTIPt@CXXABI_1.3 4.1.1
+ _ZTIPv@CXXABI_1.3 4.1.1
+ _ZTIPw@CXXABI_1.3 4.1.1
+ _ZTIPx@CXXABI_1.3 4.1.1
+ _ZTIPy@CXXABI_1.3 4.1.1
+ _ZTISd@GLIBCXX_3.4 4.1.1
+ _ZTISi@GLIBCXX_3.4 4.1.1
+ _ZTISo@GLIBCXX_3.4 4.1.1
+ _ZTISt10bad_typeid@GLIBCXX_3.4 4.1.1
+ _ZTISt10ctype_base@GLIBCXX_3.4 4.1.1
+ _ZTISt10istrstream@GLIBCXX_3.4 4.1.1
+ _ZTISt10lock_error@GLIBCXX_3.4.11 4.4.0
+ _ZTISt10money_base@GLIBCXX_3.4 4.1.1
+ _ZTISt10moneypunctIcLb0EE@GLIBCXX_3.4 4.1.1
+ _ZTISt10moneypunctIcLb1EE@GLIBCXX_3.4 4.1.1
+ _ZTISt10moneypunctIwLb0EE@GLIBCXX_3.4 4.1.1
+ _ZTISt10moneypunctIwLb1EE@GLIBCXX_3.4 4.1.1
+ _ZTISt10ostrstream@GLIBCXX_3.4 4.1.1
+ _ZTISt11__timepunctIcE@GLIBCXX_3.4 4.1.1
+ _ZTISt11__timepunctIwE@GLIBCXX_3.4 4.1.1
+ _ZTISt11logic_error@GLIBCXX_3.4 4.1.1
+ _ZTISt11range_error@GLIBCXX_3.4 4.1.1
+ _ZTISt11regex_error@GLIBCXX_3.4.15 4.6
+ _ZTISt12bad_weak_ptr@GLIBCXX_3.4.15 4.6
+ _ZTISt12codecvt_base@GLIBCXX_3.4 4.1.1
+ _ZTISt12ctype_bynameIcE@GLIBCXX_3.4 4.1.1
+ _ZTISt12ctype_bynameIwE@GLIBCXX_3.4 4.1.1
+ _ZTISt12domain_error@GLIBCXX_3.4 4.1.1
+ _ZTISt12future_error@GLIBCXX_3.4.14 4.5
+ _ZTISt12length_error@GLIBCXX_3.4 4.1.1
+ _ZTISt12out_of_range@GLIBCXX_3.4 4.1.1
+ _ZTISt12strstreambuf@GLIBCXX_3.4 4.1.1
+ _ZTISt12system_error@GLIBCXX_3.4.11 4.4.0
+ _ZTISt13bad_exception@GLIBCXX_3.4 4.1.1
+ _ZTISt13basic_filebufIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1
+ _ZTISt13basic_filebufIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1
+ _ZTISt13basic_fstreamIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1
+ _ZTISt13basic_fstreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1
+ _ZTISt13basic_istreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1
+ _ZTISt13basic_ostreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1
+ _ZTISt13messages_base@GLIBCXX_3.4 4.1.1
+ _ZTISt13runtime_error@GLIBCXX_3.4 4.1.1
+ _ZTISt14basic_ifstreamIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1
+ _ZTISt14basic_ifstreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1
+ _ZTISt14basic_iostreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1
+ _ZTISt14basic_ofstreamIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1
+ _ZTISt14basic_ofstreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1
+ _ZTISt14codecvt_bynameIcc11__mbstate_tE@GLIBCXX_3.4 4.1.1
+ _ZTISt14codecvt_bynameIwc11__mbstate_tE@GLIBCXX_3.4 4.1.1
+ _ZTISt14collate_bynameIcE@GLIBCXX_3.4 4.1.1
+ _ZTISt14collate_bynameIwE@GLIBCXX_3.4 4.1.1
+ _ZTISt14error_category@GLIBCXX_3.4.11 4.4.0
+ _ZTISt14overflow_error@GLIBCXX_3.4 4.1.1
+ _ZTISt15basic_streambufIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1
+ _ZTISt15basic_streambufIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1
+ _ZTISt15basic_stringbufIcSt11char_traitsIcESaIcEE@GLIBCXX_3.4 4.1.1
+ _ZTISt15basic_stringbufIwSt11char_traitsIwESaIwEE@GLIBCXX_3.4 4.1.1
+ _ZTISt15messages_bynameIcE@GLIBCXX_3.4 4.1.1
+ _ZTISt15messages_bynameIwE@GLIBCXX_3.4 4.1.1
+ _ZTISt15numpunct_bynameIcE@GLIBCXX_3.4 4.1.1
+ _ZTISt15numpunct_bynameIwE@GLIBCXX_3.4 4.1.1
+ _ZTISt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1
+ _ZTISt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1
+ _ZTISt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1
+ _ZTISt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1
+ _ZTISt15underflow_error@GLIBCXX_3.4 4.1.1
+ _ZTISt16bad_array_length@CXXABI_1.3.8 4.9
+ _ZTISt16invalid_argument@GLIBCXX_3.4 4.1.1
+ _ZTISt17bad_function_call@GLIBCXX_3.4.15 4.6
+ _ZTISt17moneypunct_bynameIcLb0EE@GLIBCXX_3.4 4.1.1
+ _ZTISt17moneypunct_bynameIcLb1EE@GLIBCXX_3.4 4.1.1
+ _ZTISt17moneypunct_bynameIwLb0EE@GLIBCXX_3.4 4.1.1
+ _ZTISt17moneypunct_bynameIwLb1EE@GLIBCXX_3.4 4.1.1
+ _ZTISt18basic_stringstreamIcSt11char_traitsIcESaIcEE@GLIBCXX_3.4 4.1.1
+ _ZTISt18basic_stringstreamIwSt11char_traitsIwESaIwEE@GLIBCXX_3.4 4.1.1
+ _ZTISt19__codecvt_utf8_baseIDiE@GLIBCXX_3.4.21 5
+ _ZTISt19__codecvt_utf8_baseIDsE@GLIBCXX_3.4.21 5
+ _ZTISt19__codecvt_utf8_baseIwE@GLIBCXX_3.4.21 5
+ _ZTISt19basic_istringstreamIcSt11char_traitsIcESaIcEE@GLIBCXX_3.4 4.1.1
+ _ZTISt19basic_istringstreamIwSt11char_traitsIwESaIwEE@GLIBCXX_3.4 4.1.1
+ _ZTISt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@GLIBCXX_3.4 4.1.1
+ _ZTISt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@GLIBCXX_3.4 4.1.1
+ _ZTISt20__codecvt_utf16_baseIDiE@GLIBCXX_3.4.21 5
+ _ZTISt20__codecvt_utf16_baseIDsE@GLIBCXX_3.4.21 5
+ _ZTISt20__codecvt_utf16_baseIwE@GLIBCXX_3.4.21 5
+ _ZTISt20bad_array_new_length@CXXABI_1.3.8 4.9
+ _ZTISt21__ctype_abstract_baseIcE@GLIBCXX_3.4 4.1.1
+ _ZTISt21__ctype_abstract_baseIwE@GLIBCXX_3.4 4.1.1
+ _ZTISt23__codecvt_abstract_baseIcc11__mbstate_tE@GLIBCXX_3.4 4.1.1
+ _ZTISt23__codecvt_abstract_baseIwc11__mbstate_tE@GLIBCXX_3.4 4.1.1
+ _ZTISt25__codecvt_utf8_utf16_baseIDiE@GLIBCXX_3.4.21 5
+ _ZTISt25__codecvt_utf8_utf16_baseIDsE@GLIBCXX_3.4.21 5
+ _ZTISt25__codecvt_utf8_utf16_baseIwE@GLIBCXX_3.4.21 5
+ _ZTISt5ctypeIcE@GLIBCXX_3.4 4.1.1
+ _ZTISt5ctypeIwE@GLIBCXX_3.4 4.1.1
+ _ZTISt7codecvtIDic11__mbstate_tE@GLIBCXX_3.4.21 5
+ _ZTISt7codecvtIDsc11__mbstate_tE@GLIBCXX_3.4.21 5
+ _ZTISt7codecvtIcc11__mbstate_tE@GLIBCXX_3.4 4.1.1
+ _ZTISt7codecvtIwc11__mbstate_tE@GLIBCXX_3.4 4.1.1
+ _ZTISt7collateIcE@GLIBCXX_3.4 4.1.1
+ _ZTISt7collateIwE@GLIBCXX_3.4 4.1.1
+ _ZTISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1
+ _ZTISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1
+ _ZTISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1
+ _ZTISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1
+ _ZTISt8bad_cast@GLIBCXX_3.4 4.1.1
+ _ZTISt8ios_base@GLIBCXX_3.4 4.1.1
+ _ZTISt8messagesIcE@GLIBCXX_3.4 4.1.1
+ _ZTISt8messagesIwE@GLIBCXX_3.4 4.1.1
+ _ZTISt8numpunctIcE@GLIBCXX_3.4 4.1.1
+ _ZTISt8numpunctIwE@GLIBCXX_3.4 4.1.1
+ _ZTISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1
+ _ZTISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1
+ _ZTISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1
+ _ZTISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1
+ _ZTISt9bad_alloc@GLIBCXX_3.4 4.1.1
+ _ZTISt9basic_iosIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1
+ _ZTISt9basic_iosIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1
+ _ZTISt9exception@GLIBCXX_3.4 4.1.1
+ _ZTISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1
+ _ZTISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1
+ _ZTISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1
+ _ZTISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1
+ _ZTISt9strstream@GLIBCXX_3.4 4.1.1
+ _ZTISt9time_base@GLIBCXX_3.4 4.1.1
+ _ZTISt9type_info@GLIBCXX_3.4 4.1.1
+ _ZTIa@CXXABI_1.3 4.1.1
+ _ZTIb@CXXABI_1.3 4.1.1
+ _ZTIc@CXXABI_1.3 4.1.1
+ _ZTId@CXXABI_1.3 4.1.1
+ _ZTIe@CXXABI_1.3 4.1.1
+ _ZTIf@CXXABI_1.3 4.1.1
+ _ZTIh@CXXABI_1.3 4.1.1
+ _ZTIi@CXXABI_1.3 4.1.1
+ _ZTIj@CXXABI_1.3 4.1.1
+ _ZTIl@CXXABI_1.3 4.1.1
+ _ZTIm@CXXABI_1.3 4.1.1
+ _ZTIs@CXXABI_1.3 4.1.1
+ _ZTIt@CXXABI_1.3 4.1.1
+ _ZTIv@CXXABI_1.3 4.1.1
+ _ZTIw@CXXABI_1.3 4.1.1
+ _ZTIx@CXXABI_1.3 4.1.1
+ _ZTIy@CXXABI_1.3 4.1.1
+ _ZTSN10__cxxabiv116__enum_type_infoE@CXXABI_1.3 4.1.1
+ _ZTSN10__cxxabiv117__array_type_infoE@CXXABI_1.3 4.1.1
+ _ZTSN10__cxxabiv117__class_type_infoE@CXXABI_1.3 4.1.1
+ _ZTSN10__cxxabiv117__pbase_type_infoE@CXXABI_1.3 4.1.1
+ _ZTSN10__cxxabiv119__pointer_type_infoE@CXXABI_1.3 4.1.1
+ _ZTSN10__cxxabiv120__function_type_infoE@CXXABI_1.3 4.1.1
+ _ZTSN10__cxxabiv120__si_class_type_infoE@CXXABI_1.3 4.1.1
+ _ZTSN10__cxxabiv121__vmi_class_type_infoE@CXXABI_1.3 4.1.1
+ _ZTSN10__cxxabiv123__fundamental_type_infoE@CXXABI_1.3 4.1.1
+ _ZTSN10__cxxabiv129__pointer_to_member_type_infoE@CXXABI_1.3 4.1.1
+ _ZTSN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1
+ _ZTSN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1
+ _ZTSN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1
+ _ZTSN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1
+ _ZTSNSt6locale5facetE@GLIBCXX_3.4 4.1.1
+ _ZTSNSt6thread6_StateE@GLIBCXX_3.4.22 6
+ _ZTSNSt8ios_base7failureE@GLIBCXX_3.4 4.1.1
+ _ZTSPKa@CXXABI_1.3 4.1.1
+ _ZTSPKb@CXXABI_1.3 4.1.1
+ _ZTSPKc@CXXABI_1.3 4.1.1
+ _ZTSPKd@CXXABI_1.3 4.1.1
+ _ZTSPKe@CXXABI_1.3 4.1.1
+ _ZTSPKf@CXXABI_1.3 4.1.1
+ _ZTSPKh@CXXABI_1.3 4.1.1
+ _ZTSPKi@CXXABI_1.3 4.1.1
+ _ZTSPKj@CXXABI_1.3 4.1.1
+ _ZTSPKl@CXXABI_1.3 4.1.1
+ _ZTSPKm@CXXABI_1.3 4.1.1
+ _ZTSPKs@CXXABI_1.3 4.1.1
+ _ZTSPKt@CXXABI_1.3 4.1.1
+ _ZTSPKv@CXXABI_1.3 4.1.1
+ _ZTSPKw@CXXABI_1.3 4.1.1
+ _ZTSPKx@CXXABI_1.3 4.1.1
+ _ZTSPKy@CXXABI_1.3 4.1.1
+ _ZTSPa@CXXABI_1.3 4.1.1
+ _ZTSPb@CXXABI_1.3 4.1.1
+ _ZTSPc@CXXABI_1.3 4.1.1
+ _ZTSPd@CXXABI_1.3 4.1.1
+ _ZTSPe@CXXABI_1.3 4.1.1
+ _ZTSPf@CXXABI_1.3 4.1.1
+ _ZTSPh@CXXABI_1.3 4.1.1
+ _ZTSPi@CXXABI_1.3 4.1.1
+ _ZTSPj@CXXABI_1.3 4.1.1
+ _ZTSPl@CXXABI_1.3 4.1.1
+ _ZTSPm@CXXABI_1.3 4.1.1
+ _ZTSPs@CXXABI_1.3 4.1.1
+ _ZTSPt@CXXABI_1.3 4.1.1
+ _ZTSPv@CXXABI_1.3 4.1.1
+ _ZTSPw@CXXABI_1.3 4.1.1
+ _ZTSPx@CXXABI_1.3 4.1.1
+ _ZTSPy@CXXABI_1.3 4.1.1
+ _ZTSSd@GLIBCXX_3.4 4.1.1
+ _ZTSSi@GLIBCXX_3.4 4.1.1
+ _ZTSSo@GLIBCXX_3.4 4.1.1
+ _ZTSSt10bad_typeid@GLIBCXX_3.4 4.1.1
+ _ZTSSt10ctype_base@GLIBCXX_3.4 4.1.1
+ _ZTSSt10istrstream@GLIBCXX_3.4 4.1.1
+ _ZTSSt10lock_error@GLIBCXX_3.4.11 4.4.0
+ _ZTSSt10money_base@GLIBCXX_3.4 4.1.1
+ _ZTSSt10moneypunctIcLb0EE@GLIBCXX_3.4 4.1.1
+ _ZTSSt10moneypunctIcLb1EE@GLIBCXX_3.4 4.1.1
+ _ZTSSt10moneypunctIwLb0EE@GLIBCXX_3.4 4.1.1
+ _ZTSSt10moneypunctIwLb1EE@GLIBCXX_3.4 4.1.1
+ _ZTSSt10ostrstream@GLIBCXX_3.4 4.1.1
+ _ZTSSt11__timepunctIcE@GLIBCXX_3.4 4.1.1
+ _ZTSSt11__timepunctIwE@GLIBCXX_3.4 4.1.1
+ _ZTSSt11logic_error@GLIBCXX_3.4 4.1.1
+ _ZTSSt11range_error@GLIBCXX_3.4 4.1.1
+ _ZTSSt12codecvt_base@GLIBCXX_3.4 4.1.1
+ _ZTSSt12ctype_bynameIcE@GLIBCXX_3.4 4.1.1
+ _ZTSSt12ctype_bynameIwE@GLIBCXX_3.4 4.1.1
+ _ZTSSt12domain_error@GLIBCXX_3.4 4.1.1
+ _ZTSSt12future_error@GLIBCXX_3.4.14 4.5
+ _ZTSSt12length_error@GLIBCXX_3.4 4.1.1
+ _ZTSSt12out_of_range@GLIBCXX_3.4 4.1.1
+ _ZTSSt12strstreambuf@GLIBCXX_3.4 4.1.1
+ _ZTSSt12system_error@GLIBCXX_3.4.11 4.4.0
+ _ZTSSt13bad_exception@GLIBCXX_3.4 4.1.1
+ _ZTSSt13basic_filebufIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1
+ _ZTSSt13basic_filebufIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1
+ _ZTSSt13basic_fstreamIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1
+ _ZTSSt13basic_fstreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1
+ _ZTSSt13basic_istreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1
+ _ZTSSt13basic_ostreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1
+ _ZTSSt13messages_base@GLIBCXX_3.4 4.1.1
+ _ZTSSt13runtime_error@GLIBCXX_3.4 4.1.1
+ _ZTSSt14basic_ifstreamIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1
+ _ZTSSt14basic_ifstreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1
+ _ZTSSt14basic_iostreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1
+ _ZTSSt14basic_ofstreamIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1
+ _ZTSSt14basic_ofstreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1
+ _ZTSSt14codecvt_bynameIcc11__mbstate_tE@GLIBCXX_3.4 4.1.1
+ _ZTSSt14codecvt_bynameIwc11__mbstate_tE@GLIBCXX_3.4 4.1.1
+ _ZTSSt14collate_bynameIcE@GLIBCXX_3.4 4.1.1
+ _ZTSSt14collate_bynameIwE@GLIBCXX_3.4 4.1.1
+ _ZTSSt14error_category@GLIBCXX_3.4.11 4.4.0
+ _ZTSSt14overflow_error@GLIBCXX_3.4 4.1.1
+ _ZTSSt15basic_streambufIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1
+ _ZTSSt15basic_streambufIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1
+ _ZTSSt15basic_stringbufIcSt11char_traitsIcESaIcEE@GLIBCXX_3.4 4.1.1
+ _ZTSSt15basic_stringbufIwSt11char_traitsIwESaIwEE@GLIBCXX_3.4 4.1.1
+ _ZTSSt15messages_bynameIcE@GLIBCXX_3.4 4.1.1
+ _ZTSSt15messages_bynameIwE@GLIBCXX_3.4 4.1.1
+ _ZTSSt15numpunct_bynameIcE@GLIBCXX_3.4 4.1.1
+ _ZTSSt15numpunct_bynameIwE@GLIBCXX_3.4 4.1.1
+ _ZTSSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1
+ _ZTSSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1
+ _ZTSSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1
+ _ZTSSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1
+ _ZTSSt15underflow_error@GLIBCXX_3.4 4.1.1
+ _ZTSSt16bad_array_length@CXXABI_1.3.8 4.9
+ _ZTSSt16invalid_argument@GLIBCXX_3.4 4.1.1
+ _ZTSSt17moneypunct_bynameIcLb0EE@GLIBCXX_3.4 4.1.1
+ _ZTSSt17moneypunct_bynameIcLb1EE@GLIBCXX_3.4 4.1.1
+ _ZTSSt17moneypunct_bynameIwLb0EE@GLIBCXX_3.4 4.1.1
+ _ZTSSt17moneypunct_bynameIwLb1EE@GLIBCXX_3.4 4.1.1
+ _ZTSSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@GLIBCXX_3.4 4.1.1
+ _ZTSSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@GLIBCXX_3.4 4.1.1
+ _ZTSSt19__codecvt_utf8_baseIDiE@GLIBCXX_3.4.21 5
+ _ZTSSt19__codecvt_utf8_baseIDsE@GLIBCXX_3.4.21 5
+ _ZTSSt19__codecvt_utf8_baseIwE@GLIBCXX_3.4.21 5
+ _ZTSSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@GLIBCXX_3.4 4.1.1
+ _ZTSSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@GLIBCXX_3.4 4.1.1
+ _ZTSSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@GLIBCXX_3.4 4.1.1
+ _ZTSSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@GLIBCXX_3.4 4.1.1
+ _ZTSSt20__codecvt_utf16_baseIDiE@GLIBCXX_3.4.21 5
+ _ZTSSt20__codecvt_utf16_baseIDsE@GLIBCXX_3.4.21 5
+ _ZTSSt20__codecvt_utf16_baseIwE@GLIBCXX_3.4.21 5
+ _ZTSSt20bad_array_new_length@CXXABI_1.3.8 4.9
+ _ZTSSt21__ctype_abstract_baseIcE@GLIBCXX_3.4 4.1.1
+ _ZTSSt21__ctype_abstract_baseIwE@GLIBCXX_3.4 4.1.1
+ _ZTSSt23__codecvt_abstract_baseIcc11__mbstate_tE@GLIBCXX_3.4 4.1.1
+ _ZTSSt23__codecvt_abstract_baseIwc11__mbstate_tE@GLIBCXX_3.4 4.1.1
+ _ZTSSt25__codecvt_utf8_utf16_baseIDiE@GLIBCXX_3.4.21 5
+ _ZTSSt25__codecvt_utf8_utf16_baseIDsE@GLIBCXX_3.4.21 5
+ _ZTSSt25__codecvt_utf8_utf16_baseIwE@GLIBCXX_3.4.21 5
+ _ZTSSt5ctypeIcE@GLIBCXX_3.4 4.1.1
+ _ZTSSt5ctypeIwE@GLIBCXX_3.4 4.1.1
+ _ZTSSt7codecvtIDic11__mbstate_tE@GLIBCXX_3.4.21 5
+ _ZTSSt7codecvtIDsc11__mbstate_tE@GLIBCXX_3.4.21 5
+ _ZTSSt7codecvtIcc11__mbstate_tE@GLIBCXX_3.4 4.1.1
+ _ZTSSt7codecvtIwc11__mbstate_tE@GLIBCXX_3.4 4.1.1
+ _ZTSSt7collateIcE@GLIBCXX_3.4 4.1.1
+ _ZTSSt7collateIwE@GLIBCXX_3.4 4.1.1
+ _ZTSSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1
+ _ZTSSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1
+ _ZTSSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1
+ _ZTSSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1
+ _ZTSSt8bad_cast@GLIBCXX_3.4 4.1.1
+ _ZTSSt8ios_base@GLIBCXX_3.4 4.1.1
+ _ZTSSt8messagesIcE@GLIBCXX_3.4 4.1.1
+ _ZTSSt8messagesIwE@GLIBCXX_3.4 4.1.1
+ _ZTSSt8numpunctIcE@GLIBCXX_3.4 4.1.1
+ _ZTSSt8numpunctIwE@GLIBCXX_3.4 4.1.1
+ _ZTSSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1
+ _ZTSSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1
+ _ZTSSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1
+ _ZTSSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1
+ _ZTSSt9bad_alloc@GLIBCXX_3.4 4.1.1
+ _ZTSSt9basic_iosIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1
+ _ZTSSt9basic_iosIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1
+ _ZTSSt9exception@GLIBCXX_3.4 4.1.1
+ _ZTSSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1
+ _ZTSSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1
+ _ZTSSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1
+ _ZTSSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1
+ _ZTSSt9strstream@GLIBCXX_3.4 4.1.1
+ _ZTSSt9time_base@GLIBCXX_3.4 4.1.1
+ _ZTSSt9type_info@GLIBCXX_3.4 4.1.1
+ _ZTSa@CXXABI_1.3 4.1.1
+ _ZTSb@CXXABI_1.3 4.1.1
+ _ZTSc@CXXABI_1.3 4.1.1
+ _ZTSd@CXXABI_1.3 4.1.1
+ _ZTSe@CXXABI_1.3 4.1.1
+ _ZTSf@CXXABI_1.3 4.1.1
+ _ZTSh@CXXABI_1.3 4.1.1
+ _ZTSi@CXXABI_1.3 4.1.1
+ _ZTSj@CXXABI_1.3 4.1.1
+ _ZTSl@CXXABI_1.3 4.1.1
+ _ZTSm@CXXABI_1.3 4.1.1
+ _ZTSs@CXXABI_1.3 4.1.1
+ _ZTSt@CXXABI_1.3 4.1.1
+ _ZTSv@CXXABI_1.3 4.1.1
+ _ZTSw@CXXABI_1.3 4.1.1
+ _ZTSx@CXXABI_1.3 4.1.1
+ _ZTSy@CXXABI_1.3 4.1.1
+ _ZTTSd@GLIBCXX_3.4 4.1.1
+ _ZTTSi@GLIBCXX_3.4 4.1.1
+ _ZTTSo@GLIBCXX_3.4 4.1.1
+ _ZTTSt10istrstream@GLIBCXX_3.4 4.1.1
+ _ZTTSt10ostrstream@GLIBCXX_3.4 4.1.1
+ _ZTTSt13basic_fstreamIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1
+ _ZTTSt13basic_fstreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1
+ _ZTTSt13basic_istreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1
+ _ZTTSt13basic_ostreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1
+ _ZTTSt14basic_ifstreamIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1
+ _ZTTSt14basic_ifstreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1
+ _ZTTSt14basic_iostreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1
+ _ZTTSt14basic_ofstreamIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1
+ _ZTTSt14basic_ofstreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1
+ _ZTTSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@GLIBCXX_3.4 4.1.1
+ _ZTTSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@GLIBCXX_3.4 4.1.1
+ _ZTTSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@GLIBCXX_3.4 4.1.1
+ _ZTTSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@GLIBCXX_3.4 4.1.1
+ _ZTTSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@GLIBCXX_3.4 4.1.1
+ _ZTTSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@GLIBCXX_3.4 4.1.1
+ _ZTTSt9strstream@GLIBCXX_3.4 4.1.1
+ _ZTVN10__cxxabiv116__enum_type_infoE@CXXABI_1.3 4.1.1
+ _ZTVN10__cxxabiv117__array_type_infoE@CXXABI_1.3 4.1.1
+ _ZTVN10__cxxabiv117__class_type_infoE@CXXABI_1.3 4.1.1
+ _ZTVN10__cxxabiv117__pbase_type_infoE@CXXABI_1.3 4.1.1
+ _ZTVN10__cxxabiv119__pointer_type_infoE@CXXABI_1.3 4.1.1
+ _ZTVN10__cxxabiv120__function_type_infoE@CXXABI_1.3 4.1.1
+ _ZTVN10__cxxabiv120__si_class_type_infoE@CXXABI_1.3 4.1.1
+ _ZTVN10__cxxabiv121__vmi_class_type_infoE@CXXABI_1.3 4.1.1
+ _ZTVN10__cxxabiv123__fundamental_type_infoE@CXXABI_1.3 4.1.1
+ _ZTVN10__cxxabiv129__pointer_to_member_type_infoE@CXXABI_1.3 4.1.1
+ _ZTVN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1
+ _ZTVN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1
+ _ZTVNSt3_V214error_categoryE@GLIBCXX_3.4.21 5
+ _ZTVNSt6locale5facetE@GLIBCXX_3.4 4.1.1
+ _ZTVNSt6thread6_StateE@GLIBCXX_3.4.22 6
+ _ZTVNSt8ios_base7failureE@GLIBCXX_3.4 4.1.1
+ _ZTVSd@GLIBCXX_3.4 4.1.1
+ _ZTVSi@GLIBCXX_3.4 4.1.1
+ _ZTVSo@GLIBCXX_3.4 4.1.1
+ _ZTVSt10bad_typeid@GLIBCXX_3.4 4.1.1
+ _ZTVSt10istrstream@GLIBCXX_3.4 4.1.1
+ _ZTVSt10lock_error@GLIBCXX_3.4.11 4.4.0
+ _ZTVSt10moneypunctIcLb0EE@GLIBCXX_3.4 4.1.1
+ _ZTVSt10moneypunctIcLb1EE@GLIBCXX_3.4 4.1.1
+ _ZTVSt10moneypunctIwLb0EE@GLIBCXX_3.4 4.1.1
+ _ZTVSt10moneypunctIwLb1EE@GLIBCXX_3.4 4.1.1
+ _ZTVSt10ostrstream@GLIBCXX_3.4 4.1.1
+ _ZTVSt11__timepunctIcE@GLIBCXX_3.4 4.1.1
+ _ZTVSt11__timepunctIwE@GLIBCXX_3.4 4.1.1
+ _ZTVSt11logic_error@GLIBCXX_3.4 4.1.1
+ _ZTVSt11range_error@GLIBCXX_3.4 4.1.1
+ _ZTVSt11regex_error@GLIBCXX_3.4.15 4.6
+ _ZTVSt12bad_weak_ptr@GLIBCXX_3.4.15 4.6
+ _ZTVSt12ctype_bynameIcE@GLIBCXX_3.4 4.1.1
+ _ZTVSt12ctype_bynameIwE@GLIBCXX_3.4 4.1.1
+ _ZTVSt12domain_error@GLIBCXX_3.4 4.1.1
+ _ZTVSt12future_error@GLIBCXX_3.4.14 4.5
+ _ZTVSt12length_error@GLIBCXX_3.4 4.1.1
+ _ZTVSt12out_of_range@GLIBCXX_3.4 4.1.1
+ _ZTVSt12strstreambuf@GLIBCXX_3.4 4.1.1
+ _ZTVSt12system_error@GLIBCXX_3.4.11 4.4.0
+ _ZTVSt13bad_exception@GLIBCXX_3.4 4.1.1
+ _ZTVSt13basic_filebufIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1
+ _ZTVSt13basic_filebufIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1
+ _ZTVSt13basic_fstreamIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1
+ _ZTVSt13basic_fstreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1
+ _ZTVSt13basic_istreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1
+ _ZTVSt13basic_ostreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1
+ _ZTVSt13runtime_error@GLIBCXX_3.4 4.1.1
+ _ZTVSt14basic_ifstreamIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1
+ _ZTVSt14basic_ifstreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1
+ _ZTVSt14basic_iostreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1
+ _ZTVSt14basic_ofstreamIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1
+ _ZTVSt14basic_ofstreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1
+ _ZTVSt14codecvt_bynameIcc11__mbstate_tE@GLIBCXX_3.4 4.1.1
+ _ZTVSt14codecvt_bynameIwc11__mbstate_tE@GLIBCXX_3.4 4.1.1
+ _ZTVSt14collate_bynameIcE@GLIBCXX_3.4 4.1.1
+ _ZTVSt14collate_bynameIwE@GLIBCXX_3.4 4.1.1
+ _ZTVSt14error_category@GLIBCXX_3.4.11 4.4.0
+ _ZTVSt14overflow_error@GLIBCXX_3.4 4.1.1
+ _ZTVSt15basic_streambufIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1
+ _ZTVSt15basic_streambufIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1
+ _ZTVSt15basic_stringbufIcSt11char_traitsIcESaIcEE@GLIBCXX_3.4 4.1.1
+ _ZTVSt15basic_stringbufIwSt11char_traitsIwESaIwEE@GLIBCXX_3.4 4.1.1
+ _ZTVSt15messages_bynameIcE@GLIBCXX_3.4 4.1.1
+ _ZTVSt15messages_bynameIwE@GLIBCXX_3.4 4.1.1
+ _ZTVSt15numpunct_bynameIcE@GLIBCXX_3.4 4.1.1
+ _ZTVSt15numpunct_bynameIwE@GLIBCXX_3.4 4.1.1
+ _ZTVSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1
+ _ZTVSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1
+ _ZTVSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1
+ _ZTVSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1
+ _ZTVSt15underflow_error@GLIBCXX_3.4 4.1.1
+ _ZTVSt16bad_array_length@CXXABI_1.3.8 4.9
+ _ZTVSt16invalid_argument@GLIBCXX_3.4 4.1.1
+ _ZTVSt17bad_function_call@GLIBCXX_3.4.15 4.6
+ _ZTVSt17moneypunct_bynameIcLb0EE@GLIBCXX_3.4 4.1.1
+ _ZTVSt17moneypunct_bynameIcLb1EE@GLIBCXX_3.4 4.1.1
+ _ZTVSt17moneypunct_bynameIwLb0EE@GLIBCXX_3.4 4.1.1
+ _ZTVSt17moneypunct_bynameIwLb1EE@GLIBCXX_3.4 4.1.1
+ _ZTVSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@GLIBCXX_3.4 4.1.1
+ _ZTVSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@GLIBCXX_3.4 4.1.1
+ _ZTVSt19__codecvt_utf8_baseIDiE@GLIBCXX_3.4.21 5
+ _ZTVSt19__codecvt_utf8_baseIDsE@GLIBCXX_3.4.21 5
+ _ZTVSt19__codecvt_utf8_baseIwE@GLIBCXX_3.4.21 5
+ _ZTVSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@GLIBCXX_3.4 4.1.1
+ _ZTVSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@GLIBCXX_3.4 4.1.1
+ _ZTVSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@GLIBCXX_3.4 4.1.1
+ _ZTVSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@GLIBCXX_3.4 4.1.1
+ _ZTVSt20__codecvt_utf16_baseIDiE@GLIBCXX_3.4.21 5
+ _ZTVSt20__codecvt_utf16_baseIDsE@GLIBCXX_3.4.21 5
+ _ZTVSt20__codecvt_utf16_baseIwE@GLIBCXX_3.4.21 5
+ _ZTVSt20bad_array_new_length@CXXABI_1.3.8 4.9
+ _ZTVSt21__ctype_abstract_baseIcE@GLIBCXX_3.4 4.1.1
+ _ZTVSt21__ctype_abstract_baseIwE@GLIBCXX_3.4 4.1.1
+ _ZTVSt23__codecvt_abstract_baseIcc11__mbstate_tE@GLIBCXX_3.4 4.1.1
+ _ZTVSt23__codecvt_abstract_baseIwc11__mbstate_tE@GLIBCXX_3.4 4.1.1
+ _ZTVSt25__codecvt_utf8_utf16_baseIDiE@GLIBCXX_3.4.21 5
+ _ZTVSt25__codecvt_utf8_utf16_baseIDsE@GLIBCXX_3.4.21 5
+ _ZTVSt25__codecvt_utf8_utf16_baseIwE@GLIBCXX_3.4.21 5
+ _ZTVSt5ctypeIcE@GLIBCXX_3.4 4.1.1
+ _ZTVSt5ctypeIwE@GLIBCXX_3.4 4.1.1
+ _ZTVSt7codecvtIDic11__mbstate_tE@GLIBCXX_3.4.21 5
+ _ZTVSt7codecvtIDsc11__mbstate_tE@GLIBCXX_3.4.21 5
+ _ZTVSt7codecvtIcc11__mbstate_tE@GLIBCXX_3.4 4.1.1
+ _ZTVSt7codecvtIwc11__mbstate_tE@GLIBCXX_3.4 4.1.1
+ _ZTVSt7collateIcE@GLIBCXX_3.4 4.1.1
+ _ZTVSt7collateIwE@GLIBCXX_3.4 4.1.1
+ _ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1
+ _ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1
+ _ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1
+ _ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1
+ _ZTVSt8bad_cast@GLIBCXX_3.4 4.1.1
+ _ZTVSt8ios_base@GLIBCXX_3.4 4.1.1
+ _ZTVSt8messagesIcE@GLIBCXX_3.4 4.1.1
+ _ZTVSt8messagesIwE@GLIBCXX_3.4 4.1.1
+ _ZTVSt8numpunctIcE@GLIBCXX_3.4 4.1.1
+ _ZTVSt8numpunctIwE@GLIBCXX_3.4 4.1.1
+ _ZTVSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1
+ _ZTVSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1
+ _ZTVSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1
+ _ZTVSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1
+ _ZTVSt9bad_alloc@GLIBCXX_3.4 4.1.1
+ _ZTVSt9basic_iosIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1
+ _ZTVSt9basic_iosIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1
+ _ZTVSt9exception@GLIBCXX_3.4 4.1.1
+ _ZTVSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1
+ _ZTVSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1
+ _ZTVSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1
+ _ZTVSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1
+ _ZTVSt9strstream@GLIBCXX_3.4 4.1.1
+ _ZTVSt9type_info@GLIBCXX_3.4 4.1.1
+ _ZdaPv@GLIBCXX_3.4 4.1.1
+ _ZdaPvRKSt9nothrow_t@GLIBCXX_3.4 4.1.1
+ _ZdaPvSt11align_val_t@CXXABI_1.3.11 7
+ _ZdaPvSt11align_val_tRKSt9nothrow_t@CXXABI_1.3.11 7
+ _ZdlPv@GLIBCXX_3.4 4.1.1
+ _ZdlPvRKSt9nothrow_t@GLIBCXX_3.4 4.1.1
+ _ZdlPvSt11align_val_t@CXXABI_1.3.11 7
+ _ZdlPvSt11align_val_tRKSt9nothrow_t@CXXABI_1.3.11 7
+ __atomic_flag_for_address@GLIBCXX_3.4.11 4.4.0
+ __atomic_flag_wait_explicit@GLIBCXX_3.4.11 4.4.0
+ __cxa_allocate_dependent_exception@CXXABI_1.3.6 4.7
+ __cxa_allocate_exception@CXXABI_1.3 4.1.1
+ __cxa_bad_cast@CXXABI_1.3 4.1.1
+ __cxa_bad_typeid@CXXABI_1.3 4.1.1
+ __cxa_begin_catch@CXXABI_1.3 4.1.1
+ __cxa_call_unexpected@CXXABI_1.3 4.1.1
+ __cxa_current_exception_type@CXXABI_1.3 4.1.1
+ __cxa_deleted_virtual@CXXABI_1.3.6 4.7
+ __cxa_demangle@CXXABI_1.3 4.1.1
+ __cxa_end_catch@CXXABI_1.3 4.1.1
+ __cxa_free_dependent_exception@CXXABI_1.3.6 4.7
+ __cxa_free_exception@CXXABI_1.3 4.1.1
+ __cxa_get_exception_ptr@CXXABI_1.3.1 4.1.1
+ __cxa_get_globals@CXXABI_1.3 4.1.1
+ __cxa_get_globals_fast@CXXABI_1.3 4.1.1
+ __cxa_guard_abort@CXXABI_1.3 4.1.1
+ __cxa_guard_acquire@CXXABI_1.3 4.1.1
+ __cxa_guard_release@CXXABI_1.3 4.1.1
+ __cxa_init_primary_exception@CXXABI_1.3.11 7
+ __cxa_pure_virtual@CXXABI_1.3 4.1.1
+ __cxa_rethrow@CXXABI_1.3 4.1.1
+ __cxa_thread_atexit@CXXABI_1.3.7 4.8
+ __cxa_throw@CXXABI_1.3 4.1.1
+ __cxa_throw_bad_array_length@CXXABI_1.3.8 4.9
+ __cxa_throw_bad_array_new_length@CXXABI_1.3.8 4.9
+ __cxa_tm_cleanup@CXXABI_TM_1 4.7
+ __cxa_vec_cctor@CXXABI_1.3 4.1.1
+ __cxa_vec_cleanup@CXXABI_1.3 4.1.1
+ __cxa_vec_ctor@CXXABI_1.3 4.1.1
+ __cxa_vec_delete2@CXXABI_1.3 4.1.1
+ __cxa_vec_delete3@CXXABI_1.3 4.1.1
+ __cxa_vec_delete@CXXABI_1.3 4.1.1
+ __cxa_vec_dtor@CXXABI_1.3 4.1.1
+ __cxa_vec_new2@CXXABI_1.3 4.1.1
+ __cxa_vec_new3@CXXABI_1.3 4.1.1
+ __cxa_vec_new@CXXABI_1.3 4.1.1
+ __dynamic_cast@CXXABI_1.3 4.1.1
+ __once_proxy@GLIBCXX_3.4.11 4.4.0
+ atomic_flag_clear_explicit@GLIBCXX_3.4.11 4.4.0
+ atomic_flag_test_and_set_explicit@GLIBCXX_3.4.11 4.4.0
--- /dev/null
+ (optional=abi_c++11)_ZGVNSt7__cxx1110moneypunctIcLb0EE2idE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZGVNSt7__cxx1110moneypunctIcLb1EE2idE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZGVNSt7__cxx1110moneypunctIwLb0EE2idE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZGVNSt7__cxx1110moneypunctIwLb1EE2idE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZGVNSt7__cxx117collateIcE2idE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZGVNSt7__cxx117collateIwE2idE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZGVNSt7__cxx118messagesIcE2idE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZGVNSt7__cxx118messagesIwE2idE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZGVNSt7__cxx118numpunctIcE2idE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZGVNSt7__cxx118numpunctIwE2idE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZGVNSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZGVNSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZGVNSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZGVNSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZGVNSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZGVNSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt3_V214error_category10_M_messageB5cxx11Ei@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt3tr14hashINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclES6_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt3tr14hashINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEclES6_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt6locale4nameB5cxx11Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb0EE10neg_formatEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb0EE10pos_formatEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb0EE11curr_symbolEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb0EE11do_groupingEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb0EE11frac_digitsEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb0EE13decimal_pointEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb0EE13do_neg_formatEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb0EE13do_pos_formatEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb0EE13negative_signEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb0EE13positive_signEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb0EE13thousands_sepEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb0EE14do_curr_symbolEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb0EE14do_frac_digitsEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb0EE16do_decimal_pointEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb0EE16do_negative_signEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb0EE16do_positive_signEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb0EE16do_thousands_sepEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb0EE8groupingEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb1EE10neg_formatEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb1EE10pos_formatEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb1EE11curr_symbolEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb1EE11do_groupingEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb1EE11frac_digitsEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb1EE13decimal_pointEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb1EE13do_neg_formatEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb1EE13do_pos_formatEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb1EE13negative_signEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb1EE13positive_signEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb1EE13thousands_sepEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb1EE14do_curr_symbolEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb1EE14do_frac_digitsEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb1EE16do_decimal_pointEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb1EE16do_negative_signEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb1EE16do_positive_signEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb1EE16do_thousands_sepEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb1EE8groupingEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb0EE10neg_formatEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb0EE10pos_formatEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb0EE11curr_symbolEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb0EE11do_groupingEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb0EE11frac_digitsEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb0EE13decimal_pointEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb0EE13do_neg_formatEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb0EE13do_pos_formatEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb0EE13negative_signEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb0EE13positive_signEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb0EE13thousands_sepEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb0EE14do_curr_symbolEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb0EE14do_frac_digitsEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb0EE16do_decimal_pointEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb0EE16do_negative_signEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb0EE16do_positive_signEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb0EE16do_thousands_sepEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb0EE8groupingEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb1EE10neg_formatEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb1EE10pos_formatEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb1EE11curr_symbolEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb1EE11do_groupingEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb1EE11frac_digitsEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb1EE13decimal_pointEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb1EE13do_neg_formatEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb1EE13do_pos_formatEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb1EE13negative_signEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb1EE13positive_signEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb1EE13thousands_sepEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb1EE14do_curr_symbolEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb1EE14do_frac_digitsEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb1EE16do_decimal_pointEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb1EE16do_negative_signEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb1EE16do_positive_signEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb1EE16do_thousands_sepEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb1EE8groupingEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_disjunctEPKc@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13get_allocatorEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16_M_get_allocatorEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE3endEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4backEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4cendEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4dataEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4rendEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5beginEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5crendEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5frontEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6cbeginEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6lengthEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6rbeginEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_M_dataEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEPKc@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareERKS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7crbeginEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8capacityEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8max_sizeEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE11_M_is_localEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13_M_local_dataEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13get_allocatorEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE16_M_get_allocatorEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE3endEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4backEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4cendEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4dataEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4rendEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4sizeEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5beginEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5c_strEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5crendEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5emptyEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5frontEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6cbeginEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6lengthEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6rbeginEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7_M_dataEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7compareEPKw@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7compareERKS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7crbeginEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE8capacityEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE8max_sizeEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE3strEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE3strEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEE3strEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEE3strEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEE3strEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEE3strEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx117collateIcE10_M_compareEPKcS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx117collateIcE10do_compareEPKcS3_S3_S3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx117collateIcE12do_transformEPKcS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx117collateIcE4hashEPKcS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx117collateIcE7compareEPKcS3_S3_S3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx117collateIcE7do_hashEPKcS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx117collateIcE9transformEPKcS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx117collateIwE10_M_compareEPKwS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx117collateIwE10do_compareEPKwS3_S3_S3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx117collateIwE12do_transformEPKwS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx117collateIwE4hashEPKwS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx117collateIwE7compareEPKwS3_S3_S3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx117collateIwE7do_hashEPKwS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx117collateIwE9transformEPKwS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118messagesIcE18_M_convert_to_charERKNS_12basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118messagesIcE20_M_convert_from_charEPc@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118messagesIcE3getEiiiRKNS_12basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118messagesIcE4openERKNS_12basic_stringIcSt11char_traitsIcESaIcEEERKSt6locale@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118messagesIcE4openERKNS_12basic_stringIcSt11char_traitsIcESaIcEEERKSt6localePKc@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118messagesIcE5closeEi@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118messagesIcE6do_getEiiiRKNS_12basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118messagesIcE7do_openERKNS_12basic_stringIcSt11char_traitsIcESaIcEEERKSt6locale@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118messagesIcE8do_closeEi@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118messagesIwE18_M_convert_to_charERKNS_12basic_stringIwSt11char_traitsIwESaIwEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118messagesIwE20_M_convert_from_charEPc@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118messagesIwE3getEiiiRKNS_12basic_stringIwSt11char_traitsIwESaIwEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118messagesIwE4openERKNS_12basic_stringIcSt11char_traitsIcESaIcEEERKSt6locale@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118messagesIwE4openERKNS_12basic_stringIcSt11char_traitsIcESaIcEEERKSt6localePKc@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118messagesIwE5closeEi@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118messagesIwE6do_getEiiiRKNS_12basic_stringIwSt11char_traitsIwESaIwEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118messagesIwE7do_openERKNS_12basic_stringIcSt11char_traitsIcESaIcEEERKSt6locale@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118messagesIwE8do_closeEi@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118numpunctIcE11do_groupingEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118numpunctIcE11do_truenameEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118numpunctIcE12do_falsenameEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118numpunctIcE13decimal_pointEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118numpunctIcE13thousands_sepEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118numpunctIcE16do_decimal_pointEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118numpunctIcE16do_thousands_sepEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118numpunctIcE8groupingEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118numpunctIcE8truenameEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118numpunctIcE9falsenameEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118numpunctIwE11do_groupingEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118numpunctIwE11do_truenameEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118numpunctIwE12do_falsenameEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118numpunctIwE13decimal_pointEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118numpunctIwE13thousands_sepEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118numpunctIwE16do_decimal_pointEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118numpunctIwE16do_thousands_sepEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118numpunctIwE8groupingEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118numpunctIwE8truenameEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118numpunctIwE9falsenameEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10date_orderEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_dateES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_timeES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_yearES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11get_weekdayES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13do_date_orderEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13get_monthnameES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14do_get_weekdayES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16do_get_monthnameES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE21_M_extract_via_formatES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmPKc@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmPKcSD_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmcc@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmcc@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_dateES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_timeES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_yearES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10date_orderEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_dateES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_timeES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_yearES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11get_weekdayES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13do_date_orderEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13get_monthnameES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14do_get_weekdayES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16do_get_monthnameES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE21_M_extract_via_formatES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmPKw@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmPKwSD_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmcc@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmcc@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_dateES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_timeES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_yearES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb0EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRNS_12basic_stringIcS3_SaIcEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb1EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRNS_12basic_stringIcS3_SaIcEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRNS_12basic_stringIcS3_SaIcEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRNS_12basic_stringIcS3_SaIcEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb0EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRNS_12basic_stringIcS2_IcESaIcEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb1EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRNS_12basic_stringIcS2_IcESaIcEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRNS_12basic_stringIwS3_SaIwEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRNS_12basic_stringIwS3_SaIwEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_bRSt8ios_basecRKNS_12basic_stringIcS3_SaIcEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_bRSt8ios_basecRKNS_12basic_stringIcS3_SaIcEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb0EEES4_S4_RSt8ios_basecRKNS_12basic_stringIcS3_SaIcEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb1EEES4_S4_RSt8ios_basecRKNS_12basic_stringIcS3_SaIcEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_bRSt8ios_basewRKNS_12basic_stringIwS3_SaIwEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_bRSt8ios_basewRKNS_12basic_stringIwS3_SaIwEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb0EEES4_S4_RSt8ios_basewRKNS_12basic_stringIwS3_SaIwEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb1EEES4_S4_RSt8ios_basewRKNS_12basic_stringIwS3_SaIwEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt8ios_base7failureB5cxx114whatEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt11logic_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt11logic_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt11range_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt11range_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt12domain_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt12domain_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt12length_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt12length_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt12out_of_rangeC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt12out_of_rangeC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt13basic_filebufIcSt11char_traitsIcEE4openERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt13basic_filebufIwSt11char_traitsIwEE4openERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt13basic_fstreamIcSt11char_traitsIcEE4openERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt13basic_fstreamIwSt11char_traitsIwEE4openERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1ERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2ERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2ERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2ERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt14overflow_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt14overflow_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt15underflow_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt15underflow_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt16invalid_argumentC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt16invalid_argumentC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb0EE24_M_initialize_moneypunctEP15__locale_structPKc@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb0EE2idE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb0EE4intlE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb0EED0Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb0EED1Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb0EED2Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb1EE24_M_initialize_moneypunctEP15__locale_structPKc@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb1EE2idE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb1EE4intlE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb1EED0Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb1EED1Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb1EED2Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb0EE24_M_initialize_moneypunctEP15__locale_structPKc@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb0EE2idE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb0EE4intlE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb0EED0Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb0EED1Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb0EED2Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb1EE24_M_initialize_moneypunctEP15__locale_structPKc@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb1EE2idE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb1EE4intlE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb1EED0Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb1EED1Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb1EED2Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_disposeEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC1EPcOS3_@GLIBCXX_3.4.23 7
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC1EPcRKS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC2EPcOS3_@GLIBCXX_3.4.23 7
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC2EPcRKS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPKcS4_EEEEvT_SB_St20forward_iterator_tag@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPcS4_EEEEvT_SA_St20forward_iterator_tag@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPcEEvT_S7_St20forward_iterator_tag@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIPKcS4_EESA_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIS5_S4_EES8_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_S_copy_charsEPcPKcS7_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_S_copy_charsEPcS5_S5_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13shrink_to_fitEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16_M_get_allocatorEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE3endEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4backEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4nposE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4rendEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4swapERS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5beginEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5clearEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5eraseEN9__gnu_cxx17__normal_iteratorIPKcS4_EE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5eraseEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5eraseEN9__gnu_cxx17__normal_iteratorIPcS4_EE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5eraseEN9__gnu_cxx17__normal_iteratorIPcS4_EES8_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5frontEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKc@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendERKS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendESt16initializer_listIcE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignEOS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignEPKc@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignERKS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignESt16initializer_listIcE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEN9__gnu_cxx17__normal_iteratorIPKcS4_EEc@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEN9__gnu_cxx17__normal_iteratorIPcS4_EESt16initializer_listIcE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEN9__gnu_cxx17__normal_iteratorIPcS4_EEc@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertIN9__gnu_cxx17__normal_iteratorIPcS4_EEEEvS9_T_SA_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6rbeginEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_M_dataEPc@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_NS6_IPcS4_EESB_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_PcSA_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_RKS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_S8_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_S8_S8_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_S9_S9_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_St16initializer_listIcE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPcS4_EES8_NS6_IPKcS4_EESB_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPcS4_EES8_PKc@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPcS4_EES8_PKcSA_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPcS4_EES8_RKS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPcS4_EES8_S7_S7_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPcS4_EES8_S8_S8_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8pop_backEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_assignERKS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9push_backEc@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_RKS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS4_RKS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ESt16initializer_listIcERKS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1IN9__gnu_cxx17__normal_iteratorIPcS4_EEvEET_SA_RKS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1IPKcvEET_S8_RKS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1IPcvEET_S7_RKS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_RKS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EPKcRKS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_RKS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ESt16initializer_listIcERKS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IN9__gnu_cxx17__normal_iteratorIPcS4_EEvEET_SA_RKS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IPKcvEET_S8_RKS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IPcvEET_S7_RKS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSESt16initializer_listIcE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEc@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLESt16initializer_listIcE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEc@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE10_M_disposeEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwOS3_@GLIBCXX_3.4.23 7
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwOS3_@GLIBCXX_3.4.23 7
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwRKS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPKwS4_EEEEvT_SB_St20forward_iterator_tag@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPwS4_EEEEvT_SA_St20forward_iterator_tag@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIPKwEEvT_S8_St20forward_iterator_tag@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIPwEEvT_S7_St20forward_iterator_tag@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13_M_local_dataEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIPKwS4_EESA_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIS5_S4_EES8_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwPKwS7_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwS5_S5_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13shrink_to_fitEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE16_M_get_allocatorEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE3endEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4backEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4nposE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4rendEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4swapERS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5beginEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5clearEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPKwS4_EE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS4_EE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS4_EES8_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5frontEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6appendEPKw@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6appendERKS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6appendESt16initializer_listIwE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6assignEOS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6assignEPKw@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6assignERKS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6assignESt16initializer_listIwE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPKwS4_EEw@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS4_EESt16initializer_listIwE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS4_EEw@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertIN9__gnu_cxx17__normal_iteratorIPwS4_EEEEvS9_T_SA_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6rbeginEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7_M_dataEPw@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_NS6_IPwS4_EESB_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_PwSA_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_RKS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_S8_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_S8_S8_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_S9_S9_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_St16initializer_listIwE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS4_EES8_NS6_IPKwS4_EESB_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS4_EES8_PKw@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS4_EES8_PKwSA_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS4_EES8_RKS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS4_EES8_S7_S7_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS4_EES8_S8_S8_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE8pop_backEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_M_assignERKS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9push_backEw@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1EOS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1EOS4_RKS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1EPKwRKS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1ERKS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1ERKS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1ERKS4_RKS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1ESt16initializer_listIwERKS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1IN9__gnu_cxx17__normal_iteratorIPwS4_EEvEET_SA_RKS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1IPKwvEET_S8_RKS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1IPwvEET_S7_RKS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2EOS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2EOS4_RKS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2EPKwRKS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2ERKS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2ERKS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2ERKS4_RKS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2ESt16initializer_listIwERKS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPwS4_EEvEET_SA_RKS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2IPKwvEET_S8_RKS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2IPwvEET_S7_RKS3_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSEOS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSEPKw@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSERKS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSESt16initializer_listIwE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSEw@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEpLEPKw@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEpLERKS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEpLESt16initializer_listIwE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEpLEw@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1114collate_bynameIcED0Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1114collate_bynameIcED1Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1114collate_bynameIcED2Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1114collate_bynameIwED0Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1114collate_bynameIwED1Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1114collate_bynameIwED2Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE14__xfer_bufptrsC1ERKS4_PS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE14__xfer_bufptrsC2ERKS4_PS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE14__xfer_bufptrsD1Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE14__xfer_bufptrsD2Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE15_M_update_egptrEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE17_M_stringbuf_initESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE4swapERS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE9showmanycEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE9underflowEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC1EOS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC1EOS4_ONS4_14__xfer_bufptrsE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC1ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC2EOS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC2EOS4_ONS4_14__xfer_bufptrsE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC2ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED2Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEaSEOS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE14__xfer_bufptrsC1ERKS4_PS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE14__xfer_bufptrsC2ERKS4_PS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE14__xfer_bufptrsD1Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE14__xfer_bufptrsD2Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE15_M_update_egptrEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE17_M_stringbuf_initESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE3strERKNS_12basic_stringIwS2_S3_EE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE4swapERS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE8overflowEj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE9pbackfailEj@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE9showmanycEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE9underflowEv@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC1EOS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC1EOS4_ONS4_14__xfer_bufptrsE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC1ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC2EOS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC2EOS4_ONS4_14__xfer_bufptrsE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC2ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEED2Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEaSEOS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115messages_bynameIcED0Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115messages_bynameIcED1Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115messages_bynameIcED2Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115messages_bynameIwED0Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115messages_bynameIwED1Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115messages_bynameIwED2Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115numpunct_bynameIcED0Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115numpunct_bynameIcED1Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115numpunct_bynameIcED2Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115numpunct_bynameIwED0Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115numpunct_bynameIwED1Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115numpunct_bynameIwED2Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIcLb0EE4intlE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIcLb0EED0Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIcLb0EED1Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIcLb0EED2Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIcLb1EE4intlE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIcLb1EED0Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIcLb1EED1Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIcLb1EED2Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIwLb0EE4intlE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIwLb0EED0Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIwLb0EED1Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIwLb0EED2Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIwLb1EE4intlE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIwLb1EED0Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIwLb1EED1Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIwLb1EED2Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE4swapERS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1EOS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC2EOS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC2ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED2Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEaSEOS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEE3strERKNS_12basic_stringIwS2_S3_EE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEE4swapERS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEC1EOS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEC1ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEC2EOS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEC2ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEED2Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEaSEOS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEE4swapERS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC1EOS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC1ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC2EOS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC2ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEED2Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEaSEOS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEE3strERKNS_12basic_stringIwS2_S3_EE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEE4swapERS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEC1EOS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEC1ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEC2EOS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEC2ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEED2Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEaSEOS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE4swapERS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1EOS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC2EOS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED2Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEaSEOS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEE3strERKNS_12basic_stringIwS2_S3_EE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEE4swapERS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEC1EOS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEC2EOS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEED2Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEaSEOS4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx117collateIcE2idE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx117collateIcED0Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx117collateIcED1Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx117collateIcED2Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx117collateIwE2idE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx117collateIwED0Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx117collateIwED1Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx117collateIwED2Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118messagesIcE2idE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118messagesIcED0Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118messagesIcED1Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118messagesIcED2Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118messagesIwE2idE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118messagesIwED0Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118messagesIwED1Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118messagesIwED2Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118numpunctIcE22_M_initialize_numpunctEP15__locale_struct@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118numpunctIcE2idE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118numpunctIcED0Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118numpunctIcED1Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118numpunctIcED2Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118numpunctIwE22_M_initialize_numpunctEP15__locale_struct@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118numpunctIwE2idE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118numpunctIwED0Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118numpunctIwED1Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118numpunctIwED2Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt8ios_base7failureB5cxx11C1EPKcRKSt10error_code@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt8ios_base7failureB5cxx11C1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt8ios_base7failureB5cxx11C1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10error_code@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt8ios_base7failureB5cxx11C2EPKcRKSt10error_code@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt8ios_base7failureB5cxx11C2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt8ios_base7failureB5cxx11C2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10error_code@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt8ios_base7failureB5cxx11D0Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt8ios_base7failureB5cxx11D1Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt8ios_base7failureB5cxx11D2Ev@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt13random_device14_M_init_pretr1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt13random_device7_M_initERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt13runtime_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt13runtime_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt14basic_ifstreamIwSt11char_traitsIwEE4openERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1ERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt14basic_ofstreamIwSt11char_traitsIwEE4openERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1ERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZSt17iostream_categoryv@GLIBCXX_3.4.21 5.1.1
+ (optional=abi_c++11)_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EES4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EES4_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZSt9has_facetINSt7__cxx1110moneypunctIcLb0EEEEbRKSt6locale@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZSt9has_facetINSt7__cxx1110moneypunctIwLb0EEEEbRKSt6locale@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZSt9has_facetINSt7__cxx117collateIcEEEbRKSt6locale@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZSt9has_facetINSt7__cxx117collateIwEEEbRKSt6locale@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZSt9has_facetINSt7__cxx118messagesIcEEEbRKSt6locale@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZSt9has_facetINSt7__cxx118messagesIwEEEbRKSt6locale@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZSt9has_facetINSt7__cxx118numpunctIcEEEbRKSt6locale@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZSt9has_facetINSt7__cxx118numpunctIwEEEbRKSt6locale@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZSt9has_facetINSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZSt9has_facetINSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZSt9has_facetINSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZSt9has_facetINSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZSt9has_facetINSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZSt9has_facetINSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZSt9use_facetINSt7__cxx1110moneypunctIcLb0EEEERKT_RKSt6locale@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZSt9use_facetINSt7__cxx1110moneypunctIcLb1EEEERKT_RKSt6locale@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZSt9use_facetINSt7__cxx1110moneypunctIwLb0EEEERKT_RKSt6locale@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZSt9use_facetINSt7__cxx1110moneypunctIwLb1EEEERKT_RKSt6locale@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZSt9use_facetINSt7__cxx117collateIcEEERKT_RKSt6locale@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZSt9use_facetINSt7__cxx117collateIwEEERKT_RKSt6locale@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZSt9use_facetINSt7__cxx118messagesIcEEERKT_RKSt6locale@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZSt9use_facetINSt7__cxx118messagesIwEEERKT_RKSt6locale@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZSt9use_facetINSt7__cxx118numpunctIcEEERKT_RKSt6locale@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZSt9use_facetINSt7__cxx118numpunctIwEEERKT_RKSt6locale@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZSt9use_facetINSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZSt9use_facetINSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZSt9use_facetINSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZSt9use_facetINSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZSt9use_facetINSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZSt9use_facetINSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZStlsIwSt11char_traitsIwESaIwEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_SA_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EES5_RKS8_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZStplIwSt11char_traitsIwESaIwEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZStplIwSt11char_traitsIwESaIwEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_SA_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZStplIwSt11char_traitsIwESaIwEENSt7__cxx1112basic_stringIT_T0_T1_EES5_RKS8_@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZStrsIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZStrsIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTINSt7__cxx1110moneypunctIcLb0EEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTINSt7__cxx1110moneypunctIcLb1EEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTINSt7__cxx1110moneypunctIwLb0EEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTINSt7__cxx1110moneypunctIwLb1EEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTINSt7__cxx1114collate_bynameIcEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTINSt7__cxx1114collate_bynameIwEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTINSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTINSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTINSt7__cxx1115messages_bynameIcEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTINSt7__cxx1115messages_bynameIwEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTINSt7__cxx1115numpunct_bynameIcEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTINSt7__cxx1115numpunct_bynameIwEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTINSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTINSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTINSt7__cxx1117moneypunct_bynameIcLb0EEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTINSt7__cxx1117moneypunct_bynameIcLb1EEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTINSt7__cxx1117moneypunct_bynameIwLb0EEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTINSt7__cxx1117moneypunct_bynameIwLb1EEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTINSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTINSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTINSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTINSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTINSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTINSt7__cxx117collateIcEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTINSt7__cxx117collateIwEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTINSt7__cxx118messagesIcEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTINSt7__cxx118messagesIwEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTINSt7__cxx118numpunctIcEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTINSt7__cxx118numpunctIwEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTINSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTINSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTINSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTINSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTINSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTINSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTINSt8ios_base7failureB5cxx11E@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTSNSt7__cxx1110moneypunctIcLb0EEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTSNSt7__cxx1110moneypunctIcLb1EEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTSNSt7__cxx1110moneypunctIwLb0EEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTSNSt7__cxx1110moneypunctIwLb1EEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTSNSt7__cxx1114collate_bynameIcEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTSNSt7__cxx1114collate_bynameIwEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTSNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTSNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTSNSt7__cxx1115messages_bynameIcEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTSNSt7__cxx1115messages_bynameIwEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTSNSt7__cxx1115numpunct_bynameIcEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTSNSt7__cxx1115numpunct_bynameIwEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTSNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTSNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTSNSt7__cxx1117moneypunct_bynameIcLb0EEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTSNSt7__cxx1117moneypunct_bynameIcLb1EEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTSNSt7__cxx1117moneypunct_bynameIwLb0EEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTSNSt7__cxx1117moneypunct_bynameIwLb1EEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTSNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTSNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTSNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTSNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTSNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTSNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTSNSt7__cxx117collateIcEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTSNSt7__cxx117collateIwEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTSNSt7__cxx118messagesIcEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTSNSt7__cxx118messagesIwEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTSNSt7__cxx118numpunctIcEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTSNSt7__cxx118numpunctIwEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTSNSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTSNSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTSNSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTSNSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTSNSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTSNSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTSNSt8ios_base7failureB5cxx11E@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTTNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTTNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTTNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTTNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTTNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTTNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTVNSt7__cxx1110moneypunctIcLb0EEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTVNSt7__cxx1110moneypunctIcLb1EEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTVNSt7__cxx1110moneypunctIwLb0EEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTVNSt7__cxx1110moneypunctIwLb1EEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTVNSt7__cxx1114collate_bynameIcEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTVNSt7__cxx1114collate_bynameIwEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTVNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTVNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTVNSt7__cxx1115messages_bynameIcEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTVNSt7__cxx1115messages_bynameIwEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTVNSt7__cxx1115numpunct_bynameIcEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTVNSt7__cxx1115numpunct_bynameIwEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTVNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTVNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTVNSt7__cxx1117moneypunct_bynameIcLb0EEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTVNSt7__cxx1117moneypunct_bynameIcLb1EEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTVNSt7__cxx1117moneypunct_bynameIwLb0EEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTVNSt7__cxx1117moneypunct_bynameIwLb1EEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTVNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTVNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTVNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTVNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTVNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTVNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTVNSt7__cxx117collateIcEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTVNSt7__cxx117collateIwEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTVNSt7__cxx118messagesIcEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTVNSt7__cxx118messagesIwEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTVNSt7__cxx118numpunctIcEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTVNSt7__cxx118numpunctIwEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTVNSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTVNSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTVNSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTVNSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTVNSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTVNSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZTVNSt8ios_base7failureB5cxx11E@GLIBCXX_3.4.21 5.2
--- /dev/null
+ _ZNKSt15__exception_ptr13exception_ptr20__cxa_exception_typeEv@CXXABI_1.3.3 4.4.0
+ _ZNKSt15__exception_ptr13exception_ptrcvMS0_FvvEEv@CXXABI_1.3.3 4.4.0
+ _ZNKSt15__exception_ptr13exception_ptrntEv@CXXABI_1.3.3 4.4.0
+ _ZNSt15__exception_ptr13exception_ptr4swapERS0_@CXXABI_1.3.3 4.4.0
+ _ZNSt15__exception_ptr13exception_ptrC1EMS0_FvvE@CXXABI_1.3.3 4.4.0
+ _ZNSt15__exception_ptr13exception_ptrC1EPv@CXXABI_1.3.11 7
+ _ZNSt15__exception_ptr13exception_ptrC1ERKS0_@CXXABI_1.3.3 4.4.0
+ _ZNSt15__exception_ptr13exception_ptrC1Ev@CXXABI_1.3.3 4.4.0
+ _ZNSt15__exception_ptr13exception_ptrC2EMS0_FvvE@CXXABI_1.3.3 4.4.0
+ _ZNSt15__exception_ptr13exception_ptrC2ERKS0_@CXXABI_1.3.3 4.4.0
+ _ZNSt15__exception_ptr13exception_ptrC2Ev@CXXABI_1.3.3 4.4.0
+ _ZNSt15__exception_ptr13exception_ptrD1Ev@CXXABI_1.3.3 4.4.0
+ _ZNSt15__exception_ptr13exception_ptrD2Ev@CXXABI_1.3.3 4.4.0
+ _ZNSt15__exception_ptr13exception_ptraSERKS0_@CXXABI_1.3.3 4.4.0
+ _ZNSt15__exception_ptreqERKNS_13exception_ptrES2_@CXXABI_1.3.3 4.4.0
+ _ZNSt15__exception_ptrneERKNS_13exception_ptrES2_@CXXABI_1.3.3 4.4.0
+ _ZSt17current_exceptionv@CXXABI_1.3.3 4.4.0
+ _ZSt17rethrow_exceptionNSt15__exception_ptr13exception_ptrE@CXXABI_1.3.3 4.4.0
--- /dev/null
+ CXXABI_FLOAT128@CXXABI_FLOAT128 5
+ _ZTIPKg@CXXABI_FLOAT128 5
+ _ZTIPg@CXXABI_FLOAT128 5
+ _ZTIg@CXXABI_FLOAT128 5
+ _ZTSPKg@CXXABI_FLOAT128 5
+ _ZTSPg@CXXABI_FLOAT128 5
+ _ZTSg@CXXABI_FLOAT128 5
--- /dev/null
+ acosl@GLIBCXX_3.4.3 4.1.1
+ asinl@GLIBCXX_3.4.3 4.1.1
+ atan2l@GLIBCXX_3.4 4.1.1
+ atanl@GLIBCXX_3.4.3 4.1.1
+ ceill@GLIBCXX_3.4.3 4.1.1
+ coshl@GLIBCXX_3.4 4.1.1
+ cosl@GLIBCXX_3.4 4.1.1
+ expl@GLIBCXX_3.4 4.1.1
+ floorl@GLIBCXX_3.4.3 4.1.1
+ fmodl@GLIBCXX_3.4.3 4.1.1
+ frexpl@GLIBCXX_3.4.3 4.1.1
+ hypotl@GLIBCXX_3.4 4.1.1
+ ldexpl@GLIBCXX_3.4.3 4.1.1
+ log10l@GLIBCXX_3.4 4.1.1
+ logl@GLIBCXX_3.4 4.1.1
+ modfl@GLIBCXX_3.4.3 4.1.1
+ powl@GLIBCXX_3.4 4.1.1
+ sinhl@GLIBCXX_3.4 4.1.1
+ sinl@GLIBCXX_3.4 4.1.1
+ sqrtl@GLIBCXX_3.4 4.1.1
+ tanhl@GLIBCXX_3.4 4.1.1
+ tanl@GLIBCXX_3.4 4.1.1
--- /dev/null
+libstdc++.so.6 libstdc++6 #MINVER#
+#include "libstdc++6.symbols.32bit"
+ __gxx_personality_v0@CXXABI_1.3 4.1.1
+#include "libstdc++6.symbols.excprop"
+# removed, see PR libstdc++/39491 __signbitl@GLIBCXX_3.4 4.2.1
+#include "libstdc++6.symbols.glibcxxmath"
+#include "libstdc++6.symbols.money.ldbl"
+ _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3
+ _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3
--- /dev/null
+libstdc++.so.6 libstdc++6 #MINVER#
+#include "libstdc++6.symbols.32bit.hurd"
+#include "libstdc++6.symbols.money.ldbl"
+ __gxx_personality_v0@CXXABI_1.3 4.1.1
+ _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3.0
+ _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3.0
--- /dev/null
+libstdc++.so.6 libstdc++6 #MINVER#
+#include "libstdc++6.symbols.32bit"
+#include "libstdc++6.symbols.excprop"
+#include "libstdc++6.symbols.money.ldbl"
+ __gxx_personality_v0@CXXABI_1.3 4.1.1
+ _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3
+ _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3
+#(optional)_Z16__VLTRegisterSetPPvPKvjjS0_@CXXABI_1.3.8 4.9.0
+#(optional)_Z17__VLTRegisterPairPPvPKvjS2_@CXXABI_1.3.8 4.9.0
+#(optional)_Z21__VLTRegisterSetDebugPPvPKvjjS0_@CXXABI_1.3.8 4.9.0
+#(optional)_Z22__VLTRegisterPairDebugPPvPKvjS2_PKcS4_@CXXABI_1.3.8 4.9.0
+#(optional)_Z24__VLTVerifyVtablePointerPPvPKv@CXXABI_1.3.8 4.9.0
+#(optional)_Z29__VLTVerifyVtablePointerDebugPPvPKvPKcS4_@CXXABI_1.3.8 4.9.0
+#(optional)__VLTChangePermission@CXXABI_1.3.8 4.9.0
--- /dev/null
+libstdc++.so.6 libstdc++6 #MINVER#
+#include "libstdc++6.symbols.64bit"
+#include "libstdc++6.symbols.excprop"
+ _ZN9__gnu_cxx12__atomic_addEPVii@GLIBCXX_3.4 4.1.1
+ _ZN9__gnu_cxx18__exchange_and_addEPVii@GLIBCXX_3.4 4.1.1
+ _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3
+ _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3
+ _ZNSt14numeric_limitsInE10has_denormE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsInE10is_boundedE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsInE10is_integerE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsInE11round_styleE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsInE12has_infinityE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsInE12max_digits10E@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsInE12max_exponentE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsInE12min_exponentE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsInE13has_quiet_NaNE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsInE14is_specializedE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsInE14max_exponent10E@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsInE14min_exponent10E@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsInE15has_denorm_lossE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsInE15tinyness_beforeE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsInE17has_signaling_NaNE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsInE5radixE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsInE5trapsE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsInE6digitsE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsInE8digits10E@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsInE8is_exactE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsInE9is_iec559E@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsInE9is_moduloE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsInE9is_signedE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsIoE10has_denormE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsIoE10is_boundedE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsIoE10is_integerE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsIoE11round_styleE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsIoE12has_infinityE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsIoE12max_digits10E@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsIoE12max_exponentE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsIoE12min_exponentE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsIoE13has_quiet_NaNE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsIoE14is_specializedE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsIoE14max_exponent10E@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsIoE14min_exponent10E@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsIoE15has_denorm_lossE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsIoE15tinyness_beforeE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsIoE17has_signaling_NaNE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsIoE5radixE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsIoE5trapsE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsIoE6digitsE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsIoE8digits10E@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsIoE8is_exactE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsIoE9is_iec559E@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsIoE9is_moduloE@GLIBCXX_3.4.17 4.8
+ _ZNSt14numeric_limitsIoE9is_signedE@GLIBCXX_3.4.17 4.8
--- /dev/null
+libstdc++.so.6 libstdc++6 #MINVER#
+#include "libstdc++6.symbols.64bit"
+#include "libstdc++6.symbols.128bit"
+#include "libstdc++6.symbols.excprop"
+#include "libstdc++6.symbols.money.ldbl"
+ _ZN9__gnu_cxx12__atomic_addEPVii@GLIBCXX_3.4 4.1.1
+ _ZN9__gnu_cxx18__exchange_and_addEPVii@GLIBCXX_3.4 4.1.1
+ _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3
+ _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3
--- /dev/null
+libstdc++.so.6 libstdc++6 #MINVER#
+#include "libstdc++6.symbols.32bit"
+#include "libstdc++6.symbols.excprop"
+#include "libstdc++6.symbols.money.ldbl"
+ __gxx_personality_v0@CXXABI_1.3 4.1.1
+ _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3
+ _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3
--- /dev/null
+ CXXABI_LDBL_1.3@CXXABI_LDBL_1.3 4.2.1
+ GLIBCXX_LDBL_3.4.10@GLIBCXX_LDBL_3.4.10 4.3.0~rc2
+ GLIBCXX_LDBL_3.4.7@GLIBCXX_LDBL_3.4.7 4.2.1
+ GLIBCXX_LDBL_3.4@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt3tr14hashIgEclEg@GLIBCXX_LDBL_3.4.10 4.3.0~rc2
+ _ZNKSt4hashIgEclEg@GLIBCXX_LDBL_3.4.10 4.3.0~rc2
+ _ZGVNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZGVNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZGVNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZGVNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZGVNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZGVNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZGVNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZGVNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIjEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIlEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intImEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intItEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIxEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIyEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16_M_extract_floatES4_S4_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRPv@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRb@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRf@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRj@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRl@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRm@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRt@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRx@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRy@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRPv@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRb@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRf@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRj@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRl@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRm@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRt@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRx@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRy@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8__do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIjEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIlEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intImEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intItEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIxEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIyEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16_M_extract_floatES4_S4_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRPv@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRb@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRf@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRj@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRl@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRm@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRt@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRx@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRy@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRPv@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRb@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRf@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRj@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRl@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRm@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRt@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRx@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRy@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8__do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12_M_group_intEPKcjcRSt8ios_basePcSA_Ri@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIlEES4_S4_RSt8ios_basecT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intImEES4_S4_RSt8ios_basecT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIxEES4_S4_RSt8ios_basecT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIyEES4_S4_RSt8ios_basecT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_group_floatEPKcjcS7_PcS8_Ri@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIdEES4_S4_RSt8ios_baseccT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIgEES4_S4_RSt8ios_baseccT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecPKv@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecb@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecd@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecg@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecl@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecm@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecx@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecy@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6_M_padEciRSt8ios_basePcPKcRi@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecPKv@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecb@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecd@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecg@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecl@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecm@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecx@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecy@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE8__do_putES4_RSt8ios_basecd@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE12_M_group_intEPKcjwRSt8ios_basePwSA_Ri@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIlEES4_S4_RSt8ios_basewT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intImEES4_S4_RSt8ios_basewT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIxEES4_S4_RSt8ios_basewT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIyEES4_S4_RSt8ios_basewT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_group_floatEPKcjwPKwPwSA_Ri@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIdEES4_S4_RSt8ios_basewcT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIgEES4_S4_RSt8ios_basewcT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewPKv@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewb@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewd@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewg@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewl@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewm@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewx@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewy@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6_M_padEwiRSt8ios_basePwPKwRi@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewPKv@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewb@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewd@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewg@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewl@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewm@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewx@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewy@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE8__do_putES4_RSt8ios_basewd@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb0EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb1EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8__do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb0EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb1EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRSbIwS3_SaIwEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRSbIwS3_SaIwEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8__do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_bRSt8ios_basecRKSs@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_bRSt8ios_basecg@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_bRSt8ios_basecRKSs@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_bRSt8ios_basecg@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE8__do_putES4_bRSt8ios_basecd@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb0EEES4_S4_RSt8ios_basecRKSs@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb1EEES4_S4_RSt8ios_basecRKSs@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_bRSt8ios_basewRKSbIwS3_SaIwEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_bRSt8ios_basewg@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_bRSt8ios_basewRKSbIwS3_SaIwEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_bRSt8ios_basewg@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE8__do_putES4_bRSt8ios_basewd@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb0EEES4_S4_RSt8ios_basewRKSbIwS3_SaIwEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb1EEES4_S4_RSt8ios_basewRKSbIwS3_SaIwEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSi10_M_extractIgEERSiRT_@GLIBCXX_LDBL_3.4.7 4.2.1
+ _ZNSirsERg@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSo9_M_insertIgEERSoT_@GLIBCXX_LDBL_3.4.7 4.2.1
+ _ZNSolsEg@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIgEERS2_RT_@GLIBCXX_LDBL_3.4.7 4.2.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEErsERg@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIgEERS2_T_@GLIBCXX_LDBL_3.4.7 4.2.1
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEElsEg@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt14numeric_limitsIgE10has_denormE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt14numeric_limitsIgE10is_boundedE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt14numeric_limitsIgE10is_integerE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt14numeric_limitsIgE11round_styleE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt14numeric_limitsIgE12has_infinityE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt14numeric_limitsIgE12max_digits10E@GLIBCXX_LDBL_3.4 4.5.0
+ _ZNSt14numeric_limitsIgE12max_exponentE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt14numeric_limitsIgE12min_exponentE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt14numeric_limitsIgE13has_quiet_NaNE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt14numeric_limitsIgE14is_specializedE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt14numeric_limitsIgE14max_exponent10E@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt14numeric_limitsIgE14min_exponent10E@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt14numeric_limitsIgE15has_denorm_lossE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt14numeric_limitsIgE15tinyness_beforeE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt14numeric_limitsIgE17has_signaling_NaNE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt14numeric_limitsIgE5radixE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt14numeric_limitsIgE5trapsE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt14numeric_limitsIgE6digitsE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt14numeric_limitsIgE8digits10E@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt14numeric_limitsIgE8is_exactE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt14numeric_limitsIgE9is_iec559E@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt14numeric_limitsIgE9is_moduloE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt14numeric_limitsIgE9is_signedE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZSt14__convert_to_vIgEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@GLIBCXX_LDBL_3.4 4.2.1
+ _ZSt9has_facetINSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1
+ _ZSt9has_facetINSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1
+ _ZSt9has_facetINSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1
+ _ZSt9has_facetINSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1
+ _ZSt9has_facetINSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1
+ _ZSt9has_facetINSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1
+ _ZSt9has_facetINSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1
+ _ZSt9has_facetINSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1
+ _ZSt9use_facetINSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1
+ _ZSt9use_facetINSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1
+ _ZSt9use_facetINSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1
+ _ZSt9use_facetINSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1
+ _ZSt9use_facetINSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1
+ _ZSt9use_facetINSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1
+ _ZSt9use_facetINSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1
+ _ZSt9use_facetINSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1
+ _ZStlsIgcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@GLIBCXX_LDBL_3.4 4.2.1
+ _ZStlsIgwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@GLIBCXX_LDBL_3.4 4.2.1
+ _ZStrsIgcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@GLIBCXX_LDBL_3.4 4.2.1
+ _ZStrsIgwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTINSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTINSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTINSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTINSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTINSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTINSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTINSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTINSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTIPKg@CXXABI_LDBL_1.3 4.2.1
+ _ZTIPg@CXXABI_LDBL_1.3 4.2.1
+ _ZTIg@CXXABI_LDBL_1.3 4.2.1
+ _ZTSNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTSNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTSNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTSNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTSNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTSNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTSNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTSNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTSPKg@CXXABI_LDBL_1.3 4.2.1
+ _ZTSPg@CXXABI_LDBL_1.3 4.2.1
+ _ZTSg@CXXABI_LDBL_1.3 4.2.1
+ _ZTVNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTVNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTVNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTVNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTVNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTVNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTVNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTVNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1
--- /dev/null
+ CXXABI_LDBL_1.3@CXXABI_LDBL_1.3 4.2.1
+ GLIBCXX_LDBL_3.4.10@GLIBCXX_LDBL_3.4.10 4.3.0~rc2
+ GLIBCXX_LDBL_3.4.7@GLIBCXX_LDBL_3.4.7 4.2.1
+ GLIBCXX_LDBL_3.4@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt3tr14hashIgEclEg@GLIBCXX_LDBL_3.4.10 4.3.0~rc2
+ _ZNKSt4hashIgEclEg@GLIBCXX_LDBL_3.4.10 4.3.0~rc2
+ _ZGVNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZGVNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZGVNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZGVNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZGVNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZGVNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZGVNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZGVNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIjEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIlEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intImEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intItEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIxEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIyEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16_M_extract_floatES4_S4_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRPv@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRb@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRf@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRj@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRl@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRm@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRt@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRx@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRy@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRPv@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRb@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRf@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRj@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRl@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRm@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRt@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRx@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRy@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8__do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIjEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIlEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intImEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intItEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIxEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIyEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16_M_extract_floatES4_S4_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRPv@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRb@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRf@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRj@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRl@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRm@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRt@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRx@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRy@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRPv@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRb@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRf@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRj@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRl@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRm@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRt@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRx@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRy@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8__do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12_M_group_intEPKcmcRSt8ios_basePcSA_Ri@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIlEES4_S4_RSt8ios_basecT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intImEES4_S4_RSt8ios_basecT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIxEES4_S4_RSt8ios_basecT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIyEES4_S4_RSt8ios_basecT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_group_floatEPKcmcS7_PcS8_Ri@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIdEES4_S4_RSt8ios_baseccT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIgEES4_S4_RSt8ios_baseccT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecPKv@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecb@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecd@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecg@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecl@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecm@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecx@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecy@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6_M_padEciRSt8ios_basePcPKcRi@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecPKv@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecb@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecd@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecg@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecl@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecm@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecx@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecy@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE8__do_putES4_RSt8ios_basecd@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE12_M_group_intEPKcmwRSt8ios_basePwSA_Ri@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIlEES4_S4_RSt8ios_basewT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intImEES4_S4_RSt8ios_basewT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIxEES4_S4_RSt8ios_basewT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIyEES4_S4_RSt8ios_basewT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_group_floatEPKcmwPKwPwSA_Ri@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIdEES4_S4_RSt8ios_basewcT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIgEES4_S4_RSt8ios_basewcT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewPKv@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewb@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewd@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewg@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewl@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewm@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewx@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewy@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6_M_padEwiRSt8ios_basePwPKwRi@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewPKv@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewb@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewd@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewg@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewl@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewm@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewx@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewy@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE8__do_putES4_RSt8ios_basewd@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb0EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb1EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8__do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb0EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb1EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRSbIwS3_SaIwEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRSbIwS3_SaIwEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8__do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_bRSt8ios_basecRKSs@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_bRSt8ios_basecg@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_bRSt8ios_basecRKSs@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_bRSt8ios_basecg@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE8__do_putES4_bRSt8ios_basecd@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb0EEES4_S4_RSt8ios_basecRKSs@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb1EEES4_S4_RSt8ios_basecRKSs@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_bRSt8ios_basewRKSbIwS3_SaIwEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_bRSt8ios_basewg@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_bRSt8ios_basewRKSbIwS3_SaIwEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_bRSt8ios_basewg@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE8__do_putES4_bRSt8ios_basewd@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb0EEES4_S4_RSt8ios_basewRKSbIwS3_SaIwEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb1EEES4_S4_RSt8ios_basewRKSbIwS3_SaIwEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSi10_M_extractIgEERSiRT_@GLIBCXX_LDBL_3.4.7 4.2.1
+ _ZNSirsERg@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSo9_M_insertIgEERSoT_@GLIBCXX_LDBL_3.4.7 4.2.1
+ _ZNSolsEg@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIgEERS2_RT_@GLIBCXX_LDBL_3.4.7 4.2.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEErsERg@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIgEERS2_T_@GLIBCXX_LDBL_3.4.7 4.2.1
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEElsEg@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt14numeric_limitsIgE10has_denormE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt14numeric_limitsIgE10is_boundedE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt14numeric_limitsIgE10is_integerE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt14numeric_limitsIgE11round_styleE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt14numeric_limitsIgE12has_infinityE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt14numeric_limitsIgE12max_digits10E@GLIBCXX_LDBL_3.4 4.5.0
+ _ZNSt14numeric_limitsIgE12max_exponentE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt14numeric_limitsIgE12min_exponentE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt14numeric_limitsIgE13has_quiet_NaNE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt14numeric_limitsIgE14is_specializedE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt14numeric_limitsIgE14max_exponent10E@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt14numeric_limitsIgE14min_exponent10E@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt14numeric_limitsIgE15has_denorm_lossE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt14numeric_limitsIgE15tinyness_beforeE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt14numeric_limitsIgE17has_signaling_NaNE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt14numeric_limitsIgE5radixE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt14numeric_limitsIgE5trapsE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt14numeric_limitsIgE6digitsE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt14numeric_limitsIgE8digits10E@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt14numeric_limitsIgE8is_exactE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt14numeric_limitsIgE9is_iec559E@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt14numeric_limitsIgE9is_moduloE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt14numeric_limitsIgE9is_signedE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZSt14__convert_to_vIgEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@GLIBCXX_LDBL_3.4 4.2.1
+ _ZSt9has_facetINSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1
+ _ZSt9has_facetINSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1
+ _ZSt9has_facetINSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1
+ _ZSt9has_facetINSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1
+ _ZSt9has_facetINSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1
+ _ZSt9has_facetINSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1
+ _ZSt9has_facetINSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1
+ _ZSt9has_facetINSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1
+ _ZSt9use_facetINSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1
+ _ZSt9use_facetINSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1
+ _ZSt9use_facetINSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1
+ _ZSt9use_facetINSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1
+ _ZSt9use_facetINSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1
+ _ZSt9use_facetINSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1
+ _ZSt9use_facetINSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1
+ _ZSt9use_facetINSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1
+ _ZStlsIgcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@GLIBCXX_LDBL_3.4 4.2.1
+ _ZStlsIgwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@GLIBCXX_LDBL_3.4 4.2.1
+ _ZStrsIgcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@GLIBCXX_LDBL_3.4 4.2.1
+ _ZStrsIgwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTINSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTINSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTINSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTINSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTINSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTINSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTINSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTINSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTIPKg@CXXABI_LDBL_1.3 4.2.1
+ _ZTIPg@CXXABI_LDBL_1.3 4.2.1
+ _ZTIg@CXXABI_LDBL_1.3 4.2.1
+ _ZTSNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTSNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTSNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTSNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTSNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTSNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTSNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTSNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTSPKg@CXXABI_LDBL_1.3 4.2.1
+ _ZTSPg@CXXABI_LDBL_1.3 4.2.1
+ _ZTSg@CXXABI_LDBL_1.3 4.2.1
+ _ZTVNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTVNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTVNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTVNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTVNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTVNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTVNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTVNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1
--- /dev/null
+ CXXABI_LDBL_1.3@CXXABI_LDBL_1.3 4.2.1
+ GLIBCXX_LDBL_3.4.10@GLIBCXX_LDBL_3.4.10 4.3.0~rc2
+ GLIBCXX_LDBL_3.4.7@GLIBCXX_LDBL_3.4.7 4.2.1
+ GLIBCXX_LDBL_3.4@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt3tr14hashIgEclEg@GLIBCXX_LDBL_3.4.10 4.3.0~rc2
+ _ZNKSt4hashIgEclEg@GLIBCXX_LDBL_3.4.10 4.3.0~rc2
+ _ZGVNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZGVNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZGVNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZGVNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZGVNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZGVNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZGVNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZGVNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIjEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIlEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intImEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intItEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIxEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIyEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16_M_extract_floatES4_S4_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRPv@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRb@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRf@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRj@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRl@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRm@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRt@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRx@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRy@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRPv@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRb@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRf@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRj@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRl@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRm@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRt@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRx@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRy@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8__do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIjEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIlEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intImEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intItEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIxEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIyEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16_M_extract_floatES4_S4_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRPv@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRb@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRf@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRj@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRl@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRm@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRt@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRx@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRy@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRPv@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRb@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRf@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRj@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRl@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRm@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRt@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRx@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRy@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8__do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12_M_group_intEPKcmcRSt8ios_basePcSA_Ri@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIlEES4_S4_RSt8ios_basecT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intImEES4_S4_RSt8ios_basecT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIxEES4_S4_RSt8ios_basecT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIyEES4_S4_RSt8ios_basecT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_group_floatEPKcmcS7_PcS8_Ri@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIdEES4_S4_RSt8ios_baseccT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIgEES4_S4_RSt8ios_baseccT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecPKv@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecb@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecd@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecg@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecl@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecm@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecx@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecy@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6_M_padEclRSt8ios_basePcPKcRi@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecPKv@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecb@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecd@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecg@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecl@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecm@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecx@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecy@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE8__do_putES4_RSt8ios_basecd@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE12_M_group_intEPKcmwRSt8ios_basePwSA_Ri@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIlEES4_S4_RSt8ios_basewT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intImEES4_S4_RSt8ios_basewT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIxEES4_S4_RSt8ios_basewT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIyEES4_S4_RSt8ios_basewT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_group_floatEPKcmwPKwPwSA_Ri@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIdEES4_S4_RSt8ios_basewcT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIgEES4_S4_RSt8ios_basewcT_@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewPKv@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewb@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewd@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewg@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewl@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewm@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewx@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewy@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6_M_padEwlRSt8ios_basePwPKwRi@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewPKv@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewb@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewd@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewg@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewl@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewm@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewx@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewy@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE8__do_putES4_RSt8ios_basewd@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb0EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb1EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8__do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb0EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb1EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRSbIwS3_SaIwEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRSbIwS3_SaIwEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8__do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_bRSt8ios_basecRKSs@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_bRSt8ios_basecg@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_bRSt8ios_basecRKSs@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_bRSt8ios_basecg@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE8__do_putES4_bRSt8ios_basecd@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb0EEES4_S4_RSt8ios_basecRKSs@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb1EEES4_S4_RSt8ios_basecRKSs@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_bRSt8ios_basewRKSbIwS3_SaIwEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_bRSt8ios_basewg@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_bRSt8ios_basewRKSbIwS3_SaIwEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_bRSt8ios_basewg@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE8__do_putES4_bRSt8ios_basewd@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb0EEES4_S4_RSt8ios_basewRKSbIwS3_SaIwEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb1EEES4_S4_RSt8ios_basewRKSbIwS3_SaIwEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSi10_M_extractIgEERSiRT_@GLIBCXX_LDBL_3.4.7 4.2.1
+ _ZNSirsERg@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSo9_M_insertIgEERSoT_@GLIBCXX_LDBL_3.4.7 4.2.1
+ _ZNSolsEg@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIgEERS2_RT_@GLIBCXX_LDBL_3.4.7 4.2.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEErsERg@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIgEERS2_T_@GLIBCXX_LDBL_3.4.7 4.2.1
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEElsEg@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt14numeric_limitsIgE10has_denormE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt14numeric_limitsIgE10is_boundedE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt14numeric_limitsIgE10is_integerE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt14numeric_limitsIgE11round_styleE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt14numeric_limitsIgE12has_infinityE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt14numeric_limitsIgE12max_digits10E@GLIBCXX_LDBL_3.4 4.5.0
+ _ZNSt14numeric_limitsIgE12max_exponentE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt14numeric_limitsIgE12min_exponentE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt14numeric_limitsIgE13has_quiet_NaNE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt14numeric_limitsIgE14is_specializedE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt14numeric_limitsIgE14max_exponent10E@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt14numeric_limitsIgE14min_exponent10E@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt14numeric_limitsIgE15has_denorm_lossE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt14numeric_limitsIgE15tinyness_beforeE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt14numeric_limitsIgE17has_signaling_NaNE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt14numeric_limitsIgE5radixE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt14numeric_limitsIgE5trapsE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt14numeric_limitsIgE6digitsE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt14numeric_limitsIgE8digits10E@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt14numeric_limitsIgE8is_exactE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt14numeric_limitsIgE9is_iec559E@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt14numeric_limitsIgE9is_moduloE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt14numeric_limitsIgE9is_signedE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1
+ _ZSt14__convert_to_vIgEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@GLIBCXX_LDBL_3.4 4.2.1
+ _ZSt9has_facetINSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1
+ _ZSt9has_facetINSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1
+ _ZSt9has_facetINSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1
+ _ZSt9has_facetINSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1
+ _ZSt9has_facetINSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1
+ _ZSt9has_facetINSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1
+ _ZSt9has_facetINSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1
+ _ZSt9has_facetINSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1
+ _ZSt9use_facetINSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1
+ _ZSt9use_facetINSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1
+ _ZSt9use_facetINSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1
+ _ZSt9use_facetINSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1
+ _ZSt9use_facetINSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1
+ _ZSt9use_facetINSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1
+ _ZSt9use_facetINSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1
+ _ZSt9use_facetINSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1
+ _ZStlsIgcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@GLIBCXX_LDBL_3.4 4.2.1
+ _ZStlsIgwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@GLIBCXX_LDBL_3.4 4.2.1
+ _ZStrsIgcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@GLIBCXX_LDBL_3.4 4.2.1
+ _ZStrsIgwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTINSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTINSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTINSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTINSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTINSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTINSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTINSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTINSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTIPKg@CXXABI_LDBL_1.3 4.2.1
+ _ZTIPg@CXXABI_LDBL_1.3 4.2.1
+ _ZTIg@CXXABI_LDBL_1.3 4.2.1
+ _ZTSNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTSNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTSNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTSNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTSNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTSNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTSNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTSNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTSPKg@CXXABI_LDBL_1.3 4.2.1
+ _ZTSPg@CXXABI_LDBL_1.3 4.2.1
+ _ZTSg@CXXABI_LDBL_1.3 4.2.1
+ _ZTVNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTVNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTVNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTVNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTVNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTVNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTVNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1
+ _ZTVNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1
--- /dev/null
+libstdc++.so.6 libstdc++6 #MINVER#
+#include "libstdc++6.symbols.32bit"
+#include "libstdc++6.symbols.money.ldbl"
+ __gxx_personality_v0@CXXABI_1.3 4.1.1
+ _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3.0
+ _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3.0
--- /dev/null
+libstdc++.so.6 libstdc++6 #MINVER#
+#include "libstdc++6.symbols.32bit"
+ __gxx_personality_v0@CXXABI_1.3 4.1.1
+#include "libstdc++6.symbols.excprop"
+#include "libstdc++6.symbols.glibcxxmath"
+#include "libstdc++6.symbols.money.ldbl"
+ _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3.0
+ _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3.0
--- /dev/null
+libstdc++.so.6 libstdc++6 #MINVER#
+#include "libstdc++6.symbols.64bit"
+#include "libstdc++6.symbols.128bit"
+#include "libstdc++6.symbols.excprop"
+#include "libstdc++6.symbols.money.ldbl"
+ _ZN9__gnu_cxx12__atomic_addEPVii@GLIBCXX_3.4 4.1.1
+ _ZN9__gnu_cxx18__exchange_and_addEPVii@GLIBCXX_3.4 4.1.1
--- /dev/null
+libstdc++.so.6 libstdc++6 #MINVER#
+#include "libstdc++6.symbols.64bit"
+#include "libstdc++6.symbols.128bit"
+#include "libstdc++6.symbols.excprop"
+#include "libstdc++6.symbols.glibcxxmath"
+#include "libstdc++6.symbols.money.ldbl"
+ _ZN9__gnu_cxx12__atomic_addEPVii@GLIBCXX_3.4 4.1.1
+ _ZN9__gnu_cxx18__exchange_and_addEPVii@GLIBCXX_3.4 4.1.1
+ _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.9.0
+ _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.9.0
--- /dev/null
+libstdc++.so.6 libstdc++6 #MINVER#
+#include "libstdc++6.symbols.64bit"
+#include "libstdc++6.symbols.128bit"
+#include "libstdc++6.symbols.excprop"
+#include "libstdc++6.symbols.money.ldbl"
+ _ZN9__gnu_cxx12__atomic_addEPVii@GLIBCXX_3.4 4.1
+ _ZN9__gnu_cxx18__exchange_and_addEPVii@GLIBCXX_3.4 4.1
--- /dev/null
+libstdc++.so.6 libstdc++6 #MINVER#
+#include "libstdc++6.symbols.64bit"
+#include "libstdc++6.symbols.128bit"
+#include "libstdc++6.symbols.excprop"
+#include "libstdc++6.symbols.glibcxxmath"
+#include "libstdc++6.symbols.money.ldbl"
+ _ZN9__gnu_cxx12__atomic_addEPVii@GLIBCXX_3.4 4.1
+ _ZN9__gnu_cxx18__exchange_and_addEPVii@GLIBCXX_3.4 4.1
+ _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.9
+ _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.9
--- /dev/null
+libstdc++.so.6 libstdc++6 #MINVER#
+#include "libstdc++6.symbols.32bit"
+ __gxx_personality_v0@CXXABI_1.3 4.1.1
+#include "libstdc++6.symbols.excprop"
+#include "libstdc++6.symbols.glibcxxmath"
+#include "libstdc++6.symbols.money.ldbl"
+ _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3.0
+ _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3.0
--- /dev/null
+libstdc++.so.6 libstdc++6 #MINVER#
+#include "libstdc++6.symbols.32bit"
+ __gxx_personality_v0@CXXABI_1.3 4.1
+#include "libstdc++6.symbols.excprop"
+#include "libstdc++6.symbols.glibcxxmath"
+ _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3
+ _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3
--- /dev/null
+libstdc++.so.6 libstdc++6 #MINVER#
+#include "libstdc++6.symbols.32bit"
+ __gxx_personality_v0@CXXABI_1.3 4.1
+#include "libstdc++6.symbols.excprop"
+#include "libstdc++6.symbols.glibcxxmath"
+#include "libstdc++6.symbols.money.ldbl"
+ _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3
+ _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3
--- /dev/null
+ GLIBCXX_LDBL_3.4.21@GLIBCXX_LDBL_3.4.21 5
+# cxx11 symbols only
+ (optional=abi_c++11)_ZNKSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_bRSt8ios_basecg@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_bRSt8ios_basecg@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_bRSt8ios_basewg@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_bRSt8ios_basewg@GLIBCXX_3.4.21 5.2
--- /dev/null
+# cxx11 symbols only
+ (optional=abi_c++11)_ZNKSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRe@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRe@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRe@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRe@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_bRSt8ios_basece@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_bRSt8ios_basece@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_bRSt8ios_basewe@GLIBCXX_3.4.21 5.2
+ (optional=abi_c++11)_ZNKSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_bRSt8ios_basewe@GLIBCXX_3.4.21 5.2
--- /dev/null
+ _ZNSt13__future_base11_State_baseD0Ev@GLIBCXX_3.4.15 4.6
+ _ZNSt13__future_base11_State_baseD1Ev@GLIBCXX_3.4.15 4.6
+ _ZNSt13__future_base11_State_baseD2Ev@GLIBCXX_3.4.15 4.6
+ _ZNSt13__future_base12_Result_baseC1Ev@GLIBCXX_3.4.15 4.6
+ _ZNSt13__future_base12_Result_baseC2Ev@GLIBCXX_3.4.15 4.6
+ _ZNSt13__future_base12_Result_baseD0Ev@GLIBCXX_3.4.15 4.6
+ _ZNSt13__future_base12_Result_baseD1Ev@GLIBCXX_3.4.15 4.6
+ _ZNSt13__future_base12_Result_baseD2Ev@GLIBCXX_3.4.15 4.6
+ _ZNSt13__future_base13_State_baseV211_Make_ready6_M_setEv@GLIBCXX_3.4.21 5
+ _ZNSt13__future_base19_Async_state_commonD0Ev@GLIBCXX_3.4.17 4.7.0~rc1
+ _ZNSt13__future_base19_Async_state_commonD1Ev@GLIBCXX_3.4.17 4.7.0~rc1
+ _ZNSt13__future_base19_Async_state_commonD2Ev@GLIBCXX_3.4.17 4.7.0~rc1
+ _ZNSt16nested_exceptionD0Ev@CXXABI_1.3.5 4.6
+ _ZNSt16nested_exceptionD1Ev@CXXABI_1.3.5 4.6
+ _ZNSt16nested_exceptionD2Ev@CXXABI_1.3.5 4.6
+ _ZTINSt13__future_base11_State_baseE@GLIBCXX_3.4.15 4.6
+ _ZTINSt13__future_base12_Result_baseE@GLIBCXX_3.4.15 4.6
+ _ZTINSt13__future_base19_Async_state_commonE@GLIBCXX_3.4.17 4.7.0~rc1
+ _ZTISt16nested_exception@CXXABI_1.3.5 4.6
+ _ZTSNSt13__future_base19_Async_state_commonE@GLIBCXX_3.4.17 4.7.0~rc1
+ _ZTVNSt13__future_base11_State_baseE@GLIBCXX_3.4.15 4.6
+ _ZTVNSt13__future_base12_Result_baseE@GLIBCXX_3.4.15 4.6
+ _ZTVNSt13__future_base19_Async_state_commonE@GLIBCXX_3.4.17 4.7.0~rc1
+ _ZTVSt16nested_exception@CXXABI_1.3.5 4.6
--- /dev/null
+libstdc++.so.6 libstdc++6 #MINVER#
+#include "libstdc++6.symbols.32bit"
+#include "libstdc++6.symbols.excprop"
+ __gxx_personality_v0@CXXABI_1.3 4.1.1
+#include "libstdc++6.symbols.glibcxxmath"
+#include "libstdc++6.symbols.ldbl.32bit"
+#include "libstdc++6.symbols.money.f128"
+ _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3.0~rc2
+ _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3.0~rc2
--- /dev/null
+libstdc++.so.6 libstdc++6 #MINVER#
+#include "libstdc++6.symbols.32bit"
+#include "libstdc++6.symbols.excprop"
+ __gxx_personality_v0@CXXABI_1.3 4.1.1
+#include "libstdc++6.symbols.glibcxxmath"
+#include "libstdc++6.symbols.ldbl.32bit"
+ _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3.0~rc2
+ _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3.0~rc2
--- /dev/null
+libstdc++.so.6 libstdc++6 #MINVER#
+#include "libstdc++6.symbols.64bit"
+#include "libstdc++6.symbols.128bit"
+#include "libstdc++6.symbols.excprop"
+ _ZN9__gnu_cxx12__atomic_addEPVii@GLIBCXX_3.4 4.1.1
+ _ZN9__gnu_cxx18__exchange_and_addEPVii@GLIBCXX_3.4 4.1.1
+#include "libstdc++6.symbols.glibcxxmath"
+#include "libstdc++6.symbols.ldbl.64bit"
+#include "libstdc++6.symbols.money.f128"
+ _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3.0~rc2
+ _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3.0~rc2
--- /dev/null
+libstdc++.so.6 libstdc++6 #MINVER#
+#include "libstdc++6.symbols.64bit"
+#include "libstdc++6.symbols.128bit"
+#include "libstdc++6.symbols.excprop"
+ _ZN9__gnu_cxx12__atomic_addEPVii@GLIBCXX_3.4 4.1.1
+ _ZN9__gnu_cxx18__exchange_and_addEPVii@GLIBCXX_3.4 4.1.1
+#include "libstdc++6.symbols.glibcxxmath"
+#include "libstdc++6.symbols.ldbl.64bit"
+#include "libstdc++6.symbols.money.f128"
+ _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3.0~rc2
+ _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3.0~rc2
--- /dev/null
+libstdc++.so.6 libstdc++6 #MINVER#
+#include "libstdc++6.symbols.common"
+#include "libstdc++6.symbols.excprop"
+ _ZN9__gnu_cxx12__atomic_addEPVii@GLIBCXX_3.4 4.1.1
+ _ZN9__gnu_cxx17__pool_alloc_base16_M_get_free_listEm@GLIBCXX_3.4.2 4.1.1
+ _ZN9__gnu_cxx17__pool_alloc_base9_M_refillEm@GLIBCXX_3.4.2 4.1.1
+ _ZN9__gnu_cxx18__exchange_and_addEPVii@GLIBCXX_3.4 4.1.1
+ _ZN9__gnu_cxx6__poolILb0EE16_M_reclaim_blockEPcm@GLIBCXX_3.4.4 4.1.1
+ _ZN9__gnu_cxx6__poolILb0EE16_M_reserve_blockEmm@GLIBCXX_3.4.4 4.1.1
+ _ZN9__gnu_cxx6__poolILb1EE16_M_reclaim_blockEPcm@GLIBCXX_3.4.4 4.1.1
+ _ZN9__gnu_cxx6__poolILb1EE16_M_reserve_blockEmm@GLIBCXX_3.4.4 4.1.1
+ _ZN9__gnu_cxx9free_list6_M_getEm@GLIBCXX_3.4.4 4.1.1
+ _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE6xsgetnEPci@GLIBCXX_3.4.10 4.3.0~rc2
+ _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE6xsputnEPKci@GLIBCXX_3.4.10 4.3.0~rc2
+ _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4.10 4.3.0~rc2
+ _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE6xsgetnEPwi@GLIBCXX_3.4.10 4.3.0~rc2
+ _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE6xsputnEPKwi@GLIBCXX_3.4.10 4.3.0~rc2
+ _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4.10 4.3.0~rc2
+ _ZNK10__cxxabiv117__class_type_info12__do_dyncastEiNS0_10__sub_kindEPKS0_PKvS3_S5_RNS0_16__dyncast_resultE@CXXABI_1.3 4.1.1
+ _ZNK10__cxxabiv117__class_type_info20__do_find_public_srcEiPKvPKS0_S2_@CXXABI_1.3 4.1.1
+ _ZNK10__cxxabiv120__si_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE@CXXABI_1.3 4.1.1
+ _ZNK10__cxxabiv120__si_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2_@CXXABI_1.3 4.1.1
+ _ZNK10__cxxabiv121__vmi_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE@CXXABI_1.3 4.1.1
+ _ZNK10__cxxabiv121__vmi_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2_@CXXABI_1.3 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwmm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofERKS2_m@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEwm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwmm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofERKS2_m@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEwm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEmmPKc@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEmmPKc@GLIBCXX_3.4.5 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwmm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofERKS2_m@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEwm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwmm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofERKS2_m@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEwm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE2atEm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE4copyEPwmm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwmm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE4findERKS2_m@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE4findEwm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwmm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE5rfindERKS2_m@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE5rfindEwm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE6substrEmm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmPKw@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmPKwm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmRKS2_@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmRKS2_mm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE8_M_checkEmPKc@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEE8_M_limitEmm@GLIBCXX_3.4 4.1.1
+ _ZNKSbIwSt11char_traitsIwESaIwEEixEm@GLIBCXX_3.4 4.1.1
+ _ZNKSs12find_last_ofEPKcm@GLIBCXX_3.4 4.1.1
+ _ZNKSs12find_last_ofEPKcmm@GLIBCXX_3.4 4.1.1
+ _ZNKSs12find_last_ofERKSsm@GLIBCXX_3.4 4.1.1
+ _ZNKSs12find_last_ofEcm@GLIBCXX_3.4 4.1.1
+ _ZNKSs13find_first_ofEPKcm@GLIBCXX_3.4 4.1.1
+ _ZNKSs13find_first_ofEPKcmm@GLIBCXX_3.4 4.1.1
+ _ZNKSs13find_first_ofERKSsm@GLIBCXX_3.4 4.1.1
+ _ZNKSs13find_first_ofEcm@GLIBCXX_3.4 4.1.1
+ _ZNKSs15_M_check_lengthEmmPKc@GLIBCXX_3.4 4.1.1
+ _ZNKSs15_M_check_lengthEmmPKc@GLIBCXX_3.4.5 4.1.1
+ _ZNKSs16find_last_not_ofEPKcm@GLIBCXX_3.4 4.1.1
+ _ZNKSs16find_last_not_ofEPKcmm@GLIBCXX_3.4 4.1.1
+ _ZNKSs16find_last_not_ofERKSsm@GLIBCXX_3.4 4.1.1
+ _ZNKSs16find_last_not_ofEcm@GLIBCXX_3.4 4.1.1
+ _ZNKSs17find_first_not_ofEPKcm@GLIBCXX_3.4 4.1.1
+ _ZNKSs17find_first_not_ofEPKcmm@GLIBCXX_3.4 4.1.1
+ _ZNKSs17find_first_not_ofERKSsm@GLIBCXX_3.4 4.1.1
+ _ZNKSs17find_first_not_ofEcm@GLIBCXX_3.4 4.1.1
+ _ZNKSs2atEm@GLIBCXX_3.4 4.1.1
+ _ZNKSs4copyEPcmm@GLIBCXX_3.4 4.1.1
+ _ZNKSs4findEPKcm@GLIBCXX_3.4 4.1.1
+ _ZNKSs4findEPKcmm@GLIBCXX_3.4 4.1.1
+ _ZNKSs4findERKSsm@GLIBCXX_3.4 4.1.1
+ _ZNKSs4findEcm@GLIBCXX_3.4 4.1.1
+ _ZNKSs5rfindEPKcm@GLIBCXX_3.4 4.1.1
+ _ZNKSs5rfindEPKcmm@GLIBCXX_3.4 4.1.1
+ _ZNKSs5rfindERKSsm@GLIBCXX_3.4 4.1.1
+ _ZNKSs5rfindEcm@GLIBCXX_3.4 4.1.1
+ _ZNKSs6substrEmm@GLIBCXX_3.4 4.1.1
+ _ZNKSs7compareEmmPKc@GLIBCXX_3.4 4.1.1
+ _ZNKSs7compareEmmPKcm@GLIBCXX_3.4 4.1.1
+ _ZNKSs7compareEmmRKSs@GLIBCXX_3.4 4.1.1
+ _ZNKSs7compareEmmRKSsmm@GLIBCXX_3.4 4.1.1
+ _ZNKSs8_M_checkEmPKc@GLIBCXX_3.4 4.1.1
+ _ZNKSs8_M_limitEmm@GLIBCXX_3.4 4.1.1
+ _ZNKSsixEm@GLIBCXX_3.4 4.1.1
+ _ZNKSt11__timepunctIcE6_M_putEPcmPKcPK2tm@GLIBCXX_3.4 4.1.1
+ _ZNKSt11__timepunctIwE6_M_putEPwmPKwPK2tm@GLIBCXX_3.4 4.1.1
+ _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3
+ _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3
+ _ZNKSt7codecvtIcc11__mbstate_tE9do_lengthERS0_PKcS4_m@GLIBCXX_3.4 4.1.1
+ _ZNKSt7codecvtIwc11__mbstate_tE9do_lengthERS0_PKcS4_m@GLIBCXX_3.4 4.1.1
+ _ZNKSt7collateIcE12_M_transformEPcPKcm@GLIBCXX_3.4 4.1.1
+ _ZNKSt7collateIwE12_M_transformEPwPKwm@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12_M_group_intEPKcmcRSt8ios_basePcS9_Ri@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_group_floatEPKcmcS6_PcS7_Ri@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6_M_padEciRSt8ios_basePcPKcRi@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE12_M_group_intEPKcmwRSt8ios_basePwS9_Ri@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_group_floatEPKcmwPKwPwS9_Ri@GLIBCXX_3.4 4.1.1
+ _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6_M_padEwiRSt8ios_basePwPKwRi@GLIBCXX_3.4 4.1.1
+ _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_numES3_S3_RiiimRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4 4.1.1
+ _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE15_M_extract_nameES3_S3_RiPPKcmRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4 4.1.1
+ _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE24_M_extract_wday_or_monthES3_S3_RiPPKcmRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4.14 4.5.0
+ _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_numES3_S3_RiiimRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4 4.1.1
+ _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE15_M_extract_nameES3_S3_RiPPKwmRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4 4.1.1
+ _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE24_M_extract_wday_or_monthES3_S3_RiPPKwmRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4.14 4.5.0
+ _ZNKSt8valarrayImE4sizeEv@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE10_S_compareEmm@GLIBCXX_3.4.16 4.7
+ _ZNSbIwSt11char_traitsIwESaIwEE12_S_constructEmwRKS1_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE14_M_replace_auxEmmmw@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeEmmPKwm@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE18_S_construct_aux_2EmwRKS1_@GLIBCXX_3.4.14 4.5.0
+ _ZNSbIwSt11char_traitsIwESaIwEE2atEm@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEm@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEm@GLIBCXX_3.4.5 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE4_Rep8_M_cloneERKS1_m@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE4_Rep9_S_createEmmRKS1_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE5eraseEmm@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6appendEPKwm@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_mm@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6appendEmw@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6assignEPKwm@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_mm@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6assignEmw@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEmw@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6insertEmPKw@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6insertEmPKwm@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6insertEmRKS2_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6insertEmRKS2_mm@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6insertEmmw@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6resizeEm@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE6resizeEmw@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwm@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwm@GLIBCXX_3.4.5 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwm@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwm@GLIBCXX_3.4.5 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwm@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_mw@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmPKw@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmPKwm@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmRKS2_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmRKS2_mm@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmmw@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE7reserveEm@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwmw@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwmw@GLIBCXX_3.4.5 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEmmm@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEEC1EPKwmRKS1_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mm@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mmRKS1_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEEC1EmwRKS1_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEEC2EPKwmRKS1_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mm@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mmRKS1_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEEC2EmwRKS1_@GLIBCXX_3.4 4.1.1
+ _ZNSbIwSt11char_traitsIwESaIwEEixEm@GLIBCXX_3.4 4.1.1
+ _ZNSi3getEPci@GLIBCXX_3.4 4.1.1
+ _ZNSi3getEPcic@GLIBCXX_3.4 4.1.1
+ _ZNSi4readEPci@GLIBCXX_3.4 4.1.1
+ _ZNSi5seekgExSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1
+ _ZNSi6ignoreEi@GLIBCXX_3.4 4.1.1
+ _ZNSi6ignoreEi@GLIBCXX_3.4.5 4.1.1
+ _ZNSi6ignoreEii@GLIBCXX_3.4 4.1.1
+ _ZNSi7getlineEPci@GLIBCXX_3.4 4.1.1
+ _ZNSi7getlineEPcic@GLIBCXX_3.4 4.1.1
+ _ZNSi8readsomeEPci@GLIBCXX_3.4 4.1.1
+ _ZNSo5seekpExSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1
+ _ZNSo5writeEPKci@GLIBCXX_3.4 4.1.1
+ _ZNSo8_M_writeEPKci@GLIBCXX_3.4 4.1.1
+ _ZNSs10_S_compareEmm@GLIBCXX_3.4.16 4.7
+ _ZNSs12_S_constructEmcRKSaIcE@GLIBCXX_3.4 4.1.1
+ _ZNSs14_M_replace_auxEmmmc@GLIBCXX_3.4 4.1.1
+ _ZNSs15_M_replace_safeEmmPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSs18_S_construct_aux_2EmcRKSaIcE@GLIBCXX_3.4.14 4.5.0
+ _ZNSs2atEm@GLIBCXX_3.4 4.1.1
+ _ZNSs4_Rep26_M_set_length_and_sharableEm@GLIBCXX_3.4 4.1.1
+ _ZNSs4_Rep26_M_set_length_and_sharableEm@GLIBCXX_3.4.5 4.1.1
+ _ZNSs4_Rep8_M_cloneERKSaIcEm@GLIBCXX_3.4 4.1.1
+ _ZNSs4_Rep9_S_createEmmRKSaIcE@GLIBCXX_3.4 4.1.1
+ _ZNSs5eraseEmm@GLIBCXX_3.4 4.1.1
+ _ZNSs6appendEPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSs6appendERKSsmm@GLIBCXX_3.4 4.1.1
+ _ZNSs6appendEmc@GLIBCXX_3.4 4.1.1
+ _ZNSs6assignEPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSs6assignERKSsmm@GLIBCXX_3.4 4.1.1
+ _ZNSs6assignEmc@GLIBCXX_3.4 4.1.1
+ _ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEmc@GLIBCXX_3.4 4.1.1
+ _ZNSs6insertEmPKc@GLIBCXX_3.4 4.1.1
+ _ZNSs6insertEmPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSs6insertEmRKSs@GLIBCXX_3.4 4.1.1
+ _ZNSs6insertEmRKSsmm@GLIBCXX_3.4 4.1.1
+ _ZNSs6insertEmmc@GLIBCXX_3.4 4.1.1
+ _ZNSs6resizeEm@GLIBCXX_3.4 4.1.1
+ _ZNSs6resizeEmc@GLIBCXX_3.4 4.1.1
+ _ZNSs7_M_copyEPcPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSs7_M_copyEPcPKcm@GLIBCXX_3.4.5 4.1.1
+ _ZNSs7_M_moveEPcPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSs7_M_moveEPcPKcm@GLIBCXX_3.4.5 4.1.1
+ _ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcm@GLIBCXX_3.4 4.1.1
+ _ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_mc@GLIBCXX_3.4 4.1.1
+ _ZNSs7replaceEmmPKc@GLIBCXX_3.4 4.1.1
+ _ZNSs7replaceEmmPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSs7replaceEmmRKSs@GLIBCXX_3.4 4.1.1
+ _ZNSs7replaceEmmRKSsmm@GLIBCXX_3.4 4.1.1
+ _ZNSs7replaceEmmmc@GLIBCXX_3.4 4.1.1
+ _ZNSs7reserveEm@GLIBCXX_3.4 4.1.1
+ _ZNSs9_M_assignEPcmc@GLIBCXX_3.4 4.1.1
+ _ZNSs9_M_assignEPcmc@GLIBCXX_3.4.5 4.1.1
+ _ZNSs9_M_mutateEmmm@GLIBCXX_3.4 4.1.1
+ _ZNSsC1EPKcmRKSaIcE@GLIBCXX_3.4 4.1.1
+ _ZNSsC1ERKSsmm@GLIBCXX_3.4 4.1.1
+ _ZNSsC1ERKSsmmRKSaIcE@GLIBCXX_3.4 4.1.1
+ _ZNSsC1EmcRKSaIcE@GLIBCXX_3.4 4.1.1
+ _ZNSsC2EPKcmRKSaIcE@GLIBCXX_3.4 4.1.1
+ _ZNSsC2ERKSsmm@GLIBCXX_3.4 4.1.1
+ _ZNSsC2ERKSsmmRKSaIcE@GLIBCXX_3.4 4.1.1
+ _ZNSsC2EmcRKSaIcE@GLIBCXX_3.4 4.1.1
+ _ZNSsixEm@GLIBCXX_3.4 4.1.1
+ _ZNSt10istrstreamC1EPKci@GLIBCXX_3.4 4.1.1
+ _ZNSt10istrstreamC1EPci@GLIBCXX_3.4 4.1.1
+ _ZNSt10istrstreamC2EPKci@GLIBCXX_3.4 4.1.1
+ _ZNSt10istrstreamC2EPci@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb0EEC1EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb0EEC1EPSt18__moneypunct_cacheIcLb0EEm@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb0EEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb0EEC2EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb0EEC2EPSt18__moneypunct_cacheIcLb0EEm@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb0EEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb1EEC1EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb1EEC1EPSt18__moneypunct_cacheIcLb1EEm@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb1EEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb1EEC2EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb1EEC2EPSt18__moneypunct_cacheIcLb1EEm@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIcLb1EEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb0EEC1EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb0EEC1EPSt18__moneypunct_cacheIwLb0EEm@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb0EEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb0EEC2EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb0EEC2EPSt18__moneypunct_cacheIwLb0EEm@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb0EEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb1EEC1EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb1EEC1EPSt18__moneypunct_cacheIwLb1EEm@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb1EEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb1EEC2EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb1EEC2EPSt18__moneypunct_cacheIwLb1EEm@GLIBCXX_3.4 4.1.1
+ _ZNSt10moneypunctIwLb1EEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt11__timepunctIcEC1EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt11__timepunctIcEC1EPSt17__timepunct_cacheIcEm@GLIBCXX_3.4 4.1.1
+ _ZNSt11__timepunctIcEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt11__timepunctIcEC2EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt11__timepunctIcEC2EPSt17__timepunct_cacheIcEm@GLIBCXX_3.4 4.1.1
+ _ZNSt11__timepunctIcEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt11__timepunctIwEC1EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt11__timepunctIwEC1EPSt17__timepunct_cacheIwEm@GLIBCXX_3.4 4.1.1
+ _ZNSt11__timepunctIwEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt11__timepunctIwEC2EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt11__timepunctIwEC2EPSt17__timepunct_cacheIwEm@GLIBCXX_3.4 4.1.1
+ _ZNSt11__timepunctIwEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt11this_thread11__sleep_forENSt6chrono8durationIxSt5ratioILx1ELx1EEEENS1_IxS2_ILx1ELx1000000000EEEE@GLIBCXX_3.4.18 4.8
+ _ZNSt12__basic_fileIcE6xsgetnEPci@GLIBCXX_3.4 4.1.1
+ _ZNSt12__basic_fileIcE6xsputnEPKci@GLIBCXX_3.4 4.1.1
+ _ZNSt12__basic_fileIcE7seekoffExSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1
+ _ZNSt12__basic_fileIcE8xsputn_2EPKciS2_i@GLIBCXX_3.4 4.1.1
+ _ZNSt12ctype_bynameIcEC1EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt12ctype_bynameIcEC2EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt12ctype_bynameIwEC1EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt12ctype_bynameIwEC2EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambuf6setbufEPci@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambuf7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambuf8_M_allocEm@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambuf8_M_setupEPcS0_i@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC1EPFPvmEPFvS0_E@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC1EPKai@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC1EPKci@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC1EPKhi@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC1EPaiS0_@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC1EPciS0_@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC1EPhiS0_@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC1Ei@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC2EPFPvmEPFvS0_E@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC2EPKai@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC2EPKci@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC2EPKhi@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC2EPaiS0_@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC2EPciS0_@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC2EPhiS0_@GLIBCXX_3.4 4.1.1
+ _ZNSt12strstreambufC2Ei@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIcSt11char_traitsIcEE13_M_set_bufferEi@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIcSt11char_traitsIcEE22_M_convert_to_externalEPci@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIcSt11char_traitsIcEE6setbufEPci@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIcSt11char_traitsIcEE6xsgetnEPci@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIcSt11char_traitsIcEE6xsputnEPKci@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIcSt11char_traitsIcEE7_M_seekExSt12_Ios_Seekdir11__mbstate_t@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIwSt11char_traitsIwEE13_M_set_bufferEi@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIwSt11char_traitsIwEE22_M_convert_to_externalEPwi@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIwSt11char_traitsIwEE6setbufEPwi@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIwSt11char_traitsIwEE6xsgetnEPwi@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIwSt11char_traitsIwEE6xsputnEPKwi@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIwSt11char_traitsIwEE7_M_seekExSt12_Ios_Seekdir11__mbstate_t@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_filebufIwSt11char_traitsIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwi@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwiw@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE4readEPwi@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgExSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEi@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEi@GLIBCXX_3.4.5 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEij@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwi@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwiw@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE8readsomeEPwi@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpExSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEE5writeEPKwi@GLIBCXX_3.4 4.1.1
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEE8_M_writeEPKwi@GLIBCXX_3.4 4.1.1
+ _ZNSt14codecvt_bynameIcc11__mbstate_tEC1EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt14codecvt_bynameIcc11__mbstate_tEC2EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt14collate_bynameIcEC1EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt14collate_bynameIcEC2EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt14collate_bynameIwEC1EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt14collate_bynameIwEC2EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE12__safe_gbumpEi@GLIBCXX_3.4.16 4.7
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE12__safe_pbumpEi@GLIBCXX_3.4.16 4.7
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetnEPci@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE5sputnEPKci@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPci@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE6xsgetnEPci@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE6xsputnEPKci@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIcSt11char_traitsIcEE9pubsetbufEPci@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE12__safe_gbumpEi@GLIBCXX_3.4.16 4.7
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE12__safe_pbumpEi@GLIBCXX_3.4.16 4.7
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetnEPwi@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE5sputnEPKwi@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE6setbufEPwi@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE6xsgetnEPwi@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE6xsputnEPKwi@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_streambufIwSt11char_traitsIwEE9pubsetbufEPwi@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPci@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcmm@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8_M_pbumpEPcS4_x@GLIBCXX_3.4.16 4.7
+ _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE6setbufEPwi@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7_M_syncEPwmm@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1
+ _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8_M_pbumpEPwS4_x@GLIBCXX_3.4.16 4.7
+ _ZNSt15messages_bynameIcEC1EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt15messages_bynameIcEC2EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt15messages_bynameIwEC1EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt15messages_bynameIwEC2EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt15numpunct_bynameIcEC1EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt15numpunct_bynameIcEC2EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt15numpunct_bynameIwEC1EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt15numpunct_bynameIwEC2EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt16__numpunct_cacheIcEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt16__numpunct_cacheIcEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt16__numpunct_cacheIwEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt16__numpunct_cacheIwEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt17__timepunct_cacheIcEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt17__timepunct_cacheIcEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt17__timepunct_cacheIwEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt17__timepunct_cacheIwEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt17moneypunct_bynameIcLb0EEC1EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt17moneypunct_bynameIcLb0EEC2EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt17moneypunct_bynameIcLb1EEC1EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt17moneypunct_bynameIcLb1EEC2EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt17moneypunct_bynameIwLb0EEC1EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt17moneypunct_bynameIwLb0EEC2EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt17moneypunct_bynameIwLb1EEC1EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt17moneypunct_bynameIwLb1EEC2EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt18__moneypunct_cacheIcLb0EEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt18__moneypunct_cacheIcLb0EEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt18__moneypunct_cacheIcLb1EEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt18__moneypunct_cacheIcLb1EEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt18__moneypunct_cacheIwLb0EEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt18__moneypunct_cacheIwLb0EEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt18__moneypunct_cacheIwLb1EEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt18__moneypunct_cacheIwLb1EEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt5ctypeIcEC1EP15__locale_structPKtbm@GLIBCXX_3.4 4.1.1
+ _ZNSt5ctypeIcEC1EPKtbm@GLIBCXX_3.4 4.1.1
+ _ZNSt5ctypeIcEC2EP15__locale_structPKtbm@GLIBCXX_3.4 4.1.1
+ _ZNSt5ctypeIcEC2EPKtbm@GLIBCXX_3.4 4.1.1
+ _ZNSt5ctypeIwEC1EP15__locale_structm@GLIBCXX_3.4 4.1.1
+ _ZNSt5ctypeIwEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt5ctypeIwEC2EP15__locale_structm@GLIBCXX_3.4 4.1.1
+ _ZNSt5ctypeIwEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt6gslice8_IndexerC1EmRKSt8valarrayImES4_@GLIBCXX_3.4 4.1.1
+ _ZNSt6gslice8_IndexerC2EmRKSt8valarrayImES4_@GLIBCXX_3.4 4.1.1
+ _ZNSt6locale5_Impl16_M_install_cacheEPKNS_5facetEm@GLIBCXX_3.4.7 4.1.1
+ _ZNSt6locale5_ImplC1EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt6locale5_ImplC1ERKS0_m@GLIBCXX_3.4 4.1.1
+ _ZNSt6locale5_ImplC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt6locale5_ImplC2EPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt6locale5_ImplC2ERKS0_m@GLIBCXX_3.4 4.1.1
+ _ZNSt6locale5_ImplC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt7codecvtIcc11__mbstate_tEC1EP15__locale_structm@GLIBCXX_3.4 4.1.1
+ _ZNSt7codecvtIcc11__mbstate_tEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt7codecvtIcc11__mbstate_tEC2EP15__locale_structm@GLIBCXX_3.4 4.1.1
+ _ZNSt7codecvtIcc11__mbstate_tEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt7codecvtIwc11__mbstate_tEC1EP15__locale_structm@GLIBCXX_3.4 4.1.1
+ _ZNSt7codecvtIwc11__mbstate_tEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt7codecvtIwc11__mbstate_tEC2EP15__locale_structm@GLIBCXX_3.4 4.1.1
+ _ZNSt7codecvtIwc11__mbstate_tEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt7collateIcEC1EP15__locale_structm@GLIBCXX_3.4 4.1.1
+ _ZNSt7collateIcEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt7collateIcEC2EP15__locale_structm@GLIBCXX_3.4 4.1.1
+ _ZNSt7collateIcEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt7collateIwEC1EP15__locale_structm@GLIBCXX_3.4 4.1.1
+ _ZNSt7collateIwEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt7collateIwEC2EP15__locale_structm@GLIBCXX_3.4 4.1.1
+ _ZNSt7collateIwEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt8messagesIcEC1EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt8messagesIcEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt8messagesIcEC2EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt8messagesIcEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt8messagesIwEC1EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt8messagesIwEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt8messagesIwEC2EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1
+ _ZNSt8messagesIwEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIcEC1EP15__locale_structm@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIcEC1EPSt16__numpunct_cacheIcEm@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIcEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIcEC2EP15__locale_structm@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIcEC2EPSt16__numpunct_cacheIcEm@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIcEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIwEC1EP15__locale_structm@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIwEC1EPSt16__numpunct_cacheIwEm@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIwEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIwEC2EP15__locale_structm@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIwEC2EPSt16__numpunct_cacheIwEm@GLIBCXX_3.4 4.1.1
+ _ZNSt8numpunctIwEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt8valarrayImEC1ERKS0_@GLIBCXX_3.4 4.1.1
+ _ZNSt8valarrayImEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt8valarrayImEC2ERKS0_@GLIBCXX_3.4 4.1.1
+ _ZNSt8valarrayImEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt8valarrayImED1Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt8valarrayImED2Ev@GLIBCXX_3.4 4.1.1
+ _ZNSt8valarrayImEixEm@GLIBCXX_3.4 4.1.1
+ _ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_3.4 4.1.1
+ _ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_3.4 4.1.1
+ _ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_3.4 4.1.1
+ _ZSt11_Hash_bytesPKvmm@CXXABI_1.3.5 4.6
+ _ZSt15_Fnv_hash_bytesPKvmm@CXXABI_1.3.5 4.6
+ _ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_i@GLIBCXX_3.4.9 4.2.1
+ _ZSt16__ostream_insertIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_i@GLIBCXX_3.4.9 4.2.1
+ _ZSt17__copy_streambufsIcSt11char_traitsIcEEiPSt15basic_streambufIT_T0_ES6_@GLIBCXX_3.4.6 4.1.1
+ _ZSt17__copy_streambufsIwSt11char_traitsIwEEiPSt15basic_streambufIT_T0_ES6_@GLIBCXX_3.4.6 4.1.1
+ _ZSt17__verify_groupingPKcmRKSs@GLIBCXX_3.4.10 4.3
+ _ZSt21__copy_streambufs_eofIcSt11char_traitsIcEEiPSt15basic_streambufIT_T0_ES6_Rb@GLIBCXX_3.4.9 4.2.1
+ _ZSt21__copy_streambufs_eofIwSt11char_traitsIwEEiPSt15basic_streambufIT_T0_ES6_Rb@GLIBCXX_3.4.9 4.2.1
+ _ZThn8_NSdD0Ev@GLIBCXX_3.4 4.1.1
+ _ZThn8_NSdD1Ev@GLIBCXX_3.4 4.1.1
+ _ZThn8_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZThn8_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZThn8_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZThn8_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZThn8_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZThn8_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZThn8_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZThn8_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZThn8_NSt9strstreamD0Ev@GLIBCXX_3.4 4.1.1
+ _ZThn8_NSt9strstreamD1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSdD0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSdD1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSiD0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSiD1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSoD0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSoD1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt10istrstreamD0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt10istrstreamD1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt10ostrstreamD0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt10ostrstreamD1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt9strstreamD0Ev@GLIBCXX_3.4 4.1.1
+ _ZTv0_n12_NSt9strstreamD1Ev@GLIBCXX_3.4 4.1.1
+ _Znam@GLIBCXX_3.4 4.1.1
+ _ZnamRKSt9nothrow_t@GLIBCXX_3.4 4.1.1
+ _Znwm@GLIBCXX_3.4 4.1.1
+ _ZnwmRKSt9nothrow_t@GLIBCXX_3.4 4.1.1
+ __gxx_personality_v0@CXXABI_1.3 4.1.1
+#include "libstdc++6.symbols.glibcxxmath"
+#include "libstdc++6.symbols.ldbl.32bit.s390"
+ _ZNSt12__basic_fileIcEC1EP15pthread_mutex_t@GLIBCXX_3.4 4.1.1
+ _ZNSt12__basic_fileIcEC2EP15pthread_mutex_t@GLIBCXX_3.4 4.1.1
--- /dev/null
+libstdc++.so.6 libstdc++6 #MINVER#
+#include "libstdc++6.symbols.64bit"
+#include "libstdc++6.symbols.128bit"
+#include "libstdc++6.symbols.excprop"
+ _ZN9__gnu_cxx12__atomic_addEPVii@GLIBCXX_3.4 4.1.1
+ _ZN9__gnu_cxx18__exchange_and_addEPVii@GLIBCXX_3.4 4.1.1
+#DEPRECATED: 4.2.2-4# ldexpf@GLIBCXX_3.4.3 4.1.1
+#DEPRECATED: 4.2.2-4# powf@GLIBCXX_3.4 4.1.1
+#include "libstdc++6.symbols.glibcxxmath"
+#include "libstdc++6.symbols.ldbl.64bit"
+#include "libstdc++6.symbols.money.f128"
+ _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3.0~rc2
+ _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3.0~rc2
--- /dev/null
+libstdc++.so.6 libstdc++6 #MINVER#
+#include "libstdc++6.symbols.32bit"
+ __gxx_personality_v0@CXXABI_1.3 4.1.1
+#include "libstdc++6.symbols.excprop"
+#include "libstdc++6.symbols.glibcxxmath"
+#include "libstdc++6.symbols.money.ldbl"
+ _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3.0
+ _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3.0
--- /dev/null
+libstdc++.so.6 libstdc++6 #MINVER#
+#include "libstdc++6.symbols.32bit"
+#include "libstdc++6.symbols.excprop"
+ __gxx_personality_v0@CXXABI_1.3 4.1.1
+#include "libstdc++6.symbols.glibcxxmath"
+#include "libstdc++6.symbols.ldbl.32bit"
+#include "libstdc++6.symbols.money.f128"
+ _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3.0~rc2
+ _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3.0~rc2
--- /dev/null
+libstdc++.so.6 libstdc++6 #MINVER#
+#include "libstdc++6.symbols.64bit"
+#include "libstdc++6.symbols.excprop"
+#include "libstdc++6.symbols.128bit"
+#include "libstdc++6.symbols.money.ldbl"
+ _ZN9__gnu_cxx12__atomic_addEPVli@GLIBCXX_3.4 4.1.1
+ _ZN9__gnu_cxx18__exchange_and_addEPVli@GLIBCXX_3.4 4.1.1
+# FIXME: Currently no ldbl symbols in the 64bit libstdc++ on sparc.
+# #include "libstdc++6.symbols.ldbl.64bit"
+ _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3
+ _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3
--- /dev/null
+libstdc++.so.6 libstdc++6 #MINVER#
+#include "libstdc++6.symbols.32bit"
+#include "libstdc++6.symbols.128bit"
+#include "libstdc++6.symbols.excprop"
+#include "libstdc++6.symbols.money.ldbl"
+ __gxx_personality_v0@CXXABI_1.3 4.1.1
+ _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3
+ _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3
+#(optional)_Z16__VLTRegisterSetPPvPKvjjS0_@CXXABI_1.3.8 4.9.0
+#(optional)_Z17__VLTRegisterPairPPvPKvjS2_@CXXABI_1.3.8 4.9.0
+#(optional)_Z21__VLTRegisterSetDebugPPvPKvjjS0_@CXXABI_1.3.8 4.9.0
+#(optional)_Z22__VLTRegisterPairDebugPPvPKvjS2_PKcS4_@CXXABI_1.3.8 4.9.0
+#(optional)_Z24__VLTVerifyVtablePointerPPvPKv@CXXABI_1.3.8 4.9.0
+#(optional)_Z29__VLTVerifyVtablePointerDebugPPvPKvPKcS4_@CXXABI_1.3.8 4.9.0
+#(optional)__VLTChangePermission@CXXABI_1.3.8 4.9.0
+ _ZTIPKn@CXXABI_1.3.5 4.9.0
+ _ZTIPKo@CXXABI_1.3.5 4.9.0
+ _ZTIPn@CXXABI_1.3.5 4.9.0
+ _ZTIPo@CXXABI_1.3.5 4.9.0
+ _ZTIn@CXXABI_1.3.5 4.9.0
+ _ZTIo@CXXABI_1.3.5 4.9.0
+ _ZTSPKn@CXXABI_1.3.9 4.9.0
+ _ZTSPKo@CXXABI_1.3.9 4.9.0
+ _ZTSPn@CXXABI_1.3.9 4.9.0
+ _ZTSPo@CXXABI_1.3.9 4.9.0
+ _ZTSn@CXXABI_1.3.9 4.9.0
+ _ZTSo@CXXABI_1.3.9 4.9.0
--- /dev/null
+#! /bin/sh -e
+
+case "$1" in
+ configure)
+ docdir=/usr/share/doc/libstdc++@CXX@
+ if [ -d $docdir ] && [ ! -h $docdir ]; then
+ rm -rf $docdir
+ ln -s gcc-@BV@-base $docdir
+ fi
+
+ if [ -n "$2" ] && [ -d /usr/share/gcc-4.9 ] && dpkg --compare-versions "$2" lt 5.1.1-10; then
+ find /usr/share/gcc-4.9/python -name __pycache__ -type d -print0 | xargs -r0 rm -rf
+ find /usr/share/gcc-4.9/python -name '*.py[co]' -type f -print0 | xargs -r0 rm -f
+ find /usr/share/gcc-4.9 -empty -delete 2>/dev/null || true
+ fi
+esac
+
+#DEBHELPER#
--- /dev/null
+#! /bin/sh
+
+set -e
+
+case "$1" in
+ remove|upgrade)
+ files=$(dpkg -L libstdc++@CXX@@TARGET_QUAL@ | awk -F/ 'BEGIN {OFS="/"} /\.py$/ {$NF=sprintf("__pycache__/%s.*.py[co]", substr($NF,1,length($NF)-3)); print}')
+ rm -f $files
+ dirs=$(dpkg -L libstdc++@CXX@@TARGET_QUAL@ | awk -F/ 'BEGIN {OFS="/"} /\.py$/ {NF--; print}' | sort -u)
+ find $dirs -mindepth 1 -maxdepth 1 -name __pycache__ -type d -empty | xargs -r rmdir
+esac
+
+#DEBHELPER#
--- /dev/null
+libtsan.so.0 libtsan0 #MINVER#
+ AnnotateBenignRace@Base 4.9
+ AnnotateBenignRaceSized@Base 4.9
+ AnnotateCondVarSignal@Base 4.9
+ AnnotateCondVarSignalAll@Base 4.9
+ AnnotateCondVarWait@Base 4.9
+ AnnotateEnableRaceDetection@Base 4.9
+ AnnotateExpectRace@Base 4.9
+ AnnotateFlushExpectedRaces@Base 4.9
+ AnnotateFlushState@Base 4.9
+ AnnotateHappensAfter@Base 4.9
+ AnnotateHappensBefore@Base 4.9
+ AnnotateIgnoreReadsBegin@Base 4.9
+ AnnotateIgnoreReadsEnd@Base 4.9
+ AnnotateIgnoreSyncBegin@Base 4.9
+ AnnotateIgnoreSyncEnd@Base 4.9
+ AnnotateIgnoreWritesBegin@Base 4.9
+ AnnotateIgnoreWritesEnd@Base 4.9
+ AnnotateMemoryIsInitialized@Base 4.9
+ AnnotateMemoryIsUninitialized@Base 5
+ AnnotateMutexIsNotPHB@Base 4.9
+ AnnotateMutexIsUsedAsCondVar@Base 4.9
+ AnnotateNewMemory@Base 4.9
+ AnnotateNoOp@Base 4.9
+ AnnotatePCQCreate@Base 4.9
+ AnnotatePCQDestroy@Base 4.9
+ AnnotatePCQGet@Base 4.9
+ AnnotatePCQPut@Base 4.9
+ AnnotatePublishMemoryRange@Base 4.9
+ AnnotateRWLockAcquired@Base 4.9
+ AnnotateRWLockCreate@Base 4.9
+ AnnotateRWLockCreateStatic@Base 4.9
+ AnnotateRWLockDestroy@Base 4.9
+ AnnotateRWLockReleased@Base 4.9
+ AnnotateThreadName@Base 4.9
+ AnnotateTraceMemory@Base 4.9
+ AnnotateUnpublishMemoryRange@Base 4.9
+ OnPrint@Base 8
+ RunningOnValgrind@Base 4.9
+ ThreadSanitizerQuery@Base 4.9
+ ValgrindSlowdown@Base 4.9
+ WTFAnnotateBenignRaceSized@Base 4.9
+ WTFAnnotateHappensAfter@Base 4.9
+ WTFAnnotateHappensBefore@Base 4.9
+ _ZN11__sanitizer11CheckFailedEPKciS1_yy@Base 4.9
+ _ZN6__tsan10OnFinalizeEb@Base 4.9
+ _ZN6__tsan12OnInitializeEv@Base 5
+ _ZN6__tsan8OnReportEPKNS_10ReportDescEb@Base 4.9
+ _ZdaPv@Base 4.9
+ _ZdaPvRKSt9nothrow_t@Base 4.9
+ _ZdlPv@Base 4.9
+ _ZdlPvRKSt9nothrow_t@Base 4.9
+ _Znam@Base 4.9
+ _ZnamRKSt9nothrow_t@Base 4.9
+ _Znwm@Base 4.9
+ _ZnwmRKSt9nothrow_t@Base 4.9
+ __asan_backtrace_alloc@Base 4.9
+ __asan_backtrace_close@Base 4.9
+ __asan_backtrace_create_state@Base 4.9
+ __asan_backtrace_dwarf_add@Base 4.9
+ __asan_backtrace_free@Base 4.9
+ __asan_backtrace_get_view@Base 4.9
+ __asan_backtrace_initialize@Base 4.9
+ __asan_backtrace_open@Base 4.9
+ __asan_backtrace_pcinfo@Base 4.9
+ __asan_backtrace_qsort@Base 4.9
+ __asan_backtrace_release_view@Base 4.9
+ __asan_backtrace_syminfo@Base 4.9
+ __asan_backtrace_uncompress_zdebug@Base 8
+ __asan_backtrace_vector_finish@Base 4.9
+ __asan_backtrace_vector_grow@Base 4.9
+ __asan_backtrace_vector_release@Base 4.9
+ __asan_cplus_demangle_builtin_types@Base 4.9
+ __asan_cplus_demangle_fill_ctor@Base 4.9
+ __asan_cplus_demangle_fill_dtor@Base 4.9
+ __asan_cplus_demangle_fill_extended_operator@Base 4.9
+ __asan_cplus_demangle_fill_name@Base 4.9
+ __asan_cplus_demangle_init_info@Base 4.9
+ __asan_cplus_demangle_mangled_name@Base 4.9
+ __asan_cplus_demangle_operators@Base 4.9
+ __asan_cplus_demangle_print@Base 4.9
+ __asan_cplus_demangle_print_callback@Base 4.9
+ __asan_cplus_demangle_type@Base 4.9
+ __asan_cplus_demangle_v3@Base 4.9
+ __asan_cplus_demangle_v3_callback@Base 4.9
+ __asan_internal_memcmp@Base 4.9
+ __asan_internal_memcpy@Base 4.9
+ __asan_internal_memset@Base 4.9
+ __asan_internal_strcmp@Base 4.9
+ __asan_internal_strlen@Base 4.9
+ __asan_internal_strncmp@Base 4.9
+ __asan_internal_strnlen@Base 4.9
+ __asan_is_gnu_v3_mangled_ctor@Base 4.9
+ __asan_is_gnu_v3_mangled_dtor@Base 4.9
+ __asan_java_demangle_v3@Base 4.9
+ __asan_java_demangle_v3_callback@Base 4.9
+ __close@Base 4.9
+ __cxa_atexit@Base 4.9
+ __cxa_guard_abort@Base 4.9
+ __cxa_guard_acquire@Base 4.9
+ __cxa_guard_release@Base 4.9
+ __fxstat64@Base 4.9
+ __fxstat@Base 4.9
+ __getdelim@Base 5
+ __interceptor___close@Base 4.9
+ __interceptor___cxa_atexit@Base 4.9
+ __interceptor___fxstat64@Base 4.9
+ __interceptor___fxstat@Base 4.9
+ __interceptor___getdelim@Base 5
+ __interceptor___isoc99_fprintf@Base 5
+ __interceptor___isoc99_fscanf@Base 4.9
+ __interceptor___isoc99_printf@Base 5
+ __interceptor___isoc99_scanf@Base 4.9
+ __interceptor___isoc99_snprintf@Base 5
+ __interceptor___isoc99_sprintf@Base 5
+ __interceptor___isoc99_sscanf@Base 4.9
+ __interceptor___isoc99_vfprintf@Base 5
+ __interceptor___isoc99_vfscanf@Base 4.9
+ __interceptor___isoc99_vprintf@Base 5
+ __interceptor___isoc99_vscanf@Base 4.9
+ __interceptor___isoc99_vsnprintf@Base 5
+ __interceptor___isoc99_vsprintf@Base 5
+ __interceptor___isoc99_vsscanf@Base 4.9
+ __interceptor___libc_memalign@Base 4.9
+ __interceptor___lxstat64@Base 4.9
+ __interceptor___lxstat@Base 4.9
+ __interceptor___overflow@Base 5
+ __interceptor___res_iclose@Base 4.9
+ __interceptor___sigsetjmp@Base 4.9
+ __interceptor___strndup@Base 8
+ __interceptor___tls_get_addr@Base 6
+ __interceptor___uflow@Base 5
+ __interceptor___underflow@Base 5
+ __interceptor___woverflow@Base 5
+ __interceptor___wuflow@Base 5
+ __interceptor___wunderflow@Base 5
+ __interceptor___xpg_strerror_r@Base 4.9
+ __interceptor___xstat64@Base 4.9
+ __interceptor___xstat@Base 4.9
+ __interceptor__exit@Base 4.9
+ __interceptor__obstack_begin@Base 5
+ __interceptor__obstack_begin_1@Base 5
+ __interceptor__obstack_newchunk@Base 5
+ __interceptor__setjmp@Base 4.9
+ __interceptor_abort@Base 4.9
+ __interceptor_accept4@Base 4.9
+ __interceptor_accept@Base 4.9
+ __interceptor_aligned_alloc@Base 5
+ __interceptor_asctime@Base 4.9
+ __interceptor_asctime_r@Base 4.9
+ __interceptor_asprintf@Base 5
+ __interceptor_atexit@Base 4.9
+ __interceptor_backtrace@Base 4.9
+ __interceptor_backtrace_symbols@Base 4.9
+ __interceptor_bind@Base 4.9
+ __interceptor_calloc@Base 4.9
+ __interceptor_canonicalize_file_name@Base 4.9
+ __interceptor_capget@Base 5
+ __interceptor_capset@Base 5
+ __interceptor_cfree@Base 4.9
+ __interceptor_clock_getres@Base 4.9
+ __interceptor_clock_gettime@Base 4.9
+ __interceptor_clock_settime@Base 4.9
+ __interceptor_close@Base 4.9
+ __interceptor_closedir@Base 6
+ __interceptor_confstr@Base 4.9
+ __interceptor_connect@Base 4.9
+ __interceptor_creat64@Base 4.9
+ __interceptor_creat@Base 4.9
+ __interceptor_ctermid@Base 7
+ __interceptor_ctime@Base 4.9
+ __interceptor_ctime_r@Base 4.9
+ __interceptor_dl_iterate_phdr@Base 6
+ __interceptor_dlclose@Base 4.9
+ __interceptor_dlopen@Base 4.9
+ __interceptor_drand48_r@Base 4.9
+ __interceptor_dup2@Base 4.9
+ __interceptor_dup3@Base 4.9
+ __interceptor_dup@Base 4.9
+ __interceptor_endgrent@Base 5
+ __interceptor_endpwent@Base 5
+ __interceptor_epoll_create1@Base 4.9
+ __interceptor_epoll_create@Base 4.9
+ __interceptor_epoll_ctl@Base 4.9
+ __interceptor_epoll_pwait@Base 7
+ __interceptor_epoll_wait@Base 4.9
+ __interceptor_ether_aton@Base 4.9
+ __interceptor_ether_aton_r@Base 4.9
+ __interceptor_ether_hostton@Base 4.9
+ __interceptor_ether_line@Base 4.9
+ __interceptor_ether_ntoa@Base 4.9
+ __interceptor_ether_ntoa_r@Base 4.9
+ __interceptor_ether_ntohost@Base 4.9
+ __interceptor_eventfd@Base 4.9
+ __interceptor_eventfd_read@Base 7
+ __interceptor_eventfd_write@Base 7
+ __interceptor_fclose@Base 4.9
+ __interceptor_fdopen@Base 5
+ __interceptor_fflush@Base 4.9
+ __interceptor_fgetxattr@Base 5
+ __interceptor_flistxattr@Base 5
+ __interceptor_fmemopen@Base 5
+ __interceptor_fopen64@Base 5
+ __interceptor_fopen@Base 4.9
+ __interceptor_fopencookie@Base 6
+ __interceptor_fork@Base 4.9
+ __interceptor_fprintf@Base 5
+ __interceptor_fread@Base 4.9
+ __interceptor_free@Base 4.9
+ __interceptor_freopen64@Base 5
+ __interceptor_freopen@Base 4.9
+ __interceptor_frexp@Base 4.9
+ __interceptor_frexpf@Base 4.9
+ __interceptor_frexpl@Base 4.9
+ __interceptor_fscanf@Base 4.9
+ __interceptor_fstat64@Base 4.9
+ __interceptor_fstat@Base 4.9
+ __interceptor_fstatfs64@Base 4.9
+ __interceptor_fstatfs@Base 4.9
+ __interceptor_fstatvfs64@Base 4.9
+ __interceptor_fstatvfs@Base 4.9
+ __interceptor_ftime@Base 5
+ __interceptor_fwrite@Base 4.9
+ __interceptor_get_current_dir_name@Base 4.9
+ __interceptor_getaddrinfo@Base 4.9
+ __interceptor_getcwd@Base 4.9
+ __interceptor_getdelim@Base 4.9
+ __interceptor_getgroups@Base 4.9
+ __interceptor_gethostbyaddr@Base 4.9
+ __interceptor_gethostbyaddr_r@Base 4.9
+ __interceptor_gethostbyname2@Base 4.9
+ __interceptor_gethostbyname2_r@Base 4.9
+ __interceptor_gethostbyname@Base 4.9
+ __interceptor_gethostbyname_r@Base 4.9
+ __interceptor_gethostent@Base 4.9
+ __interceptor_gethostent_r@Base 4.9
+ __interceptor_getifaddrs@Base 5
+ __interceptor_getitimer@Base 4.9
+ __interceptor_getline@Base 4.9
+ __interceptor_getloadavg@Base 8
+ __interceptor_getmntent@Base 4.9
+ __interceptor_getmntent_r@Base 4.9
+ __interceptor_getnameinfo@Base 5
+ __interceptor_getpass@Base 5
+ __interceptor_getpeername@Base 4.9
+ __interceptor_getresgid@Base 5
+ __interceptor_getresuid@Base 5
+ __interceptor_getsockname@Base 4.9
+ __interceptor_getsockopt@Base 4.9
+ __interceptor_gettimeofday@Base 4.9
+ __interceptor_getutent@Base 8
+ __interceptor_getutid@Base 8
+ __interceptor_getutline@Base 8
+ __interceptor_getutxent@Base 8
+ __interceptor_getutxid@Base 8
+ __interceptor_getutxline@Base 8
+ __interceptor_getxattr@Base 5
+ __interceptor_glob64@Base 5
+ __interceptor_glob@Base 5
+ __interceptor_gmtime@Base 4.9
+ __interceptor_gmtime_r@Base 4.9
+ __interceptor_iconv@Base 4.9
+ __interceptor_if_indextoname@Base 5
+ __interceptor_if_nametoindex@Base 5
+ __interceptor_inet_aton@Base 4.9
+ __interceptor_inet_ntop@Base 4.9
+ __interceptor_inet_pton@Base 4.9
+ __interceptor_initgroups@Base 4.9
+ __interceptor_inotify_init1@Base 4.9
+ __interceptor_inotify_init@Base 4.9
+ __interceptor_ioctl@Base 4.9
+ __interceptor_kill@Base 4.9
+ __interceptor_lgamma@Base 4.9
+ __interceptor_lgamma_r@Base 4.9
+ __interceptor_lgammaf@Base 4.9
+ __interceptor_lgammaf_r@Base 4.9
+ __interceptor_lgammal@Base 4.9
+ __interceptor_lgammal_r@Base 4.9
+ __interceptor_lgetxattr@Base 5
+ __interceptor_listen@Base 4.9
+ __interceptor_listxattr@Base 5
+ __interceptor_llistxattr@Base 5
+ __interceptor_localtime@Base 4.9
+ __interceptor_localtime_r@Base 4.9
+ __interceptor_longjmp@Base 4.9
+ __interceptor_lrand48_r@Base 4.9
+ __interceptor_malloc@Base 4.9
+ __interceptor_malloc_usable_size@Base 4.9
+ __interceptor_mbsnrtowcs@Base 4.9
+ __interceptor_mbsrtowcs@Base 4.9
+ __interceptor_mbstowcs@Base 4.9
+ __interceptor_mcheck@Base 8
+ __interceptor_mcheck_pedantic@Base 8
+ __interceptor_memalign@Base 4.9
+ __interceptor_memchr@Base 4.9
+ __interceptor_memcmp@Base 4.9
+ __interceptor_memcpy@Base 4.9
+ __interceptor_memmem@Base 7
+ __interceptor_memmove@Base 4.9
+ __interceptor_memrchr@Base 4.9
+ __interceptor_memset@Base 4.9
+ __interceptor_mincore@Base 6
+ __interceptor_mktime@Base 5
+ __interceptor_mlock@Base 4.9
+ __interceptor_mlockall@Base 4.9
+ __interceptor_mmap64@Base 4.9
+ __interceptor_mmap@Base 4.9
+ __interceptor_modf@Base 4.9
+ __interceptor_modff@Base 4.9
+ __interceptor_modfl@Base 4.9
+ __interceptor_mprobe@Base 8
+ __interceptor_munlock@Base 4.9
+ __interceptor_munlockall@Base 4.9
+ __interceptor_munmap@Base 4.9
+ __interceptor_nanosleep@Base 4.9
+ __interceptor_on_exit@Base 4.9
+ __interceptor_open64@Base 4.9
+ __interceptor_open@Base 4.9
+ __interceptor_open_memstream@Base 5
+ __interceptor_open_wmemstream@Base 5
+ __interceptor_opendir@Base 4.9
+ __interceptor_pause@Base 8
+ __interceptor_pipe2@Base 4.9
+ __interceptor_pipe@Base 4.9
+ __interceptor_poll@Base 4.9
+ __interceptor_posix_memalign@Base 4.9
+ __interceptor_ppoll@Base 4.9
+ __interceptor_prctl@Base 4.9
+ __interceptor_pread64@Base 4.9
+ __interceptor_pread@Base 4.9
+ __interceptor_preadv64@Base 4.9
+ __interceptor_preadv@Base 4.9
+ __interceptor_printf@Base 5
+ __interceptor_process_vm_readv@Base 6
+ __interceptor_process_vm_writev@Base 6
+ __interceptor_pthread_attr_getaffinity_np@Base 4.9
+ __interceptor_pthread_attr_getdetachstate@Base 4.9
+ __interceptor_pthread_attr_getguardsize@Base 4.9
+ __interceptor_pthread_attr_getinheritsched@Base 4.9
+ __interceptor_pthread_attr_getschedparam@Base 4.9
+ __interceptor_pthread_attr_getschedpolicy@Base 4.9
+ __interceptor_pthread_attr_getscope@Base 4.9
+ __interceptor_pthread_attr_getstack@Base 4.9
+ __interceptor_pthread_attr_getstacksize@Base 4.9
+ __interceptor_pthread_barrier_destroy@Base 4.9
+ __interceptor_pthread_barrier_init@Base 4.9
+ __interceptor_pthread_barrier_wait@Base 4.9
+ __interceptor_pthread_barrierattr_getpshared@Base 5
+ __interceptor_pthread_cond_broadcast@Base 4.9
+ __interceptor_pthread_cond_destroy@Base 4.9
+ __interceptor_pthread_cond_init@Base 4.9
+ __interceptor_pthread_cond_signal@Base 4.9
+ __interceptor_pthread_cond_timedwait@Base 4.9
+ __interceptor_pthread_cond_wait@Base 4.9
+ __interceptor_pthread_condattr_getclock@Base 5
+ __interceptor_pthread_condattr_getpshared@Base 5
+ __interceptor_pthread_create@Base 4.9
+ __interceptor_pthread_detach@Base 4.9
+ __interceptor_pthread_getschedparam@Base 4.9
+ __interceptor_pthread_join@Base 4.9
+ __interceptor_pthread_kill@Base 4.9
+ __interceptor_pthread_mutex_destroy@Base 4.9
+ __interceptor_pthread_mutex_init@Base 4.9
+ __interceptor_pthread_mutex_lock@Base 4.9
+ __interceptor_pthread_mutex_timedlock@Base 4.9
+ __interceptor_pthread_mutex_trylock@Base 4.9
+ __interceptor_pthread_mutex_unlock@Base 4.9
+ __interceptor_pthread_mutexattr_getprioceiling@Base 5
+ __interceptor_pthread_mutexattr_getprotocol@Base 5
+ __interceptor_pthread_mutexattr_getpshared@Base 5
+ __interceptor_pthread_mutexattr_getrobust@Base 5
+ __interceptor_pthread_mutexattr_getrobust_np@Base 5
+ __interceptor_pthread_mutexattr_gettype@Base 5
+ __interceptor_pthread_once@Base 4.9
+ __interceptor_pthread_rwlock_destroy@Base 4.9
+ __interceptor_pthread_rwlock_init@Base 4.9
+ __interceptor_pthread_rwlock_rdlock@Base 4.9
+ __interceptor_pthread_rwlock_timedrdlock@Base 4.9
+ __interceptor_pthread_rwlock_timedwrlock@Base 4.9
+ __interceptor_pthread_rwlock_tryrdlock@Base 4.9
+ __interceptor_pthread_rwlock_trywrlock@Base 4.9
+ __interceptor_pthread_rwlock_unlock@Base 4.9
+ __interceptor_pthread_rwlock_wrlock@Base 4.9
+ __interceptor_pthread_rwlockattr_getkind_np@Base 5
+ __interceptor_pthread_rwlockattr_getpshared@Base 5
+ __interceptor_pthread_setcancelstate@Base 6
+ __interceptor_pthread_setcanceltype@Base 6
+ __interceptor_pthread_setname_np@Base 4.9
+ __interceptor_pthread_sigmask@Base 7
+ __interceptor_pthread_spin_destroy@Base 4.9
+ __interceptor_pthread_spin_init@Base 4.9
+ __interceptor_pthread_spin_lock@Base 4.9
+ __interceptor_pthread_spin_trylock@Base 4.9
+ __interceptor_pthread_spin_unlock@Base 4.9
+ __interceptor_ptrace@Base 4.9
+ __interceptor_puts@Base 4.9
+ __interceptor_pvalloc@Base 4.9
+ __interceptor_pwrite64@Base 4.9
+ __interceptor_pwrite@Base 4.9
+ __interceptor_pwritev64@Base 4.9
+ __interceptor_pwritev@Base 4.9
+ __interceptor_raise@Base 4.9
+ __interceptor_rand_r@Base 5
+ __interceptor_random_r@Base 4.9
+ __interceptor_read@Base 4.9
+ __interceptor_readdir64@Base 4.9
+ __interceptor_readdir64_r@Base 4.9
+ __interceptor_readdir@Base 4.9
+ __interceptor_readdir_r@Base 4.9
+ __interceptor_readv@Base 4.9
+ __interceptor_realloc@Base 4.9
+ __interceptor_realpath@Base 4.9
+ __interceptor_recv@Base 4.9
+ __interceptor_recvfrom@Base 7
+ __interceptor_recvmsg@Base 4.9
+ __interceptor_remquo@Base 4.9
+ __interceptor_remquof@Base 4.9
+ __interceptor_remquol@Base 4.9
+ __interceptor_rmdir@Base 4.9
+ __interceptor_scandir64@Base 4.9
+ __interceptor_scandir@Base 4.9
+ __interceptor_scanf@Base 4.9
+ __interceptor_sched_getaffinity@Base 4.9
+ __interceptor_sched_getparam@Base 6
+ __interceptor_sem_destroy@Base 4.9
+ __interceptor_sem_getvalue@Base 4.9
+ __interceptor_sem_init@Base 4.9
+ __interceptor_sem_post@Base 4.9
+ __interceptor_sem_timedwait@Base 4.9
+ __interceptor_sem_trywait@Base 4.9
+ __interceptor_sem_wait@Base 4.9
+ __interceptor_send@Base 4.9
+ __interceptor_sendmsg@Base 4.9
+ __interceptor_sendto@Base 7
+ __interceptor_setgrent@Base 5
+ __interceptor_setitimer@Base 4.9
+ __interceptor_setjmp@Base 4.9
+ __interceptor_setlocale@Base 4.9
+ __interceptor_setpwent@Base 5
+ __interceptor_shmctl@Base 4.9
+ __interceptor_sigaction@Base 4.9
+ __interceptor_sigblock@Base 7
+ __interceptor_sigemptyset@Base 4.9
+ __interceptor_sigfillset@Base 4.9
+ __interceptor_siglongjmp@Base 4.9
+ __interceptor_signal@Base 4.9
+ __interceptor_signalfd@Base 4.9
+ __interceptor_sigpending@Base 4.9
+ __interceptor_sigprocmask@Base 4.9
+ __interceptor_sigsetjmp@Base 4.9
+ __interceptor_sigsetmask@Base 7
+ __interceptor_sigsuspend@Base 4.9
+ __interceptor_sigtimedwait@Base 4.9
+ __interceptor_sigwait@Base 4.9
+ __interceptor_sigwaitinfo@Base 4.9
+ __interceptor_sincos@Base 4.9
+ __interceptor_sincosf@Base 4.9
+ __interceptor_sincosl@Base 4.9
+ __interceptor_sleep@Base 4.9
+ __interceptor_snprintf@Base 5
+ __interceptor_socket@Base 4.9
+ __interceptor_socketpair@Base 4.9
+ __interceptor_sprintf@Base 5
+ __interceptor_sscanf@Base 4.9
+ __interceptor_statfs64@Base 4.9
+ __interceptor_statfs@Base 4.9
+ __interceptor_statvfs64@Base 4.9
+ __interceptor_statvfs@Base 4.9
+ __interceptor_strcasecmp@Base 4.9
+ __interceptor_strcasestr@Base 6
+ __interceptor_strchr@Base 4.9
+ __interceptor_strchrnul@Base 4.9
+ __interceptor_strcmp@Base 4.9
+ __interceptor_strcpy@Base 4.9
+ __interceptor_strcspn@Base 6
+ __interceptor_strdup@Base 4.9
+ __interceptor_strerror@Base 4.9
+ __interceptor_strerror_r@Base 4.9
+ __interceptor_strlen@Base 4.9
+ __interceptor_strncasecmp@Base 4.9
+ __interceptor_strncmp@Base 4.9
+ __interceptor_strncpy@Base 4.9
+ __interceptor_strndup@Base 8
+ __interceptor_strnlen@Base 7
+ __interceptor_strpbrk@Base 6
+ __interceptor_strptime@Base 4.9
+ __interceptor_strrchr@Base 4.9
+ __interceptor_strspn@Base 6
+ __interceptor_strstr@Base 4.9
+ __interceptor_strtoimax@Base 4.9
+ __interceptor_strtok@Base 8
+ __interceptor_strtoumax@Base 4.9
+ __interceptor_sysinfo@Base 4.9
+ __interceptor_tcgetattr@Base 4.9
+ __interceptor_tempnam@Base 4.9
+ __interceptor_textdomain@Base 4.9
+ __interceptor_time@Base 4.9
+ __interceptor_timerfd_gettime@Base 5
+ __interceptor_timerfd_settime@Base 5
+ __interceptor_times@Base 4.9
+ __interceptor_tmpfile64@Base 5
+ __interceptor_tmpfile@Base 5
+ __interceptor_tmpnam@Base 4.9
+ __interceptor_tmpnam_r@Base 4.9
+ __interceptor_tsearch@Base 5
+ __interceptor_ttyname_r@Base 7
+ __interceptor_unlink@Base 4.9
+ __interceptor_usleep@Base 4.9
+ __interceptor_valloc@Base 4.9
+ __interceptor_vasprintf@Base 5
+ __interceptor_vfork@Base 5
+ __interceptor_vfprintf@Base 5
+ __interceptor_vfscanf@Base 4.9
+ __interceptor_vprintf@Base 5
+ __interceptor_vscanf@Base 4.9
+ __interceptor_vsnprintf@Base 5
+ __interceptor_vsprintf@Base 5
+ __interceptor_vsscanf@Base 4.9
+ __interceptor_wait3@Base 4.9
+ __interceptor_wait4@Base 4.9
+ __interceptor_wait@Base 4.9
+ __interceptor_waitid@Base 4.9
+ __interceptor_waitpid@Base 4.9
+ __interceptor_wcrtomb@Base 6
+ __interceptor_wcscat@Base 8
+ __interceptor_wcslen@Base 8
+ __interceptor_wcsncat@Base 8
+ __interceptor_wcsnlen@Base 8
+ __interceptor_wcsnrtombs@Base 4.9
+ __interceptor_wcsrtombs@Base 4.9
+ __interceptor_wcstombs@Base 4.9
+ __interceptor_wordexp@Base 4.9
+ __interceptor_write@Base 4.9
+ __interceptor_writev@Base 4.9
+ __interceptor_xdr_bool@Base 5
+ __interceptor_xdr_bytes@Base 5
+ __interceptor_xdr_char@Base 5
+ __interceptor_xdr_double@Base 5
+ __interceptor_xdr_enum@Base 5
+ __interceptor_xdr_float@Base 5
+ __interceptor_xdr_hyper@Base 5
+ __interceptor_xdr_int16_t@Base 5
+ __interceptor_xdr_int32_t@Base 5
+ __interceptor_xdr_int64_t@Base 5
+ __interceptor_xdr_int8_t@Base 5
+ __interceptor_xdr_int@Base 5
+ __interceptor_xdr_long@Base 5
+ __interceptor_xdr_longlong_t@Base 5
+ __interceptor_xdr_quad_t@Base 5
+ __interceptor_xdr_short@Base 5
+ __interceptor_xdr_string@Base 5
+ __interceptor_xdr_u_char@Base 5
+ __interceptor_xdr_u_hyper@Base 5
+ __interceptor_xdr_u_int@Base 5
+ __interceptor_xdr_u_long@Base 5
+ __interceptor_xdr_u_longlong_t@Base 5
+ __interceptor_xdr_u_quad_t@Base 5
+ __interceptor_xdr_u_short@Base 5
+ __interceptor_xdr_uint16_t@Base 5
+ __interceptor_xdr_uint32_t@Base 5
+ __interceptor_xdr_uint64_t@Base 5
+ __interceptor_xdr_uint8_t@Base 5
+ __interceptor_xdrmem_create@Base 5
+ __interceptor_xdrstdio_create@Base 5
+ __isoc99_fprintf@Base 5
+ __isoc99_fscanf@Base 4.9
+ __isoc99_printf@Base 5
+ __isoc99_scanf@Base 4.9
+ __isoc99_snprintf@Base 5
+ __isoc99_sprintf@Base 5
+ __isoc99_sscanf@Base 4.9
+ __isoc99_vfprintf@Base 5
+ __isoc99_vfscanf@Base 4.9
+ __isoc99_vprintf@Base 5
+ __isoc99_vscanf@Base 4.9
+ __isoc99_vsnprintf@Base 5
+ __isoc99_vsprintf@Base 5
+ __isoc99_vsscanf@Base 4.9
+ __libc_memalign@Base 4.9
+ __lxstat64@Base 4.9
+ __lxstat@Base 4.9
+ __overflow@Base 5
+ __res_iclose@Base 4.9
+ __sancov_default_options@Base 8
+ __sancov_lowest_stack@Base 8
+#MISSING: 8# __sanitizer_cov@Base 4.9
+ __sanitizer_cov_8bit_counters_init@Base 8
+ __sanitizer_cov_dump@Base 4.9
+#MISSING: 8# __sanitizer_cov_indir_call16@Base 5
+#MISSING: 8# __sanitizer_cov_init@Base 5
+#MISSING: 8# __sanitizer_cov_module_init@Base 5
+ __sanitizer_cov_pcs_init@Base 8
+ __sanitizer_cov_reset@Base 8
+#MISSING: 8# __sanitizer_cov_trace_basic_block@Base 6
+ __sanitizer_cov_trace_cmp1@Base 7
+ __sanitizer_cov_trace_cmp2@Base 7
+ __sanitizer_cov_trace_cmp4@Base 7
+ __sanitizer_cov_trace_cmp8@Base 7
+ __sanitizer_cov_trace_cmp@Base 6
+ __sanitizer_cov_trace_const_cmp1@Base 8
+ __sanitizer_cov_trace_const_cmp2@Base 8
+ __sanitizer_cov_trace_const_cmp4@Base 8
+ __sanitizer_cov_trace_const_cmp8@Base 8
+ __sanitizer_cov_trace_div4@Base 7
+ __sanitizer_cov_trace_div8@Base 7
+#MISSING: 8# __sanitizer_cov_trace_func_enter@Base 6
+ __sanitizer_cov_trace_gep@Base 7
+ __sanitizer_cov_trace_pc_guard@Base 7
+ __sanitizer_cov_trace_pc_guard_init@Base 7
+ __sanitizer_cov_trace_pc_indir@Base 7
+ __sanitizer_cov_trace_switch@Base 6
+#MISSING: 8# __sanitizer_cov_with_check@Base 6
+ __sanitizer_dump_coverage@Base 8
+ __sanitizer_dump_trace_pc_guard_coverage@Base 8
+ __sanitizer_free_hook@Base 5
+ __sanitizer_get_allocated_size@Base 5
+#MISSING: 8# __sanitizer_get_coverage_guards@Base 6
+ __sanitizer_get_current_allocated_bytes@Base 5
+ __sanitizer_get_estimated_allocated_size@Base 5
+ __sanitizer_get_free_bytes@Base 5
+ __sanitizer_get_heap_size@Base 5
+ __sanitizer_get_module_and_offset_for_pc@Base 8
+#MISSING: 8# __sanitizer_get_number_of_counters@Base 6
+ __sanitizer_get_ownership@Base 5
+#MISSING: 8# __sanitizer_get_total_unique_caller_callee_pairs@Base 6
+#MISSING: 8# __sanitizer_get_total_unique_coverage@Base 6
+ __sanitizer_get_unmapped_bytes@Base 5
+ __sanitizer_install_malloc_and_free_hooks@Base 7
+ __sanitizer_malloc_hook@Base 5
+#MISSING: 8# __sanitizer_maybe_open_cov_file@Base 5
+ __sanitizer_print_stack_trace@Base 5
+ __sanitizer_report_error_summary@Base 4.9
+#MISSING: 8# __sanitizer_reset_coverage@Base 6
+ __sanitizer_sandbox_on_notify@Base 4.9
+ __sanitizer_set_death_callback@Base 6
+ __sanitizer_set_report_fd@Base 7
+ __sanitizer_set_report_path@Base 4.9
+ __sanitizer_symbolize_global@Base 7
+ __sanitizer_symbolize_pc@Base 7
+ __sanitizer_syscall_post_impl_accept4@Base 4.9
+ __sanitizer_syscall_post_impl_accept@Base 4.9
+ __sanitizer_syscall_post_impl_access@Base 4.9
+ __sanitizer_syscall_post_impl_acct@Base 4.9
+ __sanitizer_syscall_post_impl_add_key@Base 4.9
+ __sanitizer_syscall_post_impl_adjtimex@Base 4.9
+ __sanitizer_syscall_post_impl_alarm@Base 4.9
+ __sanitizer_syscall_post_impl_bdflush@Base 4.9
+ __sanitizer_syscall_post_impl_bind@Base 4.9
+ __sanitizer_syscall_post_impl_brk@Base 4.9
+ __sanitizer_syscall_post_impl_capget@Base 4.9
+ __sanitizer_syscall_post_impl_capset@Base 4.9
+ __sanitizer_syscall_post_impl_chdir@Base 4.9
+ __sanitizer_syscall_post_impl_chmod@Base 4.9
+ __sanitizer_syscall_post_impl_chown@Base 4.9
+ __sanitizer_syscall_post_impl_chroot@Base 4.9
+ __sanitizer_syscall_post_impl_clock_adjtime@Base 4.9
+ __sanitizer_syscall_post_impl_clock_getres@Base 4.9
+ __sanitizer_syscall_post_impl_clock_gettime@Base 4.9
+ __sanitizer_syscall_post_impl_clock_nanosleep@Base 4.9
+ __sanitizer_syscall_post_impl_clock_settime@Base 4.9
+ __sanitizer_syscall_post_impl_close@Base 4.9
+ __sanitizer_syscall_post_impl_connect@Base 4.9
+ __sanitizer_syscall_post_impl_creat@Base 4.9
+ __sanitizer_syscall_post_impl_delete_module@Base 4.9
+ __sanitizer_syscall_post_impl_dup2@Base 4.9
+ __sanitizer_syscall_post_impl_dup3@Base 4.9
+ __sanitizer_syscall_post_impl_dup@Base 4.9
+ __sanitizer_syscall_post_impl_epoll_create1@Base 4.9
+ __sanitizer_syscall_post_impl_epoll_create@Base 4.9
+ __sanitizer_syscall_post_impl_epoll_ctl@Base 4.9
+ __sanitizer_syscall_post_impl_epoll_pwait@Base 4.9
+ __sanitizer_syscall_post_impl_epoll_wait@Base 4.9
+ __sanitizer_syscall_post_impl_eventfd2@Base 4.9
+ __sanitizer_syscall_post_impl_eventfd@Base 4.9
+ __sanitizer_syscall_post_impl_exit@Base 4.9
+ __sanitizer_syscall_post_impl_exit_group@Base 4.9
+ __sanitizer_syscall_post_impl_faccessat@Base 4.9
+ __sanitizer_syscall_post_impl_fchdir@Base 4.9
+ __sanitizer_syscall_post_impl_fchmod@Base 4.9
+ __sanitizer_syscall_post_impl_fchmodat@Base 4.9
+ __sanitizer_syscall_post_impl_fchown@Base 4.9
+ __sanitizer_syscall_post_impl_fchownat@Base 4.9
+ __sanitizer_syscall_post_impl_fcntl64@Base 4.9
+ __sanitizer_syscall_post_impl_fcntl@Base 4.9
+ __sanitizer_syscall_post_impl_fdatasync@Base 4.9
+ __sanitizer_syscall_post_impl_fgetxattr@Base 4.9
+ __sanitizer_syscall_post_impl_flistxattr@Base 4.9
+ __sanitizer_syscall_post_impl_flock@Base 4.9
+ __sanitizer_syscall_post_impl_fork@Base 4.9
+ __sanitizer_syscall_post_impl_fremovexattr@Base 4.9
+ __sanitizer_syscall_post_impl_fsetxattr@Base 4.9
+ __sanitizer_syscall_post_impl_fstat64@Base 4.9
+ __sanitizer_syscall_post_impl_fstat@Base 4.9
+ __sanitizer_syscall_post_impl_fstatat64@Base 4.9
+ __sanitizer_syscall_post_impl_fstatfs64@Base 4.9
+ __sanitizer_syscall_post_impl_fstatfs@Base 4.9
+ __sanitizer_syscall_post_impl_fsync@Base 4.9
+ __sanitizer_syscall_post_impl_ftruncate@Base 4.9
+ __sanitizer_syscall_post_impl_futimesat@Base 4.9
+ __sanitizer_syscall_post_impl_get_mempolicy@Base 4.9
+ __sanitizer_syscall_post_impl_get_robust_list@Base 4.9
+ __sanitizer_syscall_post_impl_getcpu@Base 4.9
+ __sanitizer_syscall_post_impl_getcwd@Base 4.9
+ __sanitizer_syscall_post_impl_getdents64@Base 4.9
+ __sanitizer_syscall_post_impl_getdents@Base 4.9
+ __sanitizer_syscall_post_impl_getegid@Base 4.9
+ __sanitizer_syscall_post_impl_geteuid@Base 4.9
+ __sanitizer_syscall_post_impl_getgid@Base 4.9
+ __sanitizer_syscall_post_impl_getgroups@Base 4.9
+ __sanitizer_syscall_post_impl_gethostname@Base 4.9
+ __sanitizer_syscall_post_impl_getitimer@Base 4.9
+ __sanitizer_syscall_post_impl_getpeername@Base 4.9
+ __sanitizer_syscall_post_impl_getpgid@Base 4.9
+ __sanitizer_syscall_post_impl_getpgrp@Base 4.9
+ __sanitizer_syscall_post_impl_getpid@Base 4.9
+ __sanitizer_syscall_post_impl_getppid@Base 4.9
+ __sanitizer_syscall_post_impl_getpriority@Base 4.9
+ __sanitizer_syscall_post_impl_getresgid@Base 4.9
+ __sanitizer_syscall_post_impl_getresuid@Base 4.9
+ __sanitizer_syscall_post_impl_getrlimit@Base 4.9
+ __sanitizer_syscall_post_impl_getrusage@Base 4.9
+ __sanitizer_syscall_post_impl_getsid@Base 4.9
+ __sanitizer_syscall_post_impl_getsockname@Base 4.9
+ __sanitizer_syscall_post_impl_getsockopt@Base 4.9
+ __sanitizer_syscall_post_impl_gettid@Base 4.9
+ __sanitizer_syscall_post_impl_gettimeofday@Base 4.9
+ __sanitizer_syscall_post_impl_getuid@Base 4.9
+ __sanitizer_syscall_post_impl_getxattr@Base 4.9
+ __sanitizer_syscall_post_impl_init_module@Base 4.9
+ __sanitizer_syscall_post_impl_inotify_add_watch@Base 4.9
+ __sanitizer_syscall_post_impl_inotify_init1@Base 4.9
+ __sanitizer_syscall_post_impl_inotify_init@Base 4.9
+ __sanitizer_syscall_post_impl_inotify_rm_watch@Base 4.9
+ __sanitizer_syscall_post_impl_io_cancel@Base 4.9
+ __sanitizer_syscall_post_impl_io_destroy@Base 4.9
+ __sanitizer_syscall_post_impl_io_getevents@Base 4.9
+ __sanitizer_syscall_post_impl_io_setup@Base 4.9
+ __sanitizer_syscall_post_impl_io_submit@Base 4.9
+ __sanitizer_syscall_post_impl_ioctl@Base 4.9
+ __sanitizer_syscall_post_impl_ioperm@Base 4.9
+ __sanitizer_syscall_post_impl_ioprio_get@Base 4.9
+ __sanitizer_syscall_post_impl_ioprio_set@Base 4.9
+ __sanitizer_syscall_post_impl_ipc@Base 4.9
+ __sanitizer_syscall_post_impl_kexec_load@Base 4.9
+ __sanitizer_syscall_post_impl_keyctl@Base 4.9
+ __sanitizer_syscall_post_impl_kill@Base 4.9
+ __sanitizer_syscall_post_impl_lchown@Base 4.9
+ __sanitizer_syscall_post_impl_lgetxattr@Base 4.9
+ __sanitizer_syscall_post_impl_link@Base 4.9
+ __sanitizer_syscall_post_impl_linkat@Base 4.9
+ __sanitizer_syscall_post_impl_listen@Base 4.9
+ __sanitizer_syscall_post_impl_listxattr@Base 4.9
+ __sanitizer_syscall_post_impl_llistxattr@Base 4.9
+ __sanitizer_syscall_post_impl_llseek@Base 4.9
+ __sanitizer_syscall_post_impl_lookup_dcookie@Base 4.9
+ __sanitizer_syscall_post_impl_lremovexattr@Base 4.9
+ __sanitizer_syscall_post_impl_lseek@Base 4.9
+ __sanitizer_syscall_post_impl_lsetxattr@Base 4.9
+ __sanitizer_syscall_post_impl_lstat64@Base 4.9
+ __sanitizer_syscall_post_impl_lstat@Base 4.9
+ __sanitizer_syscall_post_impl_madvise@Base 4.9
+ __sanitizer_syscall_post_impl_mbind@Base 4.9
+ __sanitizer_syscall_post_impl_migrate_pages@Base 4.9
+ __sanitizer_syscall_post_impl_mincore@Base 4.9
+ __sanitizer_syscall_post_impl_mkdir@Base 4.9
+ __sanitizer_syscall_post_impl_mkdirat@Base 4.9
+ __sanitizer_syscall_post_impl_mknod@Base 4.9
+ __sanitizer_syscall_post_impl_mknodat@Base 4.9
+ __sanitizer_syscall_post_impl_mlock@Base 4.9
+ __sanitizer_syscall_post_impl_mlockall@Base 4.9
+ __sanitizer_syscall_post_impl_mmap_pgoff@Base 4.9
+ __sanitizer_syscall_post_impl_mount@Base 4.9
+ __sanitizer_syscall_post_impl_move_pages@Base 4.9
+ __sanitizer_syscall_post_impl_mprotect@Base 4.9
+ __sanitizer_syscall_post_impl_mq_getsetattr@Base 4.9
+ __sanitizer_syscall_post_impl_mq_notify@Base 4.9
+ __sanitizer_syscall_post_impl_mq_open@Base 4.9
+ __sanitizer_syscall_post_impl_mq_timedreceive@Base 4.9
+ __sanitizer_syscall_post_impl_mq_timedsend@Base 4.9
+ __sanitizer_syscall_post_impl_mq_unlink@Base 4.9
+ __sanitizer_syscall_post_impl_mremap@Base 4.9
+ __sanitizer_syscall_post_impl_msgctl@Base 4.9
+ __sanitizer_syscall_post_impl_msgget@Base 4.9
+ __sanitizer_syscall_post_impl_msgrcv@Base 4.9
+ __sanitizer_syscall_post_impl_msgsnd@Base 4.9
+ __sanitizer_syscall_post_impl_msync@Base 4.9
+ __sanitizer_syscall_post_impl_munlock@Base 4.9
+ __sanitizer_syscall_post_impl_munlockall@Base 4.9
+ __sanitizer_syscall_post_impl_munmap@Base 4.9
+ __sanitizer_syscall_post_impl_name_to_handle_at@Base 4.9
+ __sanitizer_syscall_post_impl_nanosleep@Base 4.9
+ __sanitizer_syscall_post_impl_newfstat@Base 4.9
+ __sanitizer_syscall_post_impl_newfstatat@Base 4.9
+ __sanitizer_syscall_post_impl_newlstat@Base 4.9
+ __sanitizer_syscall_post_impl_newstat@Base 4.9
+ __sanitizer_syscall_post_impl_newuname@Base 4.9
+ __sanitizer_syscall_post_impl_ni_syscall@Base 4.9
+ __sanitizer_syscall_post_impl_nice@Base 4.9
+ __sanitizer_syscall_post_impl_old_getrlimit@Base 4.9
+ __sanitizer_syscall_post_impl_old_mmap@Base 4.9
+ __sanitizer_syscall_post_impl_old_readdir@Base 4.9
+ __sanitizer_syscall_post_impl_old_select@Base 4.9
+ __sanitizer_syscall_post_impl_oldumount@Base 4.9
+ __sanitizer_syscall_post_impl_olduname@Base 4.9
+ __sanitizer_syscall_post_impl_open@Base 4.9
+ __sanitizer_syscall_post_impl_open_by_handle_at@Base 4.9
+ __sanitizer_syscall_post_impl_openat@Base 4.9
+ __sanitizer_syscall_post_impl_pause@Base 4.9
+ __sanitizer_syscall_post_impl_pciconfig_iobase@Base 4.9
+ __sanitizer_syscall_post_impl_pciconfig_read@Base 4.9
+ __sanitizer_syscall_post_impl_pciconfig_write@Base 4.9
+ __sanitizer_syscall_post_impl_perf_event_open@Base 4.9
+ __sanitizer_syscall_post_impl_personality@Base 4.9
+ __sanitizer_syscall_post_impl_pipe2@Base 4.9
+ __sanitizer_syscall_post_impl_pipe@Base 4.9
+ __sanitizer_syscall_post_impl_pivot_root@Base 4.9
+ __sanitizer_syscall_post_impl_poll@Base 4.9
+ __sanitizer_syscall_post_impl_ppoll@Base 4.9
+ __sanitizer_syscall_post_impl_pread64@Base 4.9
+ __sanitizer_syscall_post_impl_preadv@Base 4.9
+ __sanitizer_syscall_post_impl_prlimit64@Base 4.9
+ __sanitizer_syscall_post_impl_process_vm_readv@Base 4.9
+ __sanitizer_syscall_post_impl_process_vm_writev@Base 4.9
+ __sanitizer_syscall_post_impl_pselect6@Base 4.9
+ __sanitizer_syscall_post_impl_ptrace@Base 4.9
+ __sanitizer_syscall_post_impl_pwrite64@Base 4.9
+ __sanitizer_syscall_post_impl_pwritev@Base 4.9
+ __sanitizer_syscall_post_impl_quotactl@Base 4.9
+ __sanitizer_syscall_post_impl_read@Base 4.9
+ __sanitizer_syscall_post_impl_readlink@Base 4.9
+ __sanitizer_syscall_post_impl_readlinkat@Base 4.9
+ __sanitizer_syscall_post_impl_readv@Base 4.9
+ __sanitizer_syscall_post_impl_reboot@Base 4.9
+ __sanitizer_syscall_post_impl_recv@Base 4.9
+ __sanitizer_syscall_post_impl_recvfrom@Base 4.9
+ __sanitizer_syscall_post_impl_recvmmsg@Base 4.9
+ __sanitizer_syscall_post_impl_recvmsg@Base 4.9
+ __sanitizer_syscall_post_impl_remap_file_pages@Base 4.9
+ __sanitizer_syscall_post_impl_removexattr@Base 4.9
+ __sanitizer_syscall_post_impl_rename@Base 4.9
+ __sanitizer_syscall_post_impl_renameat@Base 4.9
+ __sanitizer_syscall_post_impl_request_key@Base 4.9
+ __sanitizer_syscall_post_impl_restart_syscall@Base 4.9
+ __sanitizer_syscall_post_impl_rmdir@Base 4.9
+ __sanitizer_syscall_post_impl_rt_sigaction@Base 7
+ __sanitizer_syscall_post_impl_rt_sigpending@Base 4.9
+ __sanitizer_syscall_post_impl_rt_sigprocmask@Base 4.9
+ __sanitizer_syscall_post_impl_rt_sigqueueinfo@Base 4.9
+ __sanitizer_syscall_post_impl_rt_sigtimedwait@Base 4.9
+ __sanitizer_syscall_post_impl_rt_tgsigqueueinfo@Base 4.9
+ __sanitizer_syscall_post_impl_sched_get_priority_max@Base 4.9
+ __sanitizer_syscall_post_impl_sched_get_priority_min@Base 4.9
+ __sanitizer_syscall_post_impl_sched_getaffinity@Base 4.9
+ __sanitizer_syscall_post_impl_sched_getparam@Base 4.9
+ __sanitizer_syscall_post_impl_sched_getscheduler@Base 4.9
+ __sanitizer_syscall_post_impl_sched_rr_get_interval@Base 4.9
+ __sanitizer_syscall_post_impl_sched_setaffinity@Base 4.9
+ __sanitizer_syscall_post_impl_sched_setparam@Base 4.9
+ __sanitizer_syscall_post_impl_sched_setscheduler@Base 4.9
+ __sanitizer_syscall_post_impl_sched_yield@Base 4.9
+ __sanitizer_syscall_post_impl_select@Base 4.9
+ __sanitizer_syscall_post_impl_semctl@Base 4.9
+ __sanitizer_syscall_post_impl_semget@Base 4.9
+ __sanitizer_syscall_post_impl_semop@Base 4.9
+ __sanitizer_syscall_post_impl_semtimedop@Base 4.9
+ __sanitizer_syscall_post_impl_send@Base 4.9
+ __sanitizer_syscall_post_impl_sendfile64@Base 4.9
+ __sanitizer_syscall_post_impl_sendfile@Base 4.9
+ __sanitizer_syscall_post_impl_sendmmsg@Base 4.9
+ __sanitizer_syscall_post_impl_sendmsg@Base 4.9
+ __sanitizer_syscall_post_impl_sendto@Base 4.9
+ __sanitizer_syscall_post_impl_set_mempolicy@Base 4.9
+ __sanitizer_syscall_post_impl_set_robust_list@Base 4.9
+ __sanitizer_syscall_post_impl_set_tid_address@Base 4.9
+ __sanitizer_syscall_post_impl_setdomainname@Base 4.9
+ __sanitizer_syscall_post_impl_setfsgid@Base 4.9
+ __sanitizer_syscall_post_impl_setfsuid@Base 4.9
+ __sanitizer_syscall_post_impl_setgid@Base 4.9
+ __sanitizer_syscall_post_impl_setgroups@Base 4.9
+ __sanitizer_syscall_post_impl_sethostname@Base 4.9
+ __sanitizer_syscall_post_impl_setitimer@Base 4.9
+ __sanitizer_syscall_post_impl_setns@Base 4.9
+ __sanitizer_syscall_post_impl_setpgid@Base 4.9
+ __sanitizer_syscall_post_impl_setpriority@Base 4.9
+ __sanitizer_syscall_post_impl_setregid@Base 4.9
+ __sanitizer_syscall_post_impl_setresgid@Base 4.9
+ __sanitizer_syscall_post_impl_setresuid@Base 4.9
+ __sanitizer_syscall_post_impl_setreuid@Base 4.9
+ __sanitizer_syscall_post_impl_setrlimit@Base 4.9
+ __sanitizer_syscall_post_impl_setsid@Base 4.9
+ __sanitizer_syscall_post_impl_setsockopt@Base 4.9
+ __sanitizer_syscall_post_impl_settimeofday@Base 4.9
+ __sanitizer_syscall_post_impl_setuid@Base 4.9
+ __sanitizer_syscall_post_impl_setxattr@Base 4.9
+ __sanitizer_syscall_post_impl_sgetmask@Base 4.9
+ __sanitizer_syscall_post_impl_shmat@Base 4.9
+ __sanitizer_syscall_post_impl_shmctl@Base 4.9
+ __sanitizer_syscall_post_impl_shmdt@Base 4.9
+ __sanitizer_syscall_post_impl_shmget@Base 4.9
+ __sanitizer_syscall_post_impl_shutdown@Base 4.9
+ __sanitizer_syscall_post_impl_sigaction@Base 7
+ __sanitizer_syscall_post_impl_signal@Base 4.9
+ __sanitizer_syscall_post_impl_signalfd4@Base 4.9
+ __sanitizer_syscall_post_impl_signalfd@Base 4.9
+ __sanitizer_syscall_post_impl_sigpending@Base 4.9
+ __sanitizer_syscall_post_impl_sigprocmask@Base 4.9
+ __sanitizer_syscall_post_impl_socket@Base 4.9
+ __sanitizer_syscall_post_impl_socketcall@Base 4.9
+ __sanitizer_syscall_post_impl_socketpair@Base 4.9
+ __sanitizer_syscall_post_impl_splice@Base 4.9
+ __sanitizer_syscall_post_impl_spu_create@Base 4.9
+ __sanitizer_syscall_post_impl_spu_run@Base 4.9
+ __sanitizer_syscall_post_impl_ssetmask@Base 4.9
+ __sanitizer_syscall_post_impl_stat64@Base 4.9
+ __sanitizer_syscall_post_impl_stat@Base 4.9
+ __sanitizer_syscall_post_impl_statfs64@Base 4.9
+ __sanitizer_syscall_post_impl_statfs@Base 4.9
+ __sanitizer_syscall_post_impl_stime@Base 4.9
+ __sanitizer_syscall_post_impl_swapoff@Base 4.9
+ __sanitizer_syscall_post_impl_swapon@Base 4.9
+ __sanitizer_syscall_post_impl_symlink@Base 4.9
+ __sanitizer_syscall_post_impl_symlinkat@Base 4.9
+ __sanitizer_syscall_post_impl_sync@Base 4.9
+ __sanitizer_syscall_post_impl_syncfs@Base 4.9
+ __sanitizer_syscall_post_impl_sysctl@Base 4.9
+ __sanitizer_syscall_post_impl_sysfs@Base 4.9
+ __sanitizer_syscall_post_impl_sysinfo@Base 4.9
+ __sanitizer_syscall_post_impl_syslog@Base 4.9
+ __sanitizer_syscall_post_impl_tee@Base 4.9
+ __sanitizer_syscall_post_impl_tgkill@Base 4.9
+ __sanitizer_syscall_post_impl_time@Base 4.9
+ __sanitizer_syscall_post_impl_timer_create@Base 4.9
+ __sanitizer_syscall_post_impl_timer_delete@Base 4.9
+ __sanitizer_syscall_post_impl_timer_getoverrun@Base 4.9
+ __sanitizer_syscall_post_impl_timer_gettime@Base 4.9
+ __sanitizer_syscall_post_impl_timer_settime@Base 4.9
+ __sanitizer_syscall_post_impl_timerfd_create@Base 4.9
+ __sanitizer_syscall_post_impl_timerfd_gettime@Base 4.9
+ __sanitizer_syscall_post_impl_timerfd_settime@Base 4.9
+ __sanitizer_syscall_post_impl_times@Base 4.9
+ __sanitizer_syscall_post_impl_tkill@Base 4.9
+ __sanitizer_syscall_post_impl_truncate@Base 4.9
+ __sanitizer_syscall_post_impl_umask@Base 4.9
+ __sanitizer_syscall_post_impl_umount@Base 4.9
+ __sanitizer_syscall_post_impl_uname@Base 4.9
+ __sanitizer_syscall_post_impl_unlink@Base 4.9
+ __sanitizer_syscall_post_impl_unlinkat@Base 4.9
+ __sanitizer_syscall_post_impl_unshare@Base 4.9
+ __sanitizer_syscall_post_impl_uselib@Base 4.9
+ __sanitizer_syscall_post_impl_ustat@Base 4.9
+ __sanitizer_syscall_post_impl_utime@Base 4.9
+ __sanitizer_syscall_post_impl_utimensat@Base 4.9
+ __sanitizer_syscall_post_impl_utimes@Base 4.9
+ __sanitizer_syscall_post_impl_vfork@Base 4.9
+ __sanitizer_syscall_post_impl_vhangup@Base 4.9
+ __sanitizer_syscall_post_impl_vmsplice@Base 4.9
+ __sanitizer_syscall_post_impl_wait4@Base 4.9
+ __sanitizer_syscall_post_impl_waitid@Base 4.9
+ __sanitizer_syscall_post_impl_waitpid@Base 4.9
+ __sanitizer_syscall_post_impl_write@Base 4.9
+ __sanitizer_syscall_post_impl_writev@Base 4.9
+ __sanitizer_syscall_pre_impl_accept4@Base 4.9
+ __sanitizer_syscall_pre_impl_accept@Base 4.9
+ __sanitizer_syscall_pre_impl_access@Base 4.9
+ __sanitizer_syscall_pre_impl_acct@Base 4.9
+ __sanitizer_syscall_pre_impl_add_key@Base 4.9
+ __sanitizer_syscall_pre_impl_adjtimex@Base 4.9
+ __sanitizer_syscall_pre_impl_alarm@Base 4.9
+ __sanitizer_syscall_pre_impl_bdflush@Base 4.9
+ __sanitizer_syscall_pre_impl_bind@Base 4.9
+ __sanitizer_syscall_pre_impl_brk@Base 4.9
+ __sanitizer_syscall_pre_impl_capget@Base 4.9
+ __sanitizer_syscall_pre_impl_capset@Base 4.9
+ __sanitizer_syscall_pre_impl_chdir@Base 4.9
+ __sanitizer_syscall_pre_impl_chmod@Base 4.9
+ __sanitizer_syscall_pre_impl_chown@Base 4.9
+ __sanitizer_syscall_pre_impl_chroot@Base 4.9
+ __sanitizer_syscall_pre_impl_clock_adjtime@Base 4.9
+ __sanitizer_syscall_pre_impl_clock_getres@Base 4.9
+ __sanitizer_syscall_pre_impl_clock_gettime@Base 4.9
+ __sanitizer_syscall_pre_impl_clock_nanosleep@Base 4.9
+ __sanitizer_syscall_pre_impl_clock_settime@Base 4.9
+ __sanitizer_syscall_pre_impl_close@Base 4.9
+ __sanitizer_syscall_pre_impl_connect@Base 4.9
+ __sanitizer_syscall_pre_impl_creat@Base 4.9
+ __sanitizer_syscall_pre_impl_delete_module@Base 4.9
+ __sanitizer_syscall_pre_impl_dup2@Base 4.9
+ __sanitizer_syscall_pre_impl_dup3@Base 4.9
+ __sanitizer_syscall_pre_impl_dup@Base 4.9
+ __sanitizer_syscall_pre_impl_epoll_create1@Base 4.9
+ __sanitizer_syscall_pre_impl_epoll_create@Base 4.9
+ __sanitizer_syscall_pre_impl_epoll_ctl@Base 4.9
+ __sanitizer_syscall_pre_impl_epoll_pwait@Base 4.9
+ __sanitizer_syscall_pre_impl_epoll_wait@Base 4.9
+ __sanitizer_syscall_pre_impl_eventfd2@Base 4.9
+ __sanitizer_syscall_pre_impl_eventfd@Base 4.9
+ __sanitizer_syscall_pre_impl_exit@Base 4.9
+ __sanitizer_syscall_pre_impl_exit_group@Base 4.9
+ __sanitizer_syscall_pre_impl_faccessat@Base 4.9
+ __sanitizer_syscall_pre_impl_fchdir@Base 4.9
+ __sanitizer_syscall_pre_impl_fchmod@Base 4.9
+ __sanitizer_syscall_pre_impl_fchmodat@Base 4.9
+ __sanitizer_syscall_pre_impl_fchown@Base 4.9
+ __sanitizer_syscall_pre_impl_fchownat@Base 4.9
+ __sanitizer_syscall_pre_impl_fcntl64@Base 4.9
+ __sanitizer_syscall_pre_impl_fcntl@Base 4.9
+ __sanitizer_syscall_pre_impl_fdatasync@Base 4.9
+ __sanitizer_syscall_pre_impl_fgetxattr@Base 4.9
+ __sanitizer_syscall_pre_impl_flistxattr@Base 4.9
+ __sanitizer_syscall_pre_impl_flock@Base 4.9
+ __sanitizer_syscall_pre_impl_fork@Base 4.9
+ __sanitizer_syscall_pre_impl_fremovexattr@Base 4.9
+ __sanitizer_syscall_pre_impl_fsetxattr@Base 4.9
+ __sanitizer_syscall_pre_impl_fstat64@Base 4.9
+ __sanitizer_syscall_pre_impl_fstat@Base 4.9
+ __sanitizer_syscall_pre_impl_fstatat64@Base 4.9
+ __sanitizer_syscall_pre_impl_fstatfs64@Base 4.9
+ __sanitizer_syscall_pre_impl_fstatfs@Base 4.9
+ __sanitizer_syscall_pre_impl_fsync@Base 4.9
+ __sanitizer_syscall_pre_impl_ftruncate@Base 4.9
+ __sanitizer_syscall_pre_impl_futimesat@Base 4.9
+ __sanitizer_syscall_pre_impl_get_mempolicy@Base 4.9
+ __sanitizer_syscall_pre_impl_get_robust_list@Base 4.9
+ __sanitizer_syscall_pre_impl_getcpu@Base 4.9
+ __sanitizer_syscall_pre_impl_getcwd@Base 4.9
+ __sanitizer_syscall_pre_impl_getdents64@Base 4.9
+ __sanitizer_syscall_pre_impl_getdents@Base 4.9
+ __sanitizer_syscall_pre_impl_getegid@Base 4.9
+ __sanitizer_syscall_pre_impl_geteuid@Base 4.9
+ __sanitizer_syscall_pre_impl_getgid@Base 4.9
+ __sanitizer_syscall_pre_impl_getgroups@Base 4.9
+ __sanitizer_syscall_pre_impl_gethostname@Base 4.9
+ __sanitizer_syscall_pre_impl_getitimer@Base 4.9
+ __sanitizer_syscall_pre_impl_getpeername@Base 4.9
+ __sanitizer_syscall_pre_impl_getpgid@Base 4.9
+ __sanitizer_syscall_pre_impl_getpgrp@Base 4.9
+ __sanitizer_syscall_pre_impl_getpid@Base 4.9
+ __sanitizer_syscall_pre_impl_getppid@Base 4.9
+ __sanitizer_syscall_pre_impl_getpriority@Base 4.9
+ __sanitizer_syscall_pre_impl_getresgid@Base 4.9
+ __sanitizer_syscall_pre_impl_getresuid@Base 4.9
+ __sanitizer_syscall_pre_impl_getrlimit@Base 4.9
+ __sanitizer_syscall_pre_impl_getrusage@Base 4.9
+ __sanitizer_syscall_pre_impl_getsid@Base 4.9
+ __sanitizer_syscall_pre_impl_getsockname@Base 4.9
+ __sanitizer_syscall_pre_impl_getsockopt@Base 4.9
+ __sanitizer_syscall_pre_impl_gettid@Base 4.9
+ __sanitizer_syscall_pre_impl_gettimeofday@Base 4.9
+ __sanitizer_syscall_pre_impl_getuid@Base 4.9
+ __sanitizer_syscall_pre_impl_getxattr@Base 4.9
+ __sanitizer_syscall_pre_impl_init_module@Base 4.9
+ __sanitizer_syscall_pre_impl_inotify_add_watch@Base 4.9
+ __sanitizer_syscall_pre_impl_inotify_init1@Base 4.9
+ __sanitizer_syscall_pre_impl_inotify_init@Base 4.9
+ __sanitizer_syscall_pre_impl_inotify_rm_watch@Base 4.9
+ __sanitizer_syscall_pre_impl_io_cancel@Base 4.9
+ __sanitizer_syscall_pre_impl_io_destroy@Base 4.9
+ __sanitizer_syscall_pre_impl_io_getevents@Base 4.9
+ __sanitizer_syscall_pre_impl_io_setup@Base 4.9
+ __sanitizer_syscall_pre_impl_io_submit@Base 4.9
+ __sanitizer_syscall_pre_impl_ioctl@Base 4.9
+ __sanitizer_syscall_pre_impl_ioperm@Base 4.9
+ __sanitizer_syscall_pre_impl_ioprio_get@Base 4.9
+ __sanitizer_syscall_pre_impl_ioprio_set@Base 4.9
+ __sanitizer_syscall_pre_impl_ipc@Base 4.9
+ __sanitizer_syscall_pre_impl_kexec_load@Base 4.9
+ __sanitizer_syscall_pre_impl_keyctl@Base 4.9
+ __sanitizer_syscall_pre_impl_kill@Base 4.9
+ __sanitizer_syscall_pre_impl_lchown@Base 4.9
+ __sanitizer_syscall_pre_impl_lgetxattr@Base 4.9
+ __sanitizer_syscall_pre_impl_link@Base 4.9
+ __sanitizer_syscall_pre_impl_linkat@Base 4.9
+ __sanitizer_syscall_pre_impl_listen@Base 4.9
+ __sanitizer_syscall_pre_impl_listxattr@Base 4.9
+ __sanitizer_syscall_pre_impl_llistxattr@Base 4.9
+ __sanitizer_syscall_pre_impl_llseek@Base 4.9
+ __sanitizer_syscall_pre_impl_lookup_dcookie@Base 4.9
+ __sanitizer_syscall_pre_impl_lremovexattr@Base 4.9
+ __sanitizer_syscall_pre_impl_lseek@Base 4.9
+ __sanitizer_syscall_pre_impl_lsetxattr@Base 4.9
+ __sanitizer_syscall_pre_impl_lstat64@Base 4.9
+ __sanitizer_syscall_pre_impl_lstat@Base 4.9
+ __sanitizer_syscall_pre_impl_madvise@Base 4.9
+ __sanitizer_syscall_pre_impl_mbind@Base 4.9
+ __sanitizer_syscall_pre_impl_migrate_pages@Base 4.9
+ __sanitizer_syscall_pre_impl_mincore@Base 4.9
+ __sanitizer_syscall_pre_impl_mkdir@Base 4.9
+ __sanitizer_syscall_pre_impl_mkdirat@Base 4.9
+ __sanitizer_syscall_pre_impl_mknod@Base 4.9
+ __sanitizer_syscall_pre_impl_mknodat@Base 4.9
+ __sanitizer_syscall_pre_impl_mlock@Base 4.9
+ __sanitizer_syscall_pre_impl_mlockall@Base 4.9
+ __sanitizer_syscall_pre_impl_mmap_pgoff@Base 4.9
+ __sanitizer_syscall_pre_impl_mount@Base 4.9
+ __sanitizer_syscall_pre_impl_move_pages@Base 4.9
+ __sanitizer_syscall_pre_impl_mprotect@Base 4.9
+ __sanitizer_syscall_pre_impl_mq_getsetattr@Base 4.9
+ __sanitizer_syscall_pre_impl_mq_notify@Base 4.9
+ __sanitizer_syscall_pre_impl_mq_open@Base 4.9
+ __sanitizer_syscall_pre_impl_mq_timedreceive@Base 4.9
+ __sanitizer_syscall_pre_impl_mq_timedsend@Base 4.9
+ __sanitizer_syscall_pre_impl_mq_unlink@Base 4.9
+ __sanitizer_syscall_pre_impl_mremap@Base 4.9
+ __sanitizer_syscall_pre_impl_msgctl@Base 4.9
+ __sanitizer_syscall_pre_impl_msgget@Base 4.9
+ __sanitizer_syscall_pre_impl_msgrcv@Base 4.9
+ __sanitizer_syscall_pre_impl_msgsnd@Base 4.9
+ __sanitizer_syscall_pre_impl_msync@Base 4.9
+ __sanitizer_syscall_pre_impl_munlock@Base 4.9
+ __sanitizer_syscall_pre_impl_munlockall@Base 4.9
+ __sanitizer_syscall_pre_impl_munmap@Base 4.9
+ __sanitizer_syscall_pre_impl_name_to_handle_at@Base 4.9
+ __sanitizer_syscall_pre_impl_nanosleep@Base 4.9
+ __sanitizer_syscall_pre_impl_newfstat@Base 4.9
+ __sanitizer_syscall_pre_impl_newfstatat@Base 4.9
+ __sanitizer_syscall_pre_impl_newlstat@Base 4.9
+ __sanitizer_syscall_pre_impl_newstat@Base 4.9
+ __sanitizer_syscall_pre_impl_newuname@Base 4.9
+ __sanitizer_syscall_pre_impl_ni_syscall@Base 4.9
+ __sanitizer_syscall_pre_impl_nice@Base 4.9
+ __sanitizer_syscall_pre_impl_old_getrlimit@Base 4.9
+ __sanitizer_syscall_pre_impl_old_mmap@Base 4.9
+ __sanitizer_syscall_pre_impl_old_readdir@Base 4.9
+ __sanitizer_syscall_pre_impl_old_select@Base 4.9
+ __sanitizer_syscall_pre_impl_oldumount@Base 4.9
+ __sanitizer_syscall_pre_impl_olduname@Base 4.9
+ __sanitizer_syscall_pre_impl_open@Base 4.9
+ __sanitizer_syscall_pre_impl_open_by_handle_at@Base 4.9
+ __sanitizer_syscall_pre_impl_openat@Base 4.9
+ __sanitizer_syscall_pre_impl_pause@Base 4.9
+ __sanitizer_syscall_pre_impl_pciconfig_iobase@Base 4.9
+ __sanitizer_syscall_pre_impl_pciconfig_read@Base 4.9
+ __sanitizer_syscall_pre_impl_pciconfig_write@Base 4.9
+ __sanitizer_syscall_pre_impl_perf_event_open@Base 4.9
+ __sanitizer_syscall_pre_impl_personality@Base 4.9
+ __sanitizer_syscall_pre_impl_pipe2@Base 4.9
+ __sanitizer_syscall_pre_impl_pipe@Base 4.9
+ __sanitizer_syscall_pre_impl_pivot_root@Base 4.9
+ __sanitizer_syscall_pre_impl_poll@Base 4.9
+ __sanitizer_syscall_pre_impl_ppoll@Base 4.9
+ __sanitizer_syscall_pre_impl_pread64@Base 4.9
+ __sanitizer_syscall_pre_impl_preadv@Base 4.9
+ __sanitizer_syscall_pre_impl_prlimit64@Base 4.9
+ __sanitizer_syscall_pre_impl_process_vm_readv@Base 4.9
+ __sanitizer_syscall_pre_impl_process_vm_writev@Base 4.9
+ __sanitizer_syscall_pre_impl_pselect6@Base 4.9
+ __sanitizer_syscall_pre_impl_ptrace@Base 4.9
+ __sanitizer_syscall_pre_impl_pwrite64@Base 4.9
+ __sanitizer_syscall_pre_impl_pwritev@Base 4.9
+ __sanitizer_syscall_pre_impl_quotactl@Base 4.9
+ __sanitizer_syscall_pre_impl_read@Base 4.9
+ __sanitizer_syscall_pre_impl_readlink@Base 4.9
+ __sanitizer_syscall_pre_impl_readlinkat@Base 4.9
+ __sanitizer_syscall_pre_impl_readv@Base 4.9
+ __sanitizer_syscall_pre_impl_reboot@Base 4.9
+ __sanitizer_syscall_pre_impl_recv@Base 4.9
+ __sanitizer_syscall_pre_impl_recvfrom@Base 4.9
+ __sanitizer_syscall_pre_impl_recvmmsg@Base 4.9
+ __sanitizer_syscall_pre_impl_recvmsg@Base 4.9
+ __sanitizer_syscall_pre_impl_remap_file_pages@Base 4.9
+ __sanitizer_syscall_pre_impl_removexattr@Base 4.9
+ __sanitizer_syscall_pre_impl_rename@Base 4.9
+ __sanitizer_syscall_pre_impl_renameat@Base 4.9
+ __sanitizer_syscall_pre_impl_request_key@Base 4.9
+ __sanitizer_syscall_pre_impl_restart_syscall@Base 4.9
+ __sanitizer_syscall_pre_impl_rmdir@Base 4.9
+ __sanitizer_syscall_pre_impl_rt_sigaction@Base 7
+ __sanitizer_syscall_pre_impl_rt_sigpending@Base 4.9
+ __sanitizer_syscall_pre_impl_rt_sigprocmask@Base 4.9
+ __sanitizer_syscall_pre_impl_rt_sigqueueinfo@Base 4.9
+ __sanitizer_syscall_pre_impl_rt_sigtimedwait@Base 4.9
+ __sanitizer_syscall_pre_impl_rt_tgsigqueueinfo@Base 4.9
+ __sanitizer_syscall_pre_impl_sched_get_priority_max@Base 4.9
+ __sanitizer_syscall_pre_impl_sched_get_priority_min@Base 4.9
+ __sanitizer_syscall_pre_impl_sched_getaffinity@Base 4.9
+ __sanitizer_syscall_pre_impl_sched_getparam@Base 4.9
+ __sanitizer_syscall_pre_impl_sched_getscheduler@Base 4.9
+ __sanitizer_syscall_pre_impl_sched_rr_get_interval@Base 4.9
+ __sanitizer_syscall_pre_impl_sched_setaffinity@Base 4.9
+ __sanitizer_syscall_pre_impl_sched_setparam@Base 4.9
+ __sanitizer_syscall_pre_impl_sched_setscheduler@Base 4.9
+ __sanitizer_syscall_pre_impl_sched_yield@Base 4.9
+ __sanitizer_syscall_pre_impl_select@Base 4.9
+ __sanitizer_syscall_pre_impl_semctl@Base 4.9
+ __sanitizer_syscall_pre_impl_semget@Base 4.9
+ __sanitizer_syscall_pre_impl_semop@Base 4.9
+ __sanitizer_syscall_pre_impl_semtimedop@Base 4.9
+ __sanitizer_syscall_pre_impl_send@Base 4.9
+ __sanitizer_syscall_pre_impl_sendfile64@Base 4.9
+ __sanitizer_syscall_pre_impl_sendfile@Base 4.9
+ __sanitizer_syscall_pre_impl_sendmmsg@Base 4.9
+ __sanitizer_syscall_pre_impl_sendmsg@Base 4.9
+ __sanitizer_syscall_pre_impl_sendto@Base 4.9
+ __sanitizer_syscall_pre_impl_set_mempolicy@Base 4.9
+ __sanitizer_syscall_pre_impl_set_robust_list@Base 4.9
+ __sanitizer_syscall_pre_impl_set_tid_address@Base 4.9
+ __sanitizer_syscall_pre_impl_setdomainname@Base 4.9
+ __sanitizer_syscall_pre_impl_setfsgid@Base 4.9
+ __sanitizer_syscall_pre_impl_setfsuid@Base 4.9
+ __sanitizer_syscall_pre_impl_setgid@Base 4.9
+ __sanitizer_syscall_pre_impl_setgroups@Base 4.9
+ __sanitizer_syscall_pre_impl_sethostname@Base 4.9
+ __sanitizer_syscall_pre_impl_setitimer@Base 4.9
+ __sanitizer_syscall_pre_impl_setns@Base 4.9
+ __sanitizer_syscall_pre_impl_setpgid@Base 4.9
+ __sanitizer_syscall_pre_impl_setpriority@Base 4.9
+ __sanitizer_syscall_pre_impl_setregid@Base 4.9
+ __sanitizer_syscall_pre_impl_setresgid@Base 4.9
+ __sanitizer_syscall_pre_impl_setresuid@Base 4.9
+ __sanitizer_syscall_pre_impl_setreuid@Base 4.9
+ __sanitizer_syscall_pre_impl_setrlimit@Base 4.9
+ __sanitizer_syscall_pre_impl_setsid@Base 4.9
+ __sanitizer_syscall_pre_impl_setsockopt@Base 4.9
+ __sanitizer_syscall_pre_impl_settimeofday@Base 4.9
+ __sanitizer_syscall_pre_impl_setuid@Base 4.9
+ __sanitizer_syscall_pre_impl_setxattr@Base 4.9
+ __sanitizer_syscall_pre_impl_sgetmask@Base 4.9
+ __sanitizer_syscall_pre_impl_shmat@Base 4.9
+ __sanitizer_syscall_pre_impl_shmctl@Base 4.9
+ __sanitizer_syscall_pre_impl_shmdt@Base 4.9
+ __sanitizer_syscall_pre_impl_shmget@Base 4.9
+ __sanitizer_syscall_pre_impl_shutdown@Base 4.9
+ __sanitizer_syscall_pre_impl_sigaction@Base 7
+ __sanitizer_syscall_pre_impl_signal@Base 4.9
+ __sanitizer_syscall_pre_impl_signalfd4@Base 4.9
+ __sanitizer_syscall_pre_impl_signalfd@Base 4.9
+ __sanitizer_syscall_pre_impl_sigpending@Base 4.9
+ __sanitizer_syscall_pre_impl_sigprocmask@Base 4.9
+ __sanitizer_syscall_pre_impl_socket@Base 4.9
+ __sanitizer_syscall_pre_impl_socketcall@Base 4.9
+ __sanitizer_syscall_pre_impl_socketpair@Base 4.9
+ __sanitizer_syscall_pre_impl_splice@Base 4.9
+ __sanitizer_syscall_pre_impl_spu_create@Base 4.9
+ __sanitizer_syscall_pre_impl_spu_run@Base 4.9
+ __sanitizer_syscall_pre_impl_ssetmask@Base 4.9
+ __sanitizer_syscall_pre_impl_stat64@Base 4.9
+ __sanitizer_syscall_pre_impl_stat@Base 4.9
+ __sanitizer_syscall_pre_impl_statfs64@Base 4.9
+ __sanitizer_syscall_pre_impl_statfs@Base 4.9
+ __sanitizer_syscall_pre_impl_stime@Base 4.9
+ __sanitizer_syscall_pre_impl_swapoff@Base 4.9
+ __sanitizer_syscall_pre_impl_swapon@Base 4.9
+ __sanitizer_syscall_pre_impl_symlink@Base 4.9
+ __sanitizer_syscall_pre_impl_symlinkat@Base 4.9
+ __sanitizer_syscall_pre_impl_sync@Base 4.9
+ __sanitizer_syscall_pre_impl_syncfs@Base 4.9
+ __sanitizer_syscall_pre_impl_sysctl@Base 4.9
+ __sanitizer_syscall_pre_impl_sysfs@Base 4.9
+ __sanitizer_syscall_pre_impl_sysinfo@Base 4.9
+ __sanitizer_syscall_pre_impl_syslog@Base 4.9
+ __sanitizer_syscall_pre_impl_tee@Base 4.9
+ __sanitizer_syscall_pre_impl_tgkill@Base 4.9
+ __sanitizer_syscall_pre_impl_time@Base 4.9
+ __sanitizer_syscall_pre_impl_timer_create@Base 4.9
+ __sanitizer_syscall_pre_impl_timer_delete@Base 4.9
+ __sanitizer_syscall_pre_impl_timer_getoverrun@Base 4.9
+ __sanitizer_syscall_pre_impl_timer_gettime@Base 4.9
+ __sanitizer_syscall_pre_impl_timer_settime@Base 4.9
+ __sanitizer_syscall_pre_impl_timerfd_create@Base 4.9
+ __sanitizer_syscall_pre_impl_timerfd_gettime@Base 4.9
+ __sanitizer_syscall_pre_impl_timerfd_settime@Base 4.9
+ __sanitizer_syscall_pre_impl_times@Base 4.9
+ __sanitizer_syscall_pre_impl_tkill@Base 4.9
+ __sanitizer_syscall_pre_impl_truncate@Base 4.9
+ __sanitizer_syscall_pre_impl_umask@Base 4.9
+ __sanitizer_syscall_pre_impl_umount@Base 4.9
+ __sanitizer_syscall_pre_impl_uname@Base 4.9
+ __sanitizer_syscall_pre_impl_unlink@Base 4.9
+ __sanitizer_syscall_pre_impl_unlinkat@Base 4.9
+ __sanitizer_syscall_pre_impl_unshare@Base 4.9
+ __sanitizer_syscall_pre_impl_uselib@Base 4.9
+ __sanitizer_syscall_pre_impl_ustat@Base 4.9
+ __sanitizer_syscall_pre_impl_utime@Base 4.9
+ __sanitizer_syscall_pre_impl_utimensat@Base 4.9
+ __sanitizer_syscall_pre_impl_utimes@Base 4.9
+ __sanitizer_syscall_pre_impl_vfork@Base 4.9
+ __sanitizer_syscall_pre_impl_vhangup@Base 4.9
+ __sanitizer_syscall_pre_impl_vmsplice@Base 4.9
+ __sanitizer_syscall_pre_impl_wait4@Base 4.9
+ __sanitizer_syscall_pre_impl_waitid@Base 4.9
+ __sanitizer_syscall_pre_impl_waitpid@Base 4.9
+ __sanitizer_syscall_pre_impl_write@Base 4.9
+ __sanitizer_syscall_pre_impl_writev@Base 4.9
+ __sanitizer_unaligned_load16@Base 4.9
+ __sanitizer_unaligned_load32@Base 4.9
+ __sanitizer_unaligned_load64@Base 4.9
+ __sanitizer_unaligned_store16@Base 4.9
+ __sanitizer_unaligned_store32@Base 4.9
+ __sanitizer_unaligned_store64@Base 4.9
+#MISSING: 8# __sanitizer_update_counter_bitset_and_clear_counters@Base 6
+ __sanitizer_weak_hook_memcmp@Base 8
+ __sanitizer_weak_hook_memmem@Base 8
+ __sanitizer_weak_hook_strcasecmp@Base 8
+ __sanitizer_weak_hook_strcasestr@Base 8
+ __sanitizer_weak_hook_strcmp@Base 8
+ __sanitizer_weak_hook_strncasecmp@Base 8
+ __sanitizer_weak_hook_strncmp@Base 8
+ __sanitizer_weak_hook_strstr@Base 8
+ __sigsetjmp@Base 4.9
+ __strndup@Base 8
+ __tls_get_addr@Base 6
+ __tsan_acquire@Base 4.9
+ __tsan_atomic128_compare_exchange_strong@Base 4.9
+ __tsan_atomic128_compare_exchange_val@Base 4.9
+ __tsan_atomic128_compare_exchange_weak@Base 4.9
+ __tsan_atomic128_exchange@Base 4.9
+ __tsan_atomic128_fetch_add@Base 4.9
+ __tsan_atomic128_fetch_and@Base 4.9
+ __tsan_atomic128_fetch_nand@Base 4.9
+ __tsan_atomic128_fetch_or@Base 4.9
+ __tsan_atomic128_fetch_sub@Base 4.9
+ __tsan_atomic128_fetch_xor@Base 4.9
+ __tsan_atomic128_load@Base 4.9
+ __tsan_atomic128_store@Base 4.9
+ __tsan_atomic16_compare_exchange_strong@Base 4.9
+ __tsan_atomic16_compare_exchange_val@Base 4.9
+ __tsan_atomic16_compare_exchange_weak@Base 4.9
+ __tsan_atomic16_exchange@Base 4.9
+ __tsan_atomic16_fetch_add@Base 4.9
+ __tsan_atomic16_fetch_and@Base 4.9
+ __tsan_atomic16_fetch_nand@Base 4.9
+ __tsan_atomic16_fetch_or@Base 4.9
+ __tsan_atomic16_fetch_sub@Base 4.9
+ __tsan_atomic16_fetch_xor@Base 4.9
+ __tsan_atomic16_load@Base 4.9
+ __tsan_atomic16_store@Base 4.9
+ __tsan_atomic32_compare_exchange_strong@Base 4.9
+ __tsan_atomic32_compare_exchange_val@Base 4.9
+ __tsan_atomic32_compare_exchange_weak@Base 4.9
+ __tsan_atomic32_exchange@Base 4.9
+ __tsan_atomic32_fetch_add@Base 4.9
+ __tsan_atomic32_fetch_and@Base 4.9
+ __tsan_atomic32_fetch_nand@Base 4.9
+ __tsan_atomic32_fetch_or@Base 4.9
+ __tsan_atomic32_fetch_sub@Base 4.9
+ __tsan_atomic32_fetch_xor@Base 4.9
+ __tsan_atomic32_load@Base 4.9
+ __tsan_atomic32_store@Base 4.9
+ __tsan_atomic64_compare_exchange_strong@Base 4.9
+ __tsan_atomic64_compare_exchange_val@Base 4.9
+ __tsan_atomic64_compare_exchange_weak@Base 4.9
+ __tsan_atomic64_exchange@Base 4.9
+ __tsan_atomic64_fetch_add@Base 4.9
+ __tsan_atomic64_fetch_and@Base 4.9
+ __tsan_atomic64_fetch_nand@Base 4.9
+ __tsan_atomic64_fetch_or@Base 4.9
+ __tsan_atomic64_fetch_sub@Base 4.9
+ __tsan_atomic64_fetch_xor@Base 4.9
+ __tsan_atomic64_load@Base 4.9
+ __tsan_atomic64_store@Base 4.9
+ __tsan_atomic8_compare_exchange_strong@Base 4.9
+ __tsan_atomic8_compare_exchange_val@Base 4.9
+ __tsan_atomic8_compare_exchange_weak@Base 4.9
+ __tsan_atomic8_exchange@Base 4.9
+ __tsan_atomic8_fetch_add@Base 4.9
+ __tsan_atomic8_fetch_and@Base 4.9
+ __tsan_atomic8_fetch_nand@Base 4.9
+ __tsan_atomic8_fetch_or@Base 4.9
+ __tsan_atomic8_fetch_sub@Base 4.9
+ __tsan_atomic8_fetch_xor@Base 4.9
+ __tsan_atomic8_load@Base 4.9
+ __tsan_atomic8_store@Base 4.9
+ __tsan_atomic_signal_fence@Base 4.9
+ __tsan_atomic_thread_fence@Base 4.9
+ __tsan_default_options@Base 4.9
+ __tsan_default_suppressions@Base 7
+ __tsan_external_assign_tag@Base 8
+ __tsan_external_read@Base 8
+ __tsan_external_register_header@Base 8
+ __tsan_external_register_tag@Base 8
+ __tsan_external_write@Base 8
+ __tsan_flush_memory@Base 8
+ __tsan_func_entry@Base 4.9
+ __tsan_func_exit@Base 4.9
+ __tsan_get_alloc_stack@Base 8
+ __tsan_get_current_report@Base 7
+ __tsan_get_report_data@Base 7
+ __tsan_get_report_loc@Base 7
+ __tsan_get_report_loc_object_type@Base 8
+ __tsan_get_report_mop@Base 7
+ __tsan_get_report_mutex@Base 7
+ __tsan_get_report_stack@Base 7
+ __tsan_get_report_thread@Base 7
+ __tsan_get_report_unique_tid@Base 7
+ __tsan_ignore_thread_begin@Base 8
+ __tsan_ignore_thread_end@Base 8
+ __tsan_init@Base 4.9
+ __tsan_java_acquire@Base 6
+ __tsan_java_alloc@Base 4.9
+ __tsan_java_finalize@Base 5
+ __tsan_java_find@Base 8
+ __tsan_java_fini@Base 4.9
+ __tsan_java_free@Base 4.9
+ __tsan_java_init@Base 4.9
+ __tsan_java_move@Base 4.9
+ __tsan_java_mutex_lock@Base 4.9
+ __tsan_java_mutex_lock_rec@Base 4.9
+ __tsan_java_mutex_read_lock@Base 4.9
+ __tsan_java_mutex_read_unlock@Base 4.9
+ __tsan_java_mutex_unlock@Base 4.9
+ __tsan_java_mutex_unlock_rec@Base 4.9
+ __tsan_java_release@Base 6
+ __tsan_java_release_store@Base 6
+ __tsan_locate_address@Base 8
+ __tsan_mutex_create@Base 8
+ __tsan_mutex_destroy@Base 8
+ __tsan_mutex_post_divert@Base 8
+ __tsan_mutex_post_lock@Base 8
+ __tsan_mutex_post_signal@Base 8
+ __tsan_mutex_post_unlock@Base 8
+ __tsan_mutex_pre_divert@Base 8
+ __tsan_mutex_pre_lock@Base 8
+ __tsan_mutex_pre_signal@Base 8
+ __tsan_mutex_pre_unlock@Base 8
+ __tsan_on_report@Base 7
+ __tsan_read16@Base 4.9
+ __tsan_read16_pc@Base 6
+ __tsan_read1@Base 4.9
+ __tsan_read1_pc@Base 6
+ __tsan_read2@Base 4.9
+ __tsan_read2_pc@Base 6
+ __tsan_read4@Base 4.9
+ __tsan_read4_pc@Base 6
+ __tsan_read8@Base 4.9
+ __tsan_read8_pc@Base 6
+ __tsan_read_range@Base 4.9
+ __tsan_release@Base 4.9
+ __tsan_symbolize_external@Base 7
+ __tsan_testonly_barrier_init@Base 7
+ __tsan_testonly_barrier_wait@Base 7
+ __tsan_testonly_shadow_stack_current_size@Base 8
+ __tsan_unaligned_read16@Base 6
+ __tsan_unaligned_read2@Base 4.9
+ __tsan_unaligned_read4@Base 4.9
+ __tsan_unaligned_read8@Base 4.9
+ __tsan_unaligned_write16@Base 6
+ __tsan_unaligned_write2@Base 4.9
+ __tsan_unaligned_write4@Base 4.9
+ __tsan_unaligned_write8@Base 4.9
+ __tsan_vptr_read@Base 4.9
+ __tsan_vptr_update@Base 4.9
+ __tsan_write16@Base 4.9
+ __tsan_write16_pc@Base 6
+ __tsan_write1@Base 4.9
+ __tsan_write1_pc@Base 6
+ __tsan_write2@Base 4.9
+ __tsan_write2_pc@Base 6
+ __tsan_write4@Base 4.9
+ __tsan_write4_pc@Base 6
+ __tsan_write8@Base 4.9
+ __tsan_write8_pc@Base 6
+ __tsan_write_range@Base 4.9
+ __uflow@Base 5
+ __underflow@Base 5
+ __woverflow@Base 5
+ __wuflow@Base 5
+ __wunderflow@Base 5
+ __xpg_strerror_r@Base 4.9
+ __xstat64@Base 4.9
+ __xstat@Base 4.9
+ _exit@Base 4.9
+ _obstack_begin@Base 5
+ _obstack_begin_1@Base 5
+ _obstack_newchunk@Base 5
+ _setjmp@Base 4.9
+ abort@Base 4.9
+ accept4@Base 4.9
+ accept@Base 4.9
+ aligned_alloc@Base 5
+ asctime@Base 4.9
+ asctime_r@Base 4.9
+ asprintf@Base 5
+ atexit@Base 4.9
+ backtrace@Base 4.9
+ backtrace_symbols@Base 4.9
+ bind@Base 4.9
+ calloc@Base 4.9
+ canonicalize_file_name@Base 4.9
+ capget@Base 5
+ capset@Base 5
+ cfree@Base 4.9
+ clock_getres@Base 4.9
+ clock_gettime@Base 4.9
+ clock_settime@Base 4.9
+ close@Base 4.9
+ closedir@Base 6
+ confstr@Base 4.9
+ connect@Base 4.9
+ creat64@Base 4.9
+ creat@Base 4.9
+ ctermid@Base 7
+ ctime@Base 4.9
+ ctime_r@Base 4.9
+ dl_iterate_phdr@Base 6
+ dlclose@Base 4.9
+ dlopen@Base 4.9
+ drand48_r@Base 4.9
+ dup2@Base 4.9
+ dup3@Base 4.9
+ dup@Base 4.9
+ endgrent@Base 5
+ endpwent@Base 5
+ epoll_create1@Base 4.9
+ epoll_create@Base 4.9
+ epoll_ctl@Base 4.9
+ epoll_pwait@Base 7
+ epoll_wait@Base 4.9
+ ether_aton@Base 4.9
+ ether_aton_r@Base 4.9
+ ether_hostton@Base 4.9
+ ether_line@Base 4.9
+ ether_ntoa@Base 4.9
+ ether_ntoa_r@Base 4.9
+ ether_ntohost@Base 4.9
+ eventfd@Base 4.9
+ eventfd_read@Base 7
+ eventfd_write@Base 7
+ fclose@Base 4.9
+ fdopen@Base 5
+ fflush@Base 4.9
+ fgetxattr@Base 5
+ flistxattr@Base 5
+ fmemopen@Base 5
+ fopen64@Base 5
+ fopen@Base 4.9
+ fopencookie@Base 6
+ fork@Base 4.9
+ fprintf@Base 5
+ fread@Base 4.9
+ free@Base 4.9
+ freopen64@Base 5
+ freopen@Base 4.9
+ frexp@Base 4.9
+ frexpf@Base 4.9
+ frexpl@Base 4.9
+ fscanf@Base 4.9
+ fstat64@Base 4.9
+ fstat@Base 4.9
+ fstatfs64@Base 4.9
+ fstatfs@Base 4.9
+ fstatvfs64@Base 4.9
+ fstatvfs@Base 4.9
+ ftime@Base 5
+ fwrite@Base 4.9
+ get_current_dir_name@Base 4.9
+ getaddrinfo@Base 4.9
+ getcwd@Base 4.9
+ getdelim@Base 4.9
+ getgroups@Base 4.9
+ gethostbyaddr@Base 4.9
+ gethostbyaddr_r@Base 4.9
+ gethostbyname2@Base 4.9
+ gethostbyname2_r@Base 4.9
+ gethostbyname@Base 4.9
+ gethostbyname_r@Base 4.9
+ gethostent@Base 4.9
+ gethostent_r@Base 4.9
+ getifaddrs@Base 5
+ getitimer@Base 4.9
+ getline@Base 4.9
+ getloadavg@Base 8
+ getmntent@Base 4.9
+ getmntent_r@Base 4.9
+ getnameinfo@Base 5
+ getpass@Base 5
+ getpeername@Base 4.9
+ getresgid@Base 5
+ getresuid@Base 5
+ getsockname@Base 4.9
+ getsockopt@Base 4.9
+ gettimeofday@Base 4.9
+ getutent@Base 8
+ getutid@Base 8
+ getutline@Base 8
+ getutxent@Base 8
+ getutxid@Base 8
+ getutxline@Base 8
+ getxattr@Base 5
+ glob64@Base 5
+ glob@Base 5
+ gmtime@Base 4.9
+ gmtime_r@Base 4.9
+ iconv@Base 4.9
+ if_indextoname@Base 5
+ if_nametoindex@Base 5
+ inet_aton@Base 4.9
+ inet_ntop@Base 4.9
+ inet_pton@Base 4.9
+ initgroups@Base 4.9
+ inotify_init1@Base 4.9
+ inotify_init@Base 4.9
+ (arch=base-any-any-amd64 any-mips any-mipsel)internal_sigreturn@Base 7
+ ioctl@Base 4.9
+ kill@Base 4.9
+ lgamma@Base 4.9
+ lgamma_r@Base 4.9
+ lgammaf@Base 4.9
+ lgammaf_r@Base 4.9
+ lgammal@Base 4.9
+ lgammal_r@Base 4.9
+ lgetxattr@Base 5
+ listen@Base 4.9
+ listxattr@Base 5
+ llistxattr@Base 5
+ localtime@Base 4.9
+ localtime_r@Base 4.9
+ longjmp@Base 4.9
+ lrand48_r@Base 4.9
+ malloc@Base 4.9
+ malloc_usable_size@Base 4.9
+ mbsnrtowcs@Base 4.9
+ mbsrtowcs@Base 4.9
+ mbstowcs@Base 4.9
+ mcheck@Base 8
+ mcheck_pedantic@Base 8
+ memalign@Base 4.9
+ memchr@Base 4.9
+ memcmp@Base 4.9
+ memcpy@Base 4.9
+ memmem@Base 7
+ memmove@Base 4.9
+ memrchr@Base 4.9
+ memset@Base 4.9
+ mincore@Base 6
+ mktime@Base 5
+ mlock@Base 4.9
+ mlockall@Base 4.9
+ mmap64@Base 4.9
+ mmap@Base 4.9
+ modf@Base 4.9
+ modff@Base 4.9
+ modfl@Base 4.9
+ mprobe@Base 8
+ munlock@Base 4.9
+ munlockall@Base 4.9
+ munmap@Base 4.9
+ nanosleep@Base 4.9
+ on_exit@Base 4.9
+ open64@Base 4.9
+ open@Base 4.9
+ open_memstream@Base 5
+ open_wmemstream@Base 5
+ opendir@Base 4.9
+ pause@Base 8
+ pipe2@Base 4.9
+ pipe@Base 4.9
+ poll@Base 4.9
+ posix_memalign@Base 4.9
+ ppoll@Base 4.9
+ prctl@Base 4.9
+ pread64@Base 4.9
+ pread@Base 4.9
+ preadv64@Base 4.9
+ preadv@Base 4.9
+ printf@Base 5
+ process_vm_readv@Base 6
+ process_vm_writev@Base 6
+ pthread_attr_getaffinity_np@Base 4.9
+ pthread_attr_getdetachstate@Base 4.9
+ pthread_attr_getguardsize@Base 4.9
+ pthread_attr_getinheritsched@Base 4.9
+ pthread_attr_getschedparam@Base 4.9
+ pthread_attr_getschedpolicy@Base 4.9
+ pthread_attr_getscope@Base 4.9
+ pthread_attr_getstack@Base 4.9
+ pthread_attr_getstacksize@Base 4.9
+ pthread_barrier_destroy@Base 4.9
+ pthread_barrier_init@Base 4.9
+ pthread_barrier_wait@Base 4.9
+ pthread_barrierattr_getpshared@Base 5
+ pthread_cond_broadcast@Base 4.9
+ pthread_cond_destroy@Base 4.9
+ pthread_cond_init@Base 4.9
+ pthread_cond_signal@Base 4.9
+ pthread_cond_timedwait@Base 4.9
+ pthread_cond_wait@Base 4.9
+ pthread_condattr_getclock@Base 5
+ pthread_condattr_getpshared@Base 5
+ pthread_create@Base 4.9
+ pthread_detach@Base 4.9
+ pthread_getschedparam@Base 4.9
+ pthread_join@Base 4.9
+ pthread_kill@Base 4.9
+ pthread_mutex_destroy@Base 4.9
+ pthread_mutex_init@Base 4.9
+ pthread_mutex_lock@Base 4.9
+ pthread_mutex_timedlock@Base 4.9
+ pthread_mutex_trylock@Base 4.9
+ pthread_mutex_unlock@Base 4.9
+ pthread_mutexattr_getprioceiling@Base 5
+ pthread_mutexattr_getprotocol@Base 5
+ pthread_mutexattr_getpshared@Base 5
+ pthread_mutexattr_getrobust@Base 5
+ pthread_mutexattr_getrobust_np@Base 5
+ pthread_mutexattr_gettype@Base 5
+ pthread_once@Base 4.9
+ pthread_rwlock_destroy@Base 4.9
+ pthread_rwlock_init@Base 4.9
+ pthread_rwlock_rdlock@Base 4.9
+ pthread_rwlock_timedrdlock@Base 4.9
+ pthread_rwlock_timedwrlock@Base 4.9
+ pthread_rwlock_tryrdlock@Base 4.9
+ pthread_rwlock_trywrlock@Base 4.9
+ pthread_rwlock_unlock@Base 4.9
+ pthread_rwlock_wrlock@Base 4.9
+ pthread_rwlockattr_getkind_np@Base 5
+ pthread_rwlockattr_getpshared@Base 5
+ pthread_setcancelstate@Base 6
+ pthread_setcanceltype@Base 6
+ pthread_setname_np@Base 4.9
+ pthread_sigmask@Base 7
+ pthread_spin_destroy@Base 4.9
+ pthread_spin_init@Base 4.9
+ pthread_spin_lock@Base 4.9
+ pthread_spin_trylock@Base 4.9
+ pthread_spin_unlock@Base 4.9
+ ptrace@Base 4.9
+ puts@Base 4.9
+ pvalloc@Base 4.9
+ pwrite64@Base 4.9
+ pwrite@Base 4.9
+ pwritev64@Base 4.9
+ pwritev@Base 4.9
+ raise@Base 4.9
+ rand_r@Base 5
+ random_r@Base 4.9
+ read@Base 4.9
+ readdir64@Base 4.9
+ readdir64_r@Base 4.9
+ readdir@Base 4.9
+ readdir_r@Base 4.9
+ readv@Base 4.9
+ realloc@Base 4.9
+ realpath@Base 4.9
+ recv@Base 4.9
+ recvfrom@Base 7
+ recvmsg@Base 4.9
+ remquo@Base 4.9
+ remquof@Base 4.9
+ remquol@Base 4.9
+ rmdir@Base 4.9
+ scandir64@Base 4.9
+ scandir@Base 4.9
+ scanf@Base 4.9
+ sched_getaffinity@Base 4.9
+ sched_getparam@Base 6
+ sem_destroy@Base 4.9
+ sem_getvalue@Base 4.9
+ sem_init@Base 4.9
+ sem_post@Base 4.9
+ sem_timedwait@Base 4.9
+ sem_trywait@Base 4.9
+ sem_wait@Base 4.9
+ send@Base 4.9
+ sendmsg@Base 4.9
+ sendto@Base 7
+ setgrent@Base 5
+ setitimer@Base 4.9
+ setjmp@Base 8
+ setlocale@Base 4.9
+ setpwent@Base 5
+ shmctl@Base 4.9
+ sigaction@Base 4.9
+ sigblock@Base 7
+ sigemptyset@Base 4.9
+ sigfillset@Base 4.9
+ siglongjmp@Base 4.9
+ signal@Base 4.9
+ signalfd@Base 4.9
+ sigpending@Base 4.9
+ sigprocmask@Base 4.9
+ sigsetjmp@Base 4.9
+ sigsetmask@Base 7
+ sigsuspend@Base 4.9
+ sigtimedwait@Base 4.9
+ sigwait@Base 4.9
+ sigwaitinfo@Base 4.9
+ sincos@Base 4.9
+ sincosf@Base 4.9
+ sincosl@Base 4.9
+ sleep@Base 4.9
+ snprintf@Base 5
+ socket@Base 4.9
+ socketpair@Base 4.9
+ sprintf@Base 5
+ sscanf@Base 4.9
+ statfs64@Base 4.9
+ statfs@Base 4.9
+ statvfs64@Base 4.9
+ statvfs@Base 4.9
+ strcasecmp@Base 4.9
+ strcasestr@Base 6
+ strchr@Base 4.9
+ strchrnul@Base 4.9
+ strcmp@Base 4.9
+ strcpy@Base 4.9
+ strcspn@Base 6
+ strdup@Base 4.9
+ strerror@Base 4.9
+ strerror_r@Base 4.9
+ strlen@Base 4.9
+ strncasecmp@Base 4.9
+ strncmp@Base 4.9
+ strncpy@Base 4.9
+ strndup@Base 8
+ strnlen@Base 7
+ strpbrk@Base 6
+ strptime@Base 4.9
+ strrchr@Base 4.9
+ strspn@Base 6
+ strstr@Base 4.9
+ strtoimax@Base 4.9
+ strtok@Base 8
+ strtoumax@Base 4.9
+ sysinfo@Base 4.9
+ tcgetattr@Base 4.9
+ tempnam@Base 4.9
+ textdomain@Base 4.9
+ time@Base 4.9
+ timerfd_gettime@Base 5
+ timerfd_settime@Base 5
+ times@Base 4.9
+ tmpfile64@Base 5
+ tmpfile@Base 5
+ tmpnam@Base 4.9
+ tmpnam_r@Base 4.9
+ tsearch@Base 5
+ ttyname_r@Base 7
+ unlink@Base 4.9
+ usleep@Base 4.9
+ valloc@Base 4.9
+ vasprintf@Base 5
+ vfork@Base 5
+ vfprintf@Base 5
+ vfscanf@Base 4.9
+ vprintf@Base 5
+ vscanf@Base 4.9
+ vsnprintf@Base 5
+ vsprintf@Base 5
+ vsscanf@Base 4.9
+ wait3@Base 4.9
+ wait4@Base 4.9
+ wait@Base 4.9
+ waitid@Base 4.9
+ waitpid@Base 4.9
+ wcrtomb@Base 6
+ wcscat@Base 8
+ wcslen@Base 8
+ wcsncat@Base 8
+ wcsnlen@Base 8
+ wcsnrtombs@Base 4.9
+ wcsrtombs@Base 4.9
+ wcstombs@Base 4.9
+ wordexp@Base 4.9
+ write@Base 4.9
+ writev@Base 4.9
+ xdr_bool@Base 5
+ xdr_bytes@Base 5
+ xdr_char@Base 5
+ xdr_double@Base 5
+ xdr_enum@Base 5
+ xdr_float@Base 5
+ xdr_hyper@Base 5
+ xdr_int16_t@Base 5
+ xdr_int32_t@Base 5
+ xdr_int64_t@Base 5
+ xdr_int8_t@Base 5
+ xdr_int@Base 5
+ xdr_long@Base 5
+ xdr_longlong_t@Base 5
+ xdr_quad_t@Base 5
+ xdr_short@Base 5
+ xdr_string@Base 5
+ xdr_u_char@Base 5
+ xdr_u_hyper@Base 5
+ xdr_u_int@Base 5
+ xdr_u_long@Base 5
+ xdr_u_longlong_t@Base 5
+ xdr_u_quad_t@Base 5
+ xdr_u_short@Base 5
+ xdr_uint16_t@Base 5
+ xdr_uint32_t@Base 5
+ xdr_uint64_t@Base 5
+ xdr_uint8_t@Base 5
+ xdrmem_create@Base 5
+ xdrstdio_create@Base 5
--- /dev/null
+libubsan.so.1 libubsan1 #MINVER#
+ OnPrint@Base 8
+ _ZN11__sanitizer11CheckFailedEPKciS1_yy@Base 4.9
+ __asan_backtrace_alloc@Base 4.9
+ __asan_backtrace_close@Base 4.9
+ __asan_backtrace_create_state@Base 4.9
+ __asan_backtrace_dwarf_add@Base 4.9
+ __asan_backtrace_free@Base 4.9
+ __asan_backtrace_get_view@Base 4.9
+ __asan_backtrace_initialize@Base 4.9
+ __asan_backtrace_open@Base 4.9
+ __asan_backtrace_pcinfo@Base 4.9
+ __asan_backtrace_qsort@Base 4.9
+ __asan_backtrace_release_view@Base 4.9
+ __asan_backtrace_syminfo@Base 4.9
+ __asan_backtrace_uncompress_zdebug@Base 8
+ __asan_backtrace_vector_finish@Base 4.9
+ __asan_backtrace_vector_grow@Base 4.9
+ __asan_backtrace_vector_release@Base 4.9
+ __asan_cplus_demangle_builtin_types@Base 4.9
+ __asan_cplus_demangle_fill_ctor@Base 4.9
+ __asan_cplus_demangle_fill_dtor@Base 4.9
+ __asan_cplus_demangle_fill_extended_operator@Base 4.9
+ __asan_cplus_demangle_fill_name@Base 4.9
+ __asan_cplus_demangle_init_info@Base 4.9
+ __asan_cplus_demangle_mangled_name@Base 4.9
+ __asan_cplus_demangle_operators@Base 4.9
+ __asan_cplus_demangle_print@Base 4.9
+ __asan_cplus_demangle_print_callback@Base 4.9
+ __asan_cplus_demangle_type@Base 4.9
+ __asan_cplus_demangle_v3@Base 4.9
+ __asan_cplus_demangle_v3_callback@Base 4.9
+ __asan_internal_memcmp@Base 4.9
+ __asan_internal_memcpy@Base 4.9
+ __asan_internal_memset@Base 4.9
+ __asan_internal_strcmp@Base 4.9
+ __asan_internal_strlen@Base 4.9
+ __asan_internal_strncmp@Base 4.9
+ __asan_internal_strnlen@Base 4.9
+ __asan_is_gnu_v3_mangled_ctor@Base 4.9
+ __asan_is_gnu_v3_mangled_dtor@Base 4.9
+ __asan_java_demangle_v3@Base 4.9
+ __asan_java_demangle_v3_callback@Base 4.9
+ __sancov_default_options@Base 8
+ __sancov_lowest_stack@Base 8
+ __sanitizer_cov_8bit_counters_init@Base 8
+ __sanitizer_cov_dump@Base 4.9
+ __sanitizer_cov_pcs_init@Base 8
+ __sanitizer_cov_reset@Base 8
+ __sanitizer_cov_trace_cmp1@Base 7
+ __sanitizer_cov_trace_cmp2@Base 7
+ __sanitizer_cov_trace_cmp4@Base 7
+ __sanitizer_cov_trace_cmp8@Base 7
+ __sanitizer_cov_trace_cmp@Base 6
+ __sanitizer_cov_trace_const_cmp1@Base 8
+ __sanitizer_cov_trace_const_cmp2@Base 8
+ __sanitizer_cov_trace_const_cmp4@Base 8
+ __sanitizer_cov_trace_const_cmp8@Base 8
+ __sanitizer_cov_trace_div4@Base 7
+ __sanitizer_cov_trace_div8@Base 7
+ __sanitizer_cov_trace_gep@Base 7
+ __sanitizer_cov_trace_pc_guard@Base 7
+ __sanitizer_cov_trace_pc_guard_init@Base 7
+ __sanitizer_cov_trace_pc_indir@Base 7
+ __sanitizer_cov_trace_switch@Base 6
+ __sanitizer_dump_coverage@Base 8
+ __sanitizer_dump_trace_pc_guard_coverage@Base 8
+ __sanitizer_get_module_and_offset_for_pc@Base 8
+ __sanitizer_install_malloc_and_free_hooks@Base 7
+ __sanitizer_report_error_summary@Base 4.9
+ __sanitizer_sandbox_on_notify@Base 4.9
+ __sanitizer_set_death_callback@Base 6
+ __sanitizer_set_report_fd@Base 7
+ __sanitizer_set_report_path@Base 4.9
+ __sanitizer_symbolize_global@Base 7
+ __sanitizer_symbolize_pc@Base 7
+ __ubsan_default_options@Base 8
+ __ubsan_handle_add_overflow@Base 4.9
+ __ubsan_handle_add_overflow_abort@Base 4.9
+ __ubsan_handle_builtin_unreachable@Base 4.9
+ __ubsan_handle_cfi_bad_type@Base 7
+ __ubsan_handle_cfi_check_fail@Base 7
+ __ubsan_handle_cfi_check_fail_abort@Base 7
+ __ubsan_handle_divrem_overflow@Base 4.9
+ __ubsan_handle_divrem_overflow_abort@Base 4.9
+ __ubsan_handle_dynamic_type_cache_miss@Base 4.9
+ __ubsan_handle_dynamic_type_cache_miss_abort@Base 4.9
+ __ubsan_handle_float_cast_overflow@Base 4.9
+ __ubsan_handle_float_cast_overflow_abort@Base 4.9
+ __ubsan_handle_function_type_mismatch@Base 4.9
+ __ubsan_handle_function_type_mismatch_abort@Base 4.9
+ __ubsan_handle_invalid_builtin@Base 8
+ __ubsan_handle_invalid_builtin_abort@Base 8
+ __ubsan_handle_load_invalid_value@Base 4.9
+ __ubsan_handle_load_invalid_value_abort@Base 4.9
+ __ubsan_handle_missing_return@Base 4.9
+ __ubsan_handle_mul_overflow@Base 4.9
+ __ubsan_handle_mul_overflow_abort@Base 4.9
+ __ubsan_handle_negate_overflow@Base 4.9
+ __ubsan_handle_negate_overflow_abort@Base 4.9
+ __ubsan_handle_nonnull_arg@Base 5
+ __ubsan_handle_nonnull_arg_abort@Base 5
+ __ubsan_handle_nonnull_return_v1@Base 8
+ __ubsan_handle_nonnull_return_v1_abort@Base 8
+ __ubsan_handle_nullability_arg@Base 8
+ __ubsan_handle_nullability_arg_abort@Base 8
+ __ubsan_handle_nullability_return_v1@Base 8
+ __ubsan_handle_nullability_return_v1_abort@Base 8
+ __ubsan_handle_out_of_bounds@Base 4.9
+ __ubsan_handle_out_of_bounds_abort@Base 4.9
+ __ubsan_handle_pointer_overflow@Base 8
+ __ubsan_handle_pointer_overflow_abort@Base 8
+ __ubsan_handle_shift_out_of_bounds@Base 4.9
+ __ubsan_handle_shift_out_of_bounds_abort@Base 4.9
+ __ubsan_handle_sub_overflow@Base 4.9
+ __ubsan_handle_sub_overflow_abort@Base 4.9
+ __ubsan_handle_type_mismatch_v1@Base 8
+ __ubsan_handle_type_mismatch_v1_abort@Base 8
+ __ubsan_handle_vla_bound_not_positive@Base 4.9
+ __ubsan_handle_vla_bound_not_positive_abort@Base 4.9
+ __ubsan_vptr_type_cache@Base 4.9
+ (arch=base-any-any-amd64 any-mips any-mipsel)internal_sigreturn@Base 7
--- /dev/null
+libvtv.so.0 libvtv0 #MINVER#
+ _Z10__vtv_freePv@Base 4.9.0
+ (arch=amd64)_Z12__vtv_mallocm@Base 4.9.0
+ (arch=i386)_Z12__vtv_mallocj@Base 4.9.0
+ _Z14__VLTDumpStatsv@Base 4.9.0
+ _Z14__vtv_open_logPKc@Base 4.9.0
+ (arch=amd64)_Z16__VLTRegisterSetPPvPKvmmS0_@Base 4.9.0
+ (arch=i386)_Z16__VLTRegisterSetPPvPKvjjS0_@Base 4.9.0
+ _Z16__vtv_add_to_logiPKcz@Base 4.9.0
+ (arch=amd64)_Z17__VLTRegisterPairPPvPKvmS2_@Base 4.9.0
+ (arch=i386)_Z17__VLTRegisterPairPPvPKvjS2_@Base 4.9.0
+ _Z17__vtv_malloc_initv@Base 4.9.0
+ _Z17__vtv_really_failPKc@Base 4.9.0
+ _Z17__vtv_verify_failPPvPKv@Base 4.9.0
+ _Z18__vtv_malloc_statsv@Base 4.9.0
+ _Z20__vtv_malloc_protectv@Base 4.9.0
+ (arch=amd64)_Z21__VLTRegisterSetDebugPPvPKvmmS0_@Base 4.9.0
+ (arch=i386)_Z21__VLTRegisterSetDebugPPvPKvjjS0_@Base 4.9.0
+ (arch=amd64)_Z22__VLTRegisterPairDebugPPvPKvmS2_PKcS4_@Base 4.9.0
+ (arch=i386)_Z22__VLTRegisterPairDebugPPvPKvjS2_PKcS4_@Base 4.9.0
+ _Z22__vtv_malloc_unprotectv@Base 4.9.0
+ _Z23__vtv_malloc_dump_statsv@Base 4.9.0
+ _Z23__vtv_verify_fail_debugPPvPKvPKc@Base 4.9.0
+ (arch=amd64)_Z23search_cached_file_datam@Base 4.9.0
+ (arch=i386)_Z23search_cached_file_dataj@Base 4.9.0
+ _Z24__VLTVerifyVtablePointerPPvPKv@Base 4.9.0
+ _Z25__vtv_count_mmapped_pagesv@Base 4.9.0
+ _Z29__VLTVerifyVtablePointerDebugPPvPKvPKcS4_@Base 4.9.0
+ _Z30__vtv_log_verification_failurePKcb@Base 4.9.0
+ (arch=amd64)_ZN20insert_only_hash_mapIPPN21insert_only_hash_setsIm9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE12put_internalEPKNS8_8key_typeERKS6_b@Base 4.9.0
+ (arch=amd64)_ZN20insert_only_hash_mapIPPN21insert_only_hash_setsIm9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE15find_or_add_keyEPKNS8_8key_typeEPPS6_@Base 4.9.0
+ (arch=amd64)_ZN20insert_only_hash_mapIPPN21insert_only_hash_setsIm9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE16destructive_copyEv@Base 4.9.0
+ (arch=amd64)_ZN20insert_only_hash_mapIPPN21insert_only_hash_setsIm9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE3putEPKNS8_8key_typeERKS6_@Base 4.9.0
+ (arch=amd64)_ZN20insert_only_hash_mapIPPN21insert_only_hash_setsIm9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE6createEm@Base 4.9.0
+ (arch=amd64)_ZN20insert_only_hash_mapIPPN21insert_only_hash_setsIm9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE7destroyEPS8_@Base 4.9.0
+ (arch=amd64)_ZNK20insert_only_hash_mapIPPN21insert_only_hash_setsIm9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE11is_too_fullEm@Base 4.9.0
+ (arch=amd64)_ZNK20insert_only_hash_mapIPPN21insert_only_hash_setsIm9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE12bucket_countEv@Base 4.9.0
+ (arch=amd64)_ZNK20insert_only_hash_mapIPPN21insert_only_hash_setsIm9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE3getEPKNS8_8key_typeE@Base 4.9.0
+ (arch=amd64)_ZNK20insert_only_hash_mapIPPN21insert_only_hash_setsIm9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE4sizeEv@Base 4.9.0
+ (arch=amd64)_ZNK20insert_only_hash_mapIPPN21insert_only_hash_setsIm9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE5emptyEv@Base 4.9.0
+ (arch=amd64)_ZNK20insert_only_hash_mapIPPN21insert_only_hash_setsIm9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE8key_type6equalsEPKS9_@Base 4.9.0
+ (arch=i386)_ZN20insert_only_hash_mapIPPN21insert_only_hash_setsIj9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE12put_internalEPKNS8_8key_typeERKS6_b@Base 4.9.0
+ (arch=i386)_ZN20insert_only_hash_mapIPPN21insert_only_hash_setsIj9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE15find_or_add_keyEPKNS8_8key_typeEPPS6_@Base 4.9.0
+ (arch=i386)_ZN20insert_only_hash_mapIPPN21insert_only_hash_setsIj9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE16destructive_copyEv@Base 4.9.0
+ (arch=i386)_ZN20insert_only_hash_mapIPPN21insert_only_hash_setsIj9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE3putEPKNS8_8key_typeERKS6_@Base 4.9.0
+ (arch=i386)_ZN20insert_only_hash_mapIPPN21insert_only_hash_setsIj9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE6createEj@Base 4.9.0
+ (arch=i386)_ZN20insert_only_hash_mapIPPN21insert_only_hash_setsIj9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE7destroyEPS8_@Base 4.9.0
+ (arch=i386)_ZNK20insert_only_hash_mapIPPN21insert_only_hash_setsIj9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE11is_too_fullEj@Base 4.9.0
+ (arch=i386)_ZNK20insert_only_hash_mapIPPN21insert_only_hash_setsIj9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE12bucket_countEv@Base 4.9.0
+ (arch=i386)_ZNK20insert_only_hash_mapIPPN21insert_only_hash_setsIj9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE3getEPKNS8_8key_typeE@Base 4.9.0
+ (arch=i386)_ZNK20insert_only_hash_mapIPPN21insert_only_hash_setsIj9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE4sizeEv@Base 4.9.0
+ (arch=i386)_ZNK20insert_only_hash_mapIPPN21insert_only_hash_setsIj9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE5emptyEv@Base 4.9.0
+ (arch=i386)_ZNK20insert_only_hash_mapIPPN21insert_only_hash_setsIj9vptr_hash14vptr_set_allocE20insert_only_hash_setE30insert_only_hash_map_allocatorE8key_type6equalsEPKS9_@Base 4.9.0
+ __VLTChangePermission@Base 4.9.0
+ __VLTprotect@Base 4.9.0
+ __VLTunprotect@Base 4.9.0
+ _vtable_map_vars_end@Base 4.9.0
+ _vtable_map_vars_start@Base 4.9.0
+ mprotect_cycles@Base 4.9.0
+ num_cache_entries@Base 4.9.0
+ num_calls_to_mprotect@Base 4.9.0
+ num_calls_to_regpair@Base 4.9.0
+ num_calls_to_regset@Base 4.9.0
+ num_calls_to_verify_vtable@Base 4.9.0
+ num_pages_protected@Base 4.9.0
+ regpair_cycles@Base 4.9.0
+ regset_cycles@Base 4.9.0
+ verify_vtable_cycles@Base 4.9.0
--- /dev/null
+# automake gets it wrong for the multilib build
+libx32asan5 binary: binary-or-shlib-defines-rpath
--- /dev/null
+libasan.so.5 libx32asan5 #MINVER#
+#include "libasan.symbols.common"
+#include "libasan.symbols.32"
+#include "libasan.symbols.16"
--- /dev/null
+# no multilib zlib for x32
+libx32gphobos68 binary: embedded-library
--- /dev/null
+libstdc++.so.6 libx32stdc++6 #MINVER#
+#include "libstdc++6.symbols.32bit"
+#include "libstdc++6.symbols.128bit"
+#include "libstdc++6.symbols.excprop"
+#include "libstdc++6.symbols.money.ldbl"
+ __gxx_personality_v0@CXXABI_1.3 4.1.1
+ _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3
+ _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3
+#(optional)_Z16__VLTRegisterSetPPvPKvjjS0_@CXXABI_1.3.8 4.9.0
+#(optional)_Z17__VLTRegisterPairPPvPKvjS2_@CXXABI_1.3.8 4.9.0
+#(optional)_Z21__VLTRegisterSetDebugPPvPKvjjS0_@CXXABI_1.3.8 4.9.0
+#(optional)_Z22__VLTRegisterPairDebugPPvPKvjS2_PKcS4_@CXXABI_1.3.8 4.9.0
+#(optional)_Z24__VLTVerifyVtablePointerPPvPKv@CXXABI_1.3.8 4.9.0
+#(optional)_Z29__VLTVerifyVtablePointerDebugPPvPKvPKcS4_@CXXABI_1.3.8 4.9.0
+#(optional)__VLTChangePermission@CXXABI_1.3.8 4.9.0
+ _ZTIPKn@CXXABI_1.3.5 4.9.0
+ _ZTIPKo@CXXABI_1.3.5 4.9.0
+ _ZTIPn@CXXABI_1.3.5 4.9.0
+ _ZTIPo@CXXABI_1.3.5 4.9.0
+ _ZTIn@CXXABI_1.3.5 4.9.0
+ _ZTIo@CXXABI_1.3.5 4.9.0
+ _ZTSPKn@CXXABI_1.3.9 4.9.0
+ _ZTSPKo@CXXABI_1.3.9 4.9.0
+ _ZTSPn@CXXABI_1.3.9 4.9.0
+ _ZTSPo@CXXABI_1.3.9 4.9.0
+ _ZTSn@CXXABI_1.3.9 4.9.0
+ _ZTSo@CXXABI_1.3.9 4.9.0
--- /dev/null
+#!/bin/sh
+
+# generate locales that the libstdc++ testsuite depends on
+
+LOCPATH=`pwd`/locales
+export LOCPATH
+
+[ -d $LOCPATH ] || mkdir -p $LOCPATH
+
+[ -n "$USE_CPUS" ] || USE_CPUS=1
+
+umask 022
+
+echo "Generating locales..."
+xargs -L 1 -P $USE_CPUS -I{} \
+ sh -c '
+ set {}; locale=$1; charset=$2
+ case $locale in \#*) exit;; esac
+ [ -n "$locale" -a -n "$charset" ] || exit
+ echo " `echo $locale | sed \"s/\([^.\@]*\).*/\1/\"`.$charset`echo $locale | sed \"s/\([^\@]*\)\(\@.*\)*/\2/\"`..."
+ if [ -f $LOCPATH/$locale ]; then
+ input=$locale
+ else
+ input=`echo $locale | sed "s/\([^.]*\)[^@]*\(.*\)/\1\2/"`
+ fi
+ localedef -i $input -c -f $charset $LOCPATH/$locale #-A /etc/locale.alias
+ ' <<EOF
+de_DE ISO-8859-1
+de_DE@euro ISO-8859-15
+en_HK ISO-8859-1
+en_PH ISO-8859-1
+en_US ISO-8859-1
+en_US.ISO-8859-1 ISO-8859-1
+en_US.ISO-8859-15 ISO-8859-15
+en_US.UTF-8 UTF-8
+es_ES ISO-8859-1
+es_MX ISO-8859-1
+fr_FR ISO-8859-1
+fr_FR@euro ISO-8859-15
+is_IS ISO-8859-1
+is_IS.UTF-8 UTF-8
+it_IT ISO-8859-1
+ja_JP.eucjp EUC-JP
+nl_NL ISO-8859-1
+se_NO.UTF-8 UTF-8
+ta_IN UTF-8
+zh_TW BIG5
+zh_TW UTF-8
+EOF
+
+echo "Generation complete."
--- /dev/null
+#! /bin/sh
+
+# script to trick the build daemons and output something, if there is
+# still test/build activity
+
+# $1: primary file to watch. if there is activity on this file, we do nothing
+# $2+: files to watch to look for activity despite no output in $1
+# if the files are modified or are newly created, then the message
+# is printed on stdout.
+# if nothing is modified, don't output anything (so the buildd timeout
+# hits).
+
+pidfile=logwatch.pid
+timeout=3600
+message='\nlogwatch still running\n'
+
+usage()
+{
+ echo >&2 "usage: `basename $0` [-p <pidfile>] [-t <timeout>] [-m <message>]"
+ echo >&2 " <logfile> [<logfile> ...]"
+ exit 1
+}
+
+while [ $# -gt 0 ]; do
+ case $1 in
+ -p)
+ pidfile=$2
+ shift
+ shift
+ ;;
+ -t)
+ timeout=$2
+ shift
+ shift
+ ;;
+ -m)
+ message="$2"
+ shift
+ shift
+ ;;
+ -*)
+ usage
+ ;;
+ *)
+ break
+ esac
+done
+
+[ $# -gt 0 ] || usage
+
+logfile="$1"
+shift
+otherlogs="$@"
+
+cleanup()
+{
+ rm -f $pidfile
+ exit 0
+}
+
+#trap cleanup 0 1 3 15
+
+echo $$ > $pidfile
+
+update()
+{
+ _logvar=$1
+ _othervar=$2
+
+ # logfile may not exist yet
+ if [ -r $logfile ]; then
+ _logtail="`tail -10 $logfile | md5sum` $f"
+ else
+ _logtail="does not exist: $logfile"
+ fi
+ eval $_logvar="'$_logtail'"
+
+ _othertails=''
+ for f in $otherlogs; do
+ if [ -r $f ]; then
+ _othertails="$_othertails `tail -10 $f | md5sum` $f"
+ else
+ _othertails="$_othertails does not exist: $f"
+ fi
+ done
+ eval $_othervar="'$_othertails'"
+}
+
+update logtail othertails
+while true; do
+ sleep $timeout
+ update newlogtail newothertails
+ if [ "$logtail" != "$newlogtail" ]; then
+ # there is still action in the primary logfile. do nothing.
+ logtail="$newlogtail"
+ elif [ "$othertails" != "$newothertails" ]; then
+ # there is still action in the other log files, so print the message
+ /bin/echo -e $message
+ othertails="$newothertails"
+ else
+ # nothing changed in the other log files. maybe a timeout ...
+ :
+ fi
+done
--- /dev/null
+From: Ludovic Brenta <lbrenta@debian.org>
+From: Nicolas Boulenguez <nicolas@debian.org>
+Forwarded: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81087
+Bug-Debian: http://bugs.debian.org/749574
+Description: array index out of range in gnatlink
+ The procedure gnatlink assumes that the Linker_Options.Table contains access
+ values to strings whose 'First index is always 1. This assumption is wrong
+ for the string returned by function Base_Name.
+ .
+ The wrong indices are not detected because gnatlink is compiled with
+ -gnatp, but the test result is wrong.
+ .
+ The following program normally raises Constraint_Error, prints FALSE
+ if compiled with -gnatp, while the expected result is TRUE.
+ .
+ procedure A is
+ G : constant String (3 .. 5) := "abc";
+ begin
+ Ada.Text_IO.Put_Line (Boolean'Image (G (1 .. 2) = "ab"));
+ end A;
+
+Index: b/src/gcc/ada/gnatlink.adb
+===================================================================
+--- a/src/gcc/ada/gnatlink.adb
++++ b/src/gcc/ada/gnatlink.adb
+@@ -238,6 +238,9 @@ procedure Gnatlink is
+ procedure Write_Usage;
+ -- Show user the program options
+
++ function Starts_With (Source, Pattern : String) return Boolean;
++ pragma Inline (Starts_With);
++
+ ---------------
+ -- Base_Name --
+ ---------------
+@@ -494,7 +497,7 @@ procedure Gnatlink is
+ Binder_Options.Table (Binder_Options.Last) :=
+ Linker_Options.Table (Linker_Options.Last);
+
+- elsif Arg'Length >= 7 and then Arg (1 .. 7) = "--LINK=" then
++ elsif Starts_With (Arg, "--LINK=") then
+ if Arg'Length = 7 then
+ Exit_With_Error ("Missing argument for --LINK=");
+ end if;
+@@ -528,7 +531,7 @@ procedure Gnatlink is
+ end loop;
+ end;
+
+- elsif Arg'Length >= 6 and then Arg (1 .. 6) = "--GCC=" then
++ elsif Starts_With (Arg, "--GCC=") then
+ if Arg'Length = 6 then
+ Exit_With_Error ("Missing argument for --GCC=");
+ end if;
+@@ -1253,13 +1256,9 @@ procedure Gnatlink is
+ 1 .. Linker_Options.Last
+ loop
+ if Linker_Options.Table (J) /= null
+- and then
+- Linker_Options.Table (J)'Length
+- > Run_Path_Opt'Length
+- and then
+- Linker_Options.Table (J)
+- (1 .. Run_Path_Opt'Length) =
+- Run_Path_Opt
++ and then Starts_With
++ (Linker_Options.Table (J).all,
++ Run_Path_Opt)
+ then
+ -- We have found an already
+ -- specified run_path_option:
+@@ -1376,6 +1375,17 @@ procedure Gnatlink is
+ Status := fclose (Fd);
+ end Process_Binder_File;
+
++ ----------------
++ -- StartsWith --
++ ----------------
++
++ function Starts_With (Source, Pattern : String) return Boolean is
++ Last : constant Natural := Source'First + Pattern'Length - 1;
++ begin
++ return Last <= Source'Last
++ and then Pattern = Source (Source'First .. Last);
++ end Starts_With;
++
+ -----------
+ -- Usage --
+ -----------
+@@ -1888,8 +1898,8 @@ begin
+ while J <= Linker_Options.Last loop
+ if Linker_Options.Table (J).all = "-Xlinker"
+ and then J < Linker_Options.Last
+- and then Linker_Options.Table (J + 1)'Length > 8
+- and then Linker_Options.Table (J + 1) (1 .. 8) = "--stack="
++ and then Starts_With (Linker_Options.Table (J + 1).all,
++ "--stack=")
+ then
+ if Stack_Op then
+ Linker_Options.Table (J .. Linker_Options.Last - 2) :=
+@@ -1920,13 +1930,9 @@ begin
+ -- Here we just check for a canonical form that matches the
+ -- pragma Linker_Options set in the NT runtime.
+
+- if (Linker_Options.Table (J)'Length > 17
+- and then Linker_Options.Table (J) (1 .. 17) =
+- "-Xlinker --stack=")
+- or else
+- (Linker_Options.Table (J)'Length > 12
+- and then Linker_Options.Table (J) (1 .. 12) =
+- "-Wl,--stack=")
++ if Starts_With (Linker_Options.Table (J).all, "-Xlinker --stack=")
++ or else Starts_With (Linker_Options.Table (J).all,
++ "-Wl,--stack=")
+ then
+ if Stack_Op then
+ Linker_Options.Table (J .. Linker_Options.Last - 1) :=
--- /dev/null
+DP: Improve support for ZCX on arm.
+
+Index: b/src/gcc/ada/gcc-interface/Makefile.in
+===================================================================
+--- a/src/gcc/ada/gcc-interface/Makefile.in
++++ b/src/gcc/ada/gcc-interface/Makefile.in
+@@ -1595,7 +1595,10 @@ ifeq ($(strip $(filter-out arm% linux-gn
+ ifeq ($(strip $(filter-out arm%b,$(target_cpu))),)
+ EH_MECHANISM=
+ else
+- EH_MECHANISM=-arm
++ # Special case; the GCC exception mechanism is supported under
++ # another name and with different files than for other
++ # target_cpus.
++ override EH_MECHANISM=-arm
+ endif
+
+ TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-gnu.adb
--- /dev/null
+Description: link libgnat with libatomic on armel
+ On other architectures, the link step does not change because we link
+ with --as-needed (ada-link-lib.diff).
+ .
+ Libatomic becomes an artificial dependency for Ada in Makefile.def,
+ so a better solution is welcome.
+ .
+ Please read ada-changes-in-autogen-output.diff about src/Makefile.def.
+ .
+ TODO: if this caused by ada-arm.diff, merge the two patches.
+Bug-Debian: https://bugs.debian.org/861734
+Author: Matthias Klose <doko@debian.org>
+Author: Nicolas Boulenguez <nicolas@debian.org>
+
+Index: b/src/gcc/ada/gcc-interface/Makefile.in
+===================================================================
+--- a/src/gcc/ada/gcc-interface/Makefile.in
++++ b/src/gcc/ada/gcc-interface/Makefile.in
+@@ -1580,6 +1580,7 @@ endif
+
+ # ARM linux, GNU eabi
+ ifeq ($(strip $(filter-out arm% linux-gnueabi%,$(target_cpu) $(target_os))),)
++ MISCLIB = -L../../../$(target_alias)/libatomic/.libs -latomic
+ LIBGNAT_TARGET_PAIRS = \
+ a-intnam.ads<libgnarl/a-intnam__linux.ads \
+ s-inmaop.adb<libgnarl/s-inmaop__posix.adb \
+Index: b/src/Makefile.def
+===================================================================
+--- a/src/Makefile.def
++++ b/src/Makefile.def
+@@ -398,6 +398,8 @@ dependencies = { module=all-gnattools; o
+ dependencies = { module=all-gnattools; on=all-target-libgnatvsn; };
+ dependencies = { module=all-target-libgnatvsn; on=all-target-libada; };
+
++dependencies = { module=all-target-libada; on=all-target-libatomic; };
++
+ // Depending on the specific configuration, the LTO plugin will either use the
+ // generic libiberty build or the specific build for linker plugins.
+ dependencies = { module=all-lto-plugin; on=all-libiberty; };
--- /dev/null
+Some patches modify src/Makefile.def or src/Makefile.tpl.
+# grep -l '^--- .*/src/Makefile.[\(def\)\(tpl\)]' debian/patches/*.diff
+
+Ideally, src/Makefile.in should be regenerated with autogen as done
+for autoconf, but we attempt to avoid to Build-Depend: autogen, which
+then Depends: guile by storing the changes in this patch.
+
+Please update it when necessary.
+# export QUILT_PATCHES=debian/patches
+# quilt pop ada-changes-in-autogen-output.diff
+# quilt add src/Makefile.in
+# (cd src && autogen Makefile.def)
+# quilt refresh --no-timestamps --no-index -pab
+# quilt push -a
+
+--- a/src/Makefile.in
++++ b/src/Makefile.in
+@@ -1024,6 +1024,8 @@ configure-target: \
+ maybe-configure-target-zlib \
+ maybe-configure-target-rda \
+ maybe-configure-target-libada \
++ maybe-configure-target-libgnatvsn \
++ maybe-configure-target-libada-sjlj \
+ maybe-configure-target-libgomp \
+ maybe-configure-target-libitm \
+ maybe-configure-target-libatomic
+@@ -1190,6 +1192,8 @@ all-target: maybe-all-target-libffi
+ all-target: maybe-all-target-zlib
+ all-target: maybe-all-target-rda
+ all-target: maybe-all-target-libada
++all-target: maybe-all-target-libgnatvsn
++all-target: maybe-all-target-libada-sjlj
+ @if target-libgomp-no-bootstrap
+ all-target: maybe-all-target-libgomp
+ @endif target-libgomp-no-bootstrap
+@@ -1283,6 +1287,8 @@ info-target: maybe-info-target-libffi
+ info-target: maybe-info-target-zlib
+ info-target: maybe-info-target-rda
+ info-target: maybe-info-target-libada
++info-target: maybe-info-target-libgnatvsn
++info-target: maybe-info-target-libada-sjlj
+ info-target: maybe-info-target-libgomp
+ info-target: maybe-info-target-libitm
+ info-target: maybe-info-target-libatomic
+@@ -1369,6 +1375,8 @@ dvi-target: maybe-dvi-target-libffi
+ dvi-target: maybe-dvi-target-zlib
+ dvi-target: maybe-dvi-target-rda
+ dvi-target: maybe-dvi-target-libada
++dvi-target: maybe-dvi-target-libgnatvsn
++dvi-target: maybe-dvi-target-libada-sjlj
+ dvi-target: maybe-dvi-target-libgomp
+ dvi-target: maybe-dvi-target-libitm
+ dvi-target: maybe-dvi-target-libatomic
+@@ -1455,6 +1463,8 @@ pdf-target: maybe-pdf-target-libffi
+ pdf-target: maybe-pdf-target-zlib
+ pdf-target: maybe-pdf-target-rda
+ pdf-target: maybe-pdf-target-libada
++pdf-target: maybe-pdf-target-libgnatvsn
++pdf-target: maybe-pdf-target-libada-sjlj
+ pdf-target: maybe-pdf-target-libgomp
+ pdf-target: maybe-pdf-target-libitm
+ pdf-target: maybe-pdf-target-libatomic
+@@ -1541,6 +1551,8 @@ html-target: maybe-html-target-libffi
+ html-target: maybe-html-target-zlib
+ html-target: maybe-html-target-rda
+ html-target: maybe-html-target-libada
++html-target: maybe-html-target-libgnatvsn
++html-target: maybe-html-target-libada-sjlj
+ html-target: maybe-html-target-libgomp
+ html-target: maybe-html-target-libitm
+ html-target: maybe-html-target-libatomic
+@@ -1627,6 +1639,8 @@ TAGS-target: maybe-TAGS-target-libffi
+ TAGS-target: maybe-TAGS-target-zlib
+ TAGS-target: maybe-TAGS-target-rda
+ TAGS-target: maybe-TAGS-target-libada
++TAGS-target: maybe-TAGS-target-libgnatvsn
++TAGS-target: maybe-TAGS-target-libada-sjlj
+ TAGS-target: maybe-TAGS-target-libgomp
+ TAGS-target: maybe-TAGS-target-libitm
+ TAGS-target: maybe-TAGS-target-libatomic
+@@ -1713,6 +1727,8 @@ install-info-target: maybe-install-info-
+ install-info-target: maybe-install-info-target-zlib
+ install-info-target: maybe-install-info-target-rda
+ install-info-target: maybe-install-info-target-libada
++install-info-target: maybe-install-info-target-libgnatvsn
++install-info-target: maybe-install-info-target-libada-sjlj
+ install-info-target: maybe-install-info-target-libgomp
+ install-info-target: maybe-install-info-target-libitm
+ install-info-target: maybe-install-info-target-libatomic
+@@ -1799,6 +1815,8 @@ install-pdf-target: maybe-install-pdf-ta
+ install-pdf-target: maybe-install-pdf-target-zlib
+ install-pdf-target: maybe-install-pdf-target-rda
+ install-pdf-target: maybe-install-pdf-target-libada
++install-pdf-target: maybe-install-pdf-target-libgnatvsn
++install-pdf-target: maybe-install-pdf-target-libada-sjlj
+ install-pdf-target: maybe-install-pdf-target-libgomp
+ install-pdf-target: maybe-install-pdf-target-libitm
+ install-pdf-target: maybe-install-pdf-target-libatomic
+@@ -1885,6 +1903,8 @@ install-html-target: maybe-install-html-
+ install-html-target: maybe-install-html-target-zlib
+ install-html-target: maybe-install-html-target-rda
+ install-html-target: maybe-install-html-target-libada
++install-html-target: maybe-install-html-target-libgnatvsn
++install-html-target: maybe-install-html-target-libada-sjlj
+ install-html-target: maybe-install-html-target-libgomp
+ install-html-target: maybe-install-html-target-libitm
+ install-html-target: maybe-install-html-target-libatomic
+@@ -1971,6 +1991,8 @@ installcheck-target: maybe-installcheck-
+ installcheck-target: maybe-installcheck-target-zlib
+ installcheck-target: maybe-installcheck-target-rda
+ installcheck-target: maybe-installcheck-target-libada
++installcheck-target: maybe-installcheck-target-libgnatvsn
++installcheck-target: maybe-installcheck-target-libada-sjlj
+ installcheck-target: maybe-installcheck-target-libgomp
+ installcheck-target: maybe-installcheck-target-libitm
+ installcheck-target: maybe-installcheck-target-libatomic
+@@ -2057,6 +2079,8 @@ mostlyclean-target: maybe-mostlyclean-ta
+ mostlyclean-target: maybe-mostlyclean-target-zlib
+ mostlyclean-target: maybe-mostlyclean-target-rda
+ mostlyclean-target: maybe-mostlyclean-target-libada
++mostlyclean-target: maybe-mostlyclean-target-libgnatvsn
++mostlyclean-target: maybe-mostlyclean-target-libada-sjlj
+ mostlyclean-target: maybe-mostlyclean-target-libgomp
+ mostlyclean-target: maybe-mostlyclean-target-libitm
+ mostlyclean-target: maybe-mostlyclean-target-libatomic
+@@ -2143,6 +2167,8 @@ clean-target: maybe-clean-target-libffi
+ clean-target: maybe-clean-target-zlib
+ clean-target: maybe-clean-target-rda
+ clean-target: maybe-clean-target-libada
++clean-target: maybe-clean-target-libgnatvsn
++clean-target: maybe-clean-target-libada-sjlj
+ clean-target: maybe-clean-target-libgomp
+ clean-target: maybe-clean-target-libitm
+ clean-target: maybe-clean-target-libatomic
+@@ -2229,6 +2255,8 @@ distclean-target: maybe-distclean-target
+ distclean-target: maybe-distclean-target-zlib
+ distclean-target: maybe-distclean-target-rda
+ distclean-target: maybe-distclean-target-libada
++distclean-target: maybe-distclean-target-libgnatvsn
++distclean-target: maybe-distclean-target-libada-sjlj
+ distclean-target: maybe-distclean-target-libgomp
+ distclean-target: maybe-distclean-target-libitm
+ distclean-target: maybe-distclean-target-libatomic
+@@ -2315,6 +2343,8 @@ maintainer-clean-target: maybe-maintaine
+ maintainer-clean-target: maybe-maintainer-clean-target-zlib
+ maintainer-clean-target: maybe-maintainer-clean-target-rda
+ maintainer-clean-target: maybe-maintainer-clean-target-libada
++maintainer-clean-target: maybe-maintainer-clean-target-libgnatvsn
++maintainer-clean-target: maybe-maintainer-clean-target-libada-sjlj
+ maintainer-clean-target: maybe-maintainer-clean-target-libgomp
+ maintainer-clean-target: maybe-maintainer-clean-target-libitm
+ maintainer-clean-target: maybe-maintainer-clean-target-libatomic
+@@ -2457,6 +2487,8 @@ check-target: \
+ maybe-check-target-zlib \
+ maybe-check-target-rda \
+ maybe-check-target-libada \
++ maybe-check-target-libgnatvsn \
++ maybe-check-target-libada-sjlj \
+ maybe-check-target-libgomp \
+ maybe-check-target-libitm \
+ maybe-check-target-libatomic
+@@ -2639,6 +2671,8 @@ install-target: \
+ maybe-install-target-zlib \
+ maybe-install-target-rda \
+ maybe-install-target-libada \
++ maybe-install-target-libgnatvsn \
++ maybe-install-target-libada-sjlj \
+ maybe-install-target-libgomp \
+ maybe-install-target-libitm \
+ maybe-install-target-libatomic
+@@ -2745,6 +2779,8 @@ install-strip-target: \
+ maybe-install-strip-target-zlib \
+ maybe-install-strip-target-rda \
+ maybe-install-strip-target-libada \
++ maybe-install-strip-target-libgnatvsn \
++ maybe-install-strip-target-libada-sjlj \
+ maybe-install-strip-target-libgomp \
+ maybe-install-strip-target-libitm \
+ maybe-install-strip-target-libatomic
+@@ -35517,12 +35553,6 @@ maybe-check-gnattools:
+ maybe-check-gnattools: check-gnattools
+
+ check-gnattools:
+- @: $(MAKE); $(unstage)
+- @r=`${PWD_COMMAND}`; export r; \
+- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+- $(HOST_EXPORTS) \
+- (cd $(HOST_SUBDIR)/gnattools && \
+- $(MAKE) $(FLAGS_TO_PASS) check)
+
+ @endif gnattools
+
+@@ -35563,24 +35593,8 @@ maybe-info-gnattools:
+ @if gnattools
+ maybe-info-gnattools: info-gnattools
+
+-info-gnattools: \
+- configure-gnattools
+- @: $(MAKE); $(unstage)
+- @[ -f ./gnattools/Makefile ] || exit 0; \
+- r=`${PWD_COMMAND}`; export r; \
+- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+- $(HOST_EXPORTS) \
+- for flag in $(EXTRA_HOST_FLAGS) ; do \
+- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+- done; \
+- echo "Doing info in gnattools"; \
+- (cd $(HOST_SUBDIR)/gnattools && \
+- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+- "RANLIB=$${RANLIB}" \
+- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+- info) \
+- || exit 1
++# gnattools doesn't support info.
++info-gnattools:
+
+ @endif gnattools
+
+@@ -35589,24 +35603,8 @@ maybe-dvi-gnattools:
+ @if gnattools
+ maybe-dvi-gnattools: dvi-gnattools
+
+-dvi-gnattools: \
+- configure-gnattools
+- @: $(MAKE); $(unstage)
+- @[ -f ./gnattools/Makefile ] || exit 0; \
+- r=`${PWD_COMMAND}`; export r; \
+- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+- $(HOST_EXPORTS) \
+- for flag in $(EXTRA_HOST_FLAGS) ; do \
+- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+- done; \
+- echo "Doing dvi in gnattools"; \
+- (cd $(HOST_SUBDIR)/gnattools && \
+- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+- "RANLIB=$${RANLIB}" \
+- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+- dvi) \
+- || exit 1
++# gnattools doesn't support dvi.
++dvi-gnattools:
+
+ @endif gnattools
+
+@@ -35615,24 +35613,8 @@ maybe-pdf-gnattools:
+ @if gnattools
+ maybe-pdf-gnattools: pdf-gnattools
+
+-pdf-gnattools: \
+- configure-gnattools
+- @: $(MAKE); $(unstage)
+- @[ -f ./gnattools/Makefile ] || exit 0; \
+- r=`${PWD_COMMAND}`; export r; \
+- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+- $(HOST_EXPORTS) \
+- for flag in $(EXTRA_HOST_FLAGS) ; do \
+- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+- done; \
+- echo "Doing pdf in gnattools"; \
+- (cd $(HOST_SUBDIR)/gnattools && \
+- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+- "RANLIB=$${RANLIB}" \
+- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+- pdf) \
+- || exit 1
++# gnattools doesn't support pdf.
++pdf-gnattools:
+
+ @endif gnattools
+
+@@ -35641,24 +35623,8 @@ maybe-html-gnattools:
+ @if gnattools
+ maybe-html-gnattools: html-gnattools
+
+-html-gnattools: \
+- configure-gnattools
+- @: $(MAKE); $(unstage)
+- @[ -f ./gnattools/Makefile ] || exit 0; \
+- r=`${PWD_COMMAND}`; export r; \
+- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+- $(HOST_EXPORTS) \
+- for flag in $(EXTRA_HOST_FLAGS) ; do \
+- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+- done; \
+- echo "Doing html in gnattools"; \
+- (cd $(HOST_SUBDIR)/gnattools && \
+- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+- "RANLIB=$${RANLIB}" \
+- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+- html) \
+- || exit 1
++# gnattools doesn't support html.
++html-gnattools:
+
+ @endif gnattools
+
+@@ -35667,24 +35633,8 @@ maybe-TAGS-gnattools:
+ @if gnattools
+ maybe-TAGS-gnattools: TAGS-gnattools
+
+-TAGS-gnattools: \
+- configure-gnattools
+- @: $(MAKE); $(unstage)
+- @[ -f ./gnattools/Makefile ] || exit 0; \
+- r=`${PWD_COMMAND}`; export r; \
+- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+- $(HOST_EXPORTS) \
+- for flag in $(EXTRA_HOST_FLAGS) ; do \
+- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+- done; \
+- echo "Doing TAGS in gnattools"; \
+- (cd $(HOST_SUBDIR)/gnattools && \
+- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+- "RANLIB=$${RANLIB}" \
+- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+- TAGS) \
+- || exit 1
++# gnattools doesn't support TAGS.
++TAGS-gnattools:
+
+ @endif gnattools
+
+@@ -35693,25 +35643,8 @@ maybe-install-info-gnattools:
+ @if gnattools
+ maybe-install-info-gnattools: install-info-gnattools
+
+-install-info-gnattools: \
+- configure-gnattools \
+- info-gnattools
+- @: $(MAKE); $(unstage)
+- @[ -f ./gnattools/Makefile ] || exit 0; \
+- r=`${PWD_COMMAND}`; export r; \
+- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+- $(HOST_EXPORTS) \
+- for flag in $(EXTRA_HOST_FLAGS) ; do \
+- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+- done; \
+- echo "Doing install-info in gnattools"; \
+- (cd $(HOST_SUBDIR)/gnattools && \
+- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+- "RANLIB=$${RANLIB}" \
+- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+- install-info) \
+- || exit 1
++# gnattools doesn't support install-info.
++install-info-gnattools:
+
+ @endif gnattools
+
+@@ -35720,25 +35653,8 @@ maybe-install-pdf-gnattools:
+ @if gnattools
+ maybe-install-pdf-gnattools: install-pdf-gnattools
+
+-install-pdf-gnattools: \
+- configure-gnattools \
+- pdf-gnattools
+- @: $(MAKE); $(unstage)
+- @[ -f ./gnattools/Makefile ] || exit 0; \
+- r=`${PWD_COMMAND}`; export r; \
+- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+- $(HOST_EXPORTS) \
+- for flag in $(EXTRA_HOST_FLAGS) ; do \
+- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+- done; \
+- echo "Doing install-pdf in gnattools"; \
+- (cd $(HOST_SUBDIR)/gnattools && \
+- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+- "RANLIB=$${RANLIB}" \
+- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+- install-pdf) \
+- || exit 1
++# gnattools doesn't support install-pdf.
++install-pdf-gnattools:
+
+ @endif gnattools
+
+@@ -35747,25 +35663,8 @@ maybe-install-html-gnattools:
+ @if gnattools
+ maybe-install-html-gnattools: install-html-gnattools
+
+-install-html-gnattools: \
+- configure-gnattools \
+- html-gnattools
+- @: $(MAKE); $(unstage)
+- @[ -f ./gnattools/Makefile ] || exit 0; \
+- r=`${PWD_COMMAND}`; export r; \
+- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+- $(HOST_EXPORTS) \
+- for flag in $(EXTRA_HOST_FLAGS) ; do \
+- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+- done; \
+- echo "Doing install-html in gnattools"; \
+- (cd $(HOST_SUBDIR)/gnattools && \
+- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+- "RANLIB=$${RANLIB}" \
+- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+- install-html) \
+- || exit 1
++# gnattools doesn't support install-html.
++install-html-gnattools:
+
+ @endif gnattools
+
+@@ -35774,24 +35673,8 @@ maybe-installcheck-gnattools:
+ @if gnattools
+ maybe-installcheck-gnattools: installcheck-gnattools
+
+-installcheck-gnattools: \
+- configure-gnattools
+- @: $(MAKE); $(unstage)
+- @[ -f ./gnattools/Makefile ] || exit 0; \
+- r=`${PWD_COMMAND}`; export r; \
+- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+- $(HOST_EXPORTS) \
+- for flag in $(EXTRA_HOST_FLAGS) ; do \
+- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+- done; \
+- echo "Doing installcheck in gnattools"; \
+- (cd $(HOST_SUBDIR)/gnattools && \
+- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+- "RANLIB=$${RANLIB}" \
+- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+- installcheck) \
+- || exit 1
++# gnattools doesn't support installcheck.
++installcheck-gnattools:
+
+ @endif gnattools
+
+@@ -51433,13 +51316,8 @@ maybe-check-target-libada:
+ @if target-libada
+ maybe-check-target-libada: check-target-libada
+
++# Dummy target for uncheckable module.
+ check-target-libada:
+- @: $(MAKE); $(unstage)
+- @r=`${PWD_COMMAND}`; export r; \
+- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+- $(NORMAL_TARGET_EXPORTS) \
+- (cd $(TARGET_SUBDIR)/libada && \
+- $(MAKE) $(TARGET_FLAGS_TO_PASS) check)
+
+ @endif target-libada
+
+@@ -51448,13 +51326,8 @@ maybe-install-target-libada:
+ @if target-libada
+ maybe-install-target-libada: install-target-libada
+
+-install-target-libada: installdirs
+- @: $(MAKE); $(unstage)
+- @r=`${PWD_COMMAND}`; export r; \
+- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+- $(NORMAL_TARGET_EXPORTS) \
+- (cd $(TARGET_SUBDIR)/libada && \
+- $(MAKE) $(TARGET_FLAGS_TO_PASS) install)
++# Dummy target for uninstallable.
++install-target-libada:
+
+ @endif target-libada
+
+@@ -51463,13 +51336,8 @@ maybe-install-strip-target-libada:
+ @if target-libada
+ maybe-install-strip-target-libada: install-strip-target-libada
+
+-install-strip-target-libada: installdirs
+- @: $(MAKE); $(unstage)
+- @r=`${PWD_COMMAND}`; export r; \
+- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+- $(NORMAL_TARGET_EXPORTS) \
+- (cd $(TARGET_SUBDIR)/libada && \
+- $(MAKE) $(TARGET_FLAGS_TO_PASS) install-strip)
++# Dummy target for uninstallable.
++install-strip-target-libada:
+
+ @endif target-libada
+
+@@ -51480,14 +51348,103 @@ maybe-info-target-libada:
+ @if target-libada
+ maybe-info-target-libada: info-target-libada
+
+-info-target-libada: \
+- configure-target-libada
++# libada doesn't support info.
++info-target-libada:
++
++@endif target-libada
++
++.PHONY: maybe-dvi-target-libada dvi-target-libada
++maybe-dvi-target-libada:
++@if target-libada
++maybe-dvi-target-libada: dvi-target-libada
++
++# libada doesn't support dvi.
++dvi-target-libada:
++
++@endif target-libada
++
++.PHONY: maybe-pdf-target-libada pdf-target-libada
++maybe-pdf-target-libada:
++@if target-libada
++maybe-pdf-target-libada: pdf-target-libada
++
++# libada doesn't support pdf.
++pdf-target-libada:
++
++@endif target-libada
++
++.PHONY: maybe-html-target-libada html-target-libada
++maybe-html-target-libada:
++@if target-libada
++maybe-html-target-libada: html-target-libada
++
++# libada doesn't support html.
++html-target-libada:
++
++@endif target-libada
++
++.PHONY: maybe-TAGS-target-libada TAGS-target-libada
++maybe-TAGS-target-libada:
++@if target-libada
++maybe-TAGS-target-libada: TAGS-target-libada
++
++# libada doesn't support TAGS.
++TAGS-target-libada:
++
++@endif target-libada
++
++.PHONY: maybe-install-info-target-libada install-info-target-libada
++maybe-install-info-target-libada:
++@if target-libada
++maybe-install-info-target-libada: install-info-target-libada
++
++# libada doesn't support install-info.
++install-info-target-libada:
++
++@endif target-libada
++
++.PHONY: maybe-install-pdf-target-libada install-pdf-target-libada
++maybe-install-pdf-target-libada:
++@if target-libada
++maybe-install-pdf-target-libada: install-pdf-target-libada
++
++# libada doesn't support install-pdf.
++install-pdf-target-libada:
++
++@endif target-libada
++
++.PHONY: maybe-install-html-target-libada install-html-target-libada
++maybe-install-html-target-libada:
++@if target-libada
++maybe-install-html-target-libada: install-html-target-libada
++
++# libada doesn't support install-html.
++install-html-target-libada:
++
++@endif target-libada
++
++.PHONY: maybe-installcheck-target-libada installcheck-target-libada
++maybe-installcheck-target-libada:
++@if target-libada
++maybe-installcheck-target-libada: installcheck-target-libada
++
++# libada doesn't support installcheck.
++installcheck-target-libada:
++
++@endif target-libada
++
++.PHONY: maybe-mostlyclean-target-libada mostlyclean-target-libada
++maybe-mostlyclean-target-libada:
++@if target-libada
++maybe-mostlyclean-target-libada: mostlyclean-target-libada
++
++mostlyclean-target-libada:
+ @: $(MAKE); $(unstage)
+ @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+- echo "Doing info in $(TARGET_SUBDIR)/libada"; \
++ echo "Doing mostlyclean in $(TARGET_SUBDIR)/libada"; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+@@ -51496,24 +51453,23 @@ info-target-libada: \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+- info) \
++ mostlyclean) \
+ || exit 1
+
+ @endif target-libada
+
+-.PHONY: maybe-dvi-target-libada dvi-target-libada
+-maybe-dvi-target-libada:
++.PHONY: maybe-clean-target-libada clean-target-libada
++maybe-clean-target-libada:
+ @if target-libada
+-maybe-dvi-target-libada: dvi-target-libada
++maybe-clean-target-libada: clean-target-libada
+
+-dvi-target-libada: \
+- configure-target-libada
++clean-target-libada:
+ @: $(MAKE); $(unstage)
+ @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+- echo "Doing dvi in $(TARGET_SUBDIR)/libada"; \
++ echo "Doing clean in $(TARGET_SUBDIR)/libada"; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+@@ -51522,24 +51478,23 @@ dvi-target-libada: \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+- dvi) \
++ clean) \
+ || exit 1
+
+ @endif target-libada
+
+-.PHONY: maybe-pdf-target-libada pdf-target-libada
+-maybe-pdf-target-libada:
++.PHONY: maybe-distclean-target-libada distclean-target-libada
++maybe-distclean-target-libada:
+ @if target-libada
+-maybe-pdf-target-libada: pdf-target-libada
++maybe-distclean-target-libada: distclean-target-libada
+
+-pdf-target-libada: \
+- configure-target-libada
++distclean-target-libada:
+ @: $(MAKE); $(unstage)
+ @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+- echo "Doing pdf in $(TARGET_SUBDIR)/libada"; \
++ echo "Doing distclean in $(TARGET_SUBDIR)/libada"; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+@@ -51548,24 +51503,23 @@ pdf-target-libada: \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+- pdf) \
++ distclean) \
+ || exit 1
+
+ @endif target-libada
+
+-.PHONY: maybe-html-target-libada html-target-libada
+-maybe-html-target-libada:
++.PHONY: maybe-maintainer-clean-target-libada maintainer-clean-target-libada
++maybe-maintainer-clean-target-libada:
+ @if target-libada
+-maybe-html-target-libada: html-target-libada
++maybe-maintainer-clean-target-libada: maintainer-clean-target-libada
+
+-html-target-libada: \
+- configure-target-libada
++maintainer-clean-target-libada:
+ @: $(MAKE); $(unstage)
+ @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+- echo "Doing html in $(TARGET_SUBDIR)/libada"; \
++ echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libada"; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+@@ -51574,28 +51528,559 @@ html-target-libada: \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+- html) \
++ maintainer-clean) \
+ || exit 1
+
+ @endif target-libada
+
+-.PHONY: maybe-TAGS-target-libada TAGS-target-libada
+-maybe-TAGS-target-libada:
+-@if target-libada
+-maybe-TAGS-target-libada: TAGS-target-libada
+
+-TAGS-target-libada: \
+- configure-target-libada
++
++
++
++.PHONY: configure-target-libgnatvsn maybe-configure-target-libgnatvsn
++maybe-configure-target-libgnatvsn:
++@if gcc-bootstrap
++configure-target-libgnatvsn: stage_current
++@endif gcc-bootstrap
++@if target-libgnatvsn
++maybe-configure-target-libgnatvsn: configure-target-libgnatvsn
++configure-target-libgnatvsn:
+ @: $(MAKE); $(unstage)
+- @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0; \
++ @r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ echo "Checking multilib configuration for libgnatvsn..."; \
++ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgnatvsn; \
++ $(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libgnatvsn/multilib.tmp 2> /dev/null; \
++ if test -r $(TARGET_SUBDIR)/libgnatvsn/multilib.out; then \
++ if cmp -s $(TARGET_SUBDIR)/libgnatvsn/multilib.tmp $(TARGET_SUBDIR)/libgnatvsn/multilib.out; then \
++ rm -f $(TARGET_SUBDIR)/libgnatvsn/multilib.tmp; \
++ else \
++ rm -f $(TARGET_SUBDIR)/libgnatvsn/Makefile; \
++ mv $(TARGET_SUBDIR)/libgnatvsn/multilib.tmp $(TARGET_SUBDIR)/libgnatvsn/multilib.out; \
++ fi; \
++ else \
++ mv $(TARGET_SUBDIR)/libgnatvsn/multilib.tmp $(TARGET_SUBDIR)/libgnatvsn/multilib.out; \
++ fi; \
++ test ! -f $(TARGET_SUBDIR)/libgnatvsn/Makefile || exit 0; \
++ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgnatvsn; \
++ $(NORMAL_TARGET_EXPORTS) \
++ echo Configuring in $(TARGET_SUBDIR)/libgnatvsn; \
++ cd "$(TARGET_SUBDIR)/libgnatvsn" || exit 1; \
++ case $(srcdir) in \
++ /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
++ *) topdir=`echo $(TARGET_SUBDIR)/libgnatvsn/ | \
++ sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
++ esac; \
++ module_srcdir=libgnatvsn; \
++ rm -f no-such-file || : ; \
++ CONFIG_SITE=no-such-file $(SHELL) \
++ $$s/$$module_srcdir/configure \
++ --srcdir=$${topdir}/$$module_srcdir \
++ $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
++ --target=${target_alias} \
++ || exit 1
++@endif target-libgnatvsn
++
++
++
++
++
++.PHONY: all-target-libgnatvsn maybe-all-target-libgnatvsn
++maybe-all-target-libgnatvsn:
++@if gcc-bootstrap
++all-target-libgnatvsn: stage_current
++@endif gcc-bootstrap
++@if target-libgnatvsn
++TARGET-target-libgnatvsn=all
++maybe-all-target-libgnatvsn: all-target-libgnatvsn
++all-target-libgnatvsn: configure-target-libgnatvsn
++ @: $(MAKE); $(unstage)
++ @r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(NORMAL_TARGET_EXPORTS) \
++ (cd $(TARGET_SUBDIR)/libgnatvsn && \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS) \
++ $(TARGET-target-libgnatvsn))
++@endif target-libgnatvsn
++
++
++
++
++
++.PHONY: check-target-libgnatvsn maybe-check-target-libgnatvsn
++maybe-check-target-libgnatvsn:
++@if target-libgnatvsn
++maybe-check-target-libgnatvsn: check-target-libgnatvsn
++
++# Dummy target for uncheckable module.
++check-target-libgnatvsn:
++
++@endif target-libgnatvsn
++
++.PHONY: install-target-libgnatvsn maybe-install-target-libgnatvsn
++maybe-install-target-libgnatvsn:
++@if target-libgnatvsn
++maybe-install-target-libgnatvsn: install-target-libgnatvsn
++
++install-target-libgnatvsn: installdirs
++ @: $(MAKE); $(unstage)
++ @r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(NORMAL_TARGET_EXPORTS) \
++ (cd $(TARGET_SUBDIR)/libgnatvsn && \
++ $(MAKE) $(TARGET_FLAGS_TO_PASS) install)
++
++@endif target-libgnatvsn
++
++.PHONY: install-strip-target-libgnatvsn maybe-install-strip-target-libgnatvsn
++maybe-install-strip-target-libgnatvsn:
++@if target-libgnatvsn
++maybe-install-strip-target-libgnatvsn: install-strip-target-libgnatvsn
++
++install-strip-target-libgnatvsn: installdirs
++ @: $(MAKE); $(unstage)
++ @r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(NORMAL_TARGET_EXPORTS) \
++ (cd $(TARGET_SUBDIR)/libgnatvsn && \
++ $(MAKE) $(TARGET_FLAGS_TO_PASS) install-strip)
++
++@endif target-libgnatvsn
++
++# Other targets (info, dvi, pdf, etc.)
++
++.PHONY: maybe-info-target-libgnatvsn info-target-libgnatvsn
++maybe-info-target-libgnatvsn:
++@if target-libgnatvsn
++maybe-info-target-libgnatvsn: info-target-libgnatvsn
++
++# libgnatvsn doesn't support info.
++info-target-libgnatvsn:
++
++@endif target-libgnatvsn
++
++.PHONY: maybe-dvi-target-libgnatvsn dvi-target-libgnatvsn
++maybe-dvi-target-libgnatvsn:
++@if target-libgnatvsn
++maybe-dvi-target-libgnatvsn: dvi-target-libgnatvsn
++
++# libgnatvsn doesn't support dvi.
++dvi-target-libgnatvsn:
++
++@endif target-libgnatvsn
++
++.PHONY: maybe-pdf-target-libgnatvsn pdf-target-libgnatvsn
++maybe-pdf-target-libgnatvsn:
++@if target-libgnatvsn
++maybe-pdf-target-libgnatvsn: pdf-target-libgnatvsn
++
++# libgnatvsn doesn't support pdf.
++pdf-target-libgnatvsn:
++
++@endif target-libgnatvsn
++
++.PHONY: maybe-html-target-libgnatvsn html-target-libgnatvsn
++maybe-html-target-libgnatvsn:
++@if target-libgnatvsn
++maybe-html-target-libgnatvsn: html-target-libgnatvsn
++
++# libgnatvsn doesn't support html.
++html-target-libgnatvsn:
++
++@endif target-libgnatvsn
++
++.PHONY: maybe-TAGS-target-libgnatvsn TAGS-target-libgnatvsn
++maybe-TAGS-target-libgnatvsn:
++@if target-libgnatvsn
++maybe-TAGS-target-libgnatvsn: TAGS-target-libgnatvsn
++
++# libgnatvsn doesn't support TAGS.
++TAGS-target-libgnatvsn:
++
++@endif target-libgnatvsn
++
++.PHONY: maybe-install-info-target-libgnatvsn install-info-target-libgnatvsn
++maybe-install-info-target-libgnatvsn:
++@if target-libgnatvsn
++maybe-install-info-target-libgnatvsn: install-info-target-libgnatvsn
++
++# libgnatvsn doesn't support install-info.
++install-info-target-libgnatvsn:
++
++@endif target-libgnatvsn
++
++.PHONY: maybe-install-pdf-target-libgnatvsn install-pdf-target-libgnatvsn
++maybe-install-pdf-target-libgnatvsn:
++@if target-libgnatvsn
++maybe-install-pdf-target-libgnatvsn: install-pdf-target-libgnatvsn
++
++# libgnatvsn doesn't support install-pdf.
++install-pdf-target-libgnatvsn:
++
++@endif target-libgnatvsn
++
++.PHONY: maybe-install-html-target-libgnatvsn install-html-target-libgnatvsn
++maybe-install-html-target-libgnatvsn:
++@if target-libgnatvsn
++maybe-install-html-target-libgnatvsn: install-html-target-libgnatvsn
++
++# libgnatvsn doesn't support install-html.
++install-html-target-libgnatvsn:
++
++@endif target-libgnatvsn
++
++.PHONY: maybe-installcheck-target-libgnatvsn installcheck-target-libgnatvsn
++maybe-installcheck-target-libgnatvsn:
++@if target-libgnatvsn
++maybe-installcheck-target-libgnatvsn: installcheck-target-libgnatvsn
++
++# libgnatvsn doesn't support installcheck.
++installcheck-target-libgnatvsn:
++
++@endif target-libgnatvsn
++
++.PHONY: maybe-mostlyclean-target-libgnatvsn mostlyclean-target-libgnatvsn
++maybe-mostlyclean-target-libgnatvsn:
++@if target-libgnatvsn
++maybe-mostlyclean-target-libgnatvsn: mostlyclean-target-libgnatvsn
++
++mostlyclean-target-libgnatvsn:
++ @: $(MAKE); $(unstage)
++ @[ -f $(TARGET_SUBDIR)/libgnatvsn/Makefile ] || exit 0; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+- echo "Doing TAGS in $(TARGET_SUBDIR)/libada"; \
++ echo "Doing mostlyclean in $(TARGET_SUBDIR)/libgnatvsn"; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+- (cd $(TARGET_SUBDIR)/libada && \
++ (cd $(TARGET_SUBDIR)/libgnatvsn && \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
++ "RANLIB=$${RANLIB}" \
++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
++ mostlyclean) \
++ || exit 1
++
++@endif target-libgnatvsn
++
++.PHONY: maybe-clean-target-libgnatvsn clean-target-libgnatvsn
++maybe-clean-target-libgnatvsn:
++@if target-libgnatvsn
++maybe-clean-target-libgnatvsn: clean-target-libgnatvsn
++
++clean-target-libgnatvsn:
++ @: $(MAKE); $(unstage)
++ @[ -f $(TARGET_SUBDIR)/libgnatvsn/Makefile ] || exit 0; \
++ r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(NORMAL_TARGET_EXPORTS) \
++ echo "Doing clean in $(TARGET_SUBDIR)/libgnatvsn"; \
++ for flag in $(EXTRA_TARGET_FLAGS); do \
++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
++ done; \
++ (cd $(TARGET_SUBDIR)/libgnatvsn && \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
++ "RANLIB=$${RANLIB}" \
++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
++ clean) \
++ || exit 1
++
++@endif target-libgnatvsn
++
++.PHONY: maybe-distclean-target-libgnatvsn distclean-target-libgnatvsn
++maybe-distclean-target-libgnatvsn:
++@if target-libgnatvsn
++maybe-distclean-target-libgnatvsn: distclean-target-libgnatvsn
++
++distclean-target-libgnatvsn:
++ @: $(MAKE); $(unstage)
++ @[ -f $(TARGET_SUBDIR)/libgnatvsn/Makefile ] || exit 0; \
++ r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(NORMAL_TARGET_EXPORTS) \
++ echo "Doing distclean in $(TARGET_SUBDIR)/libgnatvsn"; \
++ for flag in $(EXTRA_TARGET_FLAGS); do \
++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
++ done; \
++ (cd $(TARGET_SUBDIR)/libgnatvsn && \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
++ "RANLIB=$${RANLIB}" \
++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
++ distclean) \
++ || exit 1
++
++@endif target-libgnatvsn
++
++.PHONY: maybe-maintainer-clean-target-libgnatvsn maintainer-clean-target-libgnatvsn
++maybe-maintainer-clean-target-libgnatvsn:
++@if target-libgnatvsn
++maybe-maintainer-clean-target-libgnatvsn: maintainer-clean-target-libgnatvsn
++
++maintainer-clean-target-libgnatvsn:
++ @: $(MAKE); $(unstage)
++ @[ -f $(TARGET_SUBDIR)/libgnatvsn/Makefile ] || exit 0; \
++ r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(NORMAL_TARGET_EXPORTS) \
++ echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libgnatvsn"; \
++ for flag in $(EXTRA_TARGET_FLAGS); do \
++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
++ done; \
++ (cd $(TARGET_SUBDIR)/libgnatvsn && \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
++ "RANLIB=$${RANLIB}" \
++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
++ maintainer-clean) \
++ || exit 1
++
++@endif target-libgnatvsn
++
++
++
++
++
++.PHONY: configure-target-libada-sjlj maybe-configure-target-libada-sjlj
++maybe-configure-target-libada-sjlj:
++@if gcc-bootstrap
++configure-target-libada-sjlj: stage_current
++@endif gcc-bootstrap
++@if target-libada-sjlj
++maybe-configure-target-libada-sjlj: configure-target-libada-sjlj
++configure-target-libada-sjlj:
++ @: $(MAKE); $(unstage)
++ @r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ echo "Checking multilib configuration for libada-sjlj..."; \
++ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libada-sjlj; \
++ $(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libada-sjlj/multilib.tmp 2> /dev/null; \
++ if test -r $(TARGET_SUBDIR)/libada-sjlj/multilib.out; then \
++ if cmp -s $(TARGET_SUBDIR)/libada-sjlj/multilib.tmp $(TARGET_SUBDIR)/libada-sjlj/multilib.out; then \
++ rm -f $(TARGET_SUBDIR)/libada-sjlj/multilib.tmp; \
++ else \
++ rm -f $(TARGET_SUBDIR)/libada-sjlj/Makefile; \
++ mv $(TARGET_SUBDIR)/libada-sjlj/multilib.tmp $(TARGET_SUBDIR)/libada-sjlj/multilib.out; \
++ fi; \
++ else \
++ mv $(TARGET_SUBDIR)/libada-sjlj/multilib.tmp $(TARGET_SUBDIR)/libada-sjlj/multilib.out; \
++ fi; \
++ test ! -f $(TARGET_SUBDIR)/libada-sjlj/Makefile || exit 0; \
++ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libada-sjlj; \
++ $(NORMAL_TARGET_EXPORTS) \
++ echo Configuring in $(TARGET_SUBDIR)/libada-sjlj; \
++ cd "$(TARGET_SUBDIR)/libada-sjlj" || exit 1; \
++ case $(srcdir) in \
++ /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
++ *) topdir=`echo $(TARGET_SUBDIR)/libada-sjlj/ | \
++ sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
++ esac; \
++ module_srcdir=libada-sjlj; \
++ rm -f no-such-file || : ; \
++ CONFIG_SITE=no-such-file $(SHELL) \
++ $$s/$$module_srcdir/configure \
++ --srcdir=$${topdir}/$$module_srcdir \
++ $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
++ --target=${target_alias} \
++ || exit 1
++@endif target-libada-sjlj
++
++
++
++
++
++.PHONY: all-target-libada-sjlj maybe-all-target-libada-sjlj
++maybe-all-target-libada-sjlj:
++@if gcc-bootstrap
++all-target-libada-sjlj: stage_current
++@endif gcc-bootstrap
++@if target-libada-sjlj
++TARGET-target-libada-sjlj=all
++maybe-all-target-libada-sjlj: all-target-libada-sjlj
++all-target-libada-sjlj: configure-target-libada-sjlj
++ @: $(MAKE); $(unstage)
++ @r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(NORMAL_TARGET_EXPORTS) \
++ (cd $(TARGET_SUBDIR)/libada-sjlj && \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS) \
++ $(TARGET-target-libada-sjlj))
++@endif target-libada-sjlj
++
++
++
++
++
++.PHONY: check-target-libada-sjlj maybe-check-target-libada-sjlj
++maybe-check-target-libada-sjlj:
++@if target-libada-sjlj
++maybe-check-target-libada-sjlj: check-target-libada-sjlj
++
++check-target-libada-sjlj:
++ @: $(MAKE); $(unstage)
++ @r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(NORMAL_TARGET_EXPORTS) \
++ (cd $(TARGET_SUBDIR)/libada-sjlj && \
++ $(MAKE) $(TARGET_FLAGS_TO_PASS) check)
++
++@endif target-libada-sjlj
++
++.PHONY: install-target-libada-sjlj maybe-install-target-libada-sjlj
++maybe-install-target-libada-sjlj:
++@if target-libada-sjlj
++maybe-install-target-libada-sjlj: install-target-libada-sjlj
++
++install-target-libada-sjlj: installdirs
++ @: $(MAKE); $(unstage)
++ @r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(NORMAL_TARGET_EXPORTS) \
++ (cd $(TARGET_SUBDIR)/libada-sjlj && \
++ $(MAKE) $(TARGET_FLAGS_TO_PASS) install)
++
++@endif target-libada-sjlj
++
++.PHONY: install-strip-target-libada-sjlj maybe-install-strip-target-libada-sjlj
++maybe-install-strip-target-libada-sjlj:
++@if target-libada-sjlj
++maybe-install-strip-target-libada-sjlj: install-strip-target-libada-sjlj
++
++install-strip-target-libada-sjlj: installdirs
++ @: $(MAKE); $(unstage)
++ @r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(NORMAL_TARGET_EXPORTS) \
++ (cd $(TARGET_SUBDIR)/libada-sjlj && \
++ $(MAKE) $(TARGET_FLAGS_TO_PASS) install-strip)
++
++@endif target-libada-sjlj
++
++# Other targets (info, dvi, pdf, etc.)
++
++.PHONY: maybe-info-target-libada-sjlj info-target-libada-sjlj
++maybe-info-target-libada-sjlj:
++@if target-libada-sjlj
++maybe-info-target-libada-sjlj: info-target-libada-sjlj
++
++info-target-libada-sjlj: \
++ configure-target-libada-sjlj
++ @: $(MAKE); $(unstage)
++ @[ -f $(TARGET_SUBDIR)/libada-sjlj/Makefile ] || exit 0; \
++ r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(NORMAL_TARGET_EXPORTS) \
++ echo "Doing info in $(TARGET_SUBDIR)/libada-sjlj"; \
++ for flag in $(EXTRA_TARGET_FLAGS); do \
++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
++ done; \
++ (cd $(TARGET_SUBDIR)/libada-sjlj && \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
++ "RANLIB=$${RANLIB}" \
++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
++ info) \
++ || exit 1
++
++@endif target-libada-sjlj
++
++.PHONY: maybe-dvi-target-libada-sjlj dvi-target-libada-sjlj
++maybe-dvi-target-libada-sjlj:
++@if target-libada-sjlj
++maybe-dvi-target-libada-sjlj: dvi-target-libada-sjlj
++
++dvi-target-libada-sjlj: \
++ configure-target-libada-sjlj
++ @: $(MAKE); $(unstage)
++ @[ -f $(TARGET_SUBDIR)/libada-sjlj/Makefile ] || exit 0; \
++ r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(NORMAL_TARGET_EXPORTS) \
++ echo "Doing dvi in $(TARGET_SUBDIR)/libada-sjlj"; \
++ for flag in $(EXTRA_TARGET_FLAGS); do \
++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
++ done; \
++ (cd $(TARGET_SUBDIR)/libada-sjlj && \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
++ "RANLIB=$${RANLIB}" \
++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
++ dvi) \
++ || exit 1
++
++@endif target-libada-sjlj
++
++.PHONY: maybe-pdf-target-libada-sjlj pdf-target-libada-sjlj
++maybe-pdf-target-libada-sjlj:
++@if target-libada-sjlj
++maybe-pdf-target-libada-sjlj: pdf-target-libada-sjlj
++
++pdf-target-libada-sjlj: \
++ configure-target-libada-sjlj
++ @: $(MAKE); $(unstage)
++ @[ -f $(TARGET_SUBDIR)/libada-sjlj/Makefile ] || exit 0; \
++ r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(NORMAL_TARGET_EXPORTS) \
++ echo "Doing pdf in $(TARGET_SUBDIR)/libada-sjlj"; \
++ for flag in $(EXTRA_TARGET_FLAGS); do \
++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
++ done; \
++ (cd $(TARGET_SUBDIR)/libada-sjlj && \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
++ "RANLIB=$${RANLIB}" \
++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
++ pdf) \
++ || exit 1
++
++@endif target-libada-sjlj
++
++.PHONY: maybe-html-target-libada-sjlj html-target-libada-sjlj
++maybe-html-target-libada-sjlj:
++@if target-libada-sjlj
++maybe-html-target-libada-sjlj: html-target-libada-sjlj
++
++html-target-libada-sjlj: \
++ configure-target-libada-sjlj
++ @: $(MAKE); $(unstage)
++ @[ -f $(TARGET_SUBDIR)/libada-sjlj/Makefile ] || exit 0; \
++ r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(NORMAL_TARGET_EXPORTS) \
++ echo "Doing html in $(TARGET_SUBDIR)/libada-sjlj"; \
++ for flag in $(EXTRA_TARGET_FLAGS); do \
++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
++ done; \
++ (cd $(TARGET_SUBDIR)/libada-sjlj && \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
++ "RANLIB=$${RANLIB}" \
++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
++ html) \
++ || exit 1
++
++@endif target-libada-sjlj
++
++.PHONY: maybe-TAGS-target-libada-sjlj TAGS-target-libada-sjlj
++maybe-TAGS-target-libada-sjlj:
++@if target-libada-sjlj
++maybe-TAGS-target-libada-sjlj: TAGS-target-libada-sjlj
++
++TAGS-target-libada-sjlj: \
++ configure-target-libada-sjlj
++ @: $(MAKE); $(unstage)
++ @[ -f $(TARGET_SUBDIR)/libada-sjlj/Makefile ] || exit 0; \
++ r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(NORMAL_TARGET_EXPORTS) \
++ echo "Doing TAGS in $(TARGET_SUBDIR)/libada-sjlj"; \
++ for flag in $(EXTRA_TARGET_FLAGS); do \
++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
++ done; \
++ (cd $(TARGET_SUBDIR)/libada-sjlj && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+@@ -51603,26 +52088,26 @@ TAGS-target-libada: \
+ TAGS) \
+ || exit 1
+
+-@endif target-libada
++@endif target-libada-sjlj
+
+-.PHONY: maybe-install-info-target-libada install-info-target-libada
+-maybe-install-info-target-libada:
+-@if target-libada
+-maybe-install-info-target-libada: install-info-target-libada
++.PHONY: maybe-install-info-target-libada-sjlj install-info-target-libada-sjlj
++maybe-install-info-target-libada-sjlj:
++@if target-libada-sjlj
++maybe-install-info-target-libada-sjlj: install-info-target-libada-sjlj
+
+-install-info-target-libada: \
+- configure-target-libada \
+- info-target-libada
++install-info-target-libada-sjlj: \
++ configure-target-libada-sjlj \
++ info-target-libada-sjlj
+ @: $(MAKE); $(unstage)
+- @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0; \
++ @[ -f $(TARGET_SUBDIR)/libada-sjlj/Makefile ] || exit 0; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+- echo "Doing install-info in $(TARGET_SUBDIR)/libada"; \
++ echo "Doing install-info in $(TARGET_SUBDIR)/libada-sjlj"; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+- (cd $(TARGET_SUBDIR)/libada && \
++ (cd $(TARGET_SUBDIR)/libada-sjlj && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+@@ -51630,26 +52115,26 @@ install-info-target-libada: \
+ install-info) \
+ || exit 1
+
+-@endif target-libada
++@endif target-libada-sjlj
+
+-.PHONY: maybe-install-pdf-target-libada install-pdf-target-libada
+-maybe-install-pdf-target-libada:
+-@if target-libada
+-maybe-install-pdf-target-libada: install-pdf-target-libada
++.PHONY: maybe-install-pdf-target-libada-sjlj install-pdf-target-libada-sjlj
++maybe-install-pdf-target-libada-sjlj:
++@if target-libada-sjlj
++maybe-install-pdf-target-libada-sjlj: install-pdf-target-libada-sjlj
+
+-install-pdf-target-libada: \
+- configure-target-libada \
+- pdf-target-libada
++install-pdf-target-libada-sjlj: \
++ configure-target-libada-sjlj \
++ pdf-target-libada-sjlj
+ @: $(MAKE); $(unstage)
+- @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0; \
++ @[ -f $(TARGET_SUBDIR)/libada-sjlj/Makefile ] || exit 0; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+- echo "Doing install-pdf in $(TARGET_SUBDIR)/libada"; \
++ echo "Doing install-pdf in $(TARGET_SUBDIR)/libada-sjlj"; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+- (cd $(TARGET_SUBDIR)/libada && \
++ (cd $(TARGET_SUBDIR)/libada-sjlj && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+@@ -51657,26 +52142,26 @@ install-pdf-target-libada: \
+ install-pdf) \
+ || exit 1
+
+-@endif target-libada
++@endif target-libada-sjlj
+
+-.PHONY: maybe-install-html-target-libada install-html-target-libada
+-maybe-install-html-target-libada:
+-@if target-libada
+-maybe-install-html-target-libada: install-html-target-libada
++.PHONY: maybe-install-html-target-libada-sjlj install-html-target-libada-sjlj
++maybe-install-html-target-libada-sjlj:
++@if target-libada-sjlj
++maybe-install-html-target-libada-sjlj: install-html-target-libada-sjlj
+
+-install-html-target-libada: \
+- configure-target-libada \
+- html-target-libada
++install-html-target-libada-sjlj: \
++ configure-target-libada-sjlj \
++ html-target-libada-sjlj
+ @: $(MAKE); $(unstage)
+- @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0; \
++ @[ -f $(TARGET_SUBDIR)/libada-sjlj/Makefile ] || exit 0; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+- echo "Doing install-html in $(TARGET_SUBDIR)/libada"; \
++ echo "Doing install-html in $(TARGET_SUBDIR)/libada-sjlj"; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+- (cd $(TARGET_SUBDIR)/libada && \
++ (cd $(TARGET_SUBDIR)/libada-sjlj && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+@@ -51684,25 +52169,25 @@ install-html-target-libada: \
+ install-html) \
+ || exit 1
+
+-@endif target-libada
++@endif target-libada-sjlj
+
+-.PHONY: maybe-installcheck-target-libada installcheck-target-libada
+-maybe-installcheck-target-libada:
+-@if target-libada
+-maybe-installcheck-target-libada: installcheck-target-libada
++.PHONY: maybe-installcheck-target-libada-sjlj installcheck-target-libada-sjlj
++maybe-installcheck-target-libada-sjlj:
++@if target-libada-sjlj
++maybe-installcheck-target-libada-sjlj: installcheck-target-libada-sjlj
+
+-installcheck-target-libada: \
+- configure-target-libada
++installcheck-target-libada-sjlj: \
++ configure-target-libada-sjlj
+ @: $(MAKE); $(unstage)
+- @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0; \
++ @[ -f $(TARGET_SUBDIR)/libada-sjlj/Makefile ] || exit 0; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+- echo "Doing installcheck in $(TARGET_SUBDIR)/libada"; \
++ echo "Doing installcheck in $(TARGET_SUBDIR)/libada-sjlj"; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+- (cd $(TARGET_SUBDIR)/libada && \
++ (cd $(TARGET_SUBDIR)/libada-sjlj && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+@@ -51710,24 +52195,24 @@ installcheck-target-libada: \
+ installcheck) \
+ || exit 1
+
+-@endif target-libada
++@endif target-libada-sjlj
+
+-.PHONY: maybe-mostlyclean-target-libada mostlyclean-target-libada
+-maybe-mostlyclean-target-libada:
+-@if target-libada
+-maybe-mostlyclean-target-libada: mostlyclean-target-libada
++.PHONY: maybe-mostlyclean-target-libada-sjlj mostlyclean-target-libada-sjlj
++maybe-mostlyclean-target-libada-sjlj:
++@if target-libada-sjlj
++maybe-mostlyclean-target-libada-sjlj: mostlyclean-target-libada-sjlj
+
+-mostlyclean-target-libada:
++mostlyclean-target-libada-sjlj:
+ @: $(MAKE); $(unstage)
+- @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0; \
++ @[ -f $(TARGET_SUBDIR)/libada-sjlj/Makefile ] || exit 0; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+- echo "Doing mostlyclean in $(TARGET_SUBDIR)/libada"; \
++ echo "Doing mostlyclean in $(TARGET_SUBDIR)/libada-sjlj"; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+- (cd $(TARGET_SUBDIR)/libada && \
++ (cd $(TARGET_SUBDIR)/libada-sjlj && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+@@ -51735,24 +52220,24 @@ mostlyclean-target-libada:
+ mostlyclean) \
+ || exit 1
+
+-@endif target-libada
++@endif target-libada-sjlj
+
+-.PHONY: maybe-clean-target-libada clean-target-libada
+-maybe-clean-target-libada:
+-@if target-libada
+-maybe-clean-target-libada: clean-target-libada
++.PHONY: maybe-clean-target-libada-sjlj clean-target-libada-sjlj
++maybe-clean-target-libada-sjlj:
++@if target-libada-sjlj
++maybe-clean-target-libada-sjlj: clean-target-libada-sjlj
+
+-clean-target-libada:
++clean-target-libada-sjlj:
+ @: $(MAKE); $(unstage)
+- @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0; \
++ @[ -f $(TARGET_SUBDIR)/libada-sjlj/Makefile ] || exit 0; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+- echo "Doing clean in $(TARGET_SUBDIR)/libada"; \
++ echo "Doing clean in $(TARGET_SUBDIR)/libada-sjlj"; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+- (cd $(TARGET_SUBDIR)/libada && \
++ (cd $(TARGET_SUBDIR)/libada-sjlj && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+@@ -51760,24 +52245,24 @@ clean-target-libada:
+ clean) \
+ || exit 1
+
+-@endif target-libada
++@endif target-libada-sjlj
+
+-.PHONY: maybe-distclean-target-libada distclean-target-libada
+-maybe-distclean-target-libada:
+-@if target-libada
+-maybe-distclean-target-libada: distclean-target-libada
++.PHONY: maybe-distclean-target-libada-sjlj distclean-target-libada-sjlj
++maybe-distclean-target-libada-sjlj:
++@if target-libada-sjlj
++maybe-distclean-target-libada-sjlj: distclean-target-libada-sjlj
+
+-distclean-target-libada:
++distclean-target-libada-sjlj:
+ @: $(MAKE); $(unstage)
+- @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0; \
++ @[ -f $(TARGET_SUBDIR)/libada-sjlj/Makefile ] || exit 0; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+- echo "Doing distclean in $(TARGET_SUBDIR)/libada"; \
++ echo "Doing distclean in $(TARGET_SUBDIR)/libada-sjlj"; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+- (cd $(TARGET_SUBDIR)/libada && \
++ (cd $(TARGET_SUBDIR)/libada-sjlj && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+@@ -51785,24 +52270,24 @@ distclean-target-libada:
+ distclean) \
+ || exit 1
+
+-@endif target-libada
++@endif target-libada-sjlj
+
+-.PHONY: maybe-maintainer-clean-target-libada maintainer-clean-target-libada
+-maybe-maintainer-clean-target-libada:
+-@if target-libada
+-maybe-maintainer-clean-target-libada: maintainer-clean-target-libada
++.PHONY: maybe-maintainer-clean-target-libada-sjlj maintainer-clean-target-libada-sjlj
++maybe-maintainer-clean-target-libada-sjlj:
++@if target-libada-sjlj
++maybe-maintainer-clean-target-libada-sjlj: maintainer-clean-target-libada-sjlj
+
+-maintainer-clean-target-libada:
++maintainer-clean-target-libada-sjlj:
+ @: $(MAKE); $(unstage)
+- @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0; \
++ @[ -f $(TARGET_SUBDIR)/libada-sjlj/Makefile ] || exit 0; \
+ r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+- echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libada"; \
++ echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libada-sjlj"; \
+ for flag in $(EXTRA_TARGET_FLAGS); do \
+ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ done; \
+- (cd $(TARGET_SUBDIR)/libada && \
++ (cd $(TARGET_SUBDIR)/libada-sjlj && \
+ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ "RANLIB=$${RANLIB}" \
+@@ -51810,7 +52295,7 @@ maintainer-clean-target-libada:
+ maintainer-clean) \
+ || exit 1
+
+-@endif target-libada
++@endif target-libada-sjlj
+
+
+
+@@ -57288,6 +57773,8 @@ configure-target-libffi: stage_last
+ configure-target-zlib: stage_last
+ configure-target-rda: stage_last
+ configure-target-libada: stage_last
++configure-target-libgnatvsn: stage_last
++configure-target-libada-sjlj: stage_last
+ configure-stage1-target-libgomp: maybe-all-stage1-gcc
+ configure-stage2-target-libgomp: maybe-all-stage2-gcc
+ configure-stage3-target-libgomp: maybe-all-stage3-gcc
+@@ -57324,6 +57811,8 @@ configure-target-libffi: maybe-all-gcc
+ configure-target-zlib: maybe-all-gcc
+ configure-target-rda: maybe-all-gcc
+ configure-target-libada: maybe-all-gcc
++configure-target-libgnatvsn: maybe-all-gcc
++configure-target-libada-sjlj: maybe-all-gcc
+ configure-target-libgomp: maybe-all-gcc
+ configure-target-libitm: maybe-all-gcc
+ configure-target-libatomic: maybe-all-gcc
+@@ -57821,8 +58310,13 @@ all-stagetrain-fixincludes: maybe-all-st
+ all-stagefeedback-fixincludes: maybe-all-stagefeedback-libiberty
+ all-stageautoprofile-fixincludes: maybe-all-stageautoprofile-libiberty
+ all-stageautofeedback-fixincludes: maybe-all-stageautofeedback-libiberty
++all-target-libada: maybe-all-gcc
++all-target-libada-sjlj: maybe-all-target-libada
+ all-gnattools: maybe-all-target-libada
+ all-gnattools: maybe-all-target-libstdc++-v3
++all-gnattools: maybe-all-target-libgnatvsn
++all-target-libgnatvsn: maybe-all-target-libada
++all-target-libada: maybe-all-target-libatomic
+ all-lto-plugin: maybe-all-libiberty
+
+ all-stage1-lto-plugin: maybe-all-stage1-libiberty
+@@ -58580,6 +59074,8 @@ configure-target-libffi: maybe-all-targe
+ configure-target-zlib: maybe-all-target-libgcc
+ configure-target-rda: maybe-all-target-libgcc
+ configure-target-libada: maybe-all-target-libgcc
++configure-target-libgnatvsn: maybe-all-target-libgcc
++configure-target-libada-sjlj: maybe-all-target-libgcc
+ configure-target-libgomp: maybe-all-target-libgcc
+ configure-target-libitm: maybe-all-target-libgcc
+ configure-target-libatomic: maybe-all-target-libgcc
+@@ -58629,6 +59125,10 @@ configure-target-rda: maybe-all-target-n
+
+ configure-target-libada: maybe-all-target-newlib maybe-all-target-libgloss
+
++configure-target-libgnatvsn: maybe-all-target-newlib maybe-all-target-libgloss
++
++configure-target-libada-sjlj: maybe-all-target-newlib maybe-all-target-libgloss
++
+ configure-target-libgomp: maybe-all-target-newlib maybe-all-target-libgloss
+
+ configure-target-libitm: maybe-all-target-newlib maybe-all-target-libgloss
--- /dev/null
+Description: ada/terminals.c: remove obsolete termio.h
+ On all architectures, the terminals.c source file #includes
+ <termios.h> and declares variables with type struct termios.
+ .
+ Some platforms provide a compatibility termio.h, which only defines
+ the termio structure.
+ .
+ terminals.c also #includes <termio.h>, probably for historical
+ reasons since no termio structure is ever used.
+ .
+ Drop the #include instead of maintaining a list of architectures.
+Author: Nicolas Boulenguez <nicolas@debian.org>
+Bug-Debian: https://bugs.debian.org/845159
+Forwarded: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81103
+
+Index: b/src/gcc/ada/terminals.c
+===================================================================
+--- a/src/gcc/ada/terminals.c
++++ b/src/gcc/ada/terminals.c
+@@ -1107,14 +1107,6 @@ __gnat_setup_winsize (void *desc, int ro
+ #include <errno.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+-
+-/* On some system termio is either absent or including it will disable termios
+- (HP-UX) */
+-#if !defined (__hpux__) && !defined (BSD) && !defined (__APPLE__) \
+- && !defined (__rtems__) && !defined (__QNXNTO__)
+-# include <termio.h>
+-#endif
+-
+ #include <sys/ioctl.h>
+ #include <termios.h>
+ #include <fcntl.h>
+@@ -1130,7 +1122,6 @@ __gnat_setup_winsize (void *desc, int ro
+ # include <sys/signal.h>
+ #endif
+ #if defined (__hpux__)
+-# include <sys/termio.h>
+ # include <sys/stropts.h>
+ #endif
+
--- /dev/null
+Description: always call gcc with an explicit target and version
+ Many problems have been caused by the fact that tools like gnatmake
+ call other tools like gcc without an explicit target or version.
+ .
+ In order to solve this issue for all similar tools at once, AdaCore
+ has created the Osint.Program_Name function. When gnatmake launches a
+ gcc subprocess, this function computes the name of the right gcc
+ executable. This patch improves the function in four ways.
+ .
+ The previous algorithm wrongly tests "End_Of_Prefix > 1",
+ which may happen even if a match has been found.
+ This part will most probably be of interest for upstream.
+ .
+ Update the gnatchop tool to use this function.
+ This part will most probably be of interest for upstream.
+ .
+ Check that the target and version in the gnatmake program name, if
+ present, match the static constants inside the gnatmake program
+ itself. Also, knowing the length of the only allowed prefix and suffix
+ slightly improves performance by avoiding loops.
+ This part will most probably be of interest for upstream.
+ .
+ In Debian, gcc/gcc-version/target-gcc are symbolic links to the
+ target-gcc-version executable. The same holds for gnatmake, but the
+ target and version may differ. So "target-gcc-version" is the right
+ answer. It helps log checkers and humans debuggers, even if gnatmake
+ was invoked via a shortcut intended for human typers.
+ This part will probably be hard to merge for upstream, as some
+ distributions provide no "target-gcc-version".
+ .
+ Log for bug 903694 carries regression tests for both bugs.
+Forwarded: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87777
+Bug-Debian: https://bugs.debian.org/814977
+Bug-Debian: https://bugs.debian.org/814978
+Bug-Debian: https://bugs.debian.org/856274
+Bug-Debian: https://bugs.debian.org/881938
+Bug-Debian: https://bugs.debian.org/903694
+Author: Ludovic Brenta <lbrenta@debian.org>
+Author: Nicolas Boulenguez <nicolas@debian.org>
+Author: Svante Signell <svante.signell@gmail.com>
+Author: YunQiang Su <wzssyqa@gmail.com>
+
+--- a/src/gcc/ada/osint.ads
++++ b/src/gcc/ada/osint.ads
+@@ -137,16 +137,10 @@
+ -- path) in Name_Buffer, with the length in Name_Len.
+
+ function Program_Name (Nam : String; Prog : String) return String_Access;
+- -- In the native compilation case, Create a string containing Nam. In the
+- -- cross compilation case, looks at the prefix of the current program being
+- -- run and prepend it to Nam. For instance if the program being run is
+- -- <target>-gnatmake and Nam is "gcc", the returned value will be a pointer
+- -- to "<target>-gcc". In the specific case where AAMP_On_Target is set, the
+- -- name "gcc" is mapped to "gnaamp", and names of the form "gnat*" are
+- -- mapped to "gnaamp*". This function clobbers Name_Buffer and Name_Len.
+- -- Also look at any suffix, e.g. gnatmake-4.1 -> "gcc-4.1". Prog is the
+- -- default name of the current program being executed, e.g. "gnatmake",
+- -- "gnatlink".
++ -- On Debian, always create a string containing
++ -- Sdefault.Target_Name & '-' & Nam & '-' & Gnatvsn.Library_Version.
++ -- Fail if the program base name differs from Prog,
++ -- maybe extended with the same prefix or suffix.
+
+ procedure Write_Program_Name;
+ -- Writes name of program as invoked to the current output (normally
+--- a/src/gcc/ada/osint.adb
++++ b/src/gcc/ada/osint.adb
+@@ -2205,51 +2205,51 @@
+ ------------------
+
+ function Program_Name (Nam : String; Prog : String) return String_Access is
+- End_Of_Prefix : Natural := 0;
+- Start_Of_Prefix : Positive := 1;
+- Start_Of_Suffix : Positive;
+-
++ -- Most of the work is to check that the current program name
++ -- is consistent with the two static constants below.
++ Suffix : constant String := '-' & Gnatvsn.Library_Version;
++ Prefix : Types.String_Ptr := Sdefault.Target_Name;
++ First : Integer;
++ Result : System.OS_Lib.String_Access;
+ begin
+ -- Get the name of the current program being executed
+-
+ Find_Program_Name;
+
+- Start_Of_Suffix := Name_Len + 1;
++ -- If our version is present, skip it.
++ First := Name_Len - Suffix'Length + 1;
++ if 0 < First and then Name_Buffer (First .. Name_Len) = Suffix then
++ Name_Len := First - 1;
++ end if;
++
++ -- The central part must be Prog.
++ First := Name_Len - Prog'Length + 1;
++ if First <= 0 or else Name_Buffer (First .. Name_Len) /= Prog then
++ Fail ("Osint.Program_Name: must end with " & Prog
++ & " or " & Prog & Suffix);
++ end if;
++ Name_Len := First - 1;
+
+- -- Find the target prefix if any, for the cross compilation case.
+- -- For instance in "powerpc-elf-gcc" the target prefix is
+- -- "powerpc-elf-"
+- -- Ditto for suffix, e.g. in "gcc-4.1", the suffix is "-4.1"
+-
+- for J in reverse 1 .. Name_Len loop
+- if Name_Buffer (J) = '/'
+- or else Name_Buffer (J) = Directory_Separator
+- or else Name_Buffer (J) = ':'
+- then
+- Start_Of_Prefix := J + 1;
+- exit;
+- end if;
+- end loop;
+-
+- -- Find End_Of_Prefix
+-
+- for J in Start_Of_Prefix .. Name_Len - Prog'Length + 1 loop
+- if Name_Buffer (J .. J + Prog'Length - 1) = Prog then
+- End_Of_Prefix := J - 1;
+- exit;
+- end if;
+- end loop;
++ -- According to Make-generated.in, this ends with a slash.
++ Prefix.all (Prefix.all'Last) := '-';
+
+- if End_Of_Prefix > 1 then
+- Start_Of_Suffix := End_Of_Prefix + Prog'Length + 1;
++ -- If our target is present, skip it.
++ First := Name_Len - Prefix.all'Length + 1;
++ if 0 < First and then Name_Buffer (First .. Name_Len) = Prefix.all then
++ Name_Len := First - 1;
+ end if;
+
+- -- Create the new program name
++ -- What remains must be the directory part.
++ if 0 < Name_Len
++ and then Name_Buffer (Name_Len) /= ':'
++ and then not Is_Directory_Separator (Name_Buffer (Name_Len))
++ then
++ Fail ("Osint.Program_Name: must start with " & Prog
++ & " or " & Prefix.all & Prog);
++ end if;
+
+- return new String'
+- (Name_Buffer (Start_Of_Prefix .. End_Of_Prefix)
+- & Nam
+- & Name_Buffer (Start_Of_Suffix .. Name_Len));
++ Result := new String'(Prefix.all & Nam & Suffix);
++ Types.Free (Prefix);
++ return Result;
+ end Program_Name;
+
+ ------------------------------
+--- a/src/gcc/ada/gnatchop.adb
++++ b/src/gcc/ada/gnatchop.adb
+@@ -36,6 +36,7 @@
+ with GNAT.Heap_Sort_G;
+ with GNAT.Table;
+
++with Osint;
+ with Switch; use Switch;
+ with Types;
+
+@@ -44,12 +45,9 @@
+ Config_File_Name : constant String_Access := new String'("gnat.adc");
+ -- The name of the file holding the GNAT configuration pragmas
+
+- Gcc : String_Access := new String'("gcc");
++ Gcc : String_Access := null;
+ -- May be modified by switch --GCC=
+
+- Gcc_Set : Boolean := False;
+- -- True if a switch --GCC= is used
+-
+ Gnat_Cmd : String_Access;
+ -- Command to execute the GNAT compiler
+
+@@ -222,12 +220,6 @@
+ Integer'Image
+ (Maximum_File_Name_Length);
+
+- function Locate_Executable
+- (Program_Name : String;
+- Look_For_Prefix : Boolean := True) return String_Access;
+- -- Locate executable for given program name. This takes into account
+- -- the target-prefix of the current command, if Look_For_Prefix is True.
+-
+ subtype EOL_Length is Natural range 0 .. 2;
+ -- Possible lengths of end of line sequence
+
+@@ -492,76 +484,6 @@
+ Unit.Table (Sorted_Units.Table (U + 1)).File_Name.all;
+ end Is_Duplicated;
+
+- -----------------------
+- -- Locate_Executable --
+- -----------------------
+-
+- function Locate_Executable
+- (Program_Name : String;
+- Look_For_Prefix : Boolean := True) return String_Access
+- is
+- Gnatchop_Str : constant String := "gnatchop";
+- Current_Command : constant String := Normalize_Pathname (Command_Name);
+- End_Of_Prefix : Natural;
+- Start_Of_Prefix : Positive;
+- Start_Of_Suffix : Positive;
+- Result : String_Access;
+-
+- begin
+- Start_Of_Prefix := Current_Command'First;
+- Start_Of_Suffix := Current_Command'Last + 1;
+- End_Of_Prefix := Start_Of_Prefix - 1;
+-
+- if Look_For_Prefix then
+-
+- -- Find Start_Of_Prefix
+-
+- for J in reverse Current_Command'Range loop
+- if Current_Command (J) = '/' or else
+- Current_Command (J) = Directory_Separator or else
+- Current_Command (J) = ':'
+- then
+- Start_Of_Prefix := J + 1;
+- exit;
+- end if;
+- end loop;
+-
+- -- Find End_Of_Prefix
+-
+- for J in Start_Of_Prefix ..
+- Current_Command'Last - Gnatchop_Str'Length + 1
+- loop
+- if Current_Command (J .. J + Gnatchop_Str'Length - 1) =
+- Gnatchop_Str
+- then
+- End_Of_Prefix := J - 1;
+- exit;
+- end if;
+- end loop;
+- end if;
+-
+- if End_Of_Prefix > Current_Command'First then
+- Start_Of_Suffix := End_Of_Prefix + Gnatchop_Str'Length + 1;
+- end if;
+-
+- declare
+- Command : constant String :=
+- Current_Command (Start_Of_Prefix .. End_Of_Prefix)
+- & Program_Name
+- & Current_Command (Start_Of_Suffix ..
+- Current_Command'Last);
+- begin
+- Result := Locate_Exec_On_Path (Command);
+-
+- if Result = null then
+- Error_Msg
+- (Command & ": installation problem, executable not found");
+- end if;
+- end;
+-
+- return Result;
+- end Locate_Executable;
+-
+ ---------------
+ -- Parse_EOL --
+ ---------------
+@@ -1088,8 +1010,8 @@
+ exit;
+
+ when '-' =>
+- Gcc := new String'(Parameter);
+- Gcc_Set := True;
++ Free (Gcc);
++ Gcc := new String'(Parameter);
+
+ when 'c' =>
+ Compilation_Mode := True;
+@@ -1767,9 +1689,13 @@
+
+ -- Check presence of required executables
+
+- Gnat_Cmd := Locate_Executable (Gcc.all, not Gcc_Set);
++ if Gcc = null then
++ Gcc := Osint.Program_Name ("gcc", "gnatchop");
++ end if;
++ Gnat_Cmd := Locate_Exec_On_Path (Gcc.all);
+
+ if Gnat_Cmd = null then
++ Error_Msg (Gcc.all & ": installation problem, executable not found");
+ goto No_Files_Written;
+ end if;
+
--- /dev/null
+* Link tools dynamically.
+* Prevent direct embedding of libada objects:
+ Mark ALI files as read-only, remove objects after the build.
+ A solution keeping the objects would be more intrusive.
+* Rebuild gnatbind/make/link with themselves.
+ This removes unneeded objects inherited from the hardcoded bootstrap list.
+ The same thing would be useful for gnat1drv, but is less easy.
+* TOOLS_ALREADY_COMPILED lists LIBGNAT objects that
+ gcc/ada/gcc-interface/Makefile should not rebuild.
+* Install the shared Ada libraries as '.so.1', not '.so' to conform
+ to the Debian policy.
+* Link libgnat/gnarl with LDFLAGS.
+* Create libgnat-BV.so symbolic link, use it and -L to link libgnarl.
+ This prevents undefined symbols or unwanted usage of host libgnat.
+* Compile with -gnatn, link with --as-needed -z defs.
+* set LD_LIBRARY_PATH so that rebuilt tools can be executed.
+
+This patch depends on ada-libgnatvsn.diff.
+
+# DP: - When building a cross gnat, link against the libgnatvsnBV-dev
+# DP: package.
+# DP: This link will be done by /usr/bin/$(host_alias)-gnat*, thus
+# DP: the native gnat with the same major version will be required.
+
+--- a/src/gcc/ada/gcc-interface/Makefile.in
++++ b/src/gcc/ada/gcc-interface/Makefile.in
+@@ -1286,6 +1286,11 @@ ifeq ($(strip $(filter-out s390% linux%,
+ LIBRARY_VERSION := $(LIB_VERSION)
+ endif
+
++ifeq ($(strip $(filter-out hppa% unknown linux gnu,$(targ))),)
++ GNATLIB_SHARED = gnatlib-shared-dual
++ LIBRARY_VERSION := $(LIB_VERSION)
++endif
++
+ # HP/PA HP-UX 10
+ ifeq ($(strip $(filter-out hppa% hp hpux10%,$(target_cpu) $(target_vendor) $(target_os))),)
+ LIBGNAT_TARGET_PAIRS = \
+@@ -2265,6 +2270,20 @@ gnatlink-re: ../stamp-tools gnatmake-re
+ --GCC="$(CC) $(ADA_INCLUDES)" --LINK="$(GCC_LINK)" $(TOOLS_LIBS)
+ $(MV) ../../gnatlinknew$(exeext) ../../gnatlink$(exeext)
+
++gnatbind-re: ../stamp-tools gnatmake-re gnatlink-re
++ $(GNATMAKE) -j0 -c $(ADA_INCLUDES) gnatbind --GCC="$(CC) $(ALL_ADAFLAGS)"
++ $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatbind
++ $(GNATLINK) -v gnatbind -o ../../gnatbind$(exeext) \
++ --GCC="$(CC) $(ADA_INCLUDES)" --LINK="$(GCC_LINK)" $(TOOLS_LIBS)
++
++# When driven by gnattools/Makefile for a native build,
++# TOOLS_ALREADY_COMPILED will list objects in the target standard Ada
++# libraries, that Make should avoid rebuilding.
++# We cannot use recursive variables to avoid an infinite loop,
++# so we must put this after definition of EXTRA_GNATMAKE_OBJS.
++GNATLINK_OBJS := $(filter-out $(TOOLS_ALREADY_COMPILED),$(GNATLINK_OBJS))
++GNATMAKE_OBJS := $(filter-out $(TOOLS_ALREADY_COMPILED),$(GNATMAKE_OBJS))
++
+ # Needs to be built with CC=gcc
+ # Since the RTL should be built with the latest compiler, remove the
+ # stamp target in the parent directory whenever gnat1 is rebuilt
+@@ -2314,14 +2333,10 @@ install-gnatlib: ../stamp-gnatlib-$(RTSD
+ # Also install the .dSYM directories if they exist (these directories
+ # contain the debug information for the shared libraries on darwin)
+ for file in gnat gnarl; do \
+- if [ -f $(RTSDIR)/lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext) ]; then \
+- $(INSTALL) $(RTSDIR)/lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext) \
++ if [ -f $(RTSDIR)/lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext).1 ]; then \
++ $(INSTALL) $(RTSDIR)/lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext).1 \
+ $(DESTDIR)$(ADA_RTL_OBJ_DIR); \
+ fi; \
+- if [ -f $(RTSDIR)/lib$${file}$(soext) ]; then \
+- $(LN_S) lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext) \
+- $(DESTDIR)$(ADA_RTL_OBJ_DIR)/lib$${file}$(soext); \
+- fi; \
+ if [ -d $(RTSDIR)/lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext).dSYM ]; then \
+ $(CP) -r $(RTSDIR)/lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext).dSYM \
+ $(DESTDIR)$(ADA_RTL_OBJ_DIR); \
+@@ -2346,8 +2361,7 @@ install-gnatlib: ../stamp-gnatlib-$(RTSD
+ touch ../stamp-gnatlib2-$(RTSDIR)
+ $(RM) ../stamp-gnatlib-$(RTSDIR)
+
+-../stamp-gnatlib1-$(RTSDIR): Makefile ../stamp-gnatlib2-$(RTSDIR)
+- $(RMDIR) $(RTSDIR)
++../stamp-gnatlib1-$(RTSDIR): Makefile
+ $(MKDIR) $(RTSDIR)
+ $(CHMOD) u+w $(RTSDIR)
+ # Copy target independent sources
+@@ -2411,7 +2425,7 @@ $(RTSDIR)/s-oscons.ads: ../stamp-gnatlib
+ $(OSCONS_EXTRACT) ; \
+ ../bldtools/oscons/xoscons s-oscons)
+
+-gnatlib: ../stamp-gnatlib1-$(RTSDIR) ../stamp-gnatlib2-$(RTSDIR) $(RTSDIR)/s-oscons.ads
++gnatlib: ../stamp-gnatlib1-$(RTSDIR) $(RTSDIR)/s-oscons.ads
+ test -f $(RTSDIR)/s-oscons.ads || exit 1
+ # C files
+ $(MAKE) -C $(RTSDIR) \
+@@ -2445,36 +2459,51 @@ gnatlib: ../stamp-gnatlib1-$(RTSDIR) ../
+ $(RANLIB_FOR_TARGET) $(RTSDIR)/libgmem$(arext)
+ endif
+ $(CHMOD) a-wx $(RTSDIR)/*.ali
++# Provide .ads .adb (read-only).ali .so .a, but prevent direct use of .o.
++ $(RM) $(RTSDIR)/*.o
+ touch ../stamp-gnatlib-$(RTSDIR)
+
+ # Warning: this target assumes that LIBRARY_VERSION has been set correctly.
+ gnatlib-shared-default:
+- $(MAKE) $(FLAGS_TO_PASS) \
+- GNATLIBFLAGS="$(GNATLIBFLAGS)" \
+- GNATLIBCFLAGS="$(GNATLIBCFLAGS) $(PICFLAG_FOR_TARGET)" \
+- GNATLIBCFLAGS_FOR_C="$(GNATLIBCFLAGS_FOR_C) $(PICFLAG_FOR_TARGET)" \
+- MULTISUBDIR="$(MULTISUBDIR)" \
+- THREAD_KIND="$(THREAD_KIND)" \
+- gnatlib
+- $(RM) $(RTSDIR)/libgna*$(soext)
++ $(MAKE) -C $(RTSDIR) \
++ CC="`echo \"$(GCC_FOR_TARGET)\" \
++ | sed -e 's,\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'`" \
++ INCLUDES="$(INCLUDES_FOR_SUBDIR) -I./../.." \
++ CFLAGS="$(GNATLIBCFLAGS_FOR_C) $(PICFLAG_FOR_TARGET)" \
++ FORCE_DEBUG_ADAFLAGS="$(FORCE_DEBUG_ADAFLAGS)" \
++ srcdir=$(fsrcdir) \
++ -f ../Makefile $(LIBGNAT_OBJS)
++ $(MAKE) -C $(RTSDIR) \
++ CC="`echo \"$(GCC_FOR_TARGET)\" \
++ | sed -e 's,\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'`" \
++ ADA_INCLUDES="" \
++ CFLAGS="$(GNATLIBCFLAGS) $(PICFLAG_FOR_TARGET)" \
++ ADAFLAGS="$(GNATLIBFLAGS) $(PICFLAG_FOR_TARGET)" \
++ FORCE_DEBUG_ADAFLAGS="$(FORCE_DEBUG_ADAFLAGS)" \
++ srcdir=$(fsrcdir) \
++ -f ../Makefile \
++ $(GNATRTL_OBJS)
++ $(RM) $(RTSDIR)/libgna*$(soext) $(RTSDIR)/libgna*$(soext).1
+ cd $(RTSDIR); `echo "$(GCC_FOR_TARGET)" \
+ | sed -e 's,\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'` -shared $(GNATLIBCFLAGS) \
+ $(PICFLAG_FOR_TARGET) \
+- -o libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \
++ -o libgnat$(hyphen)$(LIBRARY_VERSION)$(soext).1 $(LDFLAGS) \
+ $(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS) \
+- $(SO_OPTS)libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \
++ $(SO_OPTS)libgnat$(hyphen)$(LIBRARY_VERSION)$(soext).1 \
+ $(MISCLIB) -lm
++ cd $(RTSDIR) && $(LN_S) -f libgnat$(hyphen)$(LIBRARY_VERSION)$(soext).1 \
++ libgnat$(hyphen)$(LIBRARY_VERSION)$(soext)
+ cd $(RTSDIR); `echo "$(GCC_FOR_TARGET)" \
+ | sed -e 's,\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'` -shared $(GNATLIBCFLAGS) \
+ $(PICFLAG_FOR_TARGET) \
+- -o libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \
++ -o libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext).1 $(LDFLAGS) \
+ $(GNATRTL_TASKING_OBJS) \
+- $(SO_OPTS)libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \
++ $(SO_OPTS)libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext).1 \
++ -L. -lgnat$(hyphen)$(LIBRARY_VERSION) \
+ $(THREADSLIB)
+- cd $(RTSDIR); $(LN_S) libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \
+- libgnat$(soext)
+- cd $(RTSDIR); $(LN_S) libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \
+- libgnarl$(soext)
++ cd $(RTSDIR) && $(LN_S) -f libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext).1 \
++ libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext)
++ $(CHMOD) a-wx $(RTSDIR)/*.ali
+
+ # Create static libgnat and libgnarl compiled with -fPIC
+ $(RM) $(RTSDIR)/libgnat_pic$(arext) $(RTSDIR)/libgnarl_pic$(arext)
+@@ -2485,6 +2514,8 @@ gnatlib-shared-default:
+ $(addprefix $(RTSDIR)/,$(GNATRTL_TASKING_OBJS))
+ $(RANLIB_FOR_TARGET) $(RTSDIR)/libgnarl_pic$(arext)
+
++# Provide .ads .adb (read-only).ali .so .a, but prevent direct use of .o.
++ $(RM) $(RTSDIR)/*.o
+
+ gnatlib-shared-dual:
+ $(MAKE) $(FLAGS_TO_PASS) \
+@@ -2493,21 +2524,15 @@ gnatlib-shared-dual:
+ GNATLIBCFLAGS_FOR_C="$(GNATLIBCFLAGS_FOR_C)" \
+ MULTISUBDIR="$(MULTISUBDIR)" \
+ THREAD_KIND="$(THREAD_KIND)" \
+- gnatlib-shared-default
+- $(MV) $(RTSDIR)/libgna*$(soext) .
+- $(MV) $(RTSDIR)/libgnat_pic$(arext) .
+- $(MV) $(RTSDIR)/libgnarl_pic$(arext) .
+- $(RM) ../stamp-gnatlib2-$(RTSDIR)
++ gnatlib
++ $(RM) $(RTSDIR)/*.o $(RTSDIR)/*.ali
+ $(MAKE) $(FLAGS_TO_PASS) \
+ GNATLIBFLAGS="$(GNATLIBFLAGS)" \
+ GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \
+ GNATLIBCFLAGS_FOR_C="$(GNATLIBCFLAGS_FOR_C)" \
+ MULTISUBDIR="$(MULTISUBDIR)" \
+ THREAD_KIND="$(THREAD_KIND)" \
+- gnatlib
+- $(MV) libgna*$(soext) $(RTSDIR)
+- $(MV) libgnat_pic$(arext) $(RTSDIR)
+- $(MV) libgnarl_pic$(arext) $(RTSDIR)
++ gnatlib-shared-default
+
+ gnatlib-shared-dual-win32:
+ $(MAKE) $(FLAGS_TO_PASS) \
+@@ -2517,17 +2542,15 @@ gnatlib-shared-dual-win32:
+ PICFLAG_FOR_TARGET="$(PICFLAG_FOR_TARGET)" \
+ MULTISUBDIR="$(MULTISUBDIR)" \
+ THREAD_KIND="$(THREAD_KIND)" \
+- gnatlib-shared-win32
+- $(MV) $(RTSDIR)/libgna*$(soext) .
+- $(RM) ../stamp-gnatlib2-$(RTSDIR)
++ gnatlib
++ $(RM) $(RTSDIR)/*.o $(RTSDIR)/*.ali
+ $(MAKE) $(FLAGS_TO_PASS) \
+ GNATLIBFLAGS="$(GNATLIBFLAGS)" \
+ GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \
+ GNATLIBCFLAGS_FOR_C="$(GNATLIBCFLAGS_FOR_C)" \
+ MULTISUBDIR="$(MULTISUBDIR)" \
+ THREAD_KIND="$(THREAD_KIND)" \
+- gnatlib
+- $(MV) libgna*$(soext) $(RTSDIR)
++ gnatlib-shared-win32
+
+ # ??? we need to add the option to support auto-import of arrays/records to
+ # the GNATLIBFLAGS when this will be supported by GNAT. At this point we will
+--- a/src/gnattools/Makefile.in
++++ b/src/gnattools/Makefile.in
+@@ -76,15 +76,21 @@ CXX_LFLAGS = \
+ -L../../../$(target_noncanonical)/libstdc++-v3/libsupc++/.libs
+
+ # Variables for gnattools, native
++rtsdir := $(abspath ../gcc/ada/rts)
++vsndir := $(abspath ../$(target_noncanonical)/libgnatvsn)
+ TOOLS_FLAGS_TO_PASS_NATIVE= \
+ "CC=../../xgcc -B../../" \
+ "CXX=../../xg++ -B../../ $(CXX_LFLAGS)" \
+ "CFLAGS=$(CFLAGS) $(WARN_CFLAGS)" \
+- "LDFLAGS=$(LDFLAGS)" \
+- "ADAFLAGS=$(ADAFLAGS)" \
++ "LDFLAGS=$(LDFLAGS) -Wl,--as-needed -Wl,-z,defs" \
++ "ADAFLAGS=$(ADAFLAGS) -gnatn" \
+ "ADA_CFLAGS=$(ADA_CFLAGS)" \
+ "INCLUDES=$(INCLUDES_FOR_SUBDIR)" \
+- "ADA_INCLUDES=-I- -I../rts $(ADA_INCLUDES_FOR_SUBDIR)"\
++ "ADA_INCLUDES=-I- -nostdinc -I$(vsndir) -I$(rtsdir) $(ADA_INCLUDES_FOR_SUBDIR)" \
++ "TOOLS_ALREADY_COMPILED=$(foreach d, $(vsndir) $(rtsdir), \
++ $(patsubst $(d)/%.ali,%.o, $(wildcard $(d)/*.ali)))" \
++ 'LIBGNAT=-L$(vsndir) -lgnatvsn -L$(rtsdir) -lgnat-$$(LIB_VERSION)' \
++ "GNATBIND_FLAGS=-nostdlib -x" \
+ "exeext=$(exeext)" \
+ "fsrcdir=$(fsrcdir)" \
+ "srcdir=$(fsrcdir)" \
+@@ -190,6 +196,10 @@ $(GCC_DIR)/stamp-tools:
+ # to be able to build gnatmake without a version of gnatmake around. Once
+ # everything has been compiled once, gnatmake can be recompiled with itself
+ # (see target regnattools)
++gnattools-native: export LD_LIBRARY_PATH := \
++ $(if $(LD_LIBRARY_PATH),$(LD_LIBRARY_PATH):)$(vsndir):$(rtsdir)
++# Useful even for 1st pass, as ../../gnatmake may already be
++# dynamically linked in case this target has already been invokated.
+ gnattools-native: $(GCC_DIR)/stamp-tools $(GCC_DIR)/stamp-gnatlib-rts
+ # gnattools1
+ $(MAKE) -C $(GCC_DIR)/ada/tools -f ../Makefile \
+@@ -198,6 +208,13 @@ gnattools-native: $(GCC_DIR)/stamp-tools
+ # gnattools2
+ $(MAKE) -C $(GCC_DIR)/ada/tools -f ../Makefile \
+ $(TOOLS_FLAGS_TO_PASS_NATIVE) common-tools
++# The hard-coded object lists for gnatbind/make/link contain unneeded
++# objects. Use the fresh tools to recompute dependencies.
++# A separate Make run avoids race conditions between gnatmakes
++# building the same object for common-tools and gnat*-re.
++# (parallelism is already forbidden between gnat*-re targets)
++ $(MAKE) -C $(GCC_DIR)/ada/tools -f ../Makefile \
++ $(TOOLS_FLAGS_TO_PASS_NATIVE) gnatbind-re gnatmake-re gnatlink-re
+
+ # gnatmake/link can be built with recent gnatmake/link if they are available.
+ # This is especially convenient for building cross tools or for rebuilding
--- /dev/null
+Description: add support for GNU/kFreeBSD.
+ GNU/kFreeBSD does not support Thread Priority Protection or Thread
+ Priority Inheritance and lacks some pthread_mutexattr_* functions.
+ Replace them with dummy versions.
+Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=642128
+Author: Ludovic Brenta <lbrenta@debian.org>
+Author: Nicolas Boulenguez <nicolas@debian.org>
+
+Index: b/src/gcc/ada/libgnarl/s-osinte__kfreebsd-gnu.ads
+===================================================================
+--- a/src/gcc/ada/libgnarl/s-osinte__kfreebsd-gnu.ads
++++ b/src/gcc/ada/libgnarl/s-osinte__kfreebsd-gnu.ads
+@@ -45,6 +45,7 @@ package System.OS_Interface is
+ pragma Preelaborate;
+
+ pragma Linker_Options ("-lpthread");
++ pragma Linker_Options ("-lrt");
+
+ subtype int is Interfaces.C.int;
+ subtype char is Interfaces.C.char;
+@@ -206,9 +207,7 @@ package System.OS_Interface is
+ function nanosleep (rqtp, rmtp : access timespec) return int;
+ pragma Import (C, nanosleep, "nanosleep");
+
+- type clockid_t is private;
+-
+- CLOCK_REALTIME : constant clockid_t;
++ type clockid_t is new int;
+
+ function clock_gettime
+ (clock_id : clockid_t;
+@@ -441,31 +440,25 @@ package System.OS_Interface is
+ PTHREAD_PRIO_PROTECT : constant := 2;
+ PTHREAD_PRIO_INHERIT : constant := 1;
+
++ -- GNU/kFreeBSD does not support Thread Priority Protection or Thread
++ -- Priority Inheritance and lacks some pthread_mutexattr_* functions.
++ -- Replace them with dummy versions.
++
+ function pthread_mutexattr_setprotocol
+ (attr : access pthread_mutexattr_t;
+- protocol : int) return int;
+- pragma Import
+- (C, pthread_mutexattr_setprotocol, "pthread_mutexattr_setprotocol");
++ protocol : int) return int is (0);
+
+ function pthread_mutexattr_getprotocol
+ (attr : access pthread_mutexattr_t;
+- protocol : access int) return int;
+- pragma Import
+- (C, pthread_mutexattr_getprotocol, "pthread_mutexattr_getprotocol");
++ protocol : access int) return int is (0);
+
+ function pthread_mutexattr_setprioceiling
+ (attr : access pthread_mutexattr_t;
+- prioceiling : int) return int;
+- pragma Import
+- (C, pthread_mutexattr_setprioceiling,
+- "pthread_mutexattr_setprioceiling");
++ prioceiling : int) return int is (0);
+
+ function pthread_mutexattr_getprioceiling
+ (attr : access pthread_mutexattr_t;
+- prioceiling : access int) return int;
+- pragma Import
+- (C, pthread_mutexattr_getprioceiling,
+- "pthread_mutexattr_getprioceiling");
++ prioceiling : access int) return int is (0);
+
+ type struct_sched_param is record
+ sched_priority : int; -- scheduling priority
+@@ -610,9 +603,6 @@ private
+ end record;
+ pragma Convention (C, timespec);
+
+- type clockid_t is new int;
+- CLOCK_REALTIME : constant clockid_t := 0;
+-
+ type pthread_attr_t is record
+ detachstate : int;
+ schedpolicy : int;
+Index: b/src/gcc/ada/gsocket.h
+===================================================================
+--- a/src/gcc/ada/gsocket.h
++++ b/src/gcc/ada/gsocket.h
+@@ -244,6 +244,7 @@
+ #endif
+
+ #if defined (__FreeBSD__) || defined (__vxworks) || defined(__rtems__) \
++ || defined (__FreeBSD_kernel__) || defined(__GNU__) \
+ || defined (__DragonFly__) || defined (__NetBSD__) || defined (__OpenBSD__)
+ # define Has_Sockaddr_Len 1
+ #else
+Index: b/src/gcc/ada/s-oscons-tmplt.c
+===================================================================
+--- a/src/gcc/ada/s-oscons-tmplt.c
++++ b/src/gcc/ada/s-oscons-tmplt.c
+@@ -1443,7 +1443,7 @@ CND(CLOCK_THREAD_CPUTIME_ID, "Thread CPU
+
+ #if defined(__linux__) || defined(__FreeBSD__) \
+ || (defined(_AIX) && defined(_AIXVERSION_530)) \
+- || defined(__DragonFly__) || defined(__QNX__)
++ || defined(__DragonFly__) || defined(__QNX__) || defined(__FreeBSD_kernel__)
+ /** On these platforms use system provided monotonic clock instead of
+ ** the default CLOCK_REALTIME. We then need to set up cond var attributes
+ ** appropriately (see thread.c).
--- /dev/null
+Description: remove -f*-prefix-map options from .ali files
+ The -f(file|debug|macro)-prefix-map=OLD=NEW options
+ added by revision 256847
+ explicitly ask that OLD is never written.
+Forwarded: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87972
+Author: Nicolas Boulenguez <nicolas@debian.org>
+
+--- a/src/gcc/ada/lib-writ.adb
++++ b/src/gcc/ada/lib-writ.adb
+@@ -1223,10 +1223,22 @@ package body Lib.Writ is
+ -- Write command argument ('A') lines
+
+ for A in 1 .. Compilation_Switches.Last loop
+- Write_Info_Initiate ('A');
+- Write_Info_Char (' ');
+- Write_Info_Str (Compilation_Switches.Table (A).all);
+- Write_Info_Terminate;
++ -- The -f(file|debug|macro)-prefix-map=OLD=NEW options
++ -- explicitly ask that OLD is never written.
++ declare
++ S : String renames Compilation_Switches.Table (A).all;
++ begin
++ if S'Length < 19 --
++ or else (S (S'First .. S'First + 18) /= "-fdebug-prefix-map="
++ and S (S'First .. S'First + 17) /= "-ffile-prefix-map="
++ and S (S'First .. S'First + 18) /= "-fmacro-prefix-map=")
++ then
++ Write_Info_Initiate ('A');
++ Write_Info_Char (' ');
++ Write_Info_Str (S);
++ Write_Info_Terminate;
++ end if;
++ end;
+ end loop;
+
+ -- Output parameters ('P') line
--- /dev/null
+Description: set ALI timestamps from SOURCE_DATE_EPOCH if available.
+ When the SOURCE_DATE_EPOCH environment variable is set,
+ replace timestamps more recent than its value with its value
+ when writing Ada Library Information (ALI) files.
+ This allow reproducible builds from generated or patched Ada sources.
+ https://reproducible-builds.org/specs/source-date-epoch/
+Author: Nicolas Boulenguez <nicolas@debian.org>
+
+--- a/src/gcc/ada/ali-util.adb
++++ b/src/gcc/ada/ali-util.adb
+@@ -484,8 +484,10 @@ package body ALI.Util is
+ for D in ALIs.Table (A).First_Sdep .. ALIs.Table (A).Last_Sdep loop
+ Src := Source_Id (Get_Name_Table_Int (Sdep.Table (D).Sfile));
+
+- if Opt.Minimal_Recompilation
+- and then Sdep.Table (D).Stamp /= Source.Table (Src).Stamp
++ if (Opt.Minimal_Recompilation
++ and then Sdep.Table (D).Stamp /= Source.Table (Src).Stamp)
++ or else (Sdep.Table (D).Stamp = Source_Date_Epoch
++ and then Source_Date_Epoch < Source.Table (Src).Stamp)
+ then
+ -- If minimal recompilation is in action, replace the stamp
+ -- of the source file in the table if checksums match.
+--- a/src/gcc/ada/lib-writ.adb
++++ b/src/gcc/ada/lib-writ.adb
+@@ -1552,7 +1552,14 @@ package body Lib.Writ is
+
+ Write_Info_Name_May_Be_Quoted (Fname);
+ Write_Info_Tab (25);
+- Write_Info_Str (String (Time_Stamp (Sind)));
++ declare
++ T : Time_Stamp_Type := Time_Stamp (Sind);
++ begin
++ if Source_Date_Epoch < T then
++ T := Source_Date_Epoch;
++ end if;
++ Write_Info_Str (String (T));
++ end;
+ Write_Info_Char (' ');
+ Write_Info_Str (Get_Hex_String (Source_Checksum (Sind)));
+
+--- a/src/gcc/ada/osint.adb
++++ b/src/gcc/ada/osint.adb
+@@ -1680,6 +1680,20 @@ package body Osint is
+
+ Lib_Search_Directories.Set_Last (Primary_Directory);
+ Lib_Search_Directories.Table (Primary_Directory) := new String'("");
++
++ -- Look for Source_Date_Epoch in the environment.
++ declare
++ Env_Var : String_Access;
++ Get_OK : Boolean;
++ Epoch : OS_Time;
++ begin
++ Env_Var := Getenv ("SOURCE_DATE_EPOCH");
++ Get_OS_Time_From_String (Env_Var.all, Get_OK, Epoch);
++ Free (Env_Var);
++ if Get_OK then
++ Source_Date_Epoch := OS_Time_To_GNAT_Time (Epoch);
++ end if;
++ end;
+ end Initialize;
+
+ ------------------
+--- a/src/gcc/ada/osint.ads
++++ b/src/gcc/ada/osint.ads
+@@ -664,6 +664,17 @@ package Osint is
+ function Prep_Suffix return String;
+ -- The suffix used for preprocessed files
+
++ Source_Date_Epoch : Time_Stamp_Type := Time_Stamp_Type'("99991231235959");
++ -- * gnat1 truncates to this date time stamps written to ALI files, making
++ -- their contents deterministic even for patched or generated sources.
++ -- See https://reproducible-builds.org/specs/source-date-epoch.
++ -- * When gnatmake reads this date from an ALI file, and the source file is
++ -- more recent, it ignores the dates and only considers checksums as if
++ -- Minimal_Recompilation was selected. Else, the source would always
++ -- be detected as requiring a recompilation.
++ -- The default value has no effect, but Initialize will assign it if
++ -- SOURCE_DATE_EPOCH in the environment represents a valid epoch.
++
+ private
+
+ Current_Main : File_Name_Type := No_File;
+--- a/src/gcc/ada/libgnat/s-os_lib.adb
++++ b/src/gcc/ada/libgnat/s-os_lib.adb
+@@ -1153,6 +1153,41 @@ package body System.OS_Lib is
+ return Result;
+ end Get_Object_Suffix;
+
++ -----------------------------
++ -- Get_OS_Time_From_String --
++ -----------------------------
++
++ procedure Get_OS_Time_From_String (Arg : String;
++ Success : out Boolean;
++ Result : out OS_Time) is
++ -- Calling System.Val_LLI breaks the bootstrap sequence.
++ Digit : OS_Time;
++ begin
++ Result := 0;
++ if Arg'Length = 0 then
++ Success := False;
++ return;
++ end if;
++ for I in Arg'Range loop
++ if Arg (I) not in '0' .. '9' then
++ Success := False;
++ return;
++ end if;
++ Digit := OS_Time (Character'Pos (Arg (I)) - Character'Pos ('0'));
++ if OS_Time'Last / 10 < Result then
++ Success := False;
++ return;
++ end if;
++ Result := Result * 10;
++ if OS_Time'Last - Digit < Result then
++ Success := False;
++ return;
++ end if;
++ Result := Result + Digit;
++ end loop;
++ Success := True;
++ end Get_OS_Time_From_String;
++
+ ----------------------------------
+ -- Get_Target_Debuggable_Suffix --
+ ----------------------------------
+--- a/src/gcc/ada/libgnat/s-os_lib.ads
++++ b/src/gcc/ada/libgnat/s-os_lib.ads
+@@ -164,6 +164,13 @@ package System.OS_Lib is
+ -- component parts to be interpreted in the local time zone, and returns
+ -- an OS_Time. Returns Invalid_Time if the creation fails.
+
++ procedure Get_OS_Time_From_String (Arg : String;
++ Success : out Boolean;
++ Result : out OS_Time);
++ -- Success is set if Arg is not empty, only contains decimal
++ -- digits and represents an integer within OS_Time range. Result
++ -- is then affected with the represented value.
++
+ ----------------
+ -- File Stuff --
+ ----------------
--- /dev/null
+# DP: - Introduce a new shared library named libgnatvsn, containing
+# DP: common components of GNAT under the GNAT-Modified GPL, for
+# DP: use in GNAT tools, ASIS, GLADE and GPS. Link the gnat tools
+# DP: against this new library.
+
+# Please read ada-changes-in-autogen-output.diff about src/Makefile.def.
+
+# !!! Must be applied after ada-link-lib.diff
+
+--- /dev/null
++++ b/src/libgnatvsn/configure
+@@ -0,0 +1,34 @@
++#!/bin/sh
++
++# Minimal configure script for libgnatvsn. We're only interested in
++# a few parameters.
++
++{
++
++for arg in $*; do
++ case ${arg} in
++ --prefix=*)
++ prefix=`expr ${arg} : '--prefix=\(.\+\)'`;;
++ --srcdir=*)
++ srcdir=`expr ${arg} : '--srcdir=\(.\+\)'`;;
++ --libdir=*)
++ libdir=`expr ${arg} : '--libdir=\(.\+\)'`;;
++ --with-pkgversion=*)
++ pkgversion=`expr ${arg} : '--with-pkgversion=\(.\+\)'`;;
++ --with-bugurl=*)
++ bugurl=`expr ${arg} : '--with-bugurl=\(.\+\)'`;;
++ *)
++ echo "Warning: ignoring option: ${arg}"
++ esac
++done
++
++sed_script=
++for name in prefix srcdir libdir pkgversion bugurl; do
++ eval value=\$$name
++ echo "$name: $value"
++ sed_script="$sed_script;s,@$name@,$value,"
++done
++echo "Creating Makefile..."
++sed "$sed_script" "$srcdir/Makefile.in" > Makefile
++
++} | tee -a config.log
+--- /dev/null
++++ b/src/libgnatvsn/gnatvsn.gpr.sed
+@@ -0,0 +1,8 @@
++library project Gnatvsn is
++ for Library_Name use "gnatvsn";
++ for Library_Kind use "dynamic";
++ for Library_Dir use "lib_inst_dir";
++ for Source_Dirs use ("src_inst_dir");
++ for Library_ALI_Dir use "ali_inst_dir";
++ for Externally_Built use "true";
++end Gnatvsn;
+--- /dev/null
++++ b/src/libgnatvsn/Makefile.in
+@@ -0,0 +1,161 @@
++# Makefile for libgnatvsn.
++# Copyright (c) 2006 Ludovic Brenta <ludovic@ludovic-brenta.org>
++# Copyright (c) 2017 Nicolas Boulenguez <nicolas@debian.org>
++#
++# This file is free software; you can redistribute it and/or modify
++# it under the terms of the GNU General Public License as published by
++# the Free Software Foundation; either version 2 of the License, or
++# (at your option) any later version.
++#
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++# GNU General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with this program; if not, write to the Free Software
++# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
++
++# Parameters substituted by configure during Makefile generation
++prefix := @prefix@
++srcdir := @srcdir@
++libdir := @libdir@
++pkgversion := @pkgversion@
++bugurl := @bugurl@
++
++# Parameters expected in environment or command line
++$(foreach v, \
++ ADA_CFLAGS ADAFLAGS CC CFLAGS CPPFLAGS DESTDIR INSTALL INSTALL_DATA LDFLAGS \
++ ,$(info $(v) ($(origin $(v))) = $($(v))))
++# It seems that both CFLAGS/ADA_CFLAGS should affect both Ada/C.
++
++# Parameters read from external files
++BASEVER := $(shell cat $(srcdir)/../gcc/BASE-VER)
++DEVPHASE := $(shell cat $(srcdir)/../gcc/DEV-PHASE)
++DATESTAMP := $(shell cat $(srcdir)/../gcc/DATESTAMP)
++
++# Public and default targets
++.PHONY: all install clean
++all:
++
++######################################################################
++
++LIB_VERSION := $(shell expr '$(BASEVER)' : '\([0-9]\+\)')
++
++src_inst_dir := $(prefix)/share/ada/adainclude/gnatvsn
++gpr_inst_dir := $(prefix)/share/gpr
++ali_inst_dir := $(libdir)/ada/adalib/gnatvsn
++lib_inst_dir := $(libdir)
++
++# Initial value of variables accumulationg build flags.
++adaflags := -gnatn
++cflags :=
++cppflags :=
++ldflags := -Wl,--as-needed -Wl,-z,defs
++ldlibs :=
++
++# For use in version.c - double quoted strings, with appropriate
++# surrounding punctuation and spaces, and with the datestamp and
++# development phase collapsed to the empty string in release mode
++# (i.e. if DEVPHASE_c is empty). The space immediately after the
++# comma in the $(if ...) constructs is significant - do not remove it.
++cppflags += \
++ -DBASEVER="\"$(BASEVER)\"" \
++ -DDATESTAMP="\"$(if $(DEVPHASE), $(DATESTAMP))\"" \
++ -DDEVPHASE="\"$(if $(DEVPHASE), ($(DEVPHASE)))\"" \
++ -DPKGVERSION="\"$(pkgversion)\"" \
++ -DBUGURL="\"$(bugurl)\"" \
++ -DREVISION=
++
++# Include and link freshly built target RTL instead of the default.
++RTL_DIR := ../libada
++adaflags += -nostdinc -I$(RTL_DIR)/adainclude
++ldlibs += -L$(RTL_DIR)/adalib -lgnat-$(LIB_VERSION)
++
++# Append user settings last, allowing them to take precedence.
++adaflags += $(CFLAGS) $(ADA_CFLAGS) $(ADAFLAGS)
++cflags += $(CFLAGS) $(ADA_CFLAGS)
++cppflags += $(CPPFLAGS)
++ldflags += $(LDFLAGS)
++
++# Link wanted Ada sources from source tree, so that gnat fails when new
++# dependencies are missing in the current directory, instead of silently
++# using the ones in the distant directory.
++# Let Make create all symlinks before first ada compilation,
++# because they depend on each other.
++# snames.ad[bs] is generated in the build tree.
++
++UNITS_BOTH := aspects atree casing csets debug einfo elists fname \
++ gnatvsn krunch lib namet nlists opt output repinfo scans sem_aux \
++ sinfo sinput stand stringt table tree_in tree_io types uintp \
++ uname urealp widechar xutil
++UNITS_SPEC := alloc hostparm rident
++SEPARATES := lib-list lib-sort
++ADA_SRC := $(addsuffix .ads, $(UNITS_BOTH) $(UNITS_SPEC)) \
++ $(addsuffix .adb, $(UNITS_BOTH) $(SEPARATES))
++OBJECTS := $(addsuffix .o, $(UNITS_BOTH) snames $(UNITS_SPEC) version)
++
++all: libgnatvsn.a libgnatvsn.so.$(LIB_VERSION) gnatvsn.gpr
++
++libgnatvsn.so.$(LIB_VERSION): $(addprefix obj-shared/,$(OBJECTS))
++ $(CC) -o $@ -shared -fPIC -Wl,--soname,$@ $^ $(ldflags) $(ldlibs)
++ ln -fs libgnatvsn.so.$(LIB_VERSION) libgnatvsn.so
++ chmod a=r obj-shared/*.ali
++# Make the .ali files, but not the .o files, visible to the gnat tools.
++ cp -lp obj-shared/*.ali .
++
++$(foreach u, $(UNITS_BOTH) snames, obj-shared/$(u).o): \
++obj-shared/%.o: %.adb $(ADA_SRC) snames.adb snames.ads | obj-shared
++ $(CC) -c -fPIC $(adaflags) $< -o $@
++
++$(foreach u, $(UNITS_SPEC), obj-shared/$(u).o): \
++obj-shared/%.o: %.ads $(ADA_SRC) snames.adb snames.ads | obj-shared
++ $(CC) -c -fPIC $(adaflags) $< -o $@
++
++obj-shared/version.o: version.c version.h | obj-shared
++ $(CC) -c -fPIC $(cflags) $(cppflags) $< -o $@
++
++libgnatvsn.a: $(addprefix obj-static/,$(OBJECTS))
++ ar rc $@ $^
++ ranlib $@
++
++$(foreach u, $(UNITS_BOTH) snames, obj-static/$(u).o): \
++obj-static/%.o: %.adb $(ADA_SRC) snames.adb snames.ads | obj-static
++ $(CC) -c $(adaflags) $< -o $@
++
++$(foreach u, $(UNITS_SPEC), obj-static/$(u).o): \
++obj-static/%.o: %.ads $(ADA_SRC) snames.adb snames.ads | obj-static
++ $(CC) -c $(adaflags) $< -o $@
++
++obj-static/version.o: version.c version.h | obj-static
++ $(CC) -c $(cflags) $(cppflags) $< -o $@
++
++obj-shared obj-static:
++ mkdir $@
++
++$(ADA_SRC):
++ ln -s $(srcdir)/../gcc/ada/$@
++version.c version.h:
++ ln -s $(srcdir)/../gcc/$@
++snames.adb snames.ads:
++ ln -s ../../gcc/ada/$@
++
++gnatvsn.gpr: $(srcdir)/gnatvsn.gpr.sed
++ sed '$(foreach v,src ali lib,s|$(v)_inst_dir|$($(v)_inst_dir)|;)' \
++ $< > $@
++
++install: all
++ mkdir -p $(DESTDIR)$(gpr_inst_dir)
++ $(INSTALL_DATA) gnatvsn.gpr $(DESTDIR)$(gpr_inst_dir)
++ mkdir -p $(DESTDIR)$(lib_inst_dir)
++ $(INSTALL_DATA) libgnatvsn.a libgnatvsn.so.* $(DESTDIR)$(lib_inst_dir)
++ cd $(DESTDIR)$(lib_inst_dir) && ln -sf libgnatvsn.so.$(LIB_VERSION) libgnatvsn.so
++ mkdir -p $(DESTDIR)$(src_inst_dir)
++ $(INSTALL_DATA) *.adb *.ads *.c *.h $(DESTDIR)$(src_inst_dir)
++ mkdir -p $(DESTDIR)$(ali_inst_dir)
++ $(INSTALL) -m 0444 *.ali $(DESTDIR)$(ali_inst_dir)
++
++clean:
++ rm -fr obj-static obj-shared
++ rm -f *.ali libgnatvsn* *.adb *.ads *.c *.h gnatvsn.gpr
++ rm -f Makefile config.log
+--- a/src/Makefile.def
++++ b/src/Makefile.def
+@@ -185,6 +185,16 @@ target_modules = { module= libada; no_in
+ missing= TAGS;
+ missing= install-info;
+ missing= installcheck; };
++target_modules = { module= libgnatvsn; no_check=true;
++ missing= info;
++ missing= dvi;
++ missing= html;
++ missing= pdf;
++ missing= install-html;
++ missing= install-pdf;
++ missing= TAGS;
++ missing= install-info;
++ missing= installcheck; };
+ target_modules = { module= libgomp; bootstrap= true; lib_path=.libs; };
+ target_modules = { module= libitm; lib_path=.libs; };
+ target_modules = { module= libatomic; lib_path=.libs; };
+@@ -383,6 +393,8 @@ dependencies = { module=all-fixincludes;
+ dependencies = { module=all-target-libada; on=all-gcc; };
+ dependencies = { module=all-gnattools; on=all-target-libada; };
+ dependencies = { module=all-gnattools; on=all-target-libstdc++-v3; };
++dependencies = { module=all-gnattools; on=all-target-libgnatvsn; };
++dependencies = { module=all-target-libgnatvsn; on=all-target-libada; };
+
+ // Depending on the specific configuration, the LTO plugin will either use the
+ // generic libiberty build or the specific build for linker plugins.
+--- a/src/configure.ac
++++ b/src/configure.ac
+@@ -170,6 +170,7 @@ target_libraries="target-libgcc \
+ target-libobjc \
+ target-libada \
+ ${target_libiberty} \
++ target-libgnatvsn \
+ target-libgo"
+
+ # these tools are built using the target libraries, and are intended to
+@@ -454,7 +455,7 @@ AC_ARG_ENABLE(libada,
+ ENABLE_LIBADA=$enableval,
+ ENABLE_LIBADA=yes)
+ if test "${ENABLE_LIBADA}" != "yes" ; then
+- noconfigdirs="$noconfigdirs gnattools"
++ noconfigdirs="$noconfigdirs target-libgnatvsn gnattools"
+ fi
+
+ AC_ARG_ENABLE(libssp,
+--- a/src/gcc/ada/gcc-interface/config-lang.in
++++ b/src/gcc/ada/gcc-interface/config-lang.in
+@@ -34,7 +34,7 @@ gtfiles="\$(srcdir)/ada/gcc-interface/ad
+
+ outputs="ada/gcc-interface/Makefile ada/Makefile"
+
+-target_libs="target-libada"
++target_libs="target-libada target-libgnatvsn"
+ lang_dirs="libada gnattools"
+
+ # Ada is not enabled by default for the time being.
+--- a/src/gcc/testsuite/ada/acats/run_acats.sh
++++ b/src/gcc/testsuite/ada/acats/run_acats.sh
+@@ -32,6 +32,15 @@ ADA_INCLUDE_PATH=$BASE/ada/rts
+ LD_LIBRARY_PATH=$ADA_INCLUDE_PATH:$BASE:$LD_LIBRARY_PATH
+ ADA_OBJECTS_PATH=$ADA_INCLUDE_PATH
+
++target_gcc="$BASE/xgcc -B$BASE/"
++target=`$target_gcc -dumpmachine`
++vsn_lib_dir=$BASE/../$target/libgnatvsn
++LD_LIBRARY_PATH=$vsn_lib_dir:$LD_LIBRARY_PATH
++if [ ! -d $vsn_lib_dir ]; then
++ echo libgnatvsn not found in "$vsn_lib_dir", exiting.
++ exit 1
++fi
++
+ if [ ! -d $ADA_INCLUDE_PATH ]; then
+ echo gnatlib missing, exiting.
+ exit 1
+--- a/src/gcc/testsuite/lib/gnat.exp
++++ b/src/gcc/testsuite/lib/gnat.exp
+@@ -128,8 +128,10 @@ proc gnat_target_compile { source dest t
+ set gnat_target_current "[current_target_name]"
+ if [info exists TOOL_OPTIONS] {
+ set rtsdir "[get_multilibs ${TOOL_OPTIONS}]/libada"
++ set vsndir "[get_multilibs ${TOOL_OPTIONS}]/libgnatvsn"
+ } else {
+ set rtsdir "[get_multilibs]/libada"
++ set vsndir "[get_multilibs]/libgnatvsn"
+ }
+ if [info exists TOOL_EXECUTABLE] {
+ set GNAT_UNDER_TEST "$TOOL_EXECUTABLE"
+@@ -140,14 +142,15 @@ proc gnat_target_compile { source dest t
+
+ # gnatlink looks for system.ads itself and has no --RTS option, so
+ # specify via environment
+- setenv ADA_INCLUDE_PATH "$rtsdir/adainclude"
+- setenv ADA_OBJECTS_PATH "$rtsdir/adainclude"
++ setenv ADA_INCLUDE_PATH "$rtsdir/adainclude:$vsndir"
++ setenv ADA_OBJECTS_PATH "$rtsdir/adainclude:$vsndir"
+ # Always log so compilations can be repeated manually.
+- verbose -log "ADA_INCLUDE_PATH=$rtsdir/adainclude"
+- verbose -log "ADA_OBJECTS_PATH=$rtsdir/adainclude"
++ verbose -log "ADA_INCLUDE_PATH=$rtsdir/adainclude:$vsndir"
++ verbose -log "ADA_OBJECTS_PATH=$rtsdir/adainclude:$vsndir"
+
+ if { ! [ string match "*/libada/adalib*" $ld_library_path ] } {
+ append ld_library_path ":$rtsdir/adalib"
++ append ld_library_path ":$vsndir"
+ set_ld_library_path_env_vars
+ }
+ }
--- /dev/null
+Description: adapt libgnat build for Debian
+ Don't include a runtime link path (-rpath), when linking binaries.
+ .
+ Build the shared libraries on hppa-linux (see #786692 below).
+ TODO: ask the reporter (no porterbox) to attempt a rebuild without this
+ chunk, now that we diverge less from upstream.
+ .
+ Instead of building libada as a target library only, build it as
+ both a host and, if different, target library.
+ .
+ Compile with -gnatn, link with --as-needed -z defs.
+ .
+ Please read ada-changes-in-autogen-output.diff about src/Makefile.def.
+Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=786692
+Forwarded: not-needed
+Author: Ludovic Brenta <lbrenta@debian.org>
+Author: Nicolas Boulenguez <nicolas@debian.org>
+Author: Matthias Klose <doko@debian.org>
+
+--- a/src/gcc/ada/gcc-interface/config-lang.in
++++ b/src/gcc/ada/gcc-interface/config-lang.in
+@@ -35,7 +35,7 @@ gtfiles="\$(srcdir)/ada/gcc-interface/ad
+ outputs="ada/gcc-interface/Makefile ada/Makefile"
+
+ target_libs="target-libada"
+-lang_dirs="gnattools"
++lang_dirs="libada gnattools"
+
+ # Ada is not enabled by default for the time being.
+ build_by_default=no
+--- a/src/gcc/ada/link.c
++++ b/src/gcc/ada/link.c
+@@ -107,9 +107,9 @@ const char *__gnat_default_libgcc_subdir
+ || defined (__NetBSD__) || defined (__OpenBSD__) \
+ || defined (__QNX__)
+ const char *__gnat_object_file_option = "-Wl,@";
+-const char *__gnat_run_path_option = "-Wl,-rpath,";
+-char __gnat_shared_libgnat_default = STATIC;
+-char __gnat_shared_libgcc_default = STATIC;
++const char *__gnat_run_path_option = "";
++char __gnat_shared_libgnat_default = SHARED;
++char __gnat_shared_libgcc_default = SHARED;
+ int __gnat_link_max = 8192;
+ unsigned char __gnat_objlist_file_supported = 1;
+ const char *__gnat_object_library_extension = ".a";
+@@ -129,9 +129,9 @@ const char *__gnat_default_libgcc_subdir
+
+ #elif defined (__linux__) || defined (__GLIBC__)
+ const char *__gnat_object_file_option = "-Wl,@";
+-const char *__gnat_run_path_option = "-Wl,-rpath,";
+-char __gnat_shared_libgnat_default = STATIC;
+-char __gnat_shared_libgcc_default = STATIC;
++const char *__gnat_run_path_option = "";
++char __gnat_shared_libgnat_default = SHARED;
++char __gnat_shared_libgcc_default = SHARED;
+ int __gnat_link_max = 8192;
+ unsigned char __gnat_objlist_file_supported = 1;
+ const char *__gnat_object_library_extension = ".a";
+--- a/src/libada/Makefile.in
++++ b/src/libada/Makefile.in
+@@ -78,10 +78,10 @@ ADA_RTS_SUBDIR=./rts$(subst /,_,$(MULTIS
+ # by recursive make invocations in gcc/ada/Makefile.in
+ LIBADA_FLAGS_TO_PASS = \
+ "MAKEOVERRIDES=" \
+- "LDFLAGS=$(LDFLAGS)" \
++ "LDFLAGS=$(LDFLAGS) -Wl,--as-needed -Wl,-z,defs" \
+ "LN_S=$(LN_S)" \
+ "SHELL=$(SHELL)" \
+- "GNATLIBFLAGS=$(GNATLIBFLAGS) $(MULTIFLAGS)" \
++ "GNATLIBFLAGS=$(GNATLIBFLAGS) $(MULTIFLAGS) -gnatn" \
+ "GNATLIBCFLAGS=$(GNATLIBCFLAGS) $(MULTIFLAGS)" \
+ "GNATLIBCFLAGS_FOR_C=$(GNATLIBCFLAGS_FOR_C) $(MULTIFLAGS)" \
+ "PICFLAG_FOR_TARGET=$(PICFLAG)" \
+--- a/src/Makefile.def
++++ b/src/Makefile.def
+@@ -122,7 +122,16 @@ host_modules= { module= libtermcap; no_c
+ missing=distclean;
+ missing=maintainer-clean; };
+ host_modules= { module= utils; no_check=true; };
+-host_modules= { module= gnattools; };
++host_modules= { module= gnattools; no_check=true;
++ missing= info;
++ missing= dvi;
++ missing= html;
++ missing= pdf;
++ missing= install-pdf;
++ missing= install-html;
++ missing= TAGS;
++ missing= install-info;
++ missing= installcheck; };
+ host_modules= { module= lto-plugin; bootstrap=true;
+ extra_configure_flags='--enable-shared @extra_linker_plugin_flags@ @extra_linker_plugin_configure_flags@';
+ extra_make_flags='@extra_linker_plugin_flags@'; };
+@@ -166,7 +175,16 @@ target_modules = { module= libgloss; no_
+ target_modules = { module= libffi; no_install=true; };
+ target_modules = { module= zlib; };
+ target_modules = { module= rda; };
+-target_modules = { module= libada; };
++target_modules = { module= libada; no_install=true; no_check=true;
++ missing= info;
++ missing= dvi;
++ missing= html;
++ missing= pdf;
++ missing= install-html;
++ missing= install-pdf;
++ missing= TAGS;
++ missing= install-info;
++ missing= installcheck; };
+ target_modules = { module= libgomp; bootstrap= true; lib_path=.libs; };
+ target_modules = { module= libitm; lib_path=.libs; };
+ target_modules = { module= libatomic; lib_path=.libs; };
+@@ -362,6 +380,7 @@ dependencies = { module=all-libcpp; on=a
+
+ dependencies = { module=all-fixincludes; on=all-libiberty; };
+
++dependencies = { module=all-target-libada; on=all-gcc; };
+ dependencies = { module=all-gnattools; on=all-target-libada; };
+ dependencies = { module=all-gnattools; on=all-target-libstdc++-v3; };
+
+--- a/src/configure.ac
++++ b/src/configure.ac
+@@ -142,6 +142,11 @@ host_libs="intl libiberty opcodes bfd re
+ # If --enable-gold is used, "gold" may replace "ld".
+ host_tools="texinfo flex bison binutils gas ld fixincludes gcc cgen sid sim gdb gprof etc expect dejagnu m4 utils guile fastjar gnattools libcc1 gotools"
+
++case "${target}" in
++ hppa64-*linux*) ;;
++ *) target_libiberty="target-libiberty";;
++esac
++
+ # these libraries are built for the target environment, and are built after
+ # the host libraries and the host tools (which may be a cross compiler)
+ # Note that libiberty is not a target library.
+@@ -164,6 +169,7 @@ target_libraries="target-libgcc \
+ target-libffi \
+ target-libobjc \
+ target-libada \
++ ${target_libiberty} \
+ target-libgo"
+
+ # these tools are built using the target libraries, and are intended to
+--- a/src/gcc/ada/gcc-interface/Make-lang.in
++++ b/src/gcc/ada/gcc-interface/Make-lang.in
+@@ -45,7 +45,7 @@ RMDIR = rm -rf
+ \f
+
+ # Extra flags to pass to recursive makes.
+-COMMON_ADAFLAGS= -gnatpg
++COMMON_ADAFLAGS= -gnatpgn
+ ifeq ($(TREECHECKING),)
+ CHECKING_ADAFLAGS=
+ else
+@@ -233,7 +233,7 @@ else
+ endif
+
+ # Strip -Werror during linking for the LTO bootstrap
+-GCC_LINKERFLAGS = $(filter-out -Werror, $(ALL_LINKERFLAGS))
++GCC_LINKERFLAGS = $(filter-out -Werror, $(ALL_LINKERFLAGS)) -Wl,--as-needed -Wl,-z,defs
+
+ GCC_LINK=$(LINKER) $(GCC_LINKERFLAGS) $(LDFLAGS)
+ GCC_LLINK=$(LLINKER) $(GCC_LINKERFLAGS) $(LDFLAGS)
+--- a/src/gcc/testsuite/lib/gnat.exp
++++ b/src/gcc/testsuite/lib/gnat.exp
+@@ -115,6 +115,7 @@ proc gnat_target_compile { source dest t
+ global TOOL_OPTIONS
+ global gnat_target_current
+ global TEST_ALWAYS_FLAGS
++ global ld_library_path
+
+ # dg-require-effective-target tests must be compiled as C.
+ if [ string match "*.c" $source ] then {
+@@ -144,6 +145,11 @@ proc gnat_target_compile { source dest t
+ # Always log so compilations can be repeated manually.
+ verbose -log "ADA_INCLUDE_PATH=$rtsdir/adainclude"
+ verbose -log "ADA_OBJECTS_PATH=$rtsdir/adainclude"
++
++ if { ! [ string match "*/libada/adalib*" $ld_library_path ] } {
++ append ld_library_path ":$rtsdir/adalib"
++ set_ld_library_path_env_vars
++ }
+ }
+
+ lappend options "compiler=$GNAT_UNDER_TEST -q -f"
--- /dev/null
+Description: For biarch builds, disable the gnat testsuite for the non-default
+ architecture (no biarch support in gnat yet).
+Author: Matthias Klose <doko@debian.org>
+
+Index: b/src/gcc/Makefile.in
+===================================================================
+--- a/src/gcc/Makefile.in
++++ b/src/gcc/Makefile.in
+@@ -4510,7 +4510,11 @@
+ if [ -f $${rootme}/../expect/expect ] ; then \
+ TCL_LIBRARY=`cd .. ; cd $${srcdir}/../tcl/library ; ${PWD_COMMAND}` ; \
+ export TCL_LIBRARY ; fi ; \
+- $(RUNTEST) --tool $* $(RUNTESTFLAGS))
++ if [ "$*" = gnat ]; then \
++ runtestflags="`echo '$(RUNTESTFLAGS)' | sed -r 's/,-m(32|64|x32)//g;s/,-mabi=(n32|64)//g'`"; \
++ case "$$runtestflags" in *\\{\\}) runtestflags=; esac; \
++ fi; \
++ $(RUNTEST) --tool $* $$runtestflags)
+
+ $(patsubst %,%-subtargets,$(filter-out $(lang_checks_parallelized),$(lang_checks))): check-%-subtargets:
+ @echo check-$*
--- /dev/null
+# DP: Fix perl shebang for the gnathtml binary.
+
+--- a/src/gcc/ada/gnathtml.pl
++++ b/src/gcc/ada/gnathtml.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/env perl
++#! /usr/bin/perl
+
+ #-----------------------------------------------------------------------------
+ #- --
--- /dev/null
+# Please read ada-changes-in-autogen-output.diff about src/Makefile.def.
+
+# !!! Must be applied after ada-libgnatvsn.diff
+
+Index: b/src/libada-sjlj/Makefile.in
+===================================================================
+--- /dev/null
++++ b/src/libada-sjlj/Makefile.in
+@@ -0,0 +1,203 @@
++# Makefile for libada.
++# Copyright (C) 2003-2017 Free Software Foundation, Inc.
++#
++# This file is free software; you can redistribute it and/or modify
++# it under the terms of the GNU General Public License as published by
++# the Free Software Foundation; either version 3 of the License, or
++# (at your option) any later version.
++#
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++# GNU General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with this program; see the file COPYING3. If not see
++# <http://www.gnu.org/licenses/>.
++
++# Default target; must be first.
++all: gnatlib
++ $(MULTIDO) $(AM_MAKEFLAGS) DO=all multi-do # $(MAKE)
++
++.PHONY: all
++
++## Multilib support variables.
++MULTISRCTOP =
++MULTIBUILDTOP =
++MULTIDIRS =
++MULTISUBDIR =
++MULTIDO = true
++MULTICLEAN = true
++
++# Standard autoconf-set variables.
++SHELL = @SHELL@
++srcdir = @srcdir@
++libdir = @libdir@
++build = @build@
++target = @target@
++prefix = @prefix@
++
++# Nonstandard autoconf-set variables.
++enable_shared = @enable_shared@
++
++LN_S=@LN_S@
++AWK=@AWK@
++
++ifeq (cp -p,$(LN_S))
++LN_S_RECURSIVE = cp -pR
++else
++LN_S_RECURSIVE = $(LN_S)
++endif
++
++# Variables for the user (or the top level) to override.
++objext=.o
++THREAD_KIND=native
++TRACE=no
++LDFLAGS=
++
++# The tedious process of getting CFLAGS right.
++CFLAGS=-g
++PICFLAG = @PICFLAG@
++GNATLIBFLAGS= -W -Wall -gnatpg -nostdinc
++GNATLIBCFLAGS= -g -O2
++GNATLIBCFLAGS_FOR_C = -W -Wall $(GNATLIBCFLAGS) $(CFLAGS_FOR_TARGET) \
++ -fexceptions -DIN_RTS @have_getipinfo@ @have_capability@
++
++host_subdir = @host_subdir@
++GCC_DIR=$(MULTIBUILDTOP)../../$(host_subdir)/gcc
++
++target_noncanonical:=@target_noncanonical@
++version := $(shell @get_gcc_base_ver@ $(srcdir)/../gcc/BASE-VER)
++libsubdir := $(libdir)/gcc/$(target_noncanonical)/$(version)$(MULTISUBDIR)
++ADA_RTS_DIR=$(GCC_DIR)/ada/rts$(subst /,_,$(MULTISUBDIR))
++ADA_RTS_SUBDIR=./rts$(subst /,_,$(MULTISUBDIR))
++
++# exeext should not be used because it's the *host* exeext. We're building
++# a *target* library, aren't we?!? Likewise for CC. Still, provide bogus
++# definitions just in case something slips through the safety net provided
++# by recursive make invocations in gcc/ada/Makefile.in
++LIBADA_FLAGS_TO_PASS = \
++ "MAKEOVERRIDES=" \
++ "LDFLAGS=$(LDFLAGS) -Wl,--as-needed -Wl,-z,defs" \
++ "LN_S=$(LN_S)" \
++ "SHELL=$(SHELL)" \
++ "GNATLIBFLAGS=$(GNATLIBFLAGS) $(MULTIFLAGS) -gnatn" \
++ "GNATLIBCFLAGS=$(GNATLIBCFLAGS) $(MULTIFLAGS)" \
++ "GNATLIBCFLAGS_FOR_C=$(GNATLIBCFLAGS_FOR_C) $(MULTIFLAGS)" \
++ "PICFLAG_FOR_TARGET=$(PICFLAG)" \
++ "THREAD_KIND=$(THREAD_KIND)" \
++ "TRACE=$(TRACE)" \
++ "MULTISUBDIR=$(MULTISUBDIR)" \
++ "libsubdir=$(libsubdir)" \
++ "objext=$(objext)" \
++ "prefix=$(prefix)" \
++ "exeext=.exeext.should.not.be.used " \
++ 'CC=the.host.compiler.should.not.be.needed' \
++ "GCC_FOR_TARGET=$(CC)" \
++ "CFLAGS=$(CFLAGS)" \
++ "RTSDIR=rts-sjlj"
++
++# Rules to build gnatlib.
++.PHONY: gnatlib gnatlib-plain gnatlib-sjlj gnatlib-zcx gnatlib-shared osconstool
++gnatlib: gnatlib-sjlj
++
++gnatlib-plain: osconstool $(GCC_DIR)/ada/Makefile
++ test -f stamp-libada || \
++ $(MAKE) -C $(GCC_DIR)/ada $(LIBADA_FLAGS_TO_PASS) gnatlib \
++ && touch stamp-libada
++ -rm -rf adainclude
++ -rm -rf adalib
++ $(LN_S_RECURSIVE) $(ADA_RTS_DIR) adainclude
++ $(LN_S_RECURSIVE) $(ADA_RTS_DIR) adalib
++
++gnatlib-sjlj gnatlib-zcx gnatlib-shared: osconstool $(GCC_DIR)/ada/Makefile
++ test -f stamp-libada || \
++ $(MAKE) -C $(GCC_DIR)/ada $(LIBADA_FLAGS_TO_PASS) $@ \
++ && touch stamp-libada-sjlj
++ -rm -rf adainclude
++ -rm -rf adalib
++ $(LN_S_RECURSIVE) $(ADA_RTS_DIR) adainclude
++ $(LN_S_RECURSIVE) $(ADA_RTS_DIR) adalib
++
++osconstool:
++ $(MAKE) -C $(GCC_DIR)/ada $(LIBADA_FLAGS_TO_PASS) ./bldtools/oscons/xoscons
++
++install-gnatlib: $(GCC_DIR)/ada/Makefile
++ $(MAKE) -C $(GCC_DIR)/ada $(LIBADA_FLAGS_TO_PASS) install-gnatlib-sjlj
++
++# Check uninstalled version.
++check:
++
++# Check installed version.
++installcheck:
++
++# Build info (none here).
++info:
++
++# Build DVI (none here).
++dvi:
++
++# Build PDF (none here).
++pdf:
++
++# Build html (none here).
++html:
++
++# Build TAGS (none here).
++TAGS:
++
++.PHONY: check installcheck info dvi pdf html
++
++# Installation rules.
++install: install-gnatlib
++ $(MULTIDO) $(AM_MAKEFLAGS) DO=install multi-do # $(MAKE)
++
++install-strip: install
++
++install-info:
++
++install-pdf:
++
++install-html:
++
++.PHONY: install install-strip install-info install-pdf install-html
++
++# Cleaning rules.
++mostlyclean:
++ $(MULTICLEAN) $(AM_MAKEFLAGS) DO=mostlyclean multi-clean # $(MAKE)
++
++clean:
++ $(MULTICLEAN) $(AM_MAKEFLAGS) DO=clean multi-clean # $(MAKE)
++
++distclean:
++ $(MULTICLEAN) $(AM_MAKEFLAGS) DO=distclean multi-clean # $(MAKE)
++ $(RM) Makefile config.status config.log
++
++maintainer-clean:
++
++.PHONY: mostlyclean clean distclean maintainer-clean
++
++# Rules for rebuilding this Makefile.
++Makefile: $(srcdir)/Makefile.in config.status
++ CONFIG_FILES=$@ ; \
++ CONFIG_HEADERS= ; \
++ $(SHELL) ./config.status
++
++config.status: $(srcdir)/configure
++ $(SHELL) ./config.status --recheck
++
++AUTOCONF = autoconf
++configure_deps = \
++ $(srcdir)/configure.ac \
++ $(srcdir)/../config/acx.m4 \
++ $(srcdir)/../config/multi.m4 \
++ $(srcdir)/../config/override.m4 \
++ $(srcdir)/../config/picflag.m4 \
++ $(srcdir)/../config/unwind_ipinfo.m4
++
++$(srcdir)/configure: @MAINT@ $(configure_deps)
++ cd $(srcdir) && $(AUTOCONF)
++
++# Don't export variables to the environment, in order to not confuse
++# configure.
++.NOEXPORT:
+Index: b/src/libada-sjlj/configure.ac
+===================================================================
+--- /dev/null
++++ b/src/libada-sjlj/configure.ac
+@@ -0,0 +1,156 @@
++# Configure script for libada.
++# Copyright (C) 2003-2017 Free Software Foundation, Inc.
++#
++# This file is free software; you can redistribute it and/or modify it
++# under the terms of the GNU General Public License as published by
++# the Free Software Foundation; either version 3 of the License, or
++# (at your option) any later version.
++#
++# This program is distributed in the hope that it will be useful, but
++# WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++# General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with this program; see the file COPYING3. If not see
++# <http://www.gnu.org/licenses/>.
++
++sinclude(../config/acx.m4)
++sinclude(../config/multi.m4)
++sinclude(../config/override.m4)
++sinclude(../config/picflag.m4)
++sinclude(../config/unwind_ipinfo.m4)
++
++AC_INIT
++AC_PREREQ([2.64])
++
++AC_CONFIG_SRCDIR([Makefile.in])
++
++# Determine the host, build, and target systems
++AC_CANONICAL_BUILD
++AC_CANONICAL_HOST
++AC_CANONICAL_TARGET
++target_alias=${target_alias-$host_alias}
++
++# Determine the noncanonical target name, for directory use.
++ACX_NONCANONICAL_TARGET
++
++# Determine the target- and build-specific subdirectories
++GCC_TOPLEV_SUBDIRS
++
++# Command-line options.
++# Very limited version of AC_MAINTAINER_MODE.
++AC_ARG_ENABLE([maintainer-mode],
++ [AC_HELP_STRING([--enable-maintainer-mode],
++ [enable make rules and dependencies not useful (and
++ sometimes confusing) to the casual installer])],
++ [case ${enable_maintainer_mode} in
++ yes) MAINT='' ;;
++ no) MAINT='#' ;;
++ *) AC_MSG_ERROR([--enable-maintainer-mode must be yes or no]) ;;
++ esac
++ maintainer_mode=${enableval}],
++ [MAINT='#'])
++AC_SUBST([MAINT])dnl
++
++AM_ENABLE_MULTILIB(, ..)
++# Calculate toolexeclibdir
++# Also toolexecdir, though it's only used in toolexeclibdir
++case ${enable_version_specific_runtime_libs} in
++ yes)
++ # Need the gcc compiler version to know where to install libraries
++ # and header files if --enable-version-specific-runtime-libs option
++ # is selected.
++ toolexecdir='$(libdir)/gcc/$(target_alias)'
++ toolexeclibdir='$(toolexecdir)/$(gcc_version)$(MULTISUBDIR)'
++ ;;
++ no)
++ if test -n "$with_cross_host" &&
++ test x"$with_cross_host" != x"no"; then
++ # Install a library built with a cross compiler in tooldir, not libdir.
++ toolexecdir='$(exec_prefix)/$(target_alias)'
++ toolexeclibdir='$(toolexecdir)/lib'
++ else
++ toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
++ toolexeclibdir='$(libdir)'
++ fi
++ multi_os_directory=`$CC -print-multi-os-directory`
++ case $multi_os_directory in
++ .) ;; # Avoid trailing /.
++ *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
++ esac
++ ;;
++esac
++AC_SUBST(toolexecdir)
++AC_SUBST(toolexeclibdir)
++#TODO: toolexeclibdir is currently disregarded
++
++# Check the compiler.
++# The same as in boehm-gc and libstdc++. Have to borrow it from there.
++# We must force CC to /not/ be precious variables; otherwise
++# the wrong, non-multilib-adjusted value will be used in multilibs.
++# As a side effect, we have to subst CFLAGS ourselves.
++
++m4_rename([_AC_ARG_VAR_PRECIOUS],[real_PRECIOUS])
++m4_define([_AC_ARG_VAR_PRECIOUS],[])
++AC_PROG_CC
++m4_rename_force([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])
++
++AC_SUBST(CFLAGS)
++
++AC_ARG_ENABLE([shared],
++[AC_HELP_STRING([--disable-shared],
++ [don't provide a shared libgnat])],
++[
++case $enable_shared in
++ yes | no) ;;
++ *)
++ enable_shared=no
++ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
++ for pkg in $enableval; do
++ case $pkg in
++ ada | libada)
++ enable_shared=yes ;;
++ esac
++ done
++ IFS="$ac_save_ifs"
++ ;;
++esac
++], [enable_shared=yes])
++AC_SUBST([enable_shared])
++
++GCC_PICFLAG
++AC_SUBST([PICFLAG])
++
++# These must be passed down, or are needed by gcc/libgcc.mvars
++AC_PROG_AWK
++AC_PROG_LN_S
++
++# Determine what to build for 'gnatlib'
++if test ${enable_shared} = yes; then
++ default_gnatlib_target="gnatlib-shared"
++else
++ default_gnatlib_target="gnatlib-plain"
++fi
++AC_SUBST([default_gnatlib_target])
++
++# Check for _Unwind_GetIPInfo
++GCC_CHECK_UNWIND_GETIPINFO
++if test x$have_unwind_getipinfo = xyes; then
++ have_getipinfo=-DHAVE_GETIPINFO
++else
++ have_getipinfo=
++fi
++AC_SUBST([have_getipinfo])
++
++# Check for <sys/capability.h>
++AC_CHECK_HEADER([sys/capability.h], have_capability=-DHAVE_CAPABILITY, have_capability=)
++AC_SUBST([have_capability])
++
++# Determine what GCC version number to use in filesystem paths.
++GCC_BASE_VER
++
++# Output: create a Makefile.
++AC_CONFIG_FILES([Makefile])
++
++AC_OUTPUT
+Index: b/src/Makefile.def
+===================================================================
+--- a/src/Makefile.def
++++ b/src/Makefile.def
+@@ -195,6 +195,7 @@ target_modules = { module= libgnatvsn; n
+ missing= TAGS;
+ missing= install-info;
+ missing= installcheck; };
++target_modules = { module= libada-sjlj; };
+ target_modules = { module= libgomp; bootstrap= true; lib_path=.libs; };
+ target_modules = { module= libitm; lib_path=.libs; };
+ target_modules = { module= libatomic; lib_path=.libs; };
+@@ -391,6 +392,7 @@ dependencies = { module=all-libcpp; on=a
+ dependencies = { module=all-fixincludes; on=all-libiberty; };
+
+ dependencies = { module=all-target-libada; on=all-gcc; };
++dependencies = { module=all-target-libada-sjlj; on=all-target-libada; };
+ dependencies = { module=all-gnattools; on=all-target-libada; };
+ dependencies = { module=all-gnattools; on=all-target-libstdc++-v3; };
+ dependencies = { module=all-gnattools; on=all-target-libgnatvsn; };
+Index: b/src/configure.ac
+===================================================================
+--- a/src/configure.ac
++++ b/src/configure.ac
+@@ -169,6 +169,7 @@ target_libraries="target-libgcc \
+ target-libffi \
+ target-libobjc \
+ target-libada \
++ target-libada-sjlj \
+ ${target_libiberty} \
+ target-libgnatvsn \
+ target-libgo"
+@@ -455,7 +456,7 @@ AC_ARG_ENABLE(libada,
+ ENABLE_LIBADA=$enableval,
+ ENABLE_LIBADA=yes)
+ if test "${ENABLE_LIBADA}" != "yes" ; then
+- noconfigdirs="$noconfigdirs target-libgnatvsn gnattools"
++ noconfigdirs="$noconfigdirs target-libgnatvsn gnattools target-libada-sjlj"
+ fi
+
+ AC_ARG_ENABLE(libssp,
+Index: b/src/gcc/ada/gcc-interface/Makefile.in
+===================================================================
+--- a/src/gcc/ada/gcc-interface/Makefile.in
++++ b/src/gcc/ada/gcc-interface/Makefile.in
+@@ -190,7 +190,7 @@ TOOLSCASE =
+
+ # Multilib handling
+ MULTISUBDIR =
+-RTSDIR = rts$(subst /,_,$(MULTISUBDIR))
++RTSDIR := rts$(subst /,_,$(MULTISUBDIR))
+
+ # Link flags used to build gnat tools. By default we prefer to statically
+ # link with libgcc to avoid a dependency on shared libgcc (which is tricky
+@@ -2349,6 +2349,26 @@ install-gnatlib: ../stamp-gnatlib-$(RTSD
+ cd $(DESTDIR)$(ADA_INCLUDE_DIR); $(CHMOD) a-wx *.adb
+ cd $(DESTDIR)$(ADA_INCLUDE_DIR); $(CHMOD) a-wx *.ads
+
++install-gnatlib-sjlj: ../stamp-gnatlib-$(RTSDIR)
++# Create the directory before deleting it, in case the directory is
++# a list of directories (as it may be on VMS). This ensures we are
++# deleting the right one.
++ -$(MKDIR) $(DESTDIR)$(ADA_RTL_OBJ_DIR_SJLJ)
++ -$(MKDIR) $(DESTDIR)$(ADA_INCLUDE_DIR_SJLJ)
++ $(RMDIR) $(DESTDIR)$(ADA_RTL_OBJ_DIR_SJLJ)
++ $(RMDIR) $(DESTDIR)$(ADA_INCLUDE_DIR_SJLJ)
++ -$(MKDIR) $(DESTDIR)$(ADA_RTL_OBJ_DIR_SJLJ)
++ -$(MKDIR) $(DESTDIR)$(ADA_INCLUDE_DIR_SJLJ)
++ for file in $(RTSDIR)/*.ali; do \
++ $(INSTALL_DATA_DATE) $$file $(DESTDIR)$(ADA_RTL_OBJ_DIR_SJLJ); \
++ done
++ # This copy must be done preserving the date on the original file.
++ for file in $(RTSDIR)/*.ad?; do \
++ $(INSTALL_DATA_DATE) $$file $(DESTDIR)$(ADA_INCLUDE_DIR_SJLJ); \
++ done
++ cd $(DESTDIR)$(ADA_INCLUDE_DIR_SJLJ); $(CHMOD) a-wx *.adb
++ cd $(DESTDIR)$(ADA_INCLUDE_DIR_SJLJ); $(CHMOD) a-wx *.ads
++
+ ../stamp-gnatlib2-$(RTSDIR):
+ $(RM) $(RTSDIR)/s-*.ali
+ $(RM) $(RTSDIR)/s-*$(objext)
+@@ -2630,7 +2650,7 @@ gnatlib-shared:
+ # commenting the pragma instead of deleting the line, as the latter might
+ # result in getting multiple blank lines, hence possible style check errors.
+ gnatlib-sjlj:
+- $(MAKE) $(FLAGS_TO_PASS) EH_MECHANISM="" \
++ $(MAKE) $(FLAGS_TO_PASS) EH_MECHANISM="-gcc" RTSDIR="$(RTSDIR)" \
+ THREAD_KIND="$(THREAD_KIND)" ../stamp-gnatlib1-$(RTSDIR)
+ sed \
+ -e 's/Frontend_Exceptions.*/Frontend_Exceptions : constant Boolean := True;/' \
+@@ -2639,6 +2659,7 @@ gnatlib-sjlj:
+ $(RTSDIR)/system.ads > $(RTSDIR)/s.ads
+ $(MV) $(RTSDIR)/s.ads $(RTSDIR)/system.ads
+ $(MAKE) $(FLAGS_TO_PASS) \
++ RTSDIR="$(RTSDIR)" \
+ EH_MECHANISM="" \
+ GNATLIBFLAGS="$(GNATLIBFLAGS)" \
+ GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \
+@@ -2690,6 +2711,8 @@ b_gnatm.o : b_gnatm.adb
+
+ ADA_INCLUDE_DIR = $(libsubdir)/adainclude
+ ADA_RTL_OBJ_DIR = $(libsubdir)/adalib
++ADA_INCLUDE_DIR_SJLJ = $(libsubdir)/rts-sjlj/adainclude
++ADA_RTL_OBJ_DIR_SJLJ = $(libsubdir)/rts-sjlj/adalib
+
+ # Special flags
+
+Index: b/src/gcc/ada/gcc-interface/config-lang.in
+===================================================================
+--- a/src/gcc/ada/gcc-interface/config-lang.in
++++ b/src/gcc/ada/gcc-interface/config-lang.in
+@@ -34,8 +34,8 @@ gtfiles="\$(srcdir)/ada/gcc-interface/ad
+
+ outputs="ada/gcc-interface/Makefile ada/Makefile"
+
+-target_libs="target-libada target-libgnatvsn"
+-lang_dirs="libada gnattools"
++target_libs="target-libada target-libgnatvsn target-libada-sjlj"
++lang_dirs="libada gnattools libada-sjlj"
+
+ # Ada is not enabled by default for the time being.
+ build_by_default=no
+Index: b/src/gcc/ada/gcc-interface/Make-lang.in
+===================================================================
+--- a/src/gcc/ada/gcc-interface/Make-lang.in
++++ b/src/gcc/ada/gcc-interface/Make-lang.in
+@@ -844,6 +844,7 @@ ada.install-common:
+
+ install-gnatlib:
+ $(MAKE) -C ada $(COMMON_FLAGS_TO_PASS) $(ADA_FLAGS_TO_PASS) install-gnatlib$(LIBGNAT_TARGET)
++ $(MAKE) -C ada $(COMMON_FLAGS_TO_PASS) $(ADA_FLAGS_TO_PASS) RTSDIR="rts-sjlj" install-gnatlib-sjlj$(LIBGNAT_TARGET)
+
+ install-gnatlib-obj:
+ $(MAKE) -C ada $(COMMON_FLAGS_TO_PASS) $(ADA_FLAGS_TO_PASS) install-gnatlib-obj
--- /dev/null
+Description: For Ada tools, move LDFLAGS from GCC_LINK to TOOLS_LIBS.
+ Gnatlink moves GCC_LINK linker options after other options,
+ probably so that standard libraries come after user libraries
+ in case --as-needed is activated.
+ However, if --as-needed is activated via LDFLAGS, it is appended via
+ GCC_LINK and comes too late on the eventual command line.
+ All GCC_LINKS expansions but one are followed by an expansion of
+ TOOLS_LIBS, so TOOLS_LIBS seems to be the right place for LDFLAGS.
+Author: Nicolas Boulenguez <nicolas@debian.org>
+Forwarded: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81104
+
+Index: b/src/gcc/ada/gcc-interface/Makefile.in
+===================================================================
+--- a/src/gcc/ada/gcc-interface/Makefile.in
++++ b/src/gcc/ada/gcc-interface/Makefile.in
+@@ -247,7 +247,7 @@ LIBS = $(LIBINTL) $(LIBICONV) $(LIBBACKT
+ LIBDEPS = $(LIBINTL_DEP) $(LIBICONV_DEP) $(LIBBACKTRACE) $(LIBIBERTY)
+ # Default is no TGT_LIB; one might be passed down or something
+ TGT_LIB =
+-TOOLS_LIBS = ../link.o ../targext.o ../../ggc-none.o ../../libcommon-target.a \
++TOOLS_LIBS = $(LDFLAGS) ../link.o ../targext.o ../../ggc-none.o ../../libcommon-target.a \
+ ../../libcommon.a ../../../libcpp/libcpp.a $(LIBGNAT) $(LIBINTL) $(LIBICONV) \
+ ../$(LIBBACKTRACE) ../$(LIBIBERTY) $(SYSLIBS) $(TGT_LIB)
+
+@@ -2150,7 +2150,7 @@ TOOLS_FLAGS_TO_PASS= \
+ "GNATLINK=$(GNATLINK)" \
+ "GNATBIND=$(GNATBIND)"
+
+-GCC_LINK=$(CXX) $(GCC_LINK_FLAGS) $(LDFLAGS)
++GCC_LINK=$(CXX) $(GCC_LINK_FLAGS)
+
+ # Build directory for the tools. Let's copy the target-dependent
+ # sources using the same mechanism as for gnatlib. The other sources are
+@@ -2250,7 +2250,7 @@ common-tools: ../stamp-tools
+ $(GNATMAKE) -c $(ADA_INCLUDES) vxaddr2line --GCC="$(CC) $(ALL_ADAFLAGS)"
+ $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) vxaddr2line
+ $(GNATLINK) -v vxaddr2line -o $@ \
+- --GCC="$(CC) $(ADA_INCLUDES)" --LINK="$(GCC_LINK)" ../targext.o $(CLIB)
++ --GCC="$(CC) $(ADA_INCLUDES)" --LINK="$(GCC_LINK)" ../targext.o $(CLIB) $(LDFLAGS)
+
+ gnatmake-re: ../stamp-tools
+ $(GNATMAKE) -j0 $(ADA_INCLUDES) -u sdefault --GCC="$(CC) $(MOST_ADA_FLAGS)"
--- /dev/null
+Description: Display subprocess command lines when building Ada.
+ The log can be a page longer if it helps debugging.
+Forwarded: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87778
+Author: Nicolas Boulenguez <nicolas@debian.org>
+
+Index: b/src/gcc/ada/Make-generated.in
+===================================================================
+--- a/src/gcc/ada/Make-generated.in
++++ b/src/gcc/ada/Make-generated.in
+@@ -28,21 +28,21 @@ $(ADA_GEN_SUBDIR)/treeprs.ads : $(ADA_GE
+ -$(MKDIR) $(ADA_GEN_SUBDIR)/bldtools/treeprs
+ $(RM) $(addprefix $(ADA_GEN_SUBDIR)/bldtools/treeprs/,$(notdir $^))
+ $(CP) $^ $(ADA_GEN_SUBDIR)/bldtools/treeprs
+- (cd $(ADA_GEN_SUBDIR)/bldtools/treeprs; gnatmake -q xtreeprs ; ./xtreeprs treeprs.ads )
++ cd $(ADA_GEN_SUBDIR)/bldtools/treeprs && gnatmake -v xtreeprs && ./xtreeprs treeprs.ads
+ $(MOVE_IF_CHANGE) $(ADA_GEN_SUBDIR)/bldtools/treeprs/treeprs.ads $(ADA_GEN_SUBDIR)/treeprs.ads
+
+ $(ADA_GEN_SUBDIR)/einfo.h : $(ADA_GEN_SUBDIR)/einfo.ads $(ADA_GEN_SUBDIR)/einfo.adb $(ADA_GEN_SUBDIR)/xeinfo.adb $(ADA_GEN_SUBDIR)/ceinfo.adb
+ -$(MKDIR) $(ADA_GEN_SUBDIR)/bldtools/einfo
+ $(RM) $(addprefix $(ADA_GEN_SUBDIR)/bldtools/einfo/,$(notdir $^))
+ $(CP) $^ $(ADA_GEN_SUBDIR)/bldtools/einfo
+- (cd $(ADA_GEN_SUBDIR)/bldtools/einfo; gnatmake -q xeinfo ; ./xeinfo einfo.h )
++ cd $(ADA_GEN_SUBDIR)/bldtools/einfo && gnatmake -v xeinfo && ./xeinfo einfo.h
+ $(MOVE_IF_CHANGE) $(ADA_GEN_SUBDIR)/bldtools/einfo/einfo.h $(ADA_GEN_SUBDIR)/einfo.h
+
+ $(ADA_GEN_SUBDIR)/sinfo.h : $(ADA_GEN_SUBDIR)/sinfo.ads $(ADA_GEN_SUBDIR)/sinfo.adb $(ADA_GEN_SUBDIR)/xsinfo.adb $(ADA_GEN_SUBDIR)/csinfo.adb
+ -$(MKDIR) $(ADA_GEN_SUBDIR)/bldtools/sinfo
+ $(RM) $(addprefix $(ADA_GEN_SUBDIR)/bldtools/sinfo/,$(notdir $^))
+ $(CP) $^ $(ADA_GEN_SUBDIR)/bldtools/sinfo
+- (cd $(ADA_GEN_SUBDIR)/bldtools/sinfo; gnatmake -q xsinfo ; ./xsinfo sinfo.h )
++ cd $(ADA_GEN_SUBDIR)/bldtools/sinfo && gnatmake -v xsinfo && ./xsinfo sinfo.h
+ $(MOVE_IF_CHANGE) $(ADA_GEN_SUBDIR)/bldtools/sinfo/sinfo.h $(ADA_GEN_SUBDIR)/sinfo.h
+
+ $(ADA_GEN_SUBDIR)/snames.h $(ADA_GEN_SUBDIR)/snames.ads $(ADA_GEN_SUBDIR)/snames.adb : $(ADA_GEN_SUBDIR)/stamp-snames ; @true
+@@ -50,7 +50,7 @@ $(ADA_GEN_SUBDIR)/stamp-snames : $(ADA_G
+ -$(MKDIR) $(ADA_GEN_SUBDIR)/bldtools/snamest
+ $(RM) $(addprefix $(ADA_GEN_SUBDIR)/bldtools/snamest/,$(notdir $^))
+ $(CP) $^ $(ADA_GEN_SUBDIR)/bldtools/snamest
+- (cd $(ADA_GEN_SUBDIR)/bldtools/snamest; gnatmake -q xsnamest ; ./xsnamest )
++ cd $(ADA_GEN_SUBDIR)/bldtools/snamest && gnatmake -v xsnamest && ./xsnamest
+ $(MOVE_IF_CHANGE) $(ADA_GEN_SUBDIR)/bldtools/snamest/snames.ns $(ADA_GEN_SUBDIR)/snames.ads
+ $(MOVE_IF_CHANGE) $(ADA_GEN_SUBDIR)/bldtools/snamest/snames.nb $(ADA_GEN_SUBDIR)/snames.adb
+ $(MOVE_IF_CHANGE) $(ADA_GEN_SUBDIR)/bldtools/snamest/snames.nh $(ADA_GEN_SUBDIR)/snames.h
+@@ -61,7 +61,7 @@ $(ADA_GEN_SUBDIR)/stamp-nmake: $(ADA_GEN
+ -$(MKDIR) $(ADA_GEN_SUBDIR)/bldtools/nmake
+ $(RM) $(addprefix $(ADA_GEN_SUBDIR)/bldtools/nmake/,$(notdir $^))
+ $(CP) $^ $(ADA_GEN_SUBDIR)/bldtools/nmake
+- (cd $(ADA_GEN_SUBDIR)/bldtools/nmake; gnatmake -q xnmake ; ./xnmake -b nmake.adb ; ./xnmake -s nmake.ads)
++ cd $(ADA_GEN_SUBDIR)/bldtools/nmake && gnatmake -v xnmake && ./xnmake -b nmake.adb && ./xnmake -s nmake.ads
+ $(MOVE_IF_CHANGE) $(ADA_GEN_SUBDIR)/bldtools/nmake/nmake.ads $(ADA_GEN_SUBDIR)/nmake.ads
+ $(MOVE_IF_CHANGE) $(ADA_GEN_SUBDIR)/bldtools/nmake/nmake.adb $(ADA_GEN_SUBDIR)/nmake.adb
+ touch $(ADA_GEN_SUBDIR)/stamp-nmake
+Index: b/src/gcc/ada/gcc-interface/Makefile.in
+===================================================================
+--- a/src/gcc/ada/gcc-interface/Makefile.in
++++ b/src/gcc/ada/gcc-interface/Makefile.in
+@@ -2402,7 +2402,7 @@ OSCONS_EXTRACT=$(OSCONS_CC) $(GNATLIBCFL
+ -$(MKDIR) ./bldtools/oscons
+ $(RM) $(addprefix ./bldtools/oscons/,$(notdir $^))
+ $(CP) $^ ./bldtools/oscons
+- (cd ./bldtools/oscons ; gnatmake -q xoscons)
++ cd ./bldtools/oscons && gnatmake -v xoscons
+
+ $(RTSDIR)/s-oscons.ads: ../stamp-gnatlib1-$(RTSDIR) s-oscons-tmplt.c gsocket.h ./bldtools/oscons/xoscons
+ $(RM) $(RTSDIR)/s-oscons-tmplt.i $(RTSDIR)/s-oscons-tmplt.s
--- /dev/null
+Index: b/src/libgo/go/cmd/go/internal/base/signal_unix.go
+===================================================================
+--- a/src/libgo/go/cmd/go/internal/base/signal_unix.go
++++ b/src/libgo/go/cmd/go/internal/base/signal_unix.go
+@@ -1,8 +1,9 @@
++
+ // Copyright 2012 The Go Authors. All rights reserved.
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris
++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris
+
+ package base
+
+Index: b/src/libgo/go/crypto/x509/root_unix.go
+===================================================================
+--- a/src/libgo/go/crypto/x509/root_unix.go
++++ b/src/libgo/go/crypto/x509/root_unix.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix dragonfly freebsd linux nacl netbsd openbsd solaris
++// +build aix dragonfly freebsd gnu linux nacl netbsd openbsd solaris
+
+ package x509
+
+Index: b/src/libgo/go/net/interface_stub.go
+===================================================================
+--- a/src/libgo/go/net/interface_stub.go
++++ b/src/libgo/go/net/interface_stub.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix nacl
++// +build aix nacl gnu
+
+ package net
+
+Index: b/src/libgo/go/net/internal/socktest/switch_unix.go
+===================================================================
+--- a/src/libgo/go/net/internal/socktest/switch_unix.go
++++ b/src/libgo/go/net/internal/socktest/switch_unix.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris
++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris
+
+ package socktest
+
+Index: b/src/libgo/go/net/port_unix.go
+===================================================================
+--- a/src/libgo/go/net/port_unix.go
++++ b/src/libgo/go/net/port_unix.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris nacl
++// +build aix darwin dragonfly freebsd gnu linux netbsd openbsd solaris nacl
+
+ // Read system port mappings from /etc/services
+
+Index: b/src/libgo/go/os/dir_largefile.go
+===================================================================
+--- a/src/libgo/go/os/dir_largefile.go
++++ b/src/libgo/go/os/dir_largefile.go
+@@ -5,7 +5,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix linux solaris,386 solaris,sparc
++// +build aix gnu linux solaris,386 solaris,sparc
+
+ package os
+
+Index: b/src/libgo/go/os/dir_regfile.go
+===================================================================
+--- a/src/libgo/go/os/dir_regfile.go
++++ b/src/libgo/go/os/dir_regfile.go
+@@ -6,6 +6,7 @@
+ // license that can be found in the LICENSE file.
+
+ // +build !aix
++// +build !gnu
+ // +build !linux
+ // +build !solaris !386
+ // +build !solaris !sparc
+Index: b/src/libgo/go/os/dir_unix.go
+===================================================================
+--- a/src/libgo/go/os/dir_unix.go
++++ b/src/libgo/go/os/dir_unix.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris
++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris
+
+ package os
+
+Index: b/src/libgo/go/os/exec_unix.go
+===================================================================
+--- a/src/libgo/go/os/exec_unix.go
++++ b/src/libgo/go/os/exec_unix.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris
++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris
+
+ package os
+
+Index: b/src/libgo/go/os/stat_atim.go
+===================================================================
+--- a/src/libgo/go/os/stat_atim.go
++++ b/src/libgo/go/os/stat_atim.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build linux openbsd solaristag
++// +build gnu linux openbsd solaristag
+
+ package os
+
+Index: b/src/libgo/go/os/stat_unix.go
+===================================================================
+--- a/src/libgo/go/os/stat_unix.go
++++ b/src/libgo/go/os/stat_unix.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris
++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris
+
+ package os
+
+Index: b/src/libgo/go/os/sys_uname.go
+===================================================================
+--- a/src/libgo/go/os/sys_uname.go
++++ b/src/libgo/go/os/sys_uname.go
+@@ -4,7 +4,7 @@
+
+ // For systems which only store the hostname in uname (Solaris).
+
+-// +build aix solaris irix rtems
++// +build aix gnu solaris irix rtems
+
+ package os
+
+Index: b/src/libgo/go/os/user/listgroups_unix.go
+===================================================================
+--- a/src/libgo/go/os/user/listgroups_unix.go
++++ b/src/libgo/go/os/user/listgroups_unix.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build dragonfly darwin freebsd !android,linux netbsd openbsd
++// +build dragonfly darwin freebsd gnu !android,linux netbsd openbsd
+
+ package user
+
+Index: b/src/libgo/go/os/wait_unimp.go
+===================================================================
+--- a/src/libgo/go/os/wait_unimp.go
++++ b/src/libgo/go/os/wait_unimp.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly nacl netbsd openbsd solaris
++// +build aix darwin dragonfly gnu nacl netbsd openbsd solaris
+
+ package os
+
+Index: b/src/libgo/go/path/filepath/path_unix.go
+===================================================================
+--- a/src/libgo/go/path/filepath/path_unix.go
++++ b/src/libgo/go/path/filepath/path_unix.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris
++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris
+
+ package filepath
+
+Index: b/src/libgo/go/runtime/env_posix.go
+===================================================================
+--- a/src/libgo/go/runtime/env_posix.go
++++ b/src/libgo/go/runtime/env_posix.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris windows
++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris windows
+
+ package runtime
+
+Index: b/src/libgo/go/runtime/lock_sema.go
+===================================================================
+--- a/src/libgo/go/runtime/lock_sema.go
++++ b/src/libgo/go/runtime/lock_sema.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin nacl netbsd openbsd plan9 solaris windows
++// +build aix darwin gnu nacl netbsd openbsd plan9 solaris windows
+
+ package runtime
+
+Index: b/src/libgo/go/runtime/netpoll.go
+===================================================================
+--- a/src/libgo/go/runtime/netpoll.go
++++ b/src/libgo/go/runtime/netpoll.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris windows
++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris windows
+
+ package runtime
+
+Index: b/src/libgo/go/runtime/signal_gccgo.go
+===================================================================
+--- a/src/libgo/go/runtime/signal_gccgo.go
++++ b/src/libgo/go/runtime/signal_gccgo.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
++// +build aix darwin dragonfly freebsd gnu linux netbsd openbsd solaris
+
+ package runtime
+
+Index: b/src/libgo/go/runtime/signal_sighandler.go
+===================================================================
+--- a/src/libgo/go/runtime/signal_sighandler.go
++++ b/src/libgo/go/runtime/signal_sighandler.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris
++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris
+
+ package runtime
+
+Index: b/src/libgo/go/syscall/errstr.go
+===================================================================
+--- a/src/libgo/go/syscall/errstr.go
++++ b/src/libgo/go/syscall/errstr.go
+@@ -4,6 +4,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
++// +build !gnu
+ // +build !linux
+
+ package syscall
+Index: b/src/libgo/go/syscall/libcall_posix.go
+===================================================================
+--- a/src/libgo/go/syscall/libcall_posix.go
++++ b/src/libgo/go/syscall/libcall_posix.go
+@@ -9,6 +9,8 @@
+ // Note that sometimes we use a lowercase //sys name and
+ // wrap it in our own nicer implementation.
+
++// +build !gnu
++
+ package syscall
+
+ import "unsafe"
+Index: b/src/libgo/go/syscall/libcall_posix_largefile.go
+===================================================================
+--- a/src/libgo/go/syscall/libcall_posix_largefile.go
++++ b/src/libgo/go/syscall/libcall_posix_largefile.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix linux solaris,386 solaris,sparc
++// +build aix gnu linux solaris,386 solaris,sparc
+
+ // POSIX library calls on systems which use the largefile interface.
+
+Index: b/src/libgo/go/syscall/libcall_posix_regfile.go
+===================================================================
+--- a/src/libgo/go/syscall/libcall_posix_regfile.go
++++ b/src/libgo/go/syscall/libcall_posix_regfile.go
+@@ -3,6 +3,7 @@
+ // license that can be found in the LICENSE file.
+
+ // +build !aix
++// +build !gnu
+ // +build !linux
+ // +build !solaris !386
+ // +build !solaris !sparc
+Index: b/src/libgo/go/syscall/libcall_posix_utimesnano.go
+===================================================================
+--- a/src/libgo/go/syscall/libcall_posix_utimesnano.go
++++ b/src/libgo/go/syscall/libcall_posix_utimesnano.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd openbsd netbsd solaris
++// +build aix darwin dragonfly freebsd gnu openbsd netbsd solaris
+
+ // General POSIX version of UtimesNano.
+
+Index: b/src/libgo/go/net/cgo_resnew.go
+===================================================================
+--- a/src/libgo/go/net/cgo_resnew.go
++++ b/src/libgo/go/net/cgo_resnew.go
+@@ -3,7 +3,7 @@
+ // license that can be found in the LICENSE file.
+
+ // +build cgo,!netgo
+-// +build aix darwin linux,!android netbsd solaris
++// +build aix darwin gnu linux,!android netbsd solaris
+
+ package net
+
+Index: b/src/libgo/go/net/cgo_sockold.go
+===================================================================
+--- a/src/libgo/go/net/cgo_sockold.go
++++ b/src/libgo/go/net/cgo_sockold.go
+@@ -3,7 +3,7 @@
+ // license that can be found in the LICENSE file.
+
+ // +build cgo,!netgo
+-// +build aix darwin dragonfly freebsd netbsd openbsd
++// +build aix darwin dragonfly freebsd gnu netbsd openbsd
+
+ package net
+
+Index: b/src/libgo/go/internal/poll/fd_poll_runtime.go
+===================================================================
+--- a/src/libgo/go/internal/poll/fd_poll_runtime.go
++++ b/src/libgo/go/internal/poll/fd_poll_runtime.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux netbsd openbsd windows solaris
++// +build aix darwin dragonfly freebsd gnu linux netbsd openbsd windows solaris
+
+ package poll
+
+Index: b/src/libgo/go/internal/poll/hook_cloexec.go
+===================================================================
+--- a/src/libgo/go/internal/poll/hook_cloexec.go
++++ b/src/libgo/go/internal/poll/hook_cloexec.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build dragonfly freebsd linux
++// +build dragonfly freebsd gnu linux
+
+ package poll
+
+Index: b/src/libgo/go/internal/poll/fd_posix.go
+===================================================================
+--- a/src/libgo/go/internal/poll/fd_posix.go
++++ b/src/libgo/go/internal/poll/fd_posix.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris windows
++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris windows
+
+ package poll
+
+Index: b/src/libgo/go/net/sock_cloexec.go
+===================================================================
+--- a/src/libgo/go/net/sock_cloexec.go
++++ b/src/libgo/go/net/sock_cloexec.go
+@@ -5,7 +5,7 @@
+ // This file implements sysSocket and accept for platforms that
+ // provide a fast path for setting SetNonblock and CloseOnExec.
+
+-// +build dragonfly freebsd linux
++// +build dragonfly freebsd gnu linux
+
+ package net
+
+Index: b/src/libgo/go/syscall/exec_unix.go
+===================================================================
+--- a/src/libgo/go/syscall/exec_unix.go
++++ b/src/libgo/go/syscall/exec_unix.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
++// +build aix darwin dragonfly freebsd gnu linux netbsd openbsd solaris
+
+ // Fork, exec, wait, etc.
+
+Index: b/src/libgo/go/os/exec/lp_unix.go
+===================================================================
+--- a/src/libgo/go/os/exec/lp_unix.go
++++ b/src/libgo/go/os/exec/lp_unix.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris
++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris
+
+ package exec
+
+Index: b/src/libgo/go/os/signal/signal_unix.go
+===================================================================
+--- a/src/libgo/go/os/signal/signal_unix.go
++++ b/src/libgo/go/os/signal/signal_unix.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris windows
++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris windows
+
+ package signal
+
+Index: b/src/libgo/go/os/error_unix.go
+===================================================================
+--- a/src/libgo/go/os/error_unix.go
++++ b/src/libgo/go/os/error_unix.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris
++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris
+
+ package os
+
+Index: b/src/libgo/go/os/file_posix.go
+===================================================================
+--- a/src/libgo/go/os/file_posix.go
++++ b/src/libgo/go/os/file_posix.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris windows
++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris windows
+
+ package os
+
+Index: b/src/libgo/go/os/path_unix.go
+===================================================================
+--- a/src/libgo/go/os/path_unix.go
++++ b/src/libgo/go/os/path_unix.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris
++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris
+
+ package os
+
+Index: b/src/libgo/go/os/sys_unix.go
+===================================================================
+--- a/src/libgo/go/os/sys_unix.go
++++ b/src/libgo/go/os/sys_unix.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix dragonfly linux netbsd openbsd solaris
++// +build aix dragonfly gnu linux netbsd openbsd solaris
+
+ package os
+
+Index: b/src/libgo/go/os/user/decls_unix.go
+===================================================================
+--- a/src/libgo/go/os/user/decls_unix.go
++++ b/src/libgo/go/os/user/decls_unix.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build darwin dragonfly freebsd linux netbsd openbsd
++// +build darwin dragonfly freebsd gnu linux netbsd openbsd
+ // +build cgo
+
+ package user
+Index: b/src/libgo/go/os/user/lookup_unix.go
+===================================================================
+--- a/src/libgo/go/os/user/lookup_unix.go
++++ b/src/libgo/go/os/user/lookup_unix.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build darwin dragonfly freebsd !android,linux nacl netbsd openbsd solaris
++// +build darwin dragonfly freebsd gnu !android,linux nacl netbsd openbsd solaris
+ // +build !cgo
+
+ package user
+Index: b/src/libgo/go/syscall/env_unix.go
+===================================================================
+--- a/src/libgo/go/syscall/env_unix.go
++++ b/src/libgo/go/syscall/env_unix.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris
++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris
+
+ // Unix environment variables.
+
+Index: b/src/libgo/go/syscall/exec_bsd.go
+===================================================================
+--- a/src/libgo/go/syscall/exec_bsd.go
++++ b/src/libgo/go/syscall/exec_bsd.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd netbsd openbsd solaris
++// +build aix darwin dragonfly freebsd gnu netbsd openbsd solaris
+
+ package syscall
+
+Index: b/src/libgo/go/syscall/sockcmsg_unix.go
+===================================================================
+--- a/src/libgo/go/syscall/sockcmsg_unix.go
++++ b/src/libgo/go/syscall/sockcmsg_unix.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
++// +build aix darwin dragonfly freebsd gnu linux netbsd openbsd solaris
+
+ // Socket control messages
+
+Index: b/src/libgo/go/syscall/syscall_unix.go
+===================================================================
+--- a/src/libgo/go/syscall/syscall_unix.go
++++ b/src/libgo/go/syscall/syscall_unix.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
++// +build aix darwin dragonfly freebsd gnu linux netbsd openbsd solaris
+
+ package syscall
+
+Index: b/src/libgo/go/time/sys_unix.go
+===================================================================
+--- a/src/libgo/go/time/sys_unix.go
++++ b/src/libgo/go/time/sys_unix.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris
++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris
+
+ package time
+
+Index: b/src/libgo/go/time/zoneinfo_unix.go
+===================================================================
+--- a/src/libgo/go/time/zoneinfo_unix.go
++++ b/src/libgo/go/time/zoneinfo_unix.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin,386 darwin,amd64 dragonfly freebsd linux,!android nacl netbsd openbsd solaris
++// +build aix darwin,386 darwin,amd64 dragonfly freebsd gnu linux,!android nacl netbsd openbsd solaris
+
+ // Parse "zoneinfo" time zone file.
+ // This is a fairly standard file format used on OS X, Linux, BSD, Sun, and others.
+Index: b/src/libgo/go/net/addrselect.go
+===================================================================
+--- a/src/libgo/go/net/addrselect.go
++++ b/src/libgo/go/net/addrselect.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
++// +build aix darwin dragonfly freebsd gnu linux netbsd openbsd solaris
+
+ // Minimal RFC 6724 address selection.
+
+Index: b/src/libgo/go/net/conf.go
+===================================================================
+--- a/src/libgo/go/net/conf.go
++++ b/src/libgo/go/net/conf.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
++// +build aix darwin dragonfly freebsd gnu linux netbsd openbsd solaris
+
+ package net
+
+Index: b/src/libgo/go/net/dnsclient_unix.go
+===================================================================
+--- a/src/libgo/go/net/dnsclient_unix.go
++++ b/src/libgo/go/net/dnsclient_unix.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
++// +build aix darwin dragonfly freebsd gnu linux netbsd openbsd solaris
+
+ // DNS client: see RFC 1035.
+ // Has to be linked into package net for Dial.
+Index: b/src/libgo/go/net/dnsconfig_unix.go
+===================================================================
+--- a/src/libgo/go/net/dnsconfig_unix.go
++++ b/src/libgo/go/net/dnsconfig_unix.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
++// +build aix darwin dragonfly freebsd gnu linux netbsd openbsd solaris
+
+ // Read system DNS config from /etc/resolv.conf
+
+Index: b/src/libgo/go/net/fd_unix.go
+===================================================================
+--- a/src/libgo/go/net/fd_unix.go
++++ b/src/libgo/go/net/fd_unix.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris
++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris
+
+ package net
+
+Index: b/src/libgo/go/net/file_unix.go
+===================================================================
+--- a/src/libgo/go/net/file_unix.go
++++ b/src/libgo/go/net/file_unix.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
++// +build aix darwin dragonfly freebsd gnu linux netbsd openbsd solaris
+
+ package net
+
+Index: b/src/libgo/go/net/hook_unix.go
+===================================================================
+--- a/src/libgo/go/net/hook_unix.go
++++ b/src/libgo/go/net/hook_unix.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris
++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris
+
+ package net
+
+Index: b/src/libgo/go/net/iprawsock_posix.go
+===================================================================
+--- a/src/libgo/go/net/iprawsock_posix.go
++++ b/src/libgo/go/net/iprawsock_posix.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris windows
++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris windows
+
+ package net
+
+Index: b/src/libgo/go/net/ipsock_posix.go
+===================================================================
+--- a/src/libgo/go/net/ipsock_posix.go
++++ b/src/libgo/go/net/ipsock_posix.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris windows
++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris windows
+
+ package net
+
+Index: b/src/libgo/go/net/lookup_unix.go
+===================================================================
+--- a/src/libgo/go/net/lookup_unix.go
++++ b/src/libgo/go/net/lookup_unix.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
++// +build aix darwin dragonfly freebsd gnu linux netbsd openbsd solaris
+
+ package net
+
+Index: b/src/libgo/go/net/nss.go
+===================================================================
+--- a/src/libgo/go/net/nss.go
++++ b/src/libgo/go/net/nss.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
++// +build aix darwin dragonfly freebsd gnu linux netbsd openbsd solaris
+
+ package net
+
+Index: b/src/libgo/go/net/sockopt_posix.go
+===================================================================
+--- a/src/libgo/go/net/sockopt_posix.go
++++ b/src/libgo/go/net/sockopt_posix.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris windows
++// +build aix darwin dragonfly freebsd gnu linux netbsd openbsd solaris windows
+
+ package net
+
+Index: b/src/libgo/go/net/sock_posix.go
+===================================================================
+--- a/src/libgo/go/net/sock_posix.go
++++ b/src/libgo/go/net/sock_posix.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris windows
++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris windows
+
+ package net
+
+Index: b/src/libgo/go/net/tcpsockopt_posix.go
+===================================================================
+--- a/src/libgo/go/net/tcpsockopt_posix.go
++++ b/src/libgo/go/net/tcpsockopt_posix.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris windows
++// +build aix darwin dragonfly freebsd gnu linux netbsd openbsd solaris windows
+
+ package net
+
+Index: b/src/libgo/go/net/tcpsockopt_unix.go
+===================================================================
+--- a/src/libgo/go/net/tcpsockopt_unix.go
++++ b/src/libgo/go/net/tcpsockopt_unix.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix freebsd linux netbsd
++// +build aix freebsd gnu linux netbsd
+
+ package net
+
+Index: b/src/libgo/go/net/tcpsock_posix.go
+===================================================================
+--- a/src/libgo/go/net/tcpsock_posix.go
++++ b/src/libgo/go/net/tcpsock_posix.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris windows
++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris windows
+
+ package net
+
+Index: b/src/libgo/go/net/udpsock_posix.go
+===================================================================
+--- a/src/libgo/go/net/udpsock_posix.go
++++ b/src/libgo/go/net/udpsock_posix.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris windows
++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris windows
+
+ package net
+
+Index: b/src/libgo/go/net/unixsock_posix.go
+===================================================================
+--- a/src/libgo/go/net/unixsock_posix.go
++++ b/src/libgo/go/net/unixsock_posix.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris windows
++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris windows
+
+ package net
+
+Index: b/src/libgo/go/os/exec_posix.go
+===================================================================
+--- a/src/libgo/go/os/exec_posix.go
++++ b/src/libgo/go/os/exec_posix.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris windows
++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris windows
+
+ package os
+
+Index: b/src/libgo/go/os/file_unix.go
+===================================================================
+--- a/src/libgo/go/os/file_unix.go
++++ b/src/libgo/go/os/file_unix.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris
++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris
+
+ package os
+
+Index: b/src/libgo/go/os/executable_procfs.go
+===================================================================
+--- a/src/libgo/go/os/executable_procfs.go
++++ b/src/libgo/go/os/executable_procfs.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build linux netbsd dragonfly nacl
++// +build gnu linux netbsd dragonfly nacl
+
+ package os
+
+Index: b/src/libgo/go/syscall/timestruct.go
+===================================================================
+--- a/src/libgo/go/syscall/timestruct.go
++++ b/src/libgo/go/syscall/timestruct.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris
++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris
+
+ package syscall
+
+Index: b/src/libgo/go/net/cgo_unix.go
+===================================================================
+--- a/src/libgo/go/net/cgo_unix.go
++++ b/src/libgo/go/net/cgo_unix.go
+@@ -3,7 +3,7 @@
+ // license that can be found in the LICENSE file.
+
+ // +build cgo,!netgo
+-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
++// +build aix darwin dragonfly freebsd gnu linux netbsd openbsd solaris
+
+ package net
+
+Index: b/src/libgo/go/archive/tar/stat_unix.go
+===================================================================
+--- a/src/libgo/go/archive/tar/stat_unix.go
++++ b/src/libgo/go/archive/tar/stat_unix.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix linux darwin dragonfly freebsd openbsd netbsd solaris
++// +build aix gnu linux darwin dragonfly freebsd openbsd netbsd solaris
+
+ package tar
+
+Index: b/src/libgo/go/crypto/rand/eagain.go
+===================================================================
+--- a/src/libgo/go/crypto/rand/eagain.go
++++ b/src/libgo/go/crypto/rand/eagain.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris
++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris
+
+ package rand
+
+Index: b/src/libgo/go/crypto/rand/rand_unix.go
+===================================================================
+--- a/src/libgo/go/crypto/rand/rand_unix.go
++++ b/src/libgo/go/crypto/rand/rand_unix.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd plan9 solaris
++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd plan9 solaris
+
+ // Unix cryptographically secure pseudorandom number
+ // generator.
+Index: b/src/libgo/go/mime/type_unix.go
+===================================================================
+--- a/src/libgo/go/mime/type_unix.go
++++ b/src/libgo/go/mime/type_unix.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris
++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris
+
+ package mime
+
+Index: b/src/libgo/go/plugin/plugin_dlopen.go
+===================================================================
+--- a/src/libgo/go/plugin/plugin_dlopen.go
++++ b/src/libgo/go/plugin/plugin_dlopen.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build linux,cgo darwin,cgo
++// +build linux,cgo darwin,cgo gnu,cgo
+
+ package plugin
+
+Index: b/src/libgo/go/syscall/dirent.go
+===================================================================
+--- a/src/libgo/go/syscall/dirent.go
++++ b/src/libgo/go/syscall/dirent.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris
++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris
+
+ package syscall
+
+Index: b/src/libgo/runtime/env_posix.c
+===================================================================
+--- a/src/libgo/runtime/env_posix.c
++++ b/src/libgo/runtime/env_posix.c
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build darwin dragonfly freebsd linux nacl netbsd openbsd solaris windows
++// +build darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris windows
+
+ #include "runtime.h"
+ #include "array.h"
+Index: b/src/libgo/go/net/internal/socktest/sys_unix.go
+===================================================================
+--- a/src/libgo/go/net/internal/socktest/sys_unix.go
++++ b/src/libgo/go/net/internal/socktest/sys_unix.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris
++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris
+
+ package socktest
+
+Index: b/src/libgo/go/plugin/plugin_stubs.go
+===================================================================
+--- a/src/libgo/go/plugin/plugin_stubs.go
++++ b/src/libgo/go/plugin/plugin_stubs.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build !linux,!darwin !cgo
++// +build !gnu !linux,!darwin !cgo
+
+ package plugin
+
+Index: b/src/libgo/go/net/internal/socktest/sys_cloexec.go
+===================================================================
+--- a/src/libgo/go/net/internal/socktest/sys_cloexec.go
++++ b/src/libgo/go/net/internal/socktest/sys_cloexec.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build dragonfly freebsd linux
++// +build dragonfly freebsd gnu linux
+
+ package socktest
+
+Index: b/src/libgo/go/os/user/cgo_lookup_unix.go
+===================================================================
+--- a/src/libgo/go/os/user/cgo_lookup_unix.go
++++ b/src/libgo/go/os/user/cgo_lookup_unix.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd !android,linux netbsd openbsd solaris
++// +build aix darwin dragonfly freebsd gnu !android,linux netbsd openbsd solaris
+ // +build cgo
+
+ package user
+Index: b/src/libgo/go/net/error_posix.go
+===================================================================
+--- a/src/libgo/go/net/error_posix.go
++++ b/src/libgo/go/net/error_posix.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris windows
++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris windows
+
+ package net
+
+Index: b/src/libgo/go/internal/poll/fd_unix.go
+===================================================================
+--- a/src/libgo/go/internal/poll/fd_unix.go
++++ b/src/libgo/go/internal/poll/fd_unix.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris
++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris
+
+ package poll
+
+Index: b/src/libgo/go/syscall/forkpipe_bsd.go
+===================================================================
+--- a/src/libgo/go/syscall/forkpipe_bsd.go
++++ b/src/libgo/go/syscall/forkpipe_bsd.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly netbsd openbsd solaris
++// +build aix darwin dragonfly gnu netbsd openbsd solaris
+
+ package syscall
+
+Index: b/src/libgo/go/internal/poll/hook_unix.go
+===================================================================
+--- a/src/libgo/go/internal/poll/hook_unix.go
++++ b/src/libgo/go/internal/poll/hook_unix.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris
++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris
+
+ package poll
+
+Index: b/src/libgo/go/internal/poll/sock_cloexec.go
+===================================================================
+--- a/src/libgo/go/internal/poll/sock_cloexec.go
++++ b/src/libgo/go/internal/poll/sock_cloexec.go
+@@ -5,7 +5,7 @@
+ // This file implements sysSocket and accept for platforms that
+ // provide a fast path for setting SetNonblock and CloseOnExec.
+
+-// +build dragonfly freebsd linux
++// +build dragonfly freebsd gnu linux
+
+ package poll
+
+Index: b/src/libgo/go/internal/poll/sockopt.go
+===================================================================
+--- a/src/libgo/go/internal/poll/sockopt.go
++++ b/src/libgo/go/internal/poll/sockopt.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris windows
++// +build aix darwin dragonfly freebsd gnu linux netbsd openbsd solaris windows
+
+ package poll
+
+Index: b/src/libgo/go/internal/poll/sockoptip.go
+===================================================================
+--- a/src/libgo/go/internal/poll/sockoptip.go
++++ b/src/libgo/go/internal/poll/sockoptip.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris windows
++// +build aix darwin dragonfly freebsd gnu linux netbsd openbsd solaris windows
+
+ package poll
+
+Index: b/src/libgo/go/internal/poll/sockopt_unix.go
+===================================================================
+--- a/src/libgo/go/internal/poll/sockopt_unix.go
++++ b/src/libgo/go/internal/poll/sockopt_unix.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build darwin dragonfly freebsd linux netbsd openbsd solaris
++// +build darwin dragonfly freebsd gnu linux netbsd openbsd solaris
+
+ package poll
+
+Index: b/src/libgo/go/archive/tar/stat_actime1.go
+===================================================================
+--- a/src/libgo/go/archive/tar/stat_actime1.go
++++ b/src/libgo/go/archive/tar/stat_actime1.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix linux dragonfly openbsd solaris
++// +build aix gnu linux dragonfly openbsd solaris
+
+ package tar
+
+--- a/src/libgo/go/golang_org/x/net/internal/nettest/helper_nobsd.go 2018-01-10 11:13:47.000000000 +0100
++++ b/src/libgo/go/golang_org/x/net/internal/nettest/helper_nobsd.go 2018-03-02 13:37:11.000000000 +0100
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix linux solaris
++// +build aix gnu linux solaris
+
+ package nettest
+
+--- a/src/libgo/go/golang_org/x/net/internal/nettest/helper_posix.go 2018-01-10 11:13:47.000000000 +0100
++++ b/src/libgo/go/golang_org/x/net/internal/nettest/helper_posix.go 2018-03-01 23:01:22.000000000 +0100
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris windows
++// +build aix darwin dragonfly freebsd gnu linux netbsd openbsd solaris windows
+
+ package nettest
+
+--- a/src/libgo/go/golang_org/x/net/internal/nettest/helper_unix.go 2018-01-10 11:13:47.000000000 +0100
++++ b/src/libgo/go/golang_org/x/net/internal/nettest/helper_unix.go 2018-03-02 13:40:42.000000000 +0100
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
++// +build aix darwin dragonfly freebsd gnu linux netbsd openbsd solaris
+
+ package nettest
+
+--- a/src/libgo/go/net/sockoptip_posix.go 2018-01-09 04:04:37.000000000 +0100
++++ b/src/libgo/go/net/sockoptip_posix.go 2018-03-01 22:55:56.000000000 +0100
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris windows
++// +build aix darwin dragonfly freebsd gnu linux netbsd openbsd solaris windows
+
+ package net
+
+--- a/src/libgo/go/os/signal/internal/pty/pty.go 2018-02-08 18:22:43.000000000 +0100
++++ b/src/libgo/go/os/signal/internal/pty/pty.go 2018-03-01 23:09:21.000000000 +0100
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux,!android netbsd openbsd solaris
++// +build aix darwin dragonfly freebsd gnu linux,!android netbsd openbsd solaris
+
+ // Package pty is a simple pseudo-terminal package for Unix systems,
+ // implemented by calling C functions via cgo.
--- /dev/null
+Index: gcc-8-8-20171108-1.1/src/libgo/go/net/main_unix_test.go
+===================================================================
+--- gcc-8-8-20171108-1.1.orig/src/libgo/go/net/main_unix_test.go
++++ gcc-8-8-20171108-1.1/src/libgo/go/net/main_unix_test.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris
++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris
+
+ package net
+
+Index: gcc-8-8-20171108-1.1/src/libgo/go/os/exec/lp_unix_test.go
+===================================================================
+--- gcc-8-8-20171108-1.1.orig/src/libgo/go/os/exec/lp_unix_test.go
++++ gcc-8-8-20171108-1.1/src/libgo/go/os/exec/lp_unix_test.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build darwin dragonfly freebsd linux netbsd openbsd solaris
++// +build darwin dragonfly freebsd gnu linux netbsd openbsd solaris
+
+ package exec
+
+Index: gcc-8-8-20171108-1.1/src/libgo/go/os/os_unix_test.go
+===================================================================
+--- gcc-8-8-20171108-1.1.orig/src/libgo/go/os/os_unix_test.go
++++ gcc-8-8-20171108-1.1/src/libgo/go/os/os_unix_test.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build darwin dragonfly freebsd linux netbsd openbsd solaris
++// +build darwin dragonfly freebsd gnu linux netbsd openbsd solaris
+
+ package os_test
+
+Index: gcc-8-8-20171108-1.1/src/libgo/go/os/signal/signal_test.go
+===================================================================
+--- gcc-8-8-20171108-1.1.orig/src/libgo/go/os/signal/signal_test.go
++++ gcc-8-8-20171108-1.1/src/libgo/go/os/signal/signal_test.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
++// +build aix darwin dragonfly freebsd gnu linux netbsd openbsd solaris
+
+ package signal
+
+Index: gcc-8-8-20171108-1.1/src/libgo/go/runtime/crash_unix_test.go
+===================================================================
+--- gcc-8-8-20171108-1.1.orig/src/libgo/go/runtime/crash_unix_test.go
++++ gcc-8-8-20171108-1.1/src/libgo/go/runtime/crash_unix_test.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
++// +build aix darwin dragonfly freebsd gnu linux netbsd openbsd solaris
+
+ package runtime_test
+
+Index: gcc-8-8-20171108-1.1/src/libgo/go/syscall/exec_unix_test.go
+===================================================================
+--- gcc-8-8-20171108-1.1.orig/src/libgo/go/syscall/exec_unix_test.go
++++ gcc-8-8-20171108-1.1/src/libgo/go/syscall/exec_unix_test.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
++// +build aix darwin dragonfly freebsd gnu linux netbsd openbsd solaris
+
+ package syscall_test
+
+Index: gcc-8-8-20171108-1.1/src/libgo/go/runtime/runtime_unix_test.go
+===================================================================
+--- gcc-8-8-20171108-1.1.orig/src/libgo/go/runtime/runtime_unix_test.go
++++ gcc-8-8-20171108-1.1/src/libgo/go/runtime/runtime_unix_test.go
+@@ -6,7 +6,7 @@
+ // We need a fast system call to provoke the race,
+ // and Close(-1) is nearly universally fast.
+
+-// +build aix darwin dragonfly freebsd linux netbsd openbsd plan9
++// +build aix darwin dragonfly freebsd gnu linux netbsd openbsd plan9
+
+ package runtime_test
+
+Index: gcc-8-8-20171108-1.1/src/libgo/go/syscall/export_unix_test.go
+===================================================================
+--- gcc-8-8-20171108-1.1.orig/src/libgo/go/syscall/export_unix_test.go
++++ gcc-8-8-20171108-1.1/src/libgo/go/syscall/export_unix_test.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
++// +build aix darwin dragonfly freebsd gnu linux netbsd openbsd solaris
+
+ package syscall
+
+Index: gcc-8-8-20171108-1.1/src/libgo/go/syscall/mmap_unix_test.go
+===================================================================
+--- gcc-8-8-20171108-1.1.orig/src/libgo/go/syscall/mmap_unix_test.go
++++ gcc-8-8-20171108-1.1/src/libgo/go/syscall/mmap_unix_test.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux netbsd openbsd
++// +build aix darwin dragonfly freebsd gnu linux netbsd openbsd
+
+ package syscall_test
+
+Index: gcc-8-8-20171108-1.1/src/libgo/go/net/addrselect_test.go
+===================================================================
+--- gcc-8-8-20171108-1.1.orig/src/libgo/go/net/addrselect_test.go
++++ gcc-8-8-20171108-1.1/src/libgo/go/net/addrselect_test.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build darwin dragonfly freebsd linux netbsd openbsd solaris
++// +build darwin dragonfly freebsd gnu linux netbsd openbsd solaris
+
+ package net
+
+Index: gcc-8-8-20171108-1.1/src/libgo/go/net/cgo_unix_test.go
+===================================================================
+--- gcc-8-8-20171108-1.1.orig/src/libgo/go/net/cgo_unix_test.go
++++ gcc-8-8-20171108-1.1/src/libgo/go/net/cgo_unix_test.go
+@@ -3,7 +3,7 @@
+ // license that can be found in the LICENSE file.
+
+ // +build cgo,!netgo
+-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
++// +build aix darwin dragonfly freebsd gnu linux netbsd openbsd solaris
+
+ package net
+
+Index: gcc-8-8-20171108-1.1/src/libgo/go/net/conf_test.go
+===================================================================
+--- gcc-8-8-20171108-1.1.orig/src/libgo/go/net/conf_test.go
++++ gcc-8-8-20171108-1.1/src/libgo/go/net/conf_test.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build darwin dragonfly freebsd linux netbsd openbsd solaris
++// +build darwin dragonfly freebsd gnu linux netbsd openbsd solaris
+
+ package net
+
+Index: gcc-8-8-20171108-1.1/src/libgo/go/net/dnsconfig_unix_test.go
+===================================================================
+--- gcc-8-8-20171108-1.1.orig/src/libgo/go/net/dnsconfig_unix_test.go
++++ gcc-8-8-20171108-1.1/src/libgo/go/net/dnsconfig_unix_test.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
++// +build aix darwin dragonfly freebsd gnu linux netbsd openbsd solaris
+
+ package net
+
+Index: gcc-8-8-20171108-1.1/src/libgo/go/net/nss_test.go
+===================================================================
+--- gcc-8-8-20171108-1.1.orig/src/libgo/go/net/nss_test.go
++++ gcc-8-8-20171108-1.1/src/libgo/go/net/nss_test.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build darwin dragonfly freebsd linux netbsd openbsd solaris
++// +build darwin dragonfly freebsd gnu linux netbsd openbsd solaris
+
+ package net
+
+Index: gcc-8-8-20171108-1.1/src/libgo/go/cmd/go/go_unix_test.go
+===================================================================
+--- gcc-8-8-20171108-1.1.orig/src/libgo/go/cmd/go/go_unix_test.go
++++ gcc-8-8-20171108-1.1/src/libgo/go/cmd/go/go_unix_test.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build darwin dragonfly freebsd linux netbsd openbsd solaris
++// +build darwin dragonfly freebsd gnu linux netbsd openbsd solaris
+
+ package main_test
+
+Index: gcc-8-8-20171108-1.1/src/libgo/go/net/dial_unix_test.go
+===================================================================
+--- gcc-8-8-20171108-1.1.orig/src/libgo/go/net/dial_unix_test.go
++++ gcc-8-8-20171108-1.1/src/libgo/go/net/dial_unix_test.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
++// +build aix darwin dragonfly freebsd gnu linux netbsd openbsd solaris
+
+ package net
+
+Index: gcc-8-8-20171108-1.1/src/libgo/go/net/main_cloexec_test.go
+===================================================================
+--- gcc-8-8-20171108-1.1.orig/src/libgo/go/net/main_cloexec_test.go
++++ gcc-8-8-20171108-1.1/src/libgo/go/net/main_cloexec_test.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build dragonfly freebsd linux
++// +build dragonfly freebsd gnu linux
+
+ package net
+
+Index: gcc-8-8-20171108-1.1/src/libgo/go/net/dnsclient_unix_test.go
+===================================================================
+--- gcc-8-8-20171108-1.1.orig/src/libgo/go/net/dnsclient_unix_test.go
++++ gcc-8-8-20171108-1.1/src/libgo/go/net/dnsclient_unix_test.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
++// +build aix darwin dragonfly freebsd gnu linux netbsd openbsd solaris
+
+ package net
+
+Index: gcc-8-8-20171108-1.1/src/libgo/go/os/env_unix_test.go
+===================================================================
+--- gcc-8-8-20171108-1.1.orig/src/libgo/go/os/env_unix_test.go
++++ gcc-8-8-20171108-1.1/src/libgo/go/os/env_unix_test.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build darwin dragonfly freebsd linux netbsd openbsd solaris
++// +build darwin dragonfly freebsd gnu linux netbsd openbsd solaris
+
+ package os_test
+
+Index: gcc-8-8-20171108-1.1/src/libgo/go/os/error_unix_test.go
+===================================================================
+--- gcc-8-8-20171108-1.1.orig/src/libgo/go/os/error_unix_test.go
++++ gcc-8-8-20171108-1.1/src/libgo/go/os/error_unix_test.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build darwin dragonfly freebsd linux nacl netbsd openbsd solaris
++// +build darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris
+
+ package os_test
+
+Index: gcc-8-8-20171108-1.1/src/libgo/go/internal/poll/export_posix_test.go
+===================================================================
+--- gcc-8-8-20171108-1.1.orig/src/libgo/go/internal/poll/export_posix_test.go
++++ gcc-8-8-20171108-1.1/src/libgo/go/internal/poll/export_posix_test.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris windows
++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris windows
+
+ // Export guts for testing on posix.
+ // Since testing imports os and os imports internal/poll,
+Index: gcc-8-8-20171108-1.1/src/libgo/go/runtime/export_unix_test.go
+===================================================================
+--- gcc-8-8-20171108-1.1.orig/src/libgo/go/runtime/export_unix_test.go
++++ gcc-8-8-20171108-1.1/src/libgo/go/runtime/export_unix_test.go
+@@ -1,8 +1,9 @@
++
+ // Copyright 2017 The Go Authors. All rights reserved.
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
++// +build aix darwin dragonfly freebsd gnu linux netbsd openbsd solaris
+
+ package runtime
+
+Index: gcc-8-8-20171108-1.1/src/libgo/go/internal/poll/fd_posix_test.go
+===================================================================
+--- gcc-8-8-20171108-1.1.orig/src/libgo/go/internal/poll/fd_posix_test.go
++++ gcc-8-8-20171108-1.1/src/libgo/go/internal/poll/fd_posix_test.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
+-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris windows
++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris windows
+
+ package poll_test
+
--- /dev/null
+# DP: #212912
+# DP: on alpha-linux, make -mieee default and add -mieee-disable switch
+# DP: to turn default off (doc patch)
+
+---
+ gcc/doc/invoke.texi | 7 +++++++
+ 1 files changed, 7 insertions(+), 0 deletions(-)
+
+--- a/src/gcc/doc/invoke.texi
++++ b/src/gcc/doc/invoke.texi
+@@ -9980,6 +9980,13 @@ able to correctly support denormalized numbers and exceptional IEEE
+ values such as not-a-number and plus/minus infinity. Other Alpha
+ compilers call this option @option{-ieee_with_no_inexact}.
+
++DEBIAN SPECIFIC: This option is on by default for alpha-linux-gnu, unless
++@option{-ffinite-math-only} (which is part of the @option{-ffast-math}
++set) is specified, because the software functions in the GNU libc math
++libraries generate denormalized numbers, NaNs, and infs (all of which
++will cause a programs to SIGFPE when it attempts to use the results without
++@option{-mieee}).
++
+ @item -mieee-with-inexact
+ @opindex mieee-with-inexact
+ This is like @option{-mieee} except the generated code also maintains
--- /dev/null
+# DP: #212912
+# DP: on alpha-linux, make -mieee default and add -mieee-disable switch
+# DP: to turn default off
+
+---
+ gcc/config/alpha/alpha.c | 4 ++++
+ 1 files changed, 4 insertions(+), 0 deletions(-)
+
+--- a/src/gcc/config/alpha/alpha.c
++++ b/src/gcc/config/alpha/alpha.c
+@@ -259,6 +259,10 @@
+ int line_size = 0, l1_size = 0, l2_size = 0;
+ int i;
+
++ /* If not -ffinite-math-only, enable -mieee*/
++ if (!flag_finite_math_only)
++ target_flags |= MASK_IEEE|MASK_IEEE_CONFORMANT;
++
+ #ifdef SUBTARGET_OVERRIDE_OPTIONS
+ SUBTARGET_OVERRIDE_OPTIONS;
+ #endif
--- /dev/null
+# DP: never emit .ev4 directive.
+
+---
+ gcc/config/alpha/alpha.c | 7 +++----
+ 1 files changed, 3 insertions(+), 4 deletions(-)
+
+--- a/src/gcc/config/alpha/alpha.c
++++ b/src/gcc/config/alpha/alpha.c
+@@ -9536,7 +9536,7 @@ alpha_file_start (void)
+ fputs ("\t.set nomacro\n", asm_out_file);
+ if (TARGET_SUPPORT_ARCH | TARGET_BWX | TARGET_MAX | TARGET_FIX | TARGET_CIX)
+ {
+- const char *arch;
++ const char *arch = NULL;
+
+ if (alpha_cpu == PROCESSOR_EV6 || TARGET_FIX || TARGET_CIX)
+ arch = "ev6";
+@@ -9546,10 +9546,9 @@ alpha_file_start (void)
+ arch = "ev56";
+ else if (alpha_cpu == PROCESSOR_EV5)
+ arch = "ev5";
+- else
+- arch = "ev4";
+
+- fprintf (asm_out_file, "\t.arch %s\n", arch);
++ if (arch)
++ fprintf (asm_out_file, "\t.arch %s\n", arch);
+ }
+ }
+
--- /dev/null
+# DP: Set MULTILIB_DEFAULTS for ARM multilib builds
+
+--- a/src/gcc/config.gcc
++++ b/src/gcc/config.gcc
+@@ -3865,10 +3865,18 @@ case "${target}" in
+ done
+
+ case "$with_float" in
+- "" \
+- | soft | hard | softfp)
++ "")
+ # OK
+ ;;
++ soft)
++ tm_defines="${tm_defines} TARGET_CONFIGURED_FLOAT_ABI=0"
++ ;;
++ softfp)
++ tm_defines="${tm_defines} TARGET_CONFIGURED_FLOAT_ABI=1"
++ ;;
++ hard)
++ tm_defines="${tm_defines} TARGET_CONFIGURED_FLOAT_ABI=2"
++ ;;
+ *)
+ echo "Unknown floating point type used in --with-float=$with_float" 1>&2
+ exit 1
+@@ -3902,6 +3910,9 @@ case "${target}" in
+ "" \
+ | arm | thumb )
+ #OK
++ if test "$with_mode" = thumb; then
++ tm_defines="${tm_defines} TARGET_CONFIGURED_THUMB_MODE=1"
++ fi
+ ;;
+ *)
+ echo "Unknown mode used in --with-mode=$with_mode"
+--- a/src/gcc/config/arm/linux-eabi.h
++++ b/src/gcc/config/arm/linux-eabi.h
+@@ -37,7 +37,21 @@
+ target hardware. If you override this to use the hard-float ABI then
+ change the setting of GLIBC_DYNAMIC_LINKER_DEFAULT as well. */
+ #undef TARGET_DEFAULT_FLOAT_ABI
++#ifdef TARGET_CONFIGURED_FLOAT_ABI
++#if TARGET_CONFIGURED_FLOAT_ABI == 2
++#define TARGET_DEFAULT_FLOAT_ABI ARM_FLOAT_ABI_HARD
++#define MULTILIB_DEFAULT_FLOAT_ABI "mfloat-abi=hard"
++#elif TARGET_CONFIGURED_FLOAT_ABI == 1
++#define TARGET_DEFAULT_FLOAT_ABI ARM_FLOAT_ABI_SOFTFP
++#define MULTILIB_DEFAULT_FLOAT_ABI "mfloat-abi=softfp"
++#else
++#define TARGET_DEFAULT_FLOAT_ABI ARM_FLOAT_ABI_SOFT
++#define MULTILIB_DEFAULT_FLOAT_ABI "mfloat-abi=soft"
++#endif
++#else
+ #define TARGET_DEFAULT_FLOAT_ABI ARM_FLOAT_ABI_SOFT
++#define MULTILIB_DEFAULT_FLOAT_ABI "mfloat-abi=soft"
++#endif
+
+ /* We default to the "aapcs-linux" ABI so that enums are int-sized by
+ default. */
+@@ -91,6 +105,28 @@
+ #define MUSL_DYNAMIC_LINKER \
+ "/lib/ld-musl-arm" MUSL_DYNAMIC_LINKER_E "%{mfloat-abi=hard:hf}.so.1"
+
++/* Set the multilib defaults according the configuration, needed to
++ let gcc -print-multi-dir do the right thing. */
++
++#if TARGET_BIG_ENDIAN_DEFAULT
++#define MULTILIB_DEFAULT_ENDIAN "mbig-endian"
++#else
++#define MULTILIB_DEFAULT_ENDIAN "mlittle-endian"
++#endif
++
++#ifndef TARGET_CONFIGURED_THUMB_MODE
++#define MULTILIB_DEFAULT_MODE "marm"
++#elif TARGET_CONFIGURED_THUMB_MODE == 1
++#define MULTILIB_DEFAULT_MODE "mthumb"
++#else
++#define MULTILIB_DEFAULT_MODE "marm"
++#endif
++
++#undef MULTILIB_DEFAULTS
++#define MULTILIB_DEFAULTS \
++ { MULTILIB_DEFAULT_MODE, MULTILIB_DEFAULT_ENDIAN, \
++ MULTILIB_DEFAULT_FLOAT_ABI, "mno-thumb-interwork" }
++
+ /* At this point, bpabi.h will have clobbered LINK_SPEC. We want to
+ use the GNU/Linux version, not the generic BPABI version. */
+ #undef LINK_SPEC
--- /dev/null
+# DP: ARM hard/soft float multilib support
+
+Index: b/src/gcc/config/arm/t-linux-eabi
+===================================================================
+--- a/src/gcc/config/arm/t-linux-eabi
++++ b/src/gcc/config/arm/t-linux-eabi
+@@ -27,6 +27,20 @@ MULTILIB_REUSE =
+ MULTILIB_MATCHES =
+ MULTILIB_REQUIRED =
+
++ifeq ($(with_float),hard)
++MULTILIB_OPTIONS = mfloat-abi=soft/mfloat-abi=hard
++MULTILIB_DIRNAMES = sf hf
++MULTILIB_EXCEPTIONS =
++MULTILIB_MATCHES = mfloat-abi?hard=mhard-float mfloat-abi?soft=msoft-float mfloat-abi?soft=mfloat-abi?softfp
++MULTILIB_OSDIRNAMES = ../libsf:arm-linux-gnueabi ../lib:arm-linux-gnueabihf
++else
++MULTILIB_OPTIONS = mfloat-abi=soft/mfloat-abi=hard
++MULTILIB_DIRNAMES = sf hf
++MULTILIB_EXCEPTIONS =
++MULTILIB_MATCHES = mfloat-abi?hard=mhard-float mfloat-abi?soft=msoft-float mfloat-abi?soft=mfloat-abi?softfp
++MULTILIB_OSDIRNAMES = ../lib:arm-linux-gnueabi ../libhf:arm-linux-gnueabihf
++endif
++
+ #MULTILIB_OPTIONS += mcpu=fa606te/mcpu=fa626te/mcpu=fmp626/mcpu=fa726te
+ #MULTILIB_DIRNAMES += fa606te fa626te fmp626 fa726te
+ #MULTILIB_EXCEPTIONS += *mthumb/*mcpu=fa606te *mthumb/*mcpu=fa626te *mthumb/*mcpu=fmp626 *mthumb/*mcpu=fa726te*
--- /dev/null
+--- a/src/gcc/config/arm/t-linux-eabi
++++ b/src/gcc/config/arm/t-linux-eabi
+@@ -24,6 +24,23 @@
+ MULTILIB_OPTIONS =
+ MULTILIB_DIRNAMES =
+
++ifneq (,$(findstring MULTIARCH_DEFAULTS,$(tm_defines)))
++ifneq (,$(findstring __arm_linux_gnueabi__,$(tm_defines)))
++ MULTILIB_OPTIONS = mfloat-abi=softfp/mfloat-abi=hard/mfloat-abi=soft
++ MULTILIB_DIRNAMES = . hf soft-float
++ MULTILIB_EXCEPTIONS =
++ MULTILIB_MATCHES = mfloat-abi?hard=mhard-float mfloat-abi?soft=msoft-float
++ MULTILIB_OSDIRNAMES = ../../lib/arm-linux-gnueabi ../../lib/arm-linux-gnueabihf soft-float
++endif
++ifneq (,$(findstring __arm_linux_gnueabihf__,$(tm_defines)))
++ MULTILIB_OPTIONS = mfloat-abi=hard/mfloat-abi=softfp/mfloat-abi=soft
++ MULTILIB_DIRNAMES = . sf soft-float
++ MULTILIB_EXCEPTIONS =
++ MULTILIB_MATCHES = mfloat-abi?hard=mhard-float mfloat-abi?soft=msoft-float
++ MULTILIB_OSDIRNAMES = ../../lib/arm-linux-gnueabihf ../../lib/arm-linux-gnueabi soft-float
++endif
++endif
++
+ #MULTILIB_OPTIONS += mcpu=fa606te/mcpu=fa626te/mcpu=fmp626/mcpu=fa726te
+ #MULTILIB_DIRNAMES += fa606te fa626te fmp626 fa726te
+ #MULTILIB_EXCEPTIONS += *mthumb/*mcpu=fa606te *mthumb/*mcpu=fa626te *mthumb/*mcpu=fmp626 *mthumb/*mcpu=fa726te*
--- /dev/null
+# DP: ARM hard/soft float multilib support
+
+Index: b/src/gcc/config/arm/t-linux-eabi
+===================================================================
+--- a/src/gcc/config/arm/t-linux-eabi
++++ b/src/gcc/config/arm/t-linux-eabi
+@@ -27,6 +27,20 @@ MULTILIB_REUSE =
+ MULTILIB_MATCHES =
+ MULTILIB_REQUIRED =
+
++ifeq ($(with_float),hard)
++MULTILIB_OPTIONS = mfloat-abi=soft/mfloat-abi=hard
++MULTILIB_DIRNAMES = sf hf
++MULTILIB_EXCEPTIONS =
++MULTILIB_MATCHES = mfloat-abi?hard=mhard-float mfloat-abi?soft=msoft-float mfloat-abi?soft=mfloat-abi?softfp
++MULTILIB_OSDIRNAMES = arm-linux-gnueabi:arm-linux-gnueabi ../lib:arm-linux-gnueabihf
++else
++MULTILIB_OPTIONS = mfloat-abi=soft/mfloat-abi=hard
++MULTILIB_DIRNAMES = sf hf
++MULTILIB_EXCEPTIONS =
++MULTILIB_MATCHES = mfloat-abi?hard=mhard-float mfloat-abi?soft=msoft-float mfloat-abi?soft=mfloat-abi?softfp
++MULTILIB_OSDIRNAMES = ../lib:arm-linux-gnueabi arm-linux-gnueabihf:arm-linux-gnueabihf
++endif
++
+ #MULTILIB_OPTIONS += mcpu=fa606te/mcpu=fa626te/mcpu=fmp626/mcpu=fa726te
+ #MULTILIB_DIRNAMES += fa606te fa626te fmp626 fa726te
+ #MULTILIB_EXCEPTIONS += *mthumb/*mcpu=fa606te *mthumb/*mcpu=fa626te *mthumb/*mcpu=fmp626 *mthumb/*mcpu=fa726te*
--- /dev/null
+# DP: ARM hard/softfp float multilib support
+
+Index: b/src/gcc/config/arm/t-linux-eabi
+===================================================================
+--- a/src/gcc/config/arm/t-linux-eabi 2011-01-03 20:52:22.000000000 +0000
++++ b/src/gcc/config/arm/t-linux-eabi 2011-08-21 21:08:47.583351817 +0000
+@@ -24,6 +24,20 @@
+ MULTILIB_OPTIONS =
+ MULTILIB_DIRNAMES =
+
++ifeq ($(with_float),hard)
++MULTILIB_OPTIONS = mfloat-abi=softfp/mfloat-abi=hard
++MULTILIB_DIRNAMES = sf hf
++MULTILIB_EXCEPTIONS =
++MULTILIB_MATCHES = mfloat-abi?hard=mhard-float mfloat-abi?softfp=msoft-float mfloat-abi?softfp=mfloat-abi?soft
++MULTILIB_OSDIRNAMES = ../libsf:arm-linux-gnueabi ../lib:arm-linux-gnueabihf
++else
++MULTILIB_OPTIONS = mfloat-abi=softfp/mfloat-abi=hard
++MULTILIB_DIRNAMES = sf hf
++MULTILIB_EXCEPTIONS =
++MULTILIB_MATCHES = mfloat-abi?hard=mhard-float mfloat-abi?softfp=msoft-float mfloat-abi?softfp=mfloat-abi?soft
++MULTILIB_OSDIRNAMES = ../lib:arm-linux-gnueabi ../libhf:arm-linux-gnueabihf
++endif
++
+ #MULTILIB_OPTIONS += mcpu=fa606te/mcpu=fa626te/mcpu=fmp626/mcpu=fa726te
+ #MULTILIB_DIRNAMES += fa606te fa626te fmp626 fa726te
+ #MULTILIB_EXCEPTIONS += *mthumb/*mcpu=fa606te *mthumb/*mcpu=fa626te *mthumb/*mcpu=fmp626 *mthumb/*mcpu=fa726te*
--- /dev/null
+# DP: ARM hard/softfp float multilib support
+
+Index: b/src/gcc/config/arm/t-linux-eabi
+===================================================================
+--- a/src/gcc/config/arm/t-linux-eabi 2011-01-03 20:52:22.000000000 +0000
++++ b/src/gcc/config/arm/t-linux-eabi 2011-08-21 21:08:47.583351817 +0000
+@@ -24,6 +24,20 @@
+ MULTILIB_OPTIONS =
+ MULTILIB_DIRNAMES =
+
++ifeq ($(with_float),hard)
++MULTILIB_OPTIONS = mfloat-abi=softfp/mfloat-abi=hard
++MULTILIB_DIRNAMES = sf hf
++MULTILIB_EXCEPTIONS =
++MULTILIB_MATCHES = mfloat-abi?hard=mhard-float mfloat-abi?softfp=msoft-float mfloat-abi?softfp=mfloat-abi?soft
++MULTILIB_OSDIRNAMES = arm-linux-gnueabi:arm-linux-gnueabi ../lib:arm-linux-gnueabihf
++else
++MULTILIB_OPTIONS = mfloat-abi=softfp/mfloat-abi=hard
++MULTILIB_DIRNAMES = sf hf
++MULTILIB_EXCEPTIONS =
++MULTILIB_MATCHES = mfloat-abi?hard=mhard-float mfloat-abi?softfp=msoft-float mfloat-abi?softfp=mfloat-abi?soft
++MULTILIB_OSDIRNAMES = ../lib:arm-linux-gnueabi arm-linux-gnueabihf:arm-linux-gnueabihf
++endif
++
+ #MULTILIB_OPTIONS += mcpu=fa606te/mcpu=fa626te/mcpu=fmp626/mcpu=fa726te
+ #MULTILIB_DIRNAMES += fa606te fa626te fmp626 fa726te
+ #MULTILIB_EXCEPTIONS += *mthumb/*mcpu=fa606te *mthumb/*mcpu=fa626te *mthumb/*mcpu=fmp626 *mthumb/*mcpu=fa726te*
--- /dev/null
+Author: Steve Beattie <steve.beattie@canonical.com>
+Description: enable bind now by default when linking with pie by default
+
+---
+ src/gcc/gcc.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+Index: b/src/gcc/gcc.c
+===================================================================
+--- a/src/gcc/gcc.c
++++ b/src/gcc/gcc.c
+@@ -936,7 +936,11 @@ proper position among the other output f
+ #ifndef LINK_PIE_SPEC
+ #ifdef HAVE_LD_PIE
+ #ifndef LD_PIE_SPEC
++#ifdef ACCEL_COMPILER
+ #define LD_PIE_SPEC "-pie"
++#else
++#define LD_PIE_SPEC "-pie -z now"
++#endif
+ #endif
+ #else
+ #define LD_PIE_SPEC ""
--- /dev/null
+# DP: For bootstrap builds, don't build unneeded libstdc++ things
+# DP: (debug library, PCH headers).
+
+# Please read ada-changes-in-autogen-output.diff about src/Makefile.[def|tpl].
+
+--- a/src/Makefile.tpl
++++ b/src/Makefile.tpl
+@@ -1060,7 +1060,9 @@
+ --target=[+target_alias+] $${srcdiroption} [+ IF prev +]\
+ --with-build-libsubdir=$(HOST_SUBDIR) [+ ENDIF prev +]\
+ $(STAGE[+id+]_CONFIGURE_FLAGS)[+ IF extra_configure_flags +] \
+- [+extra_configure_flags+][+ ENDIF extra_configure_flags +]
++ [+extra_configure_flags+][+ ENDIF extra_configure_flags +] \
++ [+ IF bootstrap_configure_flags +][+bootstrap_configure_flags+] \
++ [+ ENDIF bootstrap_configure_flags +]
+ @endif [+prefix+][+module+]-bootstrap
+ [+ ENDFOR bootstrap_stage +]
+ [+ ENDIF bootstrap +]
+--- a/src/Makefile.def
++++ b/src/Makefile.def
+@@ -117,7 +117,8 @@
+ target_modules = { module= libstdc++-v3;
+ bootstrap=true;
+ lib_path=src/.libs;
+- raw_cxx=true; };
++ raw_cxx=true;
++ bootstrap_configure_flags='--disable-libstdcxx-debug --disable-libstdcxx-pch'; };
+ target_modules = { module= libmudflap; lib_path=.libs; };
+ target_modules = { module= libsanitizer; lib_path=.libs; };
+ target_modules = { module= libssp; lib_path=.libs; };
--- /dev/null
+# DP: Don't use any relative path names for the standard include paths.
+
+Index: b/src/gcc/incpath.c
+===================================================================
+--- a/src/gcc/incpath.c
++++ b/src/gcc/incpath.c
+@@ -172,6 +172,14 @@ add_standard_paths (const char *sysroot,
+ str = reconcat (str, str, dir_separator_str,
+ imultiarch, NULL);
+ }
++ {
++ char *rp = lrealpath (str);
++ if (rp)
++ {
++ free (str);
++ str = rp;
++ }
++ }
+ add_path (str, INC_SYSTEM, p->cxx_aware, false);
+ }
+ }
+@@ -246,6 +254,14 @@ add_standard_paths (const char *sysroot,
+ else
+ str = reconcat (str, str, dir_separator_str, imultiarch, NULL);
+ }
++ {
++ char *rp = lrealpath (str);
++ if (rp)
++ {
++ free (str);
++ str = rp;
++ }
++ }
+
+ add_path (str, INC_SYSTEM, p->cxx_aware, false);
+ }
--- /dev/null
+# DP: - Disable some biarch libraries for biarch builds.
+# DP: - Fix multilib builds on kernels which don't support all multilibs.
+
+Index: b/src/config-ml.in
+===================================================================
+--- a/src/config-ml.in
++++ b/src/config-ml.in
+@@ -475,6 +475,25 @@ powerpc*-*-* | rs6000*-*-*)
+ ;;
+ esac
+
++if [ -z "$biarch_multidir_names" ]; then
++ biarch_multidir_names="libiberty libstdc++-v3 libgfortran libmudflap libssp libffi libobjc libgomp"
++ echo "WARNING: biarch_multidir_names is unset. Use default value:"
++ echo " $biarch_multidir_names"
++fi
++ml_srcbase=`basename $ml_realsrcdir`
++old_multidirs="${multidirs}"
++multidirs=""
++for x in ${old_multidirs}; do
++ case " $x " in
++ " 32 "|" n32 "|" x32 "|" 64 "|" hf "|" sf "|" m4-nofpu ")
++ case "$biarch_multidir_names" in
++ *"$ml_srcbase"*) multidirs="${multidirs} ${x}" ;;
++ esac
++ ;;
++ *) multidirs="${multidirs} ${x}" ;;
++ esac
++done
++
+ # Remove extraneous blanks from multidirs.
+ # Tests like `if [ -n "$multidirs" ]' require it.
+ multidirs=`echo "$multidirs" | sed -e 's/^[ ][ ]*//' -e 's/[ ][ ]*$//' -e 's/[ ][ ]*/ /g'`
+@@ -877,9 +896,19 @@ if [ -n "${multidirs}" ] && [ -z "${ml_n
+ fi
+ fi
+
++ ml_configure_args=
++ for arg in ${ac_configure_args}
++ do
++ case $arg in
++ *CC=*) ml_configure_args=${ml_config_env} ;;
++ *CXX=*) ml_configure_args=${ml_config_env} ;;
++ *) ;;
++ esac
++ done
++
+ if eval ${ml_config_env} ${ml_config_shell} ${ml_recprog} \
+ --with-multisubdir=${ml_dir} --with-multisrctop=${multisrctop} \
+- "${ac_configure_args}" ${ml_config_env} ${ml_srcdiroption} ; then
++ "${ac_configure_args}" ${ml_configure_args} ${ml_config_env} ${ml_srcdiroption} ; then
+ true
+ else
+ exit 1
--- /dev/null
+# DP: Fix the location of target's libs in cross-build for biarch
+
+Index: b/src/config-ml.in
+===================================================================
+--- a/src/config-ml.in
++++ b/src/config-ml.in
+@@ -533,7 +533,13 @@ multi-do:
+ else \
+ if [ -d ../$${dir}/$${lib} ]; then \
+ flags=`echo $$i | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`; \
+- if (cd ../$${dir}/$${lib}; $(MAKE) $(FLAGS_TO_PASS) \
++ libsuffix_="$${dir}"; \
++ if [ "$${dir}" = "n32" ]; then libsuffix_=32; fi; \
++ if [ -n "$$($${compiler} -v 2>&1 |grep '^Target: mips')" ] && [ "$${dir}" = "32" ]; then libsuffix_=o32; fi; \
++ if (cd ../$${dir}/$${lib}; $(MAKE) $(subst \
++ -B$(build_tooldir)/lib/, \
++ -B$(build_tooldir)/lib$${libsuffix_}/, \
++ $(FLAGS_TO_PASS)) \
+ CFLAGS="$(CFLAGS) $${flags}" \
+ CCASFLAGS="$(CCASFLAGS) $${flags}" \
+ FCFLAGS="$(FCFLAGS) $${flags}" \
+@@ -786,6 +792,15 @@ if [ -n "${multidirs}" ] && [ -z "${ml_n
+ GOC_=$GOC' '
+ GDC_=$GDC' '
+ else
++ if [ "${ml_dir}" = "." ]; then
++ FILTER_="s!X\\(.*\\)!\\1!p"
++ elif [ "${ml_dir}" = "n32" ]; then # mips n32 -> lib32
++ FILTER_="s!X\\(.*\\)/!\\132/!p"
++ elif [ "${ml_dir}" = "32" ] && [ "$(echo ${host} |grep '^mips')" ]; then # mips o32 -> libo32
++ FILTER_="s!X\\(.*\\)/!\\1o32/!p"
++ else
++ FILTER_="s!X\\(.*\\)/!\\1${ml_dir}/!p"
++ fi
+ # Create a regular expression that matches any string as long
+ # as ML_POPDIR.
+ popdir_rx=`echo "${ML_POPDIR}" | sed 's,.,.,g'`
+@@ -794,6 +809,8 @@ if [ -n "${multidirs}" ] && [ -z "${ml_n
+ case $arg in
+ -[BIL]"${ML_POPDIR}"/*)
+ CC_="${CC_}"`echo "X${arg}" | sed -n "s/X\\(-[BIL]${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X-[BIL]${popdir_rx}\\(.*\\)/\1/p"`' ' ;;
++ -B*/lib/)
++ CC_="${CC_}"`echo "X${arg}" | sed -n "$FILTER_"`' ' ;;
+ "${ML_POPDIR}"/*)
+ CC_="${CC_}"`echo "X${arg}" | sed -n "s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X${popdir_rx}\\(.*\\)/\\1/p"`' ' ;;
+ *)
+@@ -806,6 +823,8 @@ if [ -n "${multidirs}" ] && [ -z "${ml_n
+ case $arg in
+ -[BIL]"${ML_POPDIR}"/*)
+ CXX_="${CXX_}"`echo "X${arg}" | sed -n "s/X\\(-[BIL]${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X-[BIL]${popdir_rx}\\(.*\\)/\\1/p"`' ' ;;
++ -B*/lib/)
++ CXX_="${CXX_}"`echo "X${arg}" | sed -n "$FILTER_"`' ' ;;
+ "${ML_POPDIR}"/*)
+ CXX_="${CXX_}"`echo "X${arg}" | sed -n "s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X${popdir_rx}\\(.*\\)/\\1/p"`' ' ;;
+ *)
+@@ -818,6 +837,8 @@ if [ -n "${multidirs}" ] && [ -z "${ml_n
+ case $arg in
+ -[BIL]"${ML_POPDIR}"/*)
+ F77_="${F77_}"`echo "X${arg}" | sed -n "s/X\\(-[BIL]${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X-[BIL]${popdir_rx}\\(.*\\)/\\1/p"`' ' ;;
++ -B*/lib/)
++ F77_="${F77_}"`echo "X${arg}" | sed -n "$FILTER_"`' ' ;;
+ "${ML_POPDIR}"/*)
+ F77_="${F77_}"`echo "X${arg}" | sed -n "s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X${popdir_rx}\\(.*\\)/\\1/p"`' ' ;;
+ *)
+@@ -830,6 +851,8 @@ if [ -n "${multidirs}" ] && [ -z "${ml_n
+ case $arg in
+ -[BIL]"${ML_POPDIR}"/*)
+ GFORTRAN_="${GFORTRAN_}"`echo "X${arg}" | sed -n "s/X\\(-[BIL]${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X-[BIL]${popdir_rx}\\(.*\\)/\\1/p"`' ' ;;
++ -B*/lib/)
++ GFORTRAN_="${GFORTRAN_}"`echo "X${arg}" | sed -n "$FILTER_"`' ' ;;
+ "${ML_POPDIR}"/*)
+ GFORTRAN_="${GFORTRAN_}"`echo "X${arg}" | sed -n "s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X${popdir_rx}\\(.*\\)/\\1/p"`' ' ;;
+ *)
+@@ -842,6 +865,8 @@ if [ -n "${multidirs}" ] && [ -z "${ml_n
+ case $arg in
+ -[BIL]"${ML_POPDIR}"/*)
+ GOC_="${GOC_}"`echo "X${arg}" | sed -n "s/X\\(-[BIL]${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X-[BIL]${popdir_rx}\\(.*\\)/\\1/p"`' ' ;;
++ -B*/lib/)
++ GOC_="${GOC_}"`echo "X${arg}" | sed -n "$FILTER_"`' ' ;;
+ "${ML_POPDIR}"/*)
+ GOC_="${GOC_}"`echo "X${arg}" | sed -n "s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X${popdir_rx}\\(.*\\)/\\1/p"`' ' ;;
+ *)
--- /dev/null
+# DP: Fix the linker error when creating an xcc for ia64
+
+---
+ gcc/config/ia64/fde-glibc.c | 3 +++
+ gcc/config/ia64/unwind-ia64.c | 3 ++-
+ gcc/unwind-compat.c | 2 ++
+ gcc/unwind-generic.h | 2 ++
+ 6 files changed, 14 insertions(+), 1 deletions(-)
+
+Index: b/src/libgcc/config/ia64/fde-glibc.c
+===================================================================
+--- a/src/libgcc/config/ia64/fde-glibc.c
++++ b/src/libgcc/config/ia64/fde-glibc.c
+@@ -28,6 +28,7 @@
+ #ifndef _GNU_SOURCE
+ #define _GNU_SOURCE 1
+ #endif
++#ifndef inhibit_libc
+ #include "config.h"
+ #include <stddef.h>
+ #include <stdlib.h>
+@@ -159,3 +160,5 @@ _Unwind_FindTableEntry (void *pc, unw_wo
+
+ return data.ret;
+ }
++
++#endif
+Index: b/src/libgcc/config/ia64/unwind-ia64.c
+===================================================================
+--- a/src/libgcc/config/ia64/unwind-ia64.c
++++ b/src/libgcc/config/ia64/unwind-ia64.c
+@@ -26,6 +26,7 @@
+ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+ <http://www.gnu.org/licenses/>. */
+
++#ifndef inhibit_libc
+ #include "tconfig.h"
+ #include "tsystem.h"
+ #include "coretypes.h"
+@@ -2466,3 +2467,4 @@ alias (_Unwind_SetIP);
+ #endif
+
+ #endif
++#endif
+Index: b/src/libgcc/unwind-compat.c
+===================================================================
+--- a/src/libgcc/unwind-compat.c
++++ b/src/libgcc/unwind-compat.c
+@@ -23,6 +23,7 @@
+ <http://www.gnu.org/licenses/>. */
+
+ #if defined (USE_GAS_SYMVER) && defined (USE_LIBUNWIND_EXCEPTIONS)
++#ifndef inhibit_libc
+ #include "tconfig.h"
+ #include "tsystem.h"
+ #include "unwind.h"
+@@ -207,3 +208,4 @@ _Unwind_SetIP (struct _Unwind_Context *c
+ }
+ symver (_Unwind_SetIP, GCC_3.0);
+ #endif
++#endif
+Index: b/src/libgcc/unwind-generic.h
+===================================================================
+--- a/src/libgcc/unwind-generic.h
++++ b/src/libgcc/unwind-generic.h
+@@ -221,6 +221,7 @@ _Unwind_SjLj_Resume_or_Rethrow (struct _
+ compatible with the standard ABI for IA-64, we inline these. */
+
+ #ifdef __ia64__
++#ifndef inhibit_libc
+ static inline _Unwind_Ptr
+ _Unwind_GetDataRelBase (struct _Unwind_Context *_C)
+ {
+@@ -237,6 +238,7 @@ _Unwind_GetTextRelBase (struct _Unwind_C
+
+ /* @@@ Retrieve the Backing Store Pointer of the given context. */
+ extern _Unwind_Word _Unwind_GetBSP (struct _Unwind_Context *);
++#endif /* inhibit_libc */
+ #else
+ extern _Unwind_Ptr _Unwind_GetDataRelBase (struct _Unwind_Context *);
+ extern _Unwind_Ptr _Unwind_GetTextRelBase (struct _Unwind_Context *);
--- /dev/null
+Index: b/src/fixincludes/Makefile.in
+===================================================================
+--- a/src/fixincludes/Makefile.in
++++ b/src/fixincludes/Makefile.in
+@@ -52,9 +52,9 @@ target_noncanonical:=@target_noncanonica
+ gcc_version := $(shell @get_gcc_base_ver@ $(srcdir)/../gcc/BASE-VER)
+
+ # Directory in which the compiler finds libraries etc.
+-libsubdir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)
++libsubdir = $(libdir)/gcc-cross/$(target_noncanonical)/$(gcc_version)
+ # Directory in which the compiler finds executables
+-libexecsubdir = $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version)
++libexecsubdir = $(libexecdir)/gcc-cross/$(target_noncanonical)/$(gcc_version)
+ # Where our executable files go
+ itoolsdir = $(libexecsubdir)/install-tools
+ # Where our data files go
+Index: b/src/libgfortran/Makefile.in
+===================================================================
+--- a/src/libgfortran/Makefile.in
++++ b/src/libgfortran/Makefile.in
+@@ -629,12 +629,12 @@ libgfortran_la_LDFLAGS = -version-info `
+
+ libgfortran_la_DEPENDENCIES = $(version_dep) libgfortran.spec $(LIBQUADLIB_DEP)
+ cafexeclib_LTLIBRARIES = libcaf_single.la
+-cafexeclibdir = $(libdir)/gcc/$(target_alias)/$(gcc_version)$(MULTISUBDIR)
++cafexeclibdir = $(libdir)/gcc-cross/$(target_alias)/$(gcc_version)$(MULTISUBDIR)
+ libcaf_single_la_SOURCES = caf/single.c
+ libcaf_single_la_LDFLAGS = -static
+ libcaf_single_la_DEPENDENCIES = caf/libcaf.h
+ libcaf_single_la_LINK = $(LINK) $(libcaf_single_la_LDFLAGS)
+-@IEEE_SUPPORT_TRUE@fincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)$(MULTISUBDIR)/finclude
++@IEEE_SUPPORT_TRUE@fincludedir = $(libdir)/gcc-cross/$(target_alias)/$(gcc_version)$(MULTISUBDIR)/finclude
+ @IEEE_SUPPORT_TRUE@nodist_finclude_HEADERS = ieee_arithmetic.mod ieee_exceptions.mod ieee_features.mod
+ AM_CPPFLAGS = -iquote$(srcdir)/io -I$(srcdir)/$(MULTISRCTOP)../gcc \
+ -I$(srcdir)/$(MULTISRCTOP)../gcc/config $(LIBQUADINCLUDE) \
+Index: b/src/libgfortran/Makefile.am
+===================================================================
+--- a/src/libgfortran/Makefile.am
++++ b/src/libgfortran/Makefile.am
+@@ -44,14 +44,14 @@ libgfortran_la_LDFLAGS = -version-info `
+ libgfortran_la_DEPENDENCIES = $(version_dep) libgfortran.spec $(LIBQUADLIB_DEP)
+
+ cafexeclib_LTLIBRARIES = libcaf_single.la
+-cafexeclibdir = $(libdir)/gcc/$(target_alias)/$(gcc_version)$(MULTISUBDIR)
++cafexeclibdir = $(libdir)/gcc-cross/$(target_alias)/$(gcc_version)$(MULTISUBDIR)
+ libcaf_single_la_SOURCES = caf/single.c
+ libcaf_single_la_LDFLAGS = -static
+ libcaf_single_la_DEPENDENCIES = caf/libcaf.h
+ libcaf_single_la_LINK = $(LINK) $(libcaf_single_la_LDFLAGS)
+
+ if IEEE_SUPPORT
+-fincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)$(MULTISUBDIR)/finclude
++fincludedir = $(libdir)/gcc-cross/$(target_alias)/$(gcc_version)$(MULTISUBDIR)/finclude
+ nodist_finclude_HEADERS = ieee_arithmetic.mod ieee_exceptions.mod ieee_features.mod
+ endif
+
+Index: b/src/lto-plugin/Makefile.in
+===================================================================
+--- a/src/lto-plugin/Makefile.in
++++ b/src/lto-plugin/Makefile.in
+@@ -256,7 +256,7 @@ with_libiberty = @with_libiberty@
+ ACLOCAL_AMFLAGS = -I .. -I ../config
+ AUTOMAKE_OPTIONS = no-dependencies
+ gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER)
+-libexecsubdir := $(libexecdir)/gcc/$(real_target_noncanonical)/$(gcc_version)$(accel_dir_suffix)
++libexecsubdir := $(libexecdir)/gcc-cross/$(real_target_noncanonical)/$(gcc_version)$(accel_dir_suffix)
+ AM_CPPFLAGS = -I$(top_srcdir)/../include $(DEFS)
+ AM_CFLAGS = @ac_lto_plugin_warn_cflags@
+ AM_LDFLAGS = @ac_lto_plugin_ldflags@
+Index: b/src/lto-plugin/Makefile.am
+===================================================================
+--- a/src/lto-plugin/Makefile.am
++++ b/src/lto-plugin/Makefile.am
+@@ -5,7 +5,7 @@ AUTOMAKE_OPTIONS = no-dependencies
+
+ gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER)
+ target_noncanonical := @target_noncanonical@
+-libexecsubdir := $(libexecdir)/gcc/$(real_target_noncanonical)/$(gcc_version)$(accel_dir_suffix)
++libexecsubdir := $(libexecdir)/gcc-cross/$(real_target_noncanonical)/$(gcc_version)$(accel_dir_suffix)
+
+ AM_CPPFLAGS = -I$(top_srcdir)/../include $(DEFS)
+ AM_CFLAGS = @ac_lto_plugin_warn_cflags@
+Index: b/src/libitm/Makefile.in
+===================================================================
+--- a/src/libitm/Makefile.in
++++ b/src/libitm/Makefile.in
+@@ -336,8 +336,8 @@ SUBDIRS = testsuite
+ gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER)
+ abi_version = -fabi-version=4
+ search_path = $(addprefix $(top_srcdir)/config/, $(config_path)) $(top_srcdir)
+-fincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)/finclude
+-libsubincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)/include
++fincludedir = $(libdir)/gcc-cross/$(target_alias)/$(gcc_version)/finclude
++libsubincludedir = $(libdir)/gcc-cross/$(target_alias)/$(gcc_version)/include
+ AM_CPPFLAGS = $(addprefix -I, $(search_path))
+ AM_CFLAGS = $(XCFLAGS)
+ AM_CXXFLAGS = $(XCFLAGS) -std=gnu++0x -funwind-tables -fno-exceptions \
+Index: b/src/libitm/Makefile.am
+===================================================================
+--- a/src/libitm/Makefile.am
++++ b/src/libitm/Makefile.am
+@@ -11,8 +11,8 @@ abi_version = -fabi-version=4
+ config_path = @config_path@
+ search_path = $(addprefix $(top_srcdir)/config/, $(config_path)) $(top_srcdir)
+
+-fincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)/finclude
+-libsubincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)/include
++fincludedir = $(libdir)/gcc-cross/$(target_alias)/$(gcc_version)/finclude
++libsubincludedir = $(libdir)/gcc-cross/$(target_alias)/$(gcc_version)/include
+
+ vpath % $(strip $(search_path))
+
+Index: b/src/gcc/gcc.c
+===================================================================
+--- a/src/gcc/gcc.c
++++ b/src/gcc/gcc.c
+@@ -4265,7 +4265,7 @@ process_command (unsigned int decoded_op
+ GCC_EXEC_PREFIX is typically a directory name with a trailing
+ / (which is ignored by make_relative_prefix), so append a
+ program name. */
+- char *tmp_prefix = concat (gcc_exec_prefix, "gcc", NULL);
++ char *tmp_prefix = concat (gcc_exec_prefix, "gcc-cross", NULL);
+ gcc_libexec_prefix = get_relative_prefix (tmp_prefix,
+ standard_exec_prefix,
+ standard_libexec_prefix);
+@@ -4291,15 +4291,15 @@ process_command (unsigned int decoded_op
+ {
+ int len = strlen (gcc_exec_prefix);
+
+- if (len > (int) sizeof ("/lib/gcc/") - 1
++ if (len > (int) sizeof ("/lib/gcc-cross/") - 1
+ && (IS_DIR_SEPARATOR (gcc_exec_prefix[len-1])))
+ {
+- temp = gcc_exec_prefix + len - sizeof ("/lib/gcc/") + 1;
++ temp = gcc_exec_prefix + len - sizeof ("/lib/gcc-cross/") + 1;
+ if (IS_DIR_SEPARATOR (*temp)
+ && filename_ncmp (temp + 1, "lib", 3) == 0
+ && IS_DIR_SEPARATOR (temp[4])
+- && filename_ncmp (temp + 5, "gcc", 3) == 0)
+- len -= sizeof ("/lib/gcc/") - 1;
++ && filename_ncmp (temp + 5, "gcc-cross", 3) == 0)
++ len -= sizeof ("/lib/gcc-cross/") - 1;
+ }
+
+ set_std_prefix (gcc_exec_prefix, len);
+Index: b/src/gcc/Makefile.in
+===================================================================
+--- a/src/gcc/Makefile.in
++++ b/src/gcc/Makefile.in
+@@ -615,9 +615,9 @@ libexecdir = @libexecdir@
+ # --------
+
+ # Directory in which the compiler finds libraries etc.
+-libsubdir = $(libdir)/gcc/$(real_target_noncanonical)/$(version)$(accel_dir_suffix)
++libsubdir = $(libdir)/gcc-cross/$(real_target_noncanonical)/$(version)$(accel_dir_suffix)
+ # Directory in which the compiler finds executables
+-libexecsubdir = $(libexecdir)/gcc/$(real_target_noncanonical)/$(version)$(accel_dir_suffix)
++libexecsubdir = $(libexecdir)/gcc-cross/$(real_target_noncanonical)/$(version)$(accel_dir_suffix)
+ # Directory in which all plugin resources are installed
+ plugin_resourcesdir = $(libsubdir)/plugin
+ # Directory in which plugin headers are installed
+@@ -2199,8 +2199,8 @@ default-d.o: config/default-d.c
+
+ DRIVER_DEFINES = \
+ -DSTANDARD_STARTFILE_PREFIX=\"$(unlibsubdir)/\" \
+- -DSTANDARD_EXEC_PREFIX=\"$(libdir)/gcc/\" \
+- -DSTANDARD_LIBEXEC_PREFIX=\"$(libexecdir)/gcc/\" \
++ -DSTANDARD_EXEC_PREFIX=\"$(libdir)/gcc-cross/\" \
++ -DSTANDARD_LIBEXEC_PREFIX=\"$(libexecdir)/gcc-cross/\" \
+ -DDEFAULT_TARGET_VERSION=\"$(version)\" \
+ -DDEFAULT_REAL_TARGET_MACHINE=\"$(real_target_noncanonical)\" \
+ -DDEFAULT_TARGET_MACHINE=\"$(target_noncanonical)\" \
+@@ -2888,7 +2888,7 @@ PREPROCESSOR_DEFINES = \
+ -DTOOL_INCLUDE_DIR=\"$(gcc_tooldir)/include\" \
+ -DNATIVE_SYSTEM_HEADER_DIR=\"$(NATIVE_SYSTEM_HEADER_DIR)\" \
+ -DPREFIX=\"$(prefix)/\" \
+- -DSTANDARD_EXEC_PREFIX=\"$(libdir)/gcc/\" \
++ -DSTANDARD_EXEC_PREFIX=\"$(libdir)/gcc-cross/\" \
+ @TARGET_SYSTEM_ROOT_DEFINE@
+
+ CFLAGS-cppbuiltin.o += $(PREPROCESSOR_DEFINES) -DBASEVER=$(BASEVER_s)
+Index: b/src/libssp/Makefile.in
+===================================================================
+--- a/src/libssp/Makefile.in
++++ b/src/libssp/Makefile.in
+@@ -291,7 +291,7 @@ gcc_version := $(shell @get_gcc_base_ver
+ @LIBSSP_USE_SYMVER_SUN_TRUE@@LIBSSP_USE_SYMVER_TRUE@version_dep = ssp.map-sun
+ AM_CFLAGS = -Wall $(XCFLAGS)
+ toolexeclib_LTLIBRARIES = libssp.la libssp_nonshared.la
+-libsubincludedir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)/include
++libsubincludedir = $(libdir)/gcc-cross/$(target_noncanonical)/$(gcc_version)/include
+ nobase_libsubinclude_HEADERS = ssp/ssp.h ssp/string.h ssp/stdio.h ssp/unistd.h
+ libssp_la_SOURCES = \
+ ssp.c gets-chk.c memcpy-chk.c memmove-chk.c mempcpy-chk.c \
+Index: b/src/libssp/Makefile.am
+===================================================================
+--- a/src/libssp/Makefile.am
++++ b/src/libssp/Makefile.am
+@@ -39,7 +39,7 @@ AM_CFLAGS += $(XCFLAGS)
+ toolexeclib_LTLIBRARIES = libssp.la libssp_nonshared.la
+
+ target_noncanonical = @target_noncanonical@
+-libsubincludedir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)/include
++libsubincludedir = $(libdir)/gcc-cross/$(target_noncanonical)/$(gcc_version)/include
+ nobase_libsubinclude_HEADERS = ssp/ssp.h ssp/string.h ssp/stdio.h ssp/unistd.h
+
+ libssp_la_SOURCES = \
+Index: b/src/libquadmath/Makefile.in
+===================================================================
+--- a/src/libquadmath/Makefile.in
++++ b/src/libquadmath/Makefile.in
+@@ -358,7 +358,7 @@ AUTOMAKE_OPTIONS = 1.8 foreign
+
+ @BUILD_LIBQUADMATH_TRUE@libquadmath_la_DEPENDENCIES = $(version_dep) $(libquadmath_la_LIBADD)
+ @BUILD_LIBQUADMATH_TRUE@nodist_libsubinclude_HEADERS = quadmath.h quadmath_weak.h
+-@BUILD_LIBQUADMATH_TRUE@libsubincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)/include
++@BUILD_LIBQUADMATH_TRUE@libsubincludedir = $(libdir)/gcc-cross/$(target_alias)/$(gcc_version)/include
+ @BUILD_LIBQUADMATH_TRUE@libquadmath_la_SOURCES = \
+ @BUILD_LIBQUADMATH_TRUE@ math/x2y2m1q.c math/isinf_nsq.c math/acoshq.c math/fmodq.c \
+ @BUILD_LIBQUADMATH_TRUE@ math/acosq.c math/frexpq.c \
+Index: b/src/libquadmath/Makefile.am
+===================================================================
+--- a/src/libquadmath/Makefile.am
++++ b/src/libquadmath/Makefile.am
+@@ -42,7 +42,7 @@ libquadmath_la_LDFLAGS = -version-info `
+ libquadmath_la_DEPENDENCIES = $(version_dep) $(libquadmath_la_LIBADD)
+
+ nodist_libsubinclude_HEADERS = quadmath.h quadmath_weak.h
+-libsubincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)/include
++libsubincludedir = $(libdir)/gcc-cross/$(target_alias)/$(gcc_version)/include
+
+ libquadmath_la_SOURCES = \
+ math/x2y2m1q.c math/isinf_nsq.c math/acoshq.c math/fmodq.c \
+Index: b/src/libobjc/Makefile.in
+===================================================================
+--- a/src/libobjc/Makefile.in
++++ b/src/libobjc/Makefile.in
+@@ -48,7 +48,7 @@ extra_ldflags_libobjc = @extra_ldflags_l
+ top_builddir = .
+
+ libdir = $(exec_prefix)/lib
+-libsubdir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)
++libsubdir = $(libdir)/gcc-cross/$(target_noncanonical)/$(gcc_version)
+
+ # Multilib support variables.
+ MULTISRCTOP =
+Index: b/src/libada/Makefile.in
+===================================================================
+--- a/src/libada/Makefile.in
++++ b/src/libada/Makefile.in
+@@ -68,7 +68,7 @@ GCC_DIR=$(MULTIBUILDTOP)../../$(host_sub
+
+ target_noncanonical:=@target_noncanonical@
+ version := $(shell @get_gcc_base_ver@ $(srcdir)/../gcc/BASE-VER)
+-libsubdir := $(libdir)/gcc/$(target_noncanonical)/$(version)$(MULTISUBDIR)
++libsubdir := $(libdir)/gcc-cross/$(target_noncanonical)/$(version)$(MULTISUBDIR)
+ ADA_RTS_DIR=$(GCC_DIR)/ada/rts$(subst /,_,$(MULTISUBDIR))
+ ADA_RTS_SUBDIR=./rts$(subst /,_,$(MULTISUBDIR))
+
+Index: b/src/libgomp/Makefile.in
+===================================================================
+--- a/src/libgomp/Makefile.in
++++ b/src/libgomp/Makefile.in
+@@ -406,8 +406,8 @@ gcc_version := $(shell @get_gcc_base_ver
+ search_path = $(addprefix $(top_srcdir)/config/, $(config_path)) $(top_srcdir) \
+ $(top_srcdir)/../include
+
+-fincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)$(MULTISUBDIR)/finclude
+-libsubincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)/include
++fincludedir = $(libdir)/gcc-cross/$(target_alias)/$(gcc_version)$(MULTISUBDIR)/finclude
++libsubincludedir = $(libdir)/gcc-cross/$(target_alias)/$(gcc_version)/include
+ AM_CPPFLAGS = $(addprefix -I, $(search_path))
+ AM_CFLAGS = $(XCFLAGS)
+ AM_LDFLAGS = $(XLDFLAGS) $(SECTION_LDFLAGS) $(OPT_LDFLAGS)
+Index: b/src/libgomp/Makefile.am
+===================================================================
+--- a/src/libgomp/Makefile.am
++++ b/src/libgomp/Makefile.am
+@@ -10,8 +10,8 @@ config_path = @config_path@
+ search_path = $(addprefix $(top_srcdir)/config/, $(config_path)) $(top_srcdir) \
+ $(top_srcdir)/../include
+
+-fincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)$(MULTISUBDIR)/finclude
+-libsubincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)/include
++fincludedir = $(libdir)/gcc-cross/$(target_alias)/$(gcc_version)$(MULTISUBDIR)/finclude
++libsubincludedir = $(libdir)/gcc-cross/$(target_alias)/$(gcc_version)/include
+
+ vpath % $(strip $(search_path))
+
+Index: b/src/libgcc/Makefile.in
+===================================================================
+--- a/src/libgcc/Makefile.in
++++ b/src/libgcc/Makefile.in
+@@ -197,7 +197,7 @@ STRIP = @STRIP@
+ STRIP_FOR_TARGET = $(STRIP)
+
+ # Directory in which the compiler finds libraries etc.
+-libsubdir = $(libdir)/gcc/$(real_host_noncanonical)/$(version)@accel_dir_suffix@
++libsubdir = $(libdir)/gcc-cross/$(real_host_noncanonical)/$(version)@accel_dir_suffix@
+ # Used to install the shared libgcc.
+ slibdir = @slibdir@
+ # Maybe used for DLLs on Windows targets.
+Index: b/src/libffi/include/Makefile.am
+===================================================================
+--- a/src/libffi/include/Makefile.am
++++ b/src/libffi/include/Makefile.am
+@@ -8,6 +8,6 @@ EXTRA_DIST=ffi.h.in
+
+ # Where generated headers like ffitarget.h get installed.
+ gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER)
+-toollibffidir := $(libdir)/gcc/$(target_alias)/$(gcc_version)/include
++toollibffidir := $(libdir)/gcc-cross/$(target_alias)/$(gcc_version)/include
+
+ toollibffi_HEADERS = ffi.h ffitarget.h
+Index: b/src/libffi/include/Makefile.in
+===================================================================
+--- a/src/libffi/include/Makefile.in
++++ b/src/libffi/include/Makefile.in
+@@ -254,7 +254,7 @@ EXTRA_DIST = ffi.h.in
+
+ # Where generated headers like ffitarget.h get installed.
+ gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER)
+-toollibffidir := $(libdir)/gcc/$(target_alias)/$(gcc_version)/include
++toollibffidir := $(libdir)/gcc-cross/$(target_alias)/$(gcc_version)/include
+ toollibffi_HEADERS = ffi.h ffitarget.h
+ all: all-am
+
+Index: b/src/libcc1/Makefile.am
+===================================================================
+--- a/src/libcc1/Makefile.am
++++ b/src/libcc1/Makefile.am
+@@ -37,7 +37,7 @@ libiberty = $(if $(wildcard $(libiberty_
+ $(Wc)$(libiberty_normal)))
+ libiberty_dep = $(patsubst $(Wc)%,%,$(libiberty))
+
+-plugindir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)/plugin
++plugindir = $(libdir)/gcc-cross/$(target_noncanonical)/$(gcc_version)/plugin
+ cc1libdir = $(libdir)/$(libsuffix)
+
+ if ENABLE_PLUGIN
+Index: b/src/libcc1/Makefile.in
+===================================================================
+--- a/src/libcc1/Makefile.in
++++ b/src/libcc1/Makefile.in
+@@ -303,7 +303,7 @@ libiberty = $(if $(wildcard $(libiberty_
+ $(Wc)$(libiberty_normal)))
+
+ libiberty_dep = $(patsubst $(Wc)%,%,$(libiberty))
+-plugindir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)/plugin
++plugindir = $(libdir)/gcc-cross/$(target_noncanonical)/$(gcc_version)/plugin
+ cc1libdir = $(libdir)/$(libsuffix)
+ @ENABLE_PLUGIN_TRUE@plugin_LTLIBRARIES = libcc1plugin.la libcp1plugin.la
+ @ENABLE_PLUGIN_TRUE@cc1lib_LTLIBRARIES = libcc1.la
+Index: b/src/libsanitizer/Makefile.am
+===================================================================
+--- a/src/libsanitizer/Makefile.am
++++ b/src/libsanitizer/Makefile.am
+@@ -1,6 +1,6 @@
+ ACLOCAL_AMFLAGS = -I .. -I ../config
+
+-sanincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)/include/sanitizer
++sanincludedir = $(libdir)/gcc-cross/$(target_alias)/$(gcc_version)/include/sanitizer
+
+ nodist_saninclude_HEADERS =
+
+Index: b/src/libsanitizer/Makefile.in
+===================================================================
+--- a/src/libsanitizer/Makefile.in
++++ b/src/libsanitizer/Makefile.in
+@@ -291,7 +291,7 @@ top_build_prefix = @top_build_prefix@
+ top_builddir = @top_builddir@
+ top_srcdir = @top_srcdir@
+ ACLOCAL_AMFLAGS = -I .. -I ../config
+-sanincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)/include/sanitizer
++sanincludedir = $(libdir)/gcc-cross/$(target_alias)/$(gcc_version)/include/sanitizer
+ nodist_saninclude_HEADERS = $(am__append_1)
+ @SANITIZER_SUPPORTED_TRUE@SUBDIRS = sanitizer_common $(am__append_2) \
+ @SANITIZER_SUPPORTED_TRUE@ $(am__append_3) lsan asan ubsan \
--- /dev/null
+# DP: Don't add /usr/local/include for cross compilers. Assume that
+# DP: /usr/include is ready for multiarch, but not /usr/local/include.
+
+--- a/src/gcc/cppdefault.c
++++ b/src/gcc/cppdefault.c
+@@ -66,8 +66,11 @@
+ #ifdef LOCAL_INCLUDE_DIR
+ /* /usr/local/include comes before the fixincluded header files. */
+ { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 2 },
++#if 0
++ /* Unsafe to assume that /usr/local/include is ready for multiarch. */
+ { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 0 },
+ #endif
++#endif
+ #ifdef PREFIX_INCLUDE_DIR
+ { PREFIX_INCLUDE_DIR, 0, 0, 1, 0, 0 },
+ #endif
--- /dev/null
+# Mask __float128 types from CUDA compilers (LP: #1717257)
+
+Index: b/src/libstdc++-v3/include/std/type_traits
+===================================================================
+--- a/src/libstdc++-v3/include/std/type_traits
++++ b/src/libstdc++-v3/include/std/type_traits
+@@ -330,7 +330,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
+ struct __is_floating_point_helper<long double>
+ : public true_type { };
+
+-#if !defined(__STRICT_ANSI__) && defined(_GLIBCXX_USE_FLOAT128)
++#if !defined(__STRICT_ANSI__) && defined(_GLIBCXX_USE_FLOAT128) && !defined(__CUDACC__)
+ template<>
+ struct __is_floating_point_helper<__float128>
+ : public true_type { };
+Index: b/src/libstdc++-v3/include/bits/std_abs.h
+===================================================================
+--- a/src/libstdc++-v3/include/bits/std_abs.h
++++ b/src/libstdc++-v3/include/bits/std_abs.h
+@@ -96,7 +96,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
+ abs(__GLIBCXX_TYPE_INT_N_3 __x) { return __x >= 0 ? __x : -__x; }
+ #endif
+
+-#if !defined(__STRICT_ANSI__) && defined(_GLIBCXX_USE_FLOAT128)
++#if !defined(__STRICT_ANSI__) && defined(_GLIBCXX_USE_FLOAT128) && !defined(__CUDACC__)
+ inline _GLIBCXX_CONSTEXPR
+ __float128
+ abs(__float128 __x)
--- /dev/null
+# DP: Disable D tests, hang on many buildds
+
+Index: b/src/gcc/d/Make-lang.in
+===================================================================
+--- a/src/gcc/d/Make-lang.in
++++ b/src/gcc/d/Make-lang.in
+@@ -148,9 +148,9 @@ d.srcman: doc/gdc.1
+ # check targets. However, our DejaGNU framework requires 'check-gdc' as its
+ # entry point. We feed the former to the latter here.
+ check-d: check-gdc
+-lang_checks += check-gdc
+-lang_checks_parallelized += check-gdc
+-check_gdc_parallelize = 10
++#lang_checks += check-gdc
++#lang_checks_parallelized += check-gdc
++#check_gdc_parallelize = 10
+
+ # Install hooks.
+
--- /dev/null
+# DP: Use /usr/include/<multiarch>/c++/4.x as the include directory
+# DP: for host dependent c++ header files.
+
+Index: b/src/libstdc++-v3/include/Makefile.am
+===================================================================
+--- a/src/libstdc++-v3/include/Makefile.am
++++ b/src/libstdc++-v3/include/Makefile.am
+@@ -929,7 +929,7 @@ endif
+
+ host_srcdir = ${glibcxx_srcdir}/$(OS_INC_SRCDIR)
+ host_builddir = ./${host_alias}/bits
+-host_installdir = ${gxx_include_dir}/${host_alias}$(MULTISUBDIR)/bits
++host_installdir = $(if $(shell $(CC) -print-multiarch),/usr/include/$(shell $(filter-out -m%,$(CC)) -print-multiarch)/c++/$(notdir ${gxx_include_dir})$(MULTISUBDIR)/bits,${gxx_include_dir}/${default_host_alias}$(MULTISUBDIR)/bits)
+ host_headers = \
+ ${host_srcdir}/ctype_base.h \
+ ${host_srcdir}/ctype_inline.h \
+Index: b/src/libstdc++-v3/include/Makefile.in
+===================================================================
+--- a/src/libstdc++-v3/include/Makefile.in
++++ b/src/libstdc++-v3/include/Makefile.in
+@@ -1215,7 +1215,7 @@ profile_impl_headers = \
+ @GLIBCXX_C_HEADERS_COMPATIBILITY_TRUE@c_compatibility_headers_extra = ${c_compatibility_headers}
+ host_srcdir = ${glibcxx_srcdir}/$(OS_INC_SRCDIR)
+ host_builddir = ./${host_alias}/bits
+-host_installdir = ${gxx_include_dir}/${host_alias}$(MULTISUBDIR)/bits
++host_installdir = $(if $(shell $(CC) -print-multiarch),/usr/include/$(shell $(filter-out -m%,$(CC)) -print-multiarch)/c++/$(notdir ${gxx_include_dir})$(MULTISUBDIR)/bits,${gxx_include_dir}/${default_host_alias}$(MULTISUBDIR)/bits)
+ host_headers = \
+ ${host_srcdir}/ctype_base.h \
+ ${host_srcdir}/ctype_inline.h \
+Index: b/src/gcc/Makefile.in
+===================================================================
+--- a/src/gcc/Makefile.in
++++ b/src/gcc/Makefile.in
+@@ -1170,6 +1170,7 @@ FLAGS_TO_PASS = \
+ "prefix=$(prefix)" \
+ "local_prefix=$(local_prefix)" \
+ "gxx_include_dir=$(gcc_gxx_include_dir)" \
++ "gxx_tool_include_dir=$(gcc_gxx_tool_include_dir)" \
+ "build_tooldir=$(build_tooldir)" \
+ "gcc_tooldir=$(gcc_tooldir)" \
+ "bindir=$(bindir)" \
+@@ -1718,6 +1719,14 @@ ifneq ($(xmake_file),)
+ include $(xmake_file)
+ endif
+
++# Directory in which the compiler finds target-dependent g++ includes.
++ifneq ($(call if_multiarch,non-empty),)
++ gcc_gxx_tool_include_dir = $(libsubdir)/$(libsubdir_to_prefix)include/$(MULTIARCH_DIRNAME)/c++/$(version)
++else
++ gcc_gxx_tool_include_dir = $(gcc_gxx_include_dir)/$(target_noncanonical)
++endif
++
++
+ # all-tree.def includes all the tree.def files.
+ all-tree.def: s-alltree; @true
+ s-alltree: Makefile
+@@ -2881,7 +2890,7 @@ PREPROCESSOR_DEFINES = \
+ -DFIXED_INCLUDE_DIR=\"$(libsubdir)/include-fixed\" \
+ -DGPLUSPLUS_INCLUDE_DIR=\"$(gcc_gxx_include_dir)\" \
+ -DGPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT=$(gcc_gxx_include_dir_add_sysroot) \
+- -DGPLUSPLUS_TOOL_INCLUDE_DIR=\"$(gcc_gxx_include_dir)/$(target_noncanonical)\" \
++ -DGPLUSPLUS_TOOL_INCLUDE_DIR=\"$(gcc_gxx_tool_include_dir)\" \
+ -DGPLUSPLUS_BACKWARD_INCLUDE_DIR=\"$(gcc_gxx_include_dir)/backward\" \
+ -DLOCAL_INCLUDE_DIR=\"$(local_includedir)\" \
+ -DCROSS_INCLUDE_DIR=\"$(CROSS_SYSTEM_HEADER_DIR)\" \
+Index: b/src/gcc/cppdefault.c
+===================================================================
+--- a/src/gcc/cppdefault.c
++++ b/src/gcc/cppdefault.c
+@@ -49,6 +49,8 @@ const struct default_include cpp_include
+ /* Pick up GNU C++ target-dependent include files. */
+ { GPLUSPLUS_TOOL_INCLUDE_DIR, "G++", 1, 1,
+ GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 1 },
++ { GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1,
++ GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 2 },
+ #endif
+ #ifdef GPLUSPLUS_BACKWARD_INCLUDE_DIR
+ /* Pick up GNU C++ backward and deprecated include files. */
+Index: b/src/gcc/incpath.c
+===================================================================
+--- a/src/gcc/incpath.c
++++ b/src/gcc/incpath.c
+@@ -159,6 +159,18 @@ add_standard_paths (const char *sysroot,
+ }
+ str = reconcat (str, str, dir_separator_str,
+ imultiarch, NULL);
++ if (p->cplusplus && strstr (str, "/c++/"))
++ {
++ char *suffix = strstr (str, "/c++/");
++ *suffix++ = '\0';
++ suffix = xstrdup (suffix);
++ str = reconcat (str, str, dir_separator_str,
++ imultiarch,
++ dir_separator_str, suffix, NULL);
++ }
++ else
++ str = reconcat (str, str, dir_separator_str,
++ imultiarch, NULL);
+ }
+ add_path (str, INC_SYSTEM, p->cxx_aware, false);
+ }
+@@ -223,7 +235,16 @@ add_standard_paths (const char *sysroot,
+ free (str);
+ continue;
+ }
+- str = reconcat (str, str, dir_separator_str, imultiarch, NULL);
++ if (p->cplusplus && strstr (str, "/c++/"))
++ {
++ char *suffix = strstr (str, "/c++/");
++ *suffix++ = '\0';
++ suffix = xstrdup (suffix);
++ str = reconcat (str, str, dir_separator_str, imultiarch,
++ dir_separator_str, suffix, NULL);
++ }
++ else
++ str = reconcat (str, str, dir_separator_str, imultiarch, NULL);
+ }
+
+ add_path (str, INC_SYSTEM, p->cxx_aware, false);
--- /dev/null
+# DP: Ignore bootstrap comparison failures in gcc/d on alpha
+
+Index: b/src/configure.ac
+===================================================================
+--- a/src/configure.ac
++++ b/src/configure.ac
+@@ -3519,6 +3519,7 @@ case "$target" in
+ hppa*64*-*-hpux*) ;;
+ hppa*-*-hpux*) compare_exclusions="gcc/cc*-checksum\$(objext) | */libgcc/lib2funcs* | gcc/ada/*tools/* | gcc/function-tests.o" ;;
+ powerpc*-ibm-aix*) compare_exclusions="gcc/cc*-checksum\$(objext) | gcc/ada/*tools/* | *libgomp*\$(objext)" ;;
++ alpha*-linux-*) compare_exclusions="gcc/cc*-checksum\$(objext) | gcc/ada/*tools/* | gcc/d/*\$(objext)" ;;
+ esac
+ AC_SUBST(compare_exclusions)
+
--- /dev/null
+# DP: Use --push-state/--pop-state for gold as well when linking libtsan.
+
+Index: b/src/gcc/gcc.c
+===================================================================
+--- a/src/gcc/gcc.c
++++ b/src/gcc/gcc.c
+@@ -693,10 +693,10 @@ proper position among the other output f
+ #define LIBASAN_SPEC STATIC_LIBASAN_LIBS
+ #elif defined(HAVE_LD_STATIC_DYNAMIC)
+ #define LIBASAN_SPEC "%{static-libasan:" LD_STATIC_OPTION "}" \
+- " %{!static-libasan:%{!fuse-ld=gold:--push-state }--no-as-needed}" \
++ " %{!static-libasan:--push-state --no-as-needed}" \
+ " -lasan " \
+ " %{static-libasan:" LD_DYNAMIC_OPTION "}" \
+- " %{!static-libasan:%{fuse-ld=gold:--as-needed;:--pop-state}}" \
++ " %{!static-libasan:--pop-state}" \
+ STATIC_LIBASAN_LIBS
+ #else
+ #define LIBASAN_SPEC "-lasan" STATIC_LIBASAN_LIBS
+@@ -714,10 +714,10 @@ proper position among the other output f
+ #define LIBTSAN_SPEC STATIC_LIBTSAN_LIBS
+ #elif defined(HAVE_LD_STATIC_DYNAMIC)
+ #define LIBTSAN_SPEC "%{static-libtsan:" LD_STATIC_OPTION "}" \
+- " %{!static-libtsan:%{!fuse-ld=gold:--push-state }--no-as-needed}" \
++ " %{!static-libtsan:--push-state --no-as-needed}" \
+ " -ltsan " \
+ " %{static-libtsan:" LD_DYNAMIC_OPTION "}" \
+- " %{!static-libtsan:%{fuse-ld=gold:--as-needed;:--pop-state}}" \
++ " %{!static-libtsan:--pop-state}" \
+ STATIC_LIBTSAN_LIBS
+ #else
+ #define LIBTSAN_SPEC "-ltsan" STATIC_LIBTSAN_LIBS
+@@ -735,10 +735,10 @@ proper position among the other output f
+ #define LIBLSAN_SPEC STATIC_LIBLSAN_LIBS
+ #elif defined(HAVE_LD_STATIC_DYNAMIC)
+ #define LIBLSAN_SPEC "%{static-liblsan:" LD_STATIC_OPTION "}" \
+- " %{!static-liblsan:%{!fuse-ld=gold:--push-state }--no-as-needed}" \
++ " %{!static-liblsan:--push-state --no-as-needed}" \
+ " -llsan " \
+ " %{static-liblsan:" LD_DYNAMIC_OPTION "}" \
+- " %{!static-liblsan:%{fuse-ld=gold:--as-needed;:--pop-state}}" \
++ " %{!static-liblsan:--pop-state}" \
+ STATIC_LIBLSAN_LIBS
+ #else
+ #define LIBLSAN_SPEC "-llsan" STATIC_LIBLSAN_LIBS
+@@ -754,10 +754,10 @@ proper position among the other output f
+ " %{static-libubsan|static:%:include(libsanitizer.spec)%(link_libubsan)}"
+ #ifdef HAVE_LD_STATIC_DYNAMIC
+ #define LIBUBSAN_SPEC "%{static-libubsan:" LD_STATIC_OPTION "}" \
+- " %{!static-libubsan:%{!fuse-ld=gold:--push-state }--no-as-needed}" \
++ " %{!static-libubsan:--push-state --no-as-needed}" \
+ " -lubsan " \
+ " %{static-libubsan:" LD_DYNAMIC_OPTION "}" \
+- " %{!static-libubsan:%{fuse-ld=gold:--as-needed;:--pop-state}}" \
++ " %{!static-libubsan:--pop-state}" \
+ STATIC_LIBUBSAN_LIBS
+ #else
+ #define LIBUBSAN_SPEC "-lubsan" STATIC_LIBUBSAN_LIBS
--- /dev/null
+From: Jakub Jelinek <jakub@redhat.com>
+Subject: [PATCH] Use --push-state --as-needed and --pop-state instead of --as-needed and --no-as-needed for libgcc
+
+As discussed, using --as-needed and --no-as-needed is dangerous, because
+it results in --no-as-needed even for libraries after -lgcc_s, even when the
+default is --as-needed or --as-needed has been specified earlier on the
+command line.
+
+If the linker supports --push-state/--pop-state, we should IMHO use it.
+
+2018-04-11 Jakub Jelinek <jakub@redhat.com>
+
+ * configure.ac (LD_AS_NEEDED_OPTION, LD_NO_AS_NEEDED_OPTION): Use
+ --push-state --as-needed and --pop-state instead of --as-needed and
+ --no-as-needed if ld supports it.
+ * configure: Regenerated.
+
+Index: b/src/gcc/configure.ac
+===================================================================
+--- a/src/gcc/configure.ac
++++ b/src/gcc/configure.ac
+@@ -5518,11 +5518,21 @@ if test $in_tree_ld = yes ; then
+ if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 16 -o "$gcc_cv_gld_major_version" -gt 2 \
+ && test $in_tree_ld_is_elf = yes; then
+ gcc_cv_ld_as_needed=yes
++ if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 28; then
++ gcc_cv_ld_as_needed_option='--push-state --as-needed'
++ gcc_cv_ld_no_as_needed_option='--pop-state'
++ fi
+ fi
+ elif test x$gcc_cv_ld != x; then
+ # Check if linker supports --as-needed and --no-as-needed options
+ if $gcc_cv_ld --help 2>&1 | grep as-needed > /dev/null; then
+ gcc_cv_ld_as_needed=yes
++ if $gcc_cv_ld --help 2>&1 | grep push-state > /dev/null; then
++ if $gcc_cv_ld --help 2>&1 | grep pop-state > /dev/null; then
++ gcc_cv_ld_as_needed_option='--push-state --as-needed'
++ gcc_cv_ld_no_as_needed_option='--pop-state'
++ fi
++ fi
+ fi
+ case "$target:$gnu_ld" in
+ *-*-solaris2*:no)
--- /dev/null
+# DP: On linux targets pass --as-needed by default to the linker, but always
+# DP: link the sanitizer libraries with --no-as-needed.
+
+Index: b/src/gcc/gcc.c
+===================================================================
+--- a/src/gcc/gcc.c
++++ b/src/gcc/gcc.c
+@@ -692,8 +692,11 @@ proper position among the other output f
+ #ifdef LIBASAN_EARLY_SPEC
+ #define LIBASAN_SPEC STATIC_LIBASAN_LIBS
+ #elif defined(HAVE_LD_STATIC_DYNAMIC)
+-#define LIBASAN_SPEC "%{static-libasan:" LD_STATIC_OPTION \
+- "} -lasan %{static-libasan:" LD_DYNAMIC_OPTION "}" \
++#define LIBASAN_SPEC "%{static-libasan:" LD_STATIC_OPTION "}" \
++ " %{!static-libasan:%{!fuse-ld=gold:--push-state }--no-as-needed}" \
++ " -lasan " \
++ " %{static-libasan:" LD_DYNAMIC_OPTION "}" \
++ " %{!static-libasan:%{fuse-ld=gold:--as-needed;:--pop-state}}" \
+ STATIC_LIBASAN_LIBS
+ #else
+ #define LIBASAN_SPEC "-lasan" STATIC_LIBASAN_LIBS
+@@ -710,8 +713,11 @@ proper position among the other output f
+ #ifdef LIBTSAN_EARLY_SPEC
+ #define LIBTSAN_SPEC STATIC_LIBTSAN_LIBS
+ #elif defined(HAVE_LD_STATIC_DYNAMIC)
+-#define LIBTSAN_SPEC "%{static-libtsan:" LD_STATIC_OPTION \
+- "} -ltsan %{static-libtsan:" LD_DYNAMIC_OPTION "}" \
++#define LIBTSAN_SPEC "%{static-libtsan:" LD_STATIC_OPTION "}" \
++ " %{!static-libtsan:%{!fuse-ld=gold:--push-state }--no-as-needed}" \
++ " -ltsan " \
++ " %{static-libtsan:" LD_DYNAMIC_OPTION "}" \
++ " %{!static-libtsan:%{fuse-ld=gold:--as-needed;:--pop-state}}" \
+ STATIC_LIBTSAN_LIBS
+ #else
+ #define LIBTSAN_SPEC "-ltsan" STATIC_LIBTSAN_LIBS
+@@ -728,8 +734,11 @@ proper position among the other output f
+ #ifdef LIBLSAN_EARLY_SPEC
+ #define LIBLSAN_SPEC STATIC_LIBLSAN_LIBS
+ #elif defined(HAVE_LD_STATIC_DYNAMIC)
+-#define LIBLSAN_SPEC "%{static-liblsan:" LD_STATIC_OPTION \
+- "} -llsan %{static-liblsan:" LD_DYNAMIC_OPTION "}" \
++#define LIBLSAN_SPEC "%{static-liblsan:" LD_STATIC_OPTION "}" \
++ " %{!static-liblsan:%{!fuse-ld=gold:--push-state }--no-as-needed}" \
++ " -llsan " \
++ " %{static-liblsan:" LD_DYNAMIC_OPTION "}" \
++ " %{!static-liblsan:%{fuse-ld=gold:--as-needed;:--pop-state}}" \
+ STATIC_LIBLSAN_LIBS
+ #else
+ #define LIBLSAN_SPEC "-llsan" STATIC_LIBLSAN_LIBS
+@@ -744,8 +753,11 @@ proper position among the other output f
+ #define STATIC_LIBUBSAN_LIBS \
+ " %{static-libubsan|static:%:include(libsanitizer.spec)%(link_libubsan)}"
+ #ifdef HAVE_LD_STATIC_DYNAMIC
+-#define LIBUBSAN_SPEC "%{static-libubsan:" LD_STATIC_OPTION \
+- "} -lubsan %{static-libubsan:" LD_DYNAMIC_OPTION "}" \
++#define LIBUBSAN_SPEC "%{static-libubsan:" LD_STATIC_OPTION "}" \
++ " %{!static-libubsan:%{!fuse-ld=gold:--push-state }--no-as-needed}" \
++ " -lubsan " \
++ " %{static-libubsan:" LD_DYNAMIC_OPTION "}" \
++ " %{!static-libubsan:%{fuse-ld=gold:--as-needed;:--pop-state}}" \
+ STATIC_LIBUBSAN_LIBS
+ #else
+ #define LIBUBSAN_SPEC "-lubsan" STATIC_LIBUBSAN_LIBS
+Index: b/src/gcc/config/gnu-user.h
+===================================================================
+--- a/src/gcc/config/gnu-user.h
++++ b/src/gcc/config/gnu-user.h
+@@ -161,15 +161,15 @@ see the files COPYING3 and COPYING.RUNTI
+ #define LIBASAN_EARLY_SPEC "%{!shared:libasan_preinit%O%s} " \
+ "%{static-libasan:%{!shared:" \
+ LD_STATIC_OPTION " --whole-archive -lasan --no-whole-archive " \
+- LD_DYNAMIC_OPTION "}}%{!static-libasan:-lasan}"
++ LD_DYNAMIC_OPTION "}}%{!static-libasan:%{!fuse-ld=gold:--push-state} --no-as-needed -lasan %{fuse-ld=gold:--as-needed;:--pop-state}}"
+ #undef LIBTSAN_EARLY_SPEC
+ #define LIBTSAN_EARLY_SPEC "%{!shared:libtsan_preinit%O%s} " \
+ "%{static-libtsan:%{!shared:" \
+ LD_STATIC_OPTION " --whole-archive -ltsan --no-whole-archive " \
+- LD_DYNAMIC_OPTION "}}%{!static-libtsan:-ltsan}"
++ LD_DYNAMIC_OPTION "}}%{!static-libtsan:%{!fuse-ld=gold:--push-state} --no-as-needed -ltsan %{fuse-ld=gold:--as-needed;:--pop-state}}"
+ #undef LIBLSAN_EARLY_SPEC
+ #define LIBLSAN_EARLY_SPEC "%{!shared:liblsan_preinit%O%s} " \
+ "%{static-liblsan:%{!shared:" \
+ LD_STATIC_OPTION " --whole-archive -llsan --no-whole-archive " \
+- LD_DYNAMIC_OPTION "}}%{!static-liblsan:-llsan}"
++ LD_DYNAMIC_OPTION "}}%{!static-liblsan:%{!fuse-ld=gold:--push-state} --no-as-needed -llsan %{fuse-ld=gold:--as-needed;:--pop-state}}"
+ #endif
+Index: b/src/gcc/config/aarch64/aarch64-linux.h
+===================================================================
+--- a/src/gcc/config/aarch64/aarch64-linux.h
++++ b/src/gcc/config/aarch64/aarch64-linux.h
+@@ -36,6 +36,7 @@
+
+ #define LINUX_TARGET_LINK_SPEC "%{h*} \
+ --hash-style=gnu \
++ --as-needed \
+ %{static:-Bstatic} \
+ %{shared:-shared} \
+ %{symbolic:-Bsymbolic} \
+Index: b/src/gcc/config/ia64/linux.h
+===================================================================
+--- a/src/gcc/config/ia64/linux.h
++++ b/src/gcc/config/ia64/linux.h
+@@ -58,7 +58,7 @@ do { \
+ #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-ia64.so.2"
+
+ #undef LINK_SPEC
+-#define LINK_SPEC " --hash-style=gnu \
++#define LINK_SPEC " --hash-style=gnu --as-needed \
+ %{shared:-shared} \
+ %{!shared: \
+ %{!static: \
+Index: b/src/gcc/config/sparc/linux.h
+===================================================================
+--- a/src/gcc/config/sparc/linux.h
++++ b/src/gcc/config/sparc/linux.h
+@@ -86,7 +86,7 @@ extern const char *host_detect_local_cpu
+ #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
+
+ #undef LINK_SPEC
+-#define LINK_SPEC "-m elf32_sparc --hash-style=gnu %{shared:-shared} \
++#define LINK_SPEC "-m elf32_sparc --hash-style=gnu --as-needed %{shared:-shared} \
+ %{!mno-relax:%{!r:-relax}} \
+ %{!shared: \
+ %{!static: \
+Index: b/src/gcc/config/s390/linux.h
+===================================================================
+--- a/src/gcc/config/s390/linux.h
++++ b/src/gcc/config/s390/linux.h
+@@ -78,7 +78,7 @@ along with GCC; see the file COPYING3.
+
+ #undef LINK_SPEC
+ #define LINK_SPEC \
+- "%{m31:-m elf_s390}%{m64:-m elf64_s390} --hash-style=gnu \
++ "%{m31:-m elf_s390}%{m64:-m elf64_s390} --hash-style=gnu --as-needed \
+ %{shared:-shared} \
+ %{!shared: \
+ %{static:-static} \
+Index: b/src/gcc/config/rs6000/linux64.h
+===================================================================
+--- a/src/gcc/config/rs6000/linux64.h
++++ b/src/gcc/config/rs6000/linux64.h
+@@ -490,13 +490,13 @@ extern int dot_symbols;
+ " -m elf64ppc")
+ #endif
+
+-#define LINK_OS_LINUX_SPEC32 LINK_OS_LINUX_EMUL32 " --hash-style=gnu %{!shared: %{!static: \
++#define LINK_OS_LINUX_SPEC32 LINK_OS_LINUX_EMUL32 " --hash-style=gnu --as-needed %{!shared: %{!static: \
+ %{!static-pie: \
+ %{rdynamic:-export-dynamic} \
+ -dynamic-linker " GNU_USER_DYNAMIC_LINKER32 "}}} \
+ %(link_os_extra_spec32)"
+
+-#define LINK_OS_LINUX_SPEC64 LINK_OS_LINUX_EMUL64 " --hash-style=gnu %{!shared: %{!static: \
++#define LINK_OS_LINUX_SPEC64 LINK_OS_LINUX_EMUL64 " --hash-style=gnu --as-needed %{!shared: %{!static: \
+ %{!static-pie: \
+ %{rdynamic:-export-dynamic} \
+ -dynamic-linker " GNU_USER_DYNAMIC_LINKER64 "}}} \
+Index: b/src/gcc/config/rs6000/sysv4.h
+===================================================================
+--- a/src/gcc/config/rs6000/sysv4.h
++++ b/src/gcc/config/rs6000/sysv4.h
+@@ -811,7 +811,7 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEF
+ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER, \
+ MUSL_DYNAMIC_LINKER)
+
+-#define LINK_OS_LINUX_SPEC "-m elf32ppclinux --hash-style=gnu %{!shared: %{!static: \
++#define LINK_OS_LINUX_SPEC "-m elf32ppclinux --hash-style=gnu --as-needed %{!shared: %{!static: \
+ %{rdynamic:-export-dynamic} \
+ -dynamic-linker " GNU_USER_DYNAMIC_LINKER "}}"
+
+Index: b/src/gcc/config/i386/gnu-user64.h
+===================================================================
+--- a/src/gcc/config/i386/gnu-user64.h
++++ b/src/gcc/config/i386/gnu-user64.h
+@@ -57,6 +57,7 @@ see the files COPYING3 and COPYING.RUNTI
+ %{" SPEC_32 ":-m " GNU_USER_LINK_EMULATION32 "} \
+ %{" SPEC_X32 ":-m " GNU_USER_LINK_EMULATIONX32 "} \
+ --hash-style=gnu \
++ --as-needed \
+ %{shared:-shared} \
+ %{!shared: \
+ %{!static: \
+Index: b/src/gcc/config/i386/gnu-user.h
+===================================================================
+--- a/src/gcc/config/i386/gnu-user.h
++++ b/src/gcc/config/i386/gnu-user.h
+@@ -74,7 +74,7 @@ along with GCC; see the file COPYING3.
+ { "link_emulation", GNU_USER_LINK_EMULATION },\
+ { "dynamic_linker", GNU_USER_DYNAMIC_LINKER }
+
+-#define GNU_USER_TARGET_LINK_SPEC "-m %(link_emulation) --hash-style=gnu %{shared:-shared} \
++#define GNU_USER_TARGET_LINK_SPEC "-m %(link_emulation) --hash-style=gnu --as-needed %{shared:-shared} \
+ %{!shared: \
+ %{!static: \
+ %{!static-pie: \
+Index: b/src/gcc/config/alpha/linux-elf.h
+===================================================================
+--- a/src/gcc/config/alpha/linux-elf.h
++++ b/src/gcc/config/alpha/linux-elf.h
+@@ -37,7 +37,7 @@ along with GCC; see the file COPYING3.
+
+ #define ELF_DYNAMIC_LINKER GNU_USER_DYNAMIC_LINKER
+
+-#define LINK_SPEC "-m elf64alpha --hash-style=gnu %{G*} %{relax:-relax} \
++#define LINK_SPEC "-m elf64alpha --hash-style=gnu --as-needed %{G*} %{relax:-relax} \
+ %{O*:-O3} %{!O*:-O1} \
+ %{shared:-shared} \
+ %{!shared: \
+Index: b/src/gcc/config/arm/linux-elf.h
+===================================================================
+--- a/src/gcc/config/arm/linux-elf.h
++++ b/src/gcc/config/arm/linux-elf.h
+@@ -71,6 +71,7 @@
+ %{!shared:-dynamic-linker " GNU_USER_DYNAMIC_LINKER "}} \
+ -X \
+ --hash-style=gnu \
++ --as-needed \
+ %{mbig-endian:-EB} %{mlittle-endian:-EL}" \
+ SUBTARGET_EXTRA_LINK_SPEC
+
+Index: b/src/gcc/config/mips/gnu-user.h
+===================================================================
+--- a/src/gcc/config/mips/gnu-user.h
++++ b/src/gcc/config/mips/gnu-user.h
+@@ -55,6 +55,7 @@ along with GCC; see the file COPYING3.
+ #undef GNU_USER_TARGET_LINK_SPEC
+ #define GNU_USER_TARGET_LINK_SPEC "\
+ %{G*} %{EB} %{EL} %{mips*} %{shared} \
++ -as-needed \
+ %{!shared: \
+ %{!static: \
+ %{rdynamic:-export-dynamic} \
+Index: b/src/gcc/config/riscv/linux.h
+===================================================================
+--- a/src/gcc/config/riscv/linux.h
++++ b/src/gcc/config/riscv/linux.h
+@@ -51,6 +51,7 @@ along with GCC; see the file COPYING3.
+
+ #define LINK_SPEC "\
+ -hash-style=gnu \
++-as-needed \
+ -melf" XLEN_SPEC "lriscv \
+ %{shared} \
+ %{!shared: \
--- /dev/null
+# DP: Fix cross building a native compiler.
+
+Index: b/src/gcc/configure.ac
+===================================================================
+--- a/src/gcc/configure.ac
++++ b/src/gcc/configure.ac
+@@ -1705,7 +1705,7 @@ else
+ # Clearing GMPINC is necessary to prevent host headers being
+ # used by the build compiler. Defining GENERATOR_FILE stops
+ # system.h from including gmp.h.
+- CC="${CC_FOR_BUILD}" CFLAGS="${CFLAGS_FOR_BUILD}" \
++ CC="${CC_FOR_BUILD}" CFLAGS="${CFLAGS_FOR_BUILD} -DGENERATOR_FILE" \
+ CXX="${CXX_FOR_BUILD}" CXXFLAGS="${CXXFLAGS_FOR_BUILD}" \
+ LD="${LD_FOR_BUILD}" LDFLAGS="${LDFLAGS_FOR_BUILD}" \
+ GMPINC="" CPPFLAGS="${CPPFLAGS} -DGENERATOR_FILE" \
--- /dev/null
+# DP: Add D options and specs for the gcc driver.
+
+Index: b/src/gcc/d/lang-specs.h
+===================================================================
+--- /dev/null
++++ b/src/gcc/d/lang-specs.h
+@@ -0,0 +1,31 @@
++/* lang-specs.h -- D frontend for GCC.
++ Copyright (C) 2011, 2012 Free Software Foundation, Inc.
++
++ GCC is free software; you can redistribute it and/or modify it under
++ the terms of the GNU General Public License as published by the Free
++ Software Foundation; either version 3, or (at your option) any later
++ version.
++
++ GCC is distributed in the hope that it will be useful, but WITHOUT ANY
++ WARRANTY; without even the implied warranty of MERCHANTABILITY or
++ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
++ for more details.
++
++ You should have received a copy of the GNU General Public License
++ along with GCC; see the file COPYING3. If not see
++ <http://www.gnu.org/licenses/>.
++*/
++
++/* %{!M} probably doesn't make sense because we would need
++ to do that -- -MD and -MMD doesn't sound like a plan for D.... */
++
++{".d", "@d", 0, 1, 0 },
++{".D", "@d", 0, 1, 0 },
++{".dd", "@d", 0, 1, 0 },
++{".DD", "@d", 0, 1, 0 },
++{".di", "@d", 0, 1, 0 },
++{".DI", "@d", 0, 1, 0 },
++{"@d",
++ "%{!E:cc1d %i %(cc1_options) %(cc1d) %I %{nostdinc*} %{+e*} %{I*} %{J*}\
++ %{M} %{MM} %{!fsyntax-only:%(invoke_as)}}", 0, 1, 0 },
++
+Index: b/src/gcc/d/lang.opt
+===================================================================
+--- /dev/null
++++ b/src/gcc/d/lang.opt
+@@ -0,0 +1,208 @@
++; GDC -- D front-end for GCC
++; Copyright (C) 2011, 2012 Free Software Foundation, Inc.
++;
++; This program is free software; you can redistribute it and/or modify
++; it under the terms of the GNU General Public License as published by
++; the Free Software Foundation; either version 2 of the License, or
++; (at your option) any later version.
++;
++; This program is distributed in the hope that it will be useful,
++; but WITHOUT ANY WARRANTY; without even the implied warranty of
++; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++; GNU General Public License for more details.
++;
++; You should have received a copy of the GNU General Public License
++; along with GCC; see the file COPYING3. If not see
++; <http://www.gnu.org/licenses/>.
++
++Language
++D
++
++debuglib=
++Driver Joined
++Debug library to use instead of phobos
++
++defaultlib=
++Driver Joined
++Default library to use instead of phobos
++
++fassert
++D
++Permit the use of the assert keyword
++
++; For D: defaults to on
++fbounds-check
++D
++Generate code to check bounds before indexing arrays
++
++fbuiltin
++D Var(flag_no_builtin, 0)
++Recognize built-in functions
++
++fdebug
++D
++Compile in debug code
++
++fdebug=
++D Joined RejectNegative
++-fdebug,-fdebug=<level>,-fdebug=<ident> Compile in debug code, code <= level, or code identified by ident
++
++fdeps=
++D Joined RejectNegative
++-fdeps=<filename> Write module dependencies to filename
++
++fdoc
++D
++Generate documentation
++
++fdoc-dir=
++D Joined RejectNegative
++-fdoc-dir=<docdir> Write documentation file to docdir directory
++
++fdoc-file=
++D Joined RejectNegative
++-fdoc-file=<filename> Write documentation file to filename
++
++fdoc-inc=
++D Joined RejectNegative
++-fdoc-inc=<filename> Include a Ddoc macro file
++
++fdump-source
++D RejectNegative
++Dump decoded UTF-8 text and source from HTML
++
++fd-verbose
++D
++Print information about D language processing to stdout
++
++fd-vtls
++D
++List all variables going into thread local storage
++
++femit-templates
++D
++-femit-templates Emit templates code and data even if the linker cannot merge multiple copies
++
++fignore-unknown-pragmas
++D
++Ignore unsupported pragmas
++
++fin
++D
++Generate runtime code for in() contracts
++
++fintfc
++Generate D interface files
++
++fintfc-dir=
++D Joined RejectNegative
++-fintfc-dir=<dir> Write D interface files to directory <dir>
++
++fintfc-file=
++D Joined RejectNegative
++-fintfc-file=<filename> Write D interface file to <filename>
++
++finvariants
++D
++Generate runtime code for invariant()'s
++
++fmake-deps=
++D Joined RejectNegative
++-fmake-deps=<file> Write dependency output to the given file
++
++fmake-mdeps=
++D Joined RejectNegative
++Like -fmake-deps=<file> but ignore system modules
++
++femit-moduleinfo
++D
++Generate ModuleInfo struct for output module
++
++fonly=
++D Joined RejectNegative
++Process all modules specified on the command line, but only generate code for the module specified by the argument
++
++fout
++D
++Generate runtime code for out() contracts
++
++fproperty
++D
++Enforce property syntax
++
++frelease
++D
++Compile release version
++
++fsplit-dynamic-arrays
++D Var(flag_split_darrays)
++Split dynamic arrays into length and pointer when passing to functions
++
++funittest
++D
++Compile in unittest code
++
++fversion=
++D Joined RejectNegative
++-fversion=<level|ident> Compile in version code >= <level> or identified by <ident>
++
++fXf=
++D Joined RejectNegative
++-fXf=<filename> Write JSON file to <filename>
++
++imultilib
++D Joined Separate
++-imultilib <dir> Set <dir> to be the multilib include subdirectory
++
++iprefix
++D Joined Separate
++-iprefix <path> Specify <path> as a prefix for next two options
++
++isysroot
++D Joined Separate
++-isysroot <dir> Set <dir> to be the system root directory
++
++isystem
++D Joined Separate
++-isystem <dir> Add <dir> to the start of the system include path
++
++I
++D Joined Separate
++-I <dir> Add <dir> to the end of the main include path
++
++J
++D Joined Separate
++-J<directory> Put MODULE files in 'directory'
++
++nophoboslib
++Driver
++Do not link the standard D library in the compilation
++
++nostdinc
++D
++Do not search standard system include directories (those specified with -isystem will still be used)
++
++static-libphobos
++Driver
++Link the standard D library statically in the compilation
++
++Wall
++D
++; Documented in c.opt
++
++Wcast-result
++D Warning Var(warn_cast_result)
++Warn about casts that will produce a null or nil result
++
++Wdeprecated
++D
++; Documented in c.opt
++
++Werror
++D
++; Documented in common.opt
++
++Wunknown-pragmas
++D
++; Documented in c.opt
++
--- /dev/null
+# DP: Turn on -Wformat -Wformat-security by default for C, C++, ObjC, ObjC++.
+
+Index: b/src/gcc/doc/invoke.texi
+===================================================================
+--- a/src/gcc/doc/invoke.texi
++++ b/src/gcc/doc/invoke.texi
+@@ -4119,6 +4119,11 @@ value is used and that might result in t
+ sufficient length or magnitude.
+ @end table
+
++NOTE: In Ubuntu 8.10 and later versions this option is enabled by default
++for C, C++, ObjC, ObjC++. To disable, use @option{-Wno-format-security},
++or disable all format warnings with @option{-Wformat=0}. To make format
++security warnings fatal, specify @option{-Werror=format-security}.
++
+ @item -Wformat-y2k
+ @opindex Wformat-y2k
+ @opindex Wno-format-y2k
+Index: b/src/gcc/gcc.c
+===================================================================
+--- a/src/gcc/gcc.c
++++ b/src/gcc/gcc.c
+@@ -867,11 +867,14 @@ proper position among the other output f
+ #define LINK_GCC_C_SEQUENCE_SPEC "%G %L %G"
+ #endif
+
++/* no separate spec, just shove it into the ssp default spec */
++#define FORMAT_SECURITY_SPEC "%{!Wformat:%{!Wformat=2:%{!Wformat=0:%{!Wall:-Wformat} %{!Wno-format-security:-Wformat-security}}}}"
++
+ #ifndef SSP_DEFAULT_SPEC
+ #if defined(TARGET_LIBC_PROVIDES_SSP) && !defined(ACCEL_COMPILER)
+-#define SSP_DEFAULT_SPEC "%{!fno-stack-protector:%{!fstack-protector-all:%{!ffreestanding:%{!nostdlib:-fstack-protector}}}}"
++#define SSP_DEFAULT_SPEC "%{!fno-stack-protector:%{!fstack-protector-all:%{!ffreestanding:%{!nostdlib:-fstack-protector}}}} " FORMAT_SECURITY_SPEC
+ #else
+-#define SSP_DEFAULT_SPEC ""
++#define SSP_DEFAULT_SPEC FORMAT_SECURITY_SPEC
+ #endif
+ #endif
+
--- /dev/null
+# DP: Turn on -D_FORTIFY_SOURCE=2 by default for C, C++, ObjC, ObjC++,
+# DP: if the optimization level is > 0
+
+---
+ gcc/doc/invoke.texi | 6 ++++++
+ gcc/c-family/c-cppbuiltin.c | 3 +
+ 2 files changed, 9 insertions(+), 0 deletions(-)
+
+Index: b/src/gcc/doc/invoke.texi
+===================================================================
+--- a/src/gcc/doc/invoke.texi
++++ b/src/gcc/doc/invoke.texi
+@@ -7105,6 +7105,12 @@ also turns on the following optimization
+ Please note the warning under @option{-fgcse} about
+ invoking @option{-O2} on programs that use computed gotos.
+
++NOTE: In Ubuntu 8.10 and later versions, @option{-D_FORTIFY_SOURCE=2} is
++set by default, and is activated when @option{-O} is set to 2 or higher.
++This enables additional compile-time and run-time checks for several libc
++functions. To disable, specify either @option{-U_FORTIFY_SOURCE} or
++@option{-D_FORTIFY_SOURCE=0}.
++
+ @item -O3
+ @opindex O3
+ Optimize yet more. @option{-O3} turns on all optimizations specified
+Index: b/src/gcc/c-family/c-cppbuiltin.c
+===================================================================
+--- a/src/gcc/c-family/c-cppbuiltin.c
++++ b/src/gcc/c-family/c-cppbuiltin.c
+@@ -1335,6 +1335,12 @@ c_cpp_builtins (cpp_reader *pfile)
+ builtin_define_with_value ("__REGISTER_PREFIX__", REGISTER_PREFIX, 0);
+ builtin_define_with_value ("__USER_LABEL_PREFIX__", user_label_prefix, 0);
+
++#if !defined(ACCEL_COMPILER)
++ /* Fortify Source enabled by default for optimization levels > 0 */
++ if (optimize)
++ builtin_define_with_int_value ("_FORTIFY_SOURCE", 2);
++#endif
++
+ /* Misc. */
+ if (flag_gnu89_inline)
+ cpp_define (pfile, "__GNUC_GNU_INLINE__");
--- /dev/null
+# DP: Turn on -Wl,-z,relro by default.
+
+---
+ gcc/doc/invoke.texi | 3 +++
+ gcc/gcc.c | 1 +
+ 2 files changed, 4 insertions(+), 0 deletions(-)
+
+Index: b/src/gcc/doc/invoke.texi
+===================================================================
+--- a/src/gcc/doc/invoke.texi
++++ b/src/gcc/doc/invoke.texi
+@@ -11813,6 +11813,9 @@ For example, @option{-Wl,-Map,output.map
+ linker. When using the GNU linker, you can also get the same effect with
+ @option{-Wl,-Map=output.map}.
+
++NOTE: In Ubuntu 8.10 and later versions, for LDFLAGS, the option
++@option{-Wl,-z,relro} is used. To disable, use @option{-Wl,-z,norelro}.
++
+ @item -u @var{symbol}
+ @opindex u
+ Pretend the symbol @var{symbol} is undefined, to force linking of
+Index: b/src/gcc/gcc.c
+===================================================================
+--- a/src/gcc/gcc.c
++++ b/src/gcc/gcc.c
+@@ -1037,6 +1037,11 @@ proper position among the other output f
+ /* We pass any -flto flags on to the linker, which is expected
+ to understand them. In practice, this means it had better be collect2. */
+ /* %{e*} includes -export-dynamic; see comment in common.opt. */
++#if defined(ACCEL_COMPILER)
++# define RELRO_SPEC ""
++#else
++# define RELRO_SPEC "-z relro "
++#endif
+ #ifndef LINK_COMMAND_SPEC
+ #define LINK_COMMAND_SPEC "\
+ %{!fsyntax-only:%{!c:%{!M:%{!MM:%{!E:%{!S:\
+@@ -1045,6 +1050,7 @@ proper position among the other output f
+ "%{flto|flto=*:%<fcompare-debug*} \
+ %{flto} %{fno-lto} %{flto=*} %l " LINK_PIE_SPEC \
+ "%{fuse-ld=*:-fuse-ld=%*} " LINK_COMPRESS_DEBUG_SPEC \
++ RELRO_SPEC \
+ "%X %{o*} %{e*} %{N} %{n} %{r}\
+ %{s} %{t} %{u*} %{z} %{Z} %{!nostdlib:%{!nostartfiles:%S}} \
+ %{static:} %{L*} %(mfwrap) %(link_libgcc) " \
--- /dev/null
+# DP: Default to -fstack-protector-strong starting with Ubuntu 14.10.
+
+Index: b/src/gcc/gcc.c
+===================================================================
+--- a/src/gcc/gcc.c
++++ b/src/gcc/gcc.c
+@@ -872,7 +872,7 @@ proper position among the other output f
+
+ #ifndef SSP_DEFAULT_SPEC
+ #if defined(TARGET_LIBC_PROVIDES_SSP) && !defined(ACCEL_COMPILER)
+-#define SSP_DEFAULT_SPEC "%{!fno-stack-protector:%{!fstack-protector-all:%{!ffreestanding:%{!nostdlib:-fstack-protector}}}} " FORMAT_SECURITY_SPEC
++#define SSP_DEFAULT_SPEC "%{!fno-stack-protector:%{!fstack-protector-all:%{!ffreestanding:%{!nostdlib:%{!fstack-protector:-fstack-protector-strong}}}}} " FORMAT_SECURITY_SPEC
+ #else
+ #define SSP_DEFAULT_SPEC FORMAT_SECURITY_SPEC
+ #endif
+Index: b/src/gcc/doc/invoke.texi
+===================================================================
+--- a/src/gcc/doc/invoke.texi
++++ b/src/gcc/doc/invoke.texi
+@@ -9549,6 +9549,11 @@ branch target registers within any basic
+ Optimize the prologue of variadic argument functions with respect to usage of
+ those arguments.
+
++NOTE: In Ubuntu 14.10 and later versions,
++@option{-fstack-protector-strong} is enabled by default for C,
++C++, ObjC, ObjC++, if none of @option{-fno-stack-protector},
++@option{-nostdlib}, nor @option{-ffreestanding} are found.
++
+ @item -fsection-anchors
+ @opindex fsection-anchors
+ Try to reduce the number of symbolic address calculations by using
+@@ -10151,13 +10156,13 @@ value of a shared integer constant. The
+ The minimum size of buffers (i.e.@: arrays) that receive stack smashing
+ protection when @option{-fstack-protection} is used.
+
++This default before Ubuntu 10.10 was "8". Currently it is "4", to increase
++the number of functions protected by the stack protector.
++
+ @item min-size-for-stack-sharing
+ The minimum size of variables taking part in stack slot sharing when not
+ optimizing. The default value is 32.
+
+-This default before Ubuntu 10.10 was "8". Currently it is "4", to increase
+-the number of functions protected by the stack protector.
+-
+ @item max-jump-thread-duplication-stmts
+ Maximum number of statements allowed in a block that needs to be
+ duplicated when threading jumps.
+@@ -11162,10 +11167,6 @@ functions with buffers larger than 8 byt
+ when a function is entered and then checked when the function exits.
+ If a guard check fails, an error message is printed and the program exits.
+
+-NOTE: In Ubuntu 6.10 and later versions this option is enabled by default
+-for C, C++, ObjC, ObjC++, if none of @option{-fno-stack-protector},
+-@option{-nostdlib}, nor @option{-ffreestanding} are found.
+-
+ @item -fstack-protector-all
+ @opindex fstack-protector-all
+ Like @option{-fstack-protector} except that all functions are protected.
--- /dev/null
+# DP: Turn on -fstack-protector by default for C, C++, ObjC, ObjC++.
+# DP: Build libgcc using -fno-stack-protector.
+
+---
+ gcc/Makefile.in | 2 ++
+ gcc/cp/lang-specs.h | 6 +++---
+ gcc/doc/invoke.texi | 4 ++++
+ gcc/gcc.c | 18 ++++++++++++++----
+ gcc/objc/lang-specs.h | 10 +++++-----
+ gcc/objcp/lang-specs.h | 8 ++++----
+ 6 files changed, 32 insertions(+), 16 deletions(-)
+
+Index: b/src/gcc/gcc.c
+===================================================================
+--- a/src/gcc/gcc.c
++++ b/src/gcc/gcc.c
+@@ -867,6 +867,14 @@ proper position among the other output f
+ #define LINK_GCC_C_SEQUENCE_SPEC "%G %L %G"
+ #endif
+
++#ifndef SSP_DEFAULT_SPEC
++#if defined(TARGET_LIBC_PROVIDES_SSP) && !defined(ACCEL_COMPILER)
++#define SSP_DEFAULT_SPEC "%{!fno-stack-protector:%{!fstack-protector-all:%{!ffreestanding:%{!nostdlib:-fstack-protector}}}}"
++#else
++#define SSP_DEFAULT_SPEC ""
++#endif
++#endif
++
+ #ifndef LINK_SSP_SPEC
+ #ifdef TARGET_LIBC_PROVIDES_SSP
+ #define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \
+@@ -1075,6 +1083,7 @@ static const char *cc1_spec = CC1_SPEC;
+ static const char *cc1plus_spec = CC1PLUS_SPEC;
+ static const char *link_gcc_c_sequence_spec = LINK_GCC_C_SEQUENCE_SPEC;
+ static const char *link_ssp_spec = LINK_SSP_SPEC;
++static const char *ssp_default_spec = SSP_DEFAULT_SPEC;
+ static const char *asm_spec = ASM_SPEC;
+ static const char *asm_final_spec = ASM_FINAL_SPEC;
+ static const char *link_spec = LINK_SPEC;
+@@ -1131,7 +1140,7 @@ static const char *cpp_options =
+ "%(cpp_unique_options) %1 %{m*} %{std*&ansi&trigraphs} %{W*&pedantic*} %{w}\
+ %{f*} %{g*:%{%:debug-level-gt(0):%{g*}\
+ %{!fno-working-directory:-fworking-directory}}} %{O*}\
+- %{undef} %{save-temps*:-fpch-preprocess}";
++ %{undef} %{save-temps*:-fpch-preprocess} %(ssp_default)";
+
+ /* This contains cpp options which are not passed when the preprocessor
+ output will be used by another program. */
+@@ -1323,9 +1332,9 @@ static const struct compiler default_com
+ %{save-temps*|traditional-cpp|no-integrated-cpp:%(trad_capable_cpp) \
+ %(cpp_options) -o %{save-temps*:%b.i} %{!save-temps*:%g.i} \n\
+ cc1 -fpreprocessed %{save-temps*:%b.i} %{!save-temps*:%g.i} \
+- %(cc1_options)}\
++ %(cc1_options) %(ssp_default)}\
+ %{!save-temps*:%{!traditional-cpp:%{!no-integrated-cpp:\
+- cc1 %(cpp_unique_options) %(cc1_options)}}}\
++ cc1 %(cpp_unique_options) %(cc1_options) %(ssp_default)}}}\
+ %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 1},
+ {"-",
+ "%{!E:%e-E or -x required when input is from standard input}\
+@@ -1350,7 +1359,7 @@ static const struct compiler default_com
+ %W{o*:--output-pch=%*}}%V}}}}}}}", 0, 0, 0},
+ {".i", "@cpp-output", 0, 0, 0},
+ {"@cpp-output",
+- "%{!M:%{!MM:%{!E:cc1 -fpreprocessed %i %(cc1_options) %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
++ "%{!M:%{!MM:%{!E:cc1 -fpreprocessed %i %(cc1_options) %(ssp_default) %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
+ {".s", "@assembler", 0, 0, 0},
+ {"@assembler",
+ "%{!M:%{!MM:%{!E:%{!S:as %(asm_debug) %(asm_options) %i %A }}}}", 0, 0, 0},
+@@ -1582,6 +1591,7 @@ static struct spec_list static_specs[] =
+ INIT_STATIC_SPEC ("cc1plus", &cc1plus_spec),
+ INIT_STATIC_SPEC ("link_gcc_c_sequence", &link_gcc_c_sequence_spec),
+ INIT_STATIC_SPEC ("link_ssp", &link_ssp_spec),
++ INIT_STATIC_SPEC ("ssp_default", &ssp_default_spec),
+ INIT_STATIC_SPEC ("endfile", &endfile_spec),
+ INIT_STATIC_SPEC ("link", &link_spec),
+ INIT_STATIC_SPEC ("lib", &lib_spec),
+Index: b/src/gcc/cp/lang-specs.h
+===================================================================
+--- a/src/gcc/cp/lang-specs.h
++++ b/src/gcc/cp/lang-specs.h
+@@ -46,7 +46,7 @@ along with GCC; see the file COPYING3.
+ %(cpp_options) %2 -o %{save-temps*:%b.ii} %{!save-temps*:%g.ii} \n}\
+ cc1plus %{save-temps*|no-integrated-cpp:-fpreprocessed %{save-temps*:%b.ii} %{!save-temps*:%g.ii}}\
+ %{!save-temps*:%{!no-integrated-cpp:%(cpp_unique_options)}}\
+- %(cc1_options) %2\
++ %(cc1_options) %(ssp_default) %2\
+ %{!fsyntax-only:%{!S:-o %g.s} \
+ %{!fdump-ada-spec*:%{!o*:--output-pch=%i.gch}\
+ %W{o*:--output-pch=%*}}%V}}}}",
+@@ -58,11 +58,11 @@ along with GCC; see the file COPYING3.
+ %(cpp_options) %2 -o %{save-temps*:%b.ii} %{!save-temps*:%g.ii} \n}\
+ cc1plus %{save-temps*|no-integrated-cpp:-fpreprocessed %{save-temps*:%b.ii} %{!save-temps*:%g.ii}}\
+ %{!save-temps*:%{!no-integrated-cpp:%(cpp_unique_options)}}\
+- %(cc1_options) %2\
++ %(cc1_options) %(ssp_default) %2\
+ %{!fsyntax-only:%(invoke_as)}}}}",
+ CPLUSPLUS_CPP_SPEC, 0, 0},
+ {".ii", "@c++-cpp-output", 0, 0, 0},
+ {"@c++-cpp-output",
+ "%{!M:%{!MM:%{!E:\
+- cc1plus -fpreprocessed %i %(cc1_options) %2\
++ cc1plus -fpreprocessed %i %(cc1_options) %(ssp_default) %2\
+ %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
+Index: b/src/gcc/params.def
+===================================================================
+--- a/src/gcc/params.def
++++ b/src/gcc/params.def
+@@ -696,7 +696,7 @@ DEFPARAM (PARAM_INTEGER_SHARE_LIMIT,
+ DEFPARAM (PARAM_SSP_BUFFER_SIZE,
+ "ssp-buffer-size",
+ "The lower bound for a buffer to be considered for stack smashing protection.",
+- 8, 1, 0)
++ 4, 1, 0)
+
+ DEFPARAM (PARAM_MIN_SIZE_FOR_STACK_SHARING,
+ "min-size-for-stack-sharing",
+Index: b/src/gcc/objc/lang-specs.h
+===================================================================
+--- a/src/gcc/objc/lang-specs.h
++++ b/src/gcc/objc/lang-specs.h
+@@ -29,9 +29,9 @@ along with GCC; see the file COPYING3.
+ %{traditional|traditional-cpp:\
+ %eGNU Objective C no longer supports traditional compilation}\
+ %{save-temps*|no-integrated-cpp:cc1obj -E %(cpp_options) -o %{save-temps*:%b.mi} %{!save-temps*:%g.mi} \n\
+- cc1obj -fpreprocessed %{save-temps*:%b.mi} %{!save-temps*:%g.mi} %(cc1_options) %{print-objc-runtime-info} %{gen-decls}}\
++ cc1obj -fpreprocessed %{save-temps*:%b.mi} %{!save-temps*:%g.mi} %(cc1_options) %(ssp_default) %{print-objc-runtime-info} %{gen-decls}}\
+ %{!save-temps*:%{!no-integrated-cpp:\
+- cc1obj %(cpp_unique_options) %(cc1_options) %{print-objc-runtime-info} %{gen-decls}}}\
++ cc1obj %(cpp_unique_options) %(cc1_options) %(ssp_default) %{print-objc-runtime-info} %{gen-decls}}}\
+ %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
+ {"@objective-c-header",
+ "%{E|M|MM:cc1obj -E %{traditional|traditional-cpp:-traditional-cpp}\
+@@ -40,18 +40,18 @@ along with GCC; see the file COPYING3.
+ %{traditional|traditional-cpp:\
+ %eGNU Objective C no longer supports traditional compilation}\
+ %{save-temps*|no-integrated-cpp:cc1obj -E %(cpp_options) -o %{save-temps*:%b.mi} %{!save-temps*:%g.mi} \n\
+- cc1obj -fpreprocessed %b.mi %(cc1_options) %{print-objc-runtime-info} %{gen-decls}\
++ cc1obj -fpreprocessed %b.mi %(cc1_options) %(ssp_default) %{print-objc-runtime-info} %{gen-decls}\
+ -o %g.s %{!o*:--output-pch=%i.gch}\
+ %W{o*:--output-pch=%*}%V}\
+ %{!save-temps*:%{!no-integrated-cpp:\
+- cc1obj %(cpp_unique_options) %(cc1_options) %{print-objc-runtime-info} %{gen-decls}\
++ cc1obj %(cpp_unique_options) %(cc1_options) %(ssp_default) %{print-objc-runtime-info} %{gen-decls}\
+ -o %g.s %{!o*:--output-pch=%i.gch}\
+ %W{o*:--output-pch=%*}%V}}}}}", 0, 0, 0},
+ {".mi", "@objective-c-cpp-output", 0, 0, 0},
+ {"@objective-c-cpp-output",
+- "%{!M:%{!MM:%{!E:cc1obj -fpreprocessed %i %(cc1_options) %{print-objc-runtime-info} %{gen-decls}\
++ "%{!M:%{!MM:%{!E:cc1obj -fpreprocessed %i %(cc1_options) %(ssp_default) %{print-objc-runtime-info} %{gen-decls}\
+ %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
+ {"@objc-cpp-output",
+ "%nobjc-cpp-output is deprecated; please use objective-c-cpp-output instead\n\
+- %{!M:%{!MM:%{!E:cc1obj -fpreprocessed %i %(cc1_options) %{print-objc-runtime-info} %{gen-decls}\
++ %{!M:%{!MM:%{!E:cc1obj -fpreprocessed %i %(cc1_options) %(ssp_default) %{print-objc-runtime-info} %{gen-decls}\
+ %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
+Index: b/src/gcc/objcp/lang-specs.h
+===================================================================
+--- a/src/gcc/objcp/lang-specs.h
++++ b/src/gcc/objcp/lang-specs.h
+@@ -36,7 +36,7 @@ along with GCC; see the file COPYING3.
+ %(cpp_options) %2 -o %{save-temps*:%b.mii} %{!save-temps*:%g.mii} \n}\
+ cc1objplus %{save-temps*|no-integrated-cpp:-fpreprocessed %{save-temps*:%b.mii} %{!save-temps*:%g.mii}}\
+ %{!save-temps*:%{!no-integrated-cpp:%(cpp_unique_options)}}\
+- %(cc1_options) %2\
++ %(cc1_options) %(ssp_default) %2\
+ -o %g.s %{!o*:--output-pch=%i.gch} %W{o*:--output-pch=%*}%V}}}",
+ CPLUSPLUS_CPP_SPEC, 0, 0},
+ {"@objective-c++",
+@@ -46,16 +46,16 @@ along with GCC; see the file COPYING3.
+ %(cpp_options) %2 -o %{save-temps*:%b.mii} %{!save-temps*:%g.mii} \n}\
+ cc1objplus %{save-temps*|no-integrated-cpp:-fpreprocessed %{save-temps*:%b.mii} %{!save-temps*:%g.mii}}\
+ %{!save-temps*:%{!no-integrated-cpp:%(cpp_unique_options)}}\
+- %(cc1_options) %2\
++ %(cc1_options) %(ssp_default) %2\
+ %{!fsyntax-only:%(invoke_as)}}}}",
+ CPLUSPLUS_CPP_SPEC, 0, 0},
+ {".mii", "@objective-c++-cpp-output", 0, 0, 0},
+ {"@objective-c++-cpp-output",
+ "%{!M:%{!MM:%{!E:\
+- cc1objplus -fpreprocessed %i %(cc1_options) %2\
++ cc1objplus -fpreprocessed %i %(cc1_options) %(ssp_default) %2\
+ %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
+ {"@objc++-cpp-output",
+ "%nobjc++-cpp-output is deprecated; please use objective-c++-cpp-output instead\n\
+ %{!M:%{!MM:%{!E:\
+- cc1objplus -fpreprocessed %i %(cc1_options) %2\
++ cc1objplus -fpreprocessed %i %(cc1_options) %(ssp_default) %2\
+ %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
+Index: b/src/gcc/doc/invoke.texi
+===================================================================
+--- a/src/gcc/doc/invoke.texi
++++ b/src/gcc/doc/invoke.texi
+@@ -10150,6 +10150,9 @@ protection when @option{-fstack-protecti
+ The minimum size of variables taking part in stack slot sharing when not
+ optimizing. The default value is 32.
+
++This default before Ubuntu 10.10 was "8". Currently it is "4", to increase
++the number of functions protected by the stack protector.
++
+ @item max-jump-thread-duplication-stmts
+ Maximum number of statements allowed in a block that needs to be
+ duplicated when threading jumps.
+@@ -11154,6 +11157,10 @@ functions with buffers larger than 8 byt
+ when a function is entered and then checked when the function exits.
+ If a guard check fails, an error message is printed and the program exits.
+
++NOTE: In Ubuntu 6.10 and later versions this option is enabled by default
++for C, C++, ObjC, ObjC++, if none of @option{-fno-stack-protector},
++@option{-nostdlib}, nor @option{-ffreestanding} are found.
++
+ @item -fstack-protector-all
+ @opindex fstack-protector-all
+ Like @option{-fstack-protector} except that all functions are protected.
--- /dev/null
+# DP: Add options and specs for languages that are not built from a source
+# DP: (but built from separate sources).
+
+---
+ gcc/Makefile.in | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+Index: b/src/gcc/Makefile.in
+===================================================================
+--- a/src/gcc/Makefile.in
++++ b/src/gcc/Makefile.in
+@@ -527,8 +527,8 @@ xm_include_list=@xm_include_list@
+ xm_defines=@xm_defines@
+ lang_checks=
+ lang_checks_parallelized=
+-lang_opt_files=@lang_opt_files@ $(srcdir)/c-family/c.opt $(srcdir)/common.opt
+-lang_specs_files=@lang_specs_files@
++lang_opt_files=$(sort @lang_opt_files@ $(srcdir)/c-family/c.opt $(srcdir)/common.opt $(foreach lang,$(subst ada,ada/gcc-interface,$(debian_extra_langs)),$(srcdir)/$(lang)/lang.opt))
++lang_specs_files=$(sort @lang_specs_files@ $(foreach lang,$(subst ada,ada/gcc-interface,$(debian_extra_langs)),$(srcdir)/$(lang)/lang-specs.h))
+ lang_tree_files=@lang_tree_files@
+ target_cpu_default=@target_cpu_default@
+ OBJC_BOEHM_GC=@objc_boehm_gc@
--- /dev/null
+# DP: Add options and specs for languages that are not built from a source
+# DP: (but built from separate sources).
+
+---
+ gcc/Makefile.in | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+Index: b/src/gcc/Makefile.in
+===================================================================
+--- a/src/gcc/Makefile.in
++++ b/src/gcc/Makefile.in
+@@ -563,8 +563,8 @@ xm_include_list=@xm_include_list@
+ xm_defines=@xm_defines@
+ lang_checks=
+ lang_checks_parallelized=
+-lang_opt_files=@lang_opt_files@ $(srcdir)/c-family/c.opt $(srcdir)/common.opt
+-lang_specs_files=@lang_specs_files@
++lang_opt_files=$(sort @lang_opt_files@ $(srcdir)/c-family/c.opt $(srcdir)/common.opt $(foreach lang,$(subst ada,ada/gcc-interface,$(debian_extra_langs)),$(srcdir)/$(lang)/lang.opt))
++lang_specs_files=$(sort @lang_specs_files@ $(foreach lang,$(subst ada,ada/gcc-interface,$(debian_extra_langs)),$(srcdir)/$(lang)/lang-specs.h))
+ lang_tree_files=@lang_tree_files@
+ target_cpu_default=@target_cpu_default@
+ OBJC_BOEHM_GC=@objc_boehm_gc@
--- /dev/null
+# DP: Allow setting offload targets by OFFLOAD_TARGET_DEFAULT
+
+http://pkgs.fedoraproject.org/cgit/rpms/gcc.git/tree/gcc7-foffload-default.patch
+
+2017-01-20 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc.c (offload_targets_default): New variable.
+ (process_command): Set it if -foffload is defaulted.
+ (driver::maybe_putenv_OFFLOAD_TARGETS): Add OFFLOAD_TARGET_DEFAULT=1
+ into environment if -foffload has been defaulted.
+ * lto-wrapper.c (OFFLOAD_TARGET_DEFAULT_ENV): Define.
+ (compile_images_for_offload_targets): If OFFLOAD_TARGET_DEFAULT
+ is in the environment, don't fail if corresponding mkoffload
+ can't be found. Free and clear offload_names if no valid offload
+ is found.
+libgomp/
+ * target.c (gomp_load_plugin_for_device): If a plugin can't be
+ dlopened, assume it has no devices silently.
+
+--- a/src/gcc/gcc.c
++++ b/src/gcc/gcc.c
+@@ -291,6 +291,10 @@ static const char *spec_host_machine = D
+
+ static char *offload_targets = NULL;
+
++/* Set to true if -foffload has not been used and offload_targets
++ is set to the configured in default. */
++static bool offload_targets_default;
++
+ /* Nonzero if cross-compiling.
+ When -b is used, the value comes from the `specs' file. */
+
+@@ -4483,7 +4487,10 @@ process_command (unsigned int decoded_op
+ /* If the user didn't specify any, default to all configured offload
+ targets. */
+ if (ENABLE_OFFLOADING && offload_targets == NULL)
+- handle_foffload_option (OFFLOAD_TARGETS);
++ {
++ handle_foffload_option (OFFLOAD_TARGETS);
++ offload_targets_default = true;
++ }
+
+ if (output_file
+ && strcmp (output_file, "-") != 0
+@@ -7762,6 +7769,8 @@ driver::maybe_putenv_OFFLOAD_TARGETS ()
+ obstack_grow (&collect_obstack, offload_targets,
+ strlen (offload_targets) + 1);
+ xputenv (XOBFINISH (&collect_obstack, char *));
++ if (offload_targets_default)
++ xputenv ("OFFLOAD_TARGET_DEFAULT=1");
+ }
+
+ free (offload_targets);
+--- a/src/gcc/lto-wrapper.c
++++ b/src/gcc/lto-wrapper.c
+@@ -52,6 +52,7 @@ along with GCC; see the file COPYING3.
+ /* Environment variable, used for passing the names of offload targets from GCC
+ driver to lto-wrapper. */
+ #define OFFLOAD_TARGET_NAMES_ENV "OFFLOAD_TARGET_NAMES"
++#define OFFLOAD_TARGET_DEFAULT_ENV "OFFLOAD_TARGET_DEFAULT"
+
+ enum lto_mode_d {
+ LTO_MODE_NONE, /* Not doing LTO. */
+@@ -871,8 +872,10 @@ compile_images_for_offload_targets (unsi
+ if (!target_names)
+ return;
+ unsigned num_targets = parse_env_var (target_names, &names, NULL);
++ const char *target_names_default = getenv (OFFLOAD_TARGET_DEFAULT_ENV);
+
+ int next_name_entry = 0;
++ bool hsa_seen = false;
+ const char *compiler_path = getenv ("COMPILER_PATH");
+ if (!compiler_path)
+ goto out;
+@@ -885,18 +888,32 @@ compile_images_for_offload_targets (unsi
+ /* HSA does not use LTO-like streaming and a different compiler, skip
+ it. */
+ if (strcmp (names[i], "hsa") == 0)
+- continue;
++ {
++ hsa_seen = true;
++ continue;
++ }
+
+ offload_names[next_name_entry]
+ = compile_offload_image (names[i], compiler_path, in_argc, in_argv,
+ compiler_opts, compiler_opt_count,
+ linker_opts, linker_opt_count);
+ if (!offload_names[next_name_entry])
+- fatal_error (input_location,
+- "problem with building target image for %s\n", names[i]);
++ {
++ if (target_names_default != NULL)
++ continue;
++ fatal_error (input_location,
++ "problem with building target image for %s\n",
++ names[i]);
++ }
+ next_name_entry++;
+ }
+
++ if (next_name_entry == 0 && !hsa_seen)
++ {
++ free (offload_names);
++ offload_names = NULL;
++ }
++
+ out:
+ free_array_of_ptrs ((void **) names, num_targets);
+ }
+--- a/src/libgomp/target.c
++++ b/src/libgomp/target.c
+@@ -2514,7 +2514,7 @@ gomp_load_plugin_for_device (struct gomp
+
+ void *plugin_handle = dlopen (plugin_name, RTLD_LAZY);
+ if (!plugin_handle)
+- goto dl_fail;
++ return 0;
+
+ /* Check if all required functions are available in the plugin and store
+ their handlers. None of the symbols can legitimately be NULL,
--- /dev/null
+# DP: Add FORCE_CROSS_LAYOUT env var to force a cross directory layout.
+
+Index: b/src/configure.ac
+===================================================================
+--- a/src/configure.ac
++++ b/src/configure.ac
+@@ -3047,7 +3047,7 @@ target_configargs="$target_configargs ${
+ # native. However, it would be better to use other mechanisms to make the
+ # sorts of decisions they want to make on this basis. Please consider
+ # this option to be deprecated. FIXME.
+-if test x${is_cross_compiler} = xyes ; then
++if test x${is_cross_compiler} = xyes || test x${FORCE_CROSS_LAYOUT} = xyes; then
+ target_configargs="--with-cross-host=${host_noncanonical} ${target_configargs}"
+ fi
+
+Index: b/src/gcc/configure.ac
+===================================================================
+--- a/src/gcc/configure.ac
++++ b/src/gcc/configure.ac
+@@ -2011,14 +2011,14 @@ SYSTEM_HEADER_DIR='$(NATIVE_SYSTEM_HEADE
+ BUILD_SYSTEM_HEADER_DIR=$SYSTEM_HEADER_DIR AC_SUBST(BUILD_SYSTEM_HEADER_DIR)
+
+ if test x$host != x$target || test "x$TARGET_SYSTEM_ROOT" != x ||
+- test x$build != x$host || test "x$with_build_sysroot" != x; then
++ test x$build != x$host || test "x$with_build_sysroot" != x || test x$FORCE_CROSS_LAYOUT = xyes; then
+ if test "x$with_build_sysroot" != x; then
+ BUILD_SYSTEM_HEADER_DIR=$with_build_sysroot'$${sysroot_headers_suffix}$(NATIVE_SYSTEM_HEADER_DIR)'
+ else
+ BUILD_SYSTEM_HEADER_DIR='$(CROSS_SYSTEM_HEADER_DIR)'
+ fi
+
+- if test x$host != x$target
++ if test x$host != x$target || test x$FORCE_CROSS_LAYOUT = xyes
+ then
+ CROSS="-DCROSS_DIRECTORY_STRUCTURE"
+ ALL=all.cross
+@@ -6392,14 +6392,14 @@ AC_SUBST_FILE(language_hooks)
+
+ # Echo link setup.
+ if test x${build} = x${host} ; then
+- if test x${host} = x${target} ; then
++ if test x${host} = x${target} && test x$FORCE_CROSS_LAYOUT != xyes ; then
+ echo "Links are now set up to build a native compiler for ${target}." 1>&2
+ else
+ echo "Links are now set up to build a cross-compiler" 1>&2
+ echo " from ${host} to ${target}." 1>&2
+ fi
+ else
+- if test x${host} = x${target} ; then
++ if test x${host} = x${target} && test x$FORCE_CROSS_LAYOUT != xyes ; then
+ echo "Links are now set up to build (on ${build}) a native compiler" 1>&2
+ echo " for ${target}." 1>&2
+ else
--- /dev/null
+# DP: Allow to use lld with -fuse-ld=ld.lld (documentation)
+
+Index: gcc/doc/invoke.texi
+===================================================================
+--- a/src/gcc/doc/invoke.texi (revision 246158)
++++ a/src/gcc/doc/invoke.texi (working copy)
+@@ -10501,6 +10501,10 @@
+ @opindex fuse-ld=gold
+ Use the @command{gold} linker instead of the default linker.
+
++@item -fuse-ld=lld
++@opindex fuse-ld=lld
++Use the LLVM @command{lld} linker instead of the default linker.
++
+ @cindex Libraries
+ @item -l@var{library}
+ @itemx -l @var{library}
--- /dev/null
+# DP: Allow to use lld with -fuse-ld=ld.lld
+
+--- a/src/gcc/collect2.c
++++ b/src/gcc/collect2.c
+@@ -831,6 +831,7 @@ main (int argc, char **argv)
+ USE_PLUGIN_LD,
+ USE_GOLD_LD,
+ USE_BFD_LD,
++ USE_LLD_LD,
+ USE_LD_MAX
+ } selected_linker = USE_DEFAULT_LD;
+ static const char *const ld_suffixes[USE_LD_MAX] =
+@@ -838,7 +839,8 @@ main (int argc, char **argv)
+ "ld",
+ PLUGIN_LD_SUFFIX,
+ "ld.gold",
+- "ld.bfd"
++ "ld.bfd",
++ "ld.lld"
+ };
+ static const char *const real_ld_suffix = "real-ld";
+ static const char *const collect_ld_suffix = "collect-ld";
+@@ -1007,6 +1009,8 @@ main (int argc, char **argv)
+ selected_linker = USE_BFD_LD;
+ else if (strcmp (argv[i], "-fuse-ld=gold") == 0)
+ selected_linker = USE_GOLD_LD;
++ else if (strcmp (argv[i], "-fuse-ld=lld") == 0)
++ selected_linker = USE_LLD_LD;
+
+ #ifdef COLLECT_EXPORT_LIST
+ /* These flags are position independent, although their order
+@@ -1096,7 +1100,8 @@ main (int argc, char **argv)
+ /* Maybe we know the right file to use (if not cross). */
+ ld_file_name = 0;
+ #ifdef DEFAULT_LINKER
+- if (selected_linker == USE_BFD_LD || selected_linker == USE_GOLD_LD)
++ if (selected_linker == USE_BFD_LD || selected_linker == USE_GOLD_LD ||
++ selected_linker == USE_LLD_LD)
+ {
+ char *linker_name;
+ # ifdef HOST_EXECUTABLE_SUFFIX
+@@ -1315,7 +1320,7 @@ main (int argc, char **argv)
+ else if (!use_collect_ld
+ && strncmp (arg, "-fuse-ld=", 9) == 0)
+ {
+- /* Do not pass -fuse-ld={bfd|gold} to the linker. */
++ /* Do not pass -fuse-ld={bfd|gold|lld} to the linker. */
+ ld1--;
+ ld2--;
+ }
+--- a/src/gcc/common.opt
++++ b/src/gcc/common.opt
+@@ -2712,9 +2712,13 @@ Common Driver Negative(fuse-ld=gold)
+ Use the bfd linker instead of the default linker.
+
+ fuse-ld=gold
+-Common Driver Negative(fuse-ld=bfd)
++Common Driver Negative(fuse-ld=lld)
+ Use the gold linker instead of the default linker.
+
++fuse-ld=lld
++Common Driver Negative(fuse-ld=bfd)
++Use the lld LLVM linker instead of the default linker.
++
+ fuse-linker-plugin
+ Common Undocumented Var(flag_use_linker_plugin)
+
+--- a/src/gcc/opts.c
++++ b/src/gcc/opts.c
+@@ -2481,6 +2481,7 @@ common_handle_option (struct gcc_options
+
+ case OPT_fuse_ld_bfd:
+ case OPT_fuse_ld_gold:
++ case OPT_fuse_ld_lld:
+ case OPT_fuse_linker_plugin:
+ /* No-op. Used by the driver and passed to us because it starts with f.*/
+ break;
--- /dev/null
+# DP: Build a dummy s-tm-texi without access to the texinfo sources
+
+Index: b/src/gcc/Makefile.in
+===================================================================
+--- a/src/gcc/Makefile.in
++++ b/src/gcc/Makefile.in
+@@ -2479,30 +2479,8 @@ s-tm-texi: $(srcdir)/doc/../doc/tm.texi
+ # \r is not portable to Solaris tr, therefore we have a special
+ # case for ASCII. We use \r for other encodings like EBCDIC.
+ s-tm-texi: build/genhooks$(build_exeext) $(srcdir)/doc/tm.texi.in
+- $(RUN_GEN) build/genhooks$(build_exeext) -d \
+- $(srcdir)/doc/tm.texi.in > tmp-tm.texi
+- case `echo X|tr X '\101'` in \
+- A) tr -d '\015' < tmp-tm.texi > tmp2-tm.texi ;; \
+- *) tr -d '\r' < tmp-tm.texi > tmp2-tm.texi ;; \
+- esac
+- mv tmp2-tm.texi tmp-tm.texi
+- $(SHELL) $(srcdir)/../move-if-change tmp-tm.texi tm.texi
+- @if cmp -s $(srcdir)/doc/tm.texi tm.texi; then \
+- $(STAMP) $@; \
+- elif test $(srcdir)/doc/tm.texi -nt $(srcdir)/doc/tm.texi.in \
+- && ( test $(srcdir)/doc/tm.texi -nt $(srcdir)/target.def \
+- || test $(srcdir)/doc/tm.texi -nt $(srcdir)/c-family/c-target.def \
+- || test $(srcdir)/doc/tm.texi -nt $(srcdir)/common/common-target.def \
+- ); then \
+- echo >&2 ; \
+- echo You should edit $(srcdir)/doc/tm.texi.in rather than $(srcdir)/doc/tm.texi . >&2 ; \
+- false; \
+- else \
+- echo >&2 ; \
+- echo Verify that you have permission to grant a GFDL license for all >&2 ; \
+- echo new text in tm.texi, then copy it to $(srcdir)/doc/tm.texi. >&2 ; \
+- false; \
+- fi
++ cat $(srcdir)/doc/tm.texi.in > tmp-tm.texi
++ $(STAMP) $@
+
+ gimple-match.c: s-match gimple-match-head.c ; @true
+ generic-match.c: s-match generic-match-head.c ; @true
--- /dev/null
+# DP: Link using --hash-style=both (alpha, amd64, armel, armhf, ia64, i386, powerpc, ppc64, riscv64, s390, sparc)
+
+2006-07-11 Jakub Jelinek <jakub@redhat.com>
+
+ * config/i386/linux.h (LINK_SPEC): Add --hash-style=both.
+ * config/i386/linux64.h (LINK_SPEC): Likewise.
+ * config/rs6000/sysv4.h (LINK_OS_LINUX_SPEC): Likewise.
+ * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC32,
+ LINK_OS_LINUX_SPEC64): Likewise.
+ * config/s390/linux.h (LINK_SPEC): Likewise.
+ * config/ia64/linux.h (LINK_SPEC): Likewise.
+ * config/sparc/linux.h (LINK_SPEC): Likewise.
+ * config/sparc/linux64.h (LINK_SPEC, LINK_ARCH32_SPEC,
+ LINK_ARCH64_SPEC): Likewise.
+ * config/alpha/linux-elf.h (LINK_SPEC): Likewise.
+
+2009-12-21 Matthias Klose <doko@ubuntu.com>
+
+ * config/arm/linux-elf.h (LINK_SPEC): Add --hash-style=both.
+
+2012-11-17 Matthias Klose <doko@ubuntu.com>
+
+ * config/aarch64/aarch64-linux.h (LINK_SPEC): Add --hash-style=both.
+
+2018-03-02 Aurelien Jarno <aurelien@aurel32.net>
+
+ * config/riscv/linux.h (LINK_SPEC): Add --hash-style=both.
+
+---
+ gcc/config/alpha/linux-elf.h | 2 +-
+ gcc/config/i386/linux.h | 2 +-
+ gcc/config/i386/linux64.h | 2 +-
+ gcc/config/ia64/linux.h | 2 +-
+ gcc/config/rs6000/linux64.h | 4 ++--
+ gcc/config/rs6000/sysv4.h | 2 +-
+ gcc/config/s390/linux.h | 2 +-
+ gcc/config/sparc/linux.h | 2 +-
+ 8 files changed, 9 insertions(+), 9 deletions(-)
+
+Index: b/src/gcc/config/alpha/linux-elf.h
+===================================================================
+--- a/src/gcc/config/alpha/linux-elf.h
++++ b/src/gcc/config/alpha/linux-elf.h
+@@ -37,7 +37,7 @@
+
+ #define ELF_DYNAMIC_LINKER GNU_USER_DYNAMIC_LINKER
+
+-#define LINK_SPEC "-m elf64alpha %{G*} %{relax:-relax} \
++#define LINK_SPEC "-m elf64alpha --hash-style=both %{G*} %{relax:-relax} \
+ %{O*:-O3} %{!O*:-O1} \
+ %{shared:-shared} \
+ %{!shared: \
+Index: b/src/gcc/config/ia64/linux.h
+===================================================================
+--- a/src/gcc/config/ia64/linux.h
++++ b/src/gcc/config/ia64/linux.h
+@@ -58,7 +58,7 @@
+ #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-ia64.so.2"
+
+ #undef LINK_SPEC
+-#define LINK_SPEC "\
++#define LINK_SPEC " --hash-style=both \
+ %{shared:-shared} \
+ %{!shared: \
+ %{!static: \
+Index: b/src/gcc/config/rs6000/linux64.h
+===================================================================
+--- a/src/gcc/config/rs6000/linux64.h
++++ b/src/gcc/config/rs6000/linux64.h
+@@ -385,11 +385,11 @@
+ " -m elf64ppc")
+ #endif
+
+-#define LINK_OS_LINUX_SPEC32 LINK_OS_LINUX_EMUL32 " %{!shared: %{!static: \
++#define LINK_OS_LINUX_SPEC32 LINK_OS_LINUX_EMUL32 " --hash-style=both %{!shared: %{!static: \
+ %{rdynamic:-export-dynamic} \
+ -dynamic-linker " GNU_USER_DYNAMIC_LINKER32 "}}"
+
+-#define LINK_OS_LINUX_SPEC64 LINK_OS_LINUX_EMUL64 " %{!shared: %{!static: \
++#define LINK_OS_LINUX_SPEC64 LINK_OS_LINUX_EMUL64 " --hash-style=both %{!shared: %{!static: \
+ %{rdynamic:-export-dynamic} \
+ -dynamic-linker " GNU_USER_DYNAMIC_LINKER64 "}}"
+
+Index: b/src/gcc/config/rs6000/sysv4.h
+===================================================================
+--- a/src/gcc/config/rs6000/sysv4.h
++++ b/src/gcc/config/rs6000/sysv4.h
+@@ -788,7 +788,7 @@
+ #define GNU_USER_DYNAMIC_LINKER \
+ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER)
+
+-#define LINK_OS_LINUX_SPEC "-m elf32ppclinux %{!shared: %{!static: \
++#define LINK_OS_LINUX_SPEC "-m elf32ppclinux --hash-style=both %{!shared: %{!static: \
+ %{rdynamic:-export-dynamic} \
+ -dynamic-linker " GNU_USER_DYNAMIC_LINKER "}}"
+
+Index: b/src/gcc/config/s390/linux.h
+===================================================================
+--- a/src/gcc/config/s390/linux.h
++++ b/src/gcc/config/s390/linux.h
+@@ -65,7 +65,7 @@
+
+ #undef LINK_SPEC
+ #define LINK_SPEC \
+- "%{m31:-m elf_s390}%{m64:-m elf64_s390} \
++ "%{m31:-m elf_s390}%{m64:-m elf64_s390} --hash-style=both \
+ %{shared:-shared} \
+ %{!shared: \
+ %{static:-static} \
+Index: b/src/gcc/config/sparc/linux.h
+===================================================================
+--- a/src/gcc/config/sparc/linux.h
++++ b/src/gcc/config/sparc/linux.h
+@@ -86,7 +86,7 @@
+ #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
+
+ #undef LINK_SPEC
+-#define LINK_SPEC "-m elf32_sparc %{shared:-shared} \
++#define LINK_SPEC "-m elf32_sparc --hash-style=both %{shared:-shared} \
+ %{!mno-relax:%{!r:-relax}} \
+ %{!shared: \
+ %{!static: \
+Index: b/src/gcc/config/arm/linux-elf.h
+===================================================================
+--- a/src/gcc/config/arm/linux-elf.h
++++ b/src/gcc/config/arm/linux-elf.h
+@@ -67,6 +67,7 @@
+ %{rdynamic:-export-dynamic} \
+ -dynamic-linker " GNU_USER_DYNAMIC_LINKER "} \
+ -X \
++ --hash-style=both \
+ %{mbig-endian:-EB} %{mlittle-endian:-EL}" \
+ SUBTARGET_EXTRA_LINK_SPEC
+
+Index: b/src/gcc/config/i386/gnu-user.h
+===================================================================
+--- a/src/gcc/config/i386/gnu-user.h
++++ b/src/gcc/config/i386/gnu-user.h
+@@ -74,7 +74,7 @@
+ { "link_emulation", GNU_USER_LINK_EMULATION },\
+ { "dynamic_linker", GNU_USER_DYNAMIC_LINKER }
+
+-#define GNU_USER_TARGET_LINK_SPEC "-m %(link_emulation) %{shared:-shared} \
++#define GNU_USER_TARGET_LINK_SPEC "-m %(link_emulation) --hash-style=both %{shared:-shared} \
+ %{!shared: \
+ %{!static: \
+ %{rdynamic:-export-dynamic} \
+Index: b/src/gcc/config/i386/gnu-user64.h
+===================================================================
+--- a/src/gcc/config/i386/gnu-user64.h
++++ b/src/gcc/config/i386/gnu-user64.h
+@@ -56,6 +56,7 @@
+ "%{" SPEC_64 ":-m " GNU_USER_LINK_EMULATION64 "} \
+ %{" SPEC_32 ":-m " GNU_USER_LINK_EMULATION32 "} \
+ %{" SPEC_X32 ":-m " GNU_USER_LINK_EMULATIONX32 "} \
++ --hash-style=both \
+ %{shared:-shared} \
+ %{!shared: \
+ %{!static: \
+Index: b/src/gcc/config/aarch64/aarch64-linux.h
+===================================================================
+--- a/src/gcc/config/aarch64/aarch64-linux.h
++++ b/src/gcc/config/aarch64/aarch64-linux.h
+@@ -24,6 +24,7 @@
+ #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-aarch64.so.1"
+
+ #define LINUX_TARGET_LINK_SPEC "%{h*} \
++ --hash-style=both \
+ %{static:-Bstatic} \
+ %{shared:-shared} \
+ %{symbolic:-Bsymbolic} \
+Index: b/src/gcc/config/riscv/linux.h
+===================================================================
+--- a/src/gcc/config/riscv/linux.h
++++ b/src/gcc/config/riscv/linux.h
+@@ -50,6 +50,7 @@
+ #define CPP_SPEC "%{pthread:-D_REENTRANT}"
+
+ #define LINK_SPEC "\
++-hash-style=both \
+ -melf" XLEN_SPEC "lriscv \
+ %{shared} \
+ {!shared: \
--- /dev/null
+# DP: Link using --hash-style=gnu (aarch64, alpha, amd64, armel, armhf, ia64,
+# DP: i386, powerpc, ppc64, riscv64, s390, sparc)
+
+2006-07-11 Jakub Jelinek <jakub@redhat.com>
+
+ * config/i386/linux.h (LINK_SPEC): Add --hash-style=gnu.
+ * config/i386/linux64.h (LINK_SPEC): Likewise.
+ * config/rs6000/sysv4.h (LINK_OS_LINUX_SPEC): Likewise.
+ * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC32,
+ LINK_OS_LINUX_SPEC64): Likewise.
+ * config/s390/linux.h (LINK_SPEC): Likewise.
+ * config/ia64/linux.h (LINK_SPEC): Likewise.
+ * config/sparc/linux.h (LINK_SPEC): Likewise.
+ * config/sparc/linux64.h (LINK_SPEC, LINK_ARCH32_SPEC,
+ LINK_ARCH64_SPEC): Likewise.
+ * config/alpha/linux-elf.h (LINK_SPEC): Likewise.
+
+2009-12-21 Matthias Klose <doko@ubuntu.com>
+
+ * config/arm/linux-elf.h (LINK_SPEC): Add --hash-style=gnu.
+
+2012-11-17 Matthias Klose <doko@ubuntu.com>
+
+ * config/aarch64/aarch64-linux.h (LINK_SPEC): Add --hash-style=gnu.
+
+2018-03-02 Aurelien Jarno <aurelien@aurel32.net>
+
+ * config/riscv/linux.h (LINK_SPEC): Add --hash-style=gnu.
+
+---
+ gcc/config/alpha/linux-elf.h | 2 +-
+ gcc/config/i386/linux.h | 2 +-
+ gcc/config/i386/linux64.h | 2 +-
+ gcc/config/ia64/linux.h | 2 +-
+ gcc/config/rs6000/linux64.h | 4 ++--
+ gcc/config/rs6000/sysv4.h | 2 +-
+ gcc/config/s390/linux.h | 2 +-
+ gcc/config/sparc/linux.h | 2 +-
+ 8 files changed, 9 insertions(+), 9 deletions(-)
+
+Index: b/src/gcc/config/alpha/linux-elf.h
+===================================================================
+--- a/src/gcc/config/alpha/linux-elf.h
++++ b/src/gcc/config/alpha/linux-elf.h
+@@ -37,7 +37,7 @@ along with GCC; see the file COPYING3.
+
+ #define ELF_DYNAMIC_LINKER GNU_USER_DYNAMIC_LINKER
+
+-#define LINK_SPEC "-m elf64alpha %{G*} %{relax:-relax} \
++#define LINK_SPEC "-m elf64alpha --hash-style=gnu %{G*} %{relax:-relax} \
+ %{O*:-O3} %{!O*:-O1} \
+ %{shared:-shared} \
+ %{!shared: \
+Index: b/src/gcc/config/ia64/linux.h
+===================================================================
+--- a/src/gcc/config/ia64/linux.h
++++ b/src/gcc/config/ia64/linux.h
+@@ -58,7 +58,7 @@ do { \
+ #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-ia64.so.2"
+
+ #undef LINK_SPEC
+-#define LINK_SPEC "\
++#define LINK_SPEC " --hash-style=gnu \
+ %{shared:-shared} \
+ %{!shared: \
+ %{!static: \
+Index: b/src/gcc/config/rs6000/linux64.h
+===================================================================
+--- a/src/gcc/config/rs6000/linux64.h
++++ b/src/gcc/config/rs6000/linux64.h
+@@ -470,13 +470,13 @@ extern int dot_symbols;
+ " -m elf64ppc")
+ #endif
+
+-#define LINK_OS_LINUX_SPEC32 LINK_OS_LINUX_EMUL32 " %{!shared: %{!static: \
++#define LINK_OS_LINUX_SPEC32 LINK_OS_LINUX_EMUL32 " --hash-style=gnu %{!shared: %{!static: \
+ %{!static-pie: \
+ %{rdynamic:-export-dynamic} \
+ -dynamic-linker " GNU_USER_DYNAMIC_LINKER32 "}}} \
+ %(link_os_extra_spec32)"
+
+-#define LINK_OS_LINUX_SPEC64 LINK_OS_LINUX_EMUL64 " %{!shared: %{!static: \
++#define LINK_OS_LINUX_SPEC64 LINK_OS_LINUX_EMUL64 " --hash-style=gnu %{!shared: %{!static: \
+ %{!static-pie: \
+ %{rdynamic:-export-dynamic} \
+ -dynamic-linker " GNU_USER_DYNAMIC_LINKER64 "}}} \
+Index: b/src/gcc/config/rs6000/sysv4.h
+===================================================================
+--- a/src/gcc/config/rs6000/sysv4.h
++++ b/src/gcc/config/rs6000/sysv4.h
+@@ -811,7 +811,7 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEF
+ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER, \
+ MUSL_DYNAMIC_LINKER)
+
+-#define LINK_OS_LINUX_SPEC "-m elf32ppclinux %{!shared: %{!static: \
++#define LINK_OS_LINUX_SPEC "-m elf32ppclinux --hash-style=gnu %{!shared: %{!static: \
+ %{rdynamic:-export-dynamic} \
+ -dynamic-linker " GNU_USER_DYNAMIC_LINKER "}}"
+
+Index: b/src/gcc/config/s390/linux.h
+===================================================================
+--- a/src/gcc/config/s390/linux.h
++++ b/src/gcc/config/s390/linux.h
+@@ -78,7 +78,7 @@ along with GCC; see the file COPYING3.
+
+ #undef LINK_SPEC
+ #define LINK_SPEC \
+- "%{m31:-m elf_s390}%{m64:-m elf64_s390} \
++ "%{m31:-m elf_s390}%{m64:-m elf64_s390} --hash-style=gnu \
+ %{shared:-shared} \
+ %{!shared: \
+ %{static:-static} \
+Index: b/src/gcc/config/sparc/linux.h
+===================================================================
+--- a/src/gcc/config/sparc/linux.h
++++ b/src/gcc/config/sparc/linux.h
+@@ -86,7 +86,7 @@ extern const char *host_detect_local_cpu
+ #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
+
+ #undef LINK_SPEC
+-#define LINK_SPEC "-m elf32_sparc %{shared:-shared} \
++#define LINK_SPEC "-m elf32_sparc --hash-style=gnu %{shared:-shared} \
+ %{!mno-relax:%{!r:-relax}} \
+ %{!shared: \
+ %{!static: \
+Index: b/src/gcc/config/arm/linux-elf.h
+===================================================================
+--- a/src/gcc/config/arm/linux-elf.h
++++ b/src/gcc/config/arm/linux-elf.h
+@@ -70,6 +70,7 @@
+ %{rdynamic:-export-dynamic} \
+ %{!shared:-dynamic-linker " GNU_USER_DYNAMIC_LINKER "}} \
+ -X \
++ --hash-style=gnu \
+ %{mbig-endian:-EB} %{mlittle-endian:-EL}" \
+ SUBTARGET_EXTRA_LINK_SPEC
+
+Index: b/src/gcc/config/i386/gnu-user.h
+===================================================================
+--- a/src/gcc/config/i386/gnu-user.h
++++ b/src/gcc/config/i386/gnu-user.h
+@@ -74,7 +74,7 @@ along with GCC; see the file COPYING3.
+ { "link_emulation", GNU_USER_LINK_EMULATION },\
+ { "dynamic_linker", GNU_USER_DYNAMIC_LINKER }
+
+-#define GNU_USER_TARGET_LINK_SPEC "-m %(link_emulation) %{shared:-shared} \
++#define GNU_USER_TARGET_LINK_SPEC "-m %(link_emulation) --hash-style=gnu %{shared:-shared} \
+ %{!shared: \
+ %{!static: \
+ %{!static-pie: \
+Index: b/src/gcc/config/i386/gnu-user64.h
+===================================================================
+--- a/src/gcc/config/i386/gnu-user64.h
++++ b/src/gcc/config/i386/gnu-user64.h
+@@ -56,6 +56,7 @@ see the files COPYING3 and COPYING.RUNTI
+ "%{" SPEC_64 ":-m " GNU_USER_LINK_EMULATION64 "} \
+ %{" SPEC_32 ":-m " GNU_USER_LINK_EMULATION32 "} \
+ %{" SPEC_X32 ":-m " GNU_USER_LINK_EMULATIONX32 "} \
++ --hash-style=gnu \
+ %{shared:-shared} \
+ %{!shared: \
+ %{!static: \
+Index: b/src/gcc/config/aarch64/aarch64-linux.h
+===================================================================
+--- a/src/gcc/config/aarch64/aarch64-linux.h
++++ b/src/gcc/config/aarch64/aarch64-linux.h
+@@ -35,6 +35,7 @@
+ #define CPP_SPEC "%{pthread:-D_REENTRANT}"
+
+ #define LINUX_TARGET_LINK_SPEC "%{h*} \
++ --hash-style=gnu \
+ %{static:-Bstatic} \
+ %{shared:-shared} \
+ %{symbolic:-Bsymbolic} \
+Index: b/src/gcc/config/riscv/linux.h
+===================================================================
+--- a/src/gcc/config/riscv/linux.h
++++ b/src/gcc/config/riscv/linux.h
+@@ -50,6 +50,7 @@ along with GCC; see the file COPYING3.
+ #define CPP_SPEC "%{pthread:-D_REENTRANT}"
+
+ #define LINK_SPEC "\
++-hash-style=gnu \
+ -melf" XLEN_SPEC "lriscv \
+ %{mno-relax:--no-relax} \
+ %{shared} \
--- /dev/null
+# DP: Report an ICE to apport (if apport is available
+# DP: and the environment variable GCC_NOAPPORT is not set)
+
+--- a/src/gcc/gcc.c
++++ b/src/gcc/gcc.c
+@@ -6968,6 +6968,16 @@ do_report_bug (const char **new_argv, co
+ fflush(stderr);
+ free(cmd);
+ }
++ if (!env.get ("GCC_NOAPPORT")
++ && !access ("/usr/share/apport/gcc_ice_hook", R_OK | X_OK))
++ {
++ char *cmd = XNEWVEC (char, 50 + strlen (*out_file)
++ + strlen (new_argv[0]));
++ sprintf (cmd, "/usr/share/apport/gcc_ice_hook %s %s",
++ new_argv[0], *out_file);
++ system (cmd);
++ free (cmd);
++ }
+ /* Make sure it is not deleted. */
+ free (*out_file);
+ *out_file = NULL;
--- /dev/null
+# DP: For ICEs, dump the preprocessed source file to stderr
+# DP: when in a distro build environment.
+
+--- a/src/gcc/gcc.c
++++ b/src/gcc/gcc.c
+@@ -3187,7 +3187,8 @@ execute (void)
+ /* For ICEs in cc1, cc1obj, cc1plus see if it is
+ reproducible or not. */
+ const char *p;
+- if (flag_report_bug
++ const char *deb_build_options = env.get("DEB_BUILD_OPTIONS");
++ if ((flag_report_bug || deb_build_options)
+ && WEXITSTATUS (status) == ICE_EXIT_CODE
+ && i == 0
+ && (p = strrchr (commands[0].argv[0], DIR_SEPARATOR))
+@@ -6950,8 +6951,23 @@ do_report_bug (const char **new_argv, co
+
+ if (status == ATTEMPT_STATUS_SUCCESS)
+ {
++ const char *deb_build_options = env.get("DEB_BUILD_OPTIONS");
++
+ fnotice (stderr, "Preprocessed source stored into %s file,"
+ " please attach this to your bugreport.\n", *out_file);
++ if (deb_build_options)
++ {
++ char *cmd = XNEWVEC (char, 50 + strlen (*out_file));
++
++ sprintf(cmd, "/usr/bin/awk '{print \"%d:\", $0}' %s >&2", getpid(), *out_file);
++ fprintf(stderr, "=== BEGIN GCC DUMP ===\n");
++ fflush(stderr);
++ system(cmd);
++ fflush(stderr);
++ fprintf(stderr, "=== END GCC DUMP ===\n");
++ fflush(stderr);
++ free(cmd);
++ }
+ /* Make sure it is not deleted. */
+ free (*out_file);
+ *out_file = NULL;
--- /dev/null
+# DP: Changes for the Linaro 8-2018.xx snapshot (documentation).
+
+LANG=C svn diff svn://gcc.gnu.org/svn/gcc/branches/gcc-8-branch@268147 svn://gcc.gnu.org/svn/gcc/branches/ARM/arm-8-branch \
+ | sed -r 's,^--- (\S+)\t(\S+)(.*)$,--- a/src/\1\t\2,;s,^\+\+\+ (\S+)\t(\S+)(.*)$,+++ b/src/\1\t\2,' \
+ | awk '/^Index:.*\.class/ {skip=1; next} /^Index:/ { skip=0 } skip==0'
+
+Index: gcc/doc/cpp.texi
+===================================================================
+--- a/src/gcc/doc/cpp.texi (.../gcc-8-branch)
++++ b/src/gcc/doc/cpp.texi (.../ARM/arm-8-branch)
+@@ -2381,6 +2381,10 @@
+ These macros are defined when the target processor supports atomic compare
+ and swap operations on operands 1, 2, 4, 8 or 16 bytes in length, respectively.
+
++@item __HAVE_SPECULATION_SAFE_VALUE
++This macro is defined with the value 1 to show that this version of GCC
++supports @code{__builtin_speculation_safe_value}.
++
+ @item __GCC_HAVE_DWARF2_CFI_ASM
+ This macro is defined when the compiler is emitting DWARF CFI directives
+ to the assembler. When this is defined, it is possible to emit those same
+Index: gcc/doc/extend.texi
+===================================================================
+--- a/src/gcc/doc/extend.texi (.../gcc-8-branch)
++++ b/src/gcc/doc/extend.texi (.../ARM/arm-8-branch)
+@@ -11080,6 +11080,7 @@
+ @findex __builtin_powi
+ @findex __builtin_powif
+ @findex __builtin_powil
++@findex __builtin_speculation_safe_value
+ @findex _Exit
+ @findex _exit
+ @findex abort
+@@ -11723,6 +11724,96 @@
+
+ @end deftypefn
+
++@deftypefn {Built-in Function} @var{type} __builtin_speculation_safe_value (@var{type} val, @var{type} failval)
++
++This built-in function can be used to help mitigate against unsafe
++speculative execution. @var{type} may be any integral type or any
++pointer type.
++
++@enumerate
++@item
++If the CPU is not speculatively executing the code, then @var{val}
++is returned.
++@item
++If the CPU is executing speculatively then either:
++@itemize
++@item
++The function may cause execution to pause until it is known that the
++code is no-longer being executed speculatively (in which case
++@var{val} can be returned, as above); or
++@item
++The function may use target-dependent speculation tracking state to cause
++@var{failval} to be returned when it is known that speculative
++execution has incorrectly predicted a conditional branch operation.
++@end itemize
++@end enumerate
++
++The second argument, @var{failval}, is optional and defaults to zero
++if omitted.
++
++GCC defines the preprocessor macro
++@code{__HAVE_BUILTIN_SPECULATION_SAFE_VALUE} for targets that have been
++updated to support this builtin.
++
++The built-in function can be used where a variable appears to be used in a
++safe way, but the CPU, due to speculative execution may temporarily ignore
++the bounds checks. Consider, for example, the following function:
++
++@smallexample
++int array[500];
++int f (unsigned untrusted_index)
++@{
++ if (untrusted_index < 500)
++ return array[untrusted_index];
++ return 0;
++@}
++@end smallexample
++
++If the function is called repeatedly with @code{untrusted_index} less
++than the limit of 500, then a branch predictor will learn that the
++block of code that returns a value stored in @code{array} will be
++executed. If the function is subsequently called with an
++out-of-range value it will still try to execute that block of code
++first until the CPU determines that the prediction was incorrect
++(the CPU will unwind any incorrect operations at that point).
++However, depending on how the result of the function is used, it might be
++possible to leave traces in the cache that can reveal what was stored
++at the out-of-bounds location. The built-in function can be used to
++provide some protection against leaking data in this way by changing
++the code to:
++
++@smallexample
++int array[500];
++int f (unsigned untrusted_index)
++@{
++ if (untrusted_index < 500)
++ return array[__builtin_speculation_safe_value (untrusted_index)];
++ return 0;
++@}
++@end smallexample
++
++The built-in function will either cause execution to stall until the
++conditional branch has been fully resolved, or it may permit
++speculative execution to continue, but using 0 instead of
++@code{untrusted_value} if that exceeds the limit.
++
++If accessing any memory location is potentially unsafe when speculative
++execution is incorrect, then the code can be rewritten as
++
++@smallexample
++int array[500];
++int f (unsigned untrusted_index)
++@{
++ if (untrusted_index < 500)
++ return *__builtin_speculation_safe_value (&array[untrusted_index], NULL);
++ return 0;
++@}
++@end smallexample
++
++which will cause a @code{NULL} pointer to be used for the unsafe case.
++
++@end deftypefn
++
+ @deftypefn {Built-in Function} int __builtin_types_compatible_p (@var{type1}, @var{type2})
+
+ You can use the built-in function @code{__builtin_types_compatible_p} to
+Index: gcc/doc/tm.texi
+===================================================================
+--- a/src/gcc/doc/tm.texi (.../gcc-8-branch)
++++ b/src/gcc/doc/tm.texi (.../ARM/arm-8-branch)
+@@ -12010,6 +12010,42 @@
+
+ @end defmac
+
++@deftypefn {Target Hook} bool TARGET_HAVE_SPECULATION_SAFE_VALUE (bool @var{active})
++This hook is used to determine the level of target support for
++ @code{__builtin_speculation_safe_value}. If called with an argument
++ of false, it returns true if the target has been modified to support
++ this builtin. If called with an argument of true, it returns true
++ if the target requires active mitigation execution might be speculative.
++
++ The default implementation returns false if the target does not define
++ a pattern named @code{speculation_barrier}. Else it returns true
++ for the first case and whether the pattern is enabled for the current
++ compilation for the second case.
++
++ For targets that have no processors that can execute instructions
++ speculatively an alternative implemenation of this hook is available:
++ simply redefine this hook to @code{speculation_safe_value_not_needed}
++ along with your other target hooks.
++@end deftypefn
++
++@deftypefn {Target Hook} rtx TARGET_SPECULATION_SAFE_VALUE (machine_mode @var{mode}, rtx @var{result}, rtx @var{val}, rtx @var{failval})
++This target hook can be used to generate a target-specific code
++ sequence that implements the @code{__builtin_speculation_safe_value}
++ built-in function. The function must always return @var{val} in
++ @var{result} in mode @var{mode} when the cpu is not executing
++ speculatively, but must never return that when speculating until it
++ is known that the speculation will not be unwound. The hook supports
++ two primary mechanisms for implementing the requirements. The first
++ is to emit a speculation barrier which forces the processor to wait
++ until all prior speculative operations have been resolved; the second
++ is to use a target-specific mechanism that can track the speculation
++ state and to return @var{failval} if it can determine that
++ speculation must be unwound at a later time.
++
++ The default implementation simply copies @var{val} to @var{result} and
++ emits a @code{speculation_barrier} instruction if that is defined.
++@end deftypefn
++
+ @deftypefn {Target Hook} void TARGET_RUN_TARGET_SELFTESTS (void)
+ If selftests are enabled, run any selftests for this target.
+ @end deftypefn
+Index: gcc/doc/tm.texi.in
+===================================================================
+--- a/src/gcc/doc/tm.texi.in (.../gcc-8-branch)
++++ b/src/gcc/doc/tm.texi.in (.../ARM/arm-8-branch)
+@@ -8112,4 +8112,8 @@
+
+ @end defmac
+
++@hook TARGET_HAVE_SPECULATION_SAFE_VALUE
++
++@hook TARGET_SPECULATION_SAFE_VALUE
++
+ @hook TARGET_RUN_TARGET_SELFTESTS
+Index: gcc/doc/invoke.texi
+===================================================================
+--- a/src/gcc/doc/invoke.texi (.../gcc-8-branch)
++++ b/src/gcc/doc/invoke.texi (.../ARM/arm-8-branch)
+@@ -605,7 +605,7 @@
+ -mpc-relative-literal-loads @gol
+ -msign-return-address=@var{scope} @gol
+ -march=@var{name} -mcpu=@var{name} -mtune=@var{name} @gol
+--moverride=@var{string} -mverbose-cost-dump}
++-moverride=@var{string} -mverbose-cost-dump -mtrack-speculation}
+
+ @emph{Adapteva Epiphany Options}
+ @gccoptlist{-mhalf-reg-file -mprefer-short-insn-regs @gol
+@@ -14702,6 +14702,14 @@
+ precision of division results to about 16 bits for
+ single precision and to 32 bits for double precision.
+
++@item -mtrack-speculation
++@itemx -mno-track-speculation
++Enable or disable generation of additional code to track speculative
++execution through conditional branches. The tracking state can then
++be used by the compiler when expanding calls to
++@code{__builtin_speculation_safe_copy} to permit a more efficient code
++sequence to be generated.
++
+ @item -march=@var{name}
+ @opindex march
+ Specify the name of the target architecture and, optionally, one or
+Index: gcc/doc/md.texi
+===================================================================
+--- a/src/gcc/doc/md.texi (.../gcc-8-branch)
++++ b/src/gcc/doc/md.texi (.../ARM/arm-8-branch)
+@@ -6955,6 +6955,21 @@
+ before the instruction with respect to loads and stores after the instruction.
+ This pattern has no operands.
+
++@cindex @code{speculation_barrier} instruction pattern
++@item @samp{speculation_barrier}
++If the target can support speculative execution, then this pattern should
++be defined to an instruction that will block subsequent execution until
++any prior speculation conditions has been resolved. The pattern must also
++ensure that the compiler cannot move memory operations past the barrier,
++so it needs to be an UNSPEC_VOLATILE pattern. The pattern has no
++operands.
++
++If this pattern is not defined then the default expansion of
++@code{__builtin_speculation_safe_value} will emit a warning. You can
++suppress this warning by defining this pattern with a final condition
++of @code{0} (zero), which tells the compiler that a speculation
++barrier is not needed for this target.
++
+ @cindex @code{sync_compare_and_swap@var{mode}} instruction pattern
+ @item @samp{sync_compare_and_swap@var{mode}}
+ This pattern, if defined, emits code for an atomic compare-and-swap
--- /dev/null
+# DP : Don't add the __LINARO_RELEASE__ and __LINARO_SPIN__ macros for distro builds.
+
+--- a/src/gcc/cppbuiltin.c
++++ b/src/gcc/cppbuiltin.c
+@@ -53,41 +53,18 @@ parse_basever (int *major, int *minor, i
+ *patchlevel = s_patchlevel;
+ }
+
+-/* Parse a LINAROVER version string of the format "M.m-year.month[-spin][~dev]"
+- to create Linaro release number YYYYMM and spin version. */
+-static void
+-parse_linarover (int *release, int *spin)
+-{
+- static int s_year = -1, s_month, s_spin;
+-
+- if (s_year == -1)
+- if (sscanf (LINAROVER, "%*[^-]-%d.%d-%d", &s_year, &s_month, &s_spin) != 3)
+- {
+- sscanf (LINAROVER, "%*[^-]-%d.%d", &s_year, &s_month);
+- s_spin = 0;
+- }
+-
+- if (release)
+- *release = s_year * 100 + s_month;
+-
+- if (spin)
+- *spin = s_spin;
+-}
+
+ /* Define __GNUC__, __GNUC_MINOR__, __GNUC_PATCHLEVEL__ and __VERSION__. */
+ static void
+ define__GNUC__ (cpp_reader *pfile)
+ {
+- int major, minor, patchlevel, linaro_release, linaro_spin;
++ int major, minor, patchlevel;
+
+ parse_basever (&major, &minor, &patchlevel);
+- parse_linarover (&linaro_release, &linaro_spin);
+ cpp_define_formatted (pfile, "__GNUC__=%d", major);
+ cpp_define_formatted (pfile, "__GNUC_MINOR__=%d", minor);
+ cpp_define_formatted (pfile, "__GNUC_PATCHLEVEL__=%d", patchlevel);
+ cpp_define_formatted (pfile, "__VERSION__=\"%s\"", version_string);
+- cpp_define_formatted (pfile, "__LINARO_RELEASE__=%d", linaro_release);
+- cpp_define_formatted (pfile, "__LINARO_SPIN__=%d", linaro_spin);
+ cpp_define_formatted (pfile, "__ATOMIC_RELAXED=%d", MEMMODEL_RELAXED);
+ cpp_define_formatted (pfile, "__ATOMIC_SEQ_CST=%d", MEMMODEL_SEQ_CST);
+ cpp_define_formatted (pfile, "__ATOMIC_ACQUIRE=%d", MEMMODEL_ACQUIRE);
+--- a/src/gcc/Makefile.in
++++ b/src/gcc/Makefile.in
+@@ -854,12 +854,10 @@ BASEVER := $(srcdir)/BASE-VER # 4.x
+ DEVPHASE := $(srcdir)/DEV-PHASE # experimental, prerelease, ""
+ DATESTAMP := $(srcdir)/DATESTAMP # YYYYMMDD or empty
+ REVISION := $(srcdir)/REVISION # [BRANCH revision XXXXXX]
+-LINAROVER := $(srcdir)/LINARO-VERSION # M.x-YYYY.MM[-S][~dev]
+
+ BASEVER_c := $(shell cat $(BASEVER))
+ DEVPHASE_c := $(shell cat $(DEVPHASE))
+ DATESTAMP_c := $(shell cat $(DATESTAMP))
+-LINAROVER_c := $(shell cat $(LINAROVER))
+
+ ifeq (,$(wildcard $(REVISION)))
+ REVISION_c :=
+@@ -886,7 +884,6 @@ DATESTAMP_s := \
+ "\"$(if $(DEVPHASE_c)$(filter-out 0,$(PATCHLEVEL_c)), $(DATESTAMP_c))\""
+ PKGVERSION_s:= "\"@PKGVERSION@\""
+ BUGURL_s := "\"@REPORT_BUGS_TO@\""
+-LINAROVER_s := "\"$(LINAROVER_c)\""
+
+ PKGVERSION := @PKGVERSION@
+ BUGURL_TEXI := @REPORT_BUGS_TEXI@
+@@ -2886,9 +2883,8 @@ PREPROCESSOR_DEFINES = \
+ -DSTANDARD_EXEC_PREFIX=\"$(libdir)/gcc/\" \
+ @TARGET_SYSTEM_ROOT_DEFINE@
+
+-CFLAGS-cppbuiltin.o += $(PREPROCESSOR_DEFINES) -DBASEVER=$(BASEVER_s) \
+- -DLINAROVER=$(LINAROVER_s)
+-cppbuiltin.o: $(BASEVER) $(LINAROVER)
++CFLAGS-cppbuiltin.o += $(PREPROCESSOR_DEFINES) -DBASEVER=$(BASEVER_s)
++cppbuiltin.o: $(BASEVER)
+
+ CFLAGS-cppdefault.o += $(PREPROCESSOR_DEFINES)
+
+--- a/src/gcc/LINARO-VERSION
++++ /dev/null
+@@ -1 +0,0 @@
+-8.2-2018.08~dev
+--- a/src/gcc/testsuite/ChangeLog.arm
++++ b/src/gcc/testsuite/ChangeLog.arm
+@@ -3,10 +3,6 @@
+ * c-c++-common/spec-barrier-1.c: New test.
+ * c-c++-common/spec-barrier-2.c: New test.
+ * gcc.dg/spec-barrier-3.c: New test.
+-
+-2018-08-14 Yvan Roux <yvan.roux@linaro.org>
+-
+- * gcc.dg/cpp/linaro-macros.c: New test.
+ \f
+ Copyright (C) 2018 Free Software Foundation, Inc.
+
+--- a/src/gcc/testsuite/gcc.dg/cpp/linaro-macros.c
++++ /dev/null
+@@ -1,14 +0,0 @@
+-/* Test __LINARO_RELEASE__ and __LINARO_SPIN__. */
+-/* { dg-do compile } */
+-
+-#if defined(__LINARO_RELEASE__) && __LINARO_RELEASE__ >= 201808
+-int i;
+-#else
+-#error "Bad __LINARO_RELEASE__."
+-#endif
+-
+-#if defined(__LINARO_SPIN__) && __LINARO_SPIN__ >= 0
+-int j;
+-#else
+-#error "Bad __LINARO_SPIN__."
+-#endif
--- /dev/null
+# DP: Changes for the Linaro 8-2018.11 snapshot.
+
+MSG=$(git log origin/linaro/gcc-8-branch --format=format:"%s" -n 1 --grep "Merge branches"); SVN=${MSG##* }; git log origin/gcc-8-branch --format=format:"%H" -n 1 --grep "gcc-8-branch@${SVN%.}"
+
+LANG=C git diff --no-renames bb85d61e6bfbadee4494e034a5d8187cf0626aed 1604249e382610b087a72d0d07103f815458cec0 \
+ | egrep -v '^(diff|index) ' \
+ | filterdiff --strip=1 --addoldprefix=a/src/ --addnewprefix=b/src/ \
+ | sed 's,a/src//dev/null,/dev/null,'
+
+LANG=C svn diff svn://gcc.gnu.org/svn/gcc/branches/gcc-8-branch@268147 svn://gcc.gnu.org/svn/gcc/branches/ARM/arm-8-branch \
+ | sed -r 's,^--- (\S+)\t(\S+)(.*)$,--- a/src/\1\t\2,;s,^\+\+\+ (\S+)\t(\S+)(.*)$,+++ b/src/\1\t\2,' \
+ | awk '/^Index:.*\.(class|texi)/ {skip=1; next} /^Index:/ { skip=0 } skip==0'
+
+Index: gcc/LINARO-VERSION
+===================================================================
+--- a/src/gcc/LINARO-VERSION (.../gcc-8-branch)
++++ b/src/gcc/LINARO-VERSION (.../ARM/arm-8-branch)
+@@ -0,0 +1 @@
++8.2-2018.08~dev
+Index: gcc/targhooks.c
+===================================================================
+--- a/src/gcc/targhooks.c (.../gcc-8-branch)
++++ b/src/gcc/targhooks.c (.../ARM/arm-8-branch)
+@@ -2336,4 +2336,43 @@
+ {
+ }
+
++/* Default implementation of TARGET_HAVE_SPECULATION_SAFE_VALUE. */
++bool
++default_have_speculation_safe_value (bool active ATTRIBUTE_UNUSED)
++{
++#ifdef HAVE_speculation_barrier
++ return active ? HAVE_speculation_barrier : true;
++#else
++ return false;
++#endif
++}
++/* Alternative implementation of TARGET_HAVE_SPECULATION_SAFE_VALUE
++ that can be used on targets that never have speculative execution. */
++bool
++speculation_safe_value_not_needed (bool active)
++{
++ return !active;
++}
++
++/* Default implementation of the speculation-safe-load builtin. This
++ implementation simply copies val to result and generates a
++ speculation_barrier insn, if such a pattern is defined. */
++rtx
++default_speculation_safe_value (machine_mode mode ATTRIBUTE_UNUSED,
++ rtx result, rtx val,
++ rtx failval ATTRIBUTE_UNUSED)
++{
++ emit_move_insn (result, val);
++
++#ifdef HAVE_speculation_barrier
++ /* Assume the target knows what it is doing: if it defines a
++ speculation barrier, but it is not enabled, then assume that one
++ isn't needed. */
++ if (HAVE_speculation_barrier)
++ emit_insn (gen_speculation_barrier ());
++#endif
++
++ return result;
++}
++
+ #include "gt-targhooks.h"
+Index: gcc/targhooks.h
+===================================================================
+--- a/src/gcc/targhooks.h (.../gcc-8-branch)
++++ b/src/gcc/targhooks.h (.../ARM/arm-8-branch)
+@@ -289,4 +289,8 @@
+ extern bool default_stack_clash_protection_final_dynamic_probe (rtx);
+ extern void default_select_early_remat_modes (sbitmap);
+
++extern bool default_have_speculation_safe_value (bool);
++extern bool speculation_safe_value_not_needed (bool);
++extern rtx default_speculation_safe_value (machine_mode, rtx, rtx, rtx);
++
+ #endif /* GCC_TARGHOOKS_H */
+Index: gcc/cppbuiltin.c
+===================================================================
+--- a/src/gcc/cppbuiltin.c (.../gcc-8-branch)
++++ b/src/gcc/cppbuiltin.c (.../ARM/arm-8-branch)
+@@ -53,18 +53,41 @@
+ *patchlevel = s_patchlevel;
+ }
+
++/* Parse a LINAROVER version string of the format "M.m-year.month[-spin][~dev]"
++ to create Linaro release number YYYYMM and spin version. */
++static void
++parse_linarover (int *release, int *spin)
++{
++ static int s_year = -1, s_month, s_spin;
+
++ if (s_year == -1)
++ if (sscanf (LINAROVER, "%*[^-]-%d.%d-%d", &s_year, &s_month, &s_spin) != 3)
++ {
++ sscanf (LINAROVER, "%*[^-]-%d.%d", &s_year, &s_month);
++ s_spin = 0;
++ }
++
++ if (release)
++ *release = s_year * 100 + s_month;
++
++ if (spin)
++ *spin = s_spin;
++}
++
+ /* Define __GNUC__, __GNUC_MINOR__, __GNUC_PATCHLEVEL__ and __VERSION__. */
+ static void
+ define__GNUC__ (cpp_reader *pfile)
+ {
+- int major, minor, patchlevel;
++ int major, minor, patchlevel, linaro_release, linaro_spin;
+
+ parse_basever (&major, &minor, &patchlevel);
++ parse_linarover (&linaro_release, &linaro_spin);
+ cpp_define_formatted (pfile, "__GNUC__=%d", major);
+ cpp_define_formatted (pfile, "__GNUC_MINOR__=%d", minor);
+ cpp_define_formatted (pfile, "__GNUC_PATCHLEVEL__=%d", patchlevel);
+ cpp_define_formatted (pfile, "__VERSION__=\"%s\"", version_string);
++ cpp_define_formatted (pfile, "__LINARO_RELEASE__=%d", linaro_release);
++ cpp_define_formatted (pfile, "__LINARO_SPIN__=%d", linaro_spin);
+ cpp_define_formatted (pfile, "__ATOMIC_RELAXED=%d", MEMMODEL_RELAXED);
+ cpp_define_formatted (pfile, "__ATOMIC_SEQ_CST=%d", MEMMODEL_SEQ_CST);
+ cpp_define_formatted (pfile, "__ATOMIC_ACQUIRE=%d", MEMMODEL_ACQUIRE);
+Index: gcc/c-family/c-cppbuiltin.c
+===================================================================
+--- a/src/gcc/c-family/c-cppbuiltin.c (.../gcc-8-branch)
++++ b/src/gcc/c-family/c-cppbuiltin.c (.../ARM/arm-8-branch)
+@@ -1361,7 +1361,12 @@
+ cpp_define (pfile, "__WCHAR_UNSIGNED__");
+
+ cpp_atomic_builtins (pfile);
+-
++
++ /* Show support for __builtin_speculation_safe_value () if the target
++ has been updated to fully support it. */
++ if (targetm.have_speculation_safe_value (false))
++ cpp_define (pfile, "__HAVE_SPECULATION_SAFE_VALUE");
++
+ #ifdef DWARF2_UNWIND_INFO
+ if (dwarf2out_do_cfi_asm ())
+ cpp_define (pfile, "__GCC_HAVE_DWARF2_CFI_ASM");
+Index: gcc/c-family/c-common.c
+===================================================================
+--- a/src/gcc/c-family/c-common.c (.../gcc-8-branch)
++++ b/src/gcc/c-family/c-common.c (.../ARM/arm-8-branch)
+@@ -6456,6 +6456,122 @@
+ return type ? type : error_mark_node;
+ }
+
++/* Work out the size of the first argument of a call to
++ __builtin_speculation_safe_value. Only pointers and integral types
++ are permitted. Return -1 if the argument type is not supported or
++ the size is too large; 0 if the argument type is a pointer or the
++ size if it is integral. */
++static enum built_in_function
++speculation_safe_value_resolve_call (tree function, vec<tree, va_gc> *params)
++{
++ /* Type of the argument. */
++ tree type;
++ int size;
++
++ if (vec_safe_is_empty (params))
++ {
++ error ("too few arguments to function %qE", function);
++ return BUILT_IN_NONE;
++ }
++
++ type = TREE_TYPE ((*params)[0]);
++ if (TREE_CODE (type) == ARRAY_TYPE && c_dialect_cxx ())
++ {
++ /* Force array-to-pointer decay for C++. */
++ (*params)[0] = default_conversion ((*params)[0]);
++ type = TREE_TYPE ((*params)[0]);
++ }
++
++ if (POINTER_TYPE_P (type))
++ return BUILT_IN_SPECULATION_SAFE_VALUE_PTR;
++
++ if (!INTEGRAL_TYPE_P (type))
++ goto incompatible;
++
++ if (!COMPLETE_TYPE_P (type))
++ goto incompatible;
++
++ size = tree_to_uhwi (TYPE_SIZE_UNIT (type));
++ if (size == 1 || size == 2 || size == 4 || size == 8 || size == 16)
++ return ((enum built_in_function)
++ ((int) BUILT_IN_SPECULATION_SAFE_VALUE_1 + exact_log2 (size)));
++
++ incompatible:
++ /* Issue the diagnostic only if the argument is valid, otherwise
++ it would be redundant at best and could be misleading. */
++ if (type != error_mark_node)
++ error ("operand type %qT is incompatible with argument %d of %qE",
++ type, 1, function);
++
++ return BUILT_IN_NONE;
++}
++
++/* Validate and coerce PARAMS, the arguments to ORIG_FUNCTION to fit
++ the prototype for FUNCTION. The first argument is mandatory, a second
++ argument, if present, must be type compatible with the first. */
++static bool
++speculation_safe_value_resolve_params (location_t loc, tree orig_function,
++ vec<tree, va_gc> *params)
++{
++ tree val;
++
++ if (params->length () == 0)
++ {
++ error_at (loc, "too few arguments to function %qE", orig_function);
++ return false;
++ }
++
++ else if (params->length () > 2)
++ {
++ error_at (loc, "too many arguments to function %qE", orig_function);
++ return false;
++ }
++
++ val = (*params)[0];
++ if (TREE_CODE (TREE_TYPE (val)) == ARRAY_TYPE)
++ val = default_conversion (val);
++ if (!(TREE_CODE (TREE_TYPE (val)) == POINTER_TYPE
++ || TREE_CODE (TREE_TYPE (val)) == INTEGER_TYPE))
++ {
++ error_at (loc,
++ "expecting argument of type pointer or of type integer "
++ "for argument 1");
++ return false;
++ }
++ (*params)[0] = val;
++
++ if (params->length () == 2)
++ {
++ tree val2 = (*params)[1];
++ if (TREE_CODE (TREE_TYPE (val2)) == ARRAY_TYPE)
++ val2 = default_conversion (val2);
++ if (!(TREE_TYPE (val) == TREE_TYPE (val2)
++ || useless_type_conversion_p (TREE_TYPE (val), TREE_TYPE (val2))))
++ {
++ error_at (loc, "both arguments must be compatible");
++ return false;
++ }
++ (*params)[1] = val2;
++ }
++
++ return true;
++}
++
++/* Cast the result of the builtin back to the type of the first argument,
++ preserving any qualifiers that it might have. */
++static tree
++speculation_safe_value_resolve_return (tree first_param, tree result)
++{
++ tree ptype = TREE_TYPE (first_param);
++ tree rtype = TREE_TYPE (result);
++ ptype = TYPE_MAIN_VARIANT (ptype);
++
++ if (tree_int_cst_equal (TYPE_SIZE (ptype), TYPE_SIZE (rtype)))
++ return convert (ptype, result);
++
++ return result;
++}
++
+ /* A helper function for resolve_overloaded_builtin in resolving the
+ overloaded __sync_ builtins. Returns a positive power of 2 if the
+ first operand of PARAMS is a pointer to a supported data type.
+@@ -7110,6 +7226,54 @@
+ /* Handle BUILT_IN_NORMAL here. */
+ switch (orig_code)
+ {
++ case BUILT_IN_SPECULATION_SAFE_VALUE_N:
++ {
++ tree new_function, first_param, result;
++ enum built_in_function fncode
++ = speculation_safe_value_resolve_call (function, params);;
++
++ first_param = (*params)[0];
++ if (fncode == BUILT_IN_NONE
++ || !speculation_safe_value_resolve_params (loc, function, params))
++ return error_mark_node;
++
++ if (targetm.have_speculation_safe_value (true))
++ {
++ new_function = builtin_decl_explicit (fncode);
++ result = build_function_call_vec (loc, vNULL, new_function, params,
++ NULL);
++
++ if (result == error_mark_node)
++ return result;
++
++ return speculation_safe_value_resolve_return (first_param, result);
++ }
++ else
++ {
++ /* This target doesn't have, or doesn't need, active mitigation
++ against incorrect speculative execution. Simply return the
++ first parameter to the builtin. */
++ if (!targetm.have_speculation_safe_value (false))
++ /* The user has invoked __builtin_speculation_safe_value
++ even though __HAVE_SPECULATION_SAFE_VALUE is not
++ defined: emit a warning. */
++ warning_at (input_location, 0,
++ "this target does not define a speculation barrier; "
++ "your program will still execute correctly, "
++ "but incorrect speculation may not be be "
++ "restricted");
++
++ /* If the optional second argument is present, handle any side
++ effects now. */
++ if (params->length () == 2
++ && TREE_SIDE_EFFECTS ((*params)[1]))
++ return build2 (COMPOUND_EXPR, TREE_TYPE (first_param),
++ (*params)[1], first_param);
++
++ return first_param;
++ }
++ }
++
+ case BUILT_IN_ATOMIC_EXCHANGE:
+ case BUILT_IN_ATOMIC_COMPARE_EXCHANGE:
+ case BUILT_IN_ATOMIC_LOAD:
+Index: gcc/target.def
+===================================================================
+--- a/src/gcc/target.def (.../gcc-8-branch)
++++ b/src/gcc/target.def (.../ARM/arm-8-branch)
+@@ -4256,6 +4256,46 @@
+ hook_bool_void_true)
+
+ DEFHOOK
++(have_speculation_safe_value,
++"This hook is used to determine the level of target support for\n\
++ @code{__builtin_speculation_safe_value}. If called with an argument\n\
++ of false, it returns true if the target has been modified to support\n\
++ this builtin. If called with an argument of true, it returns true\n\
++ if the target requires active mitigation execution might be speculative.\n\
++ \n\
++ The default implementation returns false if the target does not define\n\
++ a pattern named @code{speculation_barrier}. Else it returns true\n\
++ for the first case and whether the pattern is enabled for the current\n\
++ compilation for the second case.\n\
++ \n\
++ For targets that have no processors that can execute instructions\n\
++ speculatively an alternative implemenation of this hook is available:\n\
++ simply redefine this hook to @code{speculation_safe_value_not_needed}\n\
++ along with your other target hooks.",
++bool, (bool active), default_have_speculation_safe_value)
++
++DEFHOOK
++(speculation_safe_value,
++"This target hook can be used to generate a target-specific code\n\
++ sequence that implements the @code{__builtin_speculation_safe_value}\n\
++ built-in function. The function must always return @var{val} in\n\
++ @var{result} in mode @var{mode} when the cpu is not executing\n\
++ speculatively, but must never return that when speculating until it\n\
++ is known that the speculation will not be unwound. The hook supports\n\
++ two primary mechanisms for implementing the requirements. The first\n\
++ is to emit a speculation barrier which forces the processor to wait\n\
++ until all prior speculative operations have been resolved; the second\n\
++ is to use a target-specific mechanism that can track the speculation\n\
++ state and to return @var{failval} if it can determine that\n\
++ speculation must be unwound at a later time.\n\
++ \n\
++ The default implementation simply copies @var{val} to @var{result} and\n\
++ emits a @code{speculation_barrier} instruction if that is defined.",
++rtx, (machine_mode mode, rtx result, rtx val, rtx failval),
++ default_speculation_safe_value)
++
++
++DEFHOOK
+ (can_use_doloop_p,
+ "Return true if it is possible to use low-overhead loops (@code{doloop_end}\n\
+ and @code{doloop_begin}) for a particular loop. @var{iterations} gives the\n\
+Index: gcc/configure
+===================================================================
+--- a/src/gcc/configure (.../gcc-8-branch)
++++ b/src/gcc/configure (.../ARM/arm-8-branch)
+@@ -1726,7 +1726,8 @@
+ --with-stabs arrange to use stabs instead of host debug format
+ --with-dwarf2 force the default debug format to be DWARF 2
+ --with-specs=SPECS add SPECS to driver command-line processing
+- --with-pkgversion=PKG Use PKG in the version string in place of "GCC"
++ --with-pkgversion=PKG Use PKG in the version string in place of "Linaro
++ GCC `cat $srcdir/LINARO-VERSION`"
+ --with-bugurl=URL Direct users to URL to report a bug
+ --with-multilib-list select multilibs (AArch64, SH and x86-64 only)
+ --with-gnu-ld assume the C compiler uses GNU ld default=no
+@@ -7649,7 +7650,7 @@
+ *) PKGVERSION="($withval) " ;;
+ esac
+ else
+- PKGVERSION="(GCC) "
++ PKGVERSION="(Linaro GCC `cat $srcdir/LINARO-VERSION`) "
+
+ fi
+
+@@ -18448,7 +18449,7 @@
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+-#line 18451 "configure"
++#line 18452 "configure"
+ #include "confdefs.h"
+
+ #if HAVE_DLFCN_H
+@@ -18554,7 +18555,7 @@
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+-#line 18557 "configure"
++#line 18558 "configure"
+ #include "confdefs.h"
+
+ #if HAVE_DLFCN_H
+Index: gcc/builtins.c
+===================================================================
+--- a/src/gcc/builtins.c (.../gcc-8-branch)
++++ b/src/gcc/builtins.c (.../ARM/arm-8-branch)
+@@ -6629,6 +6629,55 @@
+ }
+
+
++/* Expand a call to __builtin_speculation_safe_value_<N>. MODE
++ represents the size of the first argument to that call, or VOIDmode
++ if the argument is a pointer. IGNORE will be true if the result
++ isn't used. */
++static rtx
++expand_speculation_safe_value (machine_mode mode, tree exp, rtx target,
++ bool ignore)
++{
++ rtx val, failsafe;
++ unsigned nargs = call_expr_nargs (exp);
++
++ tree arg0 = CALL_EXPR_ARG (exp, 0);
++
++ if (mode == VOIDmode)
++ {
++ mode = TYPE_MODE (TREE_TYPE (arg0));
++ gcc_assert (GET_MODE_CLASS (mode) == MODE_INT);
++ }
++
++ val = expand_expr (arg0, NULL_RTX, mode, EXPAND_NORMAL);
++
++ /* An optional second argument can be used as a failsafe value on
++ some machines. If it isn't present, then the failsafe value is
++ assumed to be 0. */
++ if (nargs > 1)
++ {
++ tree arg1 = CALL_EXPR_ARG (exp, 1);
++ failsafe = expand_expr (arg1, NULL_RTX, mode, EXPAND_NORMAL);
++ }
++ else
++ failsafe = const0_rtx;
++
++ /* If the result isn't used, the behavior is undefined. It would be
++ nice to emit a warning here, but path splitting means this might
++ happen with legitimate code. So simply drop the builtin
++ expansion in that case; we've handled any side-effects above. */
++ if (ignore)
++ return const0_rtx;
++
++ /* If we don't have a suitable target, create one to hold the result. */
++ if (target == NULL || GET_MODE (target) != mode)
++ target = gen_reg_rtx (mode);
++
++ if (GET_MODE (val) != mode && GET_MODE (val) != VOIDmode)
++ val = convert_modes (mode, VOIDmode, val, false);
++
++ return targetm.speculation_safe_value (mode, target, val, failsafe);
++}
++
+ /* Expand an expression EXP that calls a built-in function,
+ with result going to TARGET if that's convenient
+ (and in mode MODE if that's convenient).
+@@ -7758,6 +7807,17 @@
+ folding. */
+ break;
+
++ case BUILT_IN_SPECULATION_SAFE_VALUE_PTR:
++ return expand_speculation_safe_value (VOIDmode, exp, target, ignore);
++
++ case BUILT_IN_SPECULATION_SAFE_VALUE_1:
++ case BUILT_IN_SPECULATION_SAFE_VALUE_2:
++ case BUILT_IN_SPECULATION_SAFE_VALUE_4:
++ case BUILT_IN_SPECULATION_SAFE_VALUE_8:
++ case BUILT_IN_SPECULATION_SAFE_VALUE_16:
++ mode = get_builtin_sync_mode (fcode - BUILT_IN_SPECULATION_SAFE_VALUE_1);
++ return expand_speculation_safe_value (mode, exp, target, ignore);
++
+ default: /* just do library call, if unknown builtin */
+ break;
+ }
+Index: gcc/builtin-attrs.def
+===================================================================
+--- a/src/gcc/builtin-attrs.def (.../gcc-8-branch)
++++ b/src/gcc/builtin-attrs.def (.../ARM/arm-8-branch)
+@@ -129,6 +129,8 @@
+
+ DEF_ATTR_TREE_LIST (ATTR_NOTHROW_LEAF_LIST, ATTR_LEAF, ATTR_NULL, ATTR_NOTHROW_LIST)
+
++DEF_ATTR_TREE_LIST (ATTR_NOVOPS_NOTHROW_LEAF_LIST, ATTR_NOVOPS, \
++ ATTR_NULL, ATTR_NOTHROW_LEAF_LIST)
+ DEF_ATTR_TREE_LIST (ATTR_CONST_NOTHROW_LIST, ATTR_CONST, \
+ ATTR_NULL, ATTR_NOTHROW_LIST)
+ DEF_ATTR_TREE_LIST (ATTR_CONST_NOTHROW_LEAF_LIST, ATTR_CONST, \
+Index: gcc/testsuite/ChangeLog.arm
+===================================================================
+--- a/src/gcc/testsuite/ChangeLog.arm (.../gcc-8-branch)
++++ b/src/gcc/testsuite/ChangeLog.arm (.../ARM/arm-8-branch)
+@@ -0,0 +1,15 @@
++2018-07-31 Richard Earnshaw <rearnsha@arm.com>
++
++ * c-c++-common/spec-barrier-1.c: New test.
++ * c-c++-common/spec-barrier-2.c: New test.
++ * gcc.dg/spec-barrier-3.c: New test.
++
++2018-08-14 Yvan Roux <yvan.roux@linaro.org>
++
++ * gcc.dg/cpp/linaro-macros.c: New test.
++\f
++Copyright (C) 2018 Free Software Foundation, Inc.
++
++Copying and distribution of this file, with or without modification,
++are permitted in any medium without royalty provided the copyright
++notice and this notice are preserved.
+Index: gcc/testsuite/gcc.dg/spec-barrier-3.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.dg/spec-barrier-3.c (.../gcc-8-branch)
++++ b/src/gcc/testsuite/gcc.dg/spec-barrier-3.c (.../ARM/arm-8-branch)
+@@ -0,0 +1,13 @@
++/* { dg-do compile } */
++/* { dg-options "-Wpedantic" } */
++
++/* __builtin_speculation_safe_value returns a value with the same type
++ as its first argument. There should be a warning if that isn't
++ type-compatible with the use. */
++int *
++f (int x)
++{
++ return __builtin_speculation_safe_value (x); /* { dg-warning "returning 'int' from a function with return type 'int \\*' makes pointer from integer without a cast" } */
++}
++
++/* { dg-prune-output "this target does not define a speculation barrier;" } */
+Index: gcc/testsuite/gcc.dg/cpp/linaro-macros.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.dg/cpp/linaro-macros.c (.../gcc-8-branch)
++++ b/src/gcc/testsuite/gcc.dg/cpp/linaro-macros.c (.../ARM/arm-8-branch)
+@@ -0,0 +1,14 @@
++/* Test __LINARO_RELEASE__ and __LINARO_SPIN__. */
++/* { dg-do compile } */
++
++#if defined(__LINARO_RELEASE__) && __LINARO_RELEASE__ >= 201808
++int i;
++#else
++#error "Bad __LINARO_RELEASE__."
++#endif
++
++#if defined(__LINARO_SPIN__) && __LINARO_SPIN__ >= 0
++int j;
++#else
++#error "Bad __LINARO_SPIN__."
++#endif
+Index: gcc/testsuite/c-c++-common/spec-barrier-1.c
+===================================================================
+--- a/src/gcc/testsuite/c-c++-common/spec-barrier-1.c (.../gcc-8-branch)
++++ b/src/gcc/testsuite/c-c++-common/spec-barrier-1.c (.../ARM/arm-8-branch)
+@@ -0,0 +1,38 @@
++/* { dg-do run } */
++/* { dg-options "-O" } */
++
++/* Test that __builtin_speculation_safe_value returns the correct value. */
++/* This test will cause an unfiltered warning to be emitted on targets
++ that have not implemented support for speculative execution
++ barriers. They should fix that rather than disabling this
++ test. */
++char a = 1;
++short b = 2;
++int c = 3;
++long d = 4;
++long long e = 5;
++int *f = (int*) &c;
++#ifdef __SIZEOF_INT128__
++__int128 g = 9;
++#endif
++
++int main ()
++{
++ if (__builtin_speculation_safe_value (a) != 1)
++ __builtin_abort ();
++ if (__builtin_speculation_safe_value (b) != 2)
++ __builtin_abort ();
++ if (__builtin_speculation_safe_value (c) != 3)
++ __builtin_abort ();
++ if (__builtin_speculation_safe_value (d) != 4)
++ __builtin_abort ();
++ if (__builtin_speculation_safe_value (e) != 5)
++ __builtin_abort ();
++ if (__builtin_speculation_safe_value (f) != &c)
++ __builtin_abort ();
++#ifdef __SIZEOF_INT128__
++ if (__builtin_speculation_safe_value (g) != 9)
++ __builtin_abort ();
++#endif
++ return 0;
++}
+Index: gcc/testsuite/c-c++-common/spec-barrier-2.c
+===================================================================
+--- a/src/gcc/testsuite/c-c++-common/spec-barrier-2.c (.../gcc-8-branch)
++++ b/src/gcc/testsuite/c-c++-common/spec-barrier-2.c (.../ARM/arm-8-branch)
+@@ -0,0 +1,17 @@
++/* { dg-do run } */
++
++/* Even on targets that don't need the optional failval parameter,
++ side-effects on the operand should still be calculated. */
++
++int x = 3;
++volatile int y = 9;
++
++int main ()
++{
++ int z = __builtin_speculation_safe_value (x, y++);
++ if (z != 3 || y != 10)
++ __builtin_abort ();
++ return 0;
++}
++
++/* { dg-prune-output "this target does not define a speculation barrier;" } */
+Index: gcc/builtin-types.def
+===================================================================
+--- a/src/gcc/builtin-types.def (.../gcc-8-branch)
++++ b/src/gcc/builtin-types.def (.../ARM/arm-8-branch)
+@@ -764,6 +764,12 @@
+ BT_VOID, BT_LONG)
+ DEF_FUNCTION_TYPE_VAR_1 (BT_FN_VOID_ULL_VAR,
+ BT_VOID, BT_ULONGLONG)
++DEF_FUNCTION_TYPE_VAR_1 (BT_FN_PTR_PTR_VAR, BT_PTR, BT_PTR)
++DEF_FUNCTION_TYPE_VAR_1 (BT_FN_I1_I1_VAR, BT_I1, BT_I1)
++DEF_FUNCTION_TYPE_VAR_1 (BT_FN_I2_I2_VAR, BT_I2, BT_I2)
++DEF_FUNCTION_TYPE_VAR_1 (BT_FN_I4_I4_VAR, BT_I4, BT_I4)
++DEF_FUNCTION_TYPE_VAR_1 (BT_FN_I8_I8_VAR, BT_I8, BT_I8)
++DEF_FUNCTION_TYPE_VAR_1 (BT_FN_I16_I16_VAR, BT_I16, BT_I16)
+
+ DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_FILEPTR_CONST_STRING_VAR,
+ BT_INT, BT_FILEPTR, BT_CONST_STRING)
+Index: gcc/builtins.def
+===================================================================
+--- a/src/gcc/builtins.def (.../gcc-8-branch)
++++ b/src/gcc/builtins.def (.../ARM/arm-8-branch)
+@@ -1017,6 +1017,28 @@
+ true, true, true, ATTR_NOTHROW_LEAF_LIST, false,
+ !targetm.have_tls)
+
++/* Suppressing speculation. Users are expected to use the first (N)
++ variant, which will be translated internally into one of the other
++ types. */
++
++DEF_GCC_BUILTIN (BUILT_IN_SPECULATION_SAFE_VALUE_N, "speculation_safe_value",
++ BT_FN_VOID_VAR, ATTR_NOVOPS_NOTHROW_LEAF_LIST)
++
++DEF_GCC_BUILTIN (BUILT_IN_SPECULATION_SAFE_VALUE_PTR,
++ "speculation_safe_value_ptr", BT_FN_PTR_PTR_VAR,
++ ATTR_NOVOPS_NOTHROW_LEAF_LIST)
++DEF_GCC_BUILTIN (BUILT_IN_SPECULATION_SAFE_VALUE_1, "speculation_safe_value_1",
++ BT_FN_I1_I1_VAR, ATTR_NOVOPS_NOTHROW_LEAF_LIST)
++DEF_GCC_BUILTIN (BUILT_IN_SPECULATION_SAFE_VALUE_2, "speculation_safe_value_2",
++ BT_FN_I2_I2_VAR, ATTR_NOVOPS_NOTHROW_LEAF_LIST)
++DEF_GCC_BUILTIN (BUILT_IN_SPECULATION_SAFE_VALUE_4, "speculation_safe_value_4",
++ BT_FN_I4_I4_VAR, ATTR_NOVOPS_NOTHROW_LEAF_LIST)
++DEF_GCC_BUILTIN (BUILT_IN_SPECULATION_SAFE_VALUE_8, "speculation_safe_value_8",
++ BT_FN_I8_I8_VAR, ATTR_NOVOPS_NOTHROW_LEAF_LIST)
++DEF_GCC_BUILTIN (BUILT_IN_SPECULATION_SAFE_VALUE_16,
++ "speculation_safe_value_16", BT_FN_I16_I16_VAR,
++ ATTR_NOVOPS_NOTHROW_LEAF_LIST)
++
+ /* Exception support. */
+ DEF_BUILTIN_STUB (BUILT_IN_UNWIND_RESUME, "__builtin_unwind_resume")
+ DEF_BUILTIN_STUB (BUILT_IN_CXA_END_CLEANUP, "__builtin_cxa_end_cleanup")
+Index: gcc/configure.ac
+===================================================================
+--- a/src/gcc/configure.ac (.../gcc-8-branch)
++++ b/src/gcc/configure.ac (.../ARM/arm-8-branch)
+@@ -929,7 +929,7 @@
+ )
+ AC_SUBST(CONFIGURE_SPECS)
+
+-ACX_PKGVERSION([GCC])
++ACX_PKGVERSION([Linaro GCC `cat $srcdir/LINARO-VERSION`])
+ ACX_BUGURL([https://gcc.gnu.org/bugs/])
+
+ # Sanity check enable_languages in case someone does not run the toplevel
+Index: gcc/ChangeLog.arm
+===================================================================
+--- a/src/gcc/ChangeLog.arm (.../gcc-8-branch)
++++ b/src/gcc/ChangeLog.arm (.../ARM/arm-8-branch)
+@@ -0,0 +1,203 @@
++2018-08-14 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
++
++ Backport spectre v1 mitigation patches.
++ 2018-08-06 John David Anglin <danglin@gcc.gnu.org>
++ PR target/86785
++ * config/pa/pa.c (TARGET_HAVE_SPECULATION_SAFE_VALUE):
++ Define to speculation_safe_value_not_needed.
++
++ 2018-08-06 Ulrich Weigand <uweigand@de.ibm.com>
++ PR target/86807
++ * config/spu/spu.c (TARGET_HAVE_SPECULATION_SAFE_VALUE):
++ Define to speculation_safe_value_not_needed.
++
++ 2018-08-03 Sandra Loosemore <sandra@codesourcery.com>
++ PR target/86799
++ * config/nios2/nios2.c (TARGET_HAVE_SPECULATION_SAFE_VALUE):
++ Define.
++
++ 2018-08-03 Jeff Law <law@redhat.com>
++ PR target/86795
++ * config/mn10300/mn10300.c (TARGET_HAVE_SPECULATION_SAFE_VALUE):
++ Define to speculation_safe_value_not_needed.
++
++ 2018-08-02 Jeff Law <law@redhat.com>
++ PR target/86790
++ * config/m68k/m68k.c (TARGET_HAVE_SPECULATION_SAFE_VALUE):
++ Define to speculation_safe_value_not_needed.
++
++ PR target/86784
++ * config/h8300/h8300.c (TARGET_HAVE_SPECULATION_SAFE_VALUE):
++ Define to speculation_safe_value_not_needed.
++
++ 2018-08-02 Nick Clifton <nickc@redhat.com>
++ PR target/86813
++ * config/stormy16/stormy16.c (TARGET_HAVE_SPECULATION_SAFE_VALUE):
++ Define to speculation_safe_value_not_needed.
++
++ PR target/86810
++ * config/v850/v850.c (TARGET_HAVE_SPECULATION_SAFE_VALUE):
++ Define to speculation_safe_value_not_needed.
++
++ PR target/86810
++ * config/v850/v850.c (TARGET_HAVE_SPECULATION_SAFE_VALUE):
++ Define to speculation_safe_value_not_needed.
++
++ PR target/86803
++ * config/rx/rx.c (TARGET_HAVE_SPECULATION_SAFE_VALUE):
++ Define to speculation_safe_value_not_needed.
++
++ PR target/86797
++ * config/msp430/msp430.c (TARGET_HAVE_SPECULATION_SAFE_VALUE):
++ Define to speculation_safe_value_not_needed.
++
++ PR target/86791
++ * config/mcore/mcore.c (TARGET_HAVE_SPECULATION_SAFE_VALUE):
++ Define to speculation_safe_value_not_needed.
++
++ PR target/86789
++ * config/m32r/m32r.c (TARGET_HAVE_SPECULATION_SAFE_VALUE):
++ Define to speculation_safe_value_not_needed.
++
++ PR target/86787
++ * config/iq2000/iq2000.c (TARGET_HAVE_SPECULATION_SAFE_VALUE):
++ Define to speculation_safe_value_not_needed.
++
++ PR target/86782
++ * config/frv/frv.c (TARGET_HAVE_SPECULATION_SAFE_VALUE): Define to
++ speculation_safe_value_not_needed.
++
++ PR target/86781
++ * config/fr30/fr30.c (TARGET_HAVE_SPECULATION_SAFE_VALUE): Define
++ to speculation_safe_value_not_needed.
++
++ 2018-08-01 Tom de Vries <tdevries@suse.de>
++ PR target/86800
++ * config/nvptx/nvptx.c (TARGET_HAVE_SPECULATION_SAFE_VALUE): Define to
++ speculation_safe_value_not_needed.
++
++ 2018-08-01 Richard Earnshaw <rearnsha@arm.com>
++ * config/rs6000/rs6000.md (speculation_barrier): Renamed from
++ rs6000_speculation_barrier.
++ * config/rs6000/rs6000.c (rs6000_expand_builtin): Adjust for
++ new barrier pattern name.
++
++ 2018-08-01 Richard Earnshaw <rearnsha@arm.com>
++
++ * config/i386/i386.md (unspecv): Add UNSPECV_SPECULATION_BARRIER.
++ (speculation_barrier): New insn.
++
++ 2018-07-31 Ian Lance Taylor <iant@golang.org>
++ * targhooks.c (default_have_speculation_safe_value): Add
++ ATTRIBUTE_UNUSED.
++
++ 2018-07-31 Richard Earnshaw <rearnsha@arm.com>
++ * config/pdp11/pdp11.c (TARGET_HAVE_SPECULATION_SAFE_VALUE): Redefine
++ to speculation_safe_value_not_needed.
++
++ 2018-07-31 Richard Earnshaw <rearnsha@arm.com>
++ * targhooks.h (speculation_safe_value_not_needed): New prototype.
++ * targhooks.c (speculation_safe_value_not_needed): New function.
++ * target.def (have_speculation_safe_value): Update documentation.
++ * doc/tm.texi: Regenerated.
++
++ 2018-07-31 Richard Earnshaw <rearnsha@arm.com>
++
++ * config/aarch64/iterators.md (ALLI_TI): New iterator.
++ * config/aarch64/aarch64.md (despeculate_copy<ALLI_TI:mode>): New
++ expand.
++ (despeculate_copy<ALLI:mode>_insn): New insn.
++ (despeculate_copyti_insn): New insn.
++ (despeculate_simple<ALLI:mode>): New insn
++ (despeculate_simpleti): New insn.
++ * config/aarch64/aarch64.c (aarch64_speculation_safe_value): New
++ function.
++ (TARGET_SPECULATION_SAFE_VALUE): Redefine to
++ aarch64_speculation_safe_value.
++ (aarch64_print_operand): Handle const0_rtx in modifier 'H'.
++
++ 2018-07-31 Richard Earnshaw <rearnsha@arm.com>
++
++ * config/aarch64/aarch64-speculation.cc: New file.
++ * config/aarch64/aarch64-passes.def (pass_track_speculation): Add
++ before pass_reorder_blocks.
++ * config/aarch64/aarch64-protos.h (make_pass_track_speculation): Add
++ prototype.
++ * config/aarch64/aarch64.c (aarch64_conditional_register_usage): Fix
++ X14 and X15 when tracking speculation.
++ * config/aarch64/aarch64.md (register name constants): Add
++ SPECULATION_TRACKER_REGNUM and SPECULATION_SCRATCH_REGNUM.
++ (unspec): Add UNSPEC_SPECULATION_TRACKER.
++ (speculation_barrier): New insn attribute.
++ (cmp<mode>): Allow SP in comparisons.
++ (speculation_tracker): New insn.
++ (speculation_barrier): Add speculation_barrier attribute.
++ * config/aarch64/t-aarch64: Add make rule for aarch64-speculation.o.
++ * config.gcc (aarch64*-*-*): Add aarch64-speculation.o to extra_objs.
++ * doc/invoke.texi (AArch64 Options): Document -mtrack-speculation.
++
++ 2018-07-31 Richard Earnshaw <rearnsha@arm.com>
++ * config/aarch64/aarch64.md (cb<optab><mode>1): Disable when
++ aarch64_track_speculation is true.
++ (tb<optab><mode>1): Likewise.
++ * config/aarch64/aarch64.c (aarch64_split_compare_regs): Do not
++ generate CB[N]Z when tracking speculation.
++ (aarch64_split_compare_and_swap): Likewise.
++ (aarch64_split_atomic_op): Likewise.
++
++ 2018-07-31 Richard Earnshaw <rearnsha@arm.com>
++ * config/aarch64/aarch64.opt (mtrack-speculation): New target option.
++
++ 2018-07-31 Richard Earnshaw <rearnsha@arm.com>
++ * config/aarch64.md (unspecv): Add UNSPECV_SPECULAION_BARRIER.
++ (speculation_barrier): New insn.
++
++ 2018-07-31 Richard Earnshaw <rearnsha@arm.com>
++ * config/arm/unspecs.md (unspecv): Add VUNSPEC_SPECULATION_BARRIER.
++ * config/arm/arm.md (speculation_barrier): New expand.
++ (speculation_barrier_insn): New pattern.
++
++ 2018-07-31 Richard Earnshaw <rearnsha@arm.com>
++ * builtin-types.def (BT_FN_PTR_PTR_VAR): New function type.
++ (BT_FN_I1_I1_VAR, BT_FN_I2_I2_VAR, BT_FN_I4_I4_VAR): Likewise.
++ (BT_FN_I8_I8_VAR, BT_FN_I16_I16_VAR): Likewise.
++ * builtin-attrs.def (ATTR_NOVOPS_NOTHROW_LEAF_LIST): New attribute
++ list.
++ * builtins.def (BUILT_IN_SPECULATION_SAFE_VALUE_N): New builtin.
++ (BUILT_IN_SPECULATION_SAFE_VALUE_PTR): New internal builtin.
++ (BUILT_IN_SPECULATION_SAFE_VALUE_1): Likewise.
++ (BUILT_IN_SPECULATION_SAFE_VALUE_2): Likewise.
++ (BUILT_IN_SPECULATION_SAFE_VALUE_4): Likewise.
++ (BUILT_IN_SPECULATION_SAFE_VALUE_8): Likewise.
++ (BUILT_IN_SPECULATION_SAFE_VALUE_16): Likewise.
++ * builtins.c (expand_speculation_safe_value): New function.
++ (expand_builtin): Call it.
++ * doc/cpp.texi: Document predefine __HAVE_SPECULATION_SAFE_VALUE.
++ * doc/extend.texi: Document __builtin_speculation_safe_value.
++ * doc/md.texi: Document "speculation_barrier" pattern.
++ * doc/tm.texi.in: Pull in TARGET_SPECULATION_SAFE_VALUE and
++ TARGET_HAVE_SPECULATION_SAFE_VALUE.
++ * doc/tm.texi: Regenerated.
++ * target.def (have_speculation_safe_value, speculation_safe_value): New
++ hooks.
++ * targhooks.c (default_have_speculation_safe_value): New function.
++ (default_speculation_safe_value): New function.
++ * targhooks.h (default_have_speculation_safe_value): Add prototype.
++ (default_speculation_safe_value): Add prototype.
++
++2018-08-14 Yvan Roux <yvan.roux@linaro.org>
++
++ * LINARO-VERSION: New file.
++ * configure.ac: Add Linaro version string.
++ * configure: Regenerate.
++ * Makefile.in (LINAROVER, LINAROVER_C, LINAROVER_S): Define.
++ (CFLAGS-cppbuiltin.o): Add LINAROVER macro definition.
++ (cppbuiltin.o): Depend on $(LINAROVER).
++ * cppbuiltin.c (parse_linarover): New.
++ (define_GNUC__): Define __LINARO_RELEASE__ and __LINARO_SPIN__ macros.
++\f
++Copyright (C) 2018 Free Software Foundation, Inc.
++
++Copying and distribution of this file, with or without modification,
++are permitted in any medium without royalty provided the copyright
++notice and this notice are preserved.
+Index: gcc/config.gcc
+===================================================================
+--- a/src/gcc/config.gcc (.../gcc-8-branch)
++++ b/src/gcc/config.gcc (.../ARM/arm-8-branch)
+@@ -304,7 +304,7 @@
+ extra_headers="arm_fp16.h arm_neon.h arm_acle.h"
+ c_target_objs="aarch64-c.o"
+ cxx_target_objs="aarch64-c.o"
+- extra_objs="aarch64-builtins.o aarch-common.o cortex-a57-fma-steering.o"
++ extra_objs="aarch64-builtins.o aarch-common.o cortex-a57-fma-steering.o aarch64-speculation.o"
+ target_gtfiles="\$(srcdir)/config/aarch64/aarch64-builtins.c"
+ target_has_targetm_common=yes
+ ;;
+Index: gcc/Makefile.in
+===================================================================
+--- a/src/gcc/Makefile.in (.../gcc-8-branch)
++++ b/src/gcc/Makefile.in (.../ARM/arm-8-branch)
+@@ -854,10 +854,12 @@
+ DEVPHASE := $(srcdir)/DEV-PHASE # experimental, prerelease, ""
+ DATESTAMP := $(srcdir)/DATESTAMP # YYYYMMDD or empty
+ REVISION := $(srcdir)/REVISION # [BRANCH revision XXXXXX]
++LINAROVER := $(srcdir)/LINARO-VERSION # M.x-YYYY.MM[-S][~dev]
+
+ BASEVER_c := $(shell cat $(BASEVER))
+ DEVPHASE_c := $(shell cat $(DEVPHASE))
+ DATESTAMP_c := $(shell cat $(DATESTAMP))
++LINAROVER_c := $(shell cat $(LINAROVER))
+
+ ifeq (,$(wildcard $(REVISION)))
+ REVISION_c :=
+@@ -884,6 +886,7 @@
+ "\"$(if $(DEVPHASE_c)$(filter-out 0,$(PATCHLEVEL_c)), $(DATESTAMP_c))\""
+ PKGVERSION_s:= "\"@PKGVERSION@\""
+ BUGURL_s := "\"@REPORT_BUGS_TO@\""
++LINAROVER_s := "\"$(LINAROVER_c)\""
+
+ PKGVERSION := @PKGVERSION@
+ BUGURL_TEXI := @REPORT_BUGS_TEXI@
+@@ -2883,8 +2886,9 @@
+ -DSTANDARD_EXEC_PREFIX=\"$(libdir)/gcc/\" \
+ @TARGET_SYSTEM_ROOT_DEFINE@
+
+-CFLAGS-cppbuiltin.o += $(PREPROCESSOR_DEFINES) -DBASEVER=$(BASEVER_s)
+-cppbuiltin.o: $(BASEVER)
++CFLAGS-cppbuiltin.o += $(PREPROCESSOR_DEFINES) -DBASEVER=$(BASEVER_s) \
++ -DLINAROVER=$(LINAROVER_s)
++cppbuiltin.o: $(BASEVER) $(LINAROVER)
+
+ CFLAGS-cppdefault.o += $(PREPROCESSOR_DEFINES)
+
+Index: gcc/config/nvptx/nvptx.c
+===================================================================
+--- a/src/gcc/config/nvptx/nvptx.c (.../gcc-8-branch)
++++ b/src/gcc/config/nvptx/nvptx.c (.../ARM/arm-8-branch)
+@@ -5864,6 +5864,9 @@
+ #undef TARGET_CAN_CHANGE_MODE_CLASS
+ #define TARGET_CAN_CHANGE_MODE_CLASS nvptx_can_change_mode_class
+
++#undef TARGET_HAVE_SPECULATION_SAFE_VALUE
++#define TARGET_HAVE_SPECULATION_SAFE_VALUE speculation_safe_value_not_needed
++
+ struct gcc_target targetm = TARGET_INITIALIZER;
+
+ #include "gt-nvptx.h"
+Index: gcc/config/frv/frv.c
+===================================================================
+--- a/src/gcc/config/frv/frv.c (.../gcc-8-branch)
++++ b/src/gcc/config/frv/frv.c (.../ARM/arm-8-branch)
+@@ -528,6 +528,9 @@
+ #undef TARGET_CONSTANT_ALIGNMENT
+ #define TARGET_CONSTANT_ALIGNMENT constant_alignment_word_strings
+
++#undef TARGET_HAVE_SPECULATION_SAFE_VALUE
++#define TARGET_HAVE_SPECULATION_SAFE_VALUE speculation_safe_value_not_needed
++
+ struct gcc_target targetm = TARGET_INITIALIZER;
+
+ #define FRV_SYMBOL_REF_TLS_P(RTX) \
+Index: gcc/config/spu/spu.c
+===================================================================
+--- a/src/gcc/config/spu/spu.c (.../gcc-8-branch)
++++ b/src/gcc/config/spu/spu.c (.../ARM/arm-8-branch)
+@@ -7458,6 +7458,9 @@
+ #undef TARGET_CONSTANT_ALIGNMENT
+ #define TARGET_CONSTANT_ALIGNMENT spu_constant_alignment
+
++#undef TARGET_HAVE_SPECULATION_SAFE_VALUE
++#define TARGET_HAVE_SPECULATION_SAFE_VALUE speculation_safe_value_not_needed
++
+ struct gcc_target targetm = TARGET_INITIALIZER;
+
+ #include "gt-spu.h"
+Index: gcc/config/m32r/m32r.c
+===================================================================
+--- a/src/gcc/config/m32r/m32r.c (.../gcc-8-branch)
++++ b/src/gcc/config/m32r/m32r.c (.../ARM/arm-8-branch)
+@@ -226,6 +226,9 @@
+ #undef TARGET_STARTING_FRAME_OFFSET
+ #define TARGET_STARTING_FRAME_OFFSET m32r_starting_frame_offset
+
++#undef TARGET_HAVE_SPECULATION_SAFE_VALUE
++#define TARGET_HAVE_SPECULATION_SAFE_VALUE speculation_safe_value_not_needed
++
+ struct gcc_target targetm = TARGET_INITIALIZER;
+ \f
+ /* Called by m32r_option_override to initialize various things. */
+Index: gcc/config/rx/rx.c
+===================================================================
+--- a/src/gcc/config/rx/rx.c (.../gcc-8-branch)
++++ b/src/gcc/config/rx/rx.c (.../ARM/arm-8-branch)
+@@ -3785,6 +3785,9 @@
+ #undef TARGET_RTX_COSTS
+ #define TARGET_RTX_COSTS rx_rtx_costs
+
++#undef TARGET_HAVE_SPECULATION_SAFE_VALUE
++#define TARGET_HAVE_SPECULATION_SAFE_VALUE speculation_safe_value_not_needed
++
+ struct gcc_target targetm = TARGET_INITIALIZER;
+
+ #include "gt-rx.h"
+Index: gcc/config/i386/i386.md
+===================================================================
+--- a/src/gcc/config/i386/i386.md (.../gcc-8-branch)
++++ b/src/gcc/config/i386/i386.md (.../ARM/arm-8-branch)
+@@ -291,6 +291,9 @@
+ UNSPECV_CLRSSBSY
+ UNSPECV_MOVDIRI
+ UNSPECV_MOVDIR64B
++
++ ;; For Speculation Barrier support
++ UNSPECV_SPECULATION_BARRIER
+ ])
+
+ ;; Constants to represent rounding modes in the ROUND instruction
+@@ -20777,6 +20780,13 @@
+ "movdir64b\t{%1, %0|%0, %1}"
+ [(set_attr "type" "other")])
+
++(define_insn "speculation_barrier"
++ [(unspec_volatile [(const_int 0)] UNSPECV_SPECULATION_BARRIER)]
++ ""
++ "lfence"
++ [(set_attr "type" "other")
++ (set_attr "length" "3")])
++
+ (include "mmx.md")
+ (include "sse.md")
+ (include "sync.md")
+Index: gcc/config/pdp11/pdp11.c
+===================================================================
+--- a/src/gcc/config/pdp11/pdp11.c (.../gcc-8-branch)
++++ b/src/gcc/config/pdp11/pdp11.c (.../ARM/arm-8-branch)
+@@ -251,6 +251,9 @@
+
+ #undef TARGET_CAN_CHANGE_MODE_CLASS
+ #define TARGET_CAN_CHANGE_MODE_CLASS pdp11_can_change_mode_class
++
++#undef TARGET_HAVE_SPECULATION_SAFE_VALUE
++#define TARGET_HAVE_SPECULATION_SAFE_VALUE speculation_safe_value_not_needed
+ \f
+ /* A helper function to determine if REGNO should be saved in the
+ current function's stack frame. */
+Index: gcc/config/stormy16/stormy16.c
+===================================================================
+--- a/src/gcc/config/stormy16/stormy16.c (.../gcc-8-branch)
++++ b/src/gcc/config/stormy16/stormy16.c (.../ARM/arm-8-branch)
+@@ -2728,6 +2728,9 @@
+ #undef TARGET_CONSTANT_ALIGNMENT
+ #define TARGET_CONSTANT_ALIGNMENT constant_alignment_word_strings
+
++#undef TARGET_HAVE_SPECULATION_SAFE_VALUE
++#define TARGET_HAVE_SPECULATION_SAFE_VALUE speculation_safe_value_not_needed
++
+ struct gcc_target targetm = TARGET_INITIALIZER;
+
+ #include "gt-stormy16.h"
+Index: gcc/config/fr30/fr30.c
+===================================================================
+--- a/src/gcc/config/fr30/fr30.c (.../gcc-8-branch)
++++ b/src/gcc/config/fr30/fr30.c (.../ARM/arm-8-branch)
+@@ -195,6 +195,9 @@
+ #undef TARGET_CONSTANT_ALIGNMENT
+ #define TARGET_CONSTANT_ALIGNMENT constant_alignment_word_strings
+
++#undef TARGET_HAVE_SPECULATION_SAFE_VALUE
++#define TARGET_HAVE_SPECULATION_SAFE_VALUE speculation_safe_value_not_needed
++
+ struct gcc_target targetm = TARGET_INITIALIZER;
+ \f
+
+Index: gcc/config/nios2/nios2.c
+===================================================================
+--- a/src/gcc/config/nios2/nios2.c (.../gcc-8-branch)
++++ b/src/gcc/config/nios2/nios2.c (.../ARM/arm-8-branch)
+@@ -5572,6 +5572,9 @@
+ #undef TARGET_CONSTANT_ALIGNMENT
+ #define TARGET_CONSTANT_ALIGNMENT constant_alignment_word_strings
+
++#undef TARGET_HAVE_SPECULATION_SAFE_VALUE
++#define TARGET_HAVE_SPECULATION_SAFE_VALUE speculation_safe_value_not_needed
++
+ struct gcc_target targetm = TARGET_INITIALIZER;
+
+ #include "gt-nios2.h"
+Index: gcc/config/iq2000/iq2000.c
+===================================================================
+--- a/src/gcc/config/iq2000/iq2000.c (.../gcc-8-branch)
++++ b/src/gcc/config/iq2000/iq2000.c (.../ARM/arm-8-branch)
+@@ -274,6 +274,9 @@
+ #undef TARGET_STARTING_FRAME_OFFSET
+ #define TARGET_STARTING_FRAME_OFFSET iq2000_starting_frame_offset
+
++#undef TARGET_HAVE_SPECULATION_SAFE_VALUE
++#define TARGET_HAVE_SPECULATION_SAFE_VALUE speculation_safe_value_not_needed
++
+ struct gcc_target targetm = TARGET_INITIALIZER;
+ \f
+ /* Return nonzero if we split the address into high and low parts. */
+Index: gcc/config/mn10300/mn10300.c
+===================================================================
+--- a/src/gcc/config/mn10300/mn10300.c (.../gcc-8-branch)
++++ b/src/gcc/config/mn10300/mn10300.c (.../ARM/arm-8-branch)
+@@ -3437,4 +3437,7 @@
+ #undef TARGET_MODES_TIEABLE_P
+ #define TARGET_MODES_TIEABLE_P mn10300_modes_tieable_p
+
++#undef TARGET_HAVE_SPECULATION_SAFE_VALUE
++#define TARGET_HAVE_SPECULATION_SAFE_VALUE speculation_safe_value_not_needed
++
+ struct gcc_target targetm = TARGET_INITIALIZER;
+Index: gcc/config/m68k/m68k.c
+===================================================================
+--- a/src/gcc/config/m68k/m68k.c (.../gcc-8-branch)
++++ b/src/gcc/config/m68k/m68k.c (.../ARM/arm-8-branch)
+@@ -352,6 +352,9 @@
+ #undef TARGET_PROMOTE_FUNCTION_MODE
+ #define TARGET_PROMOTE_FUNCTION_MODE m68k_promote_function_mode
+
++#undef TARGET_HAVE_SPECULATION_SAFE_VALUE
++#define TARGET_HAVE_SPECULATION_SAFE_VALUE speculation_safe_value_not_needed
++
+ static const struct attribute_spec m68k_attribute_table[] =
+ {
+ /* { name, min_len, max_len, decl_req, type_req, fn_type_req,
+Index: gcc/config/aarch64/aarch64-passes.def
+===================================================================
+--- a/src/gcc/config/aarch64/aarch64-passes.def (.../gcc-8-branch)
++++ b/src/gcc/config/aarch64/aarch64-passes.def (.../ARM/arm-8-branch)
+@@ -19,3 +19,4 @@
+ <http://www.gnu.org/licenses/>. */
+
+ INSERT_PASS_AFTER (pass_regrename, 1, pass_fma_steering);
++INSERT_PASS_BEFORE (pass_reorder_blocks, 1, pass_track_speculation);
+Index: gcc/config/aarch64/aarch64-speculation.cc
+===================================================================
+--- a/src/gcc/config/aarch64/aarch64-speculation.cc (.../gcc-8-branch)
++++ b/src/gcc/config/aarch64/aarch64-speculation.cc (.../ARM/arm-8-branch)
+@@ -0,0 +1,494 @@
++/* Speculation tracking and mitigation (e.g. CVE 2017-5753) for AArch64.
++ Copyright (C) 2018 Free Software Foundation, Inc.
++ Contributed by ARM Ltd.
++
++ This file is part of GCC.
++
++ GCC is free software; you can redistribute it and/or modify it
++ under the terms of the GNU General Public License as published by
++ the Free Software Foundation; either version 3, or (at your option)
++ any later version.
++
++ GCC is distributed in the hope that it will be useful, but
++ WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ General Public License for more details.
++
++ You should have received a copy of the GNU General Public License
++ along with GCC; see the file COPYING3. If not see
++ <http://www.gnu.org/licenses/>. */
++
++#include "config.h"
++#include "system.h"
++#include "coretypes.h"
++#include "target.h"
++#include "rtl.h"
++#include "tree-pass.h"
++#include "profile-count.h"
++#include "cfg.h"
++#include "cfgbuild.h"
++#include "print-rtl.h"
++#include "cfgrtl.h"
++#include "function.h"
++#include "basic-block.h"
++#include "memmodel.h"
++#include "emit-rtl.h"
++#include "insn-attr.h"
++#include "df.h"
++#include "tm_p.h"
++#include "insn-config.h"
++#include "recog.h"
++
++/* This pass scans the RTL just before the final branch
++ re-organisation pass. The aim is to identify all places where
++ there is conditional control flow and to insert code that tracks
++ any speculative execution of a conditional branch.
++
++ To do this we reserve a call-clobbered register (so that it can be
++ initialized very early in the function prologue) that can then be
++ updated each time there is a conditional branch. At each such
++ branch we then generate a code sequence that uses conditional
++ select operations that are not subject to speculation themselves
++ (we ignore for the moment situations where that might not always be
++ strictly true). For example, a branch sequence such as:
++
++ B.EQ <dst>
++ ...
++ <dst>:
++
++ is transformed to:
++
++ B.EQ <dst>
++ CSEL tracker, tracker, XZr, ne
++ ...
++ <dst>:
++ CSEL tracker, tracker, XZr, eq
++
++ Since we start with the tracker initialized to all bits one, if at any
++ time the predicted control flow diverges from the architectural program
++ behavior, then the tracker will become zero (but not otherwise).
++
++ The tracker value can be used at any time at which a value needs
++ guarding against incorrect speculation. This can be done in
++ several ways, but they all amount to the same thing. For an
++ untrusted address, or an untrusted offset to a trusted address, we
++ can simply mask the address with the tracker with the untrusted
++ value. If the CPU is not speculating, or speculating correctly,
++ then the value will remain unchanged, otherwise it will be clamped
++ to zero. For more complex scenarios we can compare the tracker
++ against zero and use the flags to form a new selection with an
++ alternate safe value.
++
++ On implementations where the data processing instructions may
++ themselves produce speculative values, the architecture requires
++ that a CSDB instruction will resolve such data speculation, so each
++ time we use the tracker for protecting a vulnerable value we also
++ emit a CSDB: we do not need to do that each time the tracker itself
++ is updated.
++
++ At function boundaries, we need to communicate the speculation
++ tracking state with the caller or the callee. This is tricky
++ because there is no register available for such a purpose without
++ creating a new ABI. We deal with this by relying on the principle
++ that in all real programs the stack pointer, SP will never be NULL
++ at a function boundary; we can thus encode the speculation state in
++ SP by clearing SP if the speculation tracker itself is NULL. After
++ the call we recover the tracking state back from SP into the
++ tracker register. The results is that a function call sequence is
++ transformed to
++
++ MOV tmp, SP
++ AND tmp, tmp, tracker
++ MOV SP, tmp
++ BL <callee>
++ CMP SP, #0
++ CSETM tracker, ne
++
++ The additional MOV instructions in the pre-call sequence are needed
++ because SP cannot be used directly with the AND instruction.
++
++ The code inside a function body uses the post-call sequence in the
++ prologue to establish the tracker and the pre-call sequence in the
++ epilogue to re-encode the state for the return.
++
++ The code sequences have the nice property that if called from, or
++ calling a function that does not track speculation then the stack pointer
++ will always be non-NULL and hence the tracker will be initialized to all
++ bits one as we need: we lose the ability to fully track speculation in that
++ case, but we are still architecturally safe.
++
++ Tracking speculation in this way is quite expensive, both in code
++ size and execution time. We employ a number of tricks to try to
++ limit this:
++
++ 1) Simple leaf functions with no conditional branches (or use of
++ the tracker) do not need to establish a new tracker: they simply
++ carry the tracking state through SP for the duration of the call.
++ The same is also true for leaf functions that end in a tail-call.
++
++ 2) Back-to-back function calls in a single basic block also do not
++ need to re-establish the tracker between the calls. Again, we can
++ carry the tracking state in SP for this period of time unless the
++ tracker value is needed at that point in time.
++
++ We run the pass just before the final branch reorganization pass so
++ that we can handle most of the conditional branch cases using the
++ standard edge insertion code. The reorg pass will hopefully clean
++ things up for afterwards so that the results aren't too
++ horrible. */
++
++/* Generate a code sequence to clobber SP if speculating incorreclty. */
++static rtx_insn *
++aarch64_speculation_clobber_sp ()
++{
++ rtx sp = gen_rtx_REG (DImode, SP_REGNUM);
++ rtx tracker = gen_rtx_REG (DImode, SPECULATION_TRACKER_REGNUM);
++ rtx scratch = gen_rtx_REG (DImode, SPECULATION_SCRATCH_REGNUM);
++
++ start_sequence ();
++ emit_insn (gen_rtx_SET (scratch, sp));
++ emit_insn (gen_anddi3 (scratch, scratch, tracker));
++ emit_insn (gen_rtx_SET (sp, scratch));
++ rtx_insn *seq = get_insns ();
++ end_sequence ();
++ return seq;
++}
++
++/* Generate a code sequence to establish the tracker variable from the
++ contents of SP. */
++static rtx_insn *
++aarch64_speculation_establish_tracker ()
++{
++ rtx sp = gen_rtx_REG (DImode, SP_REGNUM);
++ rtx tracker = gen_rtx_REG (DImode, SPECULATION_TRACKER_REGNUM);
++ start_sequence ();
++ rtx cc = aarch64_gen_compare_reg (EQ, sp, const0_rtx);
++ emit_insn (gen_cstoredi_neg (tracker,
++ gen_rtx_NE (CCmode, cc, const0_rtx), cc));
++ rtx_insn *seq = get_insns ();
++ end_sequence ();
++ return seq;
++}
++
++/* Main speculation tracking pass. */
++unsigned int
++aarch64_do_track_speculation ()
++{
++ basic_block bb;
++ bool needs_tracking = false;
++ bool need_second_pass = false;
++ rtx_insn *insn;
++ int fixups_pending = 0;
++
++ FOR_EACH_BB_FN (bb, cfun)
++ {
++ insn = BB_END (bb);
++
++ if (dump_file)
++ fprintf (dump_file, "Basic block %d:\n", bb->index);
++
++ while (insn != BB_HEAD (bb)
++ && NOTE_P (insn))
++ insn = PREV_INSN (insn);
++
++ if (control_flow_insn_p (insn))
++ {
++ if (any_condjump_p (insn))
++ {
++ if (dump_file)
++ {
++ fprintf (dump_file, " condjump\n");
++ dump_insn_slim (dump_file, insn);
++ }
++
++ rtx src = SET_SRC (pc_set (insn));
++
++ /* Check for an inverted jump, where the fall-through edge
++ appears first. */
++ bool inverted = GET_CODE (XEXP (src, 2)) != PC;
++ /* The other edge must be the PC (we assume that we don't
++ have conditional return instructions). */
++ gcc_assert (GET_CODE (XEXP (src, 1 + !inverted)) == PC);
++
++ rtx cond = copy_rtx (XEXP (src, 0));
++ gcc_assert (COMPARISON_P (cond)
++ && REG_P (XEXP (cond, 0))
++ && REGNO (XEXP (cond, 0)) == CC_REGNUM
++ && XEXP (cond, 1) == const0_rtx);
++ enum rtx_code inv_cond_code
++ = reversed_comparison_code (cond, insn);
++ /* We should be able to reverse all conditions. */
++ gcc_assert (inv_cond_code != UNKNOWN);
++ rtx inv_cond = gen_rtx_fmt_ee (inv_cond_code, GET_MODE (cond),
++ copy_rtx (XEXP (cond, 0)),
++ copy_rtx (XEXP (cond, 1)));
++ if (inverted)
++ std::swap (cond, inv_cond);
++
++ insert_insn_on_edge (gen_speculation_tracker (cond),
++ BRANCH_EDGE (bb));
++ insert_insn_on_edge (gen_speculation_tracker (inv_cond),
++ FALLTHRU_EDGE (bb));
++ needs_tracking = true;
++ }
++ else if (GET_CODE (PATTERN (insn)) == RETURN)
++ {
++ /* If we already know we'll need a second pass, don't put
++ out the return sequence now, or we might end up with
++ two copies. Instead, we'll do all return statements
++ during the second pass. However, if this is the
++ first return insn we've found and we already
++ know that we'll need to emit the code, we can save a
++ second pass by emitting the code now. */
++ if (needs_tracking && ! need_second_pass)
++ {
++ rtx_insn *seq = aarch64_speculation_clobber_sp ();
++ emit_insn_before (seq, insn);
++ }
++ else
++ {
++ fixups_pending++;
++ need_second_pass = true;
++ }
++ }
++ else if (find_reg_note (insn, REG_NON_LOCAL_GOTO, NULL_RTX))
++ {
++ rtx_insn *seq = aarch64_speculation_clobber_sp ();
++ emit_insn_before (seq, insn);
++ needs_tracking = true;
++ }
++ }
++ else
++ {
++ if (dump_file)
++ {
++ fprintf (dump_file, " other\n");
++ dump_insn_slim (dump_file, insn);
++ }
++ }
++ }
++
++ FOR_EACH_BB_FN (bb, cfun)
++ {
++ rtx_insn *end = BB_END (bb);
++ rtx_insn *call_insn = NULL;
++
++ if (bb->flags & BB_NON_LOCAL_GOTO_TARGET)
++ {
++ rtx_insn *label = NULL;
++ /* For non-local goto targets we have to recover the
++ speculation state from SP. Find the last code label at
++ the head of the block and place the fixup sequence after
++ that. */
++ for (insn = BB_HEAD (bb); insn != end; insn = NEXT_INSN (insn))
++ {
++ if (LABEL_P (insn))
++ label = insn;
++ /* Never put anything before the basic block note. */
++ if (NOTE_INSN_BASIC_BLOCK_P (insn))
++ label = insn;
++ if (INSN_P (insn))
++ break;
++ }
++
++ gcc_assert (label);
++ emit_insn_after (aarch64_speculation_establish_tracker (), label);
++ }
++
++ /* Scan the insns looking for calls. We need to pass the
++ speculation tracking state encoded in to SP. After a call we
++ restore the speculation tracking into the tracker register.
++ To avoid unnecessary transfers we look for two or more calls
++ within a single basic block and eliminate, where possible,
++ any redundant operations. */
++ for (insn = BB_HEAD (bb); ; insn = NEXT_INSN (insn))
++ {
++ if (NONDEBUG_INSN_P (insn)
++ && recog_memoized (insn) >= 0
++ && (get_attr_speculation_barrier (insn)
++ == SPECULATION_BARRIER_TRUE))
++ {
++ if (call_insn)
++ {
++ /* This instruction requires the speculation
++ tracking to be in the tracker register. If there
++ was an earlier call in this block, we need to
++ copy the speculation tracking back there. */
++ emit_insn_after (aarch64_speculation_establish_tracker (),
++ call_insn);
++ call_insn = NULL;
++ }
++
++ needs_tracking = true;
++ }
++
++ if (CALL_P (insn))
++ {
++ bool tailcall
++ = (SIBLING_CALL_P (insn)
++ || find_reg_note (insn, REG_NORETURN, NULL_RTX));
++
++ /* Tailcalls are like returns, we can eliminate the
++ transfer between the tracker register and SP if we
++ know that this function does not itself need
++ tracking. */
++ if (tailcall && (need_second_pass || !needs_tracking))
++ {
++ /* Don't clear call_insn if it is set - needs_tracking
++ will be true in that case and so we will end
++ up putting out mitigation sequences. */
++ fixups_pending++;
++ need_second_pass = true;
++ break;
++ }
++
++ needs_tracking = true;
++
++ /* We always need a transfer before the first call in a BB. */
++ if (!call_insn)
++ emit_insn_before (aarch64_speculation_clobber_sp (), insn);
++
++ /* Tail-calls and no-return calls don't need any post-call
++ reestablishment of the tracker. */
++ if (! tailcall)
++ call_insn = insn;
++ else
++ call_insn = NULL;
++ }
++
++ if (insn == end)
++ break;
++ }
++
++ if (call_insn)
++ {
++ rtx_insn *seq = aarch64_speculation_establish_tracker ();
++
++ /* Handle debug insns at the end of the BB. Put the extra
++ insns after them. This ensures that we have consistent
++ behaviour for the placement of the extra insns between
++ debug and non-debug builds. */
++ for (insn = call_insn;
++ insn != end && DEBUG_INSN_P (NEXT_INSN (insn));
++ insn = NEXT_INSN (insn))
++ ;
++
++ if (insn == end)
++ {
++ edge e = find_fallthru_edge (bb->succs);
++ /* We need to be very careful about some calls that
++ appear at the end of a basic block. If the call
++ involves exceptions, then the compiler may depend on
++ this being the last instruction in the block. The
++ easiest way to handle this is to commit the new
++ instructions on the fall-through edge and to let
++ commit_edge_insertions clean things up for us.
++
++ Sometimes, eg with OMP, there may not even be an
++ outgoing edge after the call. In that case, there's
++ not much we can do, presumably the compiler has
++ decided that the call can never return in this
++ context. */
++ if (e)
++ {
++ /* We need to set the location lists explicitly in
++ this case. */
++ if (! INSN_P (seq))
++ {
++ start_sequence ();
++ emit_insn (seq);
++ seq = get_insns ();
++ end_sequence ();
++ }
++
++ for (rtx_insn *list = seq; list; list = NEXT_INSN (list))
++ INSN_LOCATION (list) = INSN_LOCATION (call_insn);
++
++ insert_insn_on_edge (seq, e);
++ }
++ }
++ else
++ emit_insn_after (seq, call_insn);
++ }
++ }
++
++ if (needs_tracking)
++ {
++ if (need_second_pass)
++ {
++ /* We found a return instruction before we found out whether
++ or not we need to emit the tracking code, but we now
++ know we do. Run quickly over the basic blocks and
++ fix up the return insns. */
++ FOR_EACH_BB_FN (bb, cfun)
++ {
++ insn = BB_END (bb);
++
++ while (insn != BB_HEAD (bb)
++ && NOTE_P (insn))
++ insn = PREV_INSN (insn);
++
++ if ((control_flow_insn_p (insn)
++ && GET_CODE (PATTERN (insn)) == RETURN)
++ || (CALL_P (insn)
++ && (SIBLING_CALL_P (insn)
++ || find_reg_note (insn, REG_NORETURN, NULL_RTX))))
++ {
++ rtx_insn *seq = aarch64_speculation_clobber_sp ();
++ emit_insn_before (seq, insn);
++ fixups_pending--;
++ }
++ }
++ gcc_assert (fixups_pending == 0);
++ }
++
++ /* Set up the initial value of the tracker, using the incoming SP. */
++ insert_insn_on_edge (aarch64_speculation_establish_tracker (),
++ single_succ_edge (ENTRY_BLOCK_PTR_FOR_FN (cfun)));
++ commit_edge_insertions ();
++ }
++
++ return 0;
++}
++
++namespace {
++
++const pass_data pass_data_aarch64_track_speculation =
++{
++ RTL_PASS, /* type. */
++ "speculation", /* name. */
++ OPTGROUP_NONE, /* optinfo_flags. */
++ TV_MACH_DEP, /* tv_id. */
++ 0, /* properties_required. */
++ 0, /* properties_provided. */
++ 0, /* properties_destroyed. */
++ 0, /* todo_flags_start. */
++ 0 /* todo_flags_finish. */
++};
++
++class pass_track_speculation : public rtl_opt_pass
++{
++ public:
++ pass_track_speculation(gcc::context *ctxt)
++ : rtl_opt_pass(pass_data_aarch64_track_speculation, ctxt)
++ {}
++
++ /* opt_pass methods: */
++ virtual bool gate (function *)
++ {
++ return aarch64_track_speculation;
++ }
++
++ virtual unsigned int execute (function *)
++ {
++ return aarch64_do_track_speculation ();
++ }
++}; // class pass_track_speculation.
++} // anon namespace.
++
++/* Create a new pass instance. */
++rtl_opt_pass *
++make_pass_track_speculation (gcc::context *ctxt)
++{
++ return new pass_track_speculation (ctxt);
++}
+Index: gcc/config/aarch64/iterators.md
+===================================================================
+--- a/src/gcc/config/aarch64/iterators.md (.../gcc-8-branch)
++++ b/src/gcc/config/aarch64/iterators.md (.../ARM/arm-8-branch)
+@@ -35,6 +35,9 @@
+ ;; Iterator for all integer modes (up to 64-bit)
+ (define_mode_iterator ALLI [QI HI SI DI])
+
++;; Iterator for all integer modes (up to 128-bit)
++(define_mode_iterator ALLI_TI [QI HI SI DI TI])
++
+ ;; Iterator for all integer modes that can be extended (up to 64-bit)
+ (define_mode_iterator ALLX [QI HI SI])
+
+Index: gcc/config/aarch64/aarch64.md
+===================================================================
+--- a/src/gcc/config/aarch64/aarch64.md (.../gcc-8-branch)
++++ b/src/gcc/config/aarch64/aarch64.md (.../ARM/arm-8-branch)
+@@ -88,6 +88,10 @@
+ (P13_REGNUM 81)
+ (P14_REGNUM 82)
+ (P15_REGNUM 83)
++ ;; A couple of call-clobbered registers that we need to reserve when
++ ;; tracking speculation this is not ABI, so is subject to change.
++ (SPECULATION_TRACKER_REGNUM 15)
++ (SPECULATION_SCRATCH_REGNUM 14)
+ ]
+ )
+
+@@ -189,6 +193,7 @@
+ UNSPEC_CLASTB
+ UNSPEC_FADDA
+ UNSPEC_REV_SUBREG
++ UNSPEC_SPECULATION_TRACKER
+ ])
+
+ (define_c_enum "unspecv" [
+@@ -199,6 +204,7 @@
+ UNSPECV_SET_FPSR ; Represent assign of FPSR content.
+ UNSPECV_BLOCKAGE ; Represent a blockage
+ UNSPECV_PROBE_STACK_RANGE ; Represent stack range probing.
++ UNSPECV_SPECULATION_BARRIER ; Represent speculation barrier.
+ ]
+ )
+
+@@ -275,6 +281,11 @@
+ ;; no predicated insns.
+ (define_attr "predicated" "yes,no" (const_string "no"))
+
++;; Set to true on an insn that requires the speculation tracking state to be
++;; in the tracking register before the insn issues. Otherwise the compiler
++;; may chose to hold the tracking state encoded in SP.
++(define_attr "speculation_barrier" "true,false" (const_string "false"))
++
+ ;; -------------------------------------------------------------------
+ ;; Pipeline descriptions and scheduling
+ ;; -------------------------------------------------------------------
+@@ -678,7 +689,7 @@
+ (const_int 0))
+ (label_ref (match_operand 1 "" ""))
+ (pc)))]
+- ""
++ "!aarch64_track_speculation"
+ {
+ if (get_attr_length (insn) == 8)
+ return aarch64_gen_far_branch (operands, 1, "Lcb", "<inv_cb>\\t%<w>0, ");
+@@ -708,7 +719,7 @@
+ (label_ref (match_operand 2 "" ""))
+ (pc)))
+ (clobber (reg:CC CC_REGNUM))]
+- ""
++ "!aarch64_track_speculation"
+ {
+ if (get_attr_length (insn) == 8)
+ {
+@@ -744,7 +755,7 @@
+ (label_ref (match_operand 1 "" ""))
+ (pc)))
+ (clobber (reg:CC CC_REGNUM))]
+- ""
++ "!aarch64_track_speculation"
+ {
+ if (get_attr_length (insn) == 8)
+ {
+@@ -3133,7 +3144,7 @@
+
+ (define_insn "cmp<mode>"
+ [(set (reg:CC CC_REGNUM)
+- (compare:CC (match_operand:GPI 0 "register_operand" "r,r,r")
++ (compare:CC (match_operand:GPI 0 "register_operand" "rk,rk,rk")
+ (match_operand:GPI 1 "aarch64_plus_operand" "r,I,J")))]
+ ""
+ "@
+@@ -6081,6 +6092,21 @@
+ DONE;
+ })
+
++;; Track speculation through conditional branches. We assume that
++;; SPECULATION_TRACKER_REGNUM is reserved for this purpose when necessary.
++(define_insn "speculation_tracker"
++ [(set (reg:DI SPECULATION_TRACKER_REGNUM)
++ (unspec [(reg:DI SPECULATION_TRACKER_REGNUM) (match_operand 0)]
++ UNSPEC_SPECULATION_TRACKER))]
++ ""
++ {
++ operands[1] = gen_rtx_REG (DImode, SPECULATION_TRACKER_REGNUM);
++ output_asm_insn ("csel\\t%1, %1, xzr, %m0", operands);
++ return "";
++ }
++ [(set_attr "type" "csel")]
++)
++
+ ;; Helper for aarch64.c code.
+ (define_expand "set_clobber_cc"
+ [(parallel [(set (match_operand 0)
+@@ -6087,6 +6113,113 @@
+ (match_operand 1))
+ (clobber (reg:CC CC_REGNUM))])])
+
++;; Hard speculation barrier.
++(define_insn "speculation_barrier"
++ [(unspec_volatile [(const_int 0)] UNSPECV_SPECULATION_BARRIER)]
++ ""
++ "isb\;dsb\\tsy"
++ [(set_attr "length" "8")
++ (set_attr "type" "block")
++ (set_attr "speculation_barrier" "true")]
++)
++
++;; Support for __builtin_speculation_safe_value when we have speculation
++;; tracking enabled. Use the speculation tracker to decide whether to
++;; copy operand 1 to the target, or to copy the fail value (operand 2).
++(define_expand "despeculate_copy<ALLI_TI:mode>"
++ [(set (match_operand:ALLI_TI 0 "register_operand" "=r")
++ (unspec_volatile:ALLI_TI
++ [(match_operand:ALLI_TI 1 "register_operand" "r")
++ (match_operand:ALLI_TI 2 "aarch64_reg_or_zero" "rZ")
++ (use (reg:DI SPECULATION_TRACKER_REGNUM))
++ (clobber (reg:CC CC_REGNUM))] UNSPECV_SPECULATION_BARRIER))]
++ ""
++ "
++ {
++ if (operands[2] == const0_rtx)
++ {
++ rtx tracker;
++ if (<MODE>mode == TImode)
++ tracker = gen_rtx_REG (DImode, SPECULATION_TRACKER_REGNUM);
++ else
++ tracker = gen_rtx_REG (<MODE>mode, SPECULATION_TRACKER_REGNUM);
++
++ emit_insn (gen_despeculate_simple<mode> (operands[0], operands[1],
++ tracker));
++ DONE;
++ }
++ }
++ "
++)
++
++;; Patterns to match despeculate_copy<mode>. Note that "hint 0x14" is the
++;; encoding for CSDB, but will work in older versions of the assembler.
++(define_insn "*despeculate_copy<ALLI:mode>_insn"
++ [(set (match_operand:ALLI 0 "register_operand" "=r")
++ (unspec_volatile:ALLI
++ [(match_operand:ALLI 1 "register_operand" "r")
++ (match_operand:ALLI 2 "aarch64_reg_or_zero" "rZ")
++ (use (reg:DI SPECULATION_TRACKER_REGNUM))
++ (clobber (reg:CC CC_REGNUM))] UNSPECV_SPECULATION_BARRIER))]
++ ""
++ {
++ operands[3] = gen_rtx_REG (DImode, SPECULATION_TRACKER_REGNUM);
++ output_asm_insn ("cmp\\t%3, #0\;csel\\t%<w>0, %<w>1, %<w>2, ne\;hint\t0x14 // csdb",
++ operands);
++ return "";
++ }
++ [(set_attr "length" "12")
++ (set_attr "type" "block")
++ (set_attr "speculation_barrier" "true")]
++)
++
++;; Pattern to match despeculate_copyti
++(define_insn "*despeculate_copyti_insn"
++ [(set (match_operand:TI 0 "register_operand" "=r")
++ (unspec_volatile:TI
++ [(match_operand:TI 1 "register_operand" "r")
++ (match_operand:TI 2 "aarch64_reg_or_zero" "rZ")
++ (use (reg:DI SPECULATION_TRACKER_REGNUM))
++ (clobber (reg:CC CC_REGNUM))] UNSPECV_SPECULATION_BARRIER))]
++ ""
++ {
++ operands[3] = gen_rtx_REG (DImode, SPECULATION_TRACKER_REGNUM);
++ output_asm_insn
++ ("cmp\\t%3, #0\;csel\\t%0, %1, %2, ne\;csel\\t%H0, %H1, %H2, ne\;hint\t0x14 // csdb",
++ operands);
++ return "";
++ }
++ [(set_attr "length" "16")
++ (set_attr "type" "block")
++ (set_attr "speculation_barrier" "true")]
++)
++
++(define_insn "despeculate_simple<ALLI:mode>"
++ [(set (match_operand:ALLI 0 "register_operand" "=r")
++ (unspec_volatile:ALLI
++ [(match_operand:ALLI 1 "register_operand" "r")
++ (use (match_operand:ALLI 2 "register_operand" ""))]
++ UNSPECV_SPECULATION_BARRIER))]
++ ""
++ "and\\t%<w>0, %<w>1, %<w>2\;hint\t0x14 // csdb"
++ [(set_attr "type" "block")
++ (set_attr "length" "8")
++ (set_attr "speculation_barrier" "true")]
++)
++
++(define_insn "despeculate_simpleti"
++ [(set (match_operand:TI 0 "register_operand" "=r")
++ (unspec_volatile:TI
++ [(match_operand:TI 1 "register_operand" "r")
++ (use (match_operand:DI 2 "register_operand" ""))]
++ UNSPECV_SPECULATION_BARRIER))]
++ ""
++ "and\\t%0, %1, %2\;and\\t%H0, %H1, %2\;hint\t0x14 // csdb"
++ [(set_attr "type" "block")
++ (set_attr "length" "12")
++ (set_attr "speculation_barrier" "true")]
++)
++
+ ;; AdvSIMD Stuff
+ (include "aarch64-simd.md")
+
+Index: gcc/config/aarch64/aarch64.opt
+===================================================================
+--- a/src/gcc/config/aarch64/aarch64.opt (.../gcc-8-branch)
++++ b/src/gcc/config/aarch64/aarch64.opt (.../ARM/arm-8-branch)
+@@ -214,3 +214,7 @@
+ mverbose-cost-dump
+ Common Undocumented Var(flag_aarch64_verbose_cost)
+ Enables verbose cost model dumping in the debug dump files.
++
++mtrack-speculation
++Target Var(aarch64_track_speculation)
++Generate code to track when the CPU might be speculating incorrectly.
+Index: gcc/config/aarch64/t-aarch64
+===================================================================
+--- a/src/gcc/config/aarch64/t-aarch64 (.../gcc-8-branch)
++++ b/src/gcc/config/aarch64/t-aarch64 (.../ARM/arm-8-branch)
+@@ -67,6 +67,16 @@
+ $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
+ $(srcdir)/config/aarch64/cortex-a57-fma-steering.c
+
++aarch64-speculation.o: $(srcdir)/config/aarch64/aarch64-speculation.cc \
++ $(CONFIG_H) \
++ $(SYSTEM_H) \
++ $(TM_H) \
++ $(TARGET_H) \
++ $(RTL_BASE_H) \
++ $(TREE_PASS_H)
++ $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_SPPFLAGS) $(INCLUDES) \
++ $(srcdir)/config/aarch64/aarch64-speculation.cc
++
+ comma=,
+ MULTILIB_OPTIONS = $(subst $(comma),/, $(patsubst %, mabi=%, $(subst $(comma),$(comma)mabi=,$(TM_MULTILIB_CONFIG))))
+ MULTILIB_DIRNAMES = $(subst $(comma), ,$(TM_MULTILIB_CONFIG))
+Index: gcc/config/aarch64/aarch64-protos.h
+===================================================================
+--- a/src/gcc/config/aarch64/aarch64-protos.h (.../gcc-8-branch)
++++ b/src/gcc/config/aarch64/aarch64-protos.h (.../ARM/arm-8-branch)
+@@ -547,7 +547,8 @@
+ std::string aarch64_get_extension_string_for_isa_flags (unsigned long,
+ unsigned long);
+
+-rtl_opt_pass *make_pass_fma_steering (gcc::context *ctxt);
++rtl_opt_pass *make_pass_fma_steering (gcc::context *);
++rtl_opt_pass *make_pass_track_speculation (gcc::context *);
+
+ poly_uint64 aarch64_regmode_natural_size (machine_mode);
+
+Index: gcc/config/aarch64/aarch64.c
+===================================================================
+--- a/src/gcc/config/aarch64/aarch64.c (.../gcc-8-branch)
++++ b/src/gcc/config/aarch64/aarch64.c (.../ARM/arm-8-branch)
+@@ -6704,6 +6704,12 @@
+ break;
+
+ case 'H':
++ if (x == const0_rtx)
++ {
++ asm_fprintf (f, "xzr");
++ break;
++ }
++
+ if (!REG_P (x) || !GP_REGNUM_P (REGNO (x) + 1))
+ {
+ output_operand_lossage ("invalid operand for '%%%c'", code);
+@@ -12536,6 +12542,19 @@
+ fixed_regs[i] = 1;
+ call_used_regs[i] = 1;
+ }
++
++ /* When tracking speculation, we need a couple of call-clobbered registers
++ to track the speculation state. It would be nice to just use
++ IP0 and IP1, but currently there are numerous places that just
++ assume these registers are free for other uses (eg pointer
++ authentication). */
++ if (aarch64_track_speculation)
++ {
++ fixed_regs[SPECULATION_TRACKER_REGNUM] = 1;
++ call_used_regs[SPECULATION_TRACKER_REGNUM] = 1;
++ fixed_regs[SPECULATION_SCRATCH_REGNUM] = 1;
++ call_used_regs[SPECULATION_SCRATCH_REGNUM] = 1;
++ }
+ }
+
+ /* Walk down the type tree of TYPE counting consecutive base elements.
+@@ -14383,7 +14402,16 @@
+
+ if (strong_zero_p)
+ {
+- x = gen_rtx_NE (VOIDmode, rval, const0_rtx);
++ if (aarch64_track_speculation)
++ {
++ /* Emit an explicit compare instruction, so that we can correctly
++ track the condition codes. */
++ rtx cc_reg = aarch64_gen_compare_reg (NE, rval, const0_rtx);
++ x = gen_rtx_NE (GET_MODE (cc_reg), cc_reg, const0_rtx);
++ }
++ else
++ x = gen_rtx_NE (VOIDmode, rval, const0_rtx);
++
+ x = gen_rtx_IF_THEN_ELSE (VOIDmode, x,
+ gen_rtx_LABEL_REF (Pmode, label2), pc_rtx);
+ aarch64_emit_unlikely_jump (gen_rtx_SET (pc_rtx, x));
+@@ -14401,7 +14429,16 @@
+
+ if (!is_weak)
+ {
+- x = gen_rtx_NE (VOIDmode, scratch, const0_rtx);
++ if (aarch64_track_speculation)
++ {
++ /* Emit an explicit compare instruction, so that we can correctly
++ track the condition codes. */
++ rtx cc_reg = aarch64_gen_compare_reg (NE, scratch, const0_rtx);
++ x = gen_rtx_NE (GET_MODE (cc_reg), cc_reg, const0_rtx);
++ }
++ else
++ x = gen_rtx_NE (VOIDmode, scratch, const0_rtx);
++
+ x = gen_rtx_IF_THEN_ELSE (VOIDmode, x,
+ gen_rtx_LABEL_REF (Pmode, label1), pc_rtx);
+ aarch64_emit_unlikely_jump (gen_rtx_SET (pc_rtx, x));
+@@ -14737,7 +14774,16 @@
+ aarch64_emit_store_exclusive (mode, cond, mem,
+ gen_lowpart (mode, new_out), model_rtx);
+
+- x = gen_rtx_NE (VOIDmode, cond, const0_rtx);
++ if (aarch64_track_speculation)
++ {
++ /* Emit an explicit compare instruction, so that we can correctly
++ track the condition codes. */
++ rtx cc_reg = aarch64_gen_compare_reg (NE, cond, const0_rtx);
++ x = gen_rtx_NE (GET_MODE (cc_reg), cc_reg, const0_rtx);
++ }
++ else
++ x = gen_rtx_NE (VOIDmode, cond, const0_rtx);
++
+ x = gen_rtx_IF_THEN_ELSE (VOIDmode, x,
+ gen_rtx_LABEL_REF (Pmode, label), pc_rtx);
+ aarch64_emit_unlikely_jump (gen_rtx_SET (pc_rtx, x));
+@@ -17416,6 +17462,45 @@
+ }
+ }
+
++/* Override the default target speculation_safe_value. */
++static rtx
++aarch64_speculation_safe_value (machine_mode mode,
++ rtx result, rtx val, rtx failval)
++{
++ /* Maybe we should warn if falling back to hard barriers. They are
++ likely to be noticably more expensive than the alternative below. */
++ if (!aarch64_track_speculation)
++ return default_speculation_safe_value (mode, result, val, failval);
++
++ if (!REG_P (val))
++ val = copy_to_mode_reg (mode, val);
++
++ if (!aarch64_reg_or_zero (failval, mode))
++ failval = copy_to_mode_reg (mode, failval);
++
++ switch (mode)
++ {
++ case E_QImode:
++ emit_insn (gen_despeculate_copyqi (result, val, failval));
++ break;
++ case E_HImode:
++ emit_insn (gen_despeculate_copyhi (result, val, failval));
++ break;
++ case E_SImode:
++ emit_insn (gen_despeculate_copysi (result, val, failval));
++ break;
++ case E_DImode:
++ emit_insn (gen_despeculate_copydi (result, val, failval));
++ break;
++ case E_TImode:
++ emit_insn (gen_despeculate_copyti (result, val, failval));
++ break;
++ default:
++ gcc_unreachable ();
++ }
++ return result;
++}
++
+ /* Target-specific selftests. */
+
+ #if CHECKING_P
+@@ -17885,6 +17970,9 @@
+ #undef TARGET_SELECT_EARLY_REMAT_MODES
+ #define TARGET_SELECT_EARLY_REMAT_MODES aarch64_select_early_remat_modes
+
++#undef TARGET_SPECULATION_SAFE_VALUE
++#define TARGET_SPECULATION_SAFE_VALUE aarch64_speculation_safe_value
++
+ #if CHECKING_P
+ #undef TARGET_RUN_TARGET_SELFTESTS
+ #define TARGET_RUN_TARGET_SELFTESTS selftest::aarch64_run_selftests
+Index: gcc/config/rs6000/rs6000.c
+===================================================================
+--- a/src/gcc/config/rs6000/rs6000.c (.../gcc-8-branch)
++++ b/src/gcc/config/rs6000/rs6000.c (.../ARM/arm-8-branch)
+@@ -16900,7 +16900,7 @@
+
+ case MISC_BUILTIN_SPEC_BARRIER:
+ {
+- emit_insn (gen_rs6000_speculation_barrier ());
++ emit_insn (gen_speculation_barrier ());
+ return NULL_RTX;
+ }
+
+Index: gcc/config/rs6000/rs6000.md
+===================================================================
+--- a/src/gcc/config/rs6000/rs6000.md (.../gcc-8-branch)
++++ b/src/gcc/config/rs6000/rs6000.md (.../ARM/arm-8-branch)
+@@ -12604,7 +12604,7 @@
+ return "ori 2,2,0";
+ })
+
+-(define_insn "rs6000_speculation_barrier"
++(define_insn "speculation_barrier"
+ [(unspec_volatile:BLK [(const_int 0)] UNSPECV_SPEC_BARRIER)]
+ ""
+ "ori 31,31,0")
+Index: gcc/config/mcore/mcore.c
+===================================================================
+--- a/src/gcc/config/mcore/mcore.c (.../gcc-8-branch)
++++ b/src/gcc/config/mcore/mcore.c (.../ARM/arm-8-branch)
+@@ -253,6 +253,9 @@
+ #undef TARGET_CONSTANT_ALIGNMENT
+ #define TARGET_CONSTANT_ALIGNMENT constant_alignment_word_strings
+
++#undef TARGET_HAVE_SPECULATION_SAFE_VALUE
++#define TARGET_HAVE_SPECULATION_SAFE_VALUE speculation_safe_value_not_needed
++
+ struct gcc_target targetm = TARGET_INITIALIZER;
+ \f
+ /* Adjust the stack and return the number of bytes taken to do it. */
+Index: gcc/config/arm/unspecs.md
+===================================================================
+--- a/src/gcc/config/arm/unspecs.md (.../gcc-8-branch)
++++ b/src/gcc/config/arm/unspecs.md (.../ARM/arm-8-branch)
+@@ -168,6 +168,7 @@
+ VUNSPEC_MCRR2 ; Represent the coprocessor mcrr2 instruction.
+ VUNSPEC_MRRC ; Represent the coprocessor mrrc instruction.
+ VUNSPEC_MRRC2 ; Represent the coprocessor mrrc2 instruction.
++ VUNSPEC_SPECULATION_BARRIER ; Represents an unconditional speculation barrier.
+ ])
+
+ ;; Enumerators for NEON unspecs.
+Index: gcc/config/arm/arm.md
+===================================================================
+--- a/src/gcc/config/arm/arm.md (.../gcc-8-branch)
++++ b/src/gcc/config/arm/arm.md (.../ARM/arm-8-branch)
+@@ -12012,6 +12012,27 @@
+ [(set_attr "length" "4")
+ (set_attr "type" "coproc")])
+
++(define_expand "speculation_barrier"
++ [(unspec_volatile [(const_int 0)] VUNSPEC_SPECULATION_BARRIER)]
++ "TARGET_EITHER"
++ "
++ /* Don't emit anything for Thumb1 and suppress the warning from the
++ generic expansion. */
++ if (!TARGET_32BIT)
++ DONE;
++ "
++)
++
++;; Generate a hard speculation barrier when we have not enabled speculation
++;; tracking.
++(define_insn "*speculation_barrier_insn"
++ [(unspec_volatile [(const_int 0)] VUNSPEC_SPECULATION_BARRIER)]
++ "TARGET_32BIT"
++ "isb\;dsb\\tsy"
++ [(set_attr "type" "block")
++ (set_attr "length" "8")]
++)
++
+ ;; Vector bits common to IWMMXT and Neon
+ (include "vec-common.md")
+ ;; Load the Intel Wireless Multimedia Extension patterns
+Index: gcc/config/pa/pa.c
+===================================================================
+--- a/src/gcc/config/pa/pa.c (.../gcc-8-branch)
++++ b/src/gcc/config/pa/pa.c (.../ARM/arm-8-branch)
+@@ -428,6 +428,9 @@
+ #undef TARGET_STARTING_FRAME_OFFSET
+ #define TARGET_STARTING_FRAME_OFFSET pa_starting_frame_offset
+
++#undef TARGET_HAVE_SPECULATION_SAFE_VALUE
++#define TARGET_HAVE_SPECULATION_SAFE_VALUE speculation_safe_value_not_needed
++
+ struct gcc_target targetm = TARGET_INITIALIZER;
+ \f
+ /* Parse the -mfixed-range= option string. */
+Index: gcc/config/msp430/msp430.c
+===================================================================
+--- a/src/gcc/config/msp430/msp430.c (.../gcc-8-branch)
++++ b/src/gcc/config/msp430/msp430.c (.../ARM/arm-8-branch)
+@@ -3845,6 +3845,9 @@
+ return true;
+ }
+ \f
++#undef TARGET_HAVE_SPECULATION_SAFE_VALUE
++#define TARGET_HAVE_SPECULATION_SAFE_VALUE speculation_safe_value_not_needed
++
+ struct gcc_target targetm = TARGET_INITIALIZER;
+
+ #include "gt-msp430.h"
+Index: gcc/config/h8300/h8300.c
+===================================================================
+--- a/src/gcc/config/h8300/h8300.c (.../gcc-8-branch)
++++ b/src/gcc/config/h8300/h8300.c (.../ARM/arm-8-branch)
+@@ -6148,4 +6148,7 @@
+ #undef TARGET_MODE_DEPENDENT_ADDRESS_P
+ #define TARGET_MODE_DEPENDENT_ADDRESS_P h8300_mode_dependent_address_p
+
++#undef TARGET_HAVE_SPECULATION_SAFE_VALUE
++#define TARGET_HAVE_SPECULATION_SAFE_VALUE speculation_safe_value_not_needed
++
+ struct gcc_target targetm = TARGET_INITIALIZER;
+Index: gcc/config/v850/v850.c
+===================================================================
+--- a/src/gcc/config/v850/v850.c (.../gcc-8-branch)
++++ b/src/gcc/config/v850/v850.c (.../ARM/arm-8-branch)
+@@ -3374,6 +3374,9 @@
+ #undef TARGET_MODES_TIEABLE_P
+ #define TARGET_MODES_TIEABLE_P v850_modes_tieable_p
+
++#undef TARGET_HAVE_SPECULATION_SAFE_VALUE
++#define TARGET_HAVE_SPECULATION_SAFE_VALUE speculation_safe_value_not_needed
++
+ struct gcc_target targetm = TARGET_INITIALIZER;
+
+ #include "gt-v850.h"
--- /dev/null
+# DP: - Remaining multiarch patches, not yet submitted upstream.
+# DP: - Add MULTIARCH_DIRNAME definitions for multilib configurations,
+# DP: which are used for the non-multilib builds.
+
+2013-06-12 Matthias Klose <doko@ubuntu.com>
+
+ * config/i386/t-linux64: Set MULTIARCH_DIRNAME.
+ * config/i386/t-kfreebsd: Set MULTIARCH_DIRNAME.
+ * config.gcc (i[34567]86-*-linux* | x86_64-*-linux*): Prepend
+ i386/t-linux to $tmake_file;
+ set default ABI to N64 for mips64el.
+ * config/mips/t-linux64: Set MULTIARCH_DIRNAME.
+ * config/rs6000/t-linux64: Set MULTIARCH_DIRNAME.
+ * config/s390/t-linux64: Set MULTIARCH_DIRNAME.
+ * config/sparc/t-linux64: Set MULTIARCH_DIRNAME.
+ * src/gcc/config/mips/mips.h: (/usr)/lib as default path.
+
+--- a/src/gcc/config/sh/t-linux
++++ b/src/gcc/config/sh/t-linux
+@@ -1,2 +1,10 @@
+ MULTILIB_DIRNAMES=
+ MULTILIB_MATCHES =
++
++ifneq (,$(findstring sh4,$(target)))
++MULTILIB_OSDIRNAMES = .:sh4-linux-gnu sh4_nofpu-linux-gnu:sh4-linux-gnu
++MULTIARCH_DIRNAME = $(call if_multiarch,sh4-linux-gnu)
++else
++MULTILIB_OSDIRNAMES = .:sh3-linux-gnu sh3_nofpu-linux-gnu:sh3-linux-gnu
++MULTIARCH_DIRNAME = $(call if_multiarch,sh3-linux-gnu)
++endif
+--- a/src/gcc/config/sparc/t-linux64
++++ b/src/gcc/config/sparc/t-linux64
+@@ -27,3 +27,5 @@ MULTILIB_OPTIONS = m64/m32
+ MULTILIB_DIRNAMES = 64 32
+ MULTILIB_OSDIRNAMES = ../lib64$(call if_multiarch,:sparc64-linux-gnu)
+ MULTILIB_OSDIRNAMES += $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:sparc-linux-gnu)
++
++MULTIARCH_DIRNAME = $(call if_multiarch,sparc$(if $(findstring 64,$(target)),64)-linux-gnu)
+--- a/src/gcc/config/s390/t-linux64
++++ b/src/gcc/config/s390/t-linux64
+@@ -9,3 +9,5 @@ MULTILIB_OPTIONS = m64/m31
+ MULTILIB_DIRNAMES = 64 32
+ MULTILIB_OSDIRNAMES = ../lib64$(call if_multiarch,:s390x-linux-gnu)
+ MULTILIB_OSDIRNAMES += $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:s390-linux-gnu)
++
++MULTIARCH_DIRNAME = $(call if_multiarch,s390$(if $(findstring s390x,$(target)),x)-linux-gnu)
+--- a/src/gcc/config/rs6000/t-linux64
++++ b/src/gcc/config/rs6000/t-linux64
+@@ -31,6 +31,8 @@ MULTILIB_EXTRA_OPTS :=
+ MULTILIB_OSDIRNAMES := m64=../lib64$(call if_multiarch,:powerpc64-linux-gnu)
+ MULTILIB_OSDIRNAMES += m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:powerpc-linux-gnu)
+
++MULTIARCH_DIRNAME = $(call if_multiarch,powerpc$(if $(findstring 64,$(target)),64)-linux-gnu)
++
+ rs6000-linux.o: $(srcdir)/config/rs6000/rs6000-linux.c
+ $(COMPILE) $<
+ $(POSTCOMPILE)
+--- a/src/gcc/config/i386/t-linux64
++++ b/src/gcc/config/i386/t-linux64
+@@ -36,3 +36,13 @@ MULTILIB_DIRNAMES = $(patsubst m%, %,
+ MULTILIB_OSDIRNAMES = m64=../lib64$(call if_multiarch,:x86_64-linux-gnu)
+ MULTILIB_OSDIRNAMES+= m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:i386-linux-gnu)
+ MULTILIB_OSDIRNAMES+= mx32=../libx32$(call if_multiarch,:x86_64-linux-gnux32)
++
++ifneq (,$(findstring x86_64,$(target)))
++ ifneq (,$(findstring biarchx32.h,$(tm_include_list)))
++ MULTIARCH_DIRNAME = $(call if_multiarch,x86_64-linux-gnux32)
++ else
++ MULTIARCH_DIRNAME = $(call if_multiarch,x86_64-linux-gnu)
++ endif
++else
++ MULTIARCH_DIRNAME = $(call if_multiarch,i386-linux-gnu)
++endif
+--- a/src/gcc/config/i386/t-kfreebsd
++++ b/src/gcc/config/i386/t-kfreebsd
+@@ -1,5 +1,9 @@
+-MULTIARCH_DIRNAME = $(call if_multiarch,i386-kfreebsd-gnu)
++ifeq (,$(MULTIARCH_DIRNAME))
++ MULTIARCH_DIRNAME = $(call if_multiarch,i386-kfreebsd-gnu)
++endif
+
+ # MULTILIB_OSDIRNAMES are set in t-linux64.
+ KFREEBSD_OS = $(filter kfreebsd%, $(word 3, $(subst -, ,$(target))))
+ MULTILIB_OSDIRNAMES := $(filter-out mx32=%,$(subst linux,$(KFREEBSD_OS),$(MULTILIB_OSDIRNAMES)))
++
++MULTIARCH_DIRNAME := $(subst linux,$(KFREEBSD_OS),$(MULTIARCH_DIRNAME))
+--- a/src/gcc/config/mips/t-linux64
++++ b/src/gcc/config/mips/t-linux64
+@@ -18,9 +18,22 @@
+
+ MULTILIB_OPTIONS = mabi=n32/mabi=32/mabi=64
+ MULTILIB_DIRNAMES = n32 32 64
++MIPS_R6 = $(if $(findstring r6, $(firstword $(subst -, ,$(target)))),r6)
++MIPS_32 = $(if $(findstring r6, $(firstword $(subst -, ,$(target)))),32)
++MIPS_ISA = $(if $(findstring r6, $(firstword $(subst -, ,$(target)))),isa)
+ MIPS_EL = $(if $(filter %el, $(firstword $(subst -, ,$(target)))),el)
+ MIPS_SOFT = $(if $(strip $(filter MASK_SOFT_FLOAT_ABI, $(target_cpu_default)) $(filter soft, $(with_float))),soft)
+ MULTILIB_OSDIRNAMES = \
+ ../lib32$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \
+ ../lib$(call if_multiarch,:mips$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \
+ ../lib64$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT))
++
++ifneq (,$(findstring abin32,$(target)))
++MULTIARCH_DIRNAME = $(call if_multiarch,mips$(MIPS_ISA)64$(MIPS_R6)$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT))
++else
++ifneq (,$(findstring abi64,$(target)))
++MULTIARCH_DIRNAME = $(call if_multiarch,mips$(MIPS_ISA)64$(MIPS_R6)$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT))
++else
++MULTIARCH_DIRNAME = $(call if_multiarch,mips$(MIPS_ISA)$(MIPS_32)$(MIPS_R6)$(MIPS_EL)-linux-gnu$(MIPS_SOFT))
++endif
++endif
+--- a/src/gcc/config.gcc
++++ b/src/gcc/config.gcc
+@@ -2178,6 +2178,11 @@ mips*-*-linux*) # Linux MIPS, either
+ target_cpu_default=MASK_SOFT_FLOAT_ABI
+ enable_mips_multilibs="yes"
+ ;;
++ mipsisa64r6*-*-linux-gnuabi64)
++ default_mips_abi=64
++ default_mips_arch=mips64r6
++ enable_mips_multilibs="yes"
++ ;;
+ mipsisa64r6*-*-linux*)
+ default_mips_abi=n32
+ default_mips_arch=mips64r6
+@@ -2188,6 +2193,10 @@ mips*-*-linux*) # Linux MIPS, either
+ default_mips_arch=mips64r2
+ enable_mips_multilibs="yes"
+ ;;
++ mips64*-*-linux-gnuabi64 | mipsisa64*-*-linux-gnuabi64)
++ default_mips_abi=64
++ enable_mips_multilibs="yes"
++ ;;
+ mips64*-*-linux* | mipsisa64*-*-linux*)
+ default_mips_abi=n32
+ enable_mips_multilibs="yes"
+@@ -3191,6 +3200,16 @@ case ${target} in
+ ;;
+ esac
+
++# non-glibc systems
++case ${target} in
++*-linux-musl*)
++ tmake_file="${tmake_file} t-musl"
++ ;;
++*-linux-uclibc*)
++ tmake_file="${tmake_file} t-uclibc"
++ ;;
++esac
++
+ # Build mkoffload tool
+ case ${target} in
+ *-intelmic-* | *-intelmicemul-*)
+@@ -4696,7 +4715,7 @@ case ${target} in
+ ;;
+ i[34567]86-*-linux* | x86_64-*-linux*)
+ extra_objs="${extra_objs} cet.o"
+- tmake_file="$tmake_file i386/t-linux i386/t-cet"
++ tmake_file="i386/t-linux $tmake_file i386/t-cet"
+ ;;
+ i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu)
+ tmake_file="$tmake_file i386/t-kfreebsd"
+--- a/src/gcc/config/mips/mips.h
++++ b/src/gcc/config/mips/mips.h
+@@ -3391,16 +3391,6 @@ struct GTY(()) machine_function {
+ #define PMODE_INSN(NAME, ARGS) \
+ (Pmode == SImode ? NAME ## _si ARGS : NAME ## _di ARGS)
+
+-/* If we are *not* using multilibs and the default ABI is not ABI_32 we
+- need to change these from /lib and /usr/lib. */
+-#if MIPS_ABI_DEFAULT == ABI_N32
+-#define STANDARD_STARTFILE_PREFIX_1 "/lib32/"
+-#define STANDARD_STARTFILE_PREFIX_2 "/usr/lib32/"
+-#elif MIPS_ABI_DEFAULT == ABI_64
+-#define STANDARD_STARTFILE_PREFIX_1 "/lib64/"
+-#define STANDARD_STARTFILE_PREFIX_2 "/usr/lib64/"
+-#endif
+-
+ /* Load store bonding is not supported by micromips and fix_24k. The
+ performance can be degraded for those targets. Hence, do not bond for
+ micromips or fix_24k. */
+--- a/src/gcc/config/tilegx/t-tilegx
++++ b/src/gcc/config/tilegx/t-tilegx
+@@ -1,6 +1,7 @@
+ MULTILIB_OPTIONS = m64/m32
+ MULTILIB_DIRNAMES = 64 32
+-MULTILIB_OSDIRNAMES = ../lib ../lib32
++MULTILIB_OSDIRNAMES = ../lib$(call if_multiarch,:tilegx-linux-gnu) ../lib32$(call if_multiarch,:tilegx32-linux-gnu)
++MULTIARCH_DIRNAME = $(call if_multiarch,tilegx-linux-gnu)
+
+ LIBGCC = stmp-multilib
+ INSTALL_LIBGCC = install-multilib
+--- a/src/gcc/config/riscv/t-linux
++++ b/src/gcc/config/riscv/t-linux
+@@ -1,3 +1,5 @@
+ # Only XLEN and ABI affect Linux multilib dir names, e.g. /lib32/ilp32d/
+ MULTILIB_DIRNAMES := $(patsubst rv32%,lib32,$(patsubst rv64%,lib64,$(MULTILIB_DIRNAMES)))
+ MULTILIB_OSDIRNAMES := $(patsubst lib%,../lib%,$(MULTILIB_DIRNAMES))
++
++MULTIARCH_DIRNAME := $(call if_multiarch,$(firstword $(subst -, ,$(target)))-linux-gnu)
+--- a/src/gcc/Makefile.in
++++ b/src/gcc/Makefile.in
+@@ -530,7 +530,7 @@ BUILD_SYSTEM_HEADER_DIR = `echo @BUILD_S
+ STMP_FIXINC = @STMP_FIXINC@
+
+ # Test to see whether <limits.h> exists in the system header files.
+-LIMITS_H_TEST = [ -f $(BUILD_SYSTEM_HEADER_DIR)/limits.h ]
++LIMITS_H_TEST = [ -f $(BUILD_SYSTEM_HEADER_DIR)/limits.h -o -f $(BUILD_SYSTEM_HEADER_DIR)/$(MULTIARCH_DIRNAME)/limits.h ]
+
+ # Directory for prefix to system directories, for
+ # each of $(system_prefix)/usr/include, $(system_prefix)/usr/lib, etc.
+--- a/src/gcc/config/aarch64/t-aarch64-linux
++++ b/src/gcc/config/aarch64/t-aarch64-linux
+@@ -22,7 +22,7 @@ LIB1ASMSRC = aarch64/lib1funcs.asm
+ LIB1ASMFUNCS = _aarch64_sync_cache_range
+
+ AARCH_BE = $(if $(findstring TARGET_BIG_ENDIAN_DEFAULT=1, $(tm_defines)),_be)
+-MULTILIB_OSDIRNAMES = mabi.lp64=../lib64$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu)
++MULTILIB_OSDIRNAMES = mabi.lp64=../lib$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu)
+ MULTIARCH_DIRNAME = $(call if_multiarch,aarch64$(AARCH_BE)-linux-gnu)
+
+ MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu_ilp32)
--- /dev/null
+# DP: Don't auto-detect multilib osdirnames.
+
+Index: b/src/gcc/config/sparc/t-linux64
+===================================================================
+--- a/src/gcc/config/sparc/t-linux64
++++ b/src/gcc/config/sparc/t-linux64
+@@ -25,7 +25,12 @@
+
+ MULTILIB_OPTIONS = m64/m32
+ MULTILIB_DIRNAMES = 64 32
++ifneq (,$(findstring sparc64,$(target)))
++MULTILIB_OSDIRNAMES = ../lib$(call if_multiarch,:sparc64-linux-gnu)
++MULTILIB_OSDIRNAMES += ../lib32$(call if_multiarch,:sparc-linux-gnu)
++else
+ MULTILIB_OSDIRNAMES = ../lib64$(call if_multiarch,:sparc64-linux-gnu)
+-MULTILIB_OSDIRNAMES += $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:sparc-linux-gnu)
++MULTILIB_OSDIRNAMES += ../lib$(call if_multiarch,:sparc-linux-gnu)
++endif
+
+ MULTIARCH_DIRNAME = $(call if_multiarch,sparc$(if $(findstring 64,$(target)),64)-linux-gnu)
+Index: b/src/gcc/config/s390/t-linux64
+===================================================================
+--- a/src/gcc/config/s390/t-linux64
++++ b/src/gcc/config/s390/t-linux64
+@@ -7,7 +7,12 @@
+
+ MULTILIB_OPTIONS = m64/m31
+ MULTILIB_DIRNAMES = 64 32
++ifneq (,$(findstring s390x,$(target)))
++MULTILIB_OSDIRNAMES = ../lib$(call if_multiarch,:s390x-linux-gnu)
++MULTILIB_OSDIRNAMES += ../lib32$(call if_multiarch,:s390-linux-gnu)
++else
+ MULTILIB_OSDIRNAMES = ../lib64$(call if_multiarch,:s390x-linux-gnu)
+-MULTILIB_OSDIRNAMES += $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:s390-linux-gnu)
++MULTILIB_OSDIRNAMES += ../lib$(call if_multiarch,:s390-linux-gnu)
++endif
+
+ MULTIARCH_DIRNAME = $(call if_multiarch,s390$(if $(findstring s390x,$(target)),x)-linux-gnu)
+Index: b/src/gcc/config/rs6000/t-linux64
+===================================================================
+--- a/src/gcc/config/rs6000/t-linux64
++++ b/src/gcc/config/rs6000/t-linux64
+@@ -28,8 +28,13 @@
+ MULTILIB_OPTIONS := m64/m32
+ MULTILIB_DIRNAMES := 64 32
+ MULTILIB_EXTRA_OPTS :=
++ifneq (,$(findstring powerpc64,$(target)))
++MULTILIB_OSDIRNAMES := m64=../lib$(call if_multiarch,:powerpc64-linux-gnu)
++MULTILIB_OSDIRNAMES += m32=../lib32$(call if_multiarch,:powerpc-linux-gnu)
++else
+ MULTILIB_OSDIRNAMES := m64=../lib64$(call if_multiarch,:powerpc64-linux-gnu)
+-MULTILIB_OSDIRNAMES += m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:powerpc-linux-gnu)
++MULTILIB_OSDIRNAMES += m32=../lib$(call if_multiarch,:powerpc-linux-gnu)
++endif
+
+ MULTIARCH_DIRNAME = $(call if_multiarch,powerpc$(if $(findstring 64,$(target)),64)-linux-gnu)
+
+Index: b/src/gcc/config/i386/t-linux64
+===================================================================
+--- a/src/gcc/config/i386/t-linux64
++++ b/src/gcc/config/i386/t-linux64
+@@ -33,9 +33,19 @@
+ comma=,
+ MULTILIB_OPTIONS = $(subst $(comma),/,$(TM_MULTILIB_CONFIG))
+ MULTILIB_DIRNAMES = $(patsubst m%, %, $(subst /, ,$(MULTILIB_OPTIONS)))
++ifneq (,$(findstring gnux32,$(target)))
+ MULTILIB_OSDIRNAMES = m64=../lib64$(call if_multiarch,:x86_64-linux-gnu)
+-MULTILIB_OSDIRNAMES+= m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:i386-linux-gnu)
++MULTILIB_OSDIRNAMES+= m32=../lib32$(call if_multiarch,:i386-linux-gnu)
++MULTILIB_OSDIRNAMES+= mx32=../lib$(call if_multiarch,:x86_64-linux-gnux32)
++else ifneq (,$(findstring x86_64,$(target)))
++MULTILIB_OSDIRNAMES = m64=../lib$(call if_multiarch,:x86_64-linux-gnu)
++MULTILIB_OSDIRNAMES+= m32=../lib32$(call if_multiarch,:i386-linux-gnu)
+ MULTILIB_OSDIRNAMES+= mx32=../libx32$(call if_multiarch,:x86_64-linux-gnux32)
++else
++MULTILIB_OSDIRNAMES = m64=../lib64$(call if_multiarch,:x86_64-linux-gnu)
++MULTILIB_OSDIRNAMES+= m32=../lib$(call if_multiarch,:i386-linux-gnu)
++MULTILIB_OSDIRNAMES+= mx32=../libx32$(call if_multiarch,:x86_64-linux-gnux32)
++endif
+
+ ifneq (,$(findstring x86_64,$(target)))
+ ifneq (,$(findstring biarchx32.h,$(tm_include_list)))
+Index: b/src/gcc/config/mips/t-linux64
+===================================================================
+--- a/src/gcc/config/mips/t-linux64
++++ b/src/gcc/config/mips/t-linux64
+@@ -23,10 +23,23 @@ MIPS_32 = $(if $(findstring r6, $(firstw
+ MIPS_ISA = $(if $(findstring r6, $(firstword $(subst -, ,$(target)))),isa)
+ MIPS_EL = $(if $(filter %el, $(firstword $(subst -, ,$(target)))),el)
+ MIPS_SOFT = $(if $(strip $(filter MASK_SOFT_FLOAT_ABI, $(target_cpu_default)) $(filter soft, $(with_float))),soft)
++
++ifneq (,$(findstring gnuabi64,$(target)))
++MULTILIB_OSDIRNAMES = \
++ ../lib32$(call if_multiarch,:mips$(MIPS_ISA)64$(MIPS_R6)$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \
++ ../libo32$(call if_multiarch,:mips$(MIPS_ISA)$(MIPS_32)$(MIPS_R6)$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \
++ ../lib$(call if_multiarch,:mips$(MIPS_ISA)64$(MIPS_R6)$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT))
++else ifneq (,$(findstring gnuabin32,$(target)))
++MULTILIB_OSDIRNAMES = \
++ ../lib$(call if_multiarch,:mips$(MIPS_ISA)64$(MIPS_R6)$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \
++ ../libo32$(call if_multiarch,:mips$(MIPS_ISA)$(MIPS_32)$(MIPS_R6)$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \
++ ../lib64$(call if_multiarch,:mips$(MIPS_ISA)64$(MIPS_R6)$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT))
++else
+ MULTILIB_OSDIRNAMES = \
+- ../lib32$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \
+- ../lib$(call if_multiarch,:mips$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \
+- ../lib64$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT))
++ ../lib32$(call if_multiarch,:mips$(MIPS_ISA)64$(MIPS_R6)$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \
++ ../lib$(call if_multiarch,:mips$(MIPS_ISA)$(MIPS_32)$(MIPS_R6)$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \
++ ../lib64$(call if_multiarch,:mips$(MIPS_ISA)64$(MIPS_R6)$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT))
++endif
+
+ ifneq (,$(findstring abin32,$(target)))
+ MULTIARCH_DIRNAME = $(call if_multiarch,mips$(MIPS_ISA)64$(MIPS_R6)$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT))
+Index: b/src/gcc/config/rs6000/t-linux
+===================================================================
+--- a/src/gcc/config/rs6000/t-linux
++++ b/src/gcc/config/rs6000/t-linux
+@@ -2,7 +2,7 @@
+ # or soft-float.
+ ifeq (,$(filter $(with_cpu),$(SOFT_FLOAT_CPUS))$(findstring soft,$(with_float)))
+ ifneq (,$(findstring powerpc64,$(target)))
+-MULTILIB_OSDIRNAMES := .=../lib64$(call if_multiarch,:powerpc64-linux-gnu)
++MULTILIB_OSDIRNAMES := .=../lib$(call if_multiarch,:powerpc64-linux-gnu)
+ else
+ MULTIARCH_DIRNAME := powerpc-linux-gnu
+ endif
--- /dev/null
+# DP: Search for the <triplet>-as / -ld before serching for as / ld.
+
+Index: b/src/gcc/gcc.c
+===================================================================
+--- a/src/gcc/gcc.c
++++ b/src/gcc/gcc.c
+@@ -2533,6 +2533,7 @@ for_each_path (const struct path_prefix
+ {
+ len = paths->max_len + extra_space + 1;
+ len += MAX (MAX (suffix_len, multi_os_dir_len), multiarch_len);
++ len += multiarch_len + 2; /* triplet prefix for as, ld. */
+ path = XNEWVEC (char, len);
+ }
+
+@@ -2746,6 +2747,24 @@ file_at_path (char *path, void *data)
+ struct file_at_path_info *info = (struct file_at_path_info *) data;
+ size_t len = strlen (path);
+
++ /* search for the <triplet>-as / -ld first. */
++ if (! strcmp (info->name, "as") || ! strcmp (info->name, "ld"))
++ {
++ struct file_at_path_info prefix_info = *info;
++ char *prefixed_name = XNEWVEC (char, info->name_len + 2
++ + strlen (DEFAULT_REAL_TARGET_MACHINE));
++ strcpy (prefixed_name, DEFAULT_REAL_TARGET_MACHINE);
++ strcat (prefixed_name, "-");
++ strcat (prefixed_name, info->name);
++ prefix_info.name = (const char *) prefixed_name;
++ prefix_info.name_len = strlen (prefixed_name);
++ if (file_at_path (path, &prefix_info))
++ {
++ XDELETEVEC (prefixed_name);
++ return path;
++ }
++ XDELETEVEC (prefixed_name);
++ }
+ memcpy (path + len, info->name, info->name_len);
+ len += info->name_len;
+
--- /dev/null
+# DP: Search $(builddir)/sys-include for the asm header files
+
+Index: b/src/configure.ac
+===================================================================
+--- a/src/configure.ac
++++ b/src/configure.ac
+@@ -3187,7 +3187,7 @@ fi
+ # being built; programs in there won't even run.
+ if test "${build}" = "${host}" && test -d ${srcdir}/gcc; then
+ # Search for pre-installed headers if nothing else fits.
+- FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -B$(build_tooldir)/bin/ -B$(build_tooldir)/lib/ -isystem $(build_tooldir)/include -isystem $(build_tooldir)/sys-include'
++ FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -B$(build_tooldir)/bin/ -B$(build_tooldir)/lib/ -isystem $(build_tooldir)/include -isystem $(build_tooldir)/sys-include -isystem $(CURDIR)/sys-include'
+ fi
+
+ if test "x${use_gnu_ld}" = x &&
--- /dev/null
+# DP: Set gettext's domain and textdomain to the versioned package name.
+
+Index: b/src/gcc/intl.c
+===================================================================
+--- a/src/gcc/intl.c
++++ b/src/gcc/intl.c
+@@ -55,8 +55,8 @@ gcc_init_libintl (void)
+ setlocale (LC_ALL, "");
+ #endif
+
+- (void) bindtextdomain ("gcc", LOCALEDIR);
+- (void) textdomain ("gcc");
++ (void) bindtextdomain ("gcc-8", LOCALEDIR);
++ (void) textdomain ("gcc-8");
+
+ /* Opening quotation mark. */
+ open_quote = _("`");
+Index: b/src/gcc/Makefile.in
+===================================================================
+--- a/src/gcc/Makefile.in
++++ b/src/gcc/Makefile.in
+@@ -4201,8 +4201,8 @@ install-po:
+ dir=$(localedir)/$$lang/LC_MESSAGES; \
+ echo $(mkinstalldirs) $(DESTDIR)$$dir; \
+ $(mkinstalldirs) $(DESTDIR)$$dir || exit 1; \
+- echo $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/gcc.mo; \
+- $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/gcc.mo; \
++ echo $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/gcc-8.mo; \
++ $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/gcc-8.mo; \
+ done
+
+ # Rule for regenerating the message template (gcc.pot).
+Index: b/src/libcpp/init.c
+===================================================================
+--- a/src/libcpp/init.c
++++ b/src/libcpp/init.c
+@@ -161,7 +161,7 @@ init_library (void)
+ init_trigraph_map ();
+
+ #ifdef ENABLE_NLS
+- (void) bindtextdomain (PACKAGE, LOCALEDIR);
++ (void) bindtextdomain (PACKAGE PACKAGE_SUFFIX, LOCALEDIR);
+ #endif
+ }
+ }
+Index: b/src/libcpp/system.h
+===================================================================
+--- a/src/libcpp/system.h
++++ b/src/libcpp/system.h
+@@ -280,7 +280,7 @@ extern int errno;
+ #endif
+
+ #ifndef _
+-# define _(msgid) dgettext (PACKAGE, msgid)
++# define _(msgid) dgettext (PACKAGE PACKAGE_SUFFIX, msgid)
+ #endif
+
+ #ifndef N_
+Index: b/src/libcpp/Makefile.in
+===================================================================
+--- a/src/libcpp/Makefile.in
++++ b/src/libcpp/Makefile.in
+@@ -49,6 +49,7 @@ LDFLAGS = @LDFLAGS@
+ LIBICONV = @LIBICONV@
+ LIBINTL = @LIBINTL@
+ PACKAGE = @PACKAGE@
++PACKAGE_SUFFIX = -8
+ RANLIB = @RANLIB@
+ SHELL = @SHELL@
+ USED_CATALOGS = @USED_CATALOGS@
+@@ -72,10 +73,12 @@ depcomp = $(SHELL) $(srcdir)/../depcomp
+
+ INCLUDES = -I$(srcdir) -I. -I$(srcdir)/../include @INCINTL@ \
+ -I$(srcdir)/include
++DEBCPPFLAGS += -DPACKAGE_SUFFIX=\"$(strip $(PACKAGE_SUFFIX))\"
+
+-ALL_CFLAGS = $(CFLAGS) $(WARN_CFLAGS) $(INCLUDES) $(CPPFLAGS) $(PICFLAG)
++ALL_CFLAGS = $(CFLAGS) $(WARN_CFLAGS) $(INCLUDES) $(CPPFLAGS) $(PICFLAG) \
++ $(DEBCPPFLAGS)
+ ALL_CXXFLAGS = $(CXXFLAGS) $(WARN_CXXFLAGS) $(NOEXCEPTION_FLAGS) $(INCLUDES) \
+- $(CPPFLAGS) $(PICFLAG)
++ $(CPPFLAGS) $(PICFLAG) $(DEBCPPFLAGS)
+
+ # The name of the compiler to use.
+ COMPILER = $(CXX)
+@@ -164,8 +167,8 @@ install-strip install: all installdirs
+ else continue; \
+ fi; \
+ dir=$(localedir)/$$lang/LC_MESSAGES; \
+- echo $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/$(PACKAGE).mo; \
+- $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/$(PACKAGE).mo; \
++ echo $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/$(PACKAGE)$(PACKAGE_SUFFIX).mo; \
++ $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/$(PACKAGE)$(PACKAGE_SUFFIX).mo; \
+ done
+
+ mostlyclean:
--- /dev/null
+# DP: This implements D language support in the GCC back end, and adds
+# DP: relevant documentation about the GDC front end (documentation part).
+
+--- a/src/gcc/doc/frontends.texi
++++ b/src/gcc/doc/frontends.texi
+@@ -9,6 +9,7 @@
+ @cindex GNU Compiler Collection
+ @cindex GNU C Compiler
+ @cindex Ada
++@cindex D
+ @cindex Fortran
+ @cindex Go
+ @cindex Objective-C
+@@ -16,7 +17,7 @@
+ GCC stands for ``GNU Compiler Collection''. GCC is an integrated
+ distribution of compilers for several major programming languages. These
+ languages currently include C, C++, Objective-C, Objective-C++,
+-Fortran, Ada, Go, and BRIG (HSAIL).
++Fortran, Ada, D, Go, and BRIG (HSAIL).
+
+ The abbreviation @dfn{GCC} has multiple meanings in common use. The
+ current official meaning is ``GNU Compiler Collection'', which refers
+--- a/src/gcc/doc/install.texi
++++ b/src/gcc/doc/install.texi
+@@ -916,7 +916,7 @@ only for the listed packages. For other packages, only static libraries
+ will be built. Package names currently recognized in the GCC tree are
+ @samp{libgcc} (also known as @samp{gcc}), @samp{libstdc++} (not
+ @samp{libstdc++-v3}), @samp{libffi}, @samp{zlib}, @samp{boehm-gc},
+-@samp{ada}, @samp{libada}, @samp{libgo}, and @samp{libobjc}.
++@samp{ada}, @samp{libada}, @samp{libgo}, @samp{libobjc}, and @samp{libphobos}.
+ Note @samp{libiberty} does not support shared libraries at all.
+
+ Use @option{--disable-shared} to build only static libraries. Note that
+@@ -1601,12 +1601,12 @@ their runtime libraries should be built. For a list of valid values for
+ grep ^language= */config-lang.in
+ @end smallexample
+ Currently, you can use any of the following:
+-@code{all}, @code{default}, @code{ada}, @code{c}, @code{c++}, @code{fortran},
+-@code{go}, @code{jit}, @code{lto}, @code{objc}, @code{obj-c++}.
++@code{all}, @code{default}, @code{ada}, @code{c}, @code{c++}, @code{d},
++@code{fortran}, @code{go}, @code{jit}, @code{lto}, @code{objc}, @code{obj-c++}.
+ Building the Ada compiler has special requirements, see below.
+ If you do not pass this flag, or specify the option @code{default}, then the
+ default languages available in the @file{gcc} sub-tree will be configured.
+-Ada, Go, Jit, and Objective-C++ are not default languages. LTO is not a
++Ada, D, Go, Jit, and Objective-C++ are not default languages. LTO is not a
+ default language, but is built by default because @option{--enable-lto} is
+ enabled by default. The other languages are default languages. If
+ @code{all} is specified, then all available languages are built. An
+@@ -2699,7 +2699,7 @@ on a simulator as described at @uref{http://gcc.gnu.org/simtest-howto.html}.
+
+ In order to run sets of tests selectively, there are targets
+ @samp{make check-gcc} and language specific @samp{make check-c},
+-@samp{make check-c++}, @samp{make check-fortran},
++@samp{make check-c++}, @samp{make check-d} @samp{make check-fortran},
+ @samp{make check-ada}, @samp{make check-objc}, @samp{make check-obj-c++},
+ @samp{make check-lto}
+ in the @file{gcc} subdirectory of the object directory. You can also
+--- a/src/gcc/doc/invoke.texi
++++ b/src/gcc/doc/invoke.texi
+@@ -1354,6 +1354,15 @@ Go source code.
+ @item @var{file}.brig
+ BRIG files (binary representation of HSAIL).
+
++@item @var{file}.d
++D source code.
++
++@item @var{file}.di
++D interface file.
++
++@item @var{file}.dd
++D documentation code (Ddoc).
++
+ @item @var{file}.ads
+ Ada source code file that contains a library unit declaration (a
+ declaration of a package, subprogram, or generic, or a generic
+@@ -1400,6 +1409,7 @@ objective-c objective-c-header objective-c-cpp-output
+ objective-c++ objective-c++-header objective-c++-cpp-output
+ assembler assembler-with-cpp
+ ada
++d
+ f77 f77-cpp-input f95 f95-cpp-input
+ go
+ brig
+--- a/src/gcc/doc/sourcebuild.texi
++++ b/src/gcc/doc/sourcebuild.texi
+@@ -106,6 +106,10 @@ The Objective-C and Objective-C++ runtime library.
+ @item libquadmath
+ The runtime support library for quad-precision math operations.
+
++@item libphobos
++The D standard and runtime library. The bulk of this library is mirrored
++from the @uref{https://github.com/@/dlang, master D repositories}.
++
+ @item libssp
+ The Stack protector runtime library.
+
+--- a/src/gcc/doc/standards.texi
++++ b/src/gcc/doc/standards.texi
+@@ -313,6 +313,12 @@ capability is typically utilized to implement the HSA runtime API's HSAIL
+ finalization extension for a gcc supported processor. HSA standards are
+ freely available at @uref{http://www.hsafoundation.com/standards/}.
+
++@section D language
++
++GCC supports the D 2.0 programming language. The D language itself is
++currently defined by its reference implementation and supporting language
++specification, described at @uref{https://dlang.org/spec/spec.html}.
++
+ @section References for Other Languages
+
+ @xref{Top, GNAT Reference Manual, About This Guide, gnat_rm,
--- /dev/null
+# DP: This implements D language support in the GCC back end, and adds
+# DP: relevant documentation about the GDC front end (code part).
+
+--- a/src/gcc/config/powerpcspe/powerpcspe.c
++++ b/src/gcc/config/powerpcspe/powerpcspe.c
+@@ -32034,11 +32034,12 @@ rs6000_output_function_epilogue (FILE *f
+ use language_string.
+ C is 0. Fortran is 1. Pascal is 2. Ada is 3. C++ is 9.
+ Java is 13. Objective-C is 14. Objective-C++ isn't assigned
+- a number, so for now use 9. LTO, Go and JIT aren't assigned numbers
+- either, so for now use 0. */
++ a number, so for now use 9. LTO, Go, D and JIT aren't assigned
++ numbers either, so for now use 0. */
+ if (lang_GNU_C ()
+ || ! strcmp (language_string, "GNU GIMPLE")
+ || ! strcmp (language_string, "GNU Go")
++ || ! strcmp (language_string, "GNU D")
+ || ! strcmp (language_string, "libgccjit"))
+ i = 0;
+ else if (! strcmp (language_string, "GNU F77")
+--- a/src/gcc/config/rs6000/rs6000.c
++++ b/src/gcc/config/rs6000/rs6000.c
+@@ -29442,11 +29442,12 @@ rs6000_output_function_epilogue (FILE *f
+ use language_string.
+ C is 0. Fortran is 1. Pascal is 2. Ada is 3. C++ is 9.
+ Java is 13. Objective-C is 14. Objective-C++ isn't assigned
+- a number, so for now use 9. LTO, Go and JIT aren't assigned numbers
+- either, so for now use 0. */
++ a number, so for now use 9. LTO, Go, D, and JIT aren't assigned
++ numbers either, so for now use 0. */
+ if (lang_GNU_C ()
+ || ! strcmp (language_string, "GNU GIMPLE")
+ || ! strcmp (language_string, "GNU Go")
++ || ! strcmp (language_string, "GNU D")
+ || ! strcmp (language_string, "libgccjit"))
+ i = 0;
+ else if (! strcmp (language_string, "GNU F77")
+--- a/src/gcc/dwarf2out.c
++++ b/src/gcc/dwarf2out.c
+@@ -5471,6 +5471,16 @@ is_ada (void)
+ return lang == DW_LANG_Ada95 || lang == DW_LANG_Ada83;
+ }
+
++/* Return TRUE if the language is D. */
++
++static inline bool
++is_dlang (void)
++{
++ unsigned int lang = get_AT_unsigned (comp_unit_die (), DW_AT_language);
++
++ return lang == DW_LANG_D;
++}
++
+ /* Remove the specified attribute if present. Return TRUE if removal
+ was successful. */
+
+@@ -24547,6 +24557,8 @@ gen_compile_unit_die (const char *filena
+ language = DW_LANG_ObjC;
+ else if (strcmp (language_string, "GNU Objective-C++") == 0)
+ language = DW_LANG_ObjC_plus_plus;
++ else if (strcmp (language_string, "GNU D") == 0)
++ language = DW_LANG_D;
+ else if (dwarf_version >= 5 || !dwarf_strict)
+ {
+ if (strcmp (language_string, "GNU Go") == 0)
+@@ -26147,7 +26159,7 @@ declare_in_namespace (tree thing, dw_die
+
+ if (ns_context != context_die)
+ {
+- if (is_fortran ())
++ if (is_fortran () || is_dlang ())
+ return ns_context;
+ if (DECL_P (thing))
+ gen_decl_die (thing, NULL, NULL, ns_context);
+@@ -26170,7 +26182,7 @@ gen_namespace_die (tree decl, dw_die_ref
+ {
+ /* Output a real namespace or module. */
+ context_die = setup_namespace_context (decl, comp_unit_die ());
+- namespace_die = new_die (is_fortran ()
++ namespace_die = new_die (is_fortran () || is_dlang ()
+ ? DW_TAG_module : DW_TAG_namespace,
+ context_die, decl);
+ /* For Fortran modules defined in different CU don't add src coords. */
+@@ -26242,7 +26254,7 @@ gen_decl_die (tree decl, tree origin, st
+ break;
+
+ case CONST_DECL:
+- if (!is_fortran () && !is_ada ())
++ if (!is_fortran () && !is_ada () && !is_dlang ())
+ {
+ /* The individual enumerators of an enum type get output when we output
+ the Dwarf representation of the relevant enum type itself. */
+@@ -26839,7 +26851,7 @@ dwarf2out_decl (tree decl)
+ case CONST_DECL:
+ if (debug_info_level <= DINFO_LEVEL_TERSE)
+ return;
+- if (!is_fortran () && !is_ada ())
++ if (!is_fortran () && !is_ada () && !is_dlang ())
+ return;
+ if (TREE_STATIC (decl) && decl_function_context (decl))
+ context_die = lookup_decl_die (DECL_CONTEXT (decl));
+--- a/src/gcc/gcc.c
++++ b/src/gcc/gcc.c
+@@ -1305,6 +1305,7 @@ static const struct compiler default_com
+ {".f08", "#Fortran", 0, 0, 0}, {".F08", "#Fortran", 0, 0, 0},
+ {".r", "#Ratfor", 0, 0, 0},
+ {".go", "#Go", 0, 1, 0},
++ {".d", "#D", 0, 1, 0}, {".dd", "#D", 0, 1, 0}, {".di", "#D", 0, 1, 0},
+ /* Next come the entries for C. */
+ {".c", "@c", 0, 0, 1},
+ {"@c",
+--- a/src/gcc/po/EXCLUDES
++++ b/src/gcc/po/EXCLUDES
+@@ -53,3 +53,43 @@ genrecog.c
+ gensupport.c
+ gensupport.h
+ read-md.c
++
++# These files are part of the front end to D, and have no i18n support.
++d/dfrontend/arrayop.c
++d/dfrontend/attrib.c
++d/dfrontend/canthrow.c
++d/dfrontend/cond.c
++d/dfrontend/constfold.c
++d/dfrontend/cppmangle.c
++d/dfrontend/ctfeexpr.c
++d/dfrontend/dcast.c
++d/dfrontend/dclass.c
++d/dfrontend/declaration.c
++d/dfrontend/denum.c
++d/dfrontend/dimport.c
++d/dfrontend/dinterpret.c
++d/dfrontend/dmangle.c
++d/dfrontend/dmodule.c
++d/dfrontend/doc.c
++d/dfrontend/dscope.c
++d/dfrontend/dstruct.c
++d/dfrontend/dsymbol.c
++d/dfrontend/dtemplate.c
++d/dfrontend/dversion.c
++d/dfrontend/expression.c
++d/dfrontend/func.c
++d/dfrontend/init.c
++d/dfrontend/inline.c
++d/dfrontend/lexer.c
++d/dfrontend/mtype.c
++d/dfrontend/nogc.c
++d/dfrontend/nspace.c
++d/dfrontend/objc.c
++d/dfrontend/opover.c
++d/dfrontend/optimize.c
++d/dfrontend/parse.c
++d/dfrontend/sideeffect.c
++d/dfrontend/statement.c
++d/dfrontend/statementsem.c
++d/dfrontend/staticassert.c
++d/dfrontend/traits.c
--- /dev/null
+# DP: Fix the location of target's libs in cross-build for biarch
+
+--- a/src/config-ml.in
++++ b/src/config-ml.in
+@@ -891,6 +915,8 @@
+ case $arg in
+ -[BIL]"${ML_POPDIR}"/*)
+ GDC_="${GDC_}"`echo "X${arg}" | sed -n "s/X\\(-[BIL]${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X-[BIL]${popdir_rx}\\(.*\\)/\\1/p"`' ' ;;
++ -B*/lib/)
++ GDC_="${GDC_}"`echo "X${arg}" | sed -n "$FILTER_"`' ' ;;
+ "${ML_POPDIR}"/*)
+ GDC_="${GDC_}"`echo "X${arg}" | sed -n "s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X${popdir_rx}\\(.*\\)/\\1/p"`' ' ;;
+ *)
--- /dev/null
+# DP: Build idgen.dmdgen.o with the build compiler
+
+--- a/src/gcc/d/Make-lang.in
++++ b/src/gcc/d/Make-lang.in
+@@ -315,7 +315,7 @@
+ +$(LINKER_FOR_BUILD) $(BUILD_LINKER_FLAGS) $(BUILD_LDFLAGS) -o $@ $^
+
+ d/idgen.dmdgen.o: d/dfrontend/idgen.c
+- $(filter-out -fprofile-%,$(DMD_COMPILE)) $(D_INCLUDES) $<
++ $(filter-out -fprofile-%,$(DMDGEN_COMPILE)) $(D_INCLUDES) $<
+ $(POSTCOMPILE)
+
+ d/impcnvgen.dmdgen.o: $(srcdir)/d/dfrontend/impcnvgen.c
--- /dev/null
+Index: b/src/libphobos/configure.ac
+===================================================================
+--- a/src/libphobos/configure.ac
++++ b/src/libphobos/configure.ac
+@@ -154,6 +154,8 @@ PHOBOS_SOVERSION="76:2:0"
+ AC_SUBST([DRUNTIME_SOVERSION])
+ AC_SUBST([PHOBOS_SOVERSION])
+
++# trigger rebuild of the configure file
++
+ # Set default flags (after DRUNTIME_WERROR!)
+ if test -z "$GDCFLAGS"; then
+ GDCFLAGS="-Wall $WERROR_FLAG -g -frelease -O2"
+Index: b/src/libphobos/m4/druntime.m4
+===================================================================
+--- a/src/libphobos/m4/druntime.m4
++++ b/src/libphobos/m4/druntime.m4
+@@ -98,6 +98,7 @@ AC_DEFUN([DRUNTIME_INSTALL_DIRECTORIES],
+
+ # Default case for install directory for D sources files.
+ gdc_include_dir='$(libdir)/gcc/${target_alias}/${gcc_version}/include/d'
++ gdc_include_dir='${libdir}/gcc-cross/${target_alias}'/${gcc_version}/include/d
+ AC_SUBST(gdc_include_dir)
+ ])
+
--- /dev/null
+# DP: Modify gdc driver to have no libphobos by default.
+
+Index: b/src/gcc/d/d-lang.cc
+===================================================================
+--- a/src/gcc/d/d-lang.cc
++++ b/src/gcc/d/d-lang.cc
+@@ -309,7 +309,7 @@ static void
+ d_init_options_struct (gcc_options *opts)
+ {
+ /* GCC options. */
+- opts->x_flag_exceptions = 1;
++ opts->x_flag_exceptions = 0;
+
+ /* Avoid range issues for complex multiply and divide. */
+ opts->x_flag_complex_method = 2;
+Index: b/src/gcc/d/d-spec.c
+===================================================================
+--- a/src/gcc/d/d-spec.c
++++ b/src/gcc/d/d-spec.c
+@@ -60,7 +60,7 @@ static int library = 0;
+
+ /* If true, use the standard D runtime library when linking with
+ standard libraries. */
+-static bool need_phobos = true;
++static bool need_phobos = false;
+
+ void
+ lang_specific_driver (cl_decoded_option **in_decoded_options,
--- /dev/null
+# DP: Fix build of the D frontend on the Hurd and KFreeBSD.
+
+Index: b/src/gcc/d/dfrontend/object.h
+===================================================================
+--- a/src/gcc/d/dfrontend/object.h
++++ b/src/gcc/d/dfrontend/object.h
+@@ -10,7 +10,7 @@
+ #ifndef OBJECT_H
+ #define OBJECT_H
+
+-#define POSIX (__linux__ || __APPLE__ || __FreeBSD__ || __OpenBSD__ || __sun)
++#define POSIX (__linux__ || __GLIBC__ || __gnu_hurd__ || __APPLE__ || __FreeBSD__ || __OpenBSD__ || __sun)
+
+ #if __DMC__
+ #pragma once
--- /dev/null
+# DP: This implements building of libphobos library in GCC.
+
+# Please read ada-changes-in-autogen-output.diff about src/Makefile.[def|tpl].
+
+Index: b/src/Makefile.def
+===================================================================
+--- a/src/Makefile.def
++++ b/src/Makefile.def
+@@ -165,6 +165,7 @@ target_modules = { module= libgfortran;
+ target_modules = { module= libobjc; };
+ target_modules = { module= libgo; };
+ target_modules = { module= libhsail-rt; };
++target_modules = { module= libphobos; };
+ target_modules = { module= libtermcap; no_check=true;
+ missing=mostlyclean;
+ missing=clean;
+@@ -310,6 +311,8 @@ flags_to_pass = { flag= FLAGS_FOR_TARGET
+ flags_to_pass = { flag= GFORTRAN_FOR_TARGET ; };
+ flags_to_pass = { flag= GOC_FOR_TARGET ; };
+ flags_to_pass = { flag= GOCFLAGS_FOR_TARGET ; };
++flags_to_pass = { flag= GDC_FOR_TARGET ; };
++flags_to_pass = { flag= GDCFLAGS_FOR_TARGET ; };
+ flags_to_pass = { flag= LD_FOR_TARGET ; };
+ flags_to_pass = { flag= LIPO_FOR_TARGET ; };
+ flags_to_pass = { flag= LDFLAGS_FOR_TARGET ; };
+@@ -582,6 +585,11 @@ dependencies = { module=configure-target
+ dependencies = { module=all-target-libgo; on=all-target-libbacktrace; };
+ dependencies = { module=all-target-libgo; on=all-target-libffi; };
+ dependencies = { module=all-target-libgo; on=all-target-libatomic; };
++dependencies = { module=configure-target-libphobos; on=configure-target-libbacktrace; };
++dependencies = { module=configure-target-libphobos; on=configure-target-zlib; };
++dependencies = { module=all-target-libphobos; on=all-target-libbacktrace; };
++dependencies = { module=all-target-libphobos; on=all-target-zlib; };
++dependencies = { module=all-target-libphobos; on=all-target-libatomic; };
+ dependencies = { module=configure-target-libstdc++-v3; on=configure-target-libgomp; };
+ dependencies = { module=configure-target-liboffloadmic; on=configure-target-libgomp; };
+ dependencies = { module=configure-target-libsanitizer; on=all-target-libstdc++-v3; };
+@@ -595,6 +603,7 @@ dependencies = { module=all-target-libof
+ dependencies = { module=install-target-libgo; on=install-target-libatomic; };
+ dependencies = { module=install-target-libgfortran; on=install-target-libquadmath; };
+ dependencies = { module=install-target-libgfortran; on=install-target-libgcc; };
++dependencies = { module=install-target-libphobos; on=install-target-libatomic; };
+ dependencies = { module=install-target-libsanitizer; on=install-target-libstdc++-v3; };
+ dependencies = { module=install-target-libsanitizer; on=install-target-libgcc; };
+ dependencies = { module=install-target-libvtv; on=install-target-libstdc++-v3; };
+@@ -635,6 +644,8 @@ languages = { language=go; gcc-check-tar
+ lib-check-target=check-gotools; };
+ languages = { language=brig; gcc-check-target=check-brig;
+ lib-check-target=check-target-libhsail-rt; };
++languages = { language=d; gcc-check-target=check-d;
++ lib-check-target=check-target-libphobos; };
+
+ // Toplevel bootstrap
+ bootstrap_stage = { id=1 ; };
+Index: b/src/Makefile.in
+===================================================================
+--- a/src/Makefile.in
++++ b/src/Makefile.in
+@@ -156,6 +156,8 @@ BUILD_EXPORTS = \
+ GFORTRAN="$(GFORTRAN_FOR_BUILD)"; export GFORTRAN; \
+ GOC="$(GOC_FOR_BUILD)"; export GOC; \
+ GOCFLAGS="$(GOCFLAGS_FOR_BUILD)"; export GOCFLAGS; \
++ GDC="$(GDC_FOR_BUILD)"; export GDC; \
++ GDCFLAGS="$(GDCFLAGS_FOR_BUILD)"; export GDCFLAGS; \
+ DLLTOOL="$(DLLTOOL_FOR_BUILD)"; export DLLTOOL; \
+ LD="$(LD_FOR_BUILD)"; export LD; \
+ LDFLAGS="$(LDFLAGS_FOR_BUILD)"; export LDFLAGS; \
+@@ -192,6 +194,7 @@ HOST_EXPORTS = \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ GFORTRAN="$(GFORTRAN)"; export GFORTRAN; \
+ GOC="$(GOC)"; export GOC; \
++ GDC="$(GDC)"; export GDC; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+@@ -278,6 +281,7 @@ BASE_TARGET_EXPORTS = \
+ CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+ GFORTRAN="$(GFORTRAN_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GFORTRAN; \
+ GOC="$(GOC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GOC; \
++ GDC="$(GDC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GDC; \
+ DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \
+ LD="$(COMPILER_LD_FOR_TARGET)"; export LD; \
+ LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \
+@@ -342,6 +346,7 @@ CXX_FOR_BUILD = @CXX_FOR_BUILD@
+ DLLTOOL_FOR_BUILD = @DLLTOOL_FOR_BUILD@
+ GFORTRAN_FOR_BUILD = @GFORTRAN_FOR_BUILD@
+ GOC_FOR_BUILD = @GOC_FOR_BUILD@
++GDC_FOR_BUILD = @GDC_FOR_BUILD@
+ LDFLAGS_FOR_BUILD = @LDFLAGS_FOR_BUILD@
+ LD_FOR_BUILD = @LD_FOR_BUILD@
+ NM_FOR_BUILD = @NM_FOR_BUILD@
+@@ -408,6 +413,7 @@ LIBCFLAGS = $(CFLAGS)
+ CXXFLAGS = @CXXFLAGS@
+ LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates
+ GOCFLAGS = $(CFLAGS)
++GDCFLAGS = $(CFLAGS)
+
+ CREATE_GCOV = create_gcov
+
+@@ -564,6 +570,7 @@ CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @CXX_
+ RAW_CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @RAW_CXX_FOR_TARGET@
+ GFORTRAN_FOR_TARGET=$(STAGE_CC_WRAPPER) @GFORTRAN_FOR_TARGET@
+ GOC_FOR_TARGET=$(STAGE_CC_WRAPPER) @GOC_FOR_TARGET@
++GDC_FOR_TARGET=$(STAGE_CC_WRAPPER) @GDC_FOR_TARGET@
+ DLLTOOL_FOR_TARGET=@DLLTOOL_FOR_TARGET@
+ LD_FOR_TARGET=@LD_FOR_TARGET@
+
+@@ -588,6 +595,7 @@ LIBCFLAGS_FOR_TARGET = $(CFLAGS_FOR_TARG
+ LIBCXXFLAGS_FOR_TARGET = $(CXXFLAGS_FOR_TARGET) -fno-implicit-templates
+ LDFLAGS_FOR_TARGET = @LDFLAGS_FOR_TARGET@
+ GOCFLAGS_FOR_TARGET = -O2 -g
++GDCFLAGS_FOR_TARGET = -O2 -g
+
+ FLAGS_FOR_TARGET = @FLAGS_FOR_TARGET@
+ SYSROOT_CFLAGS_FOR_TARGET = @SYSROOT_CFLAGS_FOR_TARGET@
+@@ -783,6 +791,8 @@ BASE_FLAGS_TO_PASS = \
+ "GFORTRAN_FOR_TARGET=$(GFORTRAN_FOR_TARGET)" \
+ "GOC_FOR_TARGET=$(GOC_FOR_TARGET)" \
+ "GOCFLAGS_FOR_TARGET=$(GOCFLAGS_FOR_TARGET)" \
++ "GDC_FOR_TARGET=$(GDC_FOR_TARGET)" \
++ "GDCFLAGS_FOR_TARGET=$(GDCFLAGS_FOR_TARGET)" \
+ "LD_FOR_TARGET=$(LD_FOR_TARGET)" \
+ "LIPO_FOR_TARGET=$(LIPO_FOR_TARGET)" \
+ "LDFLAGS_FOR_TARGET=$(LDFLAGS_FOR_TARGET)" \
+@@ -845,6 +855,7 @@ EXTRA_HOST_FLAGS = \
+ 'DLLTOOL=$(DLLTOOL)' \
+ 'GFORTRAN=$(GFORTRAN)' \
+ 'GOC=$(GOC)' \
++ 'GDC=$(GDC)' \
+ 'LD=$(LD)' \
+ 'LIPO=$(LIPO)' \
+ 'NM=$(NM)' \
+@@ -901,6 +912,8 @@ EXTRA_TARGET_FLAGS = \
+ 'GFORTRAN=$$(GFORTRAN_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
+ 'GOC=$$(GOC_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
+ 'GOCFLAGS=$$(GOCFLAGS_FOR_TARGET)' \
++ 'GDC=$$(GDC_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
++ 'GDCFLAGS=$$(GDCFLAGS_FOR_TARGET)' \
+ 'LD=$(COMPILER_LD_FOR_TARGET)' \
+ 'LDFLAGS=$$(LDFLAGS_FOR_TARGET)' \
+ 'LIBCFLAGS=$$(LIBCFLAGS_FOR_TARGET)' \
+@@ -1003,6 +1016,7 @@ configure-target: \
+ maybe-configure-target-libobjc \
+ maybe-configure-target-libgo \
+ maybe-configure-target-libhsail-rt \
++ maybe-configure-target-libphobos \
+ maybe-configure-target-libtermcap \
+ maybe-configure-target-winsup \
+ maybe-configure-target-libgloss \
+@@ -1168,6 +1182,7 @@ all-target: maybe-all-target-libgfortran
+ all-target: maybe-all-target-libobjc
+ all-target: maybe-all-target-libgo
+ all-target: maybe-all-target-libhsail-rt
++all-target: maybe-all-target-libphobos
+ all-target: maybe-all-target-libtermcap
+ all-target: maybe-all-target-winsup
+ all-target: maybe-all-target-libgloss
+@@ -1260,6 +1275,7 @@ info-target: maybe-info-target-libgfortr
+ info-target: maybe-info-target-libobjc
+ info-target: maybe-info-target-libgo
+ info-target: maybe-info-target-libhsail-rt
++info-target: maybe-info-target-libphobos
+ info-target: maybe-info-target-libtermcap
+ info-target: maybe-info-target-winsup
+ info-target: maybe-info-target-libgloss
+@@ -1345,6 +1361,7 @@ dvi-target: maybe-dvi-target-libgfortran
+ dvi-target: maybe-dvi-target-libobjc
+ dvi-target: maybe-dvi-target-libgo
+ dvi-target: maybe-dvi-target-libhsail-rt
++dvi-target: maybe-dvi-target-libphobos
+ dvi-target: maybe-dvi-target-libtermcap
+ dvi-target: maybe-dvi-target-winsup
+ dvi-target: maybe-dvi-target-libgloss
+@@ -1430,6 +1447,7 @@ pdf-target: maybe-pdf-target-libgfortran
+ pdf-target: maybe-pdf-target-libobjc
+ pdf-target: maybe-pdf-target-libgo
+ pdf-target: maybe-pdf-target-libhsail-rt
++pdf-target: maybe-pdf-target-libphobos
+ pdf-target: maybe-pdf-target-libtermcap
+ pdf-target: maybe-pdf-target-winsup
+ pdf-target: maybe-pdf-target-libgloss
+@@ -1515,6 +1533,7 @@ html-target: maybe-html-target-libgfortr
+ html-target: maybe-html-target-libobjc
+ html-target: maybe-html-target-libgo
+ html-target: maybe-html-target-libhsail-rt
++html-target: maybe-html-target-libphobos
+ html-target: maybe-html-target-libtermcap
+ html-target: maybe-html-target-winsup
+ html-target: maybe-html-target-libgloss
+@@ -1600,6 +1619,7 @@ TAGS-target: maybe-TAGS-target-libgfortr
+ TAGS-target: maybe-TAGS-target-libobjc
+ TAGS-target: maybe-TAGS-target-libgo
+ TAGS-target: maybe-TAGS-target-libhsail-rt
++TAGS-target: maybe-TAGS-target-libphobos
+ TAGS-target: maybe-TAGS-target-libtermcap
+ TAGS-target: maybe-TAGS-target-winsup
+ TAGS-target: maybe-TAGS-target-libgloss
+@@ -1685,6 +1705,7 @@ install-info-target: maybe-install-info-
+ install-info-target: maybe-install-info-target-libobjc
+ install-info-target: maybe-install-info-target-libgo
+ install-info-target: maybe-install-info-target-libhsail-rt
++install-info-target: maybe-install-info-target-libphobos
+ install-info-target: maybe-install-info-target-libtermcap
+ install-info-target: maybe-install-info-target-winsup
+ install-info-target: maybe-install-info-target-libgloss
+@@ -1770,6 +1791,7 @@ install-pdf-target: maybe-install-pdf-ta
+ install-pdf-target: maybe-install-pdf-target-libobjc
+ install-pdf-target: maybe-install-pdf-target-libgo
+ install-pdf-target: maybe-install-pdf-target-libhsail-rt
++install-pdf-target: maybe-install-pdf-target-libphobos
+ install-pdf-target: maybe-install-pdf-target-libtermcap
+ install-pdf-target: maybe-install-pdf-target-winsup
+ install-pdf-target: maybe-install-pdf-target-libgloss
+@@ -1855,6 +1877,7 @@ install-html-target: maybe-install-html-
+ install-html-target: maybe-install-html-target-libobjc
+ install-html-target: maybe-install-html-target-libgo
+ install-html-target: maybe-install-html-target-libhsail-rt
++install-html-target: maybe-install-html-target-libphobos
+ install-html-target: maybe-install-html-target-libtermcap
+ install-html-target: maybe-install-html-target-winsup
+ install-html-target: maybe-install-html-target-libgloss
+@@ -1940,6 +1963,7 @@ installcheck-target: maybe-installcheck-
+ installcheck-target: maybe-installcheck-target-libobjc
+ installcheck-target: maybe-installcheck-target-libgo
+ installcheck-target: maybe-installcheck-target-libhsail-rt
++installcheck-target: maybe-installcheck-target-libphobos
+ installcheck-target: maybe-installcheck-target-libtermcap
+ installcheck-target: maybe-installcheck-target-winsup
+ installcheck-target: maybe-installcheck-target-libgloss
+@@ -2025,6 +2049,7 @@ mostlyclean-target: maybe-mostlyclean-ta
+ mostlyclean-target: maybe-mostlyclean-target-libobjc
+ mostlyclean-target: maybe-mostlyclean-target-libgo
+ mostlyclean-target: maybe-mostlyclean-target-libhsail-rt
++mostlyclean-target: maybe-mostlyclean-target-libphobos
+ mostlyclean-target: maybe-mostlyclean-target-libtermcap
+ mostlyclean-target: maybe-mostlyclean-target-winsup
+ mostlyclean-target: maybe-mostlyclean-target-libgloss
+@@ -2110,6 +2135,7 @@ clean-target: maybe-clean-target-libgfor
+ clean-target: maybe-clean-target-libobjc
+ clean-target: maybe-clean-target-libgo
+ clean-target: maybe-clean-target-libhsail-rt
++clean-target: maybe-clean-target-libphobos
+ clean-target: maybe-clean-target-libtermcap
+ clean-target: maybe-clean-target-winsup
+ clean-target: maybe-clean-target-libgloss
+@@ -2195,6 +2221,7 @@ distclean-target: maybe-distclean-target
+ distclean-target: maybe-distclean-target-libobjc
+ distclean-target: maybe-distclean-target-libgo
+ distclean-target: maybe-distclean-target-libhsail-rt
++distclean-target: maybe-distclean-target-libphobos
+ distclean-target: maybe-distclean-target-libtermcap
+ distclean-target: maybe-distclean-target-winsup
+ distclean-target: maybe-distclean-target-libgloss
+@@ -2280,6 +2307,7 @@ maintainer-clean-target: maybe-maintaine
+ maintainer-clean-target: maybe-maintainer-clean-target-libobjc
+ maintainer-clean-target: maybe-maintainer-clean-target-libgo
+ maintainer-clean-target: maybe-maintainer-clean-target-libhsail-rt
++maintainer-clean-target: maybe-maintainer-clean-target-libphobos
+ maintainer-clean-target: maybe-maintainer-clean-target-libtermcap
+ maintainer-clean-target: maybe-maintainer-clean-target-winsup
+ maintainer-clean-target: maybe-maintainer-clean-target-libgloss
+@@ -2421,6 +2449,7 @@ check-target: \
+ maybe-check-target-libobjc \
+ maybe-check-target-libgo \
+ maybe-check-target-libhsail-rt \
++ maybe-check-target-libphobos \
+ maybe-check-target-libtermcap \
+ maybe-check-target-winsup \
+ maybe-check-target-libgloss \
+@@ -2602,6 +2631,7 @@ install-target: \
+ maybe-install-target-libobjc \
+ maybe-install-target-libgo \
+ maybe-install-target-libhsail-rt \
++ maybe-install-target-libphobos \
+ maybe-install-target-libtermcap \
+ maybe-install-target-winsup \
+ maybe-install-target-libgloss \
+@@ -2707,6 +2737,7 @@ install-strip-target: \
+ maybe-install-strip-target-libobjc \
+ maybe-install-strip-target-libgo \
+ maybe-install-strip-target-libhsail-rt \
++ maybe-install-strip-target-libphobos \
+ maybe-install-strip-target-libtermcap \
+ maybe-install-strip-target-winsup \
+ maybe-install-strip-target-libgloss \
+@@ -48201,6 +48232,464 @@ maintainer-clean-target-libhsail-rt:
+
+
+
++.PHONY: configure-target-libphobos maybe-configure-target-libphobos
++maybe-configure-target-libphobos:
++@if gcc-bootstrap
++configure-target-libphobos: stage_current
++@endif gcc-bootstrap
++@if target-libphobos
++maybe-configure-target-libphobos: configure-target-libphobos
++configure-target-libphobos:
++ @: $(MAKE); $(unstage)
++ @r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ echo "Checking multilib configuration for libphobos..."; \
++ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libphobos; \
++ $(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libphobos/multilib.tmp 2> /dev/null; \
++ if test -r $(TARGET_SUBDIR)/libphobos/multilib.out; then \
++ if cmp -s $(TARGET_SUBDIR)/libphobos/multilib.tmp $(TARGET_SUBDIR)/libphobos/multilib.out; then \
++ rm -f $(TARGET_SUBDIR)/libphobos/multilib.tmp; \
++ else \
++ rm -f $(TARGET_SUBDIR)/libphobos/Makefile; \
++ mv $(TARGET_SUBDIR)/libphobos/multilib.tmp $(TARGET_SUBDIR)/libphobos/multilib.out; \
++ fi; \
++ else \
++ mv $(TARGET_SUBDIR)/libphobos/multilib.tmp $(TARGET_SUBDIR)/libphobos/multilib.out; \
++ fi; \
++ test ! -f $(TARGET_SUBDIR)/libphobos/Makefile || exit 0; \
++ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libphobos; \
++ $(NORMAL_TARGET_EXPORTS) \
++ echo Configuring in $(TARGET_SUBDIR)/libphobos; \
++ cd "$(TARGET_SUBDIR)/libphobos" || exit 1; \
++ case $(srcdir) in \
++ /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
++ *) topdir=`echo $(TARGET_SUBDIR)/libphobos/ | \
++ sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
++ esac; \
++ module_srcdir=libphobos; \
++ rm -f no-such-file || : ; \
++ CONFIG_SITE=no-such-file $(SHELL) \
++ $$s/$$module_srcdir/configure \
++ --srcdir=$${topdir}/$$module_srcdir \
++ $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
++ --target=${target_alias} \
++ || exit 1
++@endif target-libphobos
++
++
++
++
++
++.PHONY: all-target-libphobos maybe-all-target-libphobos
++maybe-all-target-libphobos:
++@if gcc-bootstrap
++all-target-libphobos: stage_current
++@endif gcc-bootstrap
++@if target-libphobos
++TARGET-target-libphobos=all
++maybe-all-target-libphobos: all-target-libphobos
++all-target-libphobos: configure-target-libphobos
++ @: $(MAKE); $(unstage)
++ @r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(NORMAL_TARGET_EXPORTS) \
++ (cd $(TARGET_SUBDIR)/libphobos && \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS) \
++ $(TARGET-target-libphobos))
++@endif target-libphobos
++
++
++
++
++
++.PHONY: check-target-libphobos maybe-check-target-libphobos
++maybe-check-target-libphobos:
++@if target-libphobos
++maybe-check-target-libphobos: check-target-libphobos
++
++check-target-libphobos:
++ @: $(MAKE); $(unstage)
++ @r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(NORMAL_TARGET_EXPORTS) \
++ (cd $(TARGET_SUBDIR)/libphobos && \
++ $(MAKE) $(TARGET_FLAGS_TO_PASS) check)
++
++@endif target-libphobos
++
++.PHONY: install-target-libphobos maybe-install-target-libphobos
++maybe-install-target-libphobos:
++@if target-libphobos
++maybe-install-target-libphobos: install-target-libphobos
++
++install-target-libphobos: installdirs
++ @: $(MAKE); $(unstage)
++ @r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(NORMAL_TARGET_EXPORTS) \
++ (cd $(TARGET_SUBDIR)/libphobos && \
++ $(MAKE) $(TARGET_FLAGS_TO_PASS) install)
++
++@endif target-libphobos
++
++.PHONY: install-strip-target-libphobos maybe-install-strip-target-libphobos
++maybe-install-strip-target-libphobos:
++@if target-libphobos
++maybe-install-strip-target-libphobos: install-strip-target-libphobos
++
++install-strip-target-libphobos: installdirs
++ @: $(MAKE); $(unstage)
++ @r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(NORMAL_TARGET_EXPORTS) \
++ (cd $(TARGET_SUBDIR)/libphobos && \
++ $(MAKE) $(TARGET_FLAGS_TO_PASS) install-strip)
++
++@endif target-libphobos
++
++# Other targets (info, dvi, pdf, etc.)
++
++.PHONY: maybe-info-target-libphobos info-target-libphobos
++maybe-info-target-libphobos:
++@if target-libphobos
++maybe-info-target-libphobos: info-target-libphobos
++
++info-target-libphobos: \
++ configure-target-libphobos
++ @: $(MAKE); $(unstage)
++ @[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \
++ r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(NORMAL_TARGET_EXPORTS) \
++ echo "Doing info in $(TARGET_SUBDIR)/libphobos"; \
++ for flag in $(EXTRA_TARGET_FLAGS); do \
++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
++ done; \
++ (cd $(TARGET_SUBDIR)/libphobos && \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
++ "RANLIB=$${RANLIB}" \
++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
++ info) \
++ || exit 1
++
++@endif target-libphobos
++
++.PHONY: maybe-dvi-target-libphobos dvi-target-libphobos
++maybe-dvi-target-libphobos:
++@if target-libphobos
++maybe-dvi-target-libphobos: dvi-target-libphobos
++
++dvi-target-libphobos: \
++ configure-target-libphobos
++ @: $(MAKE); $(unstage)
++ @[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \
++ r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(NORMAL_TARGET_EXPORTS) \
++ echo "Doing dvi in $(TARGET_SUBDIR)/libphobos"; \
++ for flag in $(EXTRA_TARGET_FLAGS); do \
++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
++ done; \
++ (cd $(TARGET_SUBDIR)/libphobos && \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
++ "RANLIB=$${RANLIB}" \
++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
++ dvi) \
++ || exit 1
++
++@endif target-libphobos
++
++.PHONY: maybe-pdf-target-libphobos pdf-target-libphobos
++maybe-pdf-target-libphobos:
++@if target-libphobos
++maybe-pdf-target-libphobos: pdf-target-libphobos
++
++pdf-target-libphobos: \
++ configure-target-libphobos
++ @: $(MAKE); $(unstage)
++ @[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \
++ r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(NORMAL_TARGET_EXPORTS) \
++ echo "Doing pdf in $(TARGET_SUBDIR)/libphobos"; \
++ for flag in $(EXTRA_TARGET_FLAGS); do \
++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
++ done; \
++ (cd $(TARGET_SUBDIR)/libphobos && \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
++ "RANLIB=$${RANLIB}" \
++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
++ pdf) \
++ || exit 1
++
++@endif target-libphobos
++
++.PHONY: maybe-html-target-libphobos html-target-libphobos
++maybe-html-target-libphobos:
++@if target-libphobos
++maybe-html-target-libphobos: html-target-libphobos
++
++html-target-libphobos: \
++ configure-target-libphobos
++ @: $(MAKE); $(unstage)
++ @[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \
++ r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(NORMAL_TARGET_EXPORTS) \
++ echo "Doing html in $(TARGET_SUBDIR)/libphobos"; \
++ for flag in $(EXTRA_TARGET_FLAGS); do \
++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
++ done; \
++ (cd $(TARGET_SUBDIR)/libphobos && \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
++ "RANLIB=$${RANLIB}" \
++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
++ html) \
++ || exit 1
++
++@endif target-libphobos
++
++.PHONY: maybe-TAGS-target-libphobos TAGS-target-libphobos
++maybe-TAGS-target-libphobos:
++@if target-libphobos
++maybe-TAGS-target-libphobos: TAGS-target-libphobos
++
++TAGS-target-libphobos: \
++ configure-target-libphobos
++ @: $(MAKE); $(unstage)
++ @[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \
++ r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(NORMAL_TARGET_EXPORTS) \
++ echo "Doing TAGS in $(TARGET_SUBDIR)/libphobos"; \
++ for flag in $(EXTRA_TARGET_FLAGS); do \
++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
++ done; \
++ (cd $(TARGET_SUBDIR)/libphobos && \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
++ "RANLIB=$${RANLIB}" \
++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
++ TAGS) \
++ || exit 1
++
++@endif target-libphobos
++
++.PHONY: maybe-install-info-target-libphobos install-info-target-libphobos
++maybe-install-info-target-libphobos:
++@if target-libphobos
++maybe-install-info-target-libphobos: install-info-target-libphobos
++
++install-info-target-libphobos: \
++ configure-target-libphobos \
++ info-target-libphobos
++ @: $(MAKE); $(unstage)
++ @[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \
++ r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(NORMAL_TARGET_EXPORTS) \
++ echo "Doing install-info in $(TARGET_SUBDIR)/libphobos"; \
++ for flag in $(EXTRA_TARGET_FLAGS); do \
++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
++ done; \
++ (cd $(TARGET_SUBDIR)/libphobos && \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
++ "RANLIB=$${RANLIB}" \
++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
++ install-info) \
++ || exit 1
++
++@endif target-libphobos
++
++.PHONY: maybe-install-pdf-target-libphobos install-pdf-target-libphobos
++maybe-install-pdf-target-libphobos:
++@if target-libphobos
++maybe-install-pdf-target-libphobos: install-pdf-target-libphobos
++
++install-pdf-target-libphobos: \
++ configure-target-libphobos \
++ pdf-target-libphobos
++ @: $(MAKE); $(unstage)
++ @[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \
++ r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(NORMAL_TARGET_EXPORTS) \
++ echo "Doing install-pdf in $(TARGET_SUBDIR)/libphobos"; \
++ for flag in $(EXTRA_TARGET_FLAGS); do \
++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
++ done; \
++ (cd $(TARGET_SUBDIR)/libphobos && \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
++ "RANLIB=$${RANLIB}" \
++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
++ install-pdf) \
++ || exit 1
++
++@endif target-libphobos
++
++.PHONY: maybe-install-html-target-libphobos install-html-target-libphobos
++maybe-install-html-target-libphobos:
++@if target-libphobos
++maybe-install-html-target-libphobos: install-html-target-libphobos
++
++install-html-target-libphobos: \
++ configure-target-libphobos \
++ html-target-libphobos
++ @: $(MAKE); $(unstage)
++ @[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \
++ r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(NORMAL_TARGET_EXPORTS) \
++ echo "Doing install-html in $(TARGET_SUBDIR)/libphobos"; \
++ for flag in $(EXTRA_TARGET_FLAGS); do \
++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
++ done; \
++ (cd $(TARGET_SUBDIR)/libphobos && \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
++ "RANLIB=$${RANLIB}" \
++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
++ install-html) \
++ || exit 1
++
++@endif target-libphobos
++
++.PHONY: maybe-installcheck-target-libphobos installcheck-target-libphobos
++maybe-installcheck-target-libphobos:
++@if target-libphobos
++maybe-installcheck-target-libphobos: installcheck-target-libphobos
++
++installcheck-target-libphobos: \
++ configure-target-libphobos
++ @: $(MAKE); $(unstage)
++ @[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \
++ r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(NORMAL_TARGET_EXPORTS) \
++ echo "Doing installcheck in $(TARGET_SUBDIR)/libphobos"; \
++ for flag in $(EXTRA_TARGET_FLAGS); do \
++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
++ done; \
++ (cd $(TARGET_SUBDIR)/libphobos && \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
++ "RANLIB=$${RANLIB}" \
++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
++ installcheck) \
++ || exit 1
++
++@endif target-libphobos
++
++.PHONY: maybe-mostlyclean-target-libphobos mostlyclean-target-libphobos
++maybe-mostlyclean-target-libphobos:
++@if target-libphobos
++maybe-mostlyclean-target-libphobos: mostlyclean-target-libphobos
++
++mostlyclean-target-libphobos:
++ @: $(MAKE); $(unstage)
++ @[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \
++ r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(NORMAL_TARGET_EXPORTS) \
++ echo "Doing mostlyclean in $(TARGET_SUBDIR)/libphobos"; \
++ for flag in $(EXTRA_TARGET_FLAGS); do \
++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
++ done; \
++ (cd $(TARGET_SUBDIR)/libphobos && \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
++ "RANLIB=$${RANLIB}" \
++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
++ mostlyclean) \
++ || exit 1
++
++@endif target-libphobos
++
++.PHONY: maybe-clean-target-libphobos clean-target-libphobos
++maybe-clean-target-libphobos:
++@if target-libphobos
++maybe-clean-target-libphobos: clean-target-libphobos
++
++clean-target-libphobos:
++ @: $(MAKE); $(unstage)
++ @[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \
++ r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(NORMAL_TARGET_EXPORTS) \
++ echo "Doing clean in $(TARGET_SUBDIR)/libphobos"; \
++ for flag in $(EXTRA_TARGET_FLAGS); do \
++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
++ done; \
++ (cd $(TARGET_SUBDIR)/libphobos && \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
++ "RANLIB=$${RANLIB}" \
++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
++ clean) \
++ || exit 1
++
++@endif target-libphobos
++
++.PHONY: maybe-distclean-target-libphobos distclean-target-libphobos
++maybe-distclean-target-libphobos:
++@if target-libphobos
++maybe-distclean-target-libphobos: distclean-target-libphobos
++
++distclean-target-libphobos:
++ @: $(MAKE); $(unstage)
++ @[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \
++ r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(NORMAL_TARGET_EXPORTS) \
++ echo "Doing distclean in $(TARGET_SUBDIR)/libphobos"; \
++ for flag in $(EXTRA_TARGET_FLAGS); do \
++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
++ done; \
++ (cd $(TARGET_SUBDIR)/libphobos && \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
++ "RANLIB=$${RANLIB}" \
++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
++ distclean) \
++ || exit 1
++
++@endif target-libphobos
++
++.PHONY: maybe-maintainer-clean-target-libphobos maintainer-clean-target-libphobos
++maybe-maintainer-clean-target-libphobos:
++@if target-libphobos
++maybe-maintainer-clean-target-libphobos: maintainer-clean-target-libphobos
++
++maintainer-clean-target-libphobos:
++ @: $(MAKE); $(unstage)
++ @[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \
++ r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(NORMAL_TARGET_EXPORTS) \
++ echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libphobos"; \
++ for flag in $(EXTRA_TARGET_FLAGS); do \
++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
++ done; \
++ (cd $(TARGET_SUBDIR)/libphobos && \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
++ "RANLIB=$${RANLIB}" \
++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
++ maintainer-clean) \
++ || exit 1
++
++@endif target-libphobos
++
++
++
++
++
+ .PHONY: configure-target-libtermcap maybe-configure-target-libtermcap
+ maybe-configure-target-libtermcap:
+ @if gcc-bootstrap
+@@ -53582,6 +54071,14 @@ check-gcc-brig:
+ (cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) check-brig);
+ check-brig: check-gcc-brig check-target-libhsail-rt
+
++.PHONY: check-gcc-d check-d
++check-gcc-d:
++ r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(HOST_EXPORTS) \
++ (cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) check-d);
++check-d: check-gcc-d check-target-libphobos
++
+
+ # The gcc part of install-no-fixedincludes, which relies on an intimate
+ # knowledge of how a number of gcc internal targets (inter)operate. Delegate.
+@@ -56783,6 +57280,7 @@ configure-target-libgfortran: stage_last
+ configure-target-libobjc: stage_last
+ configure-target-libgo: stage_last
+ configure-target-libhsail-rt: stage_last
++configure-target-libphobos: stage_last
+ configure-target-libtermcap: stage_last
+ configure-target-winsup: stage_last
+ configure-target-libgloss: stage_last
+@@ -56818,6 +57316,7 @@ configure-target-libgfortran: maybe-all-
+ configure-target-libobjc: maybe-all-gcc
+ configure-target-libgo: maybe-all-gcc
+ configure-target-libhsail-rt: maybe-all-gcc
++configure-target-libphobos: maybe-all-gcc
+ configure-target-libtermcap: maybe-all-gcc
+ configure-target-winsup: maybe-all-gcc
+ configure-target-libgloss: maybe-all-gcc
+@@ -57934,6 +58433,11 @@ configure-target-libgo: maybe-all-target
+ all-target-libgo: maybe-all-target-libbacktrace
+ all-target-libgo: maybe-all-target-libffi
+ all-target-libgo: maybe-all-target-libatomic
++configure-target-libphobos: maybe-configure-target-libbacktrace
++configure-target-libphobos: maybe-configure-target-zlib
++all-target-libphobos: maybe-all-target-libbacktrace
++all-target-libphobos: maybe-all-target-zlib
++all-target-libphobos: maybe-all-target-libatomic
+ configure-target-libstdc++-v3: maybe-configure-target-libgomp
+
+ configure-stage1-target-libstdc++-v3: maybe-configure-stage1-target-libgomp
+@@ -57983,6 +58487,7 @@ all-target-liboffloadmic: maybe-all-targ
+ install-target-libgo: maybe-install-target-libatomic
+ install-target-libgfortran: maybe-install-target-libquadmath
+ install-target-libgfortran: maybe-install-target-libgcc
++install-target-libphobos: maybe-install-target-libatomic
+ install-target-libsanitizer: maybe-install-target-libstdc++-v3
+ install-target-libsanitizer: maybe-install-target-libgcc
+ install-target-libvtv: maybe-install-target-libstdc++-v3
+@@ -58067,6 +58572,7 @@ configure-target-libgfortran: maybe-all-
+ configure-target-libobjc: maybe-all-target-libgcc
+ configure-target-libgo: maybe-all-target-libgcc
+ configure-target-libhsail-rt: maybe-all-target-libgcc
++configure-target-libphobos: maybe-all-target-libgcc
+ configure-target-libtermcap: maybe-all-target-libgcc
+ configure-target-winsup: maybe-all-target-libgcc
+ configure-target-libgloss: maybe-all-target-libgcc
+@@ -58107,6 +58613,8 @@ configure-target-libgo: maybe-all-target
+
+ configure-target-libhsail-rt: maybe-all-target-newlib maybe-all-target-libgloss
+
++configure-target-libphobos: maybe-all-target-newlib maybe-all-target-libgloss
++
+ configure-target-libtermcap: maybe-all-target-newlib maybe-all-target-libgloss
+
+ configure-target-winsup: maybe-all-target-newlib maybe-all-target-libgloss
+Index: b/src/Makefile.tpl
+===================================================================
+--- a/src/Makefile.tpl
++++ b/src/Makefile.tpl
+@@ -159,6 +159,8 @@ BUILD_EXPORTS = \
+ GFORTRAN="$(GFORTRAN_FOR_BUILD)"; export GFORTRAN; \
+ GOC="$(GOC_FOR_BUILD)"; export GOC; \
+ GOCFLAGS="$(GOCFLAGS_FOR_BUILD)"; export GOCFLAGS; \
++ GDC="$(GDC_FOR_BUILD)"; export GDC; \
++ GDCFLAGS="$(GDCFLAGS_FOR_BUILD)"; export GDCFLAGS; \
+ DLLTOOL="$(DLLTOOL_FOR_BUILD)"; export DLLTOOL; \
+ LD="$(LD_FOR_BUILD)"; export LD; \
+ LDFLAGS="$(LDFLAGS_FOR_BUILD)"; export LDFLAGS; \
+@@ -195,6 +197,7 @@ HOST_EXPORTS = \
+ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
+ GFORTRAN="$(GFORTRAN)"; export GFORTRAN; \
+ GOC="$(GOC)"; export GOC; \
++ GDC="$(GDC)"; export GDC; \
+ AR="$(AR)"; export AR; \
+ AS="$(AS)"; export AS; \
+ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+@@ -281,6 +284,7 @@ BASE_TARGET_EXPORTS = \
+ CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+ GFORTRAN="$(GFORTRAN_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GFORTRAN; \
+ GOC="$(GOC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GOC; \
++ GDC="$(GDC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GDC; \
+ DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \
+ LD="$(COMPILER_LD_FOR_TARGET)"; export LD; \
+ LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \
+@@ -345,6 +349,7 @@ CXX_FOR_BUILD = @CXX_FOR_BUILD@
+ DLLTOOL_FOR_BUILD = @DLLTOOL_FOR_BUILD@
+ GFORTRAN_FOR_BUILD = @GFORTRAN_FOR_BUILD@
+ GOC_FOR_BUILD = @GOC_FOR_BUILD@
++GDC_FOR_BUILD = @GDC_FOR_BUILD@
+ LDFLAGS_FOR_BUILD = @LDFLAGS_FOR_BUILD@
+ LD_FOR_BUILD = @LD_FOR_BUILD@
+ NM_FOR_BUILD = @NM_FOR_BUILD@
+@@ -411,6 +416,7 @@ LIBCFLAGS = $(CFLAGS)
+ CXXFLAGS = @CXXFLAGS@
+ LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates
+ GOCFLAGS = $(CFLAGS)
++GDCFLAGS = $(CFLAGS)
+
+ CREATE_GCOV = create_gcov
+
+@@ -487,6 +493,7 @@ CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @CXX_
+ RAW_CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @RAW_CXX_FOR_TARGET@
+ GFORTRAN_FOR_TARGET=$(STAGE_CC_WRAPPER) @GFORTRAN_FOR_TARGET@
+ GOC_FOR_TARGET=$(STAGE_CC_WRAPPER) @GOC_FOR_TARGET@
++GDC_FOR_TARGET=$(STAGE_CC_WRAPPER) @GDC_FOR_TARGET@
+ DLLTOOL_FOR_TARGET=@DLLTOOL_FOR_TARGET@
+ LD_FOR_TARGET=@LD_FOR_TARGET@
+
+@@ -511,6 +518,7 @@ LIBCFLAGS_FOR_TARGET = $(CFLAGS_FOR_TARG
+ LIBCXXFLAGS_FOR_TARGET = $(CXXFLAGS_FOR_TARGET) -fno-implicit-templates
+ LDFLAGS_FOR_TARGET = @LDFLAGS_FOR_TARGET@
+ GOCFLAGS_FOR_TARGET = -O2 -g
++GDCFLAGS_FOR_TARGET = -O2 -g
+
+ FLAGS_FOR_TARGET = @FLAGS_FOR_TARGET@
+ SYSROOT_CFLAGS_FOR_TARGET = @SYSROOT_CFLAGS_FOR_TARGET@
+@@ -612,6 +620,7 @@ EXTRA_HOST_FLAGS = \
+ 'DLLTOOL=$(DLLTOOL)' \
+ 'GFORTRAN=$(GFORTRAN)' \
+ 'GOC=$(GOC)' \
++ 'GDC=$(GDC)' \
+ 'LD=$(LD)' \
+ 'LIPO=$(LIPO)' \
+ 'NM=$(NM)' \
+@@ -668,6 +677,8 @@ EXTRA_TARGET_FLAGS = \
+ 'GFORTRAN=$$(GFORTRAN_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
+ 'GOC=$$(GOC_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
+ 'GOCFLAGS=$$(GOCFLAGS_FOR_TARGET)' \
++ 'GDC=$$(GDC_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
++ 'GDCFLAGS=$$(GDCFLAGS_FOR_TARGET)' \
+ 'LD=$(COMPILER_LD_FOR_TARGET)' \
+ 'LDFLAGS=$$(LDFLAGS_FOR_TARGET)' \
+ 'LIBCFLAGS=$$(LIBCFLAGS_FOR_TARGET)' \
+Index: b/src/config-ml.in
+===================================================================
+--- a/src/config-ml.in
++++ b/src/config-ml.in
+@@ -512,6 +512,7 @@ multi-do:
+ prefix="$(prefix)" \
+ exec_prefix="$(exec_prefix)" \
+ GOCFLAGS="$(GOCFLAGS) $${flags}" \
++ GDCFLAGS="$(GDCFLAGS) $${flags}" \
+ CXXFLAGS="$(CXXFLAGS) $${flags}" \
+ LIBCFLAGS="$(LIBCFLAGS) $${flags}" \
+ LIBCXXFLAGS="$(LIBCXXFLAGS) $${flags}" \
+@@ -745,7 +746,7 @@ if [ -n "${multidirs}" ] && [ -z "${ml_n
+ break
+ fi
+ done
+- ml_config_env='CC="${CC_}$flags" CXX="${CXX_}$flags" F77="${F77_}$flags" GFORTRAN="${GFORTRAN_}$flags" GOC="${GOC_}$flags"'
++ ml_config_env='CC="${CC_}$flags" CXX="${CXX_}$flags" F77="${F77_}$flags" GFORTRAN="${GFORTRAN_}$flags" GOC="${GOC_}$flags" GDC="${GDC_}$flags"'
+
+ if [ "${with_target_subdir}" = "." ]; then
+ CC_=$CC' '
+@@ -753,6 +754,7 @@ if [ -n "${multidirs}" ] && [ -z "${ml_n
+ F77_=$F77' '
+ GFORTRAN_=$GFORTRAN' '
+ GOC_=$GOC' '
++ GDC_=$GDC' '
+ else
+ # Create a regular expression that matches any string as long
+ # as ML_POPDIR.
+@@ -817,6 +819,18 @@ if [ -n "${multidirs}" ] && [ -z "${ml_n
+ esac
+ done
+
++ GDC_=
++ for arg in ${GDC}; do
++ case $arg in
++ -[BIL]"${ML_POPDIR}"/*)
++ GDC_="${GDC_}"`echo "X${arg}" | sed -n "s/X\\(-[BIL]${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X-[BIL]${popdir_rx}\\(.*\\)/\\1/p"`' ' ;;
++ "${ML_POPDIR}"/*)
++ GDC_="${GDC_}"`echo "X${arg}" | sed -n "s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X${popdir_rx}\\(.*\\)/\\1/p"`' ' ;;
++ *)
++ GDC_="${GDC_}${arg} " ;;
++ esac
++ done
++
+ if test "x${LD_LIBRARY_PATH+set}" = xset; then
+ LD_LIBRARY_PATH_=
+ for arg in `echo "$LD_LIBRARY_PATH" | tr ':' ' '`; do
+Index: b/src/config/multi.m4
+===================================================================
+--- a/src/config/multi.m4
++++ b/src/config/multi.m4
+@@ -64,4 +64,5 @@ multi_basedir="$multi_basedir"
+ CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
+ CC="$CC"
+ CXX="$CXX"
+-GFORTRAN="$GFORTRAN"])])dnl
++GFORTRAN="$GFORTRAN"
++GDC="$GDC"])])dnl
+Index: b/src/configure.ac
+===================================================================
+--- a/src/configure.ac
++++ b/src/configure.ac
+@@ -172,7 +172,8 @@ target_libraries="target-libgcc \
+ target-libada-sjlj \
+ ${target_libiberty} \
+ target-libgnatvsn \
+- target-libgo"
++ target-libgo \
++ target-libphobos"
+
+ # these tools are built using the target libraries, and are intended to
+ # run only in the target environment
+@@ -1256,6 +1257,7 @@ if test "${build}" != "${host}" ; then
+ CXX_FOR_BUILD=${CXX_FOR_BUILD-g++}
+ GFORTRAN_FOR_BUILD=${GFORTRAN_FOR_BUILD-gfortran}
+ GOC_FOR_BUILD=${GOC_FOR_BUILD-gccgo}
++ GDC_FOR_BUILD=${GDC_FOR_BUILD-gdc}
+ DLLTOOL_FOR_BUILD=${DLLTOOL_FOR_BUILD-dlltool}
+ LD_FOR_BUILD=${LD_FOR_BUILD-ld}
+ NM_FOR_BUILD=${NM_FOR_BUILD-nm}
+@@ -1269,6 +1271,7 @@ else
+ CXX_FOR_BUILD="\$(CXX)"
+ GFORTRAN_FOR_BUILD="\$(GFORTRAN)"
+ GOC_FOR_BUILD="\$(GOC)"
++ GDC_FOR_BUILD="\$(GDC)"
+ DLLTOOL_FOR_BUILD="\$(DLLTOOL)"
+ LD_FOR_BUILD="\$(LD)"
+ NM_FOR_BUILD="\$(NM)"
+@@ -3256,6 +3259,7 @@ AC_SUBST(CXX_FOR_BUILD)
+ AC_SUBST(DLLTOOL_FOR_BUILD)
+ AC_SUBST(GFORTRAN_FOR_BUILD)
+ AC_SUBST(GOC_FOR_BUILD)
++AC_SUBST(GDC_FOR_BUILD)
+ AC_SUBST(LDFLAGS_FOR_BUILD)
+ AC_SUBST(LD_FOR_BUILD)
+ AC_SUBST(NM_FOR_BUILD)
+@@ -3365,6 +3369,7 @@ NCN_STRICT_CHECK_TARGET_TOOLS(CXX_FOR_TA
+ NCN_STRICT_CHECK_TARGET_TOOLS(GCC_FOR_TARGET, gcc, ${CC_FOR_TARGET})
+ NCN_STRICT_CHECK_TARGET_TOOLS(GFORTRAN_FOR_TARGET, gfortran)
+ NCN_STRICT_CHECK_TARGET_TOOLS(GOC_FOR_TARGET, gccgo)
++NCN_STRICT_CHECK_TARGET_TOOLS(GDC_FOR_TARGET, gdc)
+
+ ACX_CHECK_INSTALLED_TARGET_TOOL(AR_FOR_TARGET, ar)
+ ACX_CHECK_INSTALLED_TARGET_TOOL(AS_FOR_TARGET, as)
+@@ -3398,6 +3403,8 @@ GCC_TARGET_TOOL(gfortran, GFORTRAN_FOR_T
+ [gcc/gfortran -B$$r/$(HOST_SUBDIR)/gcc/], fortran)
+ GCC_TARGET_TOOL(gccgo, GOC_FOR_TARGET, GOC,
+ [gcc/gccgo -B$$r/$(HOST_SUBDIR)/gcc/], go)
++GCC_TARGET_TOOL(gdc, GDC_FOR_TARGET, GDC,
++ [gcc/gdc -B$$r/$(HOST_SUBDIR)/gcc/], d)
+ GCC_TARGET_TOOL(ld, LD_FOR_TARGET, LD, [ld/ld-new])
+ GCC_TARGET_TOOL(lipo, LIPO_FOR_TARGET, LIPO)
+ GCC_TARGET_TOOL(nm, NM_FOR_TARGET, NM, [binutils/nm-new])
--- /dev/null
+# DP: Set the D target include directory to a multiarch location.
+
+--- a/src/gcc/d/Make-lang.in
++++ b/src/gcc/d/Make-lang.in
+@@ -61,7 +61,11 @@
+ $(D_DMD_H)
+
+
+-gcc_d_target_include_dir=$(gcc_d_include_dir)/$(target_noncanonical)
++ifneq (,$(MULTIARCH_DIRNAME))
++ gcc_d_target_include_dir = /usr/include/$(MULTIARCH_DIRNAME)/d/$(version)
++else
++ gcc_d_target_include_dir=$(gcc_d_include_dir)/$(target_noncanonical)
++endif
+
+ # Name of phobos library
+ D_LIBPHOBOS = -DLIBPHOBOS=\"gphobos2\"
--- /dev/null
+# DP: Don't build gdc build tools idgen and impcnvgen with profiling flags
+
+Index: b/src/gcc/d/Make-lang.in
+===================================================================
+--- a/src/gcc/d/Make-lang.in
++++ b/src/gcc/d/Make-lang.in
+@@ -314,6 +314,14 @@ d/idgen: d/idgen.dmdgen.o
+ d/impcvgen: d/impcnvgen.dmdgen.o
+ +$(LINKER_FOR_BUILD) $(BUILD_LINKER_FLAGS) $(BUILD_LDFLAGS) -o $@ $^
+
++d/idgen.dmdgen.o: d/dfrontend/idgen.c
++ $(filter-out -fprofile-%,$(DMD_COMPILE)) $(D_INCLUDES) $<
++ $(POSTCOMPILE)
++
++d/impcnvgen.dmdgen.o: $(srcdir)/d/dfrontend/impcnvgen.c
++ $(filter-out -fprofile-%,$(DMDGEN_COMPILE)) $(D_INCLUDES) $<
++ $(POSTCOMPILE)
++
+ # Generated sources.
+ d/id.c: d/idgen
+ cd d && ./idgen
--- /dev/null
+# DP: Link with the shared libphobos library by default.
+
+Index: b/src/gcc/d/d-spec.c
+===================================================================
+--- a/src/gcc/d/d-spec.c
++++ b/src/gcc/d/d-spec.c
+@@ -395,9 +395,9 @@ lang_specific_driver (cl_decoded_option
+ /* Add `-lgphobos' if we haven't already done so. */
+ if (library > 0 && need_phobos)
+ {
+- /* Default to static linking. */
++ /* Default to shared linking. */
+ if (library == 1)
+- library = 2;
++ library = 3;
+
+ #ifdef HAVE_LD_STATIC_DYNAMIC
+ if (library == 3 && static_link)
--- /dev/null
+# DP: Fix gdc build on sparc.
+
+--- a/src/gcc/d/d-target.cc
++++ b/src/gcc/d/d-target.cc
+@@ -18,6 +18,7 @@
+ #include "config.h"
+ #include "system.h"
+ #include "coretypes.h"
++#include "memmodel.h"
+
+ #include "dfrontend/aggregate.h"
+ #include "dfrontend/module.h"
--- /dev/null
+--- a/src/gcc/doc/tm.texi
++++ b/src/gcc/doc/tm.texi
+@@ -52,6 +52,7 @@ through the macros defined in the @file{.h} file.
+ * MIPS Coprocessors:: MIPS coprocessor support and how to customize it.
+ * PCH Target:: Validity checking for precompiled headers.
+ * C++ ABI:: Controlling C++ ABI changes.
++* D Language and ABI:: Controlling D ABI changes.
+ * Named Address Spaces:: Adding support for named address spaces
+ * Misc:: Everything else.
+ @end menu
+@@ -106,6 +107,14 @@ documented as ``Common Target Hook''. This is declared in
+ @code{target_has_targetm_common=yes} in @file{config.gcc}; otherwise a
+ default definition is used.
+
++Similarly, there is a @code{targetdm} variable for hooks that are
++specific to the D language front end, documented as ``D Target Hook''.
++This is declared in @file{d/d-target.h}, the initializer
++@code{TARGETDM_INITIALIZER} in @file{d/d-target-def.h}. If targets
++initialize @code{targetdm} themselves, they should set
++@code{target_has_targetdm=yes} in @file{config.gcc}; otherwise a default
++definition is used.
++
+ @node Driver
+ @section Controlling the Compilation Driver, @file{gcc}
+ @cindex driver
+@@ -10488,6 +10497,22 @@ unloaded. The default is to return false.
+ Return target-specific mangling context of @var{decl} or @code{NULL_TREE}.
+ @end deftypefn
+
++@node D Language and ABI
++@section D ABI parameters
++@cindex parameters, d abi
++
++@deftypefn {D Target Hook} void TARGET_D_CPU_VERSIONS (void)
++Declare all environmental version identifiers relating to the target CPU using the function @code{builtin_version}, which takes a string representing the name of the version. Version identifiers predefined by this hook apply to all modules and being compiled and imported.
++@end deftypefn
++
++@deftypefn {D Target Hook} void TARGET_D_OS_VERSIONS (void)
++Similarly to @code{TARGET_D_CPU_VERSIONS}, but is used for versions relating to the target operating system.
++@end deftypefn
++
++@deftypefn {D Target Hook} unsigned TARGET_D_CRITSEC_SIZE (void)
++Returns the size of the data structure used by the targeted operating system for critical sections and monitors. For example, on Microsoft Windows this would return the @code{sizeof(CRITICAL_SECTION)}, while other platforms that implement pthreads would return @code{sizeof(pthread_mutex_t)}.
++@end deftypefn
++
+ @node Named Address Spaces
+ @section Adding support for named address spaces
+ @cindex named address spaces
+--- a/src/gcc/doc/tm.texi.in
++++ b/src/gcc/doc/tm.texi.in
+@@ -52,6 +52,7 @@ through the macros defined in the @file{.h} file.
+ * MIPS Coprocessors:: MIPS coprocessor support and how to customize it.
+ * PCH Target:: Validity checking for precompiled headers.
+ * C++ ABI:: Controlling C++ ABI changes.
++* D Language and ABI:: Controlling D ABI changes.
+ * Named Address Spaces:: Adding support for named address spaces
+ * Misc:: Everything else.
+ @end menu
+@@ -106,6 +107,14 @@ documented as ``Common Target Hook''. This is declared in
+ @code{target_has_targetm_common=yes} in @file{config.gcc}; otherwise a
+ default definition is used.
+
++Similarly, there is a @code{targetdm} variable for hooks that are
++specific to the D language front end, documented as ``D Target Hook''.
++This is declared in @file{d/d-target.h}, the initializer
++@code{TARGETDM_INITIALIZER} in @file{d/d-target-def.h}. If targets
++initialize @code{targetdm} themselves, they should set
++@code{target_has_targetdm=yes} in @file{config.gcc}; otherwise a default
++definition is used.
++
+ @node Driver
+ @section Controlling the Compilation Driver, @file{gcc}
+ @cindex driver
+@@ -7234,6 +7243,16 @@ floating-point support; they are not included in this mechanism.
+
+ @hook TARGET_CXX_DECL_MANGLING_CONTEXT
+
++@node D Language and ABI
++@section D ABI parameters
++@cindex parameters, d abi
++
++@hook TARGET_D_CPU_VERSIONS
++
++@hook TARGET_D_OS_VERSIONS
++
++@hook TARGET_D_CRITSEC_SIZE
++
+ @node Named Address Spaces
+ @section Adding support for named address spaces
+ @cindex named address spaces
--- /dev/null
+This patch implements the support for the D language specific target hooks.
+
+The following versions are available for all supported architectures.
+* D_HardFloat
+* D_SoftFloat
+
+The following CPU versions are implemented:
+* ARM
+** Thumb (deprecated)
+** ARM_Thumb
+** ARM_HardFloat
+** ARM_SoftFloat
+** ARM_SoftFP
+* AArch64
+* Alpha
+** Alpha_SoftFloat
+** Alpha_HardFloat
+* X86
+* X86_64
+** D_X32
+* MIPS32
+* MIPS64
+** MIPS_O32
+** MIPS_O64
+** MIPS_N32
+** MIPS_N64
+** MIPS_EABI
+** MIPS_HardFloat
+** MIPS_SoftFloat
+* PPC
+* PPC64
+** PPC_HardFloat
+** PPC_SoftFloat
+* S390
+* S390X (deprecated)
+* SystemZ
+* SPARC
+* SPARC64
+* SPARC_V8Plus
+** SPARC_HardFloat
+** SPARC_SoftFloat
+
+The following OS versions are implemented:
+* linux
+* Posix
+* Hurd
+* Android
+* CRuntime_Bionic
+* CRuntime_Glibc
+* CRuntime_Musl
+* CRuntime_UClibc
+---
+
+--- a/src/gcc/Makefile.in
++++ b/src/gcc/Makefile.in
+@@ -552,6 +552,8 @@ tm_include_list=@tm_include_list@
+ tm_defines=@tm_defines@
+ tm_p_file_list=@tm_p_file_list@
+ tm_p_include_list=@tm_p_include_list@
++tm_d_file_list=@tm_d_file_list@
++tm_d_include_list=@tm_d_include_list@
+ build_xm_file_list=@build_xm_file_list@
+ build_xm_include_list=@build_xm_include_list@
+ build_xm_defines=@build_xm_defines@
+@@ -846,6 +848,7 @@ BCONFIG_H = bconfig.h $(build_xm_file_li
+ CONFIG_H = config.h $(host_xm_file_list)
+ TCONFIG_H = tconfig.h $(xm_file_list)
+ TM_P_H = tm_p.h $(tm_p_file_list)
++TM_D_H = tm_d.h $(tm_d_file_list)
+ GTM_H = tm.h $(tm_file_list) insn-constants.h
+ TM_H = $(GTM_H) insn-flags.h $(OPTIONS_H)
+
+@@ -903,9 +906,11 @@ EXCEPT_H = except.h $(HASHTAB_H)
+ TARGET_DEF = target.def target-hooks-macros.h target-insns.def
+ C_TARGET_DEF = c-family/c-target.def target-hooks-macros.h
+ COMMON_TARGET_DEF = common/common-target.def target-hooks-macros.h
++D_TARGET_DEF = d/d-target.def target-hooks-macros.h
+ TARGET_H = $(TM_H) target.h $(TARGET_DEF) insn-modes.h insn-codes.h
+ C_TARGET_H = c-family/c-target.h $(C_TARGET_DEF)
+ COMMON_TARGET_H = common/common-target.h $(INPUT_H) $(COMMON_TARGET_DEF)
++D_TARGET_H = d/d-target.h $(D_TARGET_DEF)
+ MACHMODE_H = machmode.h mode-classes.def
+ HOOKS_H = hooks.h
+ HOSTHOOKS_DEF_H = hosthooks-def.h $(HOOKS_H)
+@@ -1185,6 +1190,9 @@ C_TARGET_OBJS=@c_target_objs@
+ # Target specific, C++ specific object file
+ CXX_TARGET_OBJS=@cxx_target_objs@
+
++# Target specific, D specific object file
++D_TARGET_OBJS=@d_target_objs@
++
+ # Target specific, Fortran specific object file
+ FORTRAN_TARGET_OBJS=@fortran_target_objs@
+
+@@ -1783,6 +1791,7 @@ bconfig.h: cs-bconfig.h ; @true
+ tconfig.h: cs-tconfig.h ; @true
+ tm.h: cs-tm.h ; @true
+ tm_p.h: cs-tm_p.h ; @true
++tm_d.h: cs-tm_d.h ; @true
+
+ cs-config.h: Makefile
+ TARGET_CPU_DEFAULT="" \
+@@ -1809,6 +1818,11 @@ cs-tm_p.h: Makefile
+ HEADERS="$(tm_p_include_list)" DEFINES="" \
+ $(SHELL) $(srcdir)/mkconfig.sh tm_p.h
+
++cs-tm_d.h: Makefile
++ TARGET_CPU_DEFAULT="" \
++ HEADERS="$(tm_d_include_list)" DEFINES="" \
++ $(SHELL) $(srcdir)/mkconfig.sh tm_d.h
++
+ # Don't automatically run autoconf, since configure.ac might be accidentally
+ # newer than configure. Also, this writes into the source directory which
+ # might be on a read-only file system. If configured for maintainer mode
+@@ -2175,6 +2189,12 @@ default-c.o: config/default-c.c
+ CFLAGS-prefix.o += -DPREFIX=\"$(prefix)\" -DBASEVER=$(BASEVER_s)
+ prefix.o: $(BASEVER)
+
++# Files used by the D language front end.
++
++default-d.o: config/default-d.c
++ $(COMPILE) $<
++ $(POSTCOMPILE)
++
+ # Language-independent files.
+
+ DRIVER_DEFINES = \
+@@ -2470,6 +2490,15 @@ s-common-target-hooks-def-h: build/genho
+ common/common-target-hooks-def.h
+ $(STAMP) s-common-target-hooks-def-h
+
++d/d-target-hooks-def.h: s-d-target-hooks-def-h; @true
++
++s-d-target-hooks-def-h: build/genhooks$(build_exeext)
++ $(RUN_GEN) build/genhooks$(build_exeext) "D Target Hook" \
++ > tmp-d-target-hooks-def.h
++ $(SHELL) $(srcdir)/../move-if-change tmp-d-target-hooks-def.h \
++ d/d-target-hooks-def.h
++ $(STAMP) s-d-target-hooks-def-h
++
+ # check if someone mistakenly only changed tm.texi.
+ # We use a different pathname here to avoid a circular dependency.
+ s-tm-texi: $(srcdir)/doc/../doc/tm.texi
+@@ -2609,14 +2638,15 @@ s-gtype: build/gengtype$(build_exeext) $
+ -r gtype.state
+ $(STAMP) s-gtype
+
+-generated_files = config.h tm.h $(TM_P_H) $(TM_H) multilib.h \
++generated_files = config.h tm.h $(TM_P_H) $(TM_D_H) $(TM_H) multilib.h \
+ $(simple_generated_h) specs.h \
+ tree-check.h genrtl.h insn-modes.h insn-modes-inline.h \
+ tm-preds.h tm-constrs.h \
+ $(ALL_GTFILES_H) gtype-desc.c gtype-desc.h gcov-iov.h \
+ options.h target-hooks-def.h insn-opinit.h \
+ common/common-target-hooks-def.h pass-instances.def \
+- c-family/c-target-hooks-def.h params.list params.options case-cfn-macros.h \
++ c-family/c-target-hooks-def.h d/d-target-hooks-def.h \
++ params.list params.options case-cfn-macros.h \
+ cfn-operators.pd
+
+ #\f
+@@ -2759,7 +2789,7 @@ build/genrecog.o : genrecog.c $(RTL_BASE
+ $(CORETYPES_H) $(GTM_H) errors.h $(READ_MD_H) $(GENSUPPORT_H) \
+ $(HASH_TABLE_H) inchash.h
+ build/genhooks.o : genhooks.c $(TARGET_DEF) $(C_TARGET_DEF) \
+- $(COMMON_TARGET_DEF) $(BCONFIG_H) $(SYSTEM_H) errors.h
++ $(COMMON_TARGET_DEF) $(D_TARGET_DEF) $(BCONFIG_H) $(SYSTEM_H) errors.h
+ build/genmddump.o : genmddump.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H) \
+ $(CORETYPES_H) $(GTM_H) errors.h $(READ_MD_H) $(GENSUPPORT_H)
+ build/genmatch.o : genmatch.c $(BCONFIG_H) $(SYSTEM_H) \
+--- a/src/gcc/config.gcc
++++ b/src/gcc/config.gcc
+@@ -86,6 +86,9 @@
+ # tm_p_file Location of file with declarations for functions
+ # in $out_file.
+ #
++# tm_d_file A list of headers with definitions of target hook
++# macros for the D compiler.
++#
+ # out_file The name of the machine description C support
+ # file, if different from "$cpu_type/$cpu_type.c".
+ #
+@@ -139,6 +142,9 @@
+ # cxx_target_objs List of extra target-dependent objects that be
+ # linked into the C++ compiler only.
+ #
++# d_target_objs List of extra target-dependent objects that be
++# linked into the D compiler only.
++#
+ # fortran_target_objs List of extra target-dependent objects that be
+ # linked into the fortran compiler only.
+ #
+@@ -191,6 +197,9 @@
+ #
+ # target_has_targetm_common Set to yes or no depending on whether the
+ # target has its own definition of targetm_common.
++#
++# target_has_targetdm Set to yes or no depending on whether the target
++# has its own definition of targetdm.
+
+ out_file=
+ common_out_file=
+@@ -206,9 +215,11 @@ extra_gcc_objs=
+ extra_options=
+ c_target_objs=
+ cxx_target_objs=
++d_target_objs=
+ fortran_target_objs=
+ target_has_targetcm=no
+ target_has_targetm_common=yes
++target_has_targetdm=no
+ tm_defines=
+ xm_defines=
+ # Set this to force installation and use of collect2.
+@@ -300,6 +311,7 @@ m32c*-*-*)
+ target_has_targetm_common=no
+ ;;
+ aarch64*-*-*)
++ d_target_objs="aarch64-d.o"
+ cpu_type=aarch64
+ extra_headers="arm_fp16.h arm_neon.h arm_acle.h"
+ c_target_objs="aarch64-c.o"
+@@ -311,6 +323,7 @@ aarch64*-*-*)
+ alpha*-*-*)
+ cpu_type=alpha
+ extra_options="${extra_options} g.opt"
++ d_target_objs="alpha-d.o"
+ ;;
+ am33_2.0-*-linux*)
+ cpu_type=mn10300
+@@ -329,6 +342,7 @@ arm*-*-*)
+ target_type_format_char='%'
+ c_target_objs="arm-c.o"
+ cxx_target_objs="arm-c.o"
++ d_target_objs="arm-d.o"
+ extra_options="${extra_options} arm/arm-tables.opt"
+ target_gtfiles="\$(srcdir)/config/arm/arm-builtins.c"
+ ;;
+@@ -361,6 +375,7 @@ i[34567]86-*-*)
+ cpu_type=i386
+ c_target_objs="i386-c.o"
+ cxx_target_objs="i386-c.o"
++ d_target_objs="i386-d.o"
+ extra_objs="x86-tune-sched.o x86-tune-sched-bd.o x86-tune-sched-atom.o x86-tune-sched-core.o"
+ extra_options="${extra_options} fused-madd.opt"
+ extra_headers="cpuid.h mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h
+@@ -390,6 +405,7 @@ x86_64-*-*)
+ cpu_type=i386
+ c_target_objs="i386-c.o"
+ cxx_target_objs="i386-c.o"
++ d_target_objs="i386-d.o"
+ extra_options="${extra_options} fused-madd.opt"
+ extra_objs="x86-tune-sched.o x86-tune-sched-bd.o x86-tune-sched-atom.o x86-tune-sched-core.o"
+ extra_headers="cpuid.h mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h
+@@ -439,6 +455,7 @@ microblaze*-*-*)
+ ;;
+ mips*-*-*)
+ cpu_type=mips
++ d_target_objs="mips-d.o"
+ extra_headers="loongson.h msa.h"
+ extra_objs="frame-header-opt.o"
+ extra_options="${extra_options} g.opt fused-madd.opt mips/mips-tables.opt"
+@@ -494,6 +511,7 @@ sparc*-*-*)
+ cpu_type=sparc
+ c_target_objs="sparc-c.o"
+ cxx_target_objs="sparc-c.o"
++ d_target_objs="sparc-d.o"
+ extra_headers="visintrin.h"
+ ;;
+ spu*-*-*)
+@@ -501,6 +519,7 @@ spu*-*-*)
+ ;;
+ s390*-*-*)
+ cpu_type=s390
++ d_target_objs="s390-d.o"
+ extra_options="${extra_options} fused-madd.opt"
+ extra_headers="s390intrin.h htmintrin.h htmxlintrin.h vecintrin.h"
+ ;;
+@@ -530,10 +549,13 @@ tilepro*-*-*)
+ esac
+
+ tm_file=${cpu_type}/${cpu_type}.h
++tm_d_file=${cpu_type}/${cpu_type}.h
+ if test -f ${srcdir}/config/${cpu_type}/${cpu_type}-protos.h
+ then
+ tm_p_file=${cpu_type}/${cpu_type}-protos.h
++ tm_d_file="${tm_d_file} ${cpu_type}/${cpu_type}-protos.h"
+ fi
++
+ extra_modes=
+ if test -f ${srcdir}/config/${cpu_type}/${cpu_type}-modes.def
+ then
+@@ -802,8 +824,10 @@ case ${target} in
+ esac
+ c_target_objs="${c_target_objs} glibc-c.o"
+ cxx_target_objs="${cxx_target_objs} glibc-c.o"
++ d_target_objs="${d_target_objs} glibc-d.o"
+ tmake_file="${tmake_file} t-glibc"
+ target_has_targetcm=yes
++ target_has_targetdm=yes
+ ;;
+ *-*-netbsd*)
+ tm_p_file="${tm_p_file} netbsd-protos.h"
+@@ -3188,6 +3212,10 @@ if [ "$common_out_file" = "" ]; then
+ fi
+ fi
+
++if [ "$target_has_targetdm" = "no" ]; then
++ d_target_objs="$d_target_objs default-d.o"
++fi
++
+ # Support for --with-cpu and related options (and a few unrelated options,
+ # too).
+ case ${with_cpu} in
+@@ -4729,6 +4757,7 @@ case ${target} in
+ out_file="${cpu_type}/${cpu_type}.c"
+ c_target_objs="${c_target_objs} ${cpu_type}-c.o"
+ cxx_target_objs="${cxx_target_objs} ${cpu_type}-c.o"
++ d_target_objs="${d_target_objs} ${cpu_type}-d.o"
+ tmake_file="${cpu_type}/t-${cpu_type} ${tmake_file}"
+ ;;
+
+--- /dev/null
++++ b/src/gcc/config/aarch64/aarch64-d.c
+@@ -0,0 +1,31 @@
++/* Subroutines for the D front end on the AArch64 architecture.
++ Copyright (C) 2017 Free Software Foundation, Inc.
++
++GCC is free software; you can redistribute it and/or modify
++it under the terms of the GNU General Public License as published by
++the Free Software Foundation; either version 3, or (at your option)
++any later version.
++
++GCC is distributed in the hope that it will be useful,
++but WITHOUT ANY WARRANTY; without even the implied warranty of
++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++GNU General Public License for more details.
++
++You should have received a copy of the GNU General Public License
++along with GCC; see the file COPYING3. If not see
++<http://www.gnu.org/licenses/>. */
++
++#include "config.h"
++#include "system.h"
++#include "coretypes.h"
++#include "d/d-target.h"
++#include "d/d-target-def.h"
++
++/* Implement TARGET_D_CPU_VERSIONS for AArch64 targets. */
++
++void
++aarch64_d_target_versions (void)
++{
++ d_add_builtin_version ("AArch64");
++ d_add_builtin_version ("D_HardFloat");
++}
+--- a/src/gcc/config/aarch64/aarch64-linux.h
++++ b/src/gcc/config/aarch64/aarch64-linux.h
+@@ -82,6 +82,8 @@
+ } \
+ while (0)
+
++#define GNU_USER_TARGET_D_CRITSEC_SIZE 48
++
+ #define TARGET_ASM_FILE_END file_end_indicate_exec_stack
+
+ /* Uninitialized common symbols in non-PIE executables, even with
+--- a/src/gcc/config/aarch64/aarch64-protos.h
++++ b/src/gcc/config/aarch64/aarch64-protos.h
+@@ -538,6 +538,9 @@ bool aarch64_operands_adjust_ok_for_ldps
+ extern void aarch64_asm_output_pool_epilogue (FILE *, const char *,
+ tree, HOST_WIDE_INT);
+
++/* Defined in aarch64-d.c */
++extern void aarch64_d_target_versions (void);
++
+ /* Defined in common/config/aarch64-common.c. */
+ bool aarch64_handle_option (struct gcc_options *, struct gcc_options *,
+ const struct cl_decoded_option *, location_t);
+--- a/src/gcc/config/aarch64/aarch64.h
++++ b/src/gcc/config/aarch64/aarch64.h
+@@ -26,6 +26,9 @@
+ #define TARGET_CPU_CPP_BUILTINS() \
+ aarch64_cpu_cpp_builtins (pfile)
+
++/* Target CPU versions for D. */
++#define TARGET_D_CPU_VERSIONS aarch64_d_target_versions
++
+ \f
+
+ #define REGISTER_TARGET_PRAGMAS() aarch64_register_pragmas ()
+--- a/src/gcc/config/aarch64/t-aarch64
++++ b/src/gcc/config/aarch64/t-aarch64
+@@ -56,6 +56,10 @@ aarch64-c.o: $(srcdir)/config/aarch64/aa
+ $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
+ $(srcdir)/config/aarch64/aarch64-c.c
+
++aarch64-d.o: $(srcdir)/config/aarch64/aarch64-d.c
++ $(COMPILE) $<
++ $(POSTCOMPILE)
++
+ PASSES_EXTRA += $(srcdir)/config/aarch64/aarch64-passes.def
+
+ cortex-a57-fma-steering.o: $(srcdir)/config/aarch64/cortex-a57-fma-steering.c \
+--- /dev/null
++++ b/src/gcc/config/alpha/alpha-d.c
+@@ -0,0 +1,41 @@
++/* Subroutines for the D front end on the Alpha architecture.
++ Copyright (C) 2017 Free Software Foundation, Inc.
++
++GCC is free software; you can redistribute it and/or modify
++it under the terms of the GNU General Public License as published by
++the Free Software Foundation; either version 3, or (at your option)
++any later version.
++
++GCC is distributed in the hope that it will be useful,
++but WITHOUT ANY WARRANTY; without even the implied warranty of
++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++GNU General Public License for more details.
++
++You should have received a copy of the GNU General Public License
++along with GCC; see the file COPYING3. If not see
++<http://www.gnu.org/licenses/>. */
++
++#include "config.h"
++#include "system.h"
++#include "coretypes.h"
++#include "tm.h"
++#include "d/d-target.h"
++#include "d/d-target-def.h"
++
++/* Implement TARGET_D_CPU_VERSIONS for Alpha targets. */
++
++void
++alpha_d_target_versions (void)
++{
++ d_add_builtin_version ("Alpha");
++ if (TARGET_SOFT_FP)
++ {
++ d_add_builtin_version ("D_SoftFloat");
++ d_add_builtin_version ("Alpha_SoftFloat");
++ }
++ else
++ {
++ d_add_builtin_version ("D_HardFloat");
++ d_add_builtin_version ("Alpha_HardFloat");
++ }
++}
+--- a/src/gcc/config/alpha/alpha-protos.h
++++ b/src/gcc/config/alpha/alpha-protos.h
+@@ -118,3 +118,6 @@ class rtl_opt_pass;
+
+ extern rtl_opt_pass *make_pass_handle_trap_shadows (gcc::context *);
+ extern rtl_opt_pass *make_pass_align_insns (gcc::context *);
++
++/* Routines implemented in alpha-d.c */
++extern void alpha_d_target_versions (void);
+--- a/src/gcc/config/alpha/alpha.h
++++ b/src/gcc/config/alpha/alpha.h
+@@ -94,6 +94,9 @@ along with GCC; see the file COPYING3.
+ while (0)
+ #endif
+
++/* Target CPU versions for D. */
++#define TARGET_D_CPU_VERSIONS alpha_d_target_versions
++
+ /* Run-time compilation parameters selecting different hardware subsets. */
+
+ /* Which processor to schedule for. The cpu attribute defines a list that
+--- a/src/gcc/config/alpha/linux.h
++++ b/src/gcc/config/alpha/linux.h
+@@ -33,6 +33,19 @@ along with GCC; see the file COPYING3.
+ builtin_define ("_GNU_SOURCE"); \
+ } while (0)
+
++#define GNU_USER_TARGET_D_OS_VERSIONS() \
++ do { \
++ builtin_version ("linux"); \
++ if (OPTION_GLIBC) \
++ builtin_version ("CRuntime_Glibc"); \
++ else if (OPTION_UCLIBC) \
++ d_add_builtin_version ("CRuntime_UClibc"); \
++ else if (OPTION_BIONIC) \
++ d_add_builtin_version ("CRuntime_Bionic"); \
++ else if (OPTION_MUSL) \
++ d_add_builtin_version ("CRuntime_Musl"); \
++ } while (0)
++
+ #undef LIB_SPEC
+ #define LIB_SPEC \
+ "%{pthread:-lpthread} \
+--- a/src/gcc/config/alpha/t-alpha
++++ b/src/gcc/config/alpha/t-alpha
+@@ -16,4 +16,8 @@
+ # along with GCC; see the file COPYING3. If not see
+ # <http://www.gnu.org/licenses/>.
+
++alpha-d.o: $(srcdir)/config/alpha/alpha-d.c
++ $(COMPILE) $<
++ $(POSTCOMPILE)
++
+ PASSES_EXTRA += $(srcdir)/config/alpha/alpha-passes.def
+--- /dev/null
++++ b/src/gcc/config/arm/arm-d.c
+@@ -0,0 +1,53 @@
++/* Subroutines for the D front end on the ARM architecture.
++ Copyright (C) 2017 Free Software Foundation, Inc.
++
++GCC is free software; you can redistribute it and/or modify
++it under the terms of the GNU General Public License as published by
++the Free Software Foundation; either version 3, or (at your option)
++any later version.
++
++GCC is distributed in the hope that it will be useful,
++but WITHOUT ANY WARRANTY; without even the implied warranty of
++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++GNU General Public License for more details.
++
++You should have received a copy of the GNU General Public License
++along with GCC; see the file COPYING3. If not see
++<http://www.gnu.org/licenses/>. */
++
++#include "config.h"
++#include "system.h"
++#include "coretypes.h"
++#include "tm.h"
++#include "tm_p.h"
++#include "d/d-target.h"
++#include "d/d-target-def.h"
++
++/* Implement TARGET_D_CPU_VERSIONS for ARM targets. */
++
++void
++arm_d_target_versions (void)
++{
++ d_add_builtin_version ("ARM");
++
++ if (TARGET_THUMB || TARGET_THUMB2)
++ {
++ d_add_builtin_version ("Thumb");
++ d_add_builtin_version ("ARM_Thumb");
++ }
++
++ if (TARGET_HARD_FLOAT_ABI)
++ d_add_builtin_version ("ARM_HardFloat");
++ else
++ {
++ if (TARGET_SOFT_FLOAT)
++ d_add_builtin_version ("ARM_SoftFloat");
++ else if (TARGET_HARD_FLOAT)
++ d_add_builtin_version ("ARM_SoftFP");
++ }
++
++ if (TARGET_SOFT_FLOAT)
++ d_add_builtin_version ("D_SoftFloat");
++ else if (TARGET_HARD_FLOAT)
++ d_add_builtin_version ("D_HardFloat");
++}
+--- a/src/gcc/config/arm/arm-protos.h
++++ b/src/gcc/config/arm/arm-protos.h
+@@ -373,6 +373,9 @@ extern void arm_lang_object_attributes_i
+ extern void arm_register_target_pragmas (void);
+ extern void arm_cpu_cpp_builtins (struct cpp_reader *);
+
++/* Defined in arm-d.c */
++extern void arm_d_target_versions (void);
++
+ extern bool arm_is_constant_pool_ref (rtx);
+
+ /* The bits in this mask specify which instruction scheduling options should
+--- a/src/gcc/config/arm/arm.h
++++ b/src/gcc/config/arm/arm.h
+@@ -47,6 +47,9 @@ extern char arm_arch_name[];
+ /* Target CPU builtins. */
+ #define TARGET_CPU_CPP_BUILTINS() arm_cpu_cpp_builtins (pfile)
+
++/* Target CPU versions for D. */
++#define TARGET_D_CPU_VERSIONS arm_d_target_versions
++
+ #include "config/arm/arm-opts.h"
+
+ /* The processor for which instructions should be scheduled. */
+--- a/src/gcc/config/arm/linux-eabi.h
++++ b/src/gcc/config/arm/linux-eabi.h
+@@ -30,6 +30,9 @@
+ } \
+ while (false)
+
++#define EXTRA_TARGET_D_OS_VERSIONS() \
++ ANDROID_TARGET_D_OS_VERSIONS();
++
+ /* We default to a soft-float ABI so that binaries can run on all
+ target hardware. If you override this to use the hard-float ABI then
+ change the setting of GLIBC_DYNAMIC_LINKER_DEFAULT as well. */
+--- a/src/gcc/config/arm/t-arm
++++ b/src/gcc/config/arm/t-arm
+@@ -144,4 +144,8 @@ arm-c.o: $(srcdir)/config/arm/arm-c.c $(
+ $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
+ $(srcdir)/config/arm/arm-c.c
+
++arm-d.o: $(srcdir)/config/arm/arm-d.c
++ $(COMPILE) $<
++ $(POSTCOMPILE)
++
+ arm-common.o: arm-cpu-cdata.h
+--- /dev/null
++++ b/src/gcc/config/default-d.c
+@@ -0,0 +1,25 @@
++/* Default D language target hooks initializer.
++ Copyright (C) 2017 Free Software Foundation, Inc.
++
++GCC is free software; you can redistribute it and/or modify it under
++the terms of the GNU General Public License as published by the Free
++Software Foundation; either version 3, or (at your option) any later
++version.
++
++GCC is distributed in the hope that it will be useful, but WITHOUT ANY
++WARRANTY; without even the implied warranty of MERCHANTABILITY or
++FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
++for more details.
++
++You should have received a copy of the GNU General Public License
++along with GCC; see the file COPYING3. If not see
++<http://www.gnu.org/licenses/>. */
++
++#include "config.h"
++#include "system.h"
++#include "coretypes.h"
++#include "tm_d.h"
++#include "d/d-target.h"
++#include "d/d-target-def.h"
++
++struct gcc_targetdm targetdm = TARGETDM_INITIALIZER;
+--- /dev/null
++++ b/src/gcc/config/glibc-d.c
+@@ -0,0 +1,64 @@
++/* Glibc support needed only by D front-end.
++ Copyright (C) 2017 Free Software Foundation, Inc.
++
++GCC is free software; you can redistribute it and/or modify it under
++the terms of the GNU General Public License as published by the Free
++Software Foundation; either version 3, or (at your option) any later
++version.
++
++GCC is distributed in the hope that it will be useful, but WITHOUT ANY
++WARRANTY; without even the implied warranty of MERCHANTABILITY or
++FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
++for more details.
++
++You should have received a copy of the GNU General Public License
++along with GCC; see the file COPYING3. If not see
++<http://www.gnu.org/licenses/>. */
++
++#include "config.h"
++#include "system.h"
++#include "coretypes.h"
++#include "tm.h"
++#include "memmodel.h"
++#include "tm_p.h"
++#include "d/d-target.h"
++#include "d/d-target-def.h"
++
++/* Implement TARGET_D_OS_VERSIONS for Glibc targets. */
++
++static void
++glibc_d_os_builtins (void)
++{
++ d_add_builtin_version ("Posix");
++
++#define builtin_version(TXT) d_add_builtin_version (TXT)
++
++#ifdef GNU_USER_TARGET_D_OS_VERSIONS
++ GNU_USER_TARGET_D_OS_VERSIONS ();
++#endif
++
++#ifdef EXTRA_TARGET_D_OS_VERSIONS
++ EXTRA_TARGET_D_OS_VERSIONS ();
++#endif
++}
++
++/* Implement TARGET_D_CRITSEC_SIZE for Glibc targets. */
++
++static unsigned
++glibc_d_critsec_size (void)
++{
++ /* This is the sizeof pthread_mutex_t. */
++#ifdef GNU_USER_TARGET_D_CRITSEC_SIZE
++ return GNU_USER_TARGET_D_CRITSEC_SIZE;
++#else
++ return (POINTER_SIZE == 64) ? 40 : 24;
++#endif
++}
++
++#undef TARGET_D_OS_VERSIONS
++#define TARGET_D_OS_VERSIONS glibc_d_os_builtins
++
++#undef TARGET_D_CRITSEC_SIZE
++#define TARGET_D_CRITSEC_SIZE glibc_d_critsec_size
++
++struct gcc_targetdm targetdm = TARGETDM_INITIALIZER;
+--- a/src/gcc/config/gnu.h
++++ b/src/gcc/config/gnu.h
+@@ -31,3 +31,9 @@ along with GCC. If not, see <http://www
+ builtin_assert ("system=unix"); \
+ builtin_assert ("system=posix"); \
+ } while (0)
++
++#define GNU_USER_TARGET_D_OS_VERSIONS() \
++ do { \
++ builtin_version ("Hurd"); \
++ builtin_version ("CRuntime_Glibc"); \
++ } while (0)
+--- /dev/null
++++ b/src/gcc/config/i386/i386-d.c
+@@ -0,0 +1,44 @@
++/* Subroutines for the D front end on the x86 architecture.
++ Copyright (C) 2017 Free Software Foundation, Inc.
++
++GCC is free software; you can redistribute it and/or modify
++it under the terms of the GNU General Public License as published by
++the Free Software Foundation; either version 3, or (at your option)
++any later version.
++
++GCC is distributed in the hope that it will be useful,
++but WITHOUT ANY WARRANTY; without even the implied warranty of
++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++GNU General Public License for more details.
++
++You should have received a copy of the GNU General Public License
++along with GCC; see the file COPYING3. If not see
++<http://www.gnu.org/licenses/>. */
++
++#include "config.h"
++#include "system.h"
++#include "coretypes.h"
++#include "tm.h"
++#include "d/d-target.h"
++#include "d/d-target-def.h"
++
++/* Implement TARGET_D_CPU_VERSIONS for x86 targets. */
++
++void
++ix86_d_target_versions (void)
++{
++ if (TARGET_64BIT)
++ {
++ d_add_builtin_version ("X86_64");
++
++ if (TARGET_X32)
++ d_add_builtin_version ("D_X32");
++ }
++ else
++ d_add_builtin_version ("X86");
++
++ if (TARGET_80387)
++ d_add_builtin_version ("D_HardFloat");
++ else
++ d_add_builtin_version ("D_SoftFloat");
++}
+--- a/src/gcc/config/i386/i386-protos.h
++++ b/src/gcc/config/i386/i386-protos.h
+@@ -238,6 +238,9 @@ extern bool ix86_bnd_prefixed_insn_p (rt
+ extern void ix86_target_macros (void);
+ extern void ix86_register_pragmas (void);
+
++/* In i386-d.c */
++extern void ix86_d_target_versions (void);
++
+ /* In winnt.c */
+ extern void i386_pe_unique_section (tree, int);
+ extern void i386_pe_declare_function_type (FILE *, const char *, int);
+--- a/src/gcc/config/i386/i386.h
++++ b/src/gcc/config/i386/i386.h
+@@ -705,6 +705,9 @@ extern const char *host_detect_local_cpu
+ /* Target Pragmas. */
+ #define REGISTER_TARGET_PRAGMAS() ix86_register_pragmas ()
+
++/* Target CPU versions for D. */
++#define TARGET_D_CPU_VERSIONS ix86_d_target_versions
++
+ #ifndef CC1_SPEC
+ #define CC1_SPEC "%(cc1_cpu) "
+ #endif
+--- a/src/gcc/config/i386/linux-common.h
++++ b/src/gcc/config/i386/linux-common.h
+@@ -27,6 +27,12 @@ along with GCC; see the file COPYING3.
+ } \
+ while (0)
+
++#define EXTRA_TARGET_D_OS_VERSIONS() \
++ ANDROID_TARGET_D_OS_VERSIONS();
++
++#define GNU_USER_TARGET_D_CRITSEC_SIZE \
++ (TARGET_64BIT ? (POINTER_SIZE == 64 ? 40 : 32) : 24)
++
+ #undef CC1_SPEC
+ #define CC1_SPEC \
+ LINUX_OR_ANDROID_CC (GNU_USER_TARGET_CC1_SPEC, \
+--- a/src/gcc/config/i386/t-i386
++++ b/src/gcc/config/i386/t-i386
+@@ -40,6 +40,10 @@ x86-tune-sched-core.o: $(srcdir)/config/
+ $(COMPILE) $<
+ $(POSTCOMPILE)
+
++i386-d.o: $(srcdir)/config/i386/i386-d.c
++ $(COMPILE) $<
++ $(POSTCOMPILE)
++
+ i386.o: i386-builtin-types.inc
+
+ i386-builtin-types.inc: s-i386-bt ; @true
+--- a/src/gcc/config/kfreebsd-gnu.h
++++ b/src/gcc/config/kfreebsd-gnu.h
+@@ -29,6 +29,12 @@ along with GCC; see the file COPYING3.
+ } \
+ while (0)
+
++#define GNU_USER_TARGET_D_OS_VERSIONS() \
++ do { \
++ builtin_version ("FreeBSD"); \
++ builtin_version ("CRuntime_Glibc"); \
++ } while (0)
++
+ #define GNU_USER_DYNAMIC_LINKER GLIBC_DYNAMIC_LINKER
+ #define GNU_USER_DYNAMIC_LINKER32 GLIBC_DYNAMIC_LINKER32
+ #define GNU_USER_DYNAMIC_LINKER64 GLIBC_DYNAMIC_LINKER64
+--- a/src/gcc/config/kopensolaris-gnu.h
++++ b/src/gcc/config/kopensolaris-gnu.h
+@@ -30,5 +30,11 @@ along with GCC; see the file COPYING3.
+ } \
+ while (0)
+
++#define GNU_USER_TARGET_D_OS_VERSIONS() \
++ do { \
++ builtin_version ("Solaris"); \
++ builtin_version ("CRuntime_Glibc"); \
++ } while (0)
++
+ #undef GNU_USER_DYNAMIC_LINKER
+ #define GNU_USER_DYNAMIC_LINKER "/lib/ld.so.1"
+--- a/src/gcc/config/linux-android.h
++++ b/src/gcc/config/linux-android.h
+@@ -25,6 +25,12 @@
+ builtin_define ("__ANDROID__"); \
+ } while (0)
+
++#define ANDROID_TARGET_D_OS_VERSIONS() \
++ do { \
++ if (TARGET_ANDROID) \
++ builtin_version ("Android"); \
++ } while (0)
++
+ #if ANDROID_DEFAULT
+ # define NOANDROID "mno-android"
+ #else
+--- a/src/gcc/config/linux.h
++++ b/src/gcc/config/linux.h
+@@ -53,6 +53,19 @@ see the files COPYING3 and COPYING.RUNTI
+ builtin_assert ("system=posix"); \
+ } while (0)
+
++#define GNU_USER_TARGET_D_OS_VERSIONS() \
++ do { \
++ builtin_version ("linux"); \
++ if (OPTION_GLIBC) \
++ builtin_version ("CRuntime_Glibc"); \
++ else if (OPTION_UCLIBC) \
++ d_add_builtin_version ("CRuntime_UClibc"); \
++ else if (OPTION_BIONIC) \
++ d_add_builtin_version ("CRuntime_Bionic"); \
++ else if (OPTION_MUSL) \
++ d_add_builtin_version ("CRuntime_Musl"); \
++ } while (0)
++
+ /* Determine which dynamic linker to use depending on whether GLIBC or
+ uClibc or Bionic or musl is the default C library and whether
+ -muclibc or -mglibc or -mbionic or -mmusl has been passed to change
+--- a/src/gcc/config/mips/linux-common.h
++++ b/src/gcc/config/mips/linux-common.h
+@@ -27,6 +27,9 @@ along with GCC; see the file COPYING3.
+ ANDROID_TARGET_OS_CPP_BUILTINS(); \
+ } while (0)
+
++#define EXTRA_TARGET_D_OS_VERSIONS() \
++ ANDROID_TARGET_D_OS_VERSIONS();
++
+ #undef LINK_SPEC
+ #define LINK_SPEC \
+ LINUX_OR_ANDROID_LD (GNU_USER_TARGET_LINK_SPEC, \
+--- /dev/null
++++ b/src/gcc/config/mips/mips-d.c
+@@ -0,0 +1,56 @@
++/* Subroutines for the D front end on the MIPS architecture.
++ Copyright (C) 2017 Free Software Foundation, Inc.
++
++GCC is free software; you can redistribute it and/or modify
++it under the terms of the GNU General Public License as published by
++the Free Software Foundation; either version 3, or (at your option)
++any later version.
++
++GCC is distributed in the hope that it will be useful,
++but WITHOUT ANY WARRANTY; without even the implied warranty of
++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++GNU General Public License for more details.
++
++You should have received a copy of the GNU General Public License
++along with GCC; see the file COPYING3. If not see
++<http://www.gnu.org/licenses/>. */
++
++#include "config.h"
++#include "system.h"
++#include "coretypes.h"
++#include "tm.h"
++#include "d/d-target.h"
++#include "d/d-target-def.h"
++
++/* Implement TARGET_D_CPU_VERSIONS for MIPS targets. */
++
++void
++mips_d_target_versions (void)
++{
++ if (TARGET_64BIT)
++ d_add_builtin_version ("MIPS64");
++ else
++ d_add_builtin_version ("MIPS32");
++
++ if (mips_abi == ABI_32)
++ d_add_builtin_version ("MIPS_O32");
++ else if (mips_abi == ABI_EABI)
++ d_add_builtin_version ("MIPS_EABI");
++ else if (mips_abi == ABI_N32)
++ d_add_builtin_version ("MIPS_N32");
++ else if (mips_abi == ABI_64)
++ d_add_builtin_version ("MIPS_N64");
++ else if (mips_abi == ABI_O64)
++ d_add_builtin_version ("MIPS_O64");
++
++ if (TARGET_HARD_FLOAT_ABI)
++ {
++ d_add_builtin_version ("MIPS_HardFloat");
++ d_add_builtin_version ("D_HardFloat");
++ }
++ else if (TARGET_SOFT_FLOAT_ABI)
++ {
++ d_add_builtin_version ("MIPS_SoftFloat");
++ d_add_builtin_version ("D_SoftFloat");
++ }
++}
+--- a/src/gcc/config/mips/mips-protos.h
++++ b/src/gcc/config/mips/mips-protos.h
+@@ -385,4 +385,7 @@ extern mulsidi3_gen_fn mips_mulsidi3_gen
+ extern void mips_register_frame_header_opt (void);
+ extern void mips_expand_vec_cond_expr (machine_mode, machine_mode, rtx *);
+
++/* Routines implemented in mips-d.c */
++extern void mips_d_target_versions (void);
++
+ #endif /* ! GCC_MIPS_PROTOS_H */
+--- a/src/gcc/config/mips/mips.h
++++ b/src/gcc/config/mips/mips.h
+@@ -644,6 +644,9 @@ struct mips_cpu_info {
+ } \
+ while (0)
+
++/* Target CPU versions for D. */
++#define TARGET_D_CPU_VERSIONS mips_d_target_versions
++
+ /* Default target_flags if no switches are specified */
+
+ #ifndef TARGET_DEFAULT
+--- a/src/gcc/config/mips/t-mips
++++ b/src/gcc/config/mips/t-mips
+@@ -24,3 +24,7 @@ $(srcdir)/config/mips/mips-tables.opt: $
+ frame-header-opt.o: $(srcdir)/config/mips/frame-header-opt.c
+ $(COMPILE) $<
+ $(POSTCOMPILE)
++
++mips-d.o: $(srcdir)/config/mips/mips-d.c
++ $(COMPILE) $<
++ $(POSTCOMPILE)
+--- a/src/gcc/config/powerpcspe/linux.h
++++ b/src/gcc/config/powerpcspe/linux.h
+@@ -57,6 +57,19 @@
+ } \
+ while (0)
+
++#define GNU_USER_TARGET_D_OS_VERSIONS() \
++ do { \
++ builtin_version ("linux"); \
++ if (OPTION_GLIBC) \
++ builtin_version ("CRuntime_Glibc"); \
++ else if (OPTION_UCLIBC) \
++ d_add_builtin_version ("CRuntime_UClibc"); \
++ else if (OPTION_BIONIC) \
++ d_add_builtin_version ("CRuntime_Bionic"); \
++ else if (OPTION_MUSL) \
++ d_add_builtin_version ("CRuntime_Musl"); \
++ } while (0)
++
+ #undef CPP_OS_DEFAULT_SPEC
+ #define CPP_OS_DEFAULT_SPEC "%(cpp_os_linux)"
+
+--- a/src/gcc/config/powerpcspe/linux64.h
++++ b/src/gcc/config/powerpcspe/linux64.h
+@@ -391,6 +391,19 @@ extern int dot_symbols;
+ } \
+ while (0)
+
++#define GNU_USER_TARGET_D_OS_VERSIONS() \
++ do { \
++ builtin_version ("linux"); \
++ if (OPTION_GLIBC) \
++ builtin_version ("CRuntime_Glibc"); \
++ else if (OPTION_UCLIBC) \
++ d_add_builtin_version ("CRuntime_UClibc"); \
++ else if (OPTION_BIONIC) \
++ d_add_builtin_version ("CRuntime_Bionic"); \
++ else if (OPTION_MUSL) \
++ d_add_builtin_version ("CRuntime_Musl"); \
++ } while (0)
++
+ #undef CPP_OS_DEFAULT_SPEC
+ #define CPP_OS_DEFAULT_SPEC "%(cpp_os_linux) %(include_extra)"
+
+--- /dev/null
++++ b/src/gcc/config/powerpcspe/powerpcspe-d.c
+@@ -0,0 +1,45 @@
++/* Subroutines for the D front end on the PowerPC architecture.
++ Copyright (C) 2017 Free Software Foundation, Inc.
++
++GCC is free software; you can redistribute it and/or modify
++it under the terms of the GNU General Public License as published by
++the Free Software Foundation; either version 3, or (at your option)
++any later version.
++
++GCC is distributed in the hope that it will be useful,
++but WITHOUT ANY WARRANTY; without even the implied warranty of
++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++GNU General Public License for more details.
++
++You should have received a copy of the GNU General Public License
++along with GCC; see the file COPYING3. If not see
++<http://www.gnu.org/licenses/>. */
++
++#include "config.h"
++#include "system.h"
++#include "coretypes.h"
++#include "tm.h"
++#include "d/d-target.h"
++#include "d/d-target-def.h"
++
++/* Implement TARGET_D_CPU_VERSIONS for PowerPC targets. */
++
++void
++rs6000_d_target_versions (void)
++{
++ if (TARGET_64BIT)
++ d_add_builtin_version ("PPC64");
++ else
++ d_add_builtin_version ("PPC");
++
++ if (TARGET_HARD_FLOAT)
++ {
++ d_add_builtin_version ("PPC_HardFloat");
++ d_add_builtin_version ("D_HardFloat");
++ }
++ else if (TARGET_SOFT_FLOAT)
++ {
++ d_add_builtin_version ("PPC_SoftFloat");
++ d_add_builtin_version ("D_SoftFloat");
++ }
++}
+--- a/src/gcc/config/powerpcspe/powerpcspe-protos.h
++++ b/src/gcc/config/powerpcspe/powerpcspe-protos.h
+@@ -231,6 +231,9 @@ extern void rs6000_target_modify_macros
+ extern void (*rs6000_target_modify_macros_ptr) (bool, HOST_WIDE_INT,
+ HOST_WIDE_INT);
+
++/* Declare functions in powerpcspe-d.c */
++extern void rs6000_d_target_versions (void);
++
+ #if TARGET_MACHO
+ char *output_call (rtx_insn *, rtx *, int, int);
+ #endif
+--- a/src/gcc/config/powerpcspe/powerpcspe.h
++++ b/src/gcc/config/powerpcspe/powerpcspe.h
+@@ -829,6 +829,9 @@ extern unsigned char rs6000_recip_bits[]
+ #define TARGET_CPU_CPP_BUILTINS() \
+ rs6000_cpu_cpp_builtins (pfile)
+
++/* Target CPU versions for D. */
++#define TARGET_D_CPU_VERSIONS rs6000_d_target_versions
++
+ /* This is used by rs6000_cpu_cpp_builtins to indicate the byte order
+ we're compiling for. Some configurations may need to override it. */
+ #define RS6000_CPU_CPP_ENDIAN_BUILTINS() \
+--- a/src/gcc/config/powerpcspe/t-powerpcspe
++++ b/src/gcc/config/powerpcspe/t-powerpcspe
+@@ -26,6 +26,10 @@ powerpcspe-c.o: $(srcdir)/config/powerpc
+ $(COMPILE) $<
+ $(POSTCOMPILE)
+
++powerpcspe-d.o: $(srcdir)/config/powerpcspe/powerpcspe-d.c
++ $(COMPILE) $<
++ $(POSTCOMPILE)
++
+ $(srcdir)/config/powerpcspe/powerpcspe-tables.opt: $(srcdir)/config/powerpcspe/genopt.sh \
+ $(srcdir)/config/powerpcspe/powerpcspe-cpus.def
+ $(SHELL) $(srcdir)/config/powerpcspe/genopt.sh $(srcdir)/config/powerpcspe > \
+--- a/src/gcc/config/rs6000/linux.h
++++ b/src/gcc/config/rs6000/linux.h
+@@ -57,6 +57,19 @@
+ } \
+ while (0)
+
++#define GNU_USER_TARGET_D_OS_VERSIONS() \
++ do { \
++ builtin_version ("linux"); \
++ if (OPTION_GLIBC) \
++ builtin_version ("CRuntime_Glibc"); \
++ else if (OPTION_UCLIBC) \
++ d_add_builtin_version ("CRuntime_UClibc"); \
++ else if (OPTION_BIONIC) \
++ d_add_builtin_version ("CRuntime_Bionic"); \
++ else if (OPTION_MUSL) \
++ d_add_builtin_version ("CRuntime_Musl"); \
++ } while (0)
++
+ #undef CPP_OS_DEFAULT_SPEC
+ #define CPP_OS_DEFAULT_SPEC "%(cpp_os_linux)"
+
+--- a/src/gcc/config/rs6000/linux64.h
++++ b/src/gcc/config/rs6000/linux64.h
+@@ -391,6 +391,19 @@ extern int dot_symbols;
+ } \
+ while (0)
+
++#define GNU_USER_TARGET_D_OS_VERSIONS() \
++ do { \
++ builtin_version ("linux"); \
++ if (OPTION_GLIBC) \
++ builtin_version ("CRuntime_Glibc"); \
++ else if (OPTION_UCLIBC) \
++ d_add_builtin_version ("CRuntime_UClibc"); \
++ else if (OPTION_BIONIC) \
++ d_add_builtin_version ("CRuntime_Bionic"); \
++ else if (OPTION_MUSL) \
++ d_add_builtin_version ("CRuntime_Musl"); \
++ } while (0)
++
+ #undef CPP_OS_DEFAULT_SPEC
+ #define CPP_OS_DEFAULT_SPEC "%(cpp_os_linux) %(include_extra)"
+
+--- /dev/null
++++ b/src/gcc/config/rs6000/rs6000-d.c
+@@ -0,0 +1,45 @@
++/* Subroutines for the D front end on the PowerPC architecture.
++ Copyright (C) 2017 Free Software Foundation, Inc.
++
++GCC is free software; you can redistribute it and/or modify
++it under the terms of the GNU General Public License as published by
++the Free Software Foundation; either version 3, or (at your option)
++any later version.
++
++GCC is distributed in the hope that it will be useful,
++but WITHOUT ANY WARRANTY; without even the implied warranty of
++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++GNU General Public License for more details.
++
++You should have received a copy of the GNU General Public License
++along with GCC; see the file COPYING3. If not see
++<http://www.gnu.org/licenses/>. */
++
++#include "config.h"
++#include "system.h"
++#include "coretypes.h"
++#include "tm.h"
++#include "d/d-target.h"
++#include "d/d-target-def.h"
++
++/* Implement TARGET_D_CPU_VERSIONS for PowerPC targets. */
++
++void
++rs6000_d_target_versions (void)
++{
++ if (TARGET_64BIT)
++ d_add_builtin_version ("PPC64");
++ else
++ d_add_builtin_version ("PPC");
++
++ if (TARGET_HARD_FLOAT)
++ {
++ d_add_builtin_version ("PPC_HardFloat");
++ d_add_builtin_version ("D_HardFloat");
++ }
++ else if (TARGET_SOFT_FLOAT)
++ {
++ d_add_builtin_version ("PPC_SoftFloat");
++ d_add_builtin_version ("D_SoftFloat");
++ }
++}
+--- a/src/gcc/config/rs6000/rs6000-protos.h
++++ b/src/gcc/config/rs6000/rs6000-protos.h
+@@ -233,6 +233,9 @@ extern void rs6000_target_modify_macros
+ extern void (*rs6000_target_modify_macros_ptr) (bool, HOST_WIDE_INT,
+ HOST_WIDE_INT);
+
++/* Declare functions in rs6000-d.c */
++extern void rs6000_d_target_versions (void);
++
+ #if TARGET_MACHO
+ char *output_call (rtx_insn *, rtx *, int, int);
+ #endif
+--- a/src/gcc/config/rs6000/rs6000.h
++++ b/src/gcc/config/rs6000/rs6000.h
+@@ -800,6 +800,9 @@ extern unsigned char rs6000_recip_bits[]
+ #define TARGET_CPU_CPP_BUILTINS() \
+ rs6000_cpu_cpp_builtins (pfile)
+
++/* Target CPU versions for D. */
++#define TARGET_D_CPU_VERSIONS rs6000_d_target_versions
++
+ /* This is used by rs6000_cpu_cpp_builtins to indicate the byte order
+ we're compiling for. Some configurations may need to override it. */
+ #define RS6000_CPU_CPP_ENDIAN_BUILTINS() \
+--- a/src/gcc/config/rs6000/t-rs6000
++++ b/src/gcc/config/rs6000/t-rs6000
+@@ -35,6 +35,10 @@ rs6000-p8swap.o: $(srcdir)/config/rs6000
+ $(COMPILE) $<
+ $(POSTCOMPILE)
+
++rs6000-d.o: $(srcdir)/config/rs6000/rs6000-d.c
++ $(COMPILE) $<
++ $(POSTCOMPILE)
++
+ $(srcdir)/config/rs6000/rs6000-tables.opt: $(srcdir)/config/rs6000/genopt.sh \
+ $(srcdir)/config/rs6000/rs6000-cpus.def
+ $(SHELL) $(srcdir)/config/rs6000/genopt.sh $(srcdir)/config/rs6000 > \
+--- /dev/null
++++ b/src/gcc/config/s390/s390-d.c
+@@ -0,0 +1,41 @@
++/* Subroutines for the D front end on the IBM S/390 and zSeries architectures.
++ Copyright (C) 2017 Free Software Foundation, Inc.
++
++GCC is free software; you can redistribute it and/or modify
++it under the terms of the GNU General Public License as published by
++the Free Software Foundation; either version 3, or (at your option)
++any later version.
++
++GCC is distributed in the hope that it will be useful,
++but WITHOUT ANY WARRANTY; without even the implied warranty of
++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++GNU General Public License for more details.
++
++You should have received a copy of the GNU General Public License
++along with GCC; see the file COPYING3. If not see
++<http://www.gnu.org/licenses/>. */
++
++#include "config.h"
++#include "system.h"
++#include "coretypes.h"
++#include "tm.h"
++#include "d/d-target.h"
++#include "d/d-target-def.h"
++
++/* Implement TARGET_D_CPU_VERSIONS for S/390 and zSeries targets. */
++
++void
++s390_d_target_versions (void)
++{
++ if (TARGET_ZARCH)
++ d_add_builtin_version ("SystemZ");
++ else if (TARGET_64BIT)
++ d_add_builtin_version ("S390X");
++ else
++ d_add_builtin_version ("S390");
++
++ if (TARGET_SOFT_FLOAT)
++ d_add_builtin_version ("D_SoftFloat");
++ else if (TARGET_HARD_FLOAT)
++ d_add_builtin_version ("D_HardFloat");
++}
+--- a/src/gcc/config/s390/s390-protos.h
++++ b/src/gcc/config/s390/s390-protos.h
+@@ -165,3 +165,6 @@ extern void s390_register_target_pragmas
+
+ /* Routines for s390-c.c */
+ extern bool s390_const_operand_ok (tree, int, int, tree);
++
++/* Routines for s390-d.c */
++extern void s390_d_target_versions (void);
+--- a/src/gcc/config/s390/s390.h
++++ b/src/gcc/config/s390/s390.h
+@@ -194,6 +194,9 @@ enum processor_flags
+ /* Target CPU builtins. */
+ #define TARGET_CPU_CPP_BUILTINS() s390_cpu_cpp_builtins (pfile)
+
++/* Target CPU versions for D. */
++#define TARGET_D_CPU_VERSIONS s390_d_target_versions
++
+ #ifdef DEFAULT_TARGET_64BIT
+ #define TARGET_DEFAULT (MASK_64BIT | MASK_ZARCH | MASK_HARD_DFP \
+ | MASK_OPT_HTM | MASK_OPT_VX)
+--- a/src/gcc/config/s390/t-s390
++++ b/src/gcc/config/s390/t-s390
+@@ -25,3 +25,7 @@ s390-c.o: $(srcdir)/config/s390/s390-c.c
+ $(TARGET_H) $(TARGET_DEF_H) $(CPPLIB_H) $(C_PRAGMA_H)
+ $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
+ $(srcdir)/config/s390/s390-c.c
++
++s390-d.o: $(srcdir)/config/s390/s390-d.c
++ $(COMPILE) $<
++ $(POSTCOMPILE)
+--- /dev/null
++++ b/src/gcc/config/sparc/sparc-d.c
+@@ -0,0 +1,48 @@
++/* Subroutines for the D front end on the SPARC architecture.
++ Copyright (C) 2017 Free Software Foundation, Inc.
++
++GCC is free software; you can redistribute it and/or modify
++it under the terms of the GNU General Public License as published by
++the Free Software Foundation; either version 3, or (at your option)
++any later version.
++
++GCC is distributed in the hope that it will be useful,
++but WITHOUT ANY WARRANTY; without even the implied warranty of
++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++GNU General Public License for more details.
++
++You should have received a copy of the GNU General Public License
++along with GCC; see the file COPYING3. If not see
++<http://www.gnu.org/licenses/>. */
++
++#include "config.h"
++#include "system.h"
++#include "coretypes.h"
++#include "tm.h"
++#include "d/d-target.h"
++#include "d/d-target-def.h"
++
++/* Implement TARGET_D_CPU_VERSIONS for SPARC targets. */
++
++void
++sparc_d_target_versions (void)
++{
++ if (TARGET_64BIT)
++ d_add_builtin_version ("SPARC64");
++ else
++ d_add_builtin_version ("SPARC");
++
++ if (TARGET_V8PLUS)
++ d_add_builtin_version ("SPARC_V8Plus");
++
++ if (TARGET_FPU)
++ {
++ d_add_builtin_version ("D_HardFloat");
++ d_add_builtin_version ("SPARC_HardFloat");
++ }
++ else
++ {
++ d_add_builtin_version ("D_SoftFloat");
++ d_add_builtin_version ("SPARC_SoftFloat");
++ }
++}
+--- a/src/gcc/config/sparc/sparc-protos.h
++++ b/src/gcc/config/sparc/sparc-protos.h
+@@ -111,4 +111,7 @@ unsigned int sparc_regmode_natural_size
+
+ extern rtl_opt_pass *make_pass_work_around_errata (gcc::context *);
+
++/* Routines implemented in sparc-d.c */
++extern void sparc_d_target_versions (void);
++
+ #endif /* __SPARC_PROTOS_H__ */
+--- a/src/gcc/config/sparc/sparc.h
++++ b/src/gcc/config/sparc/sparc.h
+@@ -27,6 +27,9 @@ along with GCC; see the file COPYING3.
+
+ #define TARGET_CPU_CPP_BUILTINS() sparc_target_macros ()
+
++/* Target CPU versions for D. */
++#define TARGET_D_CPU_VERSIONS sparc_d_target_versions
++
+ /* Specify this in a cover file to provide bi-architecture (32/64) support. */
+ /* #define SPARC_BI_ARCH */
+
+--- a/src/gcc/config/sparc/t-sparc
++++ b/src/gcc/config/sparc/t-sparc
+@@ -23,3 +23,7 @@ PASSES_EXTRA += $(srcdir)/config/sparc/s
+ sparc-c.o: $(srcdir)/config/sparc/sparc-c.c
+ $(COMPILE) $<
+ $(POSTCOMPILE)
++
++sparc-d.o: $(srcdir)/config/sparc/sparc-d.c
++ $(COMPILE) $<
++ $(POSTCOMPILE)
+--- a/src/gcc/config/t-glibc
++++ b/src/gcc/config/t-glibc
+@@ -19,3 +19,7 @@
+ glibc-c.o: config/glibc-c.c
+ $(COMPILE) $<
+ $(POSTCOMPILE)
++
++glibc-d.o: config/glibc-d.c
++ $(COMPILE) $<
++ $(POSTCOMPILE)
+--- a/src/gcc/configure
++++ b/src/gcc/configure
+@@ -612,6 +612,7 @@ ISLLIBS
+ GMPINC
+ GMPLIBS
+ target_cpu_default
++d_target_objs
+ fortran_target_objs
+ cxx_target_objs
+ c_target_objs
+@@ -619,6 +620,8 @@ use_gcc_stdint
+ xm_defines
+ xm_include_list
+ xm_file_list
++tm_d_include_list
++tm_d_file_list
+ tm_p_include_list
+ tm_p_file_list
+ tm_defines
+@@ -11810,6 +11813,7 @@ fi
+
+ tm_file="${tm_file} defaults.h"
+ tm_p_file="${tm_p_file} tm-preds.h"
++tm_d_file="${tm_d_file} defaults.h"
+ host_xm_file="auto-host.h ansidecl.h ${host_xm_file}"
+ build_xm_file="${build_auto} ansidecl.h ${build_xm_file}"
+ # We don't want ansidecl.h in target files, write code there in ISO/GNU C.
+@@ -12179,6 +12183,21 @@ for f in $tm_p_file; do
+ esac
+ done
+
++tm_d_file_list=
++tm_d_include_list="options.h insn-constants.h"
++for f in $tm_d_file; do
++ case $f in
++ defaults.h )
++ tm_d_file_list="${tm_d_file_list} \$(srcdir)/$f"
++ tm_d_include_list="${tm_d_include_list} $f"
++ ;;
++ * )
++ tm_d_file_list="${tm_d_file_list} \$(srcdir)/config/$f"
++ tm_d_include_list="${tm_d_include_list} config/$f"
++ ;;
++ esac
++done
++
+ xm_file_list=
+ xm_include_list=
+ for f in $xm_file; do
+--- a/src/gcc/configure.ac
++++ b/src/gcc/configure.ac
+@@ -1725,6 +1725,7 @@ AC_SUBST(build_subdir)
+
+ tm_file="${tm_file} defaults.h"
+ tm_p_file="${tm_p_file} tm-preds.h"
++tm_d_file="${tm_d_file} defaults.h"
+ host_xm_file="auto-host.h ansidecl.h ${host_xm_file}"
+ build_xm_file="${build_auto} ansidecl.h ${build_xm_file}"
+ # We don't want ansidecl.h in target files, write code there in ISO/GNU C.
+@@ -1947,6 +1948,21 @@ for f in $tm_p_file; do
+ esac
+ done
+
++tm_d_file_list=
++tm_d_include_list="options.h insn-constants.h"
++for f in $tm_d_file; do
++ case $f in
++ defaults.h )
++ tm_d_file_list="${tm_d_file_list} \$(srcdir)/$f"
++ tm_d_include_list="${tm_d_include_list} $f"
++ ;;
++ * )
++ tm_d_file_list="${tm_d_file_list} \$(srcdir)/config/$f"
++ tm_d_include_list="${tm_d_include_list} config/$f"
++ ;;
++ esac
++done
++
+ xm_file_list=
+ xm_include_list=
+ for f in $xm_file; do
+@@ -6390,6 +6406,8 @@ AC_SUBST(tm_include_list)
+ AC_SUBST(tm_defines)
+ AC_SUBST(tm_p_file_list)
+ AC_SUBST(tm_p_include_list)
++AC_SUBST(tm_d_file_list)
++AC_SUBST(tm_d_include_list)
+ AC_SUBST(xm_file_list)
+ AC_SUBST(xm_include_list)
+ AC_SUBST(xm_defines)
+@@ -6397,6 +6415,7 @@ AC_SUBST(use_gcc_stdint)
+ AC_SUBST(c_target_objs)
+ AC_SUBST(cxx_target_objs)
+ AC_SUBST(fortran_target_objs)
++AC_SUBST(d_target_objs)
+ AC_SUBST(target_cpu_default)
+
+ AC_SUBST_FILE(language_hooks)
+--- a/src/gcc/genhooks.c
++++ b/src/gcc/genhooks.c
+@@ -34,6 +34,7 @@ static struct hook_desc hook_array[] = {
+ #include "target.def"
+ #include "c-family/c-target.def"
+ #include "common/common-target.def"
++#include "d/d-target.def"
+ #undef DEFHOOK
+ };
+
--- /dev/null
+# DP: Add macros for the gdc texinfo documentation.
+
+Index: b/src/gcc/d/gdc.texi
+===================================================================
+--- a/src/gcc/d/gdc.texi
++++ b/src/gcc/d/gdc.texi
+@@ -57,6 +57,22 @@ man page gfdl(7).
+ @insertcopying
+ @end ifinfo
+
++@macro versionsubtitle
++@ifclear DEVELOPMENT
++@subtitle For @sc{gcc} version @value{version-GCC}
++@end ifclear
++@ifset DEVELOPMENT
++@subtitle For @sc{gcc} version @value{version-GCC} (pre-release)
++@end ifset
++@ifset VERSION_PACKAGE
++@sp 1
++@subtitle @value{VERSION_PACKAGE}
++@end ifset
++@c Even if there are no authors, the second titlepage line should be
++@c forced to the bottom of the page.
++@vskip 0pt plus 1filll
++@end macro
++
+ @titlepage
+ @title The GNU D Compiler
+ @versionsubtitle
+@@ -138,6 +154,25 @@ the options specific to @command{gdc}.
+ * Developer Options:: Options you won't use
+ @end menu
+
++@macro gcctabopt{body}
++@code{\body\}
++@end macro
++@macro gccoptlist{body}
++@smallexample
++\body\
++@end smallexample
++@end macro
++@c Makeinfo handles the above macro OK, TeX needs manual line breaks;
++@c they get lost at some point in handling the macro. But if @macro is
++@c used here rather than @alias, it produces double line breaks.
++@iftex
++@alias gol = *
++@end iftex
++@ifnottex
++@macro gol
++@end macro
++@end ifnottex
++
+ @c man begin OPTIONS
+
+ @node Input and Output files
--- /dev/null
+# DP: gdc updates up to 20160115.
+
+ * Make-lang.in (d-warn): Filter out -Wmissing-format-attribute.
+
+Index: b/src/gcc/d/Make-lang.in
+===================================================================
+--- a/src/gcc/d/Make-lang.in
++++ b/src/gcc/d/Make-lang.in
+@@ -46,7 +46,7 @@ gdc-cross$(exeext): gdc$(exeext)
+ cp gdc$(exeext) gdc-cross$(exeext)
+
+ # Filter out pedantic and virtual overload warnings.
+-d-warn = $(filter-out -pedantic -Woverloaded-virtual, $(STRICT_WARN))
++d-warn = $(filter-out -pedantic -Woverloaded-virtual -Wmissing-format-attribute, $(STRICT_WARN))
+
+ # Also filter out warnings for missing format attributes in the D Frontend.
+ DMD_WARN_CXXFLAGS = $(filter-out -Wmissing-format-attribute, $(WARN_CXXFLAGS))
+Index: b/src/libphobos/src/std/internal/math/gammafunction.d
+===================================================================
+--- a/src/libphobos/src/std/internal/math/gammafunction.d
++++ b/src/libphobos/src/std/internal/math/gammafunction.d
+@@ -460,7 +460,7 @@ real logGamma(real x)
+ if ( p == q )
+ return real.infinity;
+ int intpart = cast(int)(p);
+- real sgngam = 1;
++ real sgngam = 1.0L;
+ if ( (intpart & 1) == 0 )
+ sgngam = -1;
+ z = q - p;
--- /dev/null
+# DP: Skip Go testcase on AArch64 which hangs on the buildds.
+
+Index: b/src/gcc/testsuite/go.test/go-test.exp
+===================================================================
+--- a/src/gcc/testsuite/go.test/go-test.exp
++++ b/src/gcc/testsuite/go.test/go-test.exp
+@@ -405,6 +405,14 @@ proc go-gc-tests { } {
+ continue
+ }
+
++ # Hangs on the buildds
++ if { [istarget "aarch64*-*-*"] } {
++ if { [string match "*go.test/test/chan/select5.go" $test] } {
++ untested $test
++ continue
++ }
++ }
++
+ if { [file tail $test] == "init1.go" } {
+ # This tests whether GC runs during init, which for gccgo
+ # it currently does not.
--- /dev/null
+# DP: Traditional GNU systems don't have a /usr directory. However, Debian
+# DP: systems do, and we support both having a /usr -> . symlink, and having a
+# DP: /usr directory like the other ports. So this patch should NOT go
+# DP: upstream.
+
+---
+ config.gcc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/src/gcc/config.gcc (révision 182461)
++++ b/src/gcc/config.gcc (copie de travail)
+@@ -583,7 +583,7 @@
+ *-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-kopensolaris*-gnu)
+ :;;
+ *-*-gnu*)
+- native_system_header_dir=/include
++ # native_system_header_dir=/include
+ ;;
+ esac
+ # glibc / uclibc / bionic switch.
--- /dev/null
+--- a/src/gcc/config/ia64/ia64.c 2018-01-03 11:03:58.000000000 +0100
++++ b/src/gcc/config/ia64/ia64.c 2018-12-16 12:19:05.420184086 +0100
+@@ -6122,13 +6122,6 @@
+ static void
+ ia64_override_options_after_change (void)
+ {
+- if (optimize >= 3
+- && !global_options_set.x_flag_selective_scheduling
+- && !global_options_set.x_flag_selective_scheduling2)
+- {
+- flag_selective_scheduling2 = 1;
+- flag_sel_sched_pipelining = 1;
+- }
+ if (mflag_sched_control_spec == 2)
+ {
+ /* Control speculation is on by default for the selective scheduler,
--- /dev/null
+# DP: Ignore dpkg's pie specs when pie is not enabled.
+
+Index: b/src/gcc/gcc.c
+===================================================================
+--- a/src/gcc/gcc.c
++++ b/src/gcc/gcc.c
+@@ -3715,6 +3715,36 @@ handle_foffload_option (const char *arg)
+ }
+ }
+
++static bool ignore_pie_specs_when_not_enabled(const char *envvar,
++ const char *specname)
++{
++ const char *envval = secure_getenv(envvar);
++ char *hardening;
++ bool ignore;
++
++ if (strstr (specname, "/pie-compile.specs") == NULL
++ && strstr (specname, "/pie-link.specs") == NULL)
++ return false;
++ if (envval == NULL || strstr (envval, "hardening=") == NULL)
++ return true;
++ ignore = true;
++ hardening = (char *) xmalloc (strlen(envval) + 1);
++ strcpy (hardening, strstr (envval, "hardening="));
++ if (strchr (hardening, ' '))
++ *strchr (hardening, ' ') = '\0';
++ if (strstr(hardening, "+all"))
++ {
++ if (strstr(hardening, "-pie") == NULL)
++ ignore = false;
++ }
++ else if (strstr(hardening, "+pie"))
++ {
++ ignore = false;
++ }
++ free (hardening);
++ return ignore;
++}
++
+ /* Handle a driver option; arguments and return value as for
+ handle_option. */
+
+@@ -3989,6 +4019,12 @@ driver_handle_option (struct gcc_options
+ break;
+
+ case OPT_specs_:
++ if (ignore_pie_specs_when_not_enabled("DEB_BUILD_MAINT_OPTIONS", arg)
++ && ignore_pie_specs_when_not_enabled("DEB_BUILD_OPTIONS", arg))
++ {
++ inform (0, "pie specs %s ignored when pie is not enabled", arg);
++ return true;
++ }
+ {
+ struct user_specs *user = XNEW (struct user_specs);
+
--- /dev/null
+# DP: Enable decimal float support on kfreebsd-amd64
+
+Index: b/src/gcc/configure.ac
+===================================================================
+--- a/src/gcc/configure.ac
++++ b/src/gcc/configure.ac
+@@ -817,6 +817,7 @@ AC_ARG_ENABLE(__cxa_atexit,
+ [], [])
+
+ # Enable C extension for decimal float if target supports it.
++# touch the file, adding decimal support for kfreebsd-amd64 in config/dfp.m4
+ GCC_AC_ENABLE_DECIMAL_FLOAT([$target])
+
+ dfp=`if test $enable_decimal_float != no; then echo 1; else echo 0; fi`
+Index: b/src/config/dfp.m4
+===================================================================
+--- a/src/config/dfp.m4
++++ b/src/config/dfp.m4
+@@ -21,7 +21,7 @@ Valid choices are 'yes', 'bid', 'dpd', a
+ [
+ case $1 in
+ powerpc*-*-linux* | i?86*-*-linux* | x86_64*-*-linux* | s390*-*-linux* | \
+- i?86*-*-elfiamcu | i?86*-*-gnu* | \
++ i?86*-*-elfiamcu | i?86*-*-gnu* | x86_64*-*-gnu* | \
+ i?86*-*-mingw* | x86_64*-*-mingw* | \
+ i?86*-*-cygwin* | x86_64*-*-cygwin*)
+ enable_decimal_float=yes
+Index: b/src/libdecnumber/configure.ac
+===================================================================
+--- a/src/libdecnumber/configure.ac
++++ b/src/libdecnumber/configure.ac
+@@ -77,6 +77,7 @@ AC_CANONICAL_TARGET
+
+ # Default decimal format
+ # If you change the defaults here, be sure to change them in the GCC directory also
++# touch the file, adding decimal support for kfreebsd-amd64 in config/dfp.m4
+ AC_MSG_CHECKING([for decimal floating point])
+
+ GCC_AC_ENABLE_DECIMAL_FLOAT([$target])
+Index: b/src/libgcc/configure.ac
+===================================================================
+--- a/src/libgcc/configure.ac
++++ b/src/libgcc/configure.ac
+@@ -207,6 +207,7 @@ AC_CHECK_HEADERS(inttypes.h stdint.h std
+ AC_HEADER_STDC
+
+ # Check for decimal float support.
++# touch the file, adding decimal support for kfreebsd-amd64 in config/dfp.m4
+ AC_CACHE_CHECK([whether decimal floating point is supported], [libgcc_cv_dfp],
+ [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+ #include <fenv.h>
--- /dev/null
+# DP: DWARF2 EH unwinding support for AMD x86-64 and x86 KFreeBSD.
+
+Index: b/src/libgcc/config.host
+===================================================================
+--- a/src/libgcc/config.host
++++ b/src/libgcc/config.host
+@@ -647,7 +647,13 @@ i[34567]86-*-linux*)
+ tm_file="${tm_file} i386/elf-lib.h"
+ md_unwind_header=i386/linux-unwind.h
+ ;;
+-i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu)
++i[34567]86-*-kfreebsd*-gnu)
++ extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
++ tmake_file="${tmake_file} i386/t-crtpc t-crtfm i386/t-crtstuff t-dfprules"
++ tm_file="${tm_file} i386/elf-lib.h"
++ md_unwind_header=i386/freebsd-unwind.h
++ ;;
++i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu)
+ extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
+ tmake_file="${tmake_file} i386/t-crtpc t-crtfm i386/t-crtstuff t-dfprules"
+ tm_file="${tm_file} i386/elf-lib.h"
+@@ -662,6 +668,7 @@ x86_64-*-kfreebsd*-gnu)
+ extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
+ tmake_file="${tmake_file} i386/t-crtpc t-crtfm i386/t-crtstuff t-dfprules"
+ tm_file="${tm_file} i386/elf-lib.h"
++ md_unwind_header=i386/freebsd-unwind.h
+ ;;
+ i[34567]86-pc-msdosdjgpp*)
+ ;;
+Index: b/src/libgcc/config/i386/freebsd-unwind.h
+===================================================================
+--- a/src/libgcc/config/i386/freebsd-unwind.h
++++ b/src/libgcc/config/i386/freebsd-unwind.h
+@@ -26,6 +26,8 @@ see the files COPYING3 and COPYING.RUNTI
+ /* Do code reading to identify a signal frame, and set the frame
+ state data appropriately. See unwind-dw2.c for the structs. */
+
++#ifndef inhibit_libc
++
+ #include <sys/types.h>
+ #include <signal.h>
+ #include <unistd.h>
+@@ -210,3 +212,5 @@ x86_freebsd_fallback_frame_state
+ return _URC_NO_REASON;
+ }
+ #endif /* ifdef __x86_64__ */
++
++#endif /* ifndef inhibit_libc */
--- /dev/null
+# DP: Re-apply sanitizer patch for sparc, dropped upstream
+
+# don't remove, this is regularly overwritten, see PR sanitizer/63958.
+
+libsanitizer/
+
+2014-10-14 David S. Miller <davem@davemloft.net>
+
+ * sanitizer_common/sanitizer_platform_limits_linux.cc (time_t):
+ Define at __kernel_time_t, as needed for sparc.
+ (struct __old_kernel_stat): Don't check if __sparc__ is defined.
+ * libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
+ (__sanitizer): Define struct___old_kernel_stat_sz,
+ struct_kernel_stat_sz, and struct_kernel_stat64_sz for sparc.
+ (__sanitizer_ipc_perm): Adjust for sparc targets.
+ (__sanitizer_shmid_ds): Likewsie.
+ (__sanitizer_sigaction): Likewsie.
+ (IOC_SIZE): Likewsie.
+
+Index: libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
+===================================================================
+--- a/src/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h (revision 216223)
++++ a/src/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h (revision 216224)
+@@ -72,6 +72,14 @@
+ const unsigned struct_kernel_stat_sz = 144;
+ #endif
+ const unsigned struct_kernel_stat64_sz = 104;
++#elif defined(__sparc__) && defined(__arch64__)
++ const unsigned struct___old_kernel_stat_sz = 0;
++ const unsigned struct_kernel_stat_sz = 104;
++ const unsigned struct_kernel_stat64_sz = 144;
++#elif defined(__sparc__) && !defined(__arch64__)
++ const unsigned struct___old_kernel_stat_sz = 0;
++ const unsigned struct_kernel_stat_sz = 64;
++ const unsigned struct_kernel_stat64_sz = 104;
+ #endif
+ struct __sanitizer_perf_event_attr {
+ unsigned type;
+@@ -94,7 +102,7 @@
+
+ #if defined(__powerpc64__)
+ const unsigned struct___old_kernel_stat_sz = 0;
+-#else
++#elif !defined(__sparc__)
+ const unsigned struct___old_kernel_stat_sz = 32;
+ #endif
+
+@@ -173,6 +181,18 @@
+ unsigned short __pad1;
+ unsigned long __unused1;
+ unsigned long __unused2;
++#elif defined(__sparc__)
++# if defined(__arch64__)
++ unsigned mode;
++ unsigned short __pad1;
++# else
++ unsigned short __pad1;
++ unsigned short mode;
++ unsigned short __pad2;
++# endif
++ unsigned short __seq;
++ unsigned long long __unused1;
++ unsigned long long __unused2;
+ #else
+ unsigned short mode;
+ unsigned short __pad1;
+@@ -190,6 +210,26 @@
+
+ struct __sanitizer_shmid_ds {
+ __sanitizer_ipc_perm shm_perm;
++ #if defined(__sparc__)
++ # if !defined(__arch64__)
++ u32 __pad1;
++ # endif
++ long shm_atime;
++ # if !defined(__arch64__)
++ u32 __pad2;
++ # endif
++ long shm_dtime;
++ # if !defined(__arch64__)
++ u32 __pad3;
++ # endif
++ long shm_ctime;
++ uptr shm_segsz;
++ int shm_cpid;
++ int shm_lpid;
++ unsigned long shm_nattch;
++ unsigned long __glibc_reserved1;
++ unsigned long __glibc_reserved2;
++ #else
+ #ifndef __powerpc__
+ uptr shm_segsz;
+ #elif !defined(__powerpc64__)
+@@ -227,6 +267,7 @@
+ uptr __unused4;
+ uptr __unused5;
+ #endif
++#endif
+ };
+ #elif SANITIZER_FREEBSD
+ struct __sanitizer_ipc_perm {
+@@ -523,9 +564,13 @@
+ #else
+ __sanitizer_sigset_t sa_mask;
+ #ifndef __mips__
++#if defined(__sparc__)
++ unsigned long sa_flags;
++#else
+ int sa_flags;
+ #endif
+ #endif
++#endif
+ #if SANITIZER_LINUX
+ void (*sa_restorer)();
+ #endif
+@@ -745,7 +790,7 @@
+
+ #define IOC_NRBITS 8
+ #define IOC_TYPEBITS 8
+-#if defined(__powerpc__) || defined(__powerpc64__) || defined(__mips__)
++#if defined(__powerpc__) || defined(__powerpc64__) || defined(__mips__) || defined(__sparc__)
+ #define IOC_SIZEBITS 13
+ #define IOC_DIRBITS 3
+ #define IOC_NONE 1U
+@@ -775,7 +820,17 @@
+ #define IOC_DIR(nr) (((nr) >> IOC_DIRSHIFT) & IOC_DIRMASK)
+ #define IOC_TYPE(nr) (((nr) >> IOC_TYPESHIFT) & IOC_TYPEMASK)
+ #define IOC_NR(nr) (((nr) >> IOC_NRSHIFT) & IOC_NRMASK)
++
++#if defined(__sparc__)
++// In sparc the 14 bits SIZE field overlaps with the
++// least significant bit of DIR, so either IOC_READ or
++// IOC_WRITE shall be 1 in order to get a non-zero SIZE.
++# define IOC_SIZE(nr) \
++ ((((((nr) >> 29) & 0x7) & (4U|2U)) == 0)? \
++ 0 : (((nr) >> 16) & 0x3fff))
++#else
+ #define IOC_SIZE(nr) (((nr) >> IOC_SIZESHIFT) & IOC_SIZEMASK)
++#endif
+
+ extern unsigned struct_arpreq_sz;
+ extern unsigned struct_ifreq_sz;
+Index: libsanitizer/sanitizer_common/sanitizer_platform_limits_linux.cc
+===================================================================
+--- a/src/libsanitizer/sanitizer_common/sanitizer_platform_limits_linux.cc (revision 216223)
++++ a/src/libsanitizer/sanitizer_common/sanitizer_platform_limits_linux.cc (revision 216224)
+@@ -36,6 +36,7 @@
+ #define uid_t __kernel_uid_t
+ #define gid_t __kernel_gid_t
+ #define off_t __kernel_off_t
++#define time_t __kernel_time_t
+ // This header seems to contain the definitions of _kernel_ stat* structs.
+ #include <asm/stat.h>
+ #undef ino_t
+@@ -60,7 +61,7 @@
+ } // namespace __sanitizer
+
+ #if !defined(__powerpc64__) && !defined(__x86_64__) && !defined(__aarch64__)\
+- && !defined(__mips__)
++ && !defined(__mips__) && !defined(__sparc__)
+ COMPILER_CHECK(struct___old_kernel_stat_sz == sizeof(struct __old_kernel_stat));
+ #endif
+
--- /dev/null
+# DP: Backport Mips go closure support, taken from libffi issue #197.
+
+Index: b/src/libffi/src/mips/ffi.c
+===================================================================
+--- a/src/libffi/src/mips/ffi.c
++++ b/src/libffi/src/mips/ffi.c
+@@ -581,14 +581,15 @@ ffi_status ffi_prep_cif_machdep(ffi_cif
+ /* Low level routine for calling O32 functions */
+ extern int ffi_call_O32(void (*)(char *, extended_cif *, int, int),
+ extended_cif *, unsigned,
+- unsigned, unsigned *, void (*)(void));
++ unsigned, unsigned *, void (*)(void), void *closure);
+
+ /* Low level routine for calling N32 functions */
+ extern int ffi_call_N32(void (*)(char *, extended_cif *, int, int),
+ extended_cif *, unsigned,
+- unsigned, void *, void (*)(void));
++ unsigned, void *, void (*)(void), void *closure);
+
+-void ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue)
++void ffi_call_int(ffi_cif *cif, void (*fn)(void), void *rvalue,
++ void **avalue, void *closure)
+ {
+ extended_cif ecif;
+
+@@ -610,7 +611,7 @@ void ffi_call(ffi_cif *cif, void (*fn)(v
+ case FFI_O32:
+ case FFI_O32_SOFT_FLOAT:
+ ffi_call_O32(ffi_prep_args, &ecif, cif->bytes,
+- cif->flags, ecif.rvalue, fn);
++ cif->flags, ecif.rvalue, fn, closure);
+ break;
+ #endif
+
+@@ -642,7 +643,7 @@ void ffi_call(ffi_cif *cif, void (*fn)(v
+ #endif
+ }
+ ffi_call_N32(ffi_prep_args, &ecif, cif->bytes,
+- cif->flags, rvalue_copy, fn);
++ cif->flags, rvalue_copy, fn, closure);
+ if (copy_rvalue)
+ memcpy(ecif.rvalue, rvalue_copy + copy_offset, cif->rtype->size);
+ }
+@@ -655,11 +656,27 @@ void ffi_call(ffi_cif *cif, void (*fn)(v
+ }
+ }
+
++void
++ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue)
++{
++ ffi_call_int (cif, fn, rvalue, avalue, NULL);
++}
++
++void
++ffi_call_go (ffi_cif *cif, void (*fn)(void), void *rvalue,
++ void **avalue, void *closure)
++{
++ ffi_call_int (cif, fn, rvalue, avalue, closure);
++}
++
++
+ #if FFI_CLOSURES
+ #if defined(FFI_MIPS_O32)
+ extern void ffi_closure_O32(void);
++extern void ffi_go_closure_O32(void);
+ #else
+ extern void ffi_closure_N32(void);
++extern void ffi_go_closure_N32(void);
+ #endif /* FFI_MIPS_O32 */
+
+ ffi_status
+@@ -770,17 +787,17 @@ ffi_prep_closure_loc (ffi_closure *closu
+ * Based on the similar routine for sparc.
+ */
+ int
+-ffi_closure_mips_inner_O32 (ffi_closure *closure,
++ffi_closure_mips_inner_O32 (ffi_cif *cif,
++ void (*fun)(ffi_cif*, void*, void**, void*),
++ void *user_data,
+ void *rvalue, ffi_arg *ar,
+ double *fpr)
+ {
+- ffi_cif *cif;
+ void **avaluep;
+ ffi_arg *avalue;
+ ffi_type **arg_types;
+ int i, avn, argn, seen_int;
+
+- cif = closure->cif;
+ avalue = alloca (cif->nargs * sizeof (ffi_arg));
+ avaluep = alloca (cif->nargs * sizeof (ffi_arg));
+
+@@ -848,7 +865,7 @@ ffi_closure_mips_inner_O32 (ffi_closure
+ }
+
+ /* Invoke the closure. */
+- (closure->fun) (cif, rvalue, avaluep, closure->user_data);
++ fun(cif, rvalue, avaluep, user_data);
+
+ if (cif->abi == FFI_O32_SOFT_FLOAT)
+ {
+@@ -924,11 +941,12 @@ copy_struct_N32(char *target, unsigned o
+ *
+ */
+ int
+-ffi_closure_mips_inner_N32 (ffi_closure *closure,
++ffi_closure_mips_inner_N32 (ffi_cif *cif,
++ void (*fun)(ffi_cif*, void*, void**, void*),
++ void *user_data,
+ void *rvalue, ffi_arg *ar,
+ ffi_arg *fpr)
+ {
+- ffi_cif *cif;
+ void **avaluep;
+ ffi_arg *avalue;
+ ffi_type **arg_types;
+@@ -936,7 +954,6 @@ ffi_closure_mips_inner_N32 (ffi_closure
+ int soft_float;
+ ffi_arg *argp;
+
+- cif = closure->cif;
+ soft_float = cif->abi == FFI_N64_SOFT_FLOAT
+ || cif->abi == FFI_N32_SOFT_FLOAT;
+ avalue = alloca (cif->nargs * sizeof (ffi_arg));
+@@ -1048,11 +1065,49 @@ ffi_closure_mips_inner_N32 (ffi_closure
+ }
+
+ /* Invoke the closure. */
+- (closure->fun) (cif, rvalue, avaluep, closure->user_data);
++ fun (cif, rvalue, avaluep, user_data);
+
+ return cif->flags >> (FFI_FLAG_BITS * 8);
+ }
+
+ #endif /* FFI_MIPS_N32 */
+
++#if defined(FFI_MIPS_O32)
++extern void ffi_closure_O32(void);
++extern void ffi_go_closure_O32(void);
++#else
++extern void ffi_closure_N32(void);
++extern void ffi_go_closure_N32(void);
++#endif /* FFI_MIPS_O32 */
++
++ffi_status
++ffi_prep_go_closure (ffi_go_closure* closure, ffi_cif* cif,
++ void (*fun)(ffi_cif*,void*,void**,void*))
++{
++ void * fn;
++
++#if defined(FFI_MIPS_O32)
++ if (cif->abi != FFI_O32 && cif->abi != FFI_O32_SOFT_FLOAT)
++ return FFI_BAD_ABI;
++ fn = ffi_go_closure_O32;
++#else
++#if _MIPS_SIM ==_ABIN32
++ if (cif->abi != FFI_N32
++ && cif->abi != FFI_N32_SOFT_FLOAT)
++ return FFI_BAD_ABI;
++#else
++ if (cif->abi != FFI_N64
++ && cif->abi != FFI_N64_SOFT_FLOAT)
++ return FFI_BAD_ABI;
++#endif
++ fn = ffi_go_closure_N32;
++#endif /* FFI_MIPS_O32 */
++
++ closure->tramp = (void *)fn;
++ closure->cif = cif;
++ closure->fun = fun;
++
++ return FFI_OK;
++}
++
+ #endif /* FFI_CLOSURES */
+Index: b/src/libffi/src/mips/ffitarget.h
+===================================================================
+--- a/src/libffi/src/mips/ffitarget.h
++++ b/src/libffi/src/mips/ffitarget.h
+@@ -231,12 +231,14 @@ typedef enum ffi_abi {
+
+ #if defined(FFI_MIPS_O32)
+ #define FFI_CLOSURES 1
++#define FFI_GO_CLOSURES 1
+ #define FFI_TRAMPOLINE_SIZE 20
+ #else
+ /* N32/N64. */
+ # define FFI_CLOSURES 1
++#define FFI_GO_CLOSURES 1
+ #if _MIPS_SIM==_ABI64
+-#define FFI_TRAMPOLINE_SIZE 52
++#define FFI_TRAMPOLINE_SIZE 56
+ #else
+ #define FFI_TRAMPOLINE_SIZE 20
+ #endif
+Index: b/src/libffi/src/mips/n32.S
+===================================================================
+--- a/src/libffi/src/mips/n32.S
++++ b/src/libffi/src/mips/n32.S
+@@ -37,8 +37,12 @@
+ #define flags a3
+ #define raddr a4
+ #define fn a5
++#define closure a6
+
+-#define SIZEOF_FRAME ( 8 * FFI_SIZEOF_ARG )
++/* Note: to keep stack 16 byte aligned we need even number slots
++ used 9 slots here
++*/
++#define SIZEOF_FRAME ( 10 * FFI_SIZEOF_ARG )
+
+ #ifdef __GNUC__
+ .abicalls
+@@ -51,24 +55,25 @@
+ .globl ffi_call_N32
+ .ent ffi_call_N32
+ ffi_call_N32:
+-.LFB3:
++.LFB0:
+ .frame $fp, SIZEOF_FRAME, ra
+ .mask 0xc0000000,-FFI_SIZEOF_ARG
+ .fmask 0x00000000,0
+
+ # Prologue
+ SUBU $sp, SIZEOF_FRAME # Frame size
+-.LCFI0:
++.LCFI00:
+ REG_S $fp, SIZEOF_FRAME - 2*FFI_SIZEOF_ARG($sp) # Save frame pointer
+ REG_S ra, SIZEOF_FRAME - 1*FFI_SIZEOF_ARG($sp) # Save return address
+-.LCFI1:
++.LCFI01:
+ move $fp, $sp
+-.LCFI3:
++.LCFI02:
+ move t9, callback # callback function pointer
+ REG_S bytes, 2*FFI_SIZEOF_ARG($fp) # bytes
+ REG_S flags, 3*FFI_SIZEOF_ARG($fp) # flags
+ REG_S raddr, 4*FFI_SIZEOF_ARG($fp) # raddr
+ REG_S fn, 5*FFI_SIZEOF_ARG($fp) # fn
++ REG_S closure, 6*FFI_SIZEOF_ARG($fp) # closure
+
+ # Allocate at least 4 words in the argstack
+ move v0, bytes
+@@ -200,6 +205,9 @@ callit:
+ # Load the function pointer
+ REG_L t9, 5*FFI_SIZEOF_ARG($fp)
+
++ # install the static chain(t7=$15)
++ REG_L t7, 6*FFI_SIZEOF_ARG($fp)
++
+ # If the return value pointer is NULL, assume no return value.
+ REG_L t5, 4*FFI_SIZEOF_ARG($fp)
+ beqz t5, noretval
+@@ -348,7 +356,7 @@ epilogue:
+ ADDU $sp, SIZEOF_FRAME # Fix stack pointer
+ j ra
+
+-.LFE3:
++.LFE0:
+ .end ffi_call_N32
+
+ /* ffi_closure_N32. Expects address of the passed-in ffi_closure in t0
+@@ -408,6 +416,41 @@ epilogue:
+ #define GP_OFF2 (0 * FFI_SIZEOF_ARG)
+
+ .align 2
++ .globl ffi_go_closure_N32
++ .ent ffi_go_closure_N32
++ffi_go_closure_N32:
++.LFB1:
++ .frame $sp, SIZEOF_FRAME2, ra
++ .mask 0x90000000,-(SIZEOF_FRAME2 - RA_OFF2)
++ .fmask 0x00000000,0
++ SUBU $sp, SIZEOF_FRAME2
++.LCFI10:
++ .cpsetup t9, GP_OFF2, ffi_go_closure_N32
++ REG_S ra, RA_OFF2($sp) # Save return address
++.LCFI11:
++
++ REG_S a0, A0_OFF2($sp)
++ REG_S a1, A1_OFF2($sp)
++ REG_S a2, A2_OFF2($sp)
++ REG_S a3, A3_OFF2($sp)
++ REG_S a4, A4_OFF2($sp)
++ REG_S a5, A5_OFF2($sp)
++
++ # Call ffi_closure_mips_inner_N32 to do the real work.
++ LA t9, ffi_closure_mips_inner_N32
++ REG_L a0, 8($15) # cif
++ REG_L a1, 16($15) # fun
++ move a2, t7 # userdata=closure
++ ADDU a3, $sp, V0_OFF2 # rvalue
++ ADDU a4, $sp, A0_OFF2 # ar
++ ADDU a5, $sp, F12_OFF2 # fpr
++
++ b $do_closure
++
++.LFE1:
++ .end ffi_go_closure_N32
++
++ .align 2
+ .globl ffi_closure_N32
+ .ent ffi_closure_N32
+ ffi_closure_N32:
+@@ -416,18 +459,29 @@ ffi_closure_N32:
+ .mask 0x90000000,-(SIZEOF_FRAME2 - RA_OFF2)
+ .fmask 0x00000000,0
+ SUBU $sp, SIZEOF_FRAME2
+-.LCFI5:
++.LCFI20:
+ .cpsetup t9, GP_OFF2, ffi_closure_N32
+ REG_S ra, RA_OFF2($sp) # Save return address
+-.LCFI6:
+- # Store all possible argument registers. If there are more than
+- # fit in registers, then they were stored on the stack.
++.LCFI21:
+ REG_S a0, A0_OFF2($sp)
+ REG_S a1, A1_OFF2($sp)
+ REG_S a2, A2_OFF2($sp)
+ REG_S a3, A3_OFF2($sp)
+ REG_S a4, A4_OFF2($sp)
+ REG_S a5, A5_OFF2($sp)
++
++ # Call ffi_closure_mips_inner_N32 to do the real work.
++ LA t9, ffi_closure_mips_inner_N32
++ REG_L a0, 56($12) # cif
++ REG_L a1, 64($12) # fun
++ REG_L a2, 72($12) # user_data
++ ADDU a3, $sp, V0_OFF2
++ ADDU a4, $sp, A0_OFF2
++ ADDU a5, $sp, F12_OFF2
++
++$do_closure:
++ # Store all possible argument registers. If there are more than
++ # fit in registers, then they were stored on the stack.
+ REG_S a6, A6_OFF2($sp)
+ REG_S a7, A7_OFF2($sp)
+
+@@ -441,12 +495,6 @@ ffi_closure_N32:
+ s.d $f18, F18_OFF2($sp)
+ s.d $f19, F19_OFF2($sp)
+
+- # Call ffi_closure_mips_inner_N32 to do the real work.
+- LA t9, ffi_closure_mips_inner_N32
+- move a0, $12 # Pointer to the ffi_closure
+- ADDU a1, $sp, V0_OFF2
+- ADDU a2, $sp, A0_OFF2
+- ADDU a3, $sp, F12_OFF2
+ jalr t9
+
+ # Return flags are in v0
+@@ -533,46 +581,66 @@ cls_epilogue:
+ .align EH_FRAME_ALIGN
+ .LECIE1:
+
+-.LSFDE1:
+- .4byte .LEFDE1-.LASFDE1 # length.
+-.LASFDE1:
+- .4byte .LASFDE1-.Lframe1 # CIE_pointer.
+- FDE_ADDR_BYTES .LFB3 # initial_location.
+- FDE_ADDR_BYTES .LFE3-.LFB3 # address_range.
++.LSFDE0:
++ .4byte .LEFDE0-.LASFDE0 # length.
++.LASFDE0:
++ .4byte .LASFDE0-.Lframe1 # CIE_pointer.
++ FDE_ADDR_BYTES .LFB0 # initial_location.
++ FDE_ADDR_BYTES .LFE0-.LFB0 # address_range.
+ .byte 0x4 # DW_CFA_advance_loc4
+- .4byte .LCFI0-.LFB3 # to .LCFI0
++ .4byte .LCFI00-.LFB0 # to .LCFI00
+ .byte 0xe # DW_CFA_def_cfa_offset
+ .uleb128 SIZEOF_FRAME # adjust stack.by SIZEOF_FRAME
+ .byte 0x4 # DW_CFA_advance_loc4
+- .4byte .LCFI1-.LCFI0 # to .LCFI1
++ .4byte .LCFI01-.LCFI00 # to .LCFI01
+ .byte 0x9e # DW_CFA_offset of $fp
+ .uleb128 2*FFI_SIZEOF_ARG/4 #
+ .byte 0x9f # DW_CFA_offset of ra
+ .uleb128 1*FFI_SIZEOF_ARG/4 #
+ .byte 0x4 # DW_CFA_advance_loc4
+- .4byte .LCFI3-.LCFI1 # to .LCFI3
++ .4byte .LCFI02-.LCFI01 # to .LCFI02
+ .byte 0xd # DW_CFA_def_cfa_register
+ .uleb128 0x1e # in $fp
+ .align EH_FRAME_ALIGN
++.LEFDE0:
++
++.LSFDE1:
++ .4byte .LEFDE1-.LASFDE1 # length
++.LASFDE1:
++ .4byte .LASFDE1-.Lframe1 # CIE_pointer.
++ FDE_ADDR_BYTES .LFB1 # initial_location.
++ FDE_ADDR_BYTES .LFE1-.LFB1 # address_range.
++ .byte 0x4 # DW_CFA_advance_loc4
++ .4byte .LCFI10-.LFB1 # to .LCFI10
++ .byte 0xe # DW_CFA_def_cfa_offset
++ .uleb128 SIZEOF_FRAME2 # adjust stack.by SIZEOF_FRAME
++ .byte 0x4 # DW_CFA_advance_loc4
++ .4byte .LCFI11-.LCFI10 # to .LCFI11
++ .byte 0x9c # DW_CFA_offset of $gp ($28)
++ .uleb128 (SIZEOF_FRAME2 - GP_OFF2)/4
++ .byte 0x9f # DW_CFA_offset of ra ($31)
++ .uleb128 (SIZEOF_FRAME2 - RA_OFF2)/4
++ .align EH_FRAME_ALIGN
+ .LEFDE1:
+-.LSFDE3:
+- .4byte .LEFDE3-.LASFDE3 # length
+-.LASFDE3:
+- .4byte .LASFDE3-.Lframe1 # CIE_pointer.
++
++.LSFDE2:
++ .4byte .LEFDE2-.LASFDE2 # length
++.LASFDE2:
++ .4byte .LASFDE2-.Lframe1 # CIE_pointer.
+ FDE_ADDR_BYTES .LFB2 # initial_location.
+ FDE_ADDR_BYTES .LFE2-.LFB2 # address_range.
+ .byte 0x4 # DW_CFA_advance_loc4
+- .4byte .LCFI5-.LFB2 # to .LCFI5
++ .4byte .LCFI20-.LFB2 # to .LCFI20
+ .byte 0xe # DW_CFA_def_cfa_offset
+ .uleb128 SIZEOF_FRAME2 # adjust stack.by SIZEOF_FRAME
+ .byte 0x4 # DW_CFA_advance_loc4
+- .4byte .LCFI6-.LCFI5 # to .LCFI6
++ .4byte .LCFI21-.LCFI20 # to .LCFI21
+ .byte 0x9c # DW_CFA_offset of $gp ($28)
+ .uleb128 (SIZEOF_FRAME2 - GP_OFF2)/4
+ .byte 0x9f # DW_CFA_offset of ra ($31)
+ .uleb128 (SIZEOF_FRAME2 - RA_OFF2)/4
+ .align EH_FRAME_ALIGN
+-.LEFDE3:
++.LEFDE2:
+ #endif /* __GNUC__ */
+
+ #endif
+Index: b/src/libffi/src/mips/o32.S
+===================================================================
+--- a/src/libffi/src/mips/o32.S
++++ b/src/libffi/src/mips/o32.S
+@@ -50,14 +50,14 @@ ffi_call_O32:
+ $LFB0:
+ # Prologue
+ SUBU $sp, SIZEOF_FRAME # Frame size
+-$LCFI0:
++$LCFI00:
+ REG_S $fp, FP_OFF($sp) # Save frame pointer
+-$LCFI1:
++$LCFI01:
+ REG_S ra, RA_OFF($sp) # Save return address
+-$LCFI2:
++$LCFI02:
+ move $fp, $sp
+
+-$LCFI3:
++$LCFI03:
+ move t9, callback # callback function pointer
+ REG_S flags, A3_OFF($fp) # flags
+
+@@ -132,6 +132,9 @@ pass_f_d:
+ l.d $f14, 2*FFI_SIZEOF_ARG($sp) # passing double and float
+
+ call_it:
++ # Load the static chain pointer
++ REG_L t7, SIZEOF_FRAME + 6*FFI_SIZEOF_ARG($fp)
++
+ # Load the function pointer
+ REG_L t9, SIZEOF_FRAME + 5*FFI_SIZEOF_ARG($fp)
+
+@@ -204,13 +207,15 @@ $LFE0:
+ -8 - f14 (le low, be high)
+ -9 - f12 (le high, be low)
+ -10 - f12 (le low, be high)
+- -11 - Called function a3 save
+- -12 - Called function a2 save
+- -13 - Called function a1 save
+- -14 - Called function a0 save, our sp and fp point here
++ -11 - Called function a5 save
++ -12 - Called function a4 save
++ -13 - Called function a3 save
++ -14 - Called function a2 save
++ -15 - Called function a1 save
++ -16 - Called function a0 save, our sp and fp point here
+ */
+
+-#define SIZEOF_FRAME2 (14 * FFI_SIZEOF_ARG)
++#define SIZEOF_FRAME2 (16 * FFI_SIZEOF_ARG)
+ #define A3_OFF2 (SIZEOF_FRAME2 + 3 * FFI_SIZEOF_ARG)
+ #define A2_OFF2 (SIZEOF_FRAME2 + 2 * FFI_SIZEOF_ARG)
+ #define A1_OFF2 (SIZEOF_FRAME2 + 1 * FFI_SIZEOF_ARG)
+@@ -225,13 +230,71 @@ $LFE0:
+ #define FA_1_0_OFF2 (SIZEOF_FRAME2 - 8 * FFI_SIZEOF_ARG)
+ #define FA_0_1_OFF2 (SIZEOF_FRAME2 - 9 * FFI_SIZEOF_ARG)
+ #define FA_0_0_OFF2 (SIZEOF_FRAME2 - 10 * FFI_SIZEOF_ARG)
++#define CALLED_A5_OFF2 (SIZEOF_FRAME2 - 11 * FFI_SIZEOF_ARG)
++#define CALLED_A4_OFF2 (SIZEOF_FRAME2 - 12 * FFI_SIZEOF_ARG)
+
+ .text
++
++ .align 2
++ .globl ffi_go_closure_O32
++ .ent ffi_go_closure_O32
++ffi_go_closure_O32:
++$LFB1:
++ # Prologue
++ .frame $fp, SIZEOF_FRAME2, ra
++ .set noreorder
++ .cpload t9
++ .set reorder
++ SUBU $sp, SIZEOF_FRAME2
++ .cprestore GP_OFF2
++$LCFI10:
++
++ REG_S $16, S0_OFF2($sp) # Save s0
++ REG_S $fp, FP_OFF2($sp) # Save frame pointer
++ REG_S ra, RA_OFF2($sp) # Save return address
++$LCFI11:
++
++ move $fp, $sp
++$LCFI12:
++
++ REG_S a0, A0_OFF2($fp)
++ REG_S a1, A1_OFF2($fp)
++ REG_S a2, A2_OFF2($fp)
++ REG_S a3, A3_OFF2($fp)
++
++ # Load ABI enum to s0
++ REG_L $16, 4($15) # cif
++ REG_L $16, 0($16) # abi is first member.
++
++ li $13, 1 # FFI_O32
++ bne $16, $13, 1f # Skip fp save if FFI_O32_SOFT_FLOAT
++
++ # Store all possible float/double registers.
++ s.d $f12, FA_0_0_OFF2($fp)
++ s.d $f14, FA_1_0_OFF2($fp)
++1:
++ # prepare arguments for ffi_closure_mips_inner_O32
++ REG_L a0, 4($15) # cif
++ REG_L a1, 8($15) # fun
++ move a2, $15 # user_data = go closure
++ addu a3, $fp, V0_OFF2 # rvalue
++
++ addu t9, $fp, A0_OFF2 # ar
++ REG_S t9, CALLED_A4_OFF2($fp)
++
++ addu t9, $fp, FA_0_0_OFF2 #fpr
++ REG_S t9, CALLED_A5_OFF2($fp)
++
++ b $do_closure
++
++$LFE1:
++ .end ffi_go_closure_O32
++
+ .align 2
+ .globl ffi_closure_O32
+ .ent ffi_closure_O32
+ ffi_closure_O32:
+-$LFB1:
++$LFB2:
+ # Prologue
+ .frame $fp, SIZEOF_FRAME2, ra
+ .set noreorder
+@@ -239,14 +302,14 @@ $LFB1:
+ .set reorder
+ SUBU $sp, SIZEOF_FRAME2
+ .cprestore GP_OFF2
+-$LCFI4:
++$LCFI20:
+ REG_S $16, S0_OFF2($sp) # Save s0
+ REG_S $fp, FP_OFF2($sp) # Save frame pointer
+ REG_S ra, RA_OFF2($sp) # Save return address
+-$LCFI6:
++$LCFI21:
+ move $fp, $sp
+
+-$LCFI7:
++$LCFI22:
+ # Store all possible argument registers. If there are more than
+ # four arguments, then they are stored above where we put a3.
+ REG_S a0, A0_OFF2($fp)
+@@ -265,12 +328,21 @@ $LCFI7:
+ s.d $f12, FA_0_0_OFF2($fp)
+ s.d $f14, FA_1_0_OFF2($fp)
+ 1:
+- # Call ffi_closure_mips_inner_O32 to do the work.
++ # prepare arguments for ffi_closure_mips_inner_O32
++ REG_L a0, 20($12) # cif pointer follows tramp.
++ REG_L a1, 24($12) # fun
++ REG_L a2, 28($12) # user_data
++ addu a3, $fp, V0_OFF2 # rvalue
++
++ addu t9, $fp, A0_OFF2 # ar
++ REG_S t9, CALLED_A4_OFF2($fp)
++
++ addu t9, $fp, FA_0_0_OFF2 #fpr
++ REG_S t9, CALLED_A5_OFF2($fp)
++
++$do_closure:
+ la t9, ffi_closure_mips_inner_O32
+- move a0, $12 # Pointer to the ffi_closure
+- addu a1, $fp, V0_OFF2
+- addu a2, $fp, A0_OFF2
+- addu a3, $fp, FA_0_0_OFF2
++ # Call ffi_closure_mips_inner_O32 to do the work.
+ jalr t9
+
+ # Load the return value into the appropriate register.
+@@ -300,7 +372,7 @@ closure_done:
+ REG_L ra, RA_OFF2($sp) # Restore return address
+ ADDU $sp, SIZEOF_FRAME2
+ j ra
+-$LFE1:
++$LFE2:
+ .end ffi_closure_O32
+
+ /* DWARF-2 unwind info. */
+@@ -322,6 +394,7 @@ $LSCIE0:
+ .uleb128 0x0
+ .align 2
+ $LECIE0:
++
+ $LSFDE0:
+ .4byte $LEFDE0-$LASFDE0 # FDE Length
+ $LASFDE0:
+@@ -330,11 +403,11 @@ $LASFDE0:
+ .4byte $LFE0-$LFB0 # FDE address range
+ .uleb128 0x0 # Augmentation size
+ .byte 0x4 # DW_CFA_advance_loc4
+- .4byte $LCFI0-$LFB0
++ .4byte $LCFI00-$LFB0
+ .byte 0xe # DW_CFA_def_cfa_offset
+ .uleb128 0x18
+ .byte 0x4 # DW_CFA_advance_loc4
+- .4byte $LCFI2-$LCFI0
++ .4byte $LCFI01-$LCFI00
+ .byte 0x11 # DW_CFA_offset_extended_sf
+ .uleb128 0x1e # $fp
+ .sleb128 -2 # SIZEOF_FRAME2 - 2*FFI_SIZEOF_ARG($sp)
+@@ -342,12 +415,13 @@ $LASFDE0:
+ .uleb128 0x1f # $ra
+ .sleb128 -1 # SIZEOF_FRAME2 - 1*FFI_SIZEOF_ARG($sp)
+ .byte 0x4 # DW_CFA_advance_loc4
+- .4byte $LCFI3-$LCFI2
++ .4byte $LCFI02-$LCFI01
+ .byte 0xc # DW_CFA_def_cfa
+ .uleb128 0x1e
+ .uleb128 0x18
+ .align 2
+ $LEFDE0:
++
+ $LSFDE1:
+ .4byte $LEFDE1-$LASFDE1 # FDE Length
+ $LASFDE1:
+@@ -356,11 +430,11 @@ $LASFDE1:
+ .4byte $LFE1-$LFB1 # FDE address range
+ .uleb128 0x0 # Augmentation size
+ .byte 0x4 # DW_CFA_advance_loc4
+- .4byte $LCFI4-$LFB1
++ .4byte $LCFI10-$LFB1
+ .byte 0xe # DW_CFA_def_cfa_offset
+- .uleb128 0x38
++ .uleb128 SIZEOF_FRAME2
+ .byte 0x4 # DW_CFA_advance_loc4
+- .4byte $LCFI6-$LCFI4
++ .4byte $LCFI11-$LCFI10
+ .byte 0x11 # DW_CFA_offset_extended_sf
+ .uleb128 0x10 # $16
+ .sleb128 -3 # SIZEOF_FRAME2 - 3*FFI_SIZEOF_ARG($sp)
+@@ -371,11 +445,41 @@ $LASFDE1:
+ .uleb128 0x1f # $ra
+ .sleb128 -1 # SIZEOF_FRAME2 - 1*FFI_SIZEOF_ARG($sp)
+ .byte 0x4 # DW_CFA_advance_loc4
+- .4byte $LCFI7-$LCFI6
++ .4byte $LCFI12-$LCFI11
+ .byte 0xc # DW_CFA_def_cfa
+ .uleb128 0x1e
+- .uleb128 0x38
++ .uleb128 SIZEOF_FRAME2
+ .align 2
+ $LEFDE1:
+
++$LSFDE2:
++ .4byte $LEFDE2-$LASFDE2 # FDE Length
++$LASFDE2:
++ .4byte $LASFDE2-$Lframe0 # FDE CIE offset
++ .4byte $LFB2 # FDE initial location
++ .4byte $LFE2-$LFB2 # FDE address range
++ .uleb128 0x0 # Augmentation size
++ .byte 0x4 # DW_CFA_advance_loc4
++ .4byte $LCFI20-$LFB2
++ .byte 0xe # DW_CFA_def_cfa_offset
++ .uleb128 SIZEOF_FRAME2
++ .byte 0x4 # DW_CFA_advance_loc4
++ .4byte $LCFI21-$LCFI20
++ .byte 0x11 # DW_CFA_offset_extended_sf
++ .uleb128 0x10 # $16
++ .sleb128 -3 # SIZEOF_FRAME2 - 3*FFI_SIZEOF_ARG($sp)
++ .byte 0x11 # DW_CFA_offset_extended_sf
++ .uleb128 0x1e # $fp
++ .sleb128 -2 # SIZEOF_FRAME2 - 2*FFI_SIZEOF_ARG($sp)
++ .byte 0x11 # DW_CFA_offset_extended_sf
++ .uleb128 0x1f # $ra
++ .sleb128 -1 # SIZEOF_FRAME2 - 1*FFI_SIZEOF_ARG($sp)
++ .byte 0x4 # DW_CFA_advance_loc4
++ .4byte $LCFI22-$LCFI21
++ .byte 0xc # DW_CFA_def_cfa
++ .uleb128 0x1e
++ .uleb128 SIZEOF_FRAME2
++ .align 2
++$LEFDE2:
++
+ #endif
--- /dev/null
+# DP: libffi: mips/n32.S: disable .set mips4 on mips r6
+
+Index: b/src/libffi/src/mips/n32.S
+===================================================================
+--- a/src/libffi/src/mips/n32.S
++++ b/src/libffi/src/mips/n32.S
+@@ -43,7 +43,9 @@
+ #ifdef __GNUC__
+ .abicalls
+ #endif
++#if !defined(__mips_isa_rev) || (__mips_isa_rev<6)
+ .set mips4
++#endif
+ .text
+ .align 2
+ .globl ffi_call_N32
+Index: b/src/libffi/src/mips/ffi.c
+===================================================================
+--- a/src/libffi/src/mips/ffi.c
++++ b/src/libffi/src/mips/ffi.c
+@@ -698,7 +698,11 @@ ffi_prep_closure_loc (ffi_closure *closu
+ /* lui $12,high(codeloc) */
+ tramp[2] = 0x3c0c0000 | ((unsigned)codeloc >> 16);
+ /* jr $25 */
++#if !defined(__mips_isa_rev) || (__mips_isa_rev<6)
+ tramp[3] = 0x03200008;
++#else
++ tramp[3] = 0x03200009;
++#endif
+ /* ori $12,low(codeloc) */
+ tramp[4] = 0x358c0000 | ((unsigned)codeloc & 0xffff);
+ #else
+@@ -726,7 +730,11 @@ ffi_prep_closure_loc (ffi_closure *closu
+ /* ori $25,low(fn) */
+ tramp[10] = 0x37390000 | ((unsigned long)fn & 0xffff);
+ /* jr $25 */
++#if !defined(__mips_isa_rev) || (__mips_isa_rev<6)
+ tramp[11] = 0x03200008;
++#else
++ tramp[11] = 0x03200009;
++#endif
+ /* ori $12,low(codeloc) */
+ tramp[12] = 0x358c0000 | ((unsigned long)codeloc & 0xffff);
+
--- /dev/null
+From 757876336c183f5b20b6620d674cc9817fd0d280 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Stefan=20B=C3=BChler?= <buehler@cert.uni-stuttgart.de>
+Date: Wed, 7 Sep 2016 15:50:54 +0200
+Subject: [PATCH 2/2] always check for PaX MPROTECT on linux, make EMUTRAMP
+ experimental
+
+- ffi_prep_closure_loc doesn't necessarily generate trampolines recognized by
+ PaX EMUTRAMP handler; there is no way to check before, and it isn't working
+on x86-64 right now -> experimental
+- if MPROTECT is enabled use the same workaround as is used for SELinux (double
+ mmap())
+---
+ configure.ac | 11 +++++++---
+ src/closures.c | 68 +++++++++++++++++++++++++++++++++++++++-------------------
+ 2 files changed, 54 insertions(+), 25 deletions(-)
+
+--- a/src/libffi/configure.ac
++++ b/src/libffi/configure.ac
+@@ -177,12 +177,17 @@
+ ;;
+ esac
+
+-# On PaX enable kernels that have MPROTECT enable we can't use PROT_EXEC.
++# On PaX enable kernels that have MPROTECT enable we can't use PROT_EXEC;
++# if EMUTRAMP is active too ffi could try mapping without PROT_EXEC,
++# but the kernel needs to recognize the trampoline generated by ffi.
++# Otherwise fallback to double mmap trick.
+ AC_ARG_ENABLE(pax_emutramp,
+- [ --enable-pax_emutramp enable pax emulated trampolines, for we can't use PROT_EXEC],
++ [ --enable-pax_emutramp enable pax emulated trampolines (experimental)],
+ if test "$enable_pax_emutramp" = "yes"; then
++ AC_MSG_WARN([EMUTRAMP is experimental only. Use --enable-pax_emutramp=experimental to enforce.])
++ elif test "$enable_pax_emutramp" = "experimental"; then
+ AC_DEFINE(FFI_MMAP_EXEC_EMUTRAMP_PAX, 1,
+- [Define this if you want to enable pax emulated trampolines])
++ [Define this if you want to enable pax emulated trampolines (experimental)])
+ fi)
+
+ FFI_EXEC_TRAMPOLINE_TABLE=0
+--- a/src/libffi/src/closures.c
++++ b/src/libffi/src/closures.c
+@@ -53,14 +53,18 @@
+ # endif
+ #endif
+
+-#if FFI_MMAP_EXEC_WRIT && !defined FFI_MMAP_EXEC_SELINUX
+-# ifdef __linux__
++#if FFI_MMAP_EXEC_WRIT && defined __linux__
++# if !defined FFI_MMAP_EXEC_SELINUX
+ /* When defined to 1 check for SELinux and if SELinux is active,
+ don't attempt PROT_EXEC|PROT_WRITE mapping at all, as that
+ might cause audit messages. */
+ # define FFI_MMAP_EXEC_SELINUX 1
+-# endif
+-#endif
++# endif /* !defined FFI_MMAP_EXEC_SELINUX */
++# if !defined FFI_MMAP_PAX
++/* Also check for PaX MPROTECT */
++# define FFI_MMAP_PAX 1
++# endif /* !defined FFI_MMAP_PAX */
++#endif /* FFI_MMAP_EXEC_WRIT && defined __linux__ */
+
+ #if FFI_CLOSURES
+
+@@ -172,14 +176,18 @@
+
+ #endif /* !FFI_MMAP_EXEC_SELINUX */
+
+-/* On PaX enable kernels that have MPROTECT enable we can't use PROT_EXEC. */
+-#ifdef FFI_MMAP_EXEC_EMUTRAMP_PAX
++/* On PaX enable kernels that have MPROTECT enabled we can't use PROT_EXEC. */
++#if defined FFI_MMAP_PAX
+ #include <stdlib.h>
+
+-static int emutramp_enabled = -1;
++enum {
++ PAX_MPROTECT = (1 << 0),
++ PAX_EMUTRAMP = (1 << 1),
++};
++static int cached_pax_flags = -1;
+
+ static int
+-emutramp_enabled_check (void)
++pax_flags_check (void)
+ {
+ char *buf = NULL;
+ size_t len = 0;
+@@ -193,9 +201,10 @@
+ while (getline (&buf, &len, f) != -1)
+ if (!strncmp (buf, "PaX:", 4))
+ {
+- char emutramp;
+- if (sscanf (buf, "%*s %*c%c", &emutramp) == 1)
+- ret = (emutramp == 'E');
++ if (NULL != strchr (buf + 4, 'M'))
++ ret |= PAX_MPROTECT;
++ if (NULL != strchr (buf + 4, 'E'))
++ ret |= PAX_EMUTRAMP;
+ break;
+ }
+ free (buf);
+@@ -203,9 +212,13 @@
+ return ret;
+ }
+
+-#define is_emutramp_enabled() (emutramp_enabled >= 0 ? emutramp_enabled \
+- : (emutramp_enabled = emutramp_enabled_check ()))
+-#endif /* FFI_MMAP_EXEC_EMUTRAMP_PAX */
++#define get_pax_flags() (cached_pax_flags >= 0 ? cached_pax_flags \
++ : (cached_pax_flags = pax_flags_check ()))
++#define has_pax_flags(flags) ((flags) == ((flags) & get_pax_flags ()))
++#define is_mprotect_enabled() (has_pax_flags (PAX_MPROTECT))
++#define is_emutramp_enabled() (has_pax_flags (PAX_EMUTRAMP))
++
++#endif /* defined FFI_MMAP_PAX */
+
+ #elif defined (__CYGWIN__) || defined(__INTERIX)
+
+@@ -216,9 +229,10 @@
+
+ #endif /* !defined(X86_WIN32) && !defined(X86_WIN64) */
+
+-#ifndef FFI_MMAP_EXEC_EMUTRAMP_PAX
+-#define is_emutramp_enabled() 0
+-#endif /* FFI_MMAP_EXEC_EMUTRAMP_PAX */
++#if !defined FFI_MMAP_PAX
++# define is_mprotect_enabled() 0
++# define is_emutramp_enabled() 0
++#endif /* !defined FFI_MMAP_PAX */
+
+ /* Declare all functions defined in dlmalloc.c as static. */
+ static void *dlmalloc(size_t);
+@@ -525,13 +539,23 @@
+ printf ("mapping in %zi\n", length);
+ #endif
+
+- if (execfd == -1 && is_emutramp_enabled ())
++ /* -1 != execfd hints that we already decided to use dlmmap_locked
++ last time. */
++ if (execfd == -1 && is_mprotect_enabled ())
+ {
+- ptr = mmap (start, length, prot & ~PROT_EXEC, flags, fd, offset);
+- return ptr;
++#ifdef FFI_MMAP_EXEC_EMUTRAMP_PAX
++ if (is_emutramp_enabled ())
++ {
++ /* emutramp requires the kernel recognizing the trampoline pattern
++ generated by ffi_prep_closure_loc; there is no way to test
++ in advance whether this will work, so this is experimental. */
++ ptr = mmap (start, length, prot & ~PROT_EXEC, flags, fd, offset);
++ return ptr;
++ }
++#endif
++ /* fallback to dlmmap_locked. */
+ }
+-
+- if (execfd == -1 && !is_selinux_enabled ())
++ else if (execfd == -1 && !is_selinux_enabled ())
+ {
+ ptr = mmap (start, length, prot | PROT_EXEC, flags, fd, offset);
+
--- /dev/null
+From 48d2e46528fb6e621d95a7fa194069fd136b712d Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Stefan=20B=C3=BChler?= <buehler@cert.uni-stuttgart.de>
+Date: Wed, 7 Sep 2016 15:49:48 +0200
+Subject: [PATCH 1/2] dlmmap_locked always needs locking as it always modifies
+ execsize
+
+---
+ src/closures.c | 13 ++++---------
+ 1 file changed, 4 insertions(+), 9 deletions(-)
+
+--- a/src/libffi/src/closures.c
++++ b/src/libffi/src/closures.c
+@@ -568,16 +568,11 @@
+ MREMAP_DUP and prot at this point. */
+ }
+
+- if (execsize == 0 || execfd == -1)
+- {
+- pthread_mutex_lock (&open_temp_exec_file_mutex);
+- ptr = dlmmap_locked (start, length, prot, flags, offset);
+- pthread_mutex_unlock (&open_temp_exec_file_mutex);
++ pthread_mutex_lock (&open_temp_exec_file_mutex);
++ ptr = dlmmap_locked (start, length, prot, flags, offset);
++ pthread_mutex_unlock (&open_temp_exec_file_mutex);
+
+- return ptr;
+- }
+-
+- return dlmmap_locked (start, length, prot, flags, offset);
++ return ptr;
+ }
+
+ /* Release memory at the given address, as well as the corresponding
--- /dev/null
+# DP: Backport RISC-V support, taken from libffi commit 3840d49aaa
+
+Index: b/src/libffi/Makefile.am
+===================================================================
+--- a/src/libffi/Makefile.am
++++ b/src/libffi/Makefile.am
+@@ -138,6 +138,7 @@ noinst_HEADERS = \
+ src/or1k/ffitarget.h \
+ src/pa/ffitarget.h \
+ src/powerpc/ffitarget.h src/powerpc/asm.h src/powerpc/ffi_powerpc.h \
++ src/riscv/ffitarget.h \
+ src/s390/ffitarget.h \
+ src/sh/ffitarget.h \
+ src/sh64/ffitarget.h \
+@@ -173,6 +174,7 @@ EXTRA_libffi_la_SOURCES = \
+ src/powerpc/linux64_closure.S src/powerpc/ppc_closure.S \
+ src/powerpc/aix.S src/powerpc/darwin.S src/powerpc/aix_closure.S \
+ src/powerpc/darwin_closure.S src/powerpc/ffi_darwin.c \
++ src/riscv/ffi.c src/riscv/sysv.S \
+ src/s390/ffi.c src/s390/sysv.S \
+ src/sh/ffi.c src/sh/sysv.S \
+ src/sh64/ffi.c src/sh64/sysv.S \
+Index: b/src/libffi/Makefile.in
+===================================================================
+--- a/src/libffi/Makefile.in
++++ b/src/libffi/Makefile.in
+@@ -432,6 +432,7 @@ noinst_HEADERS = \
+ src/or1k/ffitarget.h \
+ src/pa/ffitarget.h \
+ src/powerpc/ffitarget.h src/powerpc/asm.h src/powerpc/ffi_powerpc.h \
++ src/riscv/ffitarget.h \
+ src/s390/ffitarget.h \
+ src/sh/ffitarget.h \
+ src/sh64/ffitarget.h \
+@@ -467,6 +468,7 @@ EXTRA_libffi_la_SOURCES = \
+ src/powerpc/linux64_closure.S src/powerpc/ppc_closure.S \
+ src/powerpc/aix.S src/powerpc/darwin.S src/powerpc/aix_closure.S \
+ src/powerpc/darwin_closure.S src/powerpc/ffi_darwin.c \
++ src/riscv/ffi.c src/riscv/sysv.S \
+ src/s390/ffi.c src/s390/sysv.S \
+ src/sh/ffi.c src/sh/sysv.S \
+ src/sh64/ffi.c src/sh64/sysv.S \
+@@ -831,6 +833,16 @@ src/powerpc/darwin_closure.lo: src/power
+ src/powerpc/$(DEPDIR)/$(am__dirstamp)
+ src/powerpc/ffi_darwin.lo: src/powerpc/$(am__dirstamp) \
+ src/powerpc/$(DEPDIR)/$(am__dirstamp)
++src/riscv/$(am__dirstamp):
++ @$(MKDIR_P) src/riscv
++ @: > src/riscv/$(am__dirstamp)
++src/riscv/$(DEPDIR)/$(am__dirstamp):
++ @$(MKDIR_P) src/riscv/$(DEPDIR)
++ @: > src/riscv/$(DEPDIR)/$(am__dirstamp)
++src/riscv/ffi.lo: src/riscv/$(am__dirstamp) \
++ src/riscv/$(DEPDIR)/$(am__dirstamp)
++src/riscv/sysv.lo: src/riscv/$(am__dirstamp) \
++ src/riscv/$(DEPDIR)/$(am__dirstamp)
+ src/s390/$(am__dirstamp):
+ @$(MKDIR_P) src/s390
+ @: > src/s390/$(am__dirstamp)
+@@ -1051,6 +1063,10 @@ mostlyclean-compile:
+ -rm -f src/prep_cif.lo
+ -rm -f src/raw_api.$(OBJEXT)
+ -rm -f src/raw_api.lo
++ -rm -f src/riscv/ffi.$(OBJEXT)
++ -rm -f src/riscv/ffi.lo
++ -rm -f src/riscv/sysv.$(OBJEXT)
++ -rm -f src/riscv/sysv.lo
+ -rm -f src/s390/ffi.$(OBJEXT)
+ -rm -f src/s390/ffi.lo
+ -rm -f src/s390/sysv.$(OBJEXT)
+@@ -1167,6 +1183,8 @@ distclean-compile:
+ @AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/linux64_closure.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/ppc_closure.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/sysv.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@src/riscv/$(DEPDIR)/ffi.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@src/riscv/$(DEPDIR)/sysv.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/s390/$(DEPDIR)/ffi.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/s390/$(DEPDIR)/sysv.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/sh/$(DEPDIR)/ffi.Plo@am__quote@
+@@ -1268,6 +1286,7 @@ clean-libtool:
+ -rm -rf src/or1k/.libs src/or1k/_libs
+ -rm -rf src/pa/.libs src/pa/_libs
+ -rm -rf src/powerpc/.libs src/powerpc/_libs
++ -rm -rf src/riscv/.libs src/riscv/_libs
+ -rm -rf src/s390/.libs src/s390/_libs
+ -rm -rf src/sh/.libs src/sh/_libs
+ -rm -rf src/sh64/.libs src/sh64/_libs
+@@ -1672,6 +1691,8 @@ distclean-generic:
+ -rm -f src/pa/$(am__dirstamp)
+ -rm -f src/powerpc/$(DEPDIR)/$(am__dirstamp)
+ -rm -f src/powerpc/$(am__dirstamp)
++ -rm -f src/riscv/$(DEPDIR)/$(am__dirstamp)
++ -rm -f src/riscv/$(am__dirstamp)
+ -rm -f src/s390/$(DEPDIR)/$(am__dirstamp)
+ -rm -f src/s390/$(am__dirstamp)
+ -rm -f src/sh/$(DEPDIR)/$(am__dirstamp)
+@@ -1701,7 +1722,7 @@ clean-am: clean-aminfo clean-generic cle
+
+ distclean: distclean-multi distclean-recursive
+ -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+- -rm -rf src/$(DEPDIR) src/aarch64/$(DEPDIR) src/alpha/$(DEPDIR) src/arc/$(DEPDIR) src/arm/$(DEPDIR) src/avr32/$(DEPDIR) src/bfin/$(DEPDIR) src/cris/$(DEPDIR) src/frv/$(DEPDIR) src/ia64/$(DEPDIR) src/m32r/$(DEPDIR) src/m68k/$(DEPDIR) src/m88k/$(DEPDIR) src/metag/$(DEPDIR) src/microblaze/$(DEPDIR) src/mips/$(DEPDIR) src/moxie/$(DEPDIR) src/nios2/$(DEPDIR) src/or1k/$(DEPDIR) src/pa/$(DEPDIR) src/powerpc/$(DEPDIR) src/s390/$(DEPDIR) src/sh/$(DEPDIR) src/sh64/$(DEPDIR) src/sparc/$(DEPDIR) src/tile/$(DEPDIR) src/vax/$(DEPDIR) src/x86/$(DEPDIR) src/xtensa/$(DEPDIR)
++ -rm -rf src/$(DEPDIR) src/aarch64/$(DEPDIR) src/alpha/$(DEPDIR) src/arc/$(DEPDIR) src/arm/$(DEPDIR) src/avr32/$(DEPDIR) src/bfin/$(DEPDIR) src/cris/$(DEPDIR) src/frv/$(DEPDIR) src/ia64/$(DEPDIR) src/m32r/$(DEPDIR) src/m68k/$(DEPDIR) src/m88k/$(DEPDIR) src/metag/$(DEPDIR) src/microblaze/$(DEPDIR) src/mips/$(DEPDIR) src/moxie/$(DEPDIR) src/nios2/$(DEPDIR) src/or1k/$(DEPDIR) src/pa/$(DEPDIR) src/powerpc/$(DEPDIR) src/riscv/$(DEPDIR) src/s390/$(DEPDIR) src/sh/$(DEPDIR) src/sh64/$(DEPDIR) src/sparc/$(DEPDIR) src/tile/$(DEPDIR) src/vax/$(DEPDIR) src/x86/$(DEPDIR) src/xtensa/$(DEPDIR)
+ -rm -f Makefile
+ distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-hdr distclean-libtool distclean-tags
+@@ -1840,7 +1861,7 @@ installcheck-am:
+ maintainer-clean: maintainer-clean-multi maintainer-clean-recursive
+ -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+ -rm -rf $(top_srcdir)/autom4te.cache
+- -rm -rf src/$(DEPDIR) src/aarch64/$(DEPDIR) src/alpha/$(DEPDIR) src/arc/$(DEPDIR) src/arm/$(DEPDIR) src/avr32/$(DEPDIR) src/bfin/$(DEPDIR) src/cris/$(DEPDIR) src/frv/$(DEPDIR) src/ia64/$(DEPDIR) src/m32r/$(DEPDIR) src/m68k/$(DEPDIR) src/m88k/$(DEPDIR) src/metag/$(DEPDIR) src/microblaze/$(DEPDIR) src/mips/$(DEPDIR) src/moxie/$(DEPDIR) src/nios2/$(DEPDIR) src/or1k/$(DEPDIR) src/pa/$(DEPDIR) src/powerpc/$(DEPDIR) src/s390/$(DEPDIR) src/sh/$(DEPDIR) src/sh64/$(DEPDIR) src/sparc/$(DEPDIR) src/tile/$(DEPDIR) src/vax/$(DEPDIR) src/x86/$(DEPDIR) src/xtensa/$(DEPDIR)
++ -rm -rf src/$(DEPDIR) src/aarch64/$(DEPDIR) src/alpha/$(DEPDIR) src/arc/$(DEPDIR) src/arm/$(DEPDIR) src/avr32/$(DEPDIR) src/bfin/$(DEPDIR) src/cris/$(DEPDIR) src/frv/$(DEPDIR) src/ia64/$(DEPDIR) src/m32r/$(DEPDIR) src/m68k/$(DEPDIR) src/m88k/$(DEPDIR) src/metag/$(DEPDIR) src/microblaze/$(DEPDIR) src/mips/$(DEPDIR) src/moxie/$(DEPDIR) src/nios2/$(DEPDIR) src/or1k/$(DEPDIR) src/pa/$(DEPDIR) src/powerpc/$(DEPDIR) src/riscv/$(DEPDIR) src/s390/$(DEPDIR) src/sh/$(DEPDIR) src/sh64/$(DEPDIR) src/sparc/$(DEPDIR) src/tile/$(DEPDIR) src/vax/$(DEPDIR) src/x86/$(DEPDIR) src/xtensa/$(DEPDIR)
+ -rm -f Makefile
+ maintainer-clean-am: distclean-am maintainer-clean-aminfo \
+ maintainer-clean-generic maintainer-clean-vti
+Index: b/src/libffi/configure.host
+===================================================================
+--- a/src/libffi/configure.host
++++ b/src/libffi/configure.host
+@@ -195,6 +195,11 @@ case "${host}" in
+ TARGET=POWERPC; TARGETDIR=powerpc
+ ;;
+
++ riscv*-*)
++ TARGET=RISCV; TARGETDIR=riscv
++ SOURCES="ffi.c sysv.S"
++ ;;
++
+ s390-*-* | s390x-*-*)
+ TARGET=S390; TARGETDIR=s390
+ SOURCES="ffi.c sysv.S"
+Index: b/src/libffi/src/riscv/ffi.c
+===================================================================
+--- /dev/null
++++ b/src/libffi/src/riscv/ffi.c
+@@ -0,0 +1,445 @@
++/* -----------------------------------------------------------------------
++ ffi.c - Copyright (c) 2015 Michael Knyszek <mknyszek@berkeley.edu>
++ 2015 Andrew Waterman <waterman@cs.berkeley.edu>
++ 2018 Stef O'Rear <sorear2@gmail.com>
++ Based on MIPS N32/64 port
++
++ RISC-V Foreign Function Interface
++
++ Permission is hereby granted, free of charge, to any person obtaining
++ a copy of this software and associated documentation files (the
++ ``Software''), to deal in the Software without restriction, including
++ without limitation the rights to use, copy, modify, merge, publish,
++ distribute, sublicense, and/or sell copies of the Software, and to
++ permit persons to whom the Software is furnished to do so, subject to
++ the following conditions:
++
++ The above copyright notice and this permission notice shall be included
++ in all copies or substantial portions of the Software.
++
++ THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
++ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
++ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
++ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
++ HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
++ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
++ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
++ DEALINGS IN THE SOFTWARE.
++ ----------------------------------------------------------------------- */
++
++#include <ffi.h>
++#include <ffi_common.h>
++
++#include <stdlib.h>
++#include <stdint.h>
++
++#if __riscv_float_abi_double
++#define ABI_FLEN 64
++#define ABI_FLOAT double
++#elif __riscv_float_abi_single
++#define ABI_FLEN 32
++#define ABI_FLOAT float
++#endif
++
++#define NARGREG 8
++#define STKALIGN 16
++#define MAXCOPYARG (2 * sizeof(double))
++
++typedef struct call_context
++{
++#if ABI_FLEN
++ ABI_FLOAT fa[8];
++#endif
++ size_t a[8];
++ /* used by the assembly code to in-place construct its own stack frame */
++ char frame[16];
++} call_context;
++
++typedef struct call_builder
++{
++ call_context *aregs;
++ int used_integer;
++ int used_float;
++ size_t *used_stack;
++} call_builder;
++
++/* integer (not pointer) less than ABI XLEN */
++/* FFI_TYPE_INT does not appear to be used */
++#if __SIZEOF_POINTER__ == 8
++#define IS_INT(type) ((type) >= FFI_TYPE_UINT8 && (type) <= FFI_TYPE_SINT64)
++#else
++#define IS_INT(type) ((type) >= FFI_TYPE_UINT8 && (type) <= FFI_TYPE_SINT32)
++#endif
++
++#if ABI_FLEN
++typedef struct {
++ char as_elements, type1, offset2, type2;
++} float_struct_info;
++
++#if ABI_FLEN >= 64
++#define IS_FLOAT(type) ((type) >= FFI_TYPE_FLOAT && (type) <= FFI_TYPE_DOUBLE)
++#else
++#define IS_FLOAT(type) ((type) == FFI_TYPE_FLOAT)
++#endif
++
++static ffi_type **flatten_struct(ffi_type *in, ffi_type **out, ffi_type **out_end) {
++ int i;
++ if (out == out_end) return out;
++ if (in->type != FFI_TYPE_STRUCT) {
++ *(out++) = in;
++ } else {
++ for (i = 0; in->elements[i]; i++)
++ out = flatten_struct(in->elements[i], out, out_end);
++ }
++ return out;
++}
++
++/* Structs with at most two fields after flattening, one of which is of
++ floating point type, are passed in multiple registers if sufficient
++ registers are available. */
++static float_struct_info struct_passed_as_elements(call_builder *cb, ffi_type *top) {
++ float_struct_info ret = {0, 0, 0, 0};
++ ffi_type *fields[3];
++ int num_floats, num_ints;
++ int num_fields = flatten_struct(top, fields, fields + 3) - fields;
++
++ if (num_fields == 1) {
++ if (IS_FLOAT(fields[0]->type)) {
++ ret.as_elements = 1;
++ ret.type1 = fields[0]->type;
++ }
++ } else if (num_fields == 2) {
++ num_floats = IS_FLOAT(fields[0]->type) + IS_FLOAT(fields[1]->type);
++ num_ints = IS_INT(fields[0]->type) + IS_INT(fields[1]->type);
++ if (num_floats == 0 || num_floats + num_ints != 2)
++ return ret;
++ if (cb->used_float + num_floats > NARGREG || cb->used_integer + (2 - num_floats) > NARGREG)
++ return ret;
++ if (!IS_FLOAT(fields[0]->type) && !IS_FLOAT(fields[1]->type))
++ return ret;
++
++ ret.type1 = fields[0]->type;
++ ret.type2 = fields[1]->type;
++ ret.offset2 = ALIGN(fields[0]->size, fields[1]->alignment);
++ ret.as_elements = 1;
++ }
++
++ return ret;
++}
++#endif
++
++/* allocates a single register, float register, or XLEN-sized stack slot to a datum */
++static void marshal_atom(call_builder *cb, int type, void *data) {
++ size_t value = 0;
++ switch (type) {
++ case FFI_TYPE_UINT8: value = *(uint8_t *)data; break;
++ case FFI_TYPE_SINT8: value = *(int8_t *)data; break;
++ case FFI_TYPE_UINT16: value = *(uint16_t *)data; break;
++ case FFI_TYPE_SINT16: value = *(int16_t *)data; break;
++ /* 32-bit quantities are always sign-extended in the ABI */
++ case FFI_TYPE_UINT32: value = *(int32_t *)data; break;
++ case FFI_TYPE_SINT32: value = *(int32_t *)data; break;
++#if __SIZEOF_POINTER__ == 8
++ case FFI_TYPE_UINT64: value = *(uint64_t *)data; break;
++ case FFI_TYPE_SINT64: value = *(int64_t *)data; break;
++#endif
++ case FFI_TYPE_POINTER: value = *(size_t *)data; break;
++
++ /* float values may be recoded in an implementation-defined way
++ by hardware conforming to 2.1 or earlier, so use asm to
++ reinterpret floats as doubles */
++#if ABI_FLEN >= 32
++ case FFI_TYPE_FLOAT:
++ asm("" : "=f"(cb->aregs->fa[cb->used_float++]) : "0"(*(float *)data));
++ return;
++#endif
++#if ABI_FLEN >= 64
++ case FFI_TYPE_DOUBLE:
++ asm("" : "=f"(cb->aregs->fa[cb->used_float++]) : "0"(*(double *)data));
++ return;
++#endif
++ default: FFI_ASSERT(0); break;
++ }
++
++ if (cb->used_integer == NARGREG) {
++ *cb->used_stack++ = value;
++ } else {
++ cb->aregs->a[cb->used_integer++] = value;
++ }
++}
++
++static void unmarshal_atom(call_builder *cb, int type, void *data) {
++ size_t value;
++ switch (type) {
++#if ABI_FLEN >= 32
++ case FFI_TYPE_FLOAT:
++ asm("" : "=f"(*(float *)data) : "0"(cb->aregs->fa[cb->used_float++]));
++ return;
++#endif
++#if ABI_FLEN >= 64
++ case FFI_TYPE_DOUBLE:
++ asm("" : "=f"(*(double *)data) : "0"(cb->aregs->fa[cb->used_float++]));
++ return;
++#endif
++ }
++
++ if (cb->used_integer == NARGREG) {
++ value = *cb->used_stack++;
++ } else {
++ value = cb->aregs->a[cb->used_integer++];
++ }
++
++ switch (type) {
++ case FFI_TYPE_UINT8: *(uint8_t *)data = value; break;
++ case FFI_TYPE_SINT8: *(uint8_t *)data = value; break;
++ case FFI_TYPE_UINT16: *(uint16_t *)data = value; break;
++ case FFI_TYPE_SINT16: *(uint16_t *)data = value; break;
++ case FFI_TYPE_UINT32: *(uint32_t *)data = value; break;
++ case FFI_TYPE_SINT32: *(uint32_t *)data = value; break;
++#if __SIZEOF_POINTER__ == 8
++ case FFI_TYPE_UINT64: *(uint64_t *)data = value; break;
++ case FFI_TYPE_SINT64: *(uint64_t *)data = value; break;
++#endif
++ case FFI_TYPE_POINTER: *(size_t *)data = value; break;
++ default: FFI_ASSERT(0); break;
++ }
++}
++
++/* adds an argument to a call, or a not by reference return value */
++static void marshal(call_builder *cb, ffi_type *type, int var, void *data) {
++ size_t realign[2];
++
++#if ABI_FLEN
++ if (!var && type->type == FFI_TYPE_STRUCT) {
++ float_struct_info fsi = struct_passed_as_elements(cb, type);
++ if (fsi.as_elements) {
++ marshal_atom(cb, fsi.type1, data);
++ if (fsi.offset2)
++ marshal_atom(cb, fsi.type2, ((char*)data) + fsi.offset2);
++ return;
++ }
++ }
++
++ if (!var && cb->used_float < NARGREG && IS_FLOAT(type->type)) {
++ marshal_atom(cb, type->type, data);
++ return;
++ }
++#endif
++
++ if (type->size > 2 * __SIZEOF_POINTER__) {
++ /* pass by reference */
++ marshal_atom(cb, FFI_TYPE_POINTER, &data);
++ } else if (IS_INT(type->type) || type->type == FFI_TYPE_POINTER) {
++ marshal_atom(cb, type->type, data);
++ } else {
++ /* overlong integers, soft-float floats, and structs without special
++ float handling are treated identically from this point on */
++
++ /* variadics are aligned even in registers */
++ if (type->alignment > __SIZEOF_POINTER__) {
++ if (var)
++ cb->used_integer = ALIGN(cb->used_integer, 2);
++ cb->used_stack = (size_t *)ALIGN(cb->used_stack, 2*__SIZEOF_POINTER__);
++ }
++
++ memcpy(realign, data, type->size);
++ if (type->size > 0)
++ marshal_atom(cb, FFI_TYPE_POINTER, realign);
++ if (type->size > __SIZEOF_POINTER__)
++ marshal_atom(cb, FFI_TYPE_POINTER, realign + 1);
++ }
++}
++
++/* for arguments passed by reference returns the pointer, otherwise the arg is copied (up to MAXCOPYARG bytes) */
++static void *unmarshal(call_builder *cb, ffi_type *type, int var, void *data) {
++ size_t realign[2];
++ void *pointer;
++
++#if ABI_FLEN
++ if (!var && type->type == FFI_TYPE_STRUCT) {
++ float_struct_info fsi = struct_passed_as_elements(cb, type);
++ if (fsi.as_elements) {
++ unmarshal_atom(cb, fsi.type1, data);
++ if (fsi.offset2)
++ unmarshal_atom(cb, fsi.type2, ((char*)data) + fsi.offset2);
++ return data;
++ }
++ }
++
++ if (!var && cb->used_float < NARGREG && IS_FLOAT(type->type)) {
++ unmarshal_atom(cb, type->type, data);
++ return data;
++ }
++#endif
++
++ if (type->size > 2 * __SIZEOF_POINTER__) {
++ /* pass by reference */
++ unmarshal_atom(cb, FFI_TYPE_POINTER, (char*)&pointer);
++ return pointer;
++ } else if (IS_INT(type->type) || type->type == FFI_TYPE_POINTER) {
++ unmarshal_atom(cb, type->type, data);
++ return data;
++ } else {
++ /* overlong integers, soft-float floats, and structs without special
++ float handling are treated identically from this point on */
++
++ /* variadics are aligned even in registers */
++ if (type->alignment > __SIZEOF_POINTER__) {
++ if (var)
++ cb->used_integer = ALIGN(cb->used_integer, 2);
++ cb->used_stack = (size_t *)ALIGN(cb->used_stack, 2*__SIZEOF_POINTER__);
++ }
++
++ if (type->size > 0)
++ unmarshal_atom(cb, FFI_TYPE_POINTER, realign);
++ if (type->size > __SIZEOF_POINTER__)
++ unmarshal_atom(cb, FFI_TYPE_POINTER, realign + 1);
++ memcpy(data, realign, type->size);
++ return data;
++ }
++}
++
++static int passed_by_ref(call_builder *cb, ffi_type *type, int var) {
++#if ABI_FLEN
++ if (!var && type->type == FFI_TYPE_STRUCT) {
++ float_struct_info fsi = struct_passed_as_elements(cb, type);
++ if (fsi.as_elements) return 0;
++ }
++#endif
++
++ return type->size > 2 * __SIZEOF_POINTER__;
++}
++
++/* Perform machine dependent cif processing */
++ffi_status ffi_prep_cif_machdep(ffi_cif *cif) {
++ cif->riscv_nfixedargs = cif->nargs;
++ return FFI_OK;
++}
++
++/* Perform machine dependent cif processing when we have a variadic function */
++
++ffi_status ffi_prep_cif_machdep_var(ffi_cif *cif, unsigned int nfixedargs, unsigned int ntotalargs) {
++ cif->riscv_nfixedargs = nfixedargs;
++ return FFI_OK;
++}
++
++/* Low level routine for calling functions */
++extern void ffi_call_asm(void *stack, struct call_context *regs, void (*fn)(void)) FFI_HIDDEN;
++
++void ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue)
++{
++ /* this is a conservative estimate, assuming a complex return value and
++ that all remaining arguments are long long / __int128 */
++ size_t arg_bytes = cif->nargs <= 3 ? 0 :
++ ALIGN(2 * sizeof(size_t) * (cif->nargs - 3), STKALIGN);
++ size_t rval_bytes = 0;
++ if (rvalue == NULL && cif->rtype->size > 2*__SIZEOF_POINTER__)
++ rval_bytes = ALIGN(cif->rtype->size, STKALIGN);
++ size_t alloc_size = arg_bytes + rval_bytes + sizeof(call_context);
++
++ /* the assembly code will deallocate all stack data at lower addresses
++ than the argument region, so we need to allocate the frame and the
++ return value after the arguments in a single allocation */
++ size_t alloc_base;
++ /* Argument region must be 16-byte aligned */
++ if (_Alignof(max_align_t) >= STKALIGN) {
++ /* since sizeof long double is normally 16, the compiler will
++ guarantee alloca alignment to at least that much */
++ alloc_base = (size_t)alloca(alloc_size);
++ } else {
++ alloc_base = ALIGN(alloca(alloc_size + STKALIGN - 1), STKALIGN);
++ }
++
++ if (rval_bytes)
++ rvalue = (void*)(alloc_base + arg_bytes);
++
++ call_builder cb;
++ cb.used_float = cb.used_integer = 0;
++ cb.aregs = (call_context*)(alloc_base + arg_bytes + rval_bytes);
++ cb.used_stack = (void*)alloc_base;
++
++ int return_by_ref = passed_by_ref(&cb, cif->rtype, 0);
++ if (return_by_ref)
++ marshal(&cb, &ffi_type_pointer, 0, &rvalue);
++
++ int i;
++ for (i = 0; i < cif->nargs; i++)
++ marshal(&cb, cif->arg_types[i], i >= cif->riscv_nfixedargs, avalue[i]);
++
++ ffi_call_asm((void*)alloc_base, cb.aregs, fn);
++
++ cb.used_float = cb.used_integer = 0;
++ if (!return_by_ref && rvalue)
++ unmarshal(&cb, cif->rtype, 0, rvalue);
++}
++
++extern void ffi_closure_asm(void) FFI_HIDDEN;
++
++ffi_status ffi_prep_closure_loc(ffi_closure *closure, ffi_cif *cif, void (*fun)(ffi_cif*,void*,void**,void*), void *user_data, void *codeloc)
++{
++ uint32_t *tramp = (uint32_t *) &closure->tramp[0];
++ uint64_t fn = (uint64_t) (uintptr_t) ffi_closure_asm;
++
++ if (cif->abi <= FFI_FIRST_ABI || cif->abi >= FFI_LAST_ABI)
++ return FFI_BAD_ABI;
++
++ /* we will call ffi_closure_inner with codeloc, not closure, but as long
++ as the memory is readable it should work */
++
++ tramp[0] = 0x00000317; /* auipc t1, 0 (i.e. t0 <- codeloc) */
++#if __SIZEOF_POINTER__ == 8
++ tramp[1] = 0x01033383; /* ld t2, 16(t1) */
++#else
++ tramp[1] = 0x01032383; /* lw t2, 16(t1) */
++#endif
++ tramp[2] = 0x00038067; /* jr t2 */
++ tramp[3] = 0x00000013; /* nop */
++ tramp[4] = fn;
++ tramp[5] = fn >> 32;
++
++ closure->cif = cif;
++ closure->fun = fun;
++ closure->user_data = user_data;
++
++ __builtin___clear_cache(codeloc, codeloc + FFI_TRAMPOLINE_SIZE);
++
++ return FFI_OK;
++}
++
++/* Called by the assembly code with aregs pointing to saved argument registers
++ and stack pointing to the stacked arguments. Return values passed in
++ registers will be reloaded from aregs. */
++void FFI_HIDDEN ffi_closure_inner(size_t *stack, call_context *aregs, ffi_closure *closure) {
++ ffi_cif *cif = closure->cif;
++ void **avalue = alloca(cif->nargs * sizeof(void*));
++ /* storage for arguments which will be copied by unmarshal(). We could
++ theoretically avoid the copies in many cases and use at most 128 bytes
++ of memory, but allocating disjoint storage for each argument is
++ simpler. */
++ char *astorage = alloca(cif->nargs * MAXCOPYARG);
++ void *rvalue;
++ call_builder cb;
++ int return_by_ref;
++ int i;
++
++ cb.aregs = aregs;
++ cb.used_integer = cb.used_float = 0;
++ cb.used_stack = stack;
++
++ return_by_ref = passed_by_ref(&cb, cif->rtype, 0);
++ if (return_by_ref)
++ unmarshal(&cb, &ffi_type_pointer, 0, &rvalue);
++ else
++ rvalue = alloca(cif->rtype->size);
++
++ for (i = 0; i < cif->nargs; i++)
++ avalue[i] = unmarshal(&cb, cif->arg_types[i],
++ i >= cif->riscv_nfixedargs, astorage + i*MAXCOPYARG);
++
++ (closure->fun)(cif, rvalue, avalue, closure->user_data);
++
++ if (!return_by_ref && cif->rtype->type != FFI_TYPE_VOID) {
++ cb.used_integer = cb.used_float = 0;
++ marshal(&cb, cif->rtype, 0, rvalue);
++ }
++}
+Index: b/src/libffi/src/riscv/ffitarget.h
+===================================================================
+--- /dev/null
++++ b/src/libffi/src/riscv/ffitarget.h
+@@ -0,0 +1,68 @@
++/* -----------------------------------------------------------------*-C-*-
++ ffitarget.h - 2014 Michael Knyszek
++
++ Target configuration macros for RISC-V.
++
++ Permission is hereby granted, free of charge, to any person obtaining
++ a copy of this software and associated documentation files (the
++ ``Software''), to deal in the Software without restriction, including
++ without limitation the rights to use, copy, modify, merge, publish,
++ distribute, sublicense, and/or sell copies of the Software, and to
++ permit persons to whom the Software is furnished to do so, subject to
++ the following conditions:
++
++ The above copyright notice and this permission notice shall be included
++ in all copies or substantial portions of the Software.
++
++ THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
++ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
++ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
++ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
++ HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
++ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
++ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
++ DEALINGS IN THE SOFTWARE.
++
++ ----------------------------------------------------------------------- */
++
++#ifndef LIBFFI_TARGET_H
++#define LIBFFI_TARGET_H
++
++#ifndef LIBFFI_H
++#error "Please do not include ffitarget.h directly into your source. Use ffi.h instead."
++#endif
++
++#ifndef __riscv
++#error "libffi was configured for a RISC-V target but this does not appear to be a RISC-V compiler."
++#endif
++
++#ifndef LIBFFI_ASM
++
++typedef unsigned long ffi_arg;
++typedef signed long ffi_sarg;
++
++/* FFI_UNUSED_NN and riscv_unused are to maintain ABI compatibility with a
++ distributed Berkeley patch from 2014, and can be removed at SONAME bump */
++typedef enum ffi_abi {
++ FFI_FIRST_ABI = 0,
++ FFI_SYSV,
++ FFI_UNUSED_1,
++ FFI_UNUSED_2,
++ FFI_UNUSED_3,
++ FFI_LAST_ABI,
++
++ FFI_DEFAULT_ABI = FFI_SYSV
++} ffi_abi;
++
++#endif /* LIBFFI_ASM */
++
++/* ---- Definitions for closures ----------------------------------------- */
++
++#define FFI_CLOSURES 1
++#define FFI_TRAMPOLINE_SIZE 24
++#define FFI_NATIVE_RAW_API 0
++#define FFI_EXTRA_CIF_FIELDS unsigned riscv_nfixedargs; unsigned riscv_unused;
++#define FFI_TARGET_SPECIFIC_VARIADIC
++
++#endif
++
+Index: b/src/libffi/src/riscv/sysv.S
+===================================================================
+--- /dev/null
++++ b/src/libffi/src/riscv/sysv.S
+@@ -0,0 +1,214 @@
++/* -----------------------------------------------------------------------
++ ffi.c - Copyright (c) 2015 Michael Knyszek <mknyszek@berkeley.edu>
++ 2015 Andrew Waterman <waterman@cs.berkeley.edu>
++ 2018 Stef O'Rear <sorear2@gmail.com>
++
++ RISC-V Foreign Function Interface
++
++ Permission is hereby granted, free of charge, to any person obtaining
++ a copy of this software and associated documentation files (the
++ ``Software''), to deal in the Software without restriction, including
++ without limitation the rights to use, copy, modify, merge, publish,
++ distribute, sublicense, and/or sell copies of the Software, and to
++ permit persons to whom the Software is furnished to do so, subject to
++ the following conditions:
++
++ The above copyright notice and this permission notice shall be included
++ in all copies or substantial portions of the Software.
++
++ THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
++ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
++ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
++ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
++ HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
++ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
++ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
++ DEALINGS IN THE SOFTWARE.
++ ----------------------------------------------------------------------- */
++
++#define LIBFFI_ASM
++#include <fficonfig.h>
++#include <ffi.h>
++
++/* Define aliases so that we can handle all ABIs uniformly */
++
++#if __SIZEOF_POINTER__ == 8
++#define PTRS 8
++#define LARG ld
++#define SARG sd
++#else
++#define PTRS 4
++#define LARG lw
++#define SARG sw
++#endif
++
++#if __riscv_float_abi_double
++#define FLTS 8
++#define FLARG fld
++#define FSARG fsd
++#elif __riscv_float_abi_single
++#define FLTS 4
++#define FLARG flw
++#define FSARG fsw
++#else
++#define FLTS 0
++#endif
++
++#define fp s0
++
++ .text
++ .globl ffi_call_asm
++ .type ffi_call_asm, @function
++ .hidden ffi_call_asm
++/*
++ struct call_context {
++ floatreg fa[8];
++ intreg a[8];
++ intreg pad[rv32 ? 2 : 0];
++ intreg save_fp, save_ra;
++ }
++ void ffi_call_asm(size_t *stackargs, struct call_context *regargs,
++ void (*fn)(void));
++*/
++
++#define FRAME_LEN (8 * FLTS + 8 * PTRS + 16)
++
++ffi_call_asm:
++ .cfi_startproc
++
++ /*
++ We are NOT going to set up an ordinary stack frame. In order to pass
++ the stacked args to the called function, we adjust our stack pointer to
++ a0, which is in the _caller's_ alloca area. We establish our own stack
++ frame at the end of the call_context.
++
++ Anything below the arguments will be freed at this point, although we
++ preserve the call_context so that it can be read back in the caller.
++ */
++
++ .cfi_def_cfa 11, FRAME_LEN # interim CFA based on a1
++ SARG fp, FRAME_LEN - 2*PTRS(a1)
++ .cfi_offset 8, -2*PTRS
++ SARG ra, FRAME_LEN - 1*PTRS(a1)
++ .cfi_offset 1, -1*PTRS
++
++ addi fp, a1, FRAME_LEN
++ mv sp, a0
++ .cfi_def_cfa 8, 0 # our frame is fully set up
++
++ # Load arguments
++ mv t1, a2
++
++#if FLTS
++ FLARG fa0, -FRAME_LEN+0*FLTS(fp)
++ FLARG fa1, -FRAME_LEN+1*FLTS(fp)
++ FLARG fa2, -FRAME_LEN+2*FLTS(fp)
++ FLARG fa3, -FRAME_LEN+3*FLTS(fp)
++ FLARG fa4, -FRAME_LEN+4*FLTS(fp)
++ FLARG fa5, -FRAME_LEN+5*FLTS(fp)
++ FLARG fa6, -FRAME_LEN+6*FLTS(fp)
++ FLARG fa7, -FRAME_LEN+7*FLTS(fp)
++#endif
++
++ LARG a0, -FRAME_LEN+8*FLTS+0*PTRS(fp)
++ LARG a1, -FRAME_LEN+8*FLTS+1*PTRS(fp)
++ LARG a2, -FRAME_LEN+8*FLTS+2*PTRS(fp)
++ LARG a3, -FRAME_LEN+8*FLTS+3*PTRS(fp)
++ LARG a4, -FRAME_LEN+8*FLTS+4*PTRS(fp)
++ LARG a5, -FRAME_LEN+8*FLTS+5*PTRS(fp)
++ LARG a6, -FRAME_LEN+8*FLTS+6*PTRS(fp)
++ LARG a7, -FRAME_LEN+8*FLTS+7*PTRS(fp)
++
++ /* Call */
++ jalr t1
++
++ /* Save return values - only a0/a1 (fa0/fa1) are used */
++#if FLTS
++ FSARG fa0, -FRAME_LEN+0*FLTS(fp)
++ FSARG fa1, -FRAME_LEN+1*FLTS(fp)
++#endif
++
++ SARG a0, -FRAME_LEN+8*FLTS+0*PTRS(fp)
++ SARG a1, -FRAME_LEN+8*FLTS+1*PTRS(fp)
++
++ /* Restore and return */
++ addi sp, fp, -FRAME_LEN
++ .cfi_def_cfa 2, FRAME_LEN
++ LARG ra, -1*PTRS(fp)
++ .cfi_restore 1
++ LARG fp, -2*PTRS(fp)
++ .cfi_restore 8
++ ret
++ .cfi_endproc
++ .size ffi_call_asm, .-ffi_call_asm
++
++
++/*
++ ffi_closure_asm. Expects address of the passed-in ffi_closure in t1.
++ void ffi_closure_inner(size_t *stackargs, struct call_context *regargs,
++ ffi_closure *closure);
++*/
++
++ .globl ffi_closure_asm
++ .hidden ffi_closure_asm
++ .type ffi_closure_asm, @function
++ffi_closure_asm:
++ .cfi_startproc
++
++ addi sp, sp, -FRAME_LEN
++ .cfi_def_cfa_offset FRAME_LEN
++
++ /* make a frame */
++ SARG fp, FRAME_LEN - 2*PTRS(sp)
++ .cfi_offset 8, -2*PTRS
++ SARG ra, FRAME_LEN - 1*PTRS(sp)
++ .cfi_offset 1, -1*PTRS
++ addi fp, sp, FRAME_LEN
++
++ /* save arguments */
++#if FLTS
++ FSARG fa0, 0*FLTS(sp)
++ FSARG fa1, 1*FLTS(sp)
++ FSARG fa2, 2*FLTS(sp)
++ FSARG fa3, 3*FLTS(sp)
++ FSARG fa4, 4*FLTS(sp)
++ FSARG fa5, 5*FLTS(sp)
++ FSARG fa6, 6*FLTS(sp)
++ FSARG fa7, 7*FLTS(sp)
++#endif
++
++ SARG a0, 8*FLTS+0*PTRS(sp)
++ SARG a1, 8*FLTS+1*PTRS(sp)
++ SARG a2, 8*FLTS+2*PTRS(sp)
++ SARG a3, 8*FLTS+3*PTRS(sp)
++ SARG a4, 8*FLTS+4*PTRS(sp)
++ SARG a5, 8*FLTS+5*PTRS(sp)
++ SARG a6, 8*FLTS+6*PTRS(sp)
++ SARG a7, 8*FLTS+7*PTRS(sp)
++
++ /* enter C */
++ addi a0, sp, FRAME_LEN
++ mv a1, sp
++ mv a2, t1
++
++ call ffi_closure_inner
++
++ /* return values */
++#if FLTS
++ FLARG fa0, 0*FLTS(sp)
++ FLARG fa1, 1*FLTS(sp)
++#endif
++
++ LARG a0, 8*FLTS+0*PTRS(sp)
++ LARG a1, 8*FLTS+1*PTRS(sp)
++
++ /* restore and return */
++ LARG ra, FRAME_LEN-1*PTRS(sp)
++ .cfi_restore 1
++ LARG fp, FRAME_LEN-2*PTRS(sp)
++ .cfi_restore 8
++ addi sp, sp, FRAME_LEN
++ .cfi_def_cfa_offset 0
++ ret
++ .cfi_endproc
++ .size ffi_closure_asm, .-ffi_closure_asm
--- /dev/null
+# DP: libffi: RISC-V go closures
+
+--- a/src/libffi/src/riscv/ffi.c
++++ b/src/libffi/src/riscv/ffi.c
+@@ -324,9 +324,12 @@ ffi_status ffi_prep_cif_machdep_var(ffi_cif *cif, unsigned int nfixedargs, unsig
+ }
+
+ /* Low level routine for calling functions */
+-extern void ffi_call_asm(void *stack, struct call_context *regs, void (*fn)(void)) FFI_HIDDEN;
++extern void ffi_call_asm (void *stack, struct call_context *regs,
++ void (*fn) (void), void *closure) FFI_HIDDEN;
+
+-void ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue)
++static void
++ffi_call_int (ffi_cif *cif, void (*fn) (void), void *rvalue, void **avalue,
++ void *closure)
+ {
+ /* this is a conservative estimate, assuming a complex return value and
+ that all remaining arguments are long long / __int128 */
+@@ -366,13 +369,26 @@ void ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue)
+ for (i = 0; i < cif->nargs; i++)
+ marshal(&cb, cif->arg_types[i], i >= cif->riscv_nfixedargs, avalue[i]);
+
+- ffi_call_asm((void*)alloc_base, cb.aregs, fn);
++ ffi_call_asm ((void *) alloc_base, cb.aregs, fn, closure);
+
+ cb.used_float = cb.used_integer = 0;
+ if (!return_by_ref && rvalue)
+ unmarshal(&cb, cif->rtype, 0, rvalue);
+ }
+
++void
++ffi_call (ffi_cif *cif, void (*fn) (void), void *rvalue, void **avalue)
++{
++ ffi_call_int(cif, fn, rvalue, avalue, NULL);
++}
++
++void
++ffi_call_go (ffi_cif *cif, void (*fn) (void), void *rvalue,
++ void **avalue, void *closure)
++{
++ ffi_call_int(cif, fn, rvalue, avalue, closure);
++}
++
+ extern void ffi_closure_asm(void) FFI_HIDDEN;
+
+ ffi_status ffi_prep_closure_loc(ffi_closure *closure, ffi_cif *cif, void (*fun)(ffi_cif*,void*,void**,void*), void *user_data, void *codeloc)
+@@ -406,11 +422,31 @@ ffi_status ffi_prep_closure_loc(ffi_closure *closure, ffi_cif *cif, void (*fun)(
+ return FFI_OK;
+ }
+
++extern void ffi_go_closure_asm (void) FFI_HIDDEN;
++
++ffi_status
++ffi_prep_go_closure (ffi_go_closure *closure, ffi_cif *cif,
++ void (*fun) (ffi_cif *, void *, void **, void *))
++{
++ if (cif->abi <= FFI_FIRST_ABI || cif->abi >= FFI_LAST_ABI)
++ return FFI_BAD_ABI;
++
++ closure->tramp = (void *) ffi_go_closure_asm;
++ closure->cif = cif;
++ closure->fun = fun;
++
++ return FFI_OK;
++}
++
+ /* Called by the assembly code with aregs pointing to saved argument registers
+ and stack pointing to the stacked arguments. Return values passed in
+ registers will be reloaded from aregs. */
+-void FFI_HIDDEN ffi_closure_inner(size_t *stack, call_context *aregs, ffi_closure *closure) {
+- ffi_cif *cif = closure->cif;
++void FFI_HIDDEN
++ffi_closure_inner (ffi_cif *cif,
++ void (*fun) (ffi_cif *, void *, void **, void *),
++ void *user_data,
++ size_t *stack, call_context *aregs)
++{
+ void **avalue = alloca(cif->nargs * sizeof(void*));
+ /* storage for arguments which will be copied by unmarshal(). We could
+ theoretically avoid the copies in many cases and use at most 128 bytes
+@@ -436,7 +472,7 @@ void FFI_HIDDEN ffi_closure_inner(size_t *stack, call_context *aregs, ffi_closur
+ avalue[i] = unmarshal(&cb, cif->arg_types[i],
+ i >= cif->riscv_nfixedargs, astorage + i*MAXCOPYARG);
+
+- (closure->fun)(cif, rvalue, avalue, closure->user_data);
++ fun (cif, rvalue, avalue, user_data);
+
+ if (!return_by_ref && cif->rtype->type != FFI_TYPE_VOID) {
+ cb.used_integer = cb.used_float = 0;
+--- a/src/libffi/src/riscv/ffitarget.h
++++ b/src/libffi/src/riscv/ffitarget.h
+@@ -59,6 +59,7 @@ typedef enum ffi_abi {
+ /* ---- Definitions for closures ----------------------------------------- */
+
+ #define FFI_CLOSURES 1
++#define FFI_GO_CLOSURES 1
+ #define FFI_TRAMPOLINE_SIZE 24
+ #define FFI_NATIVE_RAW_API 0
+ #define FFI_EXTRA_CIF_FIELDS unsigned riscv_nfixedargs; unsigned riscv_unused;
+--- a/src/libffi/src/riscv/sysv.S
++++ b/src/libffi/src/riscv/sysv.S
+@@ -67,8 +67,8 @@
+ intreg pad[rv32 ? 2 : 0];
+ intreg save_fp, save_ra;
+ }
+- void ffi_call_asm(size_t *stackargs, struct call_context *regargs,
+- void (*fn)(void));
++ void ffi_call_asm (size_t *stackargs, struct call_context *regargs,
++ void (*fn) (void), void *closure);
+ */
+
+ #define FRAME_LEN (8 * FLTS + 8 * PTRS + 16)
+@@ -98,6 +98,7 @@ ffi_call_asm:
+
+ # Load arguments
+ mv t1, a2
++ mv t2, a3
+
+ #if FLTS
+ FLARG fa0, -FRAME_LEN+0*FLTS(fp)
+@@ -145,8 +146,10 @@ ffi_call_asm:
+
+ /*
+ ffi_closure_asm. Expects address of the passed-in ffi_closure in t1.
+- void ffi_closure_inner(size_t *stackargs, struct call_context *regargs,
+- ffi_closure *closure);
++ void ffi_closure_inner (ffi_cif *cif,
++ void (*fun) (ffi_cif *, void *, void **, void *),
++ void *user_data,
++ size_t *stackargs, struct call_context *regargs)
+ */
+
+ .globl ffi_closure_asm
+@@ -187,9 +190,11 @@ ffi_closure_asm:
+ SARG a7, 8*FLTS+7*PTRS(sp)
+
+ /* enter C */
+- addi a0, sp, FRAME_LEN
+- mv a1, sp
+- mv a2, t1
++ LARG a0, FFI_TRAMPOLINE_SIZE+0*PTRS(t1)
++ LARG a1, FFI_TRAMPOLINE_SIZE+1*PTRS(t1)
++ LARG a2, FFI_TRAMPOLINE_SIZE+2*PTRS(t1)
++ addi a3, sp, FRAME_LEN
++ mv a4, sp
+
+ call ffi_closure_inner
+
+@@ -212,3 +217,77 @@ ffi_closure_asm:
+ ret
+ .cfi_endproc
+ .size ffi_closure_asm, .-ffi_closure_asm
++
++/*
++ ffi_go_closure_asm. Expects address of the passed-in ffi_go_closure in t2.
++ void ffi_closure_inner (ffi_cif *cif,
++ void (*fun) (ffi_cif *, void *, void **, void *),
++ void *user_data,
++ size_t *stackargs, struct call_context *regargs)
++*/
++
++ .globl ffi_go_closure_asm
++ .hidden ffi_go_closure_asm
++ .type ffi_go_closure_asm, @function
++ffi_go_closure_asm:
++ .cfi_startproc
++
++ addi sp, sp, -FRAME_LEN
++ .cfi_def_cfa_offset FRAME_LEN
++
++ /* make a frame */
++ SARG fp, FRAME_LEN - 2*PTRS(sp)
++ .cfi_offset 8, -2*PTRS
++ SARG ra, FRAME_LEN - 1*PTRS(sp)
++ .cfi_offset 1, -1*PTRS
++ addi fp, sp, FRAME_LEN
++
++ /* save arguments */
++#if FLTS
++ FSARG fa0, 0*FLTS(sp)
++ FSARG fa1, 1*FLTS(sp)
++ FSARG fa2, 2*FLTS(sp)
++ FSARG fa3, 3*FLTS(sp)
++ FSARG fa4, 4*FLTS(sp)
++ FSARG fa5, 5*FLTS(sp)
++ FSARG fa6, 6*FLTS(sp)
++ FSARG fa7, 7*FLTS(sp)
++#endif
++
++ SARG a0, 8*FLTS+0*PTRS(sp)
++ SARG a1, 8*FLTS+1*PTRS(sp)
++ SARG a2, 8*FLTS+2*PTRS(sp)
++ SARG a3, 8*FLTS+3*PTRS(sp)
++ SARG a4, 8*FLTS+4*PTRS(sp)
++ SARG a5, 8*FLTS+5*PTRS(sp)
++ SARG a6, 8*FLTS+6*PTRS(sp)
++ SARG a7, 8*FLTS+7*PTRS(sp)
++
++ /* enter C */
++ LARG a0, 1*PTRS(t2)
++ LARG a1, 2*PTRS(t2)
++ mv a2, t2
++ addi a3, sp, FRAME_LEN
++ mv a4, sp
++
++ call ffi_closure_inner
++
++ /* return values */
++#if FLTS
++ FLARG fa0, 0*FLTS(sp)
++ FLARG fa1, 1*FLTS(sp)
++#endif
++
++ LARG a0, 8*FLTS+0*PTRS(sp)
++ LARG a1, 8*FLTS+1*PTRS(sp)
++
++ /* restore and return */
++ LARG ra, FRAME_LEN-1*PTRS(sp)
++ .cfi_restore 1
++ LARG fp, FRAME_LEN-2*PTRS(sp)
++ .cfi_restore 8
++ addi sp, sp, FRAME_LEN
++ .cfi_def_cfa_offset 0
++ ret
++ .cfi_endproc
++ .size ffi_go_closure_asm, .-ffi_go_closure_asm
--- /dev/null
+# DP: PR libffi/47248, force a read only eh frame section.
+
+Index: b/src/libffi/configure.ac
+===================================================================
+--- a/src/libffi/configure.ac
++++ b/src/libffi/configure.ac
+@@ -275,6 +275,8 @@ if test "x$GCC" = "xyes"; then
+ libffi_cv_hidden_visibility_attribute=yes
+ fi
+ fi
++ # FIXME: see PR libffi/47248
++ libffi_cv_ro_eh_frame=yes
+ rm -f conftest.*
+ ])
+ if test $libffi_cv_hidden_visibility_attribute = yes; then
--- /dev/null
+Index: b/src/libgo/Makefile.am
+===================================================================
+--- a/src/libgo/Makefile.am
++++ b/src/libgo/Makefile.am
+@@ -1570,7 +1570,9 @@ mostlyclean-local:
+ find . -name '*-testsum' -print | xargs rm -f
+ find . -name '*-testlog' -print | xargs rm -f
+
+-CLEANFILES = *.go *.c s-* libgo.sum libgo.log runtime.inc
++CLEANFILES = *.go *.c s-* libgo.sum libgo.log runtime.inc \
++ *.dep */*.dep */*/*.dep */*/*/*.dep */*/*.dep */*/*/*/*.dep \
++ */*/*/*/*/*.dep
+
+ clean-local:
+ find . -name '*.la' -print | xargs $(LIBTOOL) --mode=clean rm -f
+Index: b/src/libgo/Makefile.in
+===================================================================
+--- a/src/libgo/Makefile.in
++++ b/src/libgo/Makefile.in
+@@ -1417,7 +1417,9 @@ MOSTLYCLEANFILES = \
+ libgo.head libgo.sum.sep libgo.log.sep libgo.var \
+ libcalls-list runtime.inc runtime.inc.tmp2 runtime.inc.tmp3
+
+-CLEANFILES = *.go *.c s-* libgo.sum libgo.log runtime.inc
++CLEANFILES = *.go *.c s-* libgo.sum libgo.log runtime.inc \
++ *.dep */*.dep */*/*.dep */*/*/*.dep */*/*.dep */*/*/*/*.dep \
++ */*/*/*/*/*.dep
+ all: config.h
+ $(MAKE) $(AM_MAKEFLAGS) all-recursive
+
--- /dev/null
+Index: b/src/libgo/testsuite/lib/libgo.exp
+===================================================================
+--- a/src/libgo/testsuite/lib/libgo.exp
++++ b/src/libgo/testsuite/lib/libgo.exp
+@@ -46,7 +46,6 @@ load_gcc_lib wrapper.exp
+ load_gcc_lib target-supports.exp
+ load_gcc_lib target-utils.exp
+ load_gcc_lib gcc-defs.exp
+-load_gcc_lib timeout.exp
+ load_gcc_lib go.exp
+
+ proc libgo_init { args } {
--- /dev/null
+# DP: libgo: Overwrite the setcontext_clobbers_tls check on mips*
+
+Index: b/src/libgo/configure.ac
+===================================================================
+--- a/src/libgo/configure.ac
++++ b/src/libgo/configure.ac
+@@ -780,6 +780,14 @@ main ()
+ CFLAGS="$CFLAGS_hold"
+ LIBS="$LIBS_hold"
+ ])
++dnl overwrite for the mips* 64bit multilibs, fails on some buildds
++if test "$libgo_cv_lib_setcontext_clobbers_tls" = "yes"; then
++ case "$target" in
++ mips*-linux-*)
++ AC_MSG_WARN([FIXME: overwrite setcontext_clobbers_tls for $target:$ptr_type_size])
++ libgo_cv_lib_setcontext_clobbers_tls=no ;;
++ esac
++fi
+ if test "$libgo_cv_lib_setcontext_clobbers_tls" = "yes"; then
+ AC_DEFINE(SETCONTEXT_CLOBBERS_TLS, 1,
+ [Define if setcontext clobbers TLS variables])
--- /dev/null
+# DP: Only run the libgo testsuite for flags configured in RUNTESTFLAGS
+
+Index: b/src/libgo/Makefile.am
+===================================================================
+--- a/src/libgo/Makefile.am
++++ b/src/libgo/Makefile.am
+@@ -1029,7 +1029,7 @@ BUILDGOX = \
+ $(SHELL) $(srcdir)/mvifdiff.sh $@.tmp `echo $@ | sed -e 's/s-gox/gox/'`
+
+ GOTESTFLAGS =
+-GOBENCH =
++GOBENCH =
+
+ # Check a package.
+ CHECK = \
+@@ -1050,6 +1050,12 @@ CHECK = \
+ $(MKDIR_P) $(@D); \
+ rm -f $@-testsum $@-testlog; \
+ files=`$(SHELL) $(srcdir)/match.sh --goarch=$(GOARCH) --goos=$(GOOS) --srcdir=$(srcdir)/go/$(@D) --extrafiles="$(extra_go_files_$(subst /,_,$(@D)))" $(matchargs_$(subst /,_,$(@D)))`; \
++ run_check=yes; \
++ MULTILIBDIR="$(MULTILIBDIR)"; \
++ case "$$MULTILIBDIR" in /64|/x32) \
++ echo "$$RUNTESTFLAGS" | grep -q "$${MULTILIBDIR\#/*}" || run_check=; \
++ esac; \
++ if test "$$run_check" = "yes"; then \
+ if test "$(USE_DEJAGNU)" = "yes"; then \
+ $(SHELL) $(srcdir)/testsuite/gotest --goarch=$(GOARCH) --goos=$(GOOS) --dejagnu=yes --basedir=$(srcdir) --srcdir=$(srcdir)/go/$(@D) --pkgpath="$(@D)" --pkgfiles="$$files" --testname="$(@D)" $(GOTESTFLAGS); \
+ elif test "$(GOBENCH)" != ""; then \
+@@ -1065,6 +1071,7 @@ CHECK = \
+ echo "FAIL: $(@D)" > $@-testsum; \
+ exit 1; \
+ fi; \
++ fi; \
+ fi
+
+ # Build all packages before checking any.
+Index: b/src/libgo/Makefile.in
+===================================================================
+--- a/src/libgo/Makefile.in
++++ b/src/libgo/Makefile.in
+@@ -1118,7 +1118,7 @@ BUILDGOX = \
+ $(SHELL) $(srcdir)/mvifdiff.sh $@.tmp `echo $@ | sed -e 's/s-gox/gox/'`
+
+ GOTESTFLAGS =
+-GOBENCH =
++GOBENCH =
+
+ # Check a package.
+ CHECK = \
+@@ -1139,6 +1139,12 @@ CHECK = \
+ $(MKDIR_P) $(@D); \
+ rm -f $@-testsum $@-testlog; \
+ files=`$(SHELL) $(srcdir)/match.sh --goarch=$(GOARCH) --goos=$(GOOS) --srcdir=$(srcdir)/go/$(@D) --extrafiles="$(extra_go_files_$(subst /,_,$(@D)))" $(matchargs_$(subst /,_,$(@D)))`; \
++ run_check=yes; \
++ MULTILIBDIR="$(MULTILIBDIR)"; \
++ case "$$MULTILIBDIR" in /64|/x32) \
++ echo "$$RUNTESTFLAGS" | grep -q "$${MULTILIBDIR\#/*}" || run_check=; \
++ esac; \
++ if test "$$run_check" = "yes"; then \
+ if test "$(USE_DEJAGNU)" = "yes"; then \
+ $(SHELL) $(srcdir)/testsuite/gotest --goarch=$(GOARCH) --goos=$(GOOS) --dejagnu=yes --basedir=$(srcdir) --srcdir=$(srcdir)/go/$(@D) --pkgpath="$(@D)" --pkgfiles="$$files" --testname="$(@D)" $(GOTESTFLAGS); \
+ elif test "$(GOBENCH)" != ""; then \
+@@ -1154,6 +1160,7 @@ CHECK = \
+ echo "FAIL: $(@D)" > $@-testsum; \
+ exit 1; \
+ fi; \
++ fi; \
+ fi
+
+
--- /dev/null
+# DP: Disable lock-2.c test on kfreebsd-*
+
+Index: b/src/libgomp/testsuite/libgomp.c/lock-2.c
+===================================================================
+--- a/src/libgomp/testsuite/libgomp.c/lock-2.c
++++ b/src/libgomp/testsuite/libgomp.c/lock-2.c
+@@ -4,6 +4,9 @@
+ int
+ main (void)
+ {
++#ifdef __FreeBSD_kernel__
++ return 1;
++#endif
+ int l = 0;
+ omp_nest_lock_t lock;
+ omp_init_nest_lock (&lock);
--- /dev/null
+# DP: Fix up omp.h for multilibs.
+
+2008-06-09 Jakub Jelinek <jakub@redhat.com>
+
+ * omp.h.in (omp_nest_lock_t): Fix up for Linux multilibs.
+
+2015-03-25 Matthias Klose <doko@ubuntu.com>
+
+ * omp.h.in (omp_nest_lock_t): Limit the fix Linux.
+
+Index: b/src/libgomp/omp.h.in
+===================================================================
+--- a/src/libgomp/omp.h.in
++++ b/src/libgomp/omp.h.in
+@@ -40,8 +40,13 @@ typedef struct
+
+ typedef struct
+ {
++#if defined(__linux__)
++ unsigned char _x[8 + sizeof (void *)]
++ __attribute__((__aligned__(sizeof (void *))));
++#else
+ unsigned char _x[@OMP_NEST_LOCK_SIZE@]
+ __attribute__((__aligned__(@OMP_NEST_LOCK_ALIGN@)));
++#endif
+ } omp_nest_lock_t;
+ #endif
+
--- /dev/null
+# DP: Build libitm with -U_FORTIFY_SOURCE on x86 and x86_64.
+
+Index: b/src/libitm/configure.tgt
+===================================================================
+--- a/src/libitm/configure.tgt
++++ b/src/libitm/configure.tgt
+@@ -119,6 +119,12 @@ case "${target_cpu}" in
+ ;;
+ esac
+
++# FIXME: ftbfs with -D_FORTIFY_SOURCE (error: invalid use of '__builtin_va_arg_pack ())
++case "${target}" in
++ *-*-linux*)
++ XCFLAGS="${XCFLAGS} -U_FORTIFY_SOURCE"
++esac
++
+ # For the benefit of top-level configure, determine if the cpu is supported.
+ test -d ${srcdir}/config/$ARCH || UNSUPPORTED=1
+
--- /dev/null
+Index: b/src/gcc/jit/Make-lang.in
+===================================================================
+--- a/src/gcc/jit/Make-lang.in
++++ b/src/gcc/jit/Make-lang.in
+@@ -99,7 +99,7 @@ $(LIBGCCJIT_FILENAME): $(jit_OBJS) \
+ $(CPPLIB) $(LIBDECNUMBER) $(EXTRA_GCC_LIBS) $(LIBS) $(BACKENDLIBS) \
+ $(EXTRA_GCC_OBJS) \
+ $(LIBGCCJIT_VERSION_SCRIPT_OPTION) \
+- $(LIBGCCJIT_SONAME_OPTION)
++ $(LIBGCCJIT_SONAME_OPTION) $(LDFLAGS)
+
+ $(LIBGCCJIT_SONAME_SYMLINK): $(LIBGCCJIT_FILENAME)
+ ln -sf $(LIBGCCJIT_FILENAME) $(LIBGCCJIT_SONAME_SYMLINK)
--- /dev/null
+# DP: Build zlib in any case to have a fall back for missing libz multilibs
+
+Index: b/src/libphobos/configure.ac
+===================================================================
+--- a/src/libphobos/configure.ac
++++ b/src/libphobos/configure.ac
+@@ -142,6 +142,7 @@ DRUNTIME_LIBRARIES_BACKTRACE
+ DRUNTIME_LIBRARIES_DLOPEN
+ DRUNTIME_LIBRARIES_ZLIB
+ DRUNTIME_INSTALL_DIRECTORIES
++dnl fake change to regenerate the configure file
+
+ # Add dependencies for libgphobos.spec file
+ SPEC_PHOBOS_DEPS="$LIBS"
+Index: b/src/libphobos/m4/druntime/libraries.m4
+===================================================================
+--- a/src/libphobos/m4/druntime/libraries.m4
++++ b/src/libphobos/m4/druntime/libraries.m4
+@@ -52,19 +52,44 @@ AC_DEFUN([DRUNTIME_LIBRARIES_ZLIB],
+ [
+ AC_ARG_WITH(target-system-zlib,
+ AS_HELP_STRING([--with-target-system-zlib],
+- [use installed libz (default: no)]))
++ [use installed libz (default: no)]),
++ [system_zlib=yes],[system_zlib=no])
+
+- system_zlib=false
+- AS_IF([test "x$with_target_system_zlib" = "xyes"], [
+- AC_CHECK_LIB([z], [deflate], [
+- system_zlib=yes
+- ], [
+- AC_MSG_ERROR([System zlib not found])
+- ])
+- ], [
+- AC_MSG_CHECKING([for zlib])
+- AC_MSG_RESULT([just compiled])
+- ])
++ AC_MSG_CHECKING([for system zlib])
++ save_LIBS=$LIBS
++ LIBS="$LIBS -lz"
++ dnl the link test is not good enough for ARM32 multilib detection,
++ dnl first check to link, then to run
++ AC_LANG_PUSH(C)
++ AC_LINK_IFELSE(
++ [AC_LANG_PROGRAM([#include <zlib.h>],[gzopen("none", "rb")])],
++ [
++ AC_RUN_IFELSE([AC_LANG_SOURCE([[
++ #include <zlib.h>
++ int main() {
++ gzFile file = gzopen("none", "rb");
++ return 0;
++ }
++ ]])],
++ [system_zlib_found=yes],
++ [system_zlib_found=no],
++ dnl no system zlib for cross builds ...
++ [system_zlib_found=no]
++ )
++ ],
++ [system_zlib_found=no])
++ LIBS=$save_LIBS
++ if test x$system_zlib = xyes; then
++ if test x$system_zlib_found = xyes; then
++ AC_MSG_RESULT([found])
++ else
++ AC_MSG_RESULT([not found, disabled])
++ system_zlib=no
++ fi
++ else
++ AC_MSG_RESULT([not enabled])
++ fi
++ AC_LANG_POP
+
+ AM_CONDITIONAL([DRUNTIME_ZLIB_SYSTEM], [test "$with_target_system_zlib" = yes])
+ ])
--- /dev/null
+# DP: adjust hrefs to point to the local documentation
+
+---
+ libstdc++-v3/doc/doxygen/mainpage.html | 10 +++++-----
+ 1 files changed, 5 insertions(+), 5 deletions(-)
+
+Index: b/src/libstdc++-v3/doc/doxygen/mainpage.html
+===================================================================
+--- a/src/libstdc++-v3/doc/doxygen/mainpage.html
++++ b/src/libstdc++-v3/doc/doxygen/mainpage.html
+@@ -27,10 +27,10 @@
+ <p class="smallertext">Generated on @DATE@.</p>
+
+ <p>There are two types of documentation for libstdc++. One is the
+- distribution documentation, which can be read online
+- <a href="https://gcc.gnu.org/onlinedocs/libstdc++/index.html">here</a>
+- or offline from the file doc/html/index.html in the library source
+- directory.
++ distribution documentation, which can be read
++ <a href="../index.html">offline in the documentation directory</a>
++ or
++ <a href="https://gcc.gnu.org/onlinedocs/libstdc++/index.html">online</a>.
+ </p>
+
+ <p>The other type is the source documentation, of which this is the first page.
+@@ -82,8 +82,11 @@
+
+ <h2>License, Copyright, and Other Lawyerly Verbosity</h2>
+ <p>The libstdc++ documentation is released under
++ these terms
++ (<a href="../manual/appendix_gpl.html">read offline</a> or
+ <a href="https://gcc.gnu.org/onlinedocs/libstdc++/manual/appendix_gpl.html">
+- these terms</a>.
++ read online</a>.
++ ).
+ </p>
+ <p>Part of the generated documentation involved comments and notes from
+ SGI, who says we gotta say this:
+Index: b/src/libstdc++-v3/doc/html/api.html
+===================================================================
+--- a/src/libstdc++-v3/doc/html/api.html
++++ b/src/libstdc++-v3/doc/html/api.html
+@@ -20,6 +20,8 @@
+ member functions for the library classes, finding out what is in a
+ particular include file, looking at inheritance diagrams, etc.
+ </p><p>
++<a class="link" href="user/index.html">The API documentation, rendered into HTML, can be viewed offline.</a>
++</p><p>
+ The API documentation, rendered into HTML, can be viewed online
+ <a class="link" href="http://gcc.gnu.org/onlinedocs/" target="_top">for each GCC release</a>
+ and
+@@ -38,4 +40,4 @@
+ </p><p>
+ In addition, a rendered set of man pages are available in the same
+ location specified above. Start with C++Intro(3).
+-</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk02.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="bk02.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk03.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html>
+\ No newline at end of file
++</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk02.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="bk02.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk03.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html>
+Index: b/src/libstdc++-v3/doc/xml/api.xml
+===================================================================
+--- a/src/libstdc++-v3/doc/xml/api.xml
++++ b/src/libstdc++-v3/doc/xml/api.xml
+@@ -40,6 +40,11 @@
+ </para>
+
+ <para>
++ <ulink url="user/index.html">The source-level documentation for this release can be viewed offline.
++ </ulink>
++</para>
++
++<para>
+ The API documentation, rendered into HTML, can be viewed online
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/onlinedocs/">for each GCC release</link>
+ and
--- /dev/null
+# DP: Install libstdc++ man pages with suffix .3cxx instead of .3
+
+Index: b/src/libstdc++-v3/doc/doxygen/user.cfg.in
+===================================================================
+--- a/src/libstdc++-v3/doc/doxygen/user.cfg.in
++++ b/src/libstdc++-v3/doc/doxygen/user.cfg.in
+@@ -1968,7 +1968,7 @@ MAN_OUTPUT = man
+ # The default value is: .3.
+ # This tag requires that the tag GENERATE_MAN is set to YES.
+
+-MAN_EXTENSION = .3
++MAN_EXTENSION = .3cxx
+
+ # If the MAN_LINKS tag is set to YES and doxygen generates man output, then it
+ # will generate one additional man file for each entity documented in the real
+Index: b/src/libstdc++-v3/scripts/run_doxygen
+===================================================================
+--- a/src/libstdc++-v3/scripts/run_doxygen
++++ b/src/libstdc++-v3/scripts/run_doxygen
+@@ -243,6 +243,9 @@ fi
+ if $do_man; then
+ echo ::
+ echo :: Fixing up the man pages...
++mkdir -p $outdir/man/man3
++mv $outdir/man/man3cxx/* $outdir/man/man3/
++rmdir $outdir/man/man3cxx
+ cd $outdir/man/man3
+
+ # File names with embedded spaces (EVIL!) need to be....? renamed or removed?
+@@ -264,7 +267,7 @@ rm -f *.h.3 *.hpp.3 *config* *.cc.3 *.tc
+ # and I'm off getting coffee then anyhow, so I didn't care enough to make
+ # this super-fast.
+ g++ ${srcdir}/doc/doxygen/stdheader.cc -o ./stdheader
+-problematic=`egrep -l '#include <.*_.*>' [a-z]*.3`
++problematic=`egrep -l '#include <.*_.*>' [a-z]*.3 [a-z]*.3cxx`
+ for f in $problematic; do
+ # this is also slow, but safe and easy to debug
+ oldh=`sed -n '/fC#include </s/.*<\(.*\)>.*/\1/p' $f`
+@@ -277,7 +280,7 @@ rm stdheader
+ # Some of the pages for generated modules have text that confuses certain
+ # implementations of man(1), e.g. on GNU/Linux. We need to have another
+ # top-level *roff tag to /stop/ the .SH NAME entry.
+-problematic=`egrep --files-without-match '^\.SH SYNOPSIS' [A-Z]*.3`
++problematic=`egrep --files-without-match '^\.SH SYNOPSIS' [A-Z]*.3cxx`
+ #problematic='Containers.3 Sequences.3 Assoc_containers.3 Iterator_types.3'
+
+ for f in $problematic; do
+@@ -291,7 +294,7 @@ a\
+ done
+
+ # Also, break this (generated) line up. It's ugly as sin.
+-problematic=`grep -l '[^^]Definition at line' *.3`
++problematic=`grep -l '[^^]Definition at line' *.3 *.3cxx`
+ for f in $problematic; do
+ sed 's/Definition at line/\
+ .PP\
+@@ -408,8 +411,8 @@ for f in ios streambuf istream ostream i
+ istringstream ostringstream stringstream filebuf ifstream \
+ ofstream fstream string;
+ do
+- echo ".so man3/std::basic_${f}.3" > std::${f}.3
+- echo ".so man3/std::basic_${f}.3" > std::w${f}.3
++ echo ".so man3/std::basic_${f}.3cxx" > std::${f}.3cxx
++ echo ".so man3/std::basic_${f}.3cxx" > std::w${f}.3cxx
+ done
+
+ echo ::
--- /dev/null
+# DP: Don't run the libstdc++ testsuite on arm, hppa and mipsel (timeouts on the buildds)
+
+--- a/src/libstdc++-v3/testsuite/Makefile.in
++++ b/src/libstdc++-v3/testsuite/Makefile.in
+@@ -567,6 +567,7 @@
+
+ # Run the testsuite in normal mode.
+ check-DEJAGNU $(check_DEJAGNU_normal_targets): check-DEJAGNU%: site.exp
++ case "$(target)" in arm*|hppa*|mipsel*) exit 0;; esac; \
+ $(if $*,@)AR="$(AR)"; export AR; \
+ RANLIB="$(RANLIB)"; export RANLIB; \
+ if [ -z "$*" ] && [ "$(filter -j, $(MFLAGS))" = "-j" ]; then \
--- /dev/null
+# DP: Don't run the libstdc++-v3 testsuite in thumb mode on armel
+
+Index: testsuite/Makefile.in
+===================================================================
+--- a/src/libstdc++-v3/testsuite/Makefile.in (revision 156820)
++++ b/src/libstdc++-v3/testsuite/Makefile.in (working copy)
+@@ -583,6 +583,8 @@
+ srcdir=`$(am__cd) $(srcdir) && pwd`; export srcdir; \
+ EXPECT=$(EXPECT); export EXPECT; \
+ runtest=$(RUNTEST); \
++ runtestflags="`echo '$(RUNTESTFLAGS)' | sed 's/,-marm/-marm/'`"; \
++ case "$$runtestflags" in *\\{\\}) runtestflags=; esac; \
+ if [ -z "$$runtest" ]; then runtest=runtest; fi; \
+ tool=libstdc++; \
+ dirs=; \
+@@ -590,7 +592,7 @@
+ normal0) \
+ if $(SHELL) -c "$$runtest --version" > /dev/null 2>&1; then \
+ $$runtest $(AM_RUNTESTFLAGS) $(RUNTESTDEFAULTFLAGS) \
+- $(RUNTESTFLAGS) abi.exp; \
++ $$runtestflags abi.exp; \
+ else echo "WARNING: could not find \`runtest'" 1>&2; :;\
+ fi; \
+ dirs="`cd $$srcdir; echo [013-9][0-9]_*/* [abep]*/*`";; \
+@@ -605,11 +607,11 @@
+ if $(SHELL) -c "$$runtest --version" > /dev/null 2>&1; then \
+ if [ -n "$$dirs" ]; then \
+ $$runtest $(AM_RUNTESTFLAGS) $(RUNTESTDEFAULTFLAGS) \
+- $(RUNTESTFLAGS) \
++ $$runtestflags \
+ "conformance.exp=`echo $$dirs | sed 's/ /* /g;s/$$/*/'`"; \
+ else \
+ $$runtest $(AM_RUNTESTFLAGS) $(RUNTESTDEFAULTFLAGS) \
+- $(RUNTESTFLAGS); \
++ $$runtestflags; \
+ fi; \
+ else echo "WARNING: could not find \`runtest'" 1>&2; :;\
+ fi
--- /dev/null
+# DP: Build and install libstdc++_pic.a library.
+
+Index: b/src/libstdc++-v3/src/Makefile.am
+===================================================================
+--- a/src/libstdc++-v3/src/Makefile.am
++++ b/src/libstdc++-v3/src/Makefile.am
+@@ -311,10 +311,12 @@ if GLIBCXX_BUILD_DEBUG
+ STAMP_DEBUG = build-debug
+ STAMP_INSTALL_DEBUG = install-debug
+ CLEAN_DEBUG = debug
++STAMP_INSTALL_PIC = install-pic
+ else
+ STAMP_DEBUG =
+ STAMP_INSTALL_DEBUG =
+ CLEAN_DEBUG =
++STAMP_INSTALL_PIC =
+ endif
+
+ # Build a debug variant.
+@@ -349,6 +351,7 @@ build-debug: stamp-debug
+ mv Makefile Makefile.tmp; \
+ sed -e 's,all-local: all-once,all-local:,' \
+ -e 's,install-data-local: install-data-once,install-data-local:,' \
++ -e 's,install-exec-local:.*,install-exec-local:,' \
+ -e '/vpath/!s,src/c,src/debug/c,' \
+ < Makefile.tmp > Makefile ; \
+ rm -f Makefile.tmp ; \
+@@ -359,3 +362,8 @@ build-debug: stamp-debug
+ install-debug: build-debug
+ (cd ${debugdir} && $(MAKE) CXXFLAGS='$(DEBUG_FLAGS)' \
+ toolexeclibdir=$(glibcxx_toolexeclibdir)/debug install) ;
++
++install-exec-local: $(STAMP_INSTALL_PIC)
++$(STAMP_INSTALL_PIC):
++ $(MKDIR_P) $(DESTDIR)$(toolexeclibdir)
++ $(INSTALL_DATA) .libs/libstdc++convenience.a $(DESTDIR)$(toolexeclibdir)/libstdc++_pic.a
+Index: b/src/libstdc++-v3/src/Makefile.in
+===================================================================
+--- a/src/libstdc++-v3/src/Makefile.in
++++ b/src/libstdc++-v3/src/Makefile.in
+@@ -535,6 +535,8 @@ CXXLINK = \
+ @GLIBCXX_BUILD_DEBUG_TRUE@STAMP_INSTALL_DEBUG = install-debug
+ @GLIBCXX_BUILD_DEBUG_FALSE@CLEAN_DEBUG =
+ @GLIBCXX_BUILD_DEBUG_TRUE@CLEAN_DEBUG = debug
++@GLIBCXX_BUILD_DEBUG_FALSE@STAMP_INSTALL_PIC =
++@GLIBCXX_BUILD_DEBUG_TRUE@STAMP_INSTALL_PIC = install-pic
+
+ # Build a debug variant.
+ # Take care to fix all possibly-relative paths.
+@@ -833,7 +835,7 @@ install-dvi: install-dvi-recursive
+
+ install-dvi-am:
+
+-install-exec-am: install-toolexeclibLTLIBRARIES
++install-exec-am: install-exec-local install-toolexeclibLTLIBRARIES
+
+ install-html: install-html-recursive
+
+@@ -884,11 +886,11 @@ uninstall-am: uninstall-toolexeclibLTLIB
+ distclean-libtool distclean-tags dvi dvi-am html html-am info \
+ info-am install install-am install-data install-data-am \
+ install-data-local install-dvi install-dvi-am install-exec \
+- install-exec-am install-html install-html-am install-info \
+- install-info-am install-man install-pdf install-pdf-am \
+- install-ps install-ps-am install-strip \
+- install-toolexeclibLTLIBRARIES installcheck installcheck-am \
+- installdirs installdirs-am maintainer-clean \
++ install-exec-am install-exec-local install-html \
++ install-html-am install-info install-info-am install-man \
++ install-pdf install-pdf-am install-ps install-ps-am \
++ install-strip install-toolexeclibLTLIBRARIES installcheck \
++ installcheck-am installdirs installdirs-am maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-recursive uninstall uninstall-am \
+@@ -1021,6 +1023,7 @@ build-debug: stamp-debug
+ mv Makefile Makefile.tmp; \
+ sed -e 's,all-local: all-once,all-local:,' \
+ -e 's,install-data-local: install-data-once,install-data-local:,' \
++ -e 's,install-exec-local:.*,install-exec-local:,' \
+ -e '/vpath/!s,src/c,src/debug/c,' \
+ < Makefile.tmp > Makefile ; \
+ rm -f Makefile.tmp ; \
+@@ -1032,6 +1035,11 @@ install-debug: build-debug
+ (cd ${debugdir} && $(MAKE) CXXFLAGS='$(DEBUG_FLAGS)' \
+ toolexeclibdir=$(glibcxx_toolexeclibdir)/debug install) ;
+
++install-exec-local: $(STAMP_INSTALL_PIC)
++$(STAMP_INSTALL_PIC):
++ $(MKDIR_P) $(DESTDIR)$(toolexeclibdir)
++ $(INSTALL_DATA) .libs/libstdc++convenience.a $(DESTDIR)$(toolexeclibdir)/libstdc++_pic.a
++
+ # Tell versions [3.59,3.63) of GNU make to not export all variables.
+ # Otherwise a system limit (for SysV at least) may be exceeded.
+ .NOEXPORT:
--- /dev/null
+# DP: Add support to run the libstdc++-v3 testsuite using the
+# DP: installed shared libraries.
+
+Index: b/src/libstdc++-v3/testsuite/lib/libstdc++.exp
+===================================================================
+--- a/src/libstdc++-v3/testsuite/lib/libstdc++.exp
++++ b/src/libstdc++-v3/testsuite/lib/libstdc++.exp
+@@ -37,6 +37,12 @@
+ # the last thing before testing begins. This can be defined in, e.g.,
+ # ~/.dejagnurc or $DEJAGNU.
+
++set test_installed 0
++if [info exists env(TEST_INSTALLED)] {
++ verbose -log "test installed libstdc++-v3"
++ set test_installed 1
++}
++
+ proc load_gcc_lib { filename } {
+ global srcdir loaded_libs
+
+@@ -101,6 +107,7 @@ proc libstdc++_init { testfile } {
+ global tool_timeout
+ global DEFAULT_CXXFLAGS
+ global STATIC_LIBCXXFLAGS
++ global test_installed
+
+ # We set LC_ALL and LANG to C so that we get the same error
+ # messages as expected.
+@@ -120,6 +127,9 @@ proc libstdc++_init { testfile } {
+
+ set blddir [lookfor_file [get_multilibs] libstdc++-v3]
+ set flags_file "${blddir}/scripts/testsuite_flags"
++ if {$test_installed} {
++ set flags_file "${blddir}/scripts/testsuite_flags.installed"
++ }
+ set shlib_ext [get_shlib_extension]
+ v3track flags_file 2
+
+@@ -154,7 +164,11 @@ proc libstdc++_init { testfile } {
+
+ # Locate libgcc.a so we don't need to account for different values of
+ # SHLIB_EXT on different platforms
+- set gccdir [lookfor_file $tool_root_dir gcc/libgcc.a]
++ if {$test_installed} {
++ set gccdir ""
++ } else {
++ set gccdir [lookfor_file $tool_root_dir gcc/libgcc.a]
++ }
+ if {$gccdir != ""} {
+ set gccdir [file dirname $gccdir]
+ append ld_library_path_tmp ":${gccdir}"
+@@ -163,7 +177,11 @@ proc libstdc++_init { testfile } {
+
+ # Locate libgomp. This is only required for parallel mode.
+ set v3-libgomp 0
+- set libgompdir [lookfor_file $blddir/../libgomp .libs/libgomp.$shlib_ext]
++ if {$test_installed} {
++ set libgompdir ""
++ } else {
++ set libgompdir [lookfor_file $blddir/../libgomp .libs/libgomp.$shlib_ext]
++ }
+ if {$libgompdir != ""} {
+ set v3-libgomp 1
+ set libgompdir [file dirname $libgompdir]
+@@ -185,7 +203,12 @@ proc libstdc++_init { testfile } {
+
+ # Locate libstdc++ shared library. (ie libstdc++.so.)
+ set v3-sharedlib 0
+- set sharedlibdir [lookfor_file $blddir src/.libs/libstdc++.$shlib_ext]
++ if {$test_installed} {
++ set sharedlibdir ""
++ set v3-sharedlib 1
++ } else {
++ set sharedlibdir [lookfor_file $blddir src/.libs/libstdc++.$shlib_ext]
++ }
+ if {$sharedlibdir != ""} {
+ if { ([string match "*-*-gnu*" $target_triplet]
+ || [string match "*-*-linux*" $target_triplet]
--- /dev/null
+# DP: Fix ICE in tree_to_shwi, Linaro issue #2575.
+
+--- a/src/gcc/varasm.c
++++ b/src/gcc/varasm.c
+@@ -6777,8 +6777,9 @@
+ anchor range to reduce the amount of instructions require to refer
+ to the entire declaration. */
+ if (decl && DECL_SIZE (decl)
+- && tree_to_shwi (DECL_SIZE (decl))
+- >= (targetm.max_anchor_offset * BITS_PER_UNIT))
++ && (!tree_fits_shwi_p (DECL_SIZE (decl))
++ || tree_to_shwi (DECL_SIZE (decl))
++ >= (targetm.max_anchor_offset * BITS_PER_UNIT)))
+ return false;
+
+ }
--- /dev/null
+# DP: Add .note.GNU-stack sections for gcc's crt files, libffi and boehm-gc
+# DP: Taken from FC.
+
+gcc/
+
+2004-09-20 Jakub Jelinek <jakub@redhat.com>
+
+ * config/rs6000/ppc-asm.h: Add .note.GNU-stack section also
+ on ppc64-linux.
+
+ * config/ia64/lib1funcs.asm: Add .note.GNU-stack section on
+ ia64-linux.
+ * config/ia64/crtbegin.asm: Likewise.
+ * config/ia64/crtend.asm: Likewise.
+ * config/ia64/crti.asm: Likewise.
+ * config/ia64/crtn.asm: Likewise.
+
+2004-05-14 Jakub Jelinek <jakub@redhat.com>
+
+ * config/ia64/linux.h (TARGET_ASM_FILE_END): Define.
+
+libffi/
+
+2007-05-11 Daniel Jacobowitz <dan@debian.org>
+
+ * src/arm/sysv.S: Fix ARM comment marker.
+
+2005-02-08 Jakub Jelinek <jakub@redhat.com>
+
+ * src/alpha/osf.S: Add .note.GNU-stack on Linux.
+ * src/s390/sysv.S: Likewise.
+ * src/powerpc/linux64.S: Likewise.
+ * src/powerpc/linux64_closure.S: Likewise.
+ * src/powerpc/ppc_closure.S: Likewise.
+ * src/powerpc/sysv.S: Likewise.
+ * src/x86/unix64.S: Likewise.
+ * src/x86/sysv.S: Likewise.
+ * src/sparc/v8.S: Likewise.
+ * src/sparc/v9.S: Likewise.
+ * src/m68k/sysv.S: Likewise.
+ * src/ia64/unix.S: Likewise.
+ * src/arm/sysv.S: Likewise.
+
+---
+ gcc/config/ia64/linux.h | 3 +++
+ gcc/config/rs6000/ppc-asm.h | 2 +-
+ libgcc/config/ia64/crtbegin.S | 4 ++++
+ libgcc/config/ia64/crtend.S | 4 ++++
+ libgcc/config/ia64/crti.S | 4 ++++
+ libgcc/config/ia64/crtn.S | 4 ++++
+ libgcc/config/ia64/lib1funcs.S | 4 ++++
+ 9 files changed, 39 insertions(+), 13 deletions(-)
+
+Index: b/src/libgcc/config/ia64/crtbegin.S
+===================================================================
+--- a/src/libgcc/config/ia64/crtbegin.S
++++ b/src/libgcc/config/ia64/crtbegin.S
+@@ -185,3 +185,7 @@ __do_global_dtors_aux:
+ .weak __cxa_finalize
+ #endif
+ .weak _Jv_RegisterClasses
++
++#ifdef __linux__
++.section .note.GNU-stack; .previous
++#endif
+Index: b/src/libgcc/config/ia64/crtend.S
+===================================================================
+--- a/src/libgcc/config/ia64/crtend.S
++++ b/src/libgcc/config/ia64/crtend.S
+@@ -114,3 +114,7 @@ __do_global_ctors_aux:
+
+ br.ret.sptk.many rp
+ .endp __do_global_ctors_aux
++
++#ifdef __linux__
++.section .note.GNU-stack; .previous
++#endif
+Index: b/src/libgcc/config/ia64/crti.S
+===================================================================
+--- a/src/libgcc/config/ia64/crti.S
++++ b/src/libgcc/config/ia64/crti.S
+@@ -51,3 +51,7 @@ _fini:
+ .body
+
+ # end of crti.S
++
++#ifdef __linux__
++.section .note.GNU-stack; .previous
++#endif
+Index: b/src/libgcc/config/ia64/crtn.S
+===================================================================
+--- a/src/libgcc/config/ia64/crtn.S
++++ b/src/libgcc/config/ia64/crtn.S
+@@ -41,3 +41,7 @@
+ br.ret.sptk.many b0
+
+ # end of crtn.S
++
++#ifdef __linux__
++.section .note.GNU-stack; .previous
++#endif
+Index: b/src/libgcc/config/ia64/lib1funcs.S
+===================================================================
+--- a/src/libgcc/config/ia64/lib1funcs.S
++++ b/src/libgcc/config/ia64/lib1funcs.S
+@@ -793,3 +793,7 @@ __floattitf:
+ .endp __floattitf
+ #endif
+ #endif
++
++#ifdef __linux__
++.section .note.GNU-stack; .previous
++#endif
+Index: b/src/gcc/config/ia64/linux.h
+===================================================================
+--- a/src/gcc/config/ia64/linux.h
++++ b/src/gcc/config/ia64/linux.h
+@@ -79,5 +79,8 @@ do { \
+ #undef TARGET_INIT_LIBFUNCS
+ #define TARGET_INIT_LIBFUNCS ia64_soft_fp_init_libfuncs
+
++#undef TARGET_ASM_FILE_END
++#define TARGET_ASM_FILE_END file_end_indicate_exec_stack
++
+ /* Define this to be nonzero if static stack checking is supported. */
+ #define STACK_CHECK_STATIC_BUILTIN 1
+Index: b/src/gcc/config/rs6000/ppc-asm.h
+===================================================================
+--- a/src/gcc/config/rs6000/ppc-asm.h
++++ b/src/gcc/config/rs6000/ppc-asm.h
+@@ -375,7 +375,7 @@ GLUE(.L,name): \
+ #endif
+ #endif
+
+-#if defined __linux__ && !defined __powerpc64__
++#if defined __linux__
+ .section .note.GNU-stack
+ .previous
+ #endif
--- /dev/null
+--- a/src/libgcc/config/rs6000/crtsavfpr.S
++++ b/src/libgcc/config/rs6000/crtsavfpr.S
+@@ -33,6 +33,7 @@
+
+ /* On PowerPC64 Linux, these functions are provided by the linker. */
+ #ifndef __powerpc64__
++#ifndef __NO_FPRS__
+
+ /* Routines for saving floating point registers, called by the compiler. */
+ /* Called with r11 pointing to the stack header word of the caller of the */
+@@ -79,3 +80,4 @@
+ CFI_ENDPROC
+
+ #endif
++#endif
+--- a/src/libgcc/config/rs6000/crtresfpr.S
++++ b/src/libgcc/config/rs6000/crtresfpr.S
+@@ -33,6 +33,7 @@
+
+ /* On PowerPC64 Linux, these functions are provided by the linker. */
+ #ifndef __powerpc64__
++#ifndef __NO_FPRS__
+
+ /* Routines for restoring floating point registers, called by the compiler. */
+ /* Called with r11 pointing to the stack header word of the caller of the */
+@@ -79,3 +80,4 @@
+ CFI_ENDPROC
+
+ #endif
++#endif
+--- a/src/libgcc/config/rs6000/crtresxfpr.S
++++ b/src/libgcc/config/rs6000/crtresxfpr.S
+@@ -33,6 +33,7 @@
+
+ /* On PowerPC64 Linux, these functions are provided by the linker. */
+ #ifndef __powerpc64__
++#ifndef __NO_FPRS__
+
+ /* Routines for restoring floating point registers, called by the compiler. */
+ /* Called with r11 pointing to the stack header word of the caller of the */
+@@ -124,3 +125,4 @@
+ CFI_ENDPROC
+
+ #endif
++#endif
+--- a/src/libgcc/config/rs6000/crtsavevr.S 2013-03-13 22:25:25.802681336 +0000
++++ b/src/libgcc/config/rs6000/crtsavevr.S 2013-03-13 22:26:21.054695066 +0000
+@@ -24,6 +24,7 @@
+
+ /* On PowerPC64 Linux, these functions are provided by the linker. */
+ #ifndef __powerpc64__
++#ifndef __NO_FPRS__
+
+ #undef __ALTIVEC__
+ #define __ALTIVEC__ 1
+@@ -85,3 +86,4 @@
+ CFI_ENDPROC
+
+ #endif
++#endif
+--- a/src/libgcc/config/rs6000/crtrestvr.S 2013-03-13 22:25:28.394681980 +0000
++++ b/src/libgcc/config/rs6000/crtrestvr.S 2013-03-13 22:26:21.058695067 +0000
+@@ -24,6 +24,7 @@
+
+ /* On PowerPC64 Linux, these functions are provided by the linker. */
+ #ifndef __powerpc64__
++#ifndef __NO_FPRS__
+
+ #undef __ALTIVEC__
+ #define __ALTIVEC__ 1
+@@ -85,3 +86,4 @@
+ CFI_ENDPROC
+
+ #endif
++#endif
--- /dev/null
+# DP: Subject: [PATCH] remove -many on __SPE__ target
+# DP: this helps to to detect opcodes which are not part of the current
+# DP: CPU because without -many gas won't touch them. This currently could
+# DP: break the kernel build as the 603 on steroids cpus use performance
+# DP: counter opcodes which are not available on the steroid less 603 core.
+
+--- a/src/gcc/config/powerpcspe/powerpcspe.h
++++ b/src/gcc/config/powerpcspe/powerpcspe.h
+@@ -107,6 +107,12 @@
+ #define ASM_CPU_476_SPEC "-mpower4"
+ #endif
+
++#ifndef __SPE__
++#define ASM_CPU_SPU_MANY_NOT_SPE "-many"
++#else
++#define ASM_CPU_SPU_MANY_NOT_SPE
++#endif
++
+ /* Common ASM definitions used by ASM_SPEC among the various targets for
+ handling -mcpu=xxx switches. There is a parallel list in driver-powerpcspe.c to
+ provide the default assembler options if the user uses -mcpu=native, so if
+@@ -173,7 +179,8 @@
+ %{maltivec: -maltivec} \
+ %{mvsx: -mvsx %{!maltivec: -maltivec} %{!mcpu*: %(asm_cpu_power7)}} \
+ %{mpower8-vector|mcrypto|mdirect-move|mhtm: %{!mcpu*: %(asm_cpu_power8)}} \
+--many"
++" \
++ASM_CPU_SPU_MANY_NOT_SPE
+
+ #define CPP_DEFAULT_SPEC ""
+
--- /dev/null
+# DP: Proposed patch for PR libstdc++/39491.
+
+2009-04-16 Benjamin Kosnik <bkoz@redhat.com>
+
+ * src/math_stubs_long_double.cc (__signbitl): Add for hppa linux only.
+
+Index: a/src/libstdc++-v3/src/math_stubs_long_double.cc
+===================================================================
+--- a/src/libstdc++-v3/src/math_stubs_long_double.cc (revision 146216)
++++ b/src/libstdc++-v3/src/math_stubs_long_double.cc (working copy)
+@@ -213,4 +221,111 @@
+ return tanh((double) x);
+ }
+ #endif
++
++ // From libmath/signbitl.c
++ // XXX ABI mistakenly exported
++#if defined (__hppa__) && defined (__linux__)
++# include <endian.h>
++# include <float.h>
++
++typedef unsigned int U_int32_t __attribute ((mode (SI)));
++typedef int Int32_t __attribute ((mode (SI)));
++typedef unsigned int U_int64_t __attribute ((mode (DI)));
++typedef int Int64_t __attribute ((mode (DI)));
++
++#if BYTE_ORDER == BIG_ENDIAN
++typedef union
++{
++ long double value;
++ struct
++ {
++ unsigned int sign_exponent:16;
++ unsigned int empty:16;
++ U_int32_t msw;
++ U_int32_t lsw;
++ } parts;
++} ieee_long_double_shape_type;
++#endif
++#if BYTE_ORDER == LITTLE_ENDIAN
++typedef union
++{
++ long double value;
++ struct
++ {
++ U_int32_t lsw;
++ U_int32_t msw;
++ unsigned int sign_exponent:16;
++ unsigned int empty:16;
++ } parts;
++} ieee_long_double_shape_type;
++#endif
++
++/* Get int from the exponent of a long double. */
++#define GET_LDOUBLE_EXP(exp,d) \
++do { \
++ ieee_long_double_shape_type ge_u; \
++ ge_u.value = (d); \
++ (exp) = ge_u.parts.sign_exponent; \
++} while (0)
++
++#if BYTE_ORDER == BIG_ENDIAN
++typedef union
++{
++ long double value;
++ struct
++ {
++ U_int64_t msw;
++ U_int64_t lsw;
++ } parts64;
++ struct
++ {
++ U_int32_t w0, w1, w2, w3;
++ } parts32;
++} ieee_quad_double_shape_type;
++#endif
++
++#if BYTE_ORDER == LITTLE_ENDIAN
++typedef union
++{
++ long double value;
++ struct
++ {
++ U_int64_t lsw;
++ U_int64_t msw;
++ } parts64;
++ struct
++ {
++ U_int32_t w3, w2, w1, w0;
++ } parts32;
++} ieee_quad_double_shape_type;
++#endif
++
++/* Get most significant 64 bit int from a quad long double. */
++#define GET_LDOUBLE_MSW64(msw,d) \
++do { \
++ ieee_quad_double_shape_type qw_u; \
++ qw_u.value = (d); \
++ (msw) = qw_u.parts64.msw; \
++} while (0)
++
++int
++__signbitl (long double x)
++{
++#if LDBL_MANT_DIG == 113
++ Int64_t msw;
++
++ GET_LDOUBLE_MSW64 (msw, x);
++ return msw < 0;
++#else
++ Int32_t e;
++
++ GET_LDOUBLE_EXP (e, x);
++ return e & 0x8000;
++#endif
++}
++#endif
++
++#ifndef _GLIBCXX_HAVE___SIGNBITL
++
++#endif
+ } // extern "C"
+--- a/src/libstdc++-v3/config/abi/pre/gnu.ver~ 2009-04-10 01:23:07.000000000 +0200
++++ b/src/libstdc++-v3/config/abi/pre/gnu.ver 2009-04-21 16:24:24.000000000 +0200
+@@ -635,6 +635,7 @@
+ sqrtf;
+ sqrtl;
+ copysignf;
++ __signbitl;
+
+ # GLIBCXX_ABI compatibility only.
+ # std::string
--- /dev/null
+# DP: PR go/66368, build libgo with -fno-stack-protector
+
+Index: b/src/libgo/Makefile.am
+===================================================================
+--- a/src/libgo/Makefile.am
++++ b/src/libgo/Makefile.am
+@@ -41,6 +41,7 @@ AM_CPPFLAGS = -I $(srcdir)/runtime $(LIB
+ ACLOCAL_AMFLAGS = -I ./config -I ../config
+
+ AM_CFLAGS = -fexceptions -fnon-call-exceptions \
++ -fno-stack-protector \
+ $(SPLIT_STACK) $(WARN_CFLAGS) \
+ $(STRINGOPS_FLAG) $(HWCAP_CFLAGS) $(OSCFLAGS) \
+ -I $(srcdir)/../libgcc -I $(srcdir)/../libbacktrace \
+Index: b/src/libgo/Makefile.in
+===================================================================
+--- a/src/libgo/Makefile.in
++++ b/src/libgo/Makefile.in
+@@ -449,6 +449,7 @@ WARN_CFLAGS = $(WARN_FLAGS) $(WERROR)
+ AM_CPPFLAGS = -I $(srcdir)/runtime $(LIBFFIINCS) $(PTHREAD_CFLAGS)
+ ACLOCAL_AMFLAGS = -I ./config -I ../config
+ AM_CFLAGS = -fexceptions -fnon-call-exceptions \
++ -fno-stack-protector \
+ $(SPLIT_STACK) $(WARN_CFLAGS) \
+ $(STRINGOPS_FLAG) $(HWCAP_CFLAGS) $(OSCFLAGS) \
+ -I $(srcdir)/../libgcc -I $(srcdir)/../libbacktrace \
--- /dev/null
+# DP: Fix PR67590, setting objdump macro.
+
+Index: b/src/libcc1/configure.ac
+===================================================================
+--- a/src/libcc1/configure.ac
++++ b/src/libcc1/configure.ac
+@@ -72,6 +72,31 @@ if test "$GXX" = yes; then
+ fi
+ AC_SUBST(libsuffix)
+
++# Figure out what objdump we will be using.
++AS_VAR_SET_IF(gcc_cv_objdump,, [
++if test -f $gcc_cv_binutils_srcdir/configure.ac \
++ && test -f ../binutils/Makefile \
++ && test x$build = x$host; then
++ # Single tree build which includes binutils.
++ gcc_cv_objdump=../binutils/objdump$build_exeext
++elif test -x objdump$build_exeext; then
++ gcc_cv_objdump=./objdump$build_exeext
++elif ( set dummy $OBJDUMP_FOR_TARGET; test -x $[2] ); then
++ gcc_cv_objdump="$OBJDUMP_FOR_TARGET"
++else
++ AC_PATH_PROG(gcc_cv_objdump, $OBJDUMP_FOR_TARGET)
++fi])
++
++AC_MSG_CHECKING(what objdump to use)
++if test "$gcc_cv_objdump" = ../binutils/objdump$build_exeext; then
++ # Single tree build which includes binutils.
++ AC_MSG_RESULT(newly built objdump)
++elif test x$gcc_cv_objdump = x; then
++ AC_MSG_RESULT(not found)
++else
++ AC_MSG_RESULT($gcc_cv_objdump)
++fi
++
+ dnl Test for -lsocket and -lnsl. Copied from libgo/configure.ac.
+ AC_CACHE_CHECK([for socket libraries], libcc1_cv_lib_sockets,
+ [libcc1_cv_lib_sockets=
--- /dev/null
+# DP: Proposed patch for PR sanitizer/67899
+
+Index: b/src/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
+===================================================================
+--- a/src/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
++++ b/src/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
+@@ -606,11 +606,10 @@ namespace __sanitizer {
+ #else
+ __sanitizer_sigset_t sa_mask;
+ #ifndef __mips__
+-#if defined(__sparc__)
+- unsigned long sa_flags;
+-#else
+- int sa_flags;
++#if defined(__sparc__) && defined(__arch64__)
++ int __pad;
+ #endif
++ int sa_flags;
+ #endif
+ #endif
+ #if SANITIZER_LINUX
+@@ -640,7 +639,8 @@ namespace __sanitizer {
+ void (*handler)(int signo);
+ void (*sigaction)(int signo, void *info, void *ctx);
+ };
+- unsigned long sa_flags;
++ int __pad;
++ int sa_flags;
+ void (*sa_restorer)(void);
+ __sanitizer_kernel_sigset_t sa_mask;
+ };
--- /dev/null
+From f8029ed6d3dd444ee2608146118f2189cf9ef0d8 Mon Sep 17 00:00:00 2001
+From: marxin <mliska@suse.cz>
+Date: Mon, 14 Aug 2017 13:56:32 +0200
+Subject: [PATCH] Fix file find utils and add unit tests (PR driver/81829).
+
+gcc/ChangeLog:
+
+2017-08-14 Martin Liska <mliska@suse.cz>
+
+ PR driver/81829
+ * file-find.c (do_add_prefix): Always append DIR_SEPARATOR
+ at the end of a prefix.
+ (remove_prefix): Properly remove elements and accept also
+ path without a trailing DIR_SEPARATOR.
+ (purge): New function.
+ (file_find_verify_prefix_creation): Likewise.
+ (file_find_verify_prefix_add): Likewise.
+ (file_find_verify_prefix_removal): Likewise.
+ (file_find_c_tests): Likewise.
+ * selftest-run-tests.c (selftest::run_tests): Add new
+ file_find_c_tests.
+ * selftest.h (file_find_c_tests): Likewise.
+---
+ gcc/file-find.c | 182 ++++++++++++++++++++++++++++++++++++++++++-----
+ gcc/gcc-ar.c | 19 +++--
+ gcc/selftest-run-tests.c | 1 +
+ gcc/selftest.h | 1 +
+ 4 files changed, 179 insertions(+), 24 deletions(-)
+
+Index: b/src/gcc/file-find.c
+===================================================================
+--- a/src/gcc/file-find.c
++++ b/src/gcc/file-find.c
+@@ -21,6 +21,7 @@ along with GCC; see the file COPYING3.
+ #include "system.h"
+ #include "filenames.h"
+ #include "file-find.h"
++#include "selftest.h"
+
+ static bool debug = false;
+
+@@ -126,11 +127,22 @@ do_add_prefix (struct path_prefix *ppref
+ /* Keep track of the longest prefix. */
+
+ len = strlen (prefix);
++ bool append_separator = !IS_DIR_SEPARATOR (prefix[len - 1]);
++ if (append_separator)
++ len++;
++
+ if (len > pprefix->max_len)
+ pprefix->max_len = len;
+
+ pl = XNEW (struct prefix_list);
+- pl->prefix = xstrdup (prefix);
++ char *dup = XCNEWVEC (char, len + 1);
++ memcpy (dup, prefix, append_separator ? len - 1 : len);
++ if (append_separator)
++ {
++ dup[len - 1] = DIR_SEPARATOR;
++ dup[len] = '\0';
++ }
++ pl->prefix = dup;
+
+ if (*prev)
+ pl->next = *prev;
+@@ -212,34 +224,170 @@ prefix_from_string (const char *p, struc
+ void
+ remove_prefix (const char *prefix, struct path_prefix *pprefix)
+ {
+- struct prefix_list *remove, **prev, **remove_prev = NULL;
++ char *dup = NULL;
+ int max_len = 0;
++ size_t len = strlen (prefix);
++ if (prefix[len - 1] != DIR_SEPARATOR)
++ {
++ char *dup = XNEWVEC (char, len + 2);
++ memcpy (dup, prefix, len);
++ dup[len] = DIR_SEPARATOR;
++ dup[len + 1] = '\0';
++ prefix = dup;
++ }
+
+ if (pprefix->plist)
+ {
+- prev = &pprefix->plist;
+- for (struct prefix_list *pl = pprefix->plist; pl->next; pl = pl->next)
++ prefix_list *prev = NULL;
++ for (struct prefix_list *pl = pprefix->plist; pl;)
+ {
+ if (strcmp (prefix, pl->prefix) == 0)
+ {
+- remove = pl;
+- remove_prev = prev;
+- continue;
++ if (prev == NULL)
++ pprefix->plist = pl->next;
++ else
++ prev->next = pl->next;
++
++ prefix_list *remove = pl;
++ free (remove);
++ pl = pl->next;
+ }
++ else
++ {
++ prev = pl;
+
+- int l = strlen (pl->prefix);
+- if (l > max_len)
+- max_len = l;
++ int l = strlen (pl->prefix);
++ if (l > max_len)
++ max_len = l;
+
+- prev = &pl;
+- }
+-
+- if (remove_prev)
+- {
+- *remove_prev = remove->next;
+- free (remove);
++ pl = pl->next;
++ }
+ }
+
+ pprefix->max_len = max_len;
+ }
++
++ if (dup)
++ free (dup);
++}
++
++#if CHECKING_P
++
++namespace selftest {
++
++/* Encode '#' and '_' to path and dir separators in order to test portability
++ of the test-cases. */
++
++static char *
++purge (const char *input)
++{
++ char *s = xstrdup (input);
++ for (char *c = s; *c != '\0'; c++)
++ switch (*c)
++ {
++ case '/':
++ case ':':
++ *c = 'a'; /* Poison default string values. */
++ break;
++ case '_':
++ *c = PATH_SEPARATOR;
++ break;
++ case '#':
++ *c = DIR_SEPARATOR;
++ break;
++ default:
++ break;
++ }
++
++ return s;
++}
++
++const char *env1 = purge ("#home#user#bin_#home#user#bin_#bin_#usr#bin");
++const char *env2 = purge ("#root_#root_#root");
++
++/* Verify creation of prefix. */
++
++static void
++file_find_verify_prefix_creation (void)
++{
++ path_prefix prefix;
++ memset (&prefix, 0, sizeof (prefix));
++ prefix_from_string (env1, &prefix);
++
++ ASSERT_EQ (15, prefix.max_len);
++
++ /* All prefixes end with DIR_SEPARATOR. */
++ ASSERT_STREQ (purge ("#home#user#bin#"), prefix.plist->prefix);
++ ASSERT_STREQ (purge ("#home#user#bin#"), prefix.plist->next->prefix);
++ ASSERT_STREQ (purge ("#bin#"), prefix.plist->next->next->prefix);
++ ASSERT_STREQ (purge ("#usr#bin#"), prefix.plist->next->next->next->prefix);
++ ASSERT_EQ (NULL, prefix.plist->next->next->next->next);
++}
++
++/* Verify adding a prefix. */
++
++static void
++file_find_verify_prefix_add (void)
++{
++ path_prefix prefix;
++ memset (&prefix, 0, sizeof (prefix));
++ prefix_from_string (env1, &prefix);
++
++ add_prefix (&prefix, purge ("#root"));
++ ASSERT_STREQ (purge ("#home#user#bin#"), prefix.plist->prefix);
++ ASSERT_STREQ (purge ("#root#"),
++ prefix.plist->next->next->next->next->prefix);
++
++ add_prefix_begin (&prefix, purge ("#var"));
++ ASSERT_STREQ (purge ("#var#"), prefix.plist->prefix);
++}
++
++/* Verify adding a prefix. */
++
++static void
++file_find_verify_prefix_removal (void)
++{
++ path_prefix prefix;
++ memset (&prefix, 0, sizeof (prefix));
++ prefix_from_string (env1, &prefix);
++
++ /* All occurences of a prefix should be removed. */
++ remove_prefix (purge ("#home#user#bin"), &prefix);
++
++ ASSERT_EQ (9, prefix.max_len);
++ ASSERT_STREQ (purge ("#bin#"), prefix.plist->prefix);
++ ASSERT_STREQ (purge ("#usr#bin#"), prefix.plist->next->prefix);
++ ASSERT_EQ (NULL, prefix.plist->next->next);
++
++ remove_prefix (purge ("#usr#bin#"), &prefix);
++ ASSERT_EQ (5, prefix.max_len);
++ ASSERT_STREQ (purge ("#bin#"), prefix.plist->prefix);
++ ASSERT_EQ (NULL, prefix.plist->next);
++
++ remove_prefix (purge ("#dev#random#"), &prefix);
++ remove_prefix (purge ("#bi#"), &prefix);
++
++ remove_prefix (purge ("#bin#"), &prefix);
++ ASSERT_EQ (NULL, prefix.plist);
++ ASSERT_EQ (0, prefix.max_len);
++
++ memset (&prefix, 0, sizeof (prefix));
++ prefix_from_string (env2, &prefix);
++ ASSERT_EQ (6, prefix.max_len);
++
++ remove_prefix (purge ("#root#"), &prefix);
++ ASSERT_EQ (NULL, prefix.plist);
++ ASSERT_EQ (0, prefix.max_len);
+ }
++
++/* Run all of the selftests within this file. */
++
++void file_find_c_tests ()
++{
++ file_find_verify_prefix_creation ();
++ file_find_verify_prefix_add ();
++ file_find_verify_prefix_removal ();
++}
++
++} // namespace selftest
++#endif /* CHECKING_P */
+Index: b/src/gcc/gcc-ar.c
+===================================================================
+--- a/src/gcc/gcc-ar.c
++++ b/src/gcc/gcc-ar.c
+@@ -194,15 +194,20 @@ main (int ac, char **av)
+ #ifdef CROSS_DIRECTORY_STRUCTURE
+ real_exe_name = concat (target_machine, "-", PERSONALITY, NULL);
+ #endif
+- /* Do not search original location in the same folder. */
+- char *exe_folder = lrealpath (av[0]);
+- exe_folder[strlen (exe_folder) - strlen (lbasename (exe_folder))] = '\0';
+- char *location = concat (exe_folder, PERSONALITY, NULL);
++ char *wrapper_file = lrealpath (av[0]);
++ exe_name = lrealpath (find_a_file (&path, real_exe_name, X_OK));
+
+- if (access (location, X_OK) == 0)
+- remove_prefix (exe_folder, &path);
++ /* If the exe_name points to the wrapper, remove folder of the wrapper
++ from prefix and try search again. */
++ if (strcmp (exe_name, wrapper_file) == 0)
++ {
++ char *exe_folder = wrapper_file;
++ exe_folder[strlen (exe_folder) - strlen (lbasename (exe_folder))] = '\0';
++ remove_prefix (exe_folder, &path);
++
++ exe_name = find_a_file (&path, real_exe_name, X_OK);
++ }
+
+- exe_name = find_a_file (&path, real_exe_name, X_OK);
+ if (!exe_name)
+ {
+ fprintf (stderr, "%s: Cannot find binary '%s'\n", av[0],
+Index: b/src/gcc/selftest-run-tests.c
+===================================================================
+--- a/src/gcc/selftest-run-tests.c
++++ b/src/gcc/selftest-run-tests.c
+@@ -66,6 +66,7 @@ selftest::run_tests ()
+ sreal_c_tests ();
+ fibonacci_heap_c_tests ();
+ typed_splay_tree_c_tests ();
++ file_find_c_tests ();
+
+ /* Mid-level data structures. */
+ input_c_tests ();
+Index: b/src/gcc/selftest.h
+===================================================================
+--- a/src/gcc/selftest.h
++++ b/src/gcc/selftest.h
+@@ -196,6 +196,7 @@ extern void tree_c_tests ();
+ extern void tree_cfg_c_tests ();
+ extern void vec_c_tests ();
+ extern void wide_int_cc_tests ();
++extern void file_find_c_tests ();
+
+ extern int num_passes;
+
--- /dev/null
+# DP: Fix PR jit/87808.
+
+--- a/src/gcc/jit/Make-lang.in
++++ b/src/gcc/jit/Make-lang.in
+@@ -84,6 +84,9 @@
+ jit/jit-spec.o \
+ gcc.o
+
++CFLAGS-jit/jit-playback.o += \
++ -DFALLBACK_GCC_EXEC_PREFIX=\"$(libdir)/gcc/$(target_subdir)/$(version)\"
++
+ # Use strict warnings for this front end.
+ jit-warn = $(STRICT_WARN)
+
+--- a/src/gcc/jit/jit-playback.c
++++ b/src/gcc/jit/jit-playback.c
+@@ -39,6 +39,7 @@
+ #include "opt-suggestions.h"
+ #include "gcc.h"
+ #include "diagnostic.h"
++#include "file-find.h"
+
+ #include <pthread.h>
+
+@@ -2482,7 +2483,31 @@
+ playback::context::
+ invoke_embedded_driver (const vec <char *> *argvec)
+ {
++ static char* gcc_driver_file = NULL;
++
+ JIT_LOG_SCOPE (get_logger ());
++
++ /* process_command(), uses make_relative_prefix(), searches PATH
++ for the external driver, which might not be found. In this case
++ fall back to the configured default. */
++#ifdef FALLBACK_GCC_EXEC_PREFIX
++ if (gcc_driver_file == NULL && ::getenv ("GCC_EXEC_PREFIX") == NULL)
++ {
++ struct path_prefix path;
++
++ prefix_from_env ("PATH", &path);
++ gcc_driver_file = find_a_file (&path, gcc_driver_name, X_OK);
++ if (gcc_driver_file == NULL)
++ {
++ char *str = concat ("GCC_EXEC_PREFIX=",
++ FALLBACK_GCC_EXEC_PREFIX, NULL);
++ ::putenv (str);
++ log ("gcc driver %s not found, using fallback GCC_EXEC_PREFIX=%s",
++ gcc_driver_name, FALLBACK_GCC_EXEC_PREFIX);
++ }
++ }
++#endif
++
+ driver d (true, /* can_finalize */
+ false); /* debug */
+ int result = d.main (argvec->length (),
--- /dev/null
+# DP: Fix PR middle-end/89412, taken from the trunk.
+
+gcc/
+
+2019-02-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/89412
+ * expr.c (expand_assignment): If result is a MEM, use change_address
+ instead of simplify_gen_subreg.
+
+gcc/testsuite/
+
+2019-02-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/89412
+ * gcc.c-torture/compile/pr89412.c: New test.
+
+--- a/src/gcc/expr.c
++++ b/src/gcc/expr.c
+@@ -5187,9 +5187,13 @@ expand_assignment (tree to, tree from, b
+ }
+ else
+ {
+- rtx from_rtx
+- = simplify_gen_subreg (to_mode, result,
+- TYPE_MODE (TREE_TYPE (from)), 0);
++ rtx from_rtx;
++ if (MEM_P (result))
++ from_rtx = change_address (result, to_mode, NULL_RTX);
++ else
++ from_rtx
++ = simplify_gen_subreg (to_mode, result,
++ TYPE_MODE (TREE_TYPE (from)), 0);
+ if (from_rtx)
+ {
+ emit_move_insn (XEXP (to_rtx, 0),
+--- /dev/null
++++ b/src/gcc/testsuite/gcc.c-torture/compile/pr89412.c
+@@ -0,0 +1,16 @@
++/* PR middle-end/89412 */
++
++struct S { double a, b; } d;
++int e;
++double f;
++
++void
++foo ()
++{
++ _Complex double h;
++ while (e)
++ {
++ f = h;
++ *(struct S *) &h = d;
++ }
++}
--- /dev/null
+# DP: Allow transformations on info file names. Reference the
+# DP: transformed info file names in the texinfo files.
+
+
+2004-02-17 Matthias Klose <doko@debian.org>
+
+gcc/ChangeLog:
+ * Makefile.in: Allow transformations on info file names.
+ Define MAKEINFODEFS, macros to pass transformated info file
+ names to makeinfo.
+ * doc/cpp.texi: Use macros defined in MAKEINFODEFS for references.
+ * doc/cppinternals.texi: Likewise.
+ * doc/extend.texi: Likewise.
+ * doc/gcc.texi: Likewise.
+ * doc/gccint.texi: Likewise.
+ * doc/invoke.texi: Likewise.
+ * doc/libgcc.texi: Likewise.
+ * doc/makefile.texi: Likewise.
+ * doc/passes.texi: Likewise.
+ * doc/sourcebuild.texi: Likewise.
+ * doc/standards.texi: Likewise.
+ * doc/trouble.texi: Likewise.
+
+gcc/fortran/ChangeLog:
+ * Make-lang.in: Allow transformations on info file names.
+ Pass macros of transformated info file defined in MAKEINFODEFS
+ names to makeinfo.
+ * gfortran.texi: Use macros defined in MAKEINFODEFS for references.
+
+Index: b/src/gcc/fortran/gfortran.texi
+===================================================================
+--- a/src/gcc/fortran/gfortran.texi
++++ b/src/gcc/fortran/gfortran.texi
+@@ -101,7 +101,7 @@ Texts being (a) (see below), and with th
+ @ifinfo
+ @dircategory Software development
+ @direntry
+-* gfortran: (gfortran). The GNU Fortran Compiler.
++* @value{fngfortran}: (@value{fngfortran}). The GNU Fortran Compiler.
+ @end direntry
+ This file documents the use and the internals of
+ the GNU Fortran compiler, (@command{gfortran}).
+Index: b/src/gcc/fortran/Make-lang.in
+===================================================================
+--- a/src/gcc/fortran/Make-lang.in
++++ b/src/gcc/fortran/Make-lang.in
+@@ -114,7 +114,8 @@ fortran.tags: force
+ cd $(srcdir)/fortran; etags -o TAGS.sub *.c *.h; \
+ etags --include TAGS.sub --include ../TAGS.sub
+
+-fortran.info: doc/gfortran.info doc/gfc-internals.info
++INFO_FORTRAN_NAME = $(shell echo gfortran|sed '$(program_transform_name)')
++fortran.info: doc/$(INFO_FORTRAN_NAME).info
+ fortran.dvi: doc/gfortran.dvi doc/gfc-internals.dvi
+
+ F95_HTMLFILES = $(build_htmldir)/gfortran
+@@ -181,10 +182,10 @@ GFORTRAN_TEXI = \
+ $(srcdir)/doc/include/gcc-common.texi \
+ gcc-vers.texi
+
+-doc/gfortran.info: $(GFORTRAN_TEXI)
++doc/$(INFO_FORTRAN_NAME).info: $(GFORTRAN_TEXI)
+ if [ x$(BUILD_INFO) = xinfo ]; then \
+ rm -f doc/gfortran.info-*; \
+- $(MAKEINFO) -I $(srcdir)/doc/include -I $(srcdir)/fortran \
++ $(MAKEINFO) $(MAKEINFODEFS) -I $(srcdir)/doc/include -I $(srcdir)/fortran \
+ -o $@ $<; \
+ else true; fi
+
+@@ -249,7 +250,7 @@ fortran.install-common: install-finclude
+
+ fortran.install-plugin:
+
+-fortran.install-info: $(DESTDIR)$(infodir)/gfortran.info
++fortran.install-info: $(DESTDIR)$(infodir)/$(INFO_FORTRAN_NAME).info
+
+ fortran.install-man: $(DESTDIR)$(man1dir)/$(GFORTRAN_INSTALL_NAME)$(man1ext)
+
+@@ -267,7 +268,7 @@ fortran.uninstall:
+ rm -rf $(DESTDIR)$(bindir)/$(GFORTRAN_INSTALL_NAME)$(exeext); \
+ rm -rf $(DESTDIR)$(man1dir)/$(GFORTRAN_INSTALL_NAME)$(man1ext); \
+ rm -rf $(DESTDIR)$(bindir)/$(GFORTRAN_TARGET_INSTALL_NAME)$(exeext); \
+- rm -rf $(DESTDIR)$(infodir)/gfortran.info*
++ rm -rf $(DESTDIR)$(infodir)/$(INFO_FORTRAN_NAME).info*
+
+ #\f
+ # Clean hooks:
+Index: b/src/gcc/Makefile.in
+===================================================================
+--- a/src/gcc/Makefile.in
++++ b/src/gcc/Makefile.in
+@@ -3066,8 +3066,31 @@ install-no-fixedincludes:
+
+ doc: $(BUILD_INFO) $(GENERATED_MANPAGES)
+
+-INFOFILES = doc/cpp.info doc/gcc.info doc/gccint.info \
+- doc/gccinstall.info doc/cppinternals.info
++INFO_CPP_NAME = $(shell echo cpp|sed '$(program_transform_name)')
++INFO_GCC_NAME = $(shell echo gcc|sed '$(program_transform_name)')
++INFO_GXX_NAME = $(shell echo g++|sed '$(program_transform_name)')
++INFO_GCCINT_NAME = $(shell echo gccint|sed '$(program_transform_name)')
++INFO_GCCINSTALL_NAME = $(shell echo gccinstall|sed '$(program_transform_name)')
++INFO_CPPINT_NAME = $(shell echo cppinternals|sed '$(program_transform_name)')
++
++INFO_FORTRAN_NAME = $(shell echo gfortran|sed '$(program_transform_name)')
++INFO_GCCGO_NAME = $(shell echo gccgo|sed '$(program_transform_name)')
++
++INFOFILES = doc/$(INFO_CPP_NAME).info doc/$(INFO_GCC_NAME).info \
++ doc/$(INFO_GCCINT_NAME).info \
++ doc/$(INFO_GCCINSTALL_NAME).info doc/$(INFO_CPPINT_NAME).info
++
++MAKEINFODEFS = -D 'fncpp $(INFO_CPP_NAME)' \
++ -D 'fngcc $(INFO_GCC_NAME)' \
++ -D 'fngcov $(INFO_GCC_NAME)' \
++ -D 'fngcovtool $(INFO_GCC_NAME)' \
++ -D 'fngcovdump $(INFO_GCC_NAME)' \
++ -D 'fngxx $(INFO_GXX_NAME)' \
++ -D 'fngccint $(INFO_GCCINT_NAME)' \
++ -D 'fngccinstall $(INFO_GCCINSTALL_NAME)' \
++ -D 'fncppint $(INFO_CPPINT_NAME)' \
++ -D 'fngfortran $(INFO_FORTRAN_NAME)' \
++ -D 'fngccgo $(INFO_GCCGO_NAME)'
+
+ info: $(INFOFILES) lang.info @GENINSRC@ srcinfo lang.srcinfo
+
+@@ -3114,7 +3137,20 @@ gcc-vers.texi: $(BASEVER) $(DEVPHASE)
+ if [ -n "$(PKGVERSION)" ]; then \
+ echo "@set VERSION_PACKAGE $(PKGVERSION)" >> $@T; \
+ fi
+- echo "@set BUGURL $(BUGURL_TEXI)" >> $@T; \
++ echo "@set BUGURL $(BUGURL_TEXI)" >> $@T
++ ( \
++ echo '@set fncpp $(INFO_CPP_NAME)'; \
++ echo '@set fngcc $(INFO_GCC_NAME)'; \
++ echo '@set fngcov $(INFO_GCC_NAME)'; \
++ echo '@set fngcovtool $(INFO_GCC_NAME)'; \
++ echo '@set fngcovdump $(INFO_GCC_NAME)'; \
++ echo '@set fngxx $(INFO_GXX_NAME)'; \
++ echo '@set fngccint $(INFO_GCCINT_NAME)'; \
++ echo '@set fngccinstall $(INFO_GCCINSTALL_NAME)'; \
++ echo '@set fncppint $(INFO_CPPINT_NAME)'; \
++ echo '@set fngfortran $(INFO_FORTRAN_NAME)'; \
++ echo '@set fngccgo $(INFO_GCCGO_NAME)'; \
++ ) >> $@T
+ mv -f $@T $@
+
+
+@@ -3122,21 +3158,41 @@ gcc-vers.texi: $(BASEVER) $(DEVPHASE)
+ # patterns. To use them, put each of the specific targets with its
+ # specific dependencies but no build commands.
+
+-doc/cpp.info: $(TEXI_CPP_FILES)
+-doc/gcc.info: $(TEXI_GCC_FILES)
+-doc/gccint.info: $(TEXI_GCCINT_FILES)
+-doc/cppinternals.info: $(TEXI_CPPINT_FILES)
+-
++# Generic entry to handle info files, which are not renamed (currently Ada)
+ doc/%.info: %.texi
+ if [ x$(BUILD_INFO) = xinfo ]; then \
+ $(MAKEINFO) $(MAKEINFOFLAGS) -I . -I $(gcc_docdir) \
+ -I $(gcc_docdir)/include -o $@ $<; \
+ fi
+
++doc/$(INFO_CPP_NAME).info: $(TEXI_CPP_FILES)
++ if [ x$(BUILD_INFO) = xinfo ]; then \
++ $(MAKEINFO) $(MAKEINFOFLAGS) $(MAKEINFODEFS) -I $(gcc_docdir) \
++ -I $(gcc_docdir)/include -o $@ $<; \
++ fi
++
++doc/$(INFO_GCC_NAME).info: $(TEXI_GCC_FILES)
++ if [ x$(BUILD_INFO) = xinfo ]; then \
++ $(MAKEINFO) $(MAKEINFOFLAGS) $(MAKEINFODEFS) -I $(gcc_docdir) \
++ -I $(gcc_docdir)/include -o $@ $<; \
++ fi
++
++doc/$(INFO_GCCINT_NAME).info: $(TEXI_GCCINT_FILES)
++ if [ x$(BUILD_INFO) = xinfo ]; then \
++ $(MAKEINFO) $(MAKEINFOFLAGS) $(MAKEINFODEFS) -I $(gcc_docdir) \
++ -I $(gcc_docdir)/include -o $@ $<; \
++ fi
++
++doc/$(INFO_CPPINT_NAME).info: $(TEXI_CPPINT_FILES)
++ if [ x$(BUILD_INFO) = xinfo ]; then \
++ $(MAKEINFO) $(MAKEINFOFLAGS) $(MAKEINFODEFS) -I $(gcc_docdir) \
++ -I $(gcc_docdir)/include -o $@ $<; \
++ fi
++
+ # Duplicate entry to handle renaming of gccinstall.info
+-doc/gccinstall.info: $(TEXI_GCCINSTALL_FILES)
++doc/$(INFO_GCCINSTALL_NAME).info: $(TEXI_GCCINSTALL_FILES)
+ if [ x$(BUILD_INFO) = xinfo ]; then \
+- $(MAKEINFO) $(MAKEINFOFLAGS) -I $(gcc_docdir) \
++ $(MAKEINFO) $(MAKEINFOFLAGS) $(MAKEINFODEFS) -I $(gcc_docdir) \
+ -I $(gcc_docdir)/include -o $@ $<; \
+ fi
+
+@@ -3555,11 +3611,11 @@ install-driver: installdirs xgcc$(exeext
+ # $(INSTALL_DATA) might be a relative pathname, so we can't cd into srcdir
+ # to do the install.
+ install-info:: doc installdirs \
+- $(DESTDIR)$(infodir)/cpp.info \
+- $(DESTDIR)$(infodir)/gcc.info \
+- $(DESTDIR)$(infodir)/cppinternals.info \
+- $(DESTDIR)$(infodir)/gccinstall.info \
+- $(DESTDIR)$(infodir)/gccint.info \
++ $(DESTDIR)$(infodir)/$(INFO_CPP_NAME).info \
++ $(DESTDIR)$(infodir)/$(INFO_GCC_NAME).info \
++ $(DESTDIR)$(infodir)/$(INFO_CPPINT_NAME).info \
++ $(DESTDIR)$(infodir)/$(INFO_GCCINSTALL_NAME).info \
++ $(DESTDIR)$(infodir)/$(INFO_GCCINT_NAME).info \
+ lang.install-info
+
+ $(DESTDIR)$(infodir)/%.info: doc/%.info installdirs
+@@ -3780,8 +3836,11 @@ uninstall: lang.uninstall
+ -rm -rf $(DESTDIR)$(bindir)/$(GCOV_INSTALL_NAME)$(exeext)
+ -rm -rf $(DESTDIR)$(man1dir)/$(GCC_INSTALL_NAME)$(man1ext)
+ -rm -rf $(DESTDIR)$(man1dir)/cpp$(man1ext)
+- -rm -f $(DESTDIR)$(infodir)/cpp.info* $(DESTDIR)$(infodir)/gcc.info*
+- -rm -f $(DESTDIR)$(infodir)/cppinternals.info* $(DESTDIR)$(infodir)/gccint.info*
++ -rm -f $(DESTDIR)$(infodir)/$(INFO_CPP_NAME).info*
++ -rm -f $(DESTDIR)$(infodir)/$(INFO_GCC_NAME).info*
++ -rm -f $(DESTDIR)$(infodir)/$(INFO_CPPINT_NAME).info*
++ -rm -f $(DESTDIR)$(infodir)/$(INFO_GCCINT_NAME).info*
++ -rm -f $(DESTDIR)$(infodir)/$(INFO_GCCINSTALL_NAME).info*
+ for i in ar nm ranlib ; do \
+ install_name=`echo gcc-$$i|sed '$(program_transform_name)'`$(exeext) ;\
+ target_install_name=$(target_noncanonical)-`echo gcc-$$i|sed '$(program_transform_name)'`$(exeext) ; \
+Index: b/src/gcc/ada/gnat-style.texi
+===================================================================
+--- a/src/gcc/ada/gnat-style.texi
++++ b/src/gcc/ada/gnat-style.texi
+@@ -31,7 +31,7 @@ Texts. A copy of the license is include
+
+ @dircategory Software development
+ @direntry
+-* gnat-style: (gnat-style). GNAT Coding Style
++* gnat-style: (gnat-style-6). GNAT Coding Style
+ @end direntry
+
+ @macro syntax{element}
+Index: b/src/gcc/ada/gnat_rm.texi
+===================================================================
+--- a/src/gcc/ada/gnat_rm.texi
++++ b/src/gcc/ada/gnat_rm.texi
+@@ -12,7 +12,7 @@
+ @finalout
+ @dircategory GNU Ada Tools
+ @direntry
+-* gnat_rm: (gnat_rm.info). gnat_rm
++* GNAT Reference Manual: (gnat_rm-6). Reference Manual for GNU Ada tools.
+ @end direntry
+
+ @definfoenclose strong,`,'
+Index: b/src/gcc/doc/invoke.texi
+===================================================================
+--- a/src/gcc/doc/invoke.texi
++++ b/src/gcc/doc/invoke.texi
+@@ -11604,7 +11604,7 @@ One of the standard libraries bypassed b
+ @option{-nodefaultlibs} is @file{libgcc.a}, a library of internal subroutines
+ which GCC uses to overcome shortcomings of particular machines, or special
+ needs for some languages.
+-(@xref{Interface,,Interfacing to GCC Output,gccint,GNU Compiler
++(@xref{Interface,,Interfacing to GCC Output,@value{fngccint},GNU Compiler
+ Collection (GCC) Internals},
+ for more discussion of @file{libgcc.a}.)
+ In most cases, you need @file{libgcc.a} even when you want to avoid
+@@ -11613,7 +11613,7 @@ or @option{-nodefaultlibs} you should us
+ This ensures that you have no unresolved references to internal GCC
+ library subroutines.
+ (An example of such an internal subroutine is @code{__main}, used to ensure C++
+-constructors are called; @pxref{Collect2,,@code{collect2}, gccint,
++constructors are called; @pxref{Collect2,,@code{collect2}, @value{fngccint},
+ GNU Compiler Collection (GCC) Internals}.)
+
+ @item -pie
+@@ -26506,7 +26506,7 @@ Note that you can also specify places to
+ @option{-B}, @option{-I} and @option{-L} (@pxref{Directory Options}). These
+ take precedence over places specified using environment variables, which
+ in turn take precedence over those specified by the configuration of GCC@.
+-@xref{Driver,, Controlling the Compilation Driver @file{gcc}, gccint,
++@xref{Driver,, Controlling the Compilation Driver @file{gcc}, @value{fngccint},
+ GNU Compiler Collection (GCC) Internals}.
+
+ @table @env
+@@ -26666,7 +26666,7 @@ the headers it contains change.
+
+ A precompiled header file is searched for when @code{#include} is
+ seen in the compilation. As it searches for the included file
+-(@pxref{Search Path,,Search Path,cpp,The C Preprocessor}) the
++(@pxref{Search Path,,Search Path,@value{fncpp},The C Preprocessor}) the
+ compiler looks for a precompiled header in each directory just before it
+ looks for the include file in that directory. The name searched for is
+ the name specified in the @code{#include} with @samp{.gch} appended. If
+Index: b/src/gcc/doc/extend.texi
+===================================================================
+--- a/src/gcc/doc/extend.texi
++++ b/src/gcc/doc/extend.texi
+@@ -21802,7 +21802,7 @@ want to write code that checks whether t
+ test for the GNU compiler the same way as for C programs: check for a
+ predefined macro @code{__GNUC__}. You can also use @code{__GNUG__} to
+ test specifically for GNU C++ (@pxref{Common Predefined Macros,,
+-Predefined Macros,cpp,The GNU C Preprocessor}).
++Predefined Macros,@value{fncpp},The GNU C Preprocessor}).
+
+ @menu
+ * C++ Volatiles:: What constitutes an access to a volatile object.
+Index: b/src/gcc/doc/standards.texi
+===================================================================
+--- a/src/gcc/doc/standards.texi
++++ b/src/gcc/doc/standards.texi
+@@ -315,5 +315,5 @@ freely available at @uref{http://www.hsa
+ GNAT Reference Manual}, for information on standard
+ conformance and compatibility of the Ada compiler.
+
+-@xref{Standards,,Standards, gfortran, The GNU Fortran Compiler}, for details
++@xref{Standards,,Standards, @value{fngfortran}, The GNU Fortran Compiler}, for details
+ of standards supported by GNU Fortran.
+Index: b/src/gcc/doc/libgcc.texi
+===================================================================
+--- a/src/gcc/doc/libgcc.texi
++++ b/src/gcc/doc/libgcc.texi
+@@ -24,7 +24,7 @@ that needs them.
+ GCC will also generate calls to C library routines, such as
+ @code{memcpy} and @code{memset}, in some cases. The set of routines
+ that GCC may possibly use is documented in @ref{Other
+-Builtins,,,gcc, Using the GNU Compiler Collection (GCC)}.
++Builtins,,,@value{fngcc}, Using the GNU Compiler Collection (GCC)}.
+
+ These routines take arguments and return values of a specific machine
+ mode, not a specific C type. @xref{Machine Modes}, for an explanation
+Index: b/src/gcc/doc/gccint.texi
+===================================================================
+--- a/src/gcc/doc/gccint.texi
++++ b/src/gcc/doc/gccint.texi
+@@ -49,7 +49,7 @@ Texts being (a) (see below), and with th
+ @ifnottex
+ @dircategory Software development
+ @direntry
+-* gccint: (gccint). Internals of the GNU Compiler Collection.
++* @value{fngccint}: (@value{fngccint}). Internals of the GNU Compiler Collection.
+ @end direntry
+ This file documents the internals of the GNU compilers.
+ @sp 1
+@@ -81,7 +81,7 @@ write front ends for new languages. It
+ @value{VERSION_PACKAGE}
+ @end ifset
+ version @value{version-GCC}. The use of the GNU compilers is documented in a
+-separate manual. @xref{Top,, Introduction, gcc, Using the GNU
++separate manual. @xref{Top,, Introduction, @value{fngcc}, Using the GNU
+ Compiler Collection (GCC)}.
+
+ This manual is mainly a reference manual rather than a tutorial. It
+Index: b/src/gcc/doc/cpp.texi
+===================================================================
+--- a/src/gcc/doc/cpp.texi
++++ b/src/gcc/doc/cpp.texi
+@@ -50,7 +50,7 @@ This manual contains no Invariant Sectio
+ @ifinfo
+ @dircategory Software development
+ @direntry
+-* Cpp: (cpp). The GNU C preprocessor.
++* @value{fncpp}: (@value{fncpp}). The GNU C preprocessor.
+ @end direntry
+ @end ifinfo
+
+Index: b/src/gcc/doc/gcc.texi
+===================================================================
+--- a/src/gcc/doc/gcc.texi
++++ b/src/gcc/doc/gcc.texi
+@@ -127,7 +127,7 @@ version @value{version-GCC}.
+ The internals of the GNU compilers, including how to port them to new
+ targets and some information about how to write front ends for new
+ languages, are documented in a separate manual. @xref{Top,,
+-Introduction, gccint, GNU Compiler Collection (GCC) Internals}.
++Introduction, @value{fngccint}, GNU Compiler Collection (GCC) Internals}.
+
+ @menu
+ * G++ and GCC:: You can compile C or C++ programs.
+Index: b/src/gcc/doc/install.texi
+===================================================================
+--- a/src/gcc/doc/install.texi
++++ b/src/gcc/doc/install.texi
+@@ -94,7 +94,7 @@ Free Documentation License}''.
+ @end ifinfo
+ @dircategory Software development
+ @direntry
+-* gccinstall: (gccinstall). Installing the GNU Compiler Collection.
++* @value{fngccinstall}: (@value{fngccinstall}). Installing the GNU Compiler Collection.
+ @end direntry
+
+ @c Part 3 Titlepage and Copyright
+Index: b/src/gcc/doc/cppinternals.texi
+===================================================================
+--- a/src/gcc/doc/cppinternals.texi
++++ b/src/gcc/doc/cppinternals.texi
+@@ -7,7 +7,7 @@
+ @ifinfo
+ @dircategory Software development
+ @direntry
+-* Cpplib: (cppinternals). Cpplib internals.
++* @value{fncppint}: (@value{fncppint}). Cpplib internals.
+ @end direntry
+ @end ifinfo
+
+Index: b/src/libgomp/libgomp.texi
+===================================================================
+--- a/src/libgomp/libgomp.texi
++++ b/src/libgomp/libgomp.texi
+@@ -31,7 +31,7 @@ texts being (a) (see below), and with th
+ @ifinfo
+ @dircategory GNU Libraries
+ @direntry
+-* libgomp: (libgomp). GNU Offloading and Multi Processing Runtime Library.
++* @value{fnlibgomp}: (@value{fnlibgomp}). GNU Offloading and Multi Processing Runtime Library.
+ @end direntry
+
+ This manual documents libgomp, the GNU Offloading and Multi Processing
+Index: b/src/libgomp/Makefile.in
+===================================================================
+--- a/src/libgomp/Makefile.in
++++ b/src/libgomp/Makefile.in
+@@ -487,7 +487,8 @@ info_TEXINFOS = libgomp.texi
+
+ # AM_CONDITIONAL on configure check ACX_CHECK_PROG_VER([MAKEINFO])
+ @BUILD_INFO_TRUE@STAMP_BUILD_INFO = stamp-build-info
+-CLEANFILES = $(STAMP_GENINSRC) $(STAMP_BUILD_INFO) libgomp.info
++INFO_LIBGOMP_NAME = $(shell echo libgomp|sed '$(program_transform_name)')
++CLEANFILES = $(STAMP_GENINSRC) $(STAMP_BUILD_INFO) $(INFO_LIBGOMP_NAME).info
+ MAINTAINERCLEANFILES = $(srcdir)/libgomp.info
+ all: config.h
+ $(MAKE) $(AM_MAKEFLAGS) all-recursive
+@@ -1302,15 +1303,16 @@ env.lo: libgomp_f.h
+ env.o: libgomp_f.h
+
+ all-local: $(STAMP_GENINSRC)
+-
+-stamp-geninsrc: libgomp.info
+- cp -p $(top_builddir)/libgomp.info $(srcdir)/libgomp.info
++stamp-geninsrc: $(INFO_LIBGOMP_NAME).info
++ cp -p $(top_builddir)/$(INFO_LIBGOMP_NAME).info $(srcdir)/libgomp.info
+ @touch $@
+
+-libgomp.info: $(STAMP_BUILD_INFO)
++libgomp.info: $(INFO_LIBGOMP_NAME).info
++ [ "$(INFO_LIBGOMP_NAME).info" = libgomp.info ] || cp $(INFO_LIBGOMP_NAME).info libgomp.info
++$(INFO_LIBGOMP_NAME).info: $(STAMP_BUILD_INFO)
+
+ stamp-build-info: libgomp.texi
+- $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) -o libgomp.info $(srcdir)/libgomp.texi
++ $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -D 'fnlibgomp $(INFO_LIBGOMP_NAME)' -I $(srcdir) -o $(INFO_LIBGOMP_NAME).info $(srcdir)/libgomp.texi
+ @touch $@
+
+ # Tell versions [3.59,3.63) of GNU make to not export all variables.
+Index: b/src/libgomp/Makefile.am
+===================================================================
+--- a/src/libgomp/Makefile.am
++++ b/src/libgomp/Makefile.am
+@@ -125,16 +125,19 @@ endif
+
+ all-local: $(STAMP_GENINSRC)
+
+-stamp-geninsrc: libgomp.info
+- cp -p $(top_builddir)/libgomp.info $(srcdir)/libgomp.info
++INFO_LIBGOMP_NAME = $(shell echo libgomp|sed '$(program_transform_name)')
++stamp-geninsrc: $(INFO_LIBGOMP_NAME).info
++ cp -p $(top_builddir)/$(INFO_LIBGOMP_NAME).info $(srcdir)/libgomp.info
+ @touch $@
+
+-libgomp.info: $(STAMP_BUILD_INFO)
++libgomp.info: $(INFO_LIBGOMP_NAME).info
++ cp $(INFO_LIBGOMP_NAME).info libgomp.info
++$(INFO_LIBGOMP_NAME).info: $(STAMP_BUILD_INFO)
+
+ stamp-build-info: libgomp.texi
+- $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) -o libgomp.info $(srcdir)/libgomp.texi
++ $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -D 'fnlibgomp $(INFO_LIBGOMP_NAME)' -I $(srcdir) -o $(INFO_LIBGOMP_NAME).info $(srcdir)/libgomp.texi
+ @touch $@
+
+
+-CLEANFILES = $(STAMP_GENINSRC) $(STAMP_BUILD_INFO) libgomp.info
++CLEANFILES = $(STAMP_GENINSRC) $(STAMP_BUILD_INFO) $(INFO_LIBGOMP_NAME).info
+ MAINTAINERCLEANFILES = $(srcdir)/libgomp.info
+Index: b/src/libitm/libitm.texi
+===================================================================
+--- a/src/libitm/libitm.texi
++++ b/src/libitm/libitm.texi
+@@ -20,7 +20,7 @@ Free Documentation License''.
+ @ifinfo
+ @dircategory GNU Libraries
+ @direntry
+-* libitm: (libitm). GNU Transactional Memory Library
++* @value{fnlibitm}: (@value{fnlibitm}). GNU Transactional Memory Library
+ @end direntry
+
+ This manual documents the GNU Transactional Memory Library.
+Index: b/src/libitm/Makefile.am
+===================================================================
+--- a/src/libitm/Makefile.am
++++ b/src/libitm/Makefile.am
+@@ -107,14 +107,17 @@ endif
+
+ all-local: $(STAMP_GENINSRC)
+
+-stamp-geninsrc: libitm.info
+- cp -p $(top_builddir)/libitm.info $(srcdir)/libitm.info
++INFO_LIBITM_NAME = $(shell echo libitm|sed '$(program_transform_name)')
++stamp-geninsrc: $(INFO_LIBITM_NAME).info
++ cp -p $(top_builddir)/$(INFO_LIBITM_NAME).info $(srcdir)/libitm.info
+ @touch $@
+
+-libitm.info: $(STAMP_BUILD_INFO)
++libitm.info: $(INFO_LIBITM_NAME).info
++ cp $(INFO_LIBITM_NAME).info libitm.info
++$(INFO_LIBITM_NAME).info: $(STAMP_BUILD_INFO)
+
+ stamp-build-info: libitm.texi
+- $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) -o libitm.info $(srcdir)/libitm.texi
++ $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) -D 'fnlibitm $(INFO_LIBITM_NAME)'-o $(INFO_LIBITM_NAME).info $(srcdir)/libitm.texi
+ @touch $@
+
+
+Index: b/src/libitm/Makefile.in
+===================================================================
+--- a/src/libitm/Makefile.in
++++ b/src/libitm/Makefile.in
+@@ -1105,14 +1105,17 @@ vpath % $(strip $(search_path))
+
+ all-local: $(STAMP_GENINSRC)
+
+-stamp-geninsrc: libitm.info
+- cp -p $(top_builddir)/libitm.info $(srcdir)/libitm.info
++INFO_LIBITM_NAME = $(shell echo libitm|sed '$(program_transform_name)')
++stamp-geninsrc: $(INFO_LIBITM_NAME).info
++ cp -p $(top_builddir)/$(INFO_LIBITM_NAME).info $(srcdir)/libitm.info
+ @touch $@
+
+-libitm.info: $(STAMP_BUILD_INFO)
++libitm.info: $(INFO_LIBITM_NAME).info
++ cp $(INFO_LIBITM_NAME).info libitm.info
++$(INFO_LIBITM_NAME).info: $(STAMP_BUILD_INFO)
+
+ stamp-build-info: libitm.texi
+- $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) -o libitm.info $(srcdir)/libitm.texi
++ $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) -D 'fnlibitm $(INFO_LIBITM_NAME)' -o $(INFO_LIBITM_NAME).info $(srcdir)/libitm.texi
+ @touch $@
+
+ # Tell versions [3.59,3.63) of GNU make to not export all variables.
+Index: b/src/gcc/go/Make-lang.in
+===================================================================
+--- a/src/gcc/go/Make-lang.in
++++ b/src/gcc/go/Make-lang.in
+@@ -89,10 +89,11 @@ GO_TEXI_FILES = \
+ $(gcc_docdir)/include/gcc-common.texi \
+ gcc-vers.texi
+
+-doc/gccgo.info: $(GO_TEXI_FILES)
++INFO_GCCGO_NAME = $(shell echo gccgo|sed '$(program_transform_name)')
++doc/$(INFO_GCCGO_NAME).info: $(GO_TEXI_FILES)
+ if test "x$(BUILD_INFO)" = xinfo; then \
+- rm -f doc/gccgo.info*; \
+- $(MAKEINFO) $(MAKEINFOFLAGS) -I $(gcc_docdir) \
++ rm -f doc/$(INFO_GCCGO_NAME).info*; \
++ $(MAKEINFO) $(MAKEINFOFLAGS) $(MAKEINFODEFS) -I $(gcc_docdir) \
+ -I $(gcc_docdir)/include -o $@ $<; \
+ else true; fi
+
+@@ -118,7 +119,7 @@ gccgo.pod: go/gccgo.texi
+ go.all.cross: gccgo-cross$(exeext)
+ go.start.encap: gccgo$(exeext)
+ go.rest.encap:
+-go.info: doc/gccgo.info
++go.info: doc/$(INFO_GCCGO_NAME).info
+ go.dvi: doc/gccgo.dvi
+ go.pdf: doc/gccgo.pdf
+ go.html: $(build_htmldir)/go/index.html
+@@ -154,7 +155,7 @@ go.install-common: installdirs
+
+ go.install-plugin:
+
+-go.install-info: $(DESTDIR)$(infodir)/gccgo.info
++go.install-info: $(DESTDIR)$(infodir)/$(INFO_GCCGO_NAME).info
+
+ go.install-pdf: doc/gccgo.pdf
+ @$(NORMAL_INSTALL)
+@@ -194,7 +195,7 @@ go.uninstall:
+ rm -rf $(DESTDIR)$(bindir)/$(GCCGO_INSTALL_NAME)$(exeext)
+ rm -rf $(DESTDIR)$(man1dir)/$(GCCGO_INSTALL_NAME)$(man1ext)
+ rm -rf $(DESTDIR)$(bindir)/$(GCCGO_TARGET_INSTALL_NAME)$(exeext)
+- rm -rf $(DESTDIR)$(infodir)/gccgo.info*
++ rm -rf $(DESTDIR)$(infodir)/$(INFO_GCCGO_NAME).info*
+
+ # Clean hooks.
+
+Index: b/src/gcc/go/gccgo.texi
+===================================================================
+--- a/src/gcc/go/gccgo.texi
++++ b/src/gcc/go/gccgo.texi
+@@ -50,7 +50,7 @@ man page gfdl(7).
+ @format
+ @dircategory Software development
+ @direntry
+-* Gccgo: (gccgo). A GCC-based compiler for the Go language
++* @value{fngccgo}: (@value{fngccgo}). A GCC-based compiler for the Go language
+ @end direntry
+ @end format
+
+@@ -124,7 +124,7 @@ and the Info entries for @file{gccgo} an
+
+ The @command{gccgo} command is a frontend to @command{gcc} and
+ supports many of the same options. @xref{Option Summary, , Option
+-Summary, gcc, Using the GNU Compiler Collection (GCC)}. This manual
++Summary, @value{fngcc}, Using the GNU Compiler Collection (GCC)}. This manual
+ only documents the options specific to @command{gccgo}.
+
+ The @command{gccgo} command may be used to compile Go source code into
+Index: b/src/libquadmath/libquadmath.texi
+===================================================================
+--- a/src/libquadmath/libquadmath.texi
++++ b/src/libquadmath/libquadmath.texi
+@@ -25,7 +25,7 @@ copy and modify this GNU manual.
+ @ifinfo
+ @dircategory GNU Libraries
+ @direntry
+-* libquadmath: (libquadmath). GCC Quad-Precision Math Library
++* @value{fnlibquadmath}: (@value{fnlibquadmath}). GCC Quad-Precision Math Library
+ @end direntry
+
+ This manual documents the GCC Quad-Precision Math Library API.
+Index: b/src/libquadmath/Makefile.am
+===================================================================
+--- a/src/libquadmath/Makefile.am
++++ b/src/libquadmath/Makefile.am
+@@ -133,22 +133,24 @@ endif
+
+ all-local: $(STAMP_GENINSRC)
+
+-stamp-geninsrc: libquadmath.info
+- cp -p $(top_builddir)/libquadmath.info $(srcdir)/libquadmath.info
++INFO_LIBQMATH_NAME = $(shell echo libquadmath|sed '$(program_transform_name)')
++
++stamp-geninsrc: $(INFO_LIBQMATH_NAME).info
++ cp -p $(top_builddir)/$(INFO_LIBQMATH_NAME).info $(srcdir)/libquadmath.info
+ @touch $@
+
+ stamp-build-info: libquadmath.texi $(libquadmath_TEXINFOS)
+- $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) -o libquadmath.info $(srcdir)/libquadmath.texi
++ $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) -o $(INFO_LIBQMATH_NAME).info $(srcdir)/libquadmath.texi
+ @touch $@
+
+-CLEANFILES = $(STAMP_GENINSRC) $(STAMP_BUILD_INFO) libquadmath.info
+-MAINTAINERCLEANFILES = $(srcdir)/libquadmath.info
++CLEANFILES = $(STAMP_GENINSRC) $(STAMP_BUILD_INFO) $(INFO_LIBQMATH_NAME).info
++MAINTAINERCLEANFILES = $(srcdir)/$(INFO_LIBQMATH_NAME).info
+
+ endif BUILD_LIBQUADMATH
+
+ # Unconditionally override this target, so that automake's definition
+ # does not wrongly interfere.
+-libquadmath.info: $(STAMP_BUILD_INFO)
++$(INFO_LIBQMATH_NAME).info: $(STAMP_BUILD_INFO)
+
+
+ # Automake Documentation:
+Index: b/src/libquadmath/Makefile.in
+===================================================================
+--- a/src/libquadmath/Makefile.in
++++ b/src/libquadmath/Makefile.in
+@@ -193,7 +193,8 @@ MULTIDIRS =
+ MULTISUBDIR =
+ MULTIDO = true
+ MULTICLEAN = true
+-INFO_DEPS = libquadmath.info
++INFO_LIBQMATH_NAME = $(shell echo libquadmath|sed '$(program_transform_name)')
++INFO_DEPS = $(INFO_LIBQMATH_NAME).info
+ am__TEXINFO_TEX_DIR = $(srcdir)/../gcc/doc/include
+ DVIS = libquadmath.dvi
+ PDFS = libquadmath.pdf
+@@ -436,8 +437,8 @@ AUTOMAKE_OPTIONS = 1.8 foreign
+
+ # AM_CONDITIONAL on configure check ACX_CHECK_PROG_VER([MAKEINFO])
+ @BUILD_INFO_TRUE@@BUILD_LIBQUADMATH_TRUE@STAMP_BUILD_INFO = stamp-build-info
+-@BUILD_LIBQUADMATH_TRUE@CLEANFILES = $(STAMP_GENINSRC) $(STAMP_BUILD_INFO) libquadmath.info
+-@BUILD_LIBQUADMATH_TRUE@MAINTAINERCLEANFILES = $(srcdir)/libquadmath.info
++@BUILD_LIBQUADMATH_TRUE@CLEANFILES = $(STAMP_GENINSRC) $(STAMP_BUILD_INFO) $(INFO_LIBQMATH_NAME).info
++@BUILD_LIBQUADMATH_TRUE@MAINTAINERCLEANFILES = $(srcdir)/$(INFO_LIBQMATH_NAME).info
+
+ # Automake Documentation:
+ # If your package has Texinfo files in many directories, you can use the
+@@ -1518,17 +1519,17 @@ uninstall-am: uninstall-dvi-am uninstall
+
+ @BUILD_LIBQUADMATH_TRUE@all-local: $(STAMP_GENINSRC)
+
+-@BUILD_LIBQUADMATH_TRUE@stamp-geninsrc: libquadmath.info
+-@BUILD_LIBQUADMATH_TRUE@ cp -p $(top_builddir)/libquadmath.info $(srcdir)/libquadmath.info
++@BUILD_LIBQUADMATH_TRUE@stamp-geninsrc: $(INFO_LIBQMATH_NAME).info
++@BUILD_LIBQUADMATH_TRUE@ cp -p $(top_builddir)/$(INFO_LIBQMATH_NAME).info $(srcdir)/$(INFO_LIBQMATH_NAME).info
+ @BUILD_LIBQUADMATH_TRUE@ @touch $@
+
+ @BUILD_LIBQUADMATH_TRUE@stamp-build-info: libquadmath.texi $(libquadmath_TEXINFOS)
+-@BUILD_LIBQUADMATH_TRUE@ $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) -o libquadmath.info $(srcdir)/libquadmath.texi
++@BUILD_LIBQUADMATH_TRUE@ $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) -o $(INFO_LIBQMATH_NAME).info $(srcdir)/libquadmath.texi
+ @BUILD_LIBQUADMATH_TRUE@ @touch $@
+
+ # Unconditionally override this target, so that automake's definition
+ # does not wrongly interfere.
+-libquadmath.info: $(STAMP_BUILD_INFO)
++$(INFO_LIBQMATH_NAME).info: $(STAMP_BUILD_INFO)
+
+ libquadmath-vers.texi:
+ echo "@set BUGURL $(REPORT_BUGS_TEXI)" > $@
--- /dev/null
+# DP: Skip non-default multilib and libstdc++-v3 debug builds in bootstrap builds
+
+Index: b/src/config-ml.in
+===================================================================
+--- a/src/config-ml.in
++++ b/src/config-ml.in
+@@ -479,6 +479,17 @@ esac
+ # Tests like `if [ -n "$multidirs" ]' require it.
+ multidirs=`echo "$multidirs" | sed -e 's/^[ ][ ]*//' -e 's/[ ][ ]*$//' -e 's/[ ][ ]*/ /g'`
+
++# stage1 and stage2 builds of the non-default multilib configurations
++# are not needed; skip these to save some build time.
++if [ -f ../../stage_final ] && [ -f ../../stage_current ]; then
++ stage_final=`cat ../../stage_final`
++ stage_current=`cat ../../stage_current`
++ if [ "$stage_current" != "$stage_final" ]; then
++ echo "Skip `basename $ml_realsrcdir` non-default multilibs for bootstrap stage $stage_current"
++ multidirs=
++ fi
++fi
++
+ # Add code to library's top level makefile to handle building the multilib
+ # subdirs.
+
+Index: b/src/libstdc++-v3/acinclude.m4
+===================================================================
+--- a/src/libstdc++-v3/acinclude.m4
++++ b/src/libstdc++-v3/acinclude.m4
+@@ -2895,7 +2895,20 @@ dnl
+ AC_DEFUN([GLIBCXX_ENABLE_DEBUG], [
+ AC_MSG_CHECKING([for additional debug build])
+ GLIBCXX_ENABLE(libstdcxx-debug,$1,,[build extra debug library])
++ if test x$enable_libstdcxx_debug = xyes; then
++ if test -f $toplevel_builddir/../stage_final && test -f $toplevel_builddir/../stage_current; then
++ stage_final=`cat $toplevel_builddir/../stage_final`
++ stage_current=`cat $toplevel_builddir/../stage_current`
++ if test x$stage_current != x$stage_final ; then
++ skip_debug_build=yes
++ enable_libstdcxx_debug=no
++ fi
++ fi
++ fi
+ AC_MSG_RESULT($enable_libstdcxx_debug)
++ if test x$skip_debug_build = xyes ; then
++ AC_MSG_NOTICE([Skip libstdc++-v3 debug build for bootstrap stage $stage_current])
++ fi
+ GLIBCXX_CONDITIONAL(GLIBCXX_BUILD_DEBUG, test $enable_libstdcxx_debug = yes)
+ ])
+
--- /dev/null
+# DP: Fix --with-long-double-128 for sparc32 when defaulting to 64-bit.
+
+On sparc, the --with-long-double-128 option doesn't change anything for
+a 64-bit compiler, as it always default to 128-bit long doubles. For
+a 32/64-bit compiler defaulting to 32-bit this correctly control the
+size of long double of the 32-bit compiler, however for a 32/64-bit
+compiler defaulting to 64-bit, the built-in specs force the
+-mlong-double-64 option. This makes the option useless in this case.
+
+The patch below fixes that by removing the -mlong-double-64 from the
+built-in spec, using the default instead.
+
+Changelog gcc/
+
+2013-12-04 Aurelien Jarno <aurelien@aurel32.net>
+
+ * config/sparc/linux64.h (CC1_SPEC): When defaulting to 64-bit,
+ don't force -mlong-double-64 when -m32 or -mv8plus is given.
+
+Index: b/src/gcc/config/sparc/linux64.h
+===================================================================
+--- a/src/gcc/config/sparc/linux64.h
++++ b/src/gcc/config/sparc/linux64.h
+@@ -154,9 +154,9 @@ extern const char *host_detect_local_cpu
+ #else
+ #define CC1_SPEC "%{profile:-p} \
+ %{m32:%{m64:%emay not use both -m32 and -m64}} \
+-%{m32:-mptr32 -mno-stack-bias %{!mlong-double-128:-mlong-double-64} \
++%{m32:-mptr32 -mno-stack-bias \
+ %{!mcpu*:-mcpu=cypress}} \
+-%{mv8plus:-mptr32 -mno-stack-bias %{!mlong-double-128:-mlong-double-64} \
++%{mv8plus:-mptr32 -mno-stack-bias \
+ %{!mcpu*:-mcpu=v9}} \
+ %{!m32:%{!mcpu*:-mcpu=ultrasparc}} \
+ %{!mno-vis:%{!m32:%{!mcpu=v9:-mvis}}} \
--- /dev/null
+Index: gcc-8-8-20171108-1.1/src/gcc/config/i386/gnu.h
+===================================================================
+--- gcc-8-8-20171108-1.1.orig/src/gcc/config/i386/gnu.h
++++ gcc-8-8-20171108-1.1/src/gcc/config/i386/gnu.h
+@@ -37,11 +37,14 @@ along with GCC. If not, see <http://www
+
+ #ifdef TARGET_LIBC_PROVIDES_SSP
+
+-/* Not supported yet. */
+-# undef TARGET_THREAD_SSP_OFFSET
+-
+-/* Not supported yet. */
+-# undef TARGET_CAN_SPLIT_STACK
+-# undef TARGET_THREAD_SPLIT_STACK_OFFSET
++/* i386 glibc provides __stack_chk_guard in %gs:0x14. */
++#define TARGET_THREAD_SSP_OFFSET 0x14
+
++/* We only build the -fsplit-stack support in libgcc if the
++ assembler has full support for the CFI directives. */
++#if HAVE_GAS_CFI_PERSONALITY_DIRECTIVE
++#define TARGET_CAN_SPLIT_STACK
++#endif
++/* We steal the last transactional memory word. */
++#define TARGET_THREAD_SPLIT_STACK_OFFSET 0x30
+ #endif
--- /dev/null
+Index: gcc-8-8-20180310-1.1/src/libgo/configure.ac
+===================================================================
+--- gcc-8-8-20180310-1.1.orig/src/libgo/configure.ac
++++ gcc-8-8-20180310-1.1/src/libgo/configure.ac
+@@ -154,7 +154,7 @@ AC_SUBST(go_include)
+ # All known GOOS values. This is the union of all operating systems
+ # supported by the gofrontend and all operating systems supported by
+ # the gc toolchain.
+-ALLGOOS="aix android darwin dragonfly freebsd irix linux netbsd openbsd plan9 rtems solaris windows"
++ALLGOOS="aix android darwin dragonfly freebsd irix gnu linux netbsd openbsd plan9 rtems solaris windows"
+
+ is_darwin=no
+ is_freebsd=no
+@@ -166,6 +166,7 @@ is_dragonfly=no
+ is_rtems=no
+ is_solaris=no
+ is_aix=no
++is_gnu=no
+ GOOS=unknown
+ case ${host} in
+ *-*-darwin*) is_darwin=yes; GOOS=darwin ;;
+@@ -178,6 +179,7 @@ case ${host} in
+ *-*-rtems*) is_rtems=yes; GOOS=rtems ;;
+ *-*-solaris2*) is_solaris=yes; GOOS=solaris ;;
+ *-*-aix*) is_aix=yes; GOOS=aix ;;
++ *-*-gnu*) is_gnu=yes; GOOS=gnu ;;
+ esac
+ AM_CONDITIONAL(LIBGO_IS_DARWIN, test $is_darwin = yes)
+ AM_CONDITIONAL(LIBGO_IS_FREEBSD, test $is_freebsd = yes)
+@@ -189,6 +191,7 @@ AM_CONDITIONAL(LIBGO_IS_DRAGONFLY, test
+ AM_CONDITIONAL(LIBGO_IS_RTEMS, test $is_rtems = yes)
+ AM_CONDITIONAL(LIBGO_IS_SOLARIS, test $is_solaris = yes)
+ AM_CONDITIONAL(LIBGO_IS_AIX, test $is_aix = yes)
++AM_CONDITIONAL(LIBGO_IS_GNU, test $is_gnu = yes)
+ AM_CONDITIONAL(LIBGO_IS_BSD, test $is_darwin = yes -o $is_dragonfly = yes -o $is_freebsd = yes -o $is_netbsd = yes -o $is_openbsd = yes)
+ AC_SUBST(GOOS)
+ AC_SUBST(ALLGOOS)
+@@ -798,6 +801,13 @@ main ()
+ CFLAGS="$CFLAGS_hold"
+ LIBS="$LIBS_hold"
+ ])
++case ${host} in
++ *-*-gnu*)
++ LIBS="$LIBS -lpthread"
++ AC_SUBST(LIBS)
++ ;;
++esac
++
+ dnl overwrite for the mips* 64bit multilibs, fails on some buildds
+ if test "$libgo_cv_lib_setcontext_clobbers_tls" = "yes"; then
+ case "$target" in
+Index: gcc-8-8-20180310-1.1/src/libgo/Makefile.am
+===================================================================
+--- gcc-8-8-20180310-1.1.orig/src/libgo/Makefile.am
++++ gcc-8-8-20180310-1.1/src/libgo/Makefile.am
+@@ -429,10 +429,14 @@ else
+ if LIBGO_IS_AIX
+ runtime_getncpu_file = runtime/getncpu-aix.c
+ else
++if LIBGO_IS_GNU
++runtime_getncpu_file = runtime/getncpu-gnu.c
++else
+ runtime_getncpu_file = runtime/getncpu-none.c
+ endif
+ endif
+ endif
++endif
+ endif
+ endif
+ endif
+Index: gcc-8-8-20180310-1.1/src/libgo/Makefile.in
+===================================================================
+--- gcc-8-8-20180310-1.1.orig/src/libgo/Makefile.in
++++ gcc-8-8-20180310-1.1/src/libgo/Makefile.in
+@@ -186,7 +186,8 @@ am__DEPENDENCIES_4 = $(am__DEPENDENCIES_
+ $(am__DEPENDENCIES_3) $(am__DEPENDENCIES_3)
+ libgo_llgo_la_DEPENDENCIES = $(am__DEPENDENCIES_4)
+ @LIBGO_IS_RTEMS_TRUE@am__objects_1 = rtems-task-variable-add.lo
+-@LIBGO_IS_AIX_FALSE@@LIBGO_IS_DARWIN_FALSE@@LIBGO_IS_FREEBSD_FALSE@@LIBGO_IS_IRIX_FALSE@@LIBGO_IS_LINUX_FALSE@@LIBGO_IS_NETBSD_FALSE@@LIBGO_IS_SOLARIS_FALSE@am__objects_2 = getncpu-none.lo
++@LIBGO_IS_AIX_FALSE@@LIBGO_IS_DARWIN_FALSE@@LIBGO_IS_FREEBSD_FALSE@@LIBGO_IS_GNU_FALSE@@LIBGO_IS_IRIX_FALSE@@LIBGO_IS_LINUX_FALSE@@LIBGO_IS_NETBSD_FALSE@@LIBGO_IS_SOLARIS_FALSE@am__objects_2 = getncpu-none.lo
++@LIBGO_IS_AIX_FALSE@@LIBGO_IS_DARWIN_FALSE@@LIBGO_IS_FREEBSD_FALSE@@LIBGO_IS_GNU_TRUE@@LIBGO_IS_IRIX_FALSE@@LIBGO_IS_LINUX_FALSE@@LIBGO_IS_NETBSD_FALSE@@LIBGO_IS_SOLARIS_FALSE@am__objects_2 = getncpu-gnu.lo
+ @LIBGO_IS_AIX_TRUE@@LIBGO_IS_DARWIN_FALSE@@LIBGO_IS_FREEBSD_FALSE@@LIBGO_IS_IRIX_FALSE@@LIBGO_IS_LINUX_FALSE@@LIBGO_IS_NETBSD_FALSE@@LIBGO_IS_SOLARIS_FALSE@am__objects_2 = getncpu-aix.lo
+ @LIBGO_IS_DARWIN_FALSE@@LIBGO_IS_FREEBSD_FALSE@@LIBGO_IS_IRIX_FALSE@@LIBGO_IS_LINUX_FALSE@@LIBGO_IS_NETBSD_TRUE@@LIBGO_IS_SOLARIS_FALSE@am__objects_2 = getncpu-bsd.lo
+ @LIBGO_IS_DARWIN_FALSE@@LIBGO_IS_FREEBSD_TRUE@@LIBGO_IS_IRIX_FALSE@@LIBGO_IS_LINUX_FALSE@@LIBGO_IS_SOLARIS_FALSE@am__objects_2 = getncpu-bsd.lo
+@@ -762,7 +763,8 @@ noinst_DATA = golang_org/x/net/internal/
+ zstdpkglist.go zdefaultcc.go
+ @LIBGO_IS_RTEMS_FALSE@rtems_task_variable_add_file =
+ @LIBGO_IS_RTEMS_TRUE@rtems_task_variable_add_file = runtime/rtems-task-variable-add.c
+-@LIBGO_IS_AIX_FALSE@@LIBGO_IS_DARWIN_FALSE@@LIBGO_IS_FREEBSD_FALSE@@LIBGO_IS_IRIX_FALSE@@LIBGO_IS_LINUX_FALSE@@LIBGO_IS_NETBSD_FALSE@@LIBGO_IS_SOLARIS_FALSE@runtime_getncpu_file = runtime/getncpu-none.c
++@LIBGO_IS_AIX_FALSE@@LIBGO_IS_DARWIN_FALSE@@LIBGO_IS_FREEBSD_FALSE@@LIBGO_IS_GNU_FALSE@@LIBGO_IS_IRIX_FALSE@@LIBGO_IS_LINUX_FALSE@@LIBGO_IS_NETBSD_FALSE@@LIBGO_IS_SOLARIS_FALSE@runtime_getncpu_file = runtime/getncpu-none.c
++@LIBGO_IS_AIX_FALSE@@LIBGO_IS_DARWIN_FALSE@@LIBGO_IS_FREEBSD_FALSE@@LIBGO_IS_GNU_TRUE@@LIBGO_IS_IRIX_FALSE@@LIBGO_IS_LINUX_FALSE@@LIBGO_IS_NETBSD_FALSE@@LIBGO_IS_SOLARIS_FALSE@runtime_getncpu_file = runtime/getncpu-gnu.c
+ @LIBGO_IS_AIX_TRUE@@LIBGO_IS_DARWIN_FALSE@@LIBGO_IS_FREEBSD_FALSE@@LIBGO_IS_IRIX_FALSE@@LIBGO_IS_LINUX_FALSE@@LIBGO_IS_NETBSD_FALSE@@LIBGO_IS_SOLARIS_FALSE@runtime_getncpu_file = runtime/getncpu-aix.c
+ @LIBGO_IS_DARWIN_FALSE@@LIBGO_IS_FREEBSD_FALSE@@LIBGO_IS_IRIX_FALSE@@LIBGO_IS_LINUX_FALSE@@LIBGO_IS_NETBSD_TRUE@@LIBGO_IS_SOLARIS_FALSE@runtime_getncpu_file = runtime/getncpu-bsd.c
+ @LIBGO_IS_DARWIN_FALSE@@LIBGO_IS_FREEBSD_TRUE@@LIBGO_IS_IRIX_FALSE@@LIBGO_IS_LINUX_FALSE@@LIBGO_IS_SOLARIS_FALSE@runtime_getncpu_file = runtime/getncpu-bsd.c
+@@ -1569,6 +1572,7 @@ distclean-compile:
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/env_posix.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getncpu-aix.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getncpu-bsd.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getncpu-gnu.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getncpu-irix.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getncpu-linux.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getncpu-none.Plo@am__quote@
+@@ -1933,6 +1937,13 @@ getncpu-none.lo: runtime/getncpu-none.c
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ @am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o getncpu-none.lo `test -f 'runtime/getncpu-none.c' || echo '$(srcdir)/'`runtime/getncpu-none.c
+
++getncpu-gnu.lo: runtime/getncpu-gnu.c
++@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT getncpu-gnu.lo -MD -MP -MF $(DEPDIR)/getncpu-gnu.Tpo -c -o getncpu-gnu.lo `test -f 'runtime/getncpu-gnu.c' || echo '$(srcdir)/'`runtime/getncpu-gnu.c
++@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/getncpu-gnu.Tpo $(DEPDIR)/getncpu-gnu.Plo
++@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='runtime/getncpu-gnu.c' object='getncpu-gnu.lo' libtool=yes @AMDEPBACKSLASH@
++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
++@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o getncpu-gnu.lo `test -f 'runtime/getncpu-gnu.c' || echo '$(srcdir)/'`runtime/getncpu-gnu.c
++
+ getncpu-aix.lo: runtime/getncpu-aix.c
+ @am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT getncpu-aix.lo -MD -MP -MF $(DEPDIR)/getncpu-aix.Tpo -c -o getncpu-aix.lo `test -f 'runtime/getncpu-aix.c' || echo '$(srcdir)/'`runtime/getncpu-aix.c
+ @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/getncpu-aix.Tpo $(DEPDIR)/getncpu-aix.Plo
+Index: gcc-8-8-20180310-1.1/src/libgo/match.sh
+===================================================================
+--- gcc-8-8-20180310-1.1.orig/src/libgo/match.sh
++++ gcc-8-8-20180310-1.1/src/libgo/match.sh
+@@ -113,7 +113,7 @@ for f in $gofiles; do
+ "") ;;
+ $goarch) ;;
+ $goos) ;;
+- aix | android | darwin | dragonfly | freebsd | linux | nacl | netbsd | openbsd | plan9 | solaris | windows)
++ aix | android | darwin | dragonfly | freebsd | gnu | linux | nacl | netbsd | openbsd | plan9 | solaris | windows)
+ tag1=nonmatchingtag
+ ;;
+ 386 | amd64 | amd64p32 | arm | armbe | arm64 | arm64be | alpha | ia64 | m68k | ppc64 | ppc64le | mips | mipsle | mips64 | mips64le | mips64p32 | mips64p32le | ppc | riscv64 | s390 | s390x | sh | shbe | sparc | sparc64)
+@@ -125,7 +125,7 @@ for f in $gofiles; do
+ "") ;;
+ $goarch) ;;
+ $goos) ;;
+- aix | android | darwin | dragonfly | freebsd | linux | nacl | netbsd | openbsd | plan9 | solaris | windows)
++ aix | android | darwin | dragonfly | freebsd | gnu | linux | nacl | netbsd | openbsd | plan9 | solaris | windows)
+ tag2=nonmatchingtag
+ ;;
+ 386 | amd64 | amd64p32 | arm | armbe | arm64 | arm64be | alpha | ia64 | m68k | ppc64 | ppc64le | mips | mipsle | mips64 | mips64le | mips64p32 | mips64p32le | ppc | riscv64 | s390 | s390x | sh | shbe | sparc | sparc64)
+Index: gcc-8-8-20180310-1.1/src/libgo/mksigtab.sh
+===================================================================
+--- gcc-8-8-20180310-1.1.orig/src/libgo/mksigtab.sh
++++ gcc-8-8-20180310-1.1/src/libgo/mksigtab.sh
+@@ -43,7 +43,13 @@ addsig _SIGINT '{_SigNotify + _SigKi
+ addsig _SIGQUIT '{_SigNotify + _SigThrow, "SIGQUIT: quit"}'
+ addsig _SIGILL '{_SigThrow + _SigUnblock, "SIGILL: illegal instruction"}'
+ addsig _SIGTRAP '{_SigThrow + _SigUnblock, "SIGTRAP: trace trap"}'
++# Special treatment of SIGABRT for GNU/Hurd
++# /usr/include/i386-gnu/bits/signum.h: #define SIGABRT SIGIOT
++if egrep 'define SIGABRT SIGIOT' gen-sysinfo.go > /dev/null 2>&1; then
++addsig _SIGIOT '{_SigNotify + _SigThrow, "SIGIOT: abort"}'
++else
+ addsig _SIGABRT '{_SigNotify + _SigThrow, "SIGABRT: abort"}'
++fi
+ addsig _SIGBUS '{_SigPanic + _SigUnblock, "SIGBUS: bus error"}'
+ addsig _SIGFPE '{_SigPanic + _SigUnblock, "SIGFPE: floating-point exception"}'
+ addsig _SIGKILL '{0, "SIGKILL: kill"}'
+@@ -91,6 +97,7 @@ checksig _SIGCANCEL '{_SigSetStack + _S
+ checksig _SIGXRES '{_SigNotify, "SIGXRES: resource control exceeded"}'
+ checksig _SIGJVM1 '{_SigNotify, "SIGJVM1: reserved signal for Java Virtual Machine"}'
+ checksig _SIGJVM2 '{_SigNotify, "SIGJVM2: reserved signal for Java Virtual Machine"}'
++checksig _SIGLOST ' {_SigNotify, "SIGLOST: resource lost (Sun); server died (GNU)"}'
+
+ # Special handling of signals 32 and 33 on GNU/Linux systems,
+ # because they are special to glibc.
+@@ -112,6 +119,11 @@ else
+ rtmax=`grep 'const _*SIGRTMAX = [0-9]*$' gen-sysinfo.go | sed -e 's/.* = \([0-9]*\)/\1/'`
+ if test -n "$rtmax"; then
+ nsig=`expr $rtmax + 1`
++ elif grep 'const _*SIGRTMAX = [ (]*_*SIGRTMIN[ )]*' gen-sysinfo.go >/dev/null 2>&1; then
++ rtmin=`grep 'const _*SIGRTMIN = [0-9]*$' gen-sysinfo.go | sed -e 's/.* = \([0-9]*\)/\1/'`
++ if test -n "$rtmin"; then
++ nsig=`expr $rtmin + 1`
++ fi
+ fi
+ fi
+ fi
+Index: gcc-8-8-20180310-1.1/src/libgo/mksysinfo.sh
+===================================================================
+--- gcc-8-8-20180310-1.1.orig/src/libgo/mksysinfo.sh
++++ gcc-8-8-20180310-1.1/src/libgo/mksysinfo.sh
+@@ -54,8 +54,33 @@ grep '^type _mld_hdr_t ' gen-sysinfo.go
+ sed -e 's/_in6_addr/[16]byte/' >> ${OUT}
+
+ # The errno constants. These get type Errno.
+- egrep '#define E[A-Z0-9_]+ ' errno.i | \
+- sed -e 's/^#define \(E[A-Z0-9_]*\) .*$/const \1 = Errno(_\1)/' >> ${OUT}
++# egrep '#define E[A-Z0-9_]+ ' errno.i | \
++# sed -e 's/^#define \(E[A-Z0-9_]*\) .*$/const \1 = Errno(_\1)/' >> ${OUT}
++
++egrep '#define E[A-Z0-9_]+ [0-9]' errno.i | \
++ sed -e 's/^#define \(E[A-Z0-9_]*\) .*$/const \1 = Errno(_\1)/' >> ${OUT}
++# Workaround for GNU/Hurd _EMIG_* errors having negative values
++egrep '#define E[A-Z0-9_]+ -[0-9]' errno.i | \
++ sed -e 's/^#define \(E[A-Z0-9_]*\) .*$/const \1 = Errno(-_\1)/' >> ${OUT}
++
++# Special treatment of EWOULDBLOCK for GNU/Hurd
++# /usr/include/i386-gnu/bits/errno.h: #define EWOULDBLOCK EAGAIN
++if egrep '^const _EWOULDBLOCK = _EAGAIN' gen-sysinfo.go > /dev/null 2>&1; then
++ if egrep '^const EAGAIN = Errno\(_EAGAIN\)' ${OUT}; then
++ echo 'const EWOULDBLOCK = Errno(_EAGAIN)' >> ${OUT}
++ fi
++fi
++
++# Special treatment of _NSIG for GNU/Hurd
++# /usr/include/i386-gnu/bits/signum-generic.h:
++#define __SIGRTMIN 32
++#define __SIGRTMAX __SIGRTMIN
++#define _NSIG (__SIGRTMAX + 1)
++# Brute force method (mksigtab.sh bug):
++#if egrep '^const ___SIGRTMAX = ___SIGRTMIN' gen-sysinfo.go > /dev/null 2>&1; then
++# egrep '^const ___SIGRTMIN = 32' gen-sysinfo.go > /dev/null 2>&1 | \
++# echo "const __SIGRTMAX = 32" >> gen-sysinfo.go
++#fi
+
+ # The O_xxx flags.
+ egrep '^const _(O|F|FD)_' gen-sysinfo.go | \
+@@ -124,6 +149,11 @@ grep '^const _SYS_' gen-sysinfo.go | \
+ echo "const $sup = _$sys" >> ${OUT}
+ done
+
++# Special treatment of SYS_IOCTL for GNU/Hurd
++if ! grep '^const SYS_IOCTL' ${OUT} > /dev/null 2>&1; then
++ echo "const SYS_IOCTL = 0" >> ${OUT}
++fi
++
+ # The GNU/Linux support wants to use SYS_GETDENTS64 if available.
+ if ! grep '^const SYS_GETDENTS ' ${OUT} >/dev/null 2>&1; then
+ echo "const SYS_GETDENTS = 0" >> ${OUT}
+@@ -451,6 +481,11 @@ grep '^type _st_timespec ' gen-sysinfo.g
+
+ # The stat type.
+ # Prefer largefile variant if available.
++# Special treatment of st_dev for GNU/Hurd
++# /usr/include/i386-gnu/bits/stat.h: #define st_dev st_fsid
++if grep 'define st_dev st_fsid' gen-sysinfo.go > /dev/null 2>&1; then
++ sed -i -e 's/; st_fsid/; st_dev/' gen-sysinfo.go
++fi
+ stat=`grep '^type _stat64 ' gen-sysinfo.go || true`
+ if test "$stat" != ""; then
+ grep '^type _stat64 ' gen-sysinfo.go
--- /dev/null
+Index: gcc-8-8-20171108-1.1/src/libgo/go/crypto/x509/root_gnu.go
+===================================================================
+--- /dev/null
++++ gcc-8-8-20171108-1.1/src/libgo/go/crypto/x509/root_gnu.go
+@@ -0,0 +1,11 @@
++// Copyright 2015 The Go Authors. All rights reserved.
++// Use of this source code is governed by a BSD-style
++// license that can be found in the LICENSE file.
++// This file is derived from root_linux.go
++
++package x509
++
++// Possible certificate files; stop after finding one.
++var certFiles = []string{
++ "/etc/ssl/certs/ca-certificates.crt", // Debian/Ubuntu/Gentoo etc.
++}
--- /dev/null
+Index: gcc-8-8-20180308-1.1/src/libgo/go/go/build/syslist.go
+===================================================================
+--- gcc-8-8-20180308-1.1.orig/src/libgo/go/go/build/syslist.go
++++ gcc-8-8-20180308-1.1/src/libgo/go/go/build/syslist.go
+@@ -4,5 +4,5 @@
+
+ package build
+
+-const goosList = "aix android darwin dragonfly freebsd linux nacl netbsd openbsd plan9 solaris windows zos "
++const goosList = "aix android darwin dragonfly freebsd gnu linux nacl netbsd openbsd plan9 solaris windows zos "
+ const goarchList = "386 amd64 amd64p32 arm armbe arm64 arm64be alpha m68k ppc64 ppc64le mips mipsle mips64 mips64le mips64p32 mips64p32le ppc riscv64 s390 s390x sh shbe sparc sparc64"
--- /dev/null
+Index: gcc-8-8-20171108-1.1/src/libgo/go/net/cgo_gnu.go
+===================================================================
+--- /dev/null
++++ gcc-8-8-20171108-1.1/src/libgo/go/net/cgo_gnu.go
+@@ -0,0 +1,17 @@
++// Copyright 2011 The Go Authors. All rights reserved.
++// Use of this source code is governed by a BSD-style
++// license that can be found in the LICENSE file.
++// This file is derived from cgo_bsd.go
++
++// +build cgo,!netgo
++// +build gnu
++
++package net
++
++/*
++#include <netdb.h>
++*/
++
++import "syscall"
++
++const cgoAddrInfoFlags = syscall.AI_CANONNAME | syscall.AI_V4MAPPED | syscall.AI_ALL
+Index: gcc-8-8-20171108-1.1/src/libgo/go/net/sendfile_gnu.go
+===================================================================
+--- /dev/null
++++ gcc-8-8-20171108-1.1/src/libgo/go/net/sendfile_gnu.go
+@@ -0,0 +1,42 @@
++// Copyright 2011 The Go Authors. All rights reserved.
++// Use of this source code is governed by a BSD-style
++// license that can be found in the LICENSE file.
++// This file is identical to sendfile_linux.go
++
++package net
++
++import (
++ "internal/poll"
++ "io"
++ "os"
++)
++
++// sendFile copies the contents of r to c using the sendfile
++// system call to minimize copies.
++//
++// if handled == true, sendFile returns the number of bytes copied and any
++// non-EOF error.
++//
++// if handled == false, sendFile performed no work.
++func sendFile(c *netFD, r io.Reader) (written int64, err error, handled bool) {
++ var remain int64 = 1 << 62 // by default, copy until EOF
++
++ lr, ok := r.(*io.LimitedReader)
++ if ok {
++ remain, r = lr.N, lr.R
++ if remain <= 0 {
++ return 0, nil, true
++ }
++ }
++ f, ok := r.(*os.File)
++ if !ok {
++ return 0, nil, false
++ }
++
++ written, err = poll.SendFile(&c.pfd, int(f.Fd()), remain)
++
++ if lr != nil {
++ lr.N = remain - written
++ }
++ return written, wrapSyscallError("sendfile", err), written > 0
++}
+Index: gcc-8-8-20171108-1.1/src/libgo/go/net/sock_gnu.go
+===================================================================
+--- /dev/null
++++ gcc-8-8-20171108-1.1/src/libgo/go/net/sock_gnu.go
+@@ -0,0 +1,15 @@
++// Copyright 2014 The Go Authors. All rights reserved.
++// Use of this source code is governed by a BSD-style
++// license that can be found in the LICENSE file.
++// This file is derived from sock_stub.go
++
++// +build gnu
++
++package net
++
++import "syscall"
++
++func maxListenerBacklog() int {
++ // From /usr/include/i386-gnu/bits/socket.h
++ return syscall.SOMAXCONN
++}
+Index: gcc-8-8-20171108-1.1/src/libgo/go/net/sockopt_gnu.go
+===================================================================
+--- /dev/null
++++ gcc-8-8-20171108-1.1/src/libgo/go/net/sockopt_gnu.go
+@@ -0,0 +1,33 @@
++// Copyright 2011 The Go Authors. All rights reserved.
++// Use of this source code is governed by a BSD-style
++// license that can be found in the LICENSE file.
++// This file is identical to sockopt_linux.go
++
++package net
++
++import (
++ "os"
++ "syscall"
++)
++
++func setDefaultSockopts(s, family, sotype int, ipv6only bool) error {
++ if family == syscall.AF_INET6 && sotype != syscall.SOCK_RAW {
++ // Allow both IP versions even if the OS default
++ // is otherwise. Note that some operating systems
++ // never admit this option.
++ syscall.SetsockoptInt(s, syscall.IPPROTO_IPV6, syscall.IPV6_V6ONLY, boolint(ipv6only))
++ }
++ // Allow broadcast.
++ return os.NewSyscallError("setsockopt", syscall.SetsockoptInt(s, syscall.SOL_SOCKET, syscall.SO_BROADCAST, 1))
++}
++
++func setDefaultListenerSockopts(s int) error {
++ // Allow reuse of recently-used addresses.
++ return os.NewSyscallError("setsockopt", syscall.SetsockoptInt(s, syscall.SOL_SOCKET, syscall.SO_REUSEADDR, 1))
++}
++
++func setDefaultMulticastSockopts(s int) error {
++ // Allow multicast UDP and raw IP datagram sockets to listen
++ // concurrently across multiple listeners.
++ return os.NewSyscallError("setsockopt", syscall.SetsockoptInt(s, syscall.SOL_SOCKET, syscall.SO_REUSEADDR, 1))
++}
+Index: gcc-8-8-20171108-1.1/src/libgo/go/net/sockoptip_gnu.go
+===================================================================
+--- /dev/null
++++ gcc-8-8-20171108-1.1/src/libgo/go/net/sockoptip_gnu.go
+@@ -0,0 +1,31 @@
++// Copyright 2011 The Go Authors. All rights reserved.
++// Use of this source code is governed by a BSD-style
++// license that can be found in the LICENSE file.
++// This file is identical to sockoptip_bsd.go
++
++// +build gnu
++
++package net
++
++import (
++ "runtime"
++ "syscall"
++)
++
++func setIPv4MulticastInterface(fd *netFD, ifi *Interface) error {
++ ip, err := interfaceToIPv4Addr(ifi)
++ if err != nil {
++ return wrapSyscallError("setsockopt", err)
++ }
++ var a [4]byte
++ copy(a[:], ip.To4())
++ err = fd.pfd.SetsockoptInet4Addr(syscall.IPPROTO_IP, syscall.IP_MULTICAST_IF, a)
++ runtime.KeepAlive(fd)
++ return wrapSyscallError("setsockopt", err)
++}
++
++func setIPv4MulticastLoopback(fd *netFD, v bool) error {
++ err := fd.pfd.SetsockoptByte(syscall.IPPROTO_IP, syscall.IP_MULTICAST_LOOP, byte(boolint(v)))
++ runtime.KeepAlive(fd)
++ return wrapSyscallError("setsockopt", err)
++}
+Index: gcc-8-8-20171108-1.1/src/libgo/go/internal/poll/sendfile_gnu.go
+===================================================================
+--- /dev/null
++++ gcc-8-8-20171108-1.1/src/libgo/go/internal/poll/sendfile_gnu.go
+@@ -0,0 +1,51 @@
++// Copyright 2011 The Go Authors. All rights reserved.
++// Use of this source code is governed by a BSD-style
++// license that can be found in the LICENSE file.
++// This file is identical to sendfile_linux.go
++
++package poll
++
++import "syscall"
++
++// maxSendfileSize is the largest chunk size we ask the kernel to copy
++// at a time.
++const maxSendfileSize int = 4 << 20
++
++// SendFile wraps the sendfile system call.
++func SendFile(dstFD *FD, src int, remain int64) (int64, error) {
++ if err := dstFD.writeLock(); err != nil {
++ return 0, err
++ }
++ defer dstFD.writeUnlock()
++
++ dst := int(dstFD.Sysfd)
++ var written int64
++ var err error
++ for remain > 0 {
++ n := maxSendfileSize
++ if int64(n) > remain {
++ n = int(remain)
++ }
++ n, err1 := syscall.Sendfile(dst, src, nil, n)
++ if n > 0 {
++ written += int64(n)
++ remain -= int64(n)
++ }
++ if n == 0 && err1 == nil {
++ break
++ }
++ if err1 == syscall.EAGAIN {
++ if err1 = dstFD.pd.waitWrite(dstFD.isFile); err1 == nil {
++ continue
++ }
++ }
++ if err1 != nil {
++ // This includes syscall.ENOSYS (no kernel
++ // support) and syscall.EINVAL (fd types which
++ // don't implement sendfile)
++ err = err1
++ break
++ }
++ }
++ return written, err
++}
--- /dev/null
+Index: gcc-8-8-20171102-1.1/src/libgo/go/os/executable_procfs.go
+===================================================================
+--- gcc-8-8-20171102-1.1.orig/src/libgo/go/os/executable_procfs.go
++++ gcc-8-8-20171102-1.1/src/libgo/go/os/executable_procfs.go
+@@ -19,7 +19,7 @@ var executablePath, executablePathErr =
+ switch runtime.GOOS {
+ default:
+ return "", errors.New("Executable not implemented for " + runtime.GOOS)
+- case "linux", "android":
++ case "gnu", "linux", "android":
+ procfn = "/proc/self/exe"
+ case "netbsd":
+ procfn = "/proc/curproc/exe"
+Index: gcc-8-8-20171102-1.1/src/libgo/go/os/pipe_gnu.go
+===================================================================
+--- /dev/null
++++ gcc-8-8-20171102-1.1/src/libgo/go/os/pipe_gnu.go
+@@ -0,0 +1,38 @@
++// Copyright 2013 The Go Authors. All rights reserved.
++// Use of this source code is governed by a BSD-style
++// license that can be found in the LICENSE file.
++// This file is derived from pipe_linux.go
++
++// +build gnu
++
++package os
++
++import "syscall"
++
++// Pipe returns a connected pair of Files; reads from r return bytes written to w.
++// It returns the files and an error, if any.
++func Pipe() (r *File, w *File, err error) {
++ var p [2]int
++
++ e := syscall.Pipe2(p[0:], syscall.O_CLOEXEC)
++ // pipe2 was added in 2.6.27 and our minimum requirement is 2.6.23, so it
++ // might not be implemented.
++ if e == syscall.ENOSYS {
++ // See ../syscall/exec.go for description of lock.
++ syscall.ForkLock.RLock()
++ e = syscall.Pipe(p[0:])
++ if e != nil {
++ syscall.ForkLock.RUnlock()
++ return nil, nil, NewSyscallError("pipe", e)
++ }
++ syscall.CloseOnExec(p[0])
++ syscall.CloseOnExec(p[1])
++ syscall.ForkLock.RUnlock()
++ } else if e != nil {
++ return nil, nil, NewSyscallError("pipe2", e)
++ }
++
++ return NewFile(uintptr(p[0]), "|0"), NewFile(uintptr(p[1]), "|1"), nil
++//FIXME: When netpoll_poll.go is implemented
++// return newFile(uintptr(p[0]), "|0", true), newFile(uintptr(p[1]), "|1", true), nil
++}
--- /dev/null
+Index: gcc-8-8.3.0/src/libgo/go/runtime/netpoll.go
+===================================================================
+--- gcc-8-8.3.0.orig/src/libgo/go/runtime/netpoll.go
++++ gcc-8-8.3.0/src/libgo/go/runtime/netpoll.go
+@@ -170,7 +170,7 @@ func poll_runtime_pollWait(pd *pollDesc,
+ return err
+ }
+ // As for now only Solaris uses level-triggered IO.
+- if GOOS == "solaris" {
++ if GOOS == "solaris" || GOOS == "gnu" {
+ netpollarm(pd, mode)
+ }
+ for !netpollblock(pd, int32(mode), false) {
+Index: gcc-8-8.3.0/src/libgo/go/runtime/netpoll_gnu.go
+===================================================================
+--- /dev/null
++++ gcc-8-8.3.0/src/libgo/go/runtime/netpoll_gnu.go
+@@ -0,0 +1,241 @@
++// Copyright 2019 The Go Authors. All rights reserved.
++// Use of this source code is governed by a BSD-style
++// license that can be found in the LICENSE file.
++
++package runtime
++
++import "unsafe"
++
++// FIXME: Improve network poller for hurd.
++// This is based on the former libgo/runtime/netpoll_select.c implementation
++// except that it uses poll instead of select and is written in Go.
++// It's also based on Solaris implementation for the arming mechanisms
++// Inspiration was also taken from netpoll_aix.go and netpoll_solaris.go
++
++//From /usr/include/x86_64-linux-gnu/sys/poll.h
++//go:noescape
++//extern poll
++func libc_poll(pfds *pollfd, nfds int32, timeout int32) int32
++
++//go:noescape
++//extern pipe2
++func libc_pipe2(fd *int32, flags int32) int32
++
++//pollfd represents the poll structure for GNU/Hurd operating system.
++type pollfd struct {
++ fd int32 // File descriptor to poll.
++ events int16 // Types of events poller cares about.
++ revents int16 // Types of events that actually occurred.
++}
++
++//From /usr/include/i386-gnu/bits/poll.h
++const _POLLIN = 01 // There is data to read.
++const _POLLPRI = 02 // There is urgent data to read.
++const _POLLOUT = 04 // Writing now will not block.
++const _POLLERR = 010 // Error condition.
++const _POLLHUP = 020 // Hung up.
++const _POLLNVAL = 040 // Invalid polling request.
++
++var (
++ pfds []pollfd
++ pds []*pollDesc
++ mtxpoll mutex
++ mtxset mutex
++ rdwake int32
++ wrwake int32
++ pendingUpdates int32
++)
++
++const pollVerbose = false
++
++func netpollinit() {
++ var p [2]int32
++
++ // Create the pipe we use to wakeup poll.
++ if err := libc_pipe2(&p[0], _O_CLOEXEC|_O_NONBLOCK); err < 0 {
++ throw("runtime:netpollinit(): failed to create pipe2")
++ }
++ rdwake = p[0]
++ wrwake = p[1]
++
++ // Pre-allocate array of pollfd structures for poll.
++ if pollVerbose {
++ println("*** allocating")
++ }
++ pfds = make([]pollfd, 1, 128)
++ if pollVerbose {
++ println("*** allocating done", &pfds[0])
++ }
++
++ // Poll the read side of the pipe.
++ pfds[0].fd = int32(rdwake)
++ pfds[0].events = int16(_POLLIN)
++ pfds[0].revents = int16(0)
++
++ pds = make([]*pollDesc, 1, 128)
++ // Checks for pd != nil are made in netpoll.
++ pds[0] = nil
++}
++
++func netpolldescriptor() uintptr {
++ // Both fds must be returned.
++ if rdwake > 0xFFFF || wrwake > 0xFFFF {
++ throw("netpolldescriptor: invalid fd number")
++ }
++ return uintptr(rdwake<<16 | wrwake)
++}
++
++// netpollwakeup writes on wrwake to wakeup poll before any changes.
++func netpollwakeup() {
++ if pendingUpdates == 0 {
++ pendingUpdates = 1
++ if pollVerbose {
++ println("*** writing 1 byte")
++ }
++ b := [1]byte{0}
++ write(uintptr(wrwake), unsafe.Pointer(&b[0]), 1)
++ }
++}
++
++func netpollopen(fd uintptr, pd *pollDesc) int32 {
++ if pollVerbose {
++ println("*** netpollopen", fd)
++ }
++ lock(&mtxpoll)
++ netpollwakeup()
++
++ lock(&mtxset)
++ unlock(&mtxpoll)
++
++ pd.user = uint32(len(pfds))
++ pfds = append(pfds, pollfd{fd: int32(fd)})
++ pds = append(pds, pd)
++ unlock(&mtxset)
++ return 0
++}
++
++func netpollclose(fd uintptr) int32 {
++ if pollVerbose {
++ println("*** netpollclose", fd)
++ }
++ lock(&mtxpoll)
++ netpollwakeup()
++
++ lock(&mtxset)
++ unlock(&mtxpoll)
++
++ for i := 0; i < len(pfds); i++ {
++ if pfds[i].fd == int32(fd) {
++ pfds[i] = pfds[len(pfds)-1]
++ pfds = pfds[:len(pfds)-1]
++
++ pds[i] = pds[len(pds)-1]
++ pds[i].user = uint32(i)
++ pds = pds[:len(pds)-1]
++ break
++ }
++ }
++ unlock(&mtxset)
++ return 0
++}
++
++func netpollarm(pd *pollDesc, mode int) {
++ if pollVerbose {
++ println("*** netpollarm", pd.fd, mode)
++ }
++ lock(&mtxpoll)
++ netpollwakeup()
++
++ lock(&mtxset)
++ unlock(&mtxpoll)
++
++ switch mode {
++ case 'r':
++ pfds[pd.user].events |= _POLLIN
++ case 'w':
++ pfds[pd.user].events |= _POLLOUT
++ }
++ unlock(&mtxset)
++}
++
++// polls for ready network connections
++// returns list of goroutines that become runnable
++//go:nowritebarrierrec
++func netpoll(block bool) *g {
++ timeout := int32(-1)
++ if !block {
++ timeout = 0
++ }
++
++ if pollVerbose {
++ println("*** netpoll", block)
++ }
++retry:
++ lock(&mtxpoll)
++ lock(&mtxset)
++ pendingUpdates = 0
++ unlock(&mtxpoll)
++
++ if pollVerbose {
++ println("*** netpoll before poll")
++ }
++ n := libc_poll(&pfds[0], int32(len(pfds)), timeout)
++ if pollVerbose {
++ println("*** netpoll after poll", n)
++ }
++ if n < 0 {
++ e := errno()
++ if e != _EINTR {
++ println("errno=", e, " len(pfds)=", len(pfds))
++ throw("poll failed")
++ }
++ if pollVerbose {
++ println("*** poll failed")
++ }
++ unlock(&mtxset)
++ goto retry
++ }
++ // Check if some descriptors need to be changed
++ if n != 0 && pfds[0].revents&(_POLLIN|_POLLHUP|_POLLERR) != 0 {
++ var b [1]byte
++ for read(rdwake, unsafe.Pointer(&b[0]), 1) == 1 {
++ if pollVerbose {
++ println("*** read 1 byte from pipe")
++ }
++ }
++ // Do not look at the other fds in this case as the mode may have changed
++ // XXX only additions of flags are made, so maybe it is ok
++ unlock(&mtxset)
++ goto retry
++ }
++ var gp guintptr
++
++ for i := 0; i < len(pfds) && n > 0; i++ {
++ pfd := &pfds[i]
++
++ var mode int32
++ if pfd.revents&(_POLLIN|_POLLHUP|_POLLERR) != 0 {
++ mode += 'r'
++ pfd.events &= ^_POLLIN
++ }
++ if pfd.revents&(_POLLOUT|_POLLHUP|_POLLERR) != 0 {
++ mode += 'w'
++ pfd.events &= ^_POLLOUT
++ }
++ if mode != 0 {
++ if pollVerbose {
++ println("*** netpollready i=", i, "revents=", pfd.revents, "events=", pfd.events, "pd=", pds[i])
++ }
++ netpollready(&gp, pds[i], mode)
++ n--
++ }
++ }
++ unlock(&mtxset)
++ if block && gp == 0 {
++ goto retry
++ }
++ if pollVerbose {
++ println("*** netpoll returning end")
++ }
++ return gp.ptr()
++}
+Index: gcc-8-8.3.0/src/libgo/go/runtime/os_gnu.go
+===================================================================
+--- /dev/null
++++ gcc-8-8.3.0/src/libgo/go/runtime/os_gnu.go
+@@ -0,0 +1,87 @@
++// Copyright 2011 The Go Authors. All rights reserved.
++// Use of this source code is governed by a BSD-style
++// license that can be found in the LICENSE file.
++// This file is derived from os_solaris.go
++
++package runtime
++
++import "unsafe"
++
++type mOS struct {
++ waitsema uintptr // semaphore for parking on locks
++}
++
++//extern malloc
++func libc_malloc(uintptr) unsafe.Pointer
++
++//go:noescape
++//extern sem_init
++func sem_init(sem *_sem_t, pshared int32, value uint32) int32
++
++//go:noescape
++//extern sem_wait
++func sem_wait(sem *_sem_t) int32
++
++//go:noescape
++//extern sem_post
++func sem_post(sem *_sem_t) int32
++
++//go:noescape
++//extern sem_timedwait
++func sem_timedwait(sem *_sem_t, timeout *timespec) int32
++
++//go:nosplit
++func semacreate(mp *m) {
++ if mp.mos.waitsema != 0 {
++ return
++ }
++
++ var sem *_sem_t
++
++ // Call libc's malloc rather than malloc. This will
++ // allocate space on the C heap. We can't call malloc
++ // here because it could cause a deadlock.
++ sem = (*_sem_t)(libc_malloc(unsafe.Sizeof(*sem)))
++ if sem_init(sem, 0, 0) != 0 {
++ throw("sem_init")
++ }
++ mp.mos.waitsema = uintptr(unsafe.Pointer(sem))
++}
++
++//go:nosplit
++func semasleep(ns int64) int32 {
++ _m_ := getg().m
++ if ns >= 0 {
++ var ts timespec
++ ts.set_sec(ns / 1000000000)
++ ts.set_nsec(int32(ns % 1000000000))
++
++ if sem_timedwait((*_sem_t)(unsafe.Pointer(_m_.mos.waitsema)), &ts) != 0 {
++ err := errno()
++ if err == _ETIMEDOUT || err == _EAGAIN || err == _EINTR {
++ return -1
++ }
++ throw("sem_timedwait")
++ }
++ return 0
++ }
++ for {
++ r1 := sem_wait((*_sem_t)(unsafe.Pointer(_m_.mos.waitsema)))
++ if r1 == 0 {
++ break
++ }
++ if errno() == _EINTR {
++ continue
++ }
++ throw("sem_wait")
++ }
++ return 0
++}
++
++//go:nosplit
++func semawakeup(mp *m) {
++ if sem_post((*_sem_t)(unsafe.Pointer(mp.mos.waitsema))) != 0 {
++ throw("sem_post")
++ }
++}
++
+Index: gcc-8-8.3.0/src/libgo/go/runtime/signal_gnu.go
+===================================================================
+--- /dev/null
++++ gcc-8-8.3.0/src/libgo/go/runtime/signal_gnu.go
+@@ -0,0 +1,750 @@
++// Copyright 2012 The Go Authors. All rights reserved.
++// Use of this source code is governed by a BSD-style
++// license that can be found in the LICENSE file.
++// This file is identical to signal_unix.go except for
++// dieFromSignal(_SIGIOT) instead of dieFromSignal(_SIGABRT)
++
++
++// +build gnu
++
++package runtime
++
++import (
++ "runtime/internal/atomic"
++ "unsafe"
++)
++
++// For gccgo's C code to call:
++//go:linkname initsig runtime.initsig
++//go:linkname sigtrampgo runtime.sigtrampgo
++
++// sigTabT is the type of an entry in the global sigtable array.
++// sigtable is inherently system dependent, and appears in OS-specific files,
++// but sigTabT is the same for all Unixy systems.
++// The sigtable array is indexed by a system signal number to get the flags
++// and printable name of each signal.
++type sigTabT struct {
++ flags int32
++ name string
++}
++
++//go:linkname os_sigpipe os.sigpipe
++func os_sigpipe() {
++ systemstack(sigpipe)
++}
++
++func signame(sig uint32) string {
++ if sig >= uint32(len(sigtable)) {
++ return ""
++ }
++ return sigtable[sig].name
++}
++
++const (
++ _SIG_DFL uintptr = 0
++ _SIG_IGN uintptr = 1
++)
++
++// Stores the signal handlers registered before Go installed its own.
++// These signal handlers will be invoked in cases where Go doesn't want to
++// handle a particular signal (e.g., signal occurred on a non-Go thread).
++// See sigfwdgo for more information on when the signals are forwarded.
++//
++// This is read by the signal handler; accesses should use
++// atomic.Loaduintptr and atomic.Storeuintptr.
++var fwdSig [_NSIG]uintptr
++
++// handlingSig is indexed by signal number and is non-zero if we are
++// currently handling the signal. Or, to put it another way, whether
++// the signal handler is currently set to the Go signal handler or not.
++// This is uint32 rather than bool so that we can use atomic instructions.
++var handlingSig [_NSIG]uint32
++
++// channels for synchronizing signal mask updates with the signal mask
++// thread
++var (
++ disableSigChan chan uint32
++ enableSigChan chan uint32
++ maskUpdatedChan chan struct{}
++)
++
++func init() {
++ // _NSIG is the number of signals on this operating system.
++ // sigtable should describe what to do for all the possible signals.
++ if len(sigtable) != _NSIG {
++ print("runtime: len(sigtable)=", len(sigtable), " _NSIG=", _NSIG, "\n")
++ throw("bad sigtable len")
++ }
++}
++
++var signalsOK bool
++
++// Initialize signals.
++// Called by libpreinit so runtime may not be initialized.
++//go:nosplit
++//go:nowritebarrierrec
++func initsig(preinit bool) {
++ if preinit {
++ // preinit is only passed as true if isarchive should be true.
++ isarchive = true
++ }
++
++ if !preinit {
++ // It's now OK for signal handlers to run.
++ signalsOK = true
++ }
++
++ // For c-archive/c-shared this is called by libpreinit with
++ // preinit == true.
++ if (isarchive || islibrary) && !preinit {
++ return
++ }
++
++ for i := uint32(0); i < _NSIG; i++ {
++ t := &sigtable[i]
++ if t.flags == 0 || t.flags&_SigDefault != 0 {
++ continue
++ }
++
++ // We don't need to use atomic operations here because
++ // there shouldn't be any other goroutines running yet.
++ fwdSig[i] = getsig(i)
++
++ if !sigInstallGoHandler(i) {
++ // Even if we are not installing a signal handler,
++ // set SA_ONSTACK if necessary.
++ if fwdSig[i] != _SIG_DFL && fwdSig[i] != _SIG_IGN {
++ setsigstack(i)
++ }
++ continue
++ }
++
++ handlingSig[i] = 1
++ setsig(i, getSigtramp())
++ }
++}
++
++//go:nosplit
++//go:nowritebarrierrec
++func sigInstallGoHandler(sig uint32) bool {
++ // For some signals, we respect an inherited SIG_IGN handler
++ // rather than insist on installing our own default handler.
++ // Even these signals can be fetched using the os/signal package.
++ switch sig {
++ case _SIGHUP, _SIGINT:
++ if atomic.Loaduintptr(&fwdSig[sig]) == _SIG_IGN {
++ return false
++ }
++ }
++
++ t := &sigtable[sig]
++ if t.flags&_SigSetStack != 0 {
++ return false
++ }
++
++ // When built using c-archive or c-shared, only install signal
++ // handlers for synchronous signals and SIGPIPE.
++ if (isarchive || islibrary) && t.flags&_SigPanic == 0 && sig != _SIGPIPE {
++ return false
++ }
++
++ return true
++}
++
++// sigenable enables the Go signal handler to catch the signal sig.
++// It is only called while holding the os/signal.handlers lock,
++// via os/signal.enableSignal and signal_enable.
++func sigenable(sig uint32) {
++ if sig >= uint32(len(sigtable)) {
++ return
++ }
++
++ // SIGPROF is handled specially for profiling.
++ if sig == _SIGPROF {
++ return
++ }
++
++ t := &sigtable[sig]
++ if t.flags&_SigNotify != 0 {
++ ensureSigM()
++ enableSigChan <- sig
++ <-maskUpdatedChan
++ if atomic.Cas(&handlingSig[sig], 0, 1) {
++ atomic.Storeuintptr(&fwdSig[sig], getsig(sig))
++ setsig(sig, getSigtramp())
++ }
++ }
++}
++
++// sigdisable disables the Go signal handler for the signal sig.
++// It is only called while holding the os/signal.handlers lock,
++// via os/signal.disableSignal and signal_disable.
++func sigdisable(sig uint32) {
++ if sig >= uint32(len(sigtable)) {
++ return
++ }
++
++ // SIGPROF is handled specially for profiling.
++ if sig == _SIGPROF {
++ return
++ }
++
++ t := &sigtable[sig]
++ if t.flags&_SigNotify != 0 {
++ ensureSigM()
++ disableSigChan <- sig
++ <-maskUpdatedChan
++
++ // If initsig does not install a signal handler for a
++ // signal, then to go back to the state before Notify
++ // we should remove the one we installed.
++ if !sigInstallGoHandler(sig) {
++ atomic.Store(&handlingSig[sig], 0)
++ setsig(sig, atomic.Loaduintptr(&fwdSig[sig]))
++ }
++ }
++}
++
++// sigignore ignores the signal sig.
++// It is only called while holding the os/signal.handlers lock,
++// via os/signal.ignoreSignal and signal_ignore.
++func sigignore(sig uint32) {
++ if sig >= uint32(len(sigtable)) {
++ return
++ }
++
++ // SIGPROF is handled specially for profiling.
++ if sig == _SIGPROF {
++ return
++ }
++
++ t := &sigtable[sig]
++ if t.flags&_SigNotify != 0 {
++ atomic.Store(&handlingSig[sig], 0)
++ setsig(sig, _SIG_IGN)
++ }
++}
++
++// clearSignalHandlers clears all signal handlers that are not ignored
++// back to the default. This is called by the child after a fork, so that
++// we can enable the signal mask for the exec without worrying about
++// running a signal handler in the child.
++//go:nosplit
++//go:nowritebarrierrec
++func clearSignalHandlers() {
++ for i := uint32(0); i < _NSIG; i++ {
++ if atomic.Load(&handlingSig[i]) != 0 {
++ setsig(i, _SIG_DFL)
++ }
++ }
++}
++
++// setProcessCPUProfiler is called when the profiling timer changes.
++// It is called with prof.lock held. hz is the new timer, and is 0 if
++// profiling is being disabled. Enable or disable the signal as
++// required for -buildmode=c-archive.
++func setProcessCPUProfiler(hz int32) {
++ if hz != 0 {
++ // Enable the Go signal handler if not enabled.
++ if atomic.Cas(&handlingSig[_SIGPROF], 0, 1) {
++ atomic.Storeuintptr(&fwdSig[_SIGPROF], getsig(_SIGPROF))
++ setsig(_SIGPROF, getSigtramp())
++ }
++ } else {
++ // If the Go signal handler should be disabled by default,
++ // disable it if it is enabled.
++ if !sigInstallGoHandler(_SIGPROF) {
++ if atomic.Cas(&handlingSig[_SIGPROF], 1, 0) {
++ setsig(_SIGPROF, atomic.Loaduintptr(&fwdSig[_SIGPROF]))
++ }
++ }
++ }
++}
++
++// setThreadCPUProfiler makes any thread-specific changes required to
++// implement profiling at a rate of hz.
++func setThreadCPUProfiler(hz int32) {
++ var it _itimerval
++ if hz == 0 {
++ setitimer(_ITIMER_PROF, &it, nil)
++ } else {
++ it.it_interval.tv_sec = 0
++ it.it_interval.set_usec(1000000 / hz)
++ it.it_value = it.it_interval
++ setitimer(_ITIMER_PROF, &it, nil)
++ }
++ _g_ := getg()
++ _g_.m.profilehz = hz
++}
++
++func sigpipe() {
++ if sigsend(_SIGPIPE) {
++ return
++ }
++ dieFromSignal(_SIGPIPE)
++}
++
++// sigtrampgo is called from the signal handler function, sigtramp,
++// written in assembly code.
++// This is called by the signal handler, and the world may be stopped.
++//
++// It must be nosplit because getg() is still the G that was running
++// (if any) when the signal was delivered, but it's (usually) called
++// on the gsignal stack. Until this switches the G to gsignal, the
++// stack bounds check won't work.
++//
++//go:nosplit
++//go:nowritebarrierrec
++func sigtrampgo(sig uint32, info *_siginfo_t, ctx unsafe.Pointer) {
++ if sigfwdgo(sig, info, ctx) {
++ return
++ }
++ g := getg()
++ if g == nil {
++ c := sigctxt{info, ctx}
++ if sig == _SIGPROF {
++ _, pc := getSiginfo(info, ctx)
++ sigprofNonGo(pc)
++ return
++ }
++ badsignal(uintptr(sig), &c)
++ return
++ }
++
++ setg(g.m.gsignal)
++ sighandler(sig, info, ctx, g)
++ setg(g)
++}
++
++// sigpanic turns a synchronous signal into a run-time panic.
++// If the signal handler sees a synchronous panic, it arranges the
++// stack to look like the function where the signal occurred called
++// sigpanic, sets the signal's PC value to sigpanic, and returns from
++// the signal handler. The effect is that the program will act as
++// though the function that got the signal simply called sigpanic
++// instead.
++//
++// This must NOT be nosplit because the linker doesn't know where
++// sigpanic calls can be injected.
++//
++// The signal handler must not inject a call to sigpanic if
++// getg().throwsplit, since sigpanic may need to grow the stack.
++func sigpanic() {
++ g := getg()
++ if !canpanic(g) {
++ throw("unexpected signal during runtime execution")
++ }
++
++ switch g.sig {
++ case _SIGBUS:
++ if g.sigcode0 == _BUS_ADRERR && g.sigcode1 < 0x1000 {
++ panicmem()
++ }
++ // Support runtime/debug.SetPanicOnFault.
++ if g.paniconfault {
++ panicmem()
++ }
++ print("unexpected fault address ", hex(g.sigcode1), "\n")
++ throw("fault")
++ case _SIGSEGV:
++ if (g.sigcode0 == 0 || g.sigcode0 == _SEGV_MAPERR || g.sigcode0 == _SEGV_ACCERR) && g.sigcode1 < 0x1000 {
++ panicmem()
++ }
++ // Support runtime/debug.SetPanicOnFault.
++ if g.paniconfault {
++ panicmem()
++ }
++ print("unexpected fault address ", hex(g.sigcode1), "\n")
++ throw("fault")
++ case _SIGFPE:
++ switch g.sigcode0 {
++ case _FPE_INTDIV:
++ panicdivide()
++ case _FPE_INTOVF:
++ panicoverflow()
++ }
++ panicfloat()
++ }
++
++ if g.sig >= uint32(len(sigtable)) {
++ // can't happen: we looked up g.sig in sigtable to decide to call sigpanic
++ throw("unexpected signal value")
++ }
++ panic(errorString(sigtable[g.sig].name))
++}
++
++// dieFromSignal kills the program with a signal.
++// This provides the expected exit status for the shell.
++// This is only called with fatal signals expected to kill the process.
++//go:nosplit
++//go:nowritebarrierrec
++func dieFromSignal(sig uint32) {
++ unblocksig(sig)
++ // Mark the signal as unhandled to ensure it is forwarded.
++ atomic.Store(&handlingSig[sig], 0)
++ raise(sig)
++
++ // That should have killed us. On some systems, though, raise
++ // sends the signal to the whole process rather than to just
++ // the current thread, which means that the signal may not yet
++ // have been delivered. Give other threads a chance to run and
++ // pick up the signal.
++ osyield()
++ osyield()
++ osyield()
++
++ // If that didn't work, try _SIG_DFL.
++ setsig(sig, _SIG_DFL)
++ raise(sig)
++
++ osyield()
++ osyield()
++ osyield()
++
++ // On Darwin we may still fail to die, because raise sends the
++ // signal to the whole process rather than just the current thread,
++ // and osyield just sleeps briefly rather than letting all other
++ // threads run. See issue 20315. Sleep longer.
++ if GOOS == "darwin" {
++ usleep(100)
++ }
++
++ // If we are still somehow running, just exit with the wrong status.
++ exit(2)
++}
++
++// raisebadsignal is called when a signal is received on a non-Go
++// thread, and the Go program does not want to handle it (that is, the
++// program has not called os/signal.Notify for the signal).
++func raisebadsignal(sig uint32, c *sigctxt) {
++ if sig == _SIGPROF {
++ // Ignore profiling signals that arrive on non-Go threads.
++ return
++ }
++
++ var handler uintptr
++ if sig >= _NSIG {
++ handler = _SIG_DFL
++ } else {
++ handler = atomic.Loaduintptr(&fwdSig[sig])
++ }
++
++ // Reset the signal handler and raise the signal.
++ // We are currently running inside a signal handler, so the
++ // signal is blocked. We need to unblock it before raising the
++ // signal, or the signal we raise will be ignored until we return
++ // from the signal handler. We know that the signal was unblocked
++ // before entering the handler, or else we would not have received
++ // it. That means that we don't have to worry about blocking it
++ // again.
++ unblocksig(sig)
++ setsig(sig, handler)
++
++ // If we're linked into a non-Go program we want to try to
++ // avoid modifying the original context in which the signal
++ // was raised. If the handler is the default, we know it
++ // is non-recoverable, so we don't have to worry about
++ // re-installing sighandler. At this point we can just
++ // return and the signal will be re-raised and caught by
++ // the default handler with the correct context.
++ if (isarchive || islibrary) && handler == _SIG_DFL && c.sigcode() != _SI_USER {
++ return
++ }
++
++ raise(sig)
++
++ // Give the signal a chance to be delivered.
++ // In almost all real cases the program is about to crash,
++ // so sleeping here is not a waste of time.
++ usleep(1000)
++
++ // If the signal didn't cause the program to exit, restore the
++ // Go signal handler and carry on.
++ //
++ // We may receive another instance of the signal before we
++ // restore the Go handler, but that is not so bad: we know
++ // that the Go program has been ignoring the signal.
++ setsig(sig, getSigtramp())
++}
++
++func crash() {
++ if GOOS == "darwin" {
++ // OS X core dumps are linear dumps of the mapped memory,
++ // from the first virtual byte to the last, with zeros in the gaps.
++ // Because of the way we arrange the address space on 64-bit systems,
++ // this means the OS X core file will be >128 GB and even on a zippy
++ // workstation can take OS X well over an hour to write (uninterruptible).
++ // Save users from making that mistake.
++ if GOARCH == "amd64" {
++ return
++ }
++ }
++
++ dieFromSignal(_SIGIOT)
++}
++
++// ensureSigM starts one global, sleeping thread to make sure at least one thread
++// is available to catch signals enabled for os/signal.
++func ensureSigM() {
++ if maskUpdatedChan != nil {
++ return
++ }
++ maskUpdatedChan = make(chan struct{})
++ disableSigChan = make(chan uint32)
++ enableSigChan = make(chan uint32)
++ go func() {
++ // Signal masks are per-thread, so make sure this goroutine stays on one
++ // thread.
++ LockOSThread()
++ defer UnlockOSThread()
++ // The sigBlocked mask contains the signals not active for os/signal,
++ // initially all signals except the essential. When signal.Notify()/Stop is called,
++ // sigenable/sigdisable in turn notify this thread to update its signal
++ // mask accordingly.
++ var sigBlocked sigset
++ sigfillset(&sigBlocked)
++ for i := range sigtable {
++ if !blockableSig(uint32(i)) {
++ sigdelset(&sigBlocked, i)
++ }
++ }
++ sigprocmask(_SIG_SETMASK, &sigBlocked, nil)
++ for {
++ select {
++ case sig := <-enableSigChan:
++ if sig > 0 {
++ sigdelset(&sigBlocked, int(sig))
++ }
++ case sig := <-disableSigChan:
++ if sig > 0 && blockableSig(sig) {
++ sigaddset(&sigBlocked, int(sig))
++ }
++ }
++ sigprocmask(_SIG_SETMASK, &sigBlocked, nil)
++ maskUpdatedChan <- struct{}{}
++ }
++ }()
++}
++
++// This is called when we receive a signal when there is no signal stack.
++// This can only happen if non-Go code calls sigaltstack to disable the
++// signal stack.
++func noSignalStack(sig uint32) {
++ println("signal", sig, "received on thread with no signal stack")
++ throw("non-Go code disabled sigaltstack")
++}
++
++// This is called if we receive a signal when there is a signal stack
++// but we are not on it. This can only happen if non-Go code called
++// sigaction without setting the SS_ONSTACK flag.
++func sigNotOnStack(sig uint32) {
++ println("signal", sig, "received but handler not on signal stack")
++ throw("non-Go code set up signal handler without SA_ONSTACK flag")
++}
++
++// signalDuringFork is called if we receive a signal while doing a fork.
++// We do not want signals at that time, as a signal sent to the process
++// group may be delivered to the child process, causing confusion.
++// This should never be called, because we block signals across the fork;
++// this function is just a safety check. See issue 18600 for background.
++func signalDuringFork(sig uint32) {
++ println("signal", sig, "received during fork")
++ throw("signal received during fork")
++}
++
++// This runs on a foreign stack, without an m or a g. No stack split.
++//go:nosplit
++//go:norace
++//go:nowritebarrierrec
++func badsignal(sig uintptr, c *sigctxt) {
++ needm(0)
++ if !sigsend(uint32(sig)) {
++ // A foreign thread received the signal sig, and the
++ // Go code does not want to handle it.
++ raisebadsignal(uint32(sig), c)
++ }
++ dropm()
++}
++
++// Determines if the signal should be handled by Go and if not, forwards the
++// signal to the handler that was installed before Go's. Returns whether the
++// signal was forwarded.
++// This is called by the signal handler, and the world may be stopped.
++//go:nosplit
++//go:nowritebarrierrec
++func sigfwdgo(sig uint32, info *_siginfo_t, ctx unsafe.Pointer) bool {
++ if sig >= uint32(len(sigtable)) {
++ return false
++ }
++ fwdFn := atomic.Loaduintptr(&fwdSig[sig])
++ flags := sigtable[sig].flags
++
++ // If we aren't handling the signal, forward it.
++ if atomic.Load(&handlingSig[sig]) == 0 || !signalsOK {
++ // If the signal is ignored, doing nothing is the same as forwarding.
++ if fwdFn == _SIG_IGN || (fwdFn == _SIG_DFL && flags&_SigIgn != 0) {
++ return true
++ }
++ // We are not handling the signal and there is no other handler to forward to.
++ // Crash with the default behavior.
++ if fwdFn == _SIG_DFL {
++ setsig(sig, _SIG_DFL)
++ dieFromSignal(sig)
++ return false
++ }
++
++ sigfwd(fwdFn, sig, info, ctx)
++ return true
++ }
++
++ // If there is no handler to forward to, no need to forward.
++ if fwdFn == _SIG_DFL {
++ return false
++ }
++
++ c := sigctxt{info, ctx}
++ // Only forward synchronous signals and SIGPIPE.
++ // Unfortunately, user generated SIGPIPEs will also be forwarded, because si_code
++ // is set to _SI_USER even for a SIGPIPE raised from a write to a closed socket
++ // or pipe.
++ if (c.sigcode() == _SI_USER || flags&_SigPanic == 0) && sig != _SIGPIPE {
++ return false
++ }
++ // Determine if the signal occurred inside Go code. We test that:
++ // (1) we were in a goroutine (i.e., m.curg != nil), and
++ // (2) we weren't in CGO.
++ g := getg()
++ if g != nil && g.m != nil && g.m.curg != nil && !g.m.incgo {
++ return false
++ }
++
++ // Signal not handled by Go, forward it.
++ if fwdFn != _SIG_IGN {
++ sigfwd(fwdFn, sig, info, ctx)
++ }
++
++ return true
++}
++
++// msigsave saves the current thread's signal mask into mp.sigmask.
++// This is used to preserve the non-Go signal mask when a non-Go
++// thread calls a Go function.
++// This is nosplit and nowritebarrierrec because it is called by needm
++// which may be called on a non-Go thread with no g available.
++//go:nosplit
++//go:nowritebarrierrec
++func msigsave(mp *m) {
++ sigprocmask(_SIG_SETMASK, nil, &mp.sigmask)
++}
++
++// msigrestore sets the current thread's signal mask to sigmask.
++// This is used to restore the non-Go signal mask when a non-Go thread
++// calls a Go function.
++// This is nosplit and nowritebarrierrec because it is called by dropm
++// after g has been cleared.
++//go:nosplit
++//go:nowritebarrierrec
++func msigrestore(sigmask sigset) {
++ sigprocmask(_SIG_SETMASK, &sigmask, nil)
++}
++
++// sigblock blocks all signals in the current thread's signal mask.
++// This is used to block signals while setting up and tearing down g
++// when a non-Go thread calls a Go function.
++// The OS-specific code is expected to define sigset_all.
++// This is nosplit and nowritebarrierrec because it is called by needm
++// which may be called on a non-Go thread with no g available.
++//go:nosplit
++//go:nowritebarrierrec
++func sigblock() {
++ var set sigset
++ sigfillset(&set)
++ sigprocmask(_SIG_SETMASK, &set, nil)
++}
++
++// unblocksig removes sig from the current thread's signal mask.
++// This is nosplit and nowritebarrierrec because it is called from
++// dieFromSignal, which can be called by sigfwdgo while running in the
++// signal handler, on the signal stack, with no g available.
++//go:nosplit
++//go:nowritebarrierrec
++func unblocksig(sig uint32) {
++ var set sigset
++ sigemptyset(&set)
++ sigaddset(&set, int(sig))
++ sigprocmask(_SIG_UNBLOCK, &set, nil)
++}
++
++// minitSignals is called when initializing a new m to set the
++// thread's alternate signal stack and signal mask.
++func minitSignals() {
++ minitSignalStack()
++ minitSignalMask()
++}
++
++// minitSignalStack is called when initializing a new m to set the
++// alternate signal stack. If the alternate signal stack is not set
++// for the thread (the normal case) then set the alternate signal
++// stack to the gsignal stack. If the alternate signal stack is set
++// for the thread (the case when a non-Go thread sets the alternate
++// signal stack and then calls a Go function) then set the gsignal
++// stack to the alternate signal stack. Record which choice was made
++// in newSigstack, so that it can be undone in unminit.
++func minitSignalStack() {
++ _g_ := getg()
++ var st _stack_t
++ sigaltstack(nil, &st)
++ if st.ss_flags&_SS_DISABLE != 0 {
++ signalstack(_g_.m.gsignalstack, _g_.m.gsignalstacksize)
++ _g_.m.newSigstack = true
++ } else {
++ _g_.m.newSigstack = false
++ }
++}
++
++// minitSignalMask is called when initializing a new m to set the
++// thread's signal mask. When this is called all signals have been
++// blocked for the thread. This starts with m.sigmask, which was set
++// either from initSigmask for a newly created thread or by calling
++// msigsave if this is a non-Go thread calling a Go function. It
++// removes all essential signals from the mask, thus causing those
++// signals to not be blocked. Then it sets the thread's signal mask.
++// After this is called the thread can receive signals.
++func minitSignalMask() {
++ nmask := getg().m.sigmask
++ for i := range sigtable {
++ if !blockableSig(uint32(i)) {
++ sigdelset(&nmask, i)
++ }
++ }
++ sigprocmask(_SIG_SETMASK, &nmask, nil)
++}
++
++// unminitSignals is called from dropm, via unminit, to undo the
++// effect of calling minit on a non-Go thread.
++//go:nosplit
++//go:nowritebarrierrec
++func unminitSignals() {
++ if getg().m.newSigstack {
++ signalstack(nil, 0)
++ }
++}
++
++// blockableSig returns whether sig may be blocked by the signal mask.
++// We never want to block the signals marked _SigUnblock;
++// these are the synchronous signals that turn into a Go panic.
++// In a Go program--not a c-archive/c-shared--we never want to block
++// the signals marked _SigKill or _SigThrow, as otherwise it's possible
++// for all running threads to block them and delay their delivery until
++// we start a new thread. When linked into a C program we let the C code
++// decide on the disposition of those signals.
++func blockableSig(sig uint32) bool {
++ flags := sigtable[sig].flags
++ if flags&_SigUnblock != 0 {
++ return false
++ }
++ if isarchive || islibrary {
++ return true
++ }
++ return flags&(_SigKill|_SigThrow) == 0
++}
--- /dev/null
+Index: gcc-8-8-20180218/src/libgo/go/syscall/errstr_gnu.go
+===================================================================
+--- /dev/null
++++ gcc-8-8-20180218/src/libgo/go/syscall/errstr_gnu.go
+@@ -0,0 +1,32 @@
++// errstr_gnu.go -- GNU/Hurd specific error strings.
++
++// Copyright 2010 The Go Authors. All rights reserved.
++// Use of this source code is governed by a BSD-style
++// license that can be found in the LICENSE file.
++
++// We use this rather than errstr.go because on GNU/Linux sterror_r
++// returns a pointer to the error message, and may not use buf at all.
++// This file is derived from errstr_linux.go
++
++package syscall
++
++import "unsafe"
++
++//sysnb strerror_r(errnum int, b []byte) (errstr *byte)
++//strerror_r(errnum _C_int, b *byte, len Size_t) *byte
++
++func Errstr(errnum int) string {
++ a := make([]byte, 128)
++ p := strerror_r(errnum, a)
++ b := (*[1000]byte)(unsafe.Pointer(p))
++ i := 0
++ for b[i] != 0 {
++ i++
++ }
++ // Lowercase first letter: Bad -> bad, but STREAM -> STREAM.
++ if i > 1 && 'A' <= b[0] && b[0] <= 'Z' && 'a' <= b[1] && b[1] <= 'z' {
++ c := b[0] + 'a' - 'A'
++ return string(c) + string(b[1:i])
++ }
++ return string(b[:i])
++}
+Index: gcc-8-8-20180218/src/libgo/go/syscall/libcall_gnu_386.go
+===================================================================
+--- /dev/null
++++ gcc-8-8-20180218/src/libgo/go/syscall/libcall_gnu_386.go
+@@ -0,0 +1,10 @@
++// Copyright 2012 The Go Authors. All rights reserved.
++// Use of this source code is governed by a BSD-style
++// license that can be found in the LICENSE file.
++
++// GNU/Hurd library calls 386 specific.
++
++package syscall
++
++//sys Ioperm(from int, num int, on int) (err error)
++//ioperm(from _C_long, num _C_long, on _C_int) _C_int
+Index: gcc-8-8-20180218/src/libgo/go/syscall/libcall_gnu.go
+===================================================================
+--- /dev/null
++++ gcc-8-8-20180218/src/libgo/go/syscall/libcall_gnu.go
+@@ -0,0 +1,184 @@
++// Copyright 2014 The Go Authors. All rights reserved.
++// Use of this source code is governed by a BSD-style
++// license that can be found in the LICENSE file.
++
++// GNU/Hurd library calls.
++// This file is derived from libcall_linux.go
++// Dummy function: raw_ptrace
++// Removed functions: {P,p}trace*, Reboot, Gettid, Splice, Tgkill, Unlinkat, Unmount, Unshare
++
++package syscall
++
++import "unsafe"
++
++//sys Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error)
++//__go_openat(dirfd _C_int, path *byte, flags _C_int, mode Mode_t) _C_int
++
++//sys futimesat(dirfd int, path *byte, times *[2]Timeval) (err error)
++//futimesat(dirfd _C_int, path *byte, times *[2]Timeval) _C_int
++func Futimesat(dirfd int, path string, tv []Timeval) (err error) {
++ if len(tv) != 2 {
++ return EINVAL
++ }
++ return futimesat(dirfd, StringBytePtr(path), (*[2]Timeval)(unsafe.Pointer(&tv[0])))
++}
++
++func Futimes(fd int, tv []Timeval) (err error) {
++ // Believe it or not, this is the best we can do on GNU/Linux
++ // (and is what glibc does).
++ return Utimes("/proc/self/fd/"+itoa(fd), tv)
++}
++
++//sys ptrace(request int, pid int, addr uintptr, data uintptr) (err error)
++//ptrace(request _C_int, pid Pid_t, addr *byte, data *byte) _C_long
++
++// Dummy function
++func raw_ptrace(request int, pid int, addr *byte, data *byte) Errno {
++ return ENOSYS
++}
++
++//sys accept4(fd int, sa *RawSockaddrAny, len *Socklen_t, flags int) (nfd int, err error)
++//accept4(fd _C_int, sa *RawSockaddrAny, len *Socklen_t, flags _C_int) _C_int
++
++func Accept4(fd int, flags int) (nfd int, sa Sockaddr, err error) {
++ var rsa RawSockaddrAny
++ var len Socklen_t = SizeofSockaddrAny
++ nfd, err = accept4(fd, &rsa, &len, flags)
++ if err != nil {
++ return -1, nil, err
++ }
++ sa, err = anyToSockaddr(&rsa)
++ if err != nil {
++ Close(nfd)
++ return -1, nil, err
++ }
++ return nfd, sa, nil
++}
++
++///INCLUDE?
++///sys Acct(path string) (err error)
++///acct(path *byte) _C_int
++
++//sysnb Dup3(oldfd int, newfd int, flags int) (err error)
++//dup3(oldfd _C_int, newfd _C_int, flags _C_int) _C_int
++
++//sys Faccessat(dirfd int, path string, mode uint32, flags int) (err error)
++//faccessat(dirfd _C_int, pathname *byte, mode _C_int, flags _C_int) _C_int
++
++//sys Fallocate(fd int, mode uint32, off int64, len int64) (err error)
++//fallocate(fd _C_int, mode _C_int, offset Offset_t, len Offset_t) _C_int
++
++//sys Fchmodat(dirfd int, path string, mode uint32, flags int) (err error)
++//fchmodat(dirfd _C_int, pathname *byte, mode Mode_t, flags _C_int) _C_int
++
++//sys Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error)
++//fchownat(dirfd _C_int, path *byte, owner Uid_t, group Gid_t, flags _C_int) _C_int
++
++//sys Flock(fd int, how int) (err error)
++//flock(fd _C_int, how _C_int) _C_int
++
++//sys Fstatfs(fd int, buf *Statfs_t) (err error)
++//fstatfs(fd _C_int, buf *Statfs_t) _C_int
++
++func Getdents(fd int, buf []byte) (n int, err error) {
++ var p *byte
++ if len(buf) > 0 {
++ p = &buf[0]
++ } else {
++ p = (*byte)(unsafe.Pointer(&_zero))
++ }
++ s := SYS_GETDENTS64
++ if s == 0 {
++ s = SYS_GETDENTS
++ }
++ r1, _, errno := Syscall(uintptr(s), uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(len(buf)))
++ n = int(r1)
++ if n < 0 {
++ err = errno
++ }
++ return
++}
++
++func clen(n []byte) int {
++ for i := 0; i < len(n); i++ {
++ if n[i] == 0 {
++ return i
++ }
++ }
++ return len(n)
++}
++
++func ReadDirent(fd int, buf []byte) (n int, err error) {
++ return Getdents(fd, buf)
++}
++
++
++///INCLUDE??
++///sys Getxattr(path string, attr string, dest []byte) (sz int, err error)
++///getxattr(path *byte, attr *byte, buf *byte, count Size_t) Ssize_t
++
++///INCLUDE??
++///sys Listxattr(path string, dest []byte) (sz int, err error)
++///listxattr(path *byte, list *byte, size Size_t) Ssize_t
++
++//sys Mkdirat(dirfd int, path string, mode uint32) (err error)
++//mkdirat(dirfd _C_int, path *byte, mode Mode_t) _C_int
++
++//sys Mknodat(dirfd int, path string, mode uint32, dev int) (err error)
++//mknodat(dirfd _C_int, path *byte, mode Mode_t, dev _dev_t) _C_int
++
++//sysnb pipe2(p *[2]_C_int, flags int) (err error)
++//pipe2(p *[2]_C_int, flags _C_int) _C_int
++func Pipe2(p []int, flags int) (err error) {
++ if len(p) != 2 {
++ return EINVAL
++ }
++ var pp [2]_C_int
++ err = pipe2(&pp, flags)
++ p[0] = int(pp[0])
++ p[1] = int(pp[1])
++ return
++}
++
++///INCLUDE??
++///sys Removexattr(path string, attr string) (err error)
++///removexattr(path *byte, name *byte) _C_int
++
++///INCLUDE??
++///sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error)
++///renameat(olddirfd _C_int, oldpath *byte, newdirfd _C_int, newpath *byte) _C_int
++
++//INCLUDE??
++///sys Setxattr(path string, attr string, data []byte, flags int) (err error)
++///setxattr(path *byte, name *byte, value *byte, size Size_t, flags _C_int) _C_int
++
++//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error)
++//sync_file_range(fd _C_int, off Offset_t, n Offset_t, flags _C_uint) _C_int
++
++//INCLUDE??
++///sysnb Sysinfo(info *Sysinfo_t) (err error)
++///sysinfo(info *Sysinfo_t) _C_int
++
++//func Unlinkat(dirfd int, path string) (err error) {
++// return unlinkat(dirfd, path, 0)
++//}
++
++///INCLUDE??
++///sys Ustat(dev int, ubuf *Ustat_t) (err error)
++///ustat(dev _dev_t, ubuf *Ustat_t) _C_int
++
++//sys sendfile(outfd int, infd int, offset *Offset_t, count int) (written int, err error)
++//sendfile64(outfd _C_int, infd _C_int, offset *Offset_t, count Size_t) Ssize_t
++func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
++ var soff Offset_t
++ var psoff *Offset_t
++ if offset != nil {
++ soff = Offset_t(*offset)
++ psoff = &soff
++ }
++ written, err = sendfile(outfd, infd, psoff, count)
++ if offset != nil {
++ *offset = int64(soff)
++ }
++ return
++}
+Index: gcc-8-8-20180218/src/libgo/go/syscall/libcall_posix_gnu.go
+===================================================================
+--- /dev/null
++++ gcc-8-8-20180218/src/libgo/go/syscall/libcall_posix_gnu.go
+@@ -0,0 +1,400 @@
++// Copyright 2011 The Go Authors. All rights reserved.
++// Use of this source code is governed by a BSD-style
++// license that can be found in the LICENSE file.
++
++// POSIX library calls.
++// This file is compiled as ordinary Go code,
++// but it is also input to mksyscall,
++// which parses the //sys lines and generates library call stubs.
++// Note that sometimes we use a lowercase //sys name and
++// wrap it in our own nicer implementation.
++// Removed the mount call for GNU/Hurd, it exists but use translators.
++// Functionality is not the same as descibed in Linux <sys/mount.h>
++// Removed the madvise call for GNU/Hurd, not yet implemented.
++// This file is derived from libchall_posix.go
++
++// +build gnu
++
++package syscall
++
++import "unsafe"
++
++/*
++ * Wrapped
++ */
++
++//sysnb pipe(p *[2]_C_int) (err error)
++//pipe(p *[2]_C_int) _C_int
++func Pipe(p []int) (err error) {
++ if len(p) != 2 {
++ return EINVAL
++ }
++ var pp [2]_C_int
++ err = pipe(&pp)
++ p[0] = int(pp[0])
++ p[1] = int(pp[1])
++ return
++}
++
++//sys utimes(path string, times *[2]Timeval) (err error)
++//utimes(path *byte, times *[2]Timeval) _C_int
++func Utimes(path string, tv []Timeval) (err error) {
++ if len(tv) != 2 {
++ return EINVAL
++ }
++ return utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0])))
++}
++
++//sys getcwd(buf *byte, size Size_t) (err error)
++//getcwd(buf *byte, size Size_t) *byte
++
++const ImplementsGetwd = true
++
++func Getwd() (ret string, err error) {
++ for len := Size_t(4096); ; len *= 2 {
++ b := make([]byte, len)
++ err := getcwd(&b[0], len)
++ if err == nil {
++ i := 0
++ for b[i] != 0 {
++ i++
++ }
++ return string(b[0:i]), nil
++ }
++ if err != ERANGE {
++ return "", err
++ }
++ }
++}
++
++func Getcwd(buf []byte) (n int, err error) {
++ err = getcwd(&buf[0], Size_t(len(buf)))
++ if err == nil {
++ i := 0
++ for buf[i] != 0 {
++ i++
++ }
++ n = i + 1
++ }
++ return
++}
++
++//sysnb getgroups(size int, list *Gid_t) (nn int, err error)
++//getgroups(size _C_int, list *Gid_t) _C_int
++
++func Getgroups() (gids []int, err error) {
++ n, err := getgroups(0, nil)
++ if err != nil {
++ return nil, err
++ }
++ if n == 0 {
++ return nil, nil
++ }
++
++ // Sanity check group count. Max is 1<<16 on GNU/Linux.
++ if n < 0 || n > 1<<20 {
++ return nil, EINVAL
++ }
++
++ a := make([]Gid_t, n)
++ n, err = getgroups(n, &a[0])
++ if err != nil {
++ return nil, err
++ }
++ gids = make([]int, n)
++ for i, v := range a[0:n] {
++ gids[i] = int(v)
++ }
++ return
++}
++
++//sysnb setgroups(n int, list *Gid_t) (err error)
++//setgroups(n Size_t, list *Gid_t) _C_int
++
++func Setgroups(gids []int) (err error) {
++ if len(gids) == 0 {
++ return setgroups(0, nil)
++ }
++
++ a := make([]Gid_t, len(gids))
++ for i, v := range gids {
++ a[i] = Gid_t(v)
++ }
++ return setgroups(len(a), &a[0])
++}
++
++type WaitStatus uint32
++
++// The WaitStatus methods are implemented in C, to pick up the macros
++// #defines in <sys/wait.h>.
++
++func (w WaitStatus) Exited() bool
++func (w WaitStatus) Signaled() bool
++func (w WaitStatus) Stopped() bool
++func (w WaitStatus) Continued() bool
++func (w WaitStatus) CoreDump() bool
++func (w WaitStatus) ExitStatus() int
++func (w WaitStatus) Signal() Signal
++func (w WaitStatus) StopSignal() Signal
++func (w WaitStatus) TrapCause() int
++
++//sys Mkfifo(path string, mode uint32) (err error)
++//mkfifo(path *byte, mode Mode_t) _C_int
++
++//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error)
++//select(nfd _C_int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) _C_int
++
++const nfdbits = int(unsafe.Sizeof(fds_bits_type(0)) * 8)
++
++type FdSet struct {
++ Bits [(FD_SETSIZE + nfdbits - 1) / nfdbits]fds_bits_type
++}
++
++func FDSet(fd int, set *FdSet) {
++ set.Bits[fd/nfdbits] |= (1 << (uint)(fd%nfdbits))
++}
++
++func FDClr(fd int, set *FdSet) {
++ set.Bits[fd/nfdbits] &^= (1 << (uint)(fd%nfdbits))
++}
++
++func FDIsSet(fd int, set *FdSet) bool {
++ if set.Bits[fd/nfdbits]&(1<<(uint)(fd%nfdbits)) != 0 {
++ return true
++ } else {
++ return false
++ }
++}
++
++func FDZero(set *FdSet) {
++ for i := range set.Bits {
++ set.Bits[i] = 0
++ }
++}
++
++//sys Access(path string, mode uint32) (err error)
++//access(path *byte, mode _C_int) _C_int
++
++//sys Chdir(path string) (err error)
++//chdir(path *byte) _C_int
++
++//sys Chmod(path string, mode uint32) (err error)
++//chmod(path *byte, mode Mode_t) _C_int
++
++//sys Chown(path string, uid int, gid int) (err error)
++//chown(path *byte, uid Uid_t, gid Gid_t) _C_int
++
++//sys Chroot(path string) (err error)
++//chroot(path *byte) _C_int
++
++//sys Close(fd int) (err error)
++//close(fd _C_int) _C_int
++
++//sys Creat(path string, mode uint32) (fd int, err error)
++//creat(path *byte, mode Mode_t) _C_int
++
++//sysnb Dup(oldfd int) (fd int, err error)
++//dup(oldfd _C_int) _C_int
++
++//sysnb Dup2(oldfd int, newfd int) (err error)
++//dup2(oldfd _C_int, newfd _C_int) _C_int
++
++//sys Fchdir(fd int) (err error)
++//fchdir(fd _C_int) _C_int
++
++//sys Fchmod(fd int, mode uint32) (err error)
++//fchmod(fd _C_int, mode Mode_t) _C_int
++
++//sys Fchown(fd int, uid int, gid int) (err error)
++//fchown(fd _C_int, uid Uid_t, gid Gid_t) _C_int
++
++//sys fcntl(fd int, cmd int, arg int) (val int, err error)
++//__go_fcntl(fd _C_int, cmd _C_int, arg _C_int) _C_int
++
++//sys FcntlFlock(fd uintptr, cmd int, lk *Flock_t) (err error)
++//__go_fcntl_flock(fd _C_int, cmd _C_int, arg *Flock_t) _C_int
++
++//sys Fdatasync(fd int) (err error)
++//fdatasync(fd _C_int) _C_int
++
++//sys Fsync(fd int) (err error)
++//fsync(fd _C_int) _C_int
++
++//sysnb Getegid() (egid int)
++//getegid() Gid_t
++
++//sysnb Geteuid() (euid int)
++//geteuid() Uid_t
++
++//sysnb Getgid() (gid int)
++//getgid() Gid_t
++
++//sysnb Getpgid(pid int) (pgid int, err error)
++//getpgid(pid Pid_t) Pid_t
++
++//sysnb Getpgrp() (pid int)
++//getpgrp() Pid_t
++
++//sysnb Getpid() (pid int)
++//getpid() Pid_t
++
++//sysnb Getppid() (ppid int)
++//getppid() Pid_t
++
++//sys Getpriority(which int, who int) (prio int, err error)
++//getpriority(which _C_int, who _C_int) _C_int
++
++//sysnb Getrusage(who int, rusage *Rusage) (err error)
++//getrusage(who _C_int, rusage *Rusage) _C_int
++
++//sysnb gettimeofday(tv *Timeval, tz *byte) (err error)
++//gettimeofday(tv *Timeval, tz *byte) _C_int
++func Gettimeofday(tv *Timeval) (err error) {
++ return gettimeofday(tv, nil)
++}
++
++//sysnb Getuid() (uid int)
++//getuid() Uid_t
++
++//sysnb Kill(pid int, sig Signal) (err error)
++//kill(pid Pid_t, sig _C_int) _C_int
++
++//sys Lchown(path string, uid int, gid int) (err error)
++//lchown(path *byte, uid Uid_t, gid Gid_t) _C_int
++
++//sys Link(oldpath string, newpath string) (err error)
++//link(oldpath *byte, newpath *byte) _C_int
++
++//sys Mkdir(path string, mode uint32) (err error)
++//mkdir(path *byte, mode Mode_t) _C_int
++
++//sys Mknod(path string, mode uint32, dev int) (err error)
++//mknod(path *byte, mode Mode_t, dev _dev_t) _C_int
++
++//sys Nanosleep(time *Timespec, leftover *Timespec) (err error)
++//nanosleep(time *Timespec, leftover *Timespec) _C_int
++
++//sys Pause() (err error)
++//pause() _C_int
++
++//sys read(fd int, p []byte) (n int, err error)
++//read(fd _C_int, buf *byte, count Size_t) Ssize_t
++
++//sys readlen(fd int, p *byte, np int) (n int, err error)
++//read(fd _C_int, buf *byte, count Size_t) Ssize_t
++
++//sys Readlink(path string, buf []byte) (n int, err error)
++//readlink(path *byte, buf *byte, bufsiz Size_t) Ssize_t
++
++//sys Rename(oldpath string, newpath string) (err error)
++//rename(oldpath *byte, newpath *byte) _C_int
++
++//sys Rmdir(path string) (err error)
++//rmdir(path *byte) _C_int
++
++//sys Setdomainname(p []byte) (err error)
++//setdomainname(name *byte, len Size_t) _C_int
++
++//sys Sethostname(p []byte) (err error)
++//sethostname(name *byte, len Size_t) _C_int
++
++//sysnb Setgid(gid int) (err error)
++//setgid(gid Gid_t) _C_int
++
++//sysnb Setregid(rgid int, egid int) (err error)
++//setregid(rgid Gid_t, egid Gid_t) _C_int
++
++//sysnb Setpgid(pid int, pgid int) (err error)
++//setpgid(pid Pid_t, pgid Pid_t) _C_int
++
++//sys Setpriority(which int, who int, prio int) (err error)
++//setpriority(which _C_int, who _C_int, prio _C_int) _C_int
++
++//sysnb Setreuid(ruid int, euid int) (err error)
++//setreuid(ruid Uid_t, euid Uid_t) _C_int
++
++//sysnb Setsid() (pid int, err error)
++//setsid() Pid_t
++
++//sysnb settimeofday(tv *Timeval, tz *byte) (err error)
++//settimeofday(tv *Timeval, tz *byte) _C_int
++
++func Settimeofday(tv *Timeval) (err error) {
++ return settimeofday(tv, nil)
++}
++
++//sysnb Setuid(uid int) (err error)
++//setuid(uid Uid_t) _C_int
++
++//sys Symlink(oldpath string, newpath string) (err error)
++//symlink(oldpath *byte, newpath *byte) _C_int
++
++//sys Sync()
++//sync()
++
++//sysnb Time(t *Time_t) (tt Time_t, err error)
++//time(t *Time_t) Time_t
++
++//sysnb Times(tms *Tms) (ticks uintptr, err error)
++//times(tms *Tms) _clock_t
++
++//sysnb Umask(mask int) (oldmask int)
++//umask(mask Mode_t) Mode_t
++
++//sys Unlink(path string) (err error)
++//unlink(path *byte) _C_int
++
++//sys Utime(path string, buf *Utimbuf) (err error)
++//utime(path *byte, buf *Utimbuf) _C_int
++
++//sys write(fd int, p []byte) (n int, err error)
++//write(fd _C_int, buf *byte, count Size_t) Ssize_t
++
++//sys writelen(fd int, p *byte, np int) (n int, err error)
++//write(fd _C_int, buf *byte, count Size_t) Ssize_t
++
++//sys munmap(addr uintptr, length uintptr) (err error)
++//munmap(addr *byte, length Size_t) _C_int
++
++//sys Mprotect(b []byte, prot int) (err error)
++//mprotect(addr *byte, len Size_t, prot _C_int) _C_int
++
++//sys Mlock(b []byte) (err error)
++//mlock(addr *byte, len Size_t) _C_int
++
++//sys Munlock(b []byte) (err error)
++//munlock(addr *byte, len Size_t) _C_int
++
++//sys Mlockall(flags int) (err error)
++//mlockall(flags _C_int) _C_int
++
++//sys Munlockall() (err error)
++//munlockall() _C_int
++
++func setTimespec(sec, nsec int64) Timespec {
++ return Timespec{Sec: Timespec_sec_t(sec), Nsec: Timespec_nsec_t(nsec)}
++}
++
++func setTimeval(sec, usec int64) Timeval {
++ return Timeval{Sec: Timeval_sec_t(sec), Usec: Timeval_usec_t(usec)}
++}
++
++//sysnb Tcgetattr(fd int, p *Termios) (err error)
++//tcgetattr(fd _C_int, p *Termios) _C_int
++
++//sys Tcsetattr(fd int, actions int, p *Termios) (err error)
++//tcsetattr(fd _C_int, actions _C_int, p *Termios) _C_int
++
++//sys sysconf(name int) (ret int64, err error)
++//sysconf(name _C_int) _C_long
++
++func Sysconf(name int) (ret int64, err error) {
++ // If an option is not available, sysconf returns -1 without
++ // changing errno. Detect this case and return err == nil.
++ SetErrno(0)
++ ret, err = sysconf(name)
++ if err == Errno(0) {
++ err = nil
++ }
++ return ret, err
++}
+Index: gcc-8-8-20180218/src/libgo/go/syscall/socket_gnu.go
+===================================================================
+--- /dev/null
++++ gcc-8-8-20180218/src/libgo/go/syscall/socket_gnu.go
+@@ -0,0 +1,91 @@
++// socket_gnu.go -- Socket handling specific to GNU/Hurd.
++
++// Copyright 2010 The Go Authors. All rights reserved.
++// Use of this source code is governed by a BSD-style
++// license that can be found in the LICENSE file.
++// This file is derived from syscall_bsd.go
++
++// +build gnu
++
++package syscall
++
++import "unsafe"
++
++const SizeofSockaddrInet4 = 16
++const SizeofSockaddrInet6 = 28
++const SizeofSockaddrUnix = 110
++
++type RawSockaddrInet4 struct {
++ Len uint8
++ Family uint8
++ Port uint16
++ Addr [4]byte /* in_addr */
++ Zero [8]uint8
++}
++
++func (sa *RawSockaddrInet4) setLen() Socklen_t {
++ sa.Len = SizeofSockaddrInet4
++ return SizeofSockaddrInet4
++}
++
++type RawSockaddrInet6 struct {
++ Len uint8
++ Family uint8
++ Port uint16
++ Flowinfo uint32
++ Addr [16]byte /* in6_addr */
++ Scope_id uint32
++}
++
++func (sa *RawSockaddrInet6) setLen() Socklen_t {
++ sa.Len = SizeofSockaddrInet6
++ return SizeofSockaddrInet6
++}
++
++type RawSockaddrUnix struct {
++ Len uint8
++ Family uint8
++ Path [108]int8
++}
++
++func (sa *RawSockaddrUnix) setLen(n int) {
++ sa.Len = uint8(3 + n) // 2 for Family, Len; 1 for NUL.
++}
++
++func (sa *RawSockaddrUnix) getLen() (int, error) {
++ if sa.Len < 3 || sa.Len > SizeofSockaddrUnix {
++ return 0, EINVAL
++ }
++ // Assume path ends at NUL.
++ n := 0
++ for n < len(sa.Path) && sa.Path[n] != 0 {
++ n++
++ }
++ return n, nil
++}
++
++func (sa *RawSockaddrUnix) adjustAbstract(sl Socklen_t) Socklen_t {
++ return sl
++}
++
++type RawSockaddr struct {
++ Len uint8
++ Family uint8
++ Data [14]int8
++}
++
++// BindToDevice binds the socket associated with fd to device.
++func BindToDevice(fd int, device string) (err error) {
++ return ENOSYS
++}
++
++func anyToSockaddrOS(rsa *RawSockaddrAny) (Sockaddr, error) {
++ return nil, EAFNOSUPPORT
++}
++
++func GetsockoptIPv6MTUInfo(fd, level, opt int) (*IPv6MTUInfo, error) {
++ var value IPv6MTUInfo
++ vallen := Socklen_t(SizeofIPv6MTUInfo)
++ err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen)
++ return &value, err
++}
+Index: gcc-8-8-20180218/src/libgo/go/syscall/syscall_gnu.go
+===================================================================
+--- /dev/null
++++ gcc-8-8-20180218/src/libgo/go/syscall/syscall_gnu.go
+@@ -0,0 +1,24 @@
++// Copyright 2009 The Go Authors. All rights reserved.
++// Use of this source code is governed by a BSD-style
++// license that can be found in the LICENSE file.
++// This file is identical to syscall_linux.go
++
++package syscall
++
++import "unsafe"
++
++func direntIno(buf []byte) (uint64, bool) {
++ return readInt(buf, unsafe.Offsetof(Dirent{}.Ino), unsafe.Sizeof(Dirent{}.Ino))
++}
++
++func direntReclen(buf []byte) (uint64, bool) {
++ return readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen))
++}
++
++func direntNamlen(buf []byte) (uint64, bool) {
++ reclen, ok := direntReclen(buf)
++ if !ok {
++ return 0, false
++ }
++ return reclen - uint64(unsafe.Offsetof(Dirent{}.Name)), true
++}
+Index: gcc-8-8-20180218/src/libgo/go/syscall/wait.c
+===================================================================
+--- gcc-8-8-20180218.orig/src/libgo/go/syscall/wait.c
++++ gcc-8-8-20180218/src/libgo/go/syscall/wait.c
+@@ -8,6 +8,9 @@
+ OS-independent. */
+
+ #include <stdint.h>
++#ifndef WCONTINUED
++#define WCONTINUED 0
++#endif
+ #include <sys/wait.h>
+
+ #include "runtime.h"
--- /dev/null
+--- a/src/libgo/go/syscall/syscall_errno.go 2015-01-17 11:50:12.000000000 +0100
++++ b/src/libgo/go/syscall/syscall_errno.go 2018-02-27 17:29:33.000000000 +0100
+@@ -11,7 +11,7 @@
+ // if errno != 0 {
+ // err = errno
+ // }
+-type Errno uintptr
++type Errno int32
+
+ func (e Errno) Error() string {
+ return Errstr(int(e))
--- /dev/null
+Index: gcc-8-8-20171108-1.1/src/libgo/go/syscall/syscall_gnu_test.go
+===================================================================
+--- /dev/null
++++ gcc-8-8-20171108-1.1/src/libgo/go/syscall/syscall_gnu_test.go
+@@ -0,0 +1,356 @@
++// Copyright 2013 The Go Authors. All rights reserved.
++// Use of this source code is governed by a BSD-style
++// license that can be found in the LICENSE file.
++
++// +build gnu
++
++package syscall_test
++
++import (
++ "flag"
++ "fmt"
++ "internal/testenv"
++ "io/ioutil"
++ "net"
++ "os"
++ "os/exec"
++ "path/filepath"
++ "runtime"
++ "syscall"
++ "testing"
++ "time"
++)
++
++// Tests that below functions, structures and constants are consistent
++// on all Unix-like systems.
++func _() {
++ // program scheduling priority functions and constants
++ var (
++ _ func(int, int, int) error = syscall.Setpriority
++ _ func(int, int) (int, error) = syscall.Getpriority
++ )
++ const (
++ _ int = syscall.PRIO_USER
++ _ int = syscall.PRIO_PROCESS
++ _ int = syscall.PRIO_PGRP
++ )
++
++ // termios constants
++ const (
++ _ int = syscall.TCIFLUSH
++ _ int = syscall.TCIOFLUSH
++ _ int = syscall.TCOFLUSH
++ )
++
++ // fcntl file locking structure and constants
++ var (
++ _ = syscall.Flock_t{
++ Type: int32(0),
++ Whence: int32(0),
++ Start: int64(0),
++ Len: int64(0),
++ Pid: int32(0),
++ }
++ )
++ const (
++ _ = syscall.F_GETLK
++ _ = syscall.F_SETLK
++ _ = syscall.F_SETLKW
++ )
++}
++
++// TestFcntlFlock tests whether the file locking structure matches
++// the calling convention of each kernel.
++// On some Linux systems, glibc uses another set of values for the
++// commands and translates them to the correct value that the kernel
++// expects just before the actual fcntl syscall. As Go uses raw
++// syscalls directly, it must use the real value, not the glibc value.
++// Thus this test also verifies that the Flock_t structure can be
++// roundtripped with F_SETLK and F_GETLK.
++func TestFcntlFlock(t *testing.T) {
++ if runtime.GOOS == "darwin" && (runtime.GOARCH == "arm" || runtime.GOARCH == "arm64") {
++ t.Skip("skipping; no child processes allowed on iOS")
++ }
++ flock := syscall.Flock_t{
++ Type: syscall.F_WRLCK,
++ Start: 31415, Len: 271828, Whence: 1,
++ }
++ if os.Getenv("GO_WANT_HELPER_PROCESS") == "" {
++ // parent
++ name := filepath.Join(os.TempDir(), "TestFcntlFlock")
++ fd, err := syscall.Open(name, syscall.O_CREAT|syscall.O_RDWR|syscall.O_CLOEXEC, 0)
++ if err != nil {
++ t.Fatalf("Open failed: %v", err)
++ }
++ defer syscall.Unlink(name)
++ defer syscall.Close(fd)
++ if err := syscall.Ftruncate(fd, 1<<20); err != nil {
++ t.Fatalf("Ftruncate(1<<20) failed: %v", err)
++ }
++ if err := syscall.FcntlFlock(uintptr(fd), syscall.F_SETLK, &flock); err != nil {
++ t.Fatalf("FcntlFlock(F_SETLK) failed: %v", err)
++ }
++ cmd := exec.Command(os.Args[0], "-test.run=^TestFcntlFlock$")
++ cmd.Env = append(os.Environ(), "GO_WANT_HELPER_PROCESS=1")
++ cmd.ExtraFiles = []*os.File{os.NewFile(uintptr(fd), name)}
++ out, err := cmd.CombinedOutput()
++ if len(out) > 0 || err != nil {
++ t.Fatalf("child process: %q, %v", out, err)
++ }
++ } else {
++ // child
++ got := flock
++ // make sure the child lock is conflicting with the parent lock
++ got.Start--
++ got.Len++
++ if err := syscall.FcntlFlock(3, syscall.F_GETLK, &got); err != nil {
++ t.Fatalf("FcntlFlock(F_GETLK) failed: %v", err)
++ }
++ flock.Pid = int32(syscall.Getppid())
++ // Linux kernel always set Whence to 0
++ flock.Whence = 0
++ if got.Type == flock.Type && got.Start == flock.Start && got.Len == flock.Len && got.Pid == flock.Pid && got.Whence == flock.Whence {
++ os.Exit(0)
++ }
++ t.Fatalf("FcntlFlock got %v, want %v", got, flock)
++ }
++}
++
++// TestPassFD tests passing a file descriptor over a Unix socket.
++//
++// This test involved both a parent and child process. The parent
++// process is invoked as a normal test, with "go test", which then
++// runs the child process by running the current test binary with args
++// "-test.run=^TestPassFD$" and an environment variable used to signal
++// that the test should become the child process instead.
++func TestPassFD(t *testing.T) {
++ switch runtime.GOOS {
++ case "dragonfly":
++ // TODO(jsing): Figure out why sendmsg is returning EINVAL.
++ t.Skip("skipping test on dragonfly")
++ case "solaris":
++ // TODO(aram): Figure out why ReadMsgUnix is returning empty message.
++ t.Skip("skipping test on solaris, see issue 7402")
++ }
++
++ testenv.MustHaveExec(t)
++
++ if os.Getenv("GO_WANT_HELPER_PROCESS") == "1" {
++ passFDChild()
++ return
++ }
++
++ tempDir, err := ioutil.TempDir("", "TestPassFD")
++ if err != nil {
++ t.Fatal(err)
++ }
++ defer os.RemoveAll(tempDir)
++
++ fds, err := syscall.Socketpair(syscall.AF_LOCAL, syscall.SOCK_STREAM, 0)
++ if err != nil {
++ t.Fatalf("Socketpair: %v", err)
++ }
++ defer syscall.Close(fds[0])
++ defer syscall.Close(fds[1])
++ writeFile := os.NewFile(uintptr(fds[0]), "child-writes")
++ readFile := os.NewFile(uintptr(fds[1]), "parent-reads")
++ defer writeFile.Close()
++ defer readFile.Close()
++
++ cmd := exec.Command(os.Args[0], "-test.run=^TestPassFD$", "--", tempDir)
++ cmd.Env = append(os.Environ(), "GO_WANT_HELPER_PROCESS=1")
++ cmd.ExtraFiles = []*os.File{writeFile}
++
++ out, err := cmd.CombinedOutput()
++ if len(out) > 0 || err != nil {
++ t.Fatalf("child process: %q, %v", out, err)
++ }
++
++ c, err := net.FileConn(readFile)
++ if err != nil {
++ t.Fatalf("FileConn: %v", err)
++ }
++ defer c.Close()
++
++ uc, ok := c.(*net.UnixConn)
++ if !ok {
++ t.Fatalf("unexpected FileConn type; expected UnixConn, got %T", c)
++ }
++
++ buf := make([]byte, 32) // expect 1 byte
++ oob := make([]byte, 32) // expect 24 bytes
++ closeUnix := time.AfterFunc(5*time.Second, func() {
++ t.Logf("timeout reading from unix socket")
++ uc.Close()
++ })
++ _, oobn, _, _, err := uc.ReadMsgUnix(buf, oob)
++ closeUnix.Stop()
++
++ scms, err := syscall.ParseSocketControlMessage(oob[:oobn])
++ if err != nil {
++ t.Fatalf("ParseSocketControlMessage: %v", err)
++ }
++ if len(scms) != 1 {
++ t.Fatalf("expected 1 SocketControlMessage; got scms = %#v", scms)
++ }
++ scm := scms[0]
++ gotFds, err := syscall.ParseUnixRights(&scm)
++ if err != nil {
++ t.Fatalf("syscall.ParseUnixRights: %v", err)
++ }
++ if len(gotFds) != 1 {
++ t.Fatalf("wanted 1 fd; got %#v", gotFds)
++ }
++
++ f := os.NewFile(uintptr(gotFds[0]), "fd-from-child")
++ defer f.Close()
++
++ got, err := ioutil.ReadAll(f)
++ want := "Hello from child process!\n"
++ if string(got) != want {
++ t.Errorf("child process ReadAll: %q, %v; want %q", got, err, want)
++ }
++}
++
++// passFDChild is the child process used by TestPassFD.
++func passFDChild() {
++ defer os.Exit(0)
++
++ // Look for our fd. It should be fd 3, but we work around an fd leak
++ // bug here (https://golang.org/issue/2603) to let it be elsewhere.
++ var uc *net.UnixConn
++ for fd := uintptr(3); fd <= 10; fd++ {
++ f := os.NewFile(fd, "unix-conn")
++ var ok bool
++ netc, _ := net.FileConn(f)
++ uc, ok = netc.(*net.UnixConn)
++ if ok {
++ break
++ }
++ }
++ if uc == nil {
++ fmt.Println("failed to find unix fd")
++ return
++ }
++
++ // Make a file f to send to our parent process on uc.
++ // We make it in tempDir, which our parent will clean up.
++ flag.Parse()
++ tempDir := flag.Arg(0)
++ f, err := ioutil.TempFile(tempDir, "")
++ if err != nil {
++ fmt.Printf("TempFile: %v", err)
++ return
++ }
++
++ f.Write([]byte("Hello from child process!\n"))
++ f.Seek(0, 0)
++
++ rights := syscall.UnixRights(int(f.Fd()))
++ dummyByte := []byte("x")
++ n, oobn, err := uc.WriteMsgUnix(dummyByte, rights, nil)
++ if err != nil {
++ fmt.Printf("WriteMsgUnix: %v", err)
++ return
++ }
++ if n != 1 || oobn != len(rights) {
++ fmt.Printf("WriteMsgUnix = %d, %d; want 1, %d", n, oobn, len(rights))
++ return
++ }
++}
++
++// TestUnixRightsRoundtrip tests that UnixRights, ParseSocketControlMessage,
++// and ParseUnixRights are able to successfully round-trip lists of file descriptors.
++func TestUnixRightsRoundtrip(t *testing.T) {
++ testCases := [...][][]int{
++ {{42}},
++ {{1, 2}},
++ {{3, 4, 5}},
++ {{}},
++ {{1, 2}, {3, 4, 5}, {}, {7}},
++ }
++ for _, testCase := range testCases {
++ b := []byte{}
++ var n int
++ for _, fds := range testCase {
++ // Last assignment to n wins
++ n = len(b) + syscall.CmsgLen(4*len(fds))
++ b = append(b, syscall.UnixRights(fds...)...)
++ }
++ // Truncate b
++ b = b[:n]
++
++ scms, err := syscall.ParseSocketControlMessage(b)
++ if err != nil {
++ t.Fatalf("ParseSocketControlMessage: %v", err)
++ }
++ if len(scms) != len(testCase) {
++ t.Fatalf("expected %v SocketControlMessage; got scms = %#v", len(testCase), scms)
++ }
++ for i, scm := range scms {
++ gotFds, err := syscall.ParseUnixRights(&scm)
++ if err != nil {
++ t.Fatalf("ParseUnixRights: %v", err)
++ }
++ wantFds := testCase[i]
++ if len(gotFds) != len(wantFds) {
++ t.Fatalf("expected %v fds, got %#v", len(wantFds), gotFds)
++ }
++ for j, fd := range gotFds {
++ if fd != wantFds[j] {
++ t.Fatalf("expected fd %v, got %v", wantFds[j], fd)
++ }
++ }
++ }
++ }
++}
++
++func TestRlimit(t *testing.T) {
++ var rlimit, zero syscall.Rlimit
++ err := syscall.Getrlimit(syscall.RLIMIT_NOFILE, &rlimit)
++ if err != nil {
++ t.Fatalf("Getrlimit: save failed: %v", err)
++ }
++ if zero == rlimit {
++ t.Fatalf("Getrlimit: save failed: got zero value %#v", rlimit)
++ }
++ set := rlimit
++ set.Cur = set.Max - 1
++ err = syscall.Setrlimit(syscall.RLIMIT_NOFILE, &set)
++ if err != nil {
++ t.Fatalf("Setrlimit: set failed: %#v %v", set, err)
++ }
++ var get syscall.Rlimit
++ err = syscall.Getrlimit(syscall.RLIMIT_NOFILE, &get)
++ if err != nil {
++ t.Fatalf("Getrlimit: get failed: %v", err)
++ }
++ set = rlimit
++ set.Cur = set.Max - 1
++ if set != get {
++ // Seems like Darwin requires some privilege to
++ // increase the soft limit of rlimit sandbox, though
++ // Setrlimit never reports an error.
++ switch runtime.GOOS {
++ case "darwin":
++ default:
++ t.Fatalf("Rlimit: change failed: wanted %#v got %#v", set, get)
++ }
++ }
++ err = syscall.Setrlimit(syscall.RLIMIT_NOFILE, &rlimit)
++ if err != nil {
++ t.Fatalf("Setrlimit: restore failed: %#v %v", rlimit, err)
++ }
++}
++
++func TestSeekFailure(t *testing.T) {
++ _, err := syscall.Seek(-1, 0, 0)
++ if err == nil {
++ t.Fatalf("Seek(-1, 0, 0) did not fail")
++ }
++ str := err.Error() // used to crash on Linux
++ t.Logf("Seek: %v", str)
++ if str == "" {
++ t.Fatalf("Seek(-1, 0, 0) return error with empty message")
++ }
++}
--- /dev/null
+Index: gcc-8-8-20180308-1.1/src/libgo/runtime/getncpu-gnu.c
+===================================================================
+--- /dev/null
++++ gcc-8-8-20180308-1.1/src/libgo/runtime/getncpu-gnu.c
+@@ -0,0 +1,16 @@
++// Copyright 2012 The Go Authors. All rights reserved.
++// Use of this source code is governed by a BSD-style
++// license that can be found in the LICENSE file.
++
++#include <unistd.h>
++
++#include "runtime.h"
++#include "defs.h"
++
++int32
++getproccount(void)
++{
++ int32 n;
++ n = (int32)sysconf(_SC_NPROCESSORS_ONLN);
++ return n > 1 ? n : 1;
++}
+Index: gcc-8-8-20180308-1.1/src/libgo/runtime/go-caller.c
+===================================================================
+--- gcc-8-8-20180308-1.1.orig/src/libgo/runtime/go-caller.c
++++ gcc-8-8-20180308-1.1/src/libgo/runtime/go-caller.c
+@@ -116,7 +116,7 @@ __go_get_backtrace_state ()
+ argv[0] (http://gcc.gnu.org/PR61895). It would be nice to
+ have a better check for whether this file is the real
+ executable. */
+- if (stat (filename, &s) < 0 || s.st_size < 1024)
++ if (filename != NULL && (stat (filename, &s) < 0 || s.st_size < 1024))
+ filename = NULL;
+
+ back_state = backtrace_create_state (filename, 1, error_callback, NULL);
--- /dev/null
+Index: gcc-8-8-20171108-1.1/src/libgo/testsuite/gotest
+===================================================================
+--- gcc-8-8-20171108-1.1.orig/src/libgo/testsuite/gotest
++++ gcc-8-8-20171108-1.1/src/libgo/testsuite/gotest
+@@ -624,7 +624,11 @@ xno)
+ wait $pid
+ status=$?
+ if ! test -f gotest-timeout; then
+- sleeppid=`ps -o pid,ppid,comm | grep " $alarmpid " | grep sleep | sed -e 's/ *\([0-9]*\) .*$/\1/'`
++ if test "$goos" = "gnu"; then
++ sleeppid=`ps -o pid,ppid | grep " $alarmpid " | grep sleep | sed -e 's/ *\([0-9]*\) .*$/\1/'`
++ else
++ sleeppid=`ps -o pid,ppid,comm | grep " $alarmpid " | grep sleep | sed -e 's/ *\([0-9]*\) .*$/\1/'`
++ fi
+ kill $alarmpid
+ wait $alarmpid
+ if test "$sleeppid" != ""; then
--- /dev/null
+# DP: updates from the 6 branch upto 2017xxyy (documentation).
+
+svn diff svn://gcc.gnu.org/svn/gcc/tags/gcc_7_1_0_release svn://gcc.gnu.org/svn/gcc/branches/gcc-5-branch \
+ | sed -r 's,^--- (\S+)\t(\S+)(.*)$,--- a/src/\1\t\2,;s,^\+\+\+ (\S+)\t(\S+)(.*)$,+++ b/src/\1\t\2,' \
+ | awk '/^Index:.*\.texi/ {skip=0; print; next} /^Index:/ {skip=1; next} skip==0'
+
--- /dev/null
+# DP: updates from the 8 branch upto 20190318 (r269767).
+
+last_update()
+{
+ cat > ${dir}LAST_UPDATED <EOF
+Tue Mar 26 11:57:12 CET 2019
+Tue Mar 26 10:57:12 UTC 2019 (revision 269936)
+EOF
+}
+
+LANG=C svn diff svn://gcc.gnu.org/svn/gcc/tags/gcc_8_3_0_release svn://gcc.gnu.org/svn/gcc/branches/gcc-8-branch \
+ | sed -r 's,^--- (\S+)\t(\S+)(.*)$,--- a/src/\1\t\2,;s,^\+\+\+ (\S+)\t(\S+)(.*)$,+++ b/src/\1\t\2,' \
+ | awk '/^Index:.*\.(class|texi)/ {skip=1; next} /^Index:/ { skip=0 } skip==0'
+
+Index: libstdc++-v3/include/bits/char_traits.h
+===================================================================
+--- a/src/libstdc++-v3/include/bits/char_traits.h (.../tags/gcc_8_3_0_release)
++++ b/src/libstdc++-v3/include/bits/char_traits.h (.../branches/gcc-8-branch)
+@@ -248,7 +248,7 @@
+ __constant_char_array_p(const _CharT* __a, size_t __n)
+ {
+ size_t __i = 0;
+- while (__builtin_constant_p(__a[__i]) && __i < __n)
++ while (__i < __n && __builtin_constant_p(__a[__i]))
+ __i++;
+ return __i == __n;
+ }
+Index: libstdc++-v3/ChangeLog
+===================================================================
+--- a/src/libstdc++-v3/ChangeLog (.../tags/gcc_8_3_0_release)
++++ b/src/libstdc++-v3/ChangeLog (.../branches/gcc-8-branch)
+@@ -1,3 +1,11 @@
++2019-02-22 Jonathan Wakely <jwakely@redhat.com>
++
++ PR libstdc++/89446
++ * include/bits/char_traits.h (__constant_char_array): Check index is
++ in range before dereferencing.
++ * testsuite/21_strings/basic_string_view/operators/char/89446.cc:
++ New test.
++
+ 2019-02-22 Release Manager
+
+ * GCC 8.3.0 released.
+Index: libstdc++-v3/testsuite/21_strings/basic_string_view/operators/char/89446.cc
+===================================================================
+--- a/src/libstdc++-v3/testsuite/21_strings/basic_string_view/operators/char/89446.cc (.../tags/gcc_8_3_0_release)
++++ b/src/libstdc++-v3/testsuite/21_strings/basic_string_view/operators/char/89446.cc (.../branches/gcc-8-branch)
+@@ -0,0 +1,28 @@
++// Copyright (C) 2019 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 3, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING3. If not see
++// <http://www.gnu.org/licenses/>.
++
++// { dg-options "-std=gnu++17 -fexceptions -fnon-call-exceptions -O1" }
++// { dg-do run { target { powerpc*-*-linux* i?86-*-linux* x86_64-*-linux* } } }
++// { dg-require-effective-target c++17 }
++
++#include <string_view>
++
++int main()
++{
++ std::string_view s1, s2;
++ return s1 != s2;
++}
+Index: libatomic/ChangeLog
+===================================================================
+--- a/src/libatomic/ChangeLog (.../tags/gcc_8_3_0_release)
++++ b/src/libatomic/ChangeLog (.../branches/gcc-8-branch)
+@@ -1,3 +1,18 @@
++2019-03-20 Florian Weimer <fweimer@redhat.com>
++
++ PR libgcc/60790
++ x86: Do not assume ELF constructors run before IFUNC resolvers.
++ * config/x86/host-config.h (libat_feat1_ecx, libat_feat1_edx):
++ Remove declarations.
++ (__libat_feat1, __libat_feat1_init): Declare.
++ (FEAT1_REGISTER): Define.
++ (load_feat1): New function.
++ (IFUNC_COND_1): Adjust.
++ * config/x86/init.c (libat_feat1_ecx, libat_feat1_edx)
++ (init_cpuid): Remove definitions.
++ (__libat_feat1): New variable.
++ (__libat_feat1_init): New function.
++
+ 2019-02-22 Release Manager
+
+ * GCC 8.3.0 released.
+Index: libatomic/config/x86/init.c
+===================================================================
+--- a/src/libatomic/config/x86/init.c (.../tags/gcc_8_3_0_release)
++++ b/src/libatomic/config/x86/init.c (.../branches/gcc-8-branch)
+@@ -26,13 +26,17 @@
+
+ #if HAVE_IFUNC
+
+-unsigned int libat_feat1_ecx, libat_feat1_edx;
++unsigned int __libat_feat1;
+
+-static void __attribute__((constructor))
+-init_cpuid (void)
++unsigned int
++__libat_feat1_init (void)
+ {
+- unsigned int eax, ebx;
+- __get_cpuid (1, &eax, &ebx, &libat_feat1_ecx, &libat_feat1_edx);
++ unsigned int eax, ebx, ecx, edx;
++ FEAT1_REGISTER = 0;
++ __get_cpuid (1, &eax, &ebx, &ecx, &edx);
++ /* See the load in load_feat1. */
++ __atomic_store_n (&__libat_feat1, FEAT1_REGISTER, __ATOMIC_RELAXED);
++ return FEAT1_REGISTER;
+ }
+
+ #endif /* HAVE_IFUNC */
+Index: libatomic/config/x86/host-config.h
+===================================================================
+--- a/src/libatomic/config/x86/host-config.h (.../tags/gcc_8_3_0_release)
++++ b/src/libatomic/config/x86/host-config.h (.../branches/gcc-8-branch)
+@@ -25,13 +25,39 @@
+ #if HAVE_IFUNC
+ #include <cpuid.h>
+
+-extern unsigned int libat_feat1_ecx HIDDEN;
+-extern unsigned int libat_feat1_edx HIDDEN;
++#ifdef __x86_64__
++# define FEAT1_REGISTER ecx
++#else
++# define FEAT1_REGISTER edx
++#endif
+
++/* Value of the CPUID feature register FEAT1_REGISTER for the cmpxchg
++ bit for IFUNC_COND1 below. */
++extern unsigned int __libat_feat1 HIDDEN;
++
++/* Initialize libat_feat1 and return its value. */
++unsigned int __libat_feat1_init (void) HIDDEN;
++
++/* Return the value of the relevant feature register for the relevant
++ cmpxchg bit, or 0 if there is no CPUID support. */
++static inline unsigned int
++__attribute__ ((const))
++load_feat1 (void)
++{
++ /* See the store in __libat_feat1_init. */
++ unsigned int feat1 = __atomic_load_n (&__libat_feat1, __ATOMIC_RELAXED);
++ if (feat1 == 0)
++ /* Assume that initialization has not happened yet. This may get
++ called repeatedly if the CPU does not have any feature bits at
++ all. */
++ feat1 = __libat_feat1_init ();
++ return feat1;
++}
++
+ #ifdef __x86_64__
+-# define IFUNC_COND_1 (libat_feat1_ecx & bit_CMPXCHG16B)
++# define IFUNC_COND_1 (load_feat1 () & bit_CMPXCHG16B)
+ #else
+-# define IFUNC_COND_1 (libat_feat1_edx & bit_CMPXCHG8B)
++# define IFUNC_COND_1 (load_feat1 () & bit_CMPXCHG8B)
+ #endif
+
+ #ifdef __x86_64__
+Index: gcc/cgraph.c
+===================================================================
+--- a/src/gcc/cgraph.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/cgraph.c (.../branches/gcc-8-branch)
+@@ -3007,8 +3007,10 @@
+ return redirect_callers;
+ }
+
+-/* Return TRUE if NODE2 a clone of NODE or is equivalent to it. */
+
++/* Return TRUE if NODE2 a clone of NODE or is equivalent to it. Return
++ optimistically true if this cannot be determined. */
++
+ static bool
+ clone_of_p (cgraph_node *node, cgraph_node *node2)
+ {
+@@ -3019,12 +3021,17 @@
+ /* There are no virtual clones of thunks so check former_clone_of or if we
+ might have skipped thunks because this adjustments are no longer
+ necessary. */
+- while (node->thunk.thunk_p)
++ while (node->thunk.thunk_p || node->former_thunk_p ())
+ {
+ if (node2->former_clone_of == node->decl)
+ return true;
+ if (!node->thunk.this_adjusting)
+ return false;
++ /* In case of instrumented expanded thunks, which can have multiple calls
++ in them, we do not know how to continue and just have to be
++ optimistic. */
++ if (node->callees->next_callee)
++ return true;
+ node = node->callees->callee->ultimate_alias_target ();
+ skipped_thunk = true;
+ }
+@@ -3040,7 +3047,7 @@
+ return false;
+ }
+
+- while (node != node2 && node2)
++ while (node2 && node->decl != node2->decl)
+ node2 = node2->clone_of;
+ return node2 != NULL;
+ }
+Index: gcc/cgraph.h
+===================================================================
+--- a/src/gcc/cgraph.h (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/cgraph.h (.../branches/gcc-8-branch)
+@@ -1258,6 +1258,9 @@
+ Note that at WPA stage, the function body may not be present in memory. */
+ inline bool has_gimple_body_p (void);
+
++ /* Return true if this node represents a former, i.e. an expanded, thunk. */
++ inline bool former_thunk_p (void);
++
+ /* Return true if function should be optimized for size. */
+ bool optimize_for_size_p (void);
+
+@@ -2858,6 +2861,16 @@
+ return definition && !thunk.thunk_p && !alias;
+ }
+
++/* Return true if this node represents a former, i.e. an expanded, thunk. */
++
++inline bool
++cgraph_node::former_thunk_p (void)
++{
++ return (!thunk.thunk_p
++ && (thunk.fixed_offset
++ || thunk.virtual_offset_p));
++}
++
+ /* Walk all functions with body defined. */
+ #define FOR_EACH_FUNCTION_WITH_GIMPLE_BODY(node) \
+ for ((node) = symtab->first_function_with_gimple_body (); (node); \
+Index: gcc/DATESTAMP
+===================================================================
+--- a/src/gcc/DATESTAMP (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/DATESTAMP (.../branches/gcc-8-branch)
+@@ -1 +1 @@
+-20190222
++20190326
+Index: gcc/tree-ssa-loop-ch.c
+===================================================================
+--- a/src/gcc/tree-ssa-loop-ch.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/tree-ssa-loop-ch.c (.../branches/gcc-8-branch)
+@@ -376,11 +376,23 @@
+ {
+ gimple *stmt = gsi_stmt (bsi);
+ if (gimple_code (stmt) == GIMPLE_COND)
+- gimple_set_no_warning (stmt, true);
++ {
++ tree lhs = gimple_cond_lhs (stmt);
++ if (gimple_cond_code (stmt) != EQ_EXPR
++ && gimple_cond_code (stmt) != NE_EXPR
++ && INTEGRAL_TYPE_P (TREE_TYPE (lhs))
++ && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (lhs)))
++ gimple_set_no_warning (stmt, true);
++ }
+ else if (is_gimple_assign (stmt))
+ {
+ enum tree_code rhs_code = gimple_assign_rhs_code (stmt);
+- if (TREE_CODE_CLASS (rhs_code) == tcc_comparison)
++ tree rhs1 = gimple_assign_rhs1 (stmt);
++ if (TREE_CODE_CLASS (rhs_code) == tcc_comparison
++ && rhs_code != EQ_EXPR
++ && rhs_code != NE_EXPR
++ && INTEGRAL_TYPE_P (TREE_TYPE (rhs1))
++ && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (rhs1)))
+ gimple_set_no_warning (stmt, true);
+ }
+ }
+Index: gcc/ipa-cp.c
+===================================================================
+--- a/src/gcc/ipa-cp.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/ipa-cp.c (.../branches/gcc-8-branch)
+@@ -2852,12 +2852,19 @@
+ base_time -= time;
+ if (base_time > 65535)
+ base_time = 65535;
+- time_benefit = base_time.to_int ()
+- + devirtualization_time_bonus (node, known_csts, known_contexts,
+- known_aggs_ptrs)
+- + hint_time_bonus (hints)
+- + removable_params_cost + est_move_cost;
+
++ /* Extern inline functions have no cloning local time benefits because they
++ will be inlined anyway. The only reason to clone them is if it enables
++ optimization in any of the functions they call. */
++ if (DECL_EXTERNAL (node->decl) && DECL_DECLARED_INLINE_P (node->decl))
++ time_benefit = 0;
++ else
++ time_benefit = base_time.to_int ()
++ + devirtualization_time_bonus (node, known_csts, known_contexts,
++ known_aggs_ptrs)
++ + hint_time_bonus (hints)
++ + removable_params_cost + est_move_cost;
++
+ gcc_checking_assert (size >=0);
+ /* The inliner-heuristics based estimates may think that in certain
+ contexts some functions do not have any size at all but we want
+Index: gcc/tree-scalar-evolution.c
+===================================================================
+--- a/src/gcc/tree-scalar-evolution.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/tree-scalar-evolution.c (.../branches/gcc-8-branch)
+@@ -875,7 +875,7 @@
+ gimple *stmt;
+
+ stmt = last_stmt (exit_edge->src);
+- if (gcond *cond_stmt = dyn_cast <gcond *> (stmt))
++ if (gcond *cond_stmt = safe_dyn_cast <gcond *> (stmt))
+ res = cond_stmt;
+ }
+
+@@ -1421,6 +1421,11 @@
+ return build_polynomial_chrec (loop->num, init_cond, right);
+ }
+
++ /* The affine code only deals with pointer and integer types. */
++ if (!POINTER_TYPE_P (type)
++ && !INTEGRAL_TYPE_P (type))
++ return chrec_dont_know;
++
+ /* Try harder to check if they are equal. */
+ tree_to_aff_combination_expand (left, type, &aff1, &peeled_chrec_map);
+ tree_to_aff_combination_expand (step_val, type, &aff2, &peeled_chrec_map);
+Index: gcc/rtlanal.c
+===================================================================
+--- a/src/gcc/rtlanal.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/rtlanal.c (.../branches/gcc-8-branch)
+@@ -358,10 +358,10 @@
+ if (to == from)
+ return 0;
+
+- /* It is not safe to call INITIAL_ELIMINATION_OFFSET
+- before the reload pass. We need to give at least
+- an estimation for the resulting frame size. */
+- if (! reload_completed)
++ /* It is not safe to call INITIAL_ELIMINATION_OFFSET before the epilogue
++ is completed, but we need to give at least an estimate for the stack
++ pointer based on the frame size. */
++ if (!epilogue_completed)
+ {
+ offset1 = crtl->outgoing_args_size + get_frame_size ();
+ #if !STACK_GROWS_DOWNWARD
+Index: gcc/input.c
+===================================================================
+--- a/src/gcc/input.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/input.c (.../branches/gcc-8-branch)
+@@ -3538,6 +3538,34 @@
+ ASSERT_EQ (num_cases_tested, 2 * 12);
+ }
+
++/* Verify that when presented with a consecutive pair of locations with
++ a very large line offset, we don't attempt to consolidate them into
++ a single ordinary linemap where the line offsets within the line map
++ would lead to overflow (PR lto/88147). */
++
++static void
++test_line_offset_overflow ()
++{
++ line_table_test ltt (line_table_case (5, 0));
++
++ linemap_add (line_table, LC_ENTER, false, "foo.c", 0);
++ linemap_line_start (line_table, 1, 100);
++ location_t loc_a = linemap_line_start (line_table, 2578, 255);
++ assert_loceq ("foo.c", 2578, 0, loc_a);
++
++ const line_map_ordinary *ordmap_a = LINEMAPS_LAST_ORDINARY_MAP (line_table);
++ ASSERT_EQ (ordmap_a->m_column_and_range_bits, 13);
++ ASSERT_EQ (ordmap_a->m_range_bits, 5);
++
++ location_t loc_b = linemap_line_start (line_table, 404198, 512);
++ assert_loceq ("foo.c", 404198, 0, loc_b);
++
++ /* We should have started a new linemap, rather than attempting to store
++ a very large line offset. */
++ const line_map_ordinary *ordmap_b = LINEMAPS_LAST_ORDINARY_MAP (line_table);
++ ASSERT_NE (ordmap_a, ordmap_b);
++}
++
+ /* Run all of the selftests within this file. */
+
+ void
+@@ -3577,6 +3605,8 @@
+ for_each_line_table_case (test_lexer_char_constants);
+
+ test_reading_source_line ();
++
++ test_line_offset_overflow ();
+ }
+
+ } // namespace selftest
+Index: gcc/fold-const.c
+===================================================================
+--- a/src/gcc/fold-const.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/fold-const.c (.../branches/gcc-8-branch)
+@@ -5515,12 +5515,15 @@
+ /* On machines where the branch cost is expensive, if this is a
+ short-circuited branch and the underlying object on both sides
+ is the same, make a non-short-circuit operation. */
+- else if (LOGICAL_OP_NON_SHORT_CIRCUIT
+- && !flag_sanitize_coverage
+- && lhs != 0 && rhs != 0
+- && (code == TRUTH_ANDIF_EXPR
+- || code == TRUTH_ORIF_EXPR)
+- && operand_equal_p (lhs, rhs, 0))
++ bool logical_op_non_short_circuit = LOGICAL_OP_NON_SHORT_CIRCUIT;
++ if (PARAM_VALUE (PARAM_LOGICAL_OP_NON_SHORT_CIRCUIT) != -1)
++ logical_op_non_short_circuit
++ = PARAM_VALUE (PARAM_LOGICAL_OP_NON_SHORT_CIRCUIT);
++ if (logical_op_non_short_circuit
++ && !flag_sanitize_coverage
++ && lhs != 0 && rhs != 0
++ && (code == TRUTH_ANDIF_EXPR || code == TRUTH_ORIF_EXPR)
++ && operand_equal_p (lhs, rhs, 0))
+ {
+ /* If simple enough, just rewrite. Otherwise, make a SAVE_EXPR
+ unless we are at top level or LHS contains a PLACEHOLDER_EXPR, in
+@@ -8165,7 +8168,11 @@
+ if ((tem = fold_truth_andor_1 (loc, code, type, arg0, arg1)) != 0)
+ return tem;
+
+- if (LOGICAL_OP_NON_SHORT_CIRCUIT
++ bool logical_op_non_short_circuit = LOGICAL_OP_NON_SHORT_CIRCUIT;
++ if (PARAM_VALUE (PARAM_LOGICAL_OP_NON_SHORT_CIRCUIT) != -1)
++ logical_op_non_short_circuit
++ = PARAM_VALUE (PARAM_LOGICAL_OP_NON_SHORT_CIRCUIT);
++ if (logical_op_non_short_circuit
+ && !flag_sanitize_coverage
+ && (code == TRUTH_AND_EXPR
+ || code == TRUTH_ANDIF_EXPR
+Index: gcc/ChangeLog
+===================================================================
+--- a/src/gcc/ChangeLog (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/ChangeLog (.../branches/gcc-8-branch)
+@@ -1,3 +1,382 @@
++2019-03-25 Andreas Krebbel <krebbel@linux.ibm.com>
++
++ Backport from mainline
++ 2019-03-20 Andreas Krebbel <krebbel@linux.ibm.com>
++
++ PR target/89775
++ * config/s390/s390.c (global_not_special_regno_p): Move to make it
++ available to ...
++ (s390_optimize_register_info): Use global_not_special_regno_p to
++ check for global regs.
++
++2019-03-22 Bill Schmidt <wschmidt@linux.ibm.com>
++
++ Backport from mainline
++ 2019-03-22 Bill Schmidt <wschmidt@linux.ibm.com>
++
++ * config/rs6000/mmintrin.h (_mm_sub_pi32): Fix typo.
++
++2019-03-21 Bill Schmidt <wschmidt@linux.ibm.com>
++
++ Backport from mainline
++ 2019-03-08 Bill Schmidt <wschmidt@linux.ibm.com>
++
++ * config/rs6000/rs6000-p8swap.c (rs6000_analyze_swaps): Rebuild
++ ud- and du-chains between phases.
++
++2019-03-19 Richard Biener <rguenther@suse.de>
++
++ PR debug/88389
++ * opts.c (finish_options): Disable -gsplit-dwarf when doing LTO.
++
++2019-03-19 Eric Botcazou <ebotcazou@adacore.com>
++
++ PR rtl-optimization/89753
++ * loop-unroll.c (decide_unroll_constant_iterations): Make guard for
++ explicit unrolling factor even more robust.
++
++2019-03-18 Martin Sebor <msebor@redhat.com>
++
++ PR middle-end/88273
++ * gimple-ssa-warn-restrict.c (builtin_memref::extend_offset_range):
++ Handle anti-ranges the same as no range at all.
++
++2019-03-18 Martin Jambor <mjambor@suse.cz>
++
++ Backport from mainline
++ 2019-03-18 Martin Jambor <mjambor@suse.cz>
++
++ PR tree-optimization/89546
++ * tree-sra.c (propagate_subaccesses_across_link): Requeue new_acc if
++ any propagation to its children took place.
++
++2019-03-17 H.J. Lu <hongjiu.lu@intel.com>
++
++ Backport from mainline
++ 2019-03-14 H.J. Lu <hongjiu.lu@intel.com>
++
++ PR target/89523
++ * config/i386/i386.c (ix86_print_operand): Handle 'M' to add
++ addr32 prefix to VSIB address for X32.
++ * config/i386/sse.md (*avx512pf_gatherpf<mode>sf_mask): Prepend
++ "%M2" to opcode.
++ (*avx512pf_gatherpf<mode>df_mask): Likewise.
++ (*avx512pf_scatterpf<mode>sf_mask): Likewise.
++ (*avx512pf_scatterpf<mode>df_mask): Likewise.
++ (*avx2_gathersi<mode>): Prepend "%M3" to opcode.
++ (*avx2_gathersi<mode>_2): Prepend "%M2" to opcode.
++ (*avx2_gatherdi<mode>): Prepend "%M3" to opcode.
++ (*avx2_gatherdi<mode>_2): Prepend "%M2" to opcode.
++ (*avx2_gatherdi<mode>_3): Prepend "%M3" to opcode.
++ (*avx2_gatherdi<mode>_4): Prepend "%M2" to opcode.`
++ (*avx512f_gathersi<mode>): Prepend "%M4" to opcode.
++ (*avx512f_gathersi<mode>_2): Prepend "%M3" to opcode.
++ (*avx512f_gatherdi<mode>): Prepend "%M4" to opcode.
++ (*avx512f_gatherdi<mode>_2): Prepend "%M3" to opcode.
++ (*avx512f_scattersi<mode>): Prepend "%M0" to opcode.
++ (*avx512f_scatterdi<mode>): Likewise.
++
++2019-03-15 Richard Biener <rguenther@suse.de>
++
++ Backport from mainline
++ 2018-11-30 Jakub Jelinek <jakub@redhat.com>
++
++ PR testsuite/85368
++ * params.def (PARAM_LOGICAL_OP_NON_SHORT_CIRCUIT): New param.
++ * tree-ssa-ifcombine.c (ifcombine_ifandif): If
++ --param logical-op-non-short-circuit is present, override
++ LOGICAL_OP_NON_SHORT_CIRCUIT value from the param.
++ * fold-const.c (fold_range_test, fold_truth_andor): Likewise.
++
++2019-03-15 Martin Liska <mliska@suse.cz>
++
++ PR other/89712
++ * doc/invoke.texi: Remove -fdump-class-hierarchy option.
++
++2019-03-14 Martin Jambor <mjambor@suse.cz>
++
++ Backport from mainline
++ 2019-03-07 Martin Jambor <mjambor@suse.cz>
++
++ PR lto/87525
++ * ipa-cp.c (perform_estimation_of_a_value): Account zero time benefit
++ for extern inline functions.
++
++2019-03-14 Richard Biener <rguenther@suse.de>
++
++ PR middle-end/89572
++ * tree-scalar-evolution.c (get_loop_exit_condition): Use
++ safe_dyn_cast.
++ * tree-ssa-loop-ivcanon.c (canonicalize_loop_induction_variables):
++ Use gimple_location_safe.
++
++2019-03-13 Vladimir Makarov <vmakarov@redhat.com>
++
++ PR target/85860
++ * lra-constraints.c (inherit_in_ebb): Update
++ potential_reload_hard_regs along with live_hard_regs.
++
++2019-03-14 Richard Biener <rguenther@suse.de>
++
++ Backport from mainline
++ 2019-03-13 Richard Biener <rguenther@suse.de>
++
++ PR middle-end/89677
++ * tree-scalar-evolution.c (simplify_peeled_chrec): Do not
++ throw FP expressions at tree-affine.
++
++ 2019-03-01 Richard Biener <rguenther@suse.de>
++
++ PR middle-end/89497
++ * tree-cfgcleanup.h (cleanup_tree_cfg): Add SSA update flags
++ argument, defaulted to zero.
++ * passes.c (execute_function_todo): Pass down SSA update flags
++ to cleanup_tree_cfg.
++ * tree-cfgcleanup.c: Include tree-into-ssa.h and tree-cfgcleanup.h.
++ (cleanup_tree_cfg_1): After cleanup_control_flow_pre update SSA
++ form if requested.
++ (cleanup_tree_cfg_noloop): Pass down SSA update flags.
++ (cleanup_tree_cfg): Get and pass down SSA update flags.
++
++ 2019-02-18 Richard Biener <rguenther@suse.de>
++
++ PR tree-optimization/89296
++ * tree-ssa-loop-ch.c (ch_base::copy_headers): Restrict setting
++ of no-warning flag to cases that might emit the bogus warning.
++
++2019-03-13 Andreas Krebbel <krebbel@linux.ibm.com>
++
++ Backport from mainline
++ 2019-03-11 Andreas Krebbel <krebbel@linux.ibm.com>
++
++ * config/s390/s390.c (s390_expand_builtin): Do the copy_to_reg not
++ only on the else branch.
++
++2019-03-13 Andreas Krebbel <krebbel@linux.ibm.com>
++
++ Backport from mainline
++ 2019-02-07 Andreas Krebbel <krebbel@linux.ibm.com>
++
++ * config/s390/s390-builtin-types.def: Add new types.
++ * config/s390/s390-builtins.def: (s390_vec_xl, s390_vec_xld2)
++ (s390_vec_xlw4): Make the memory operand into a const pointer.
++ (s390_vec_xld2, s390_vec_xlw4): Add a variant for single precision
++ float.
++ * config/s390/s390-c.c (s390_expand_overloaded_builtin): Generate
++ a new vector type with the alignment of the scalar memory operand.
++
++2019-03-12 Richard Biener <rguenther@suse.de>
++
++ PR tree-optimization/89664
++ * tree-ssa-math-opts.c (execute_cse_reciprocals_1): Properly
++ free the occurance tree after the early out.
++
++2019-03-12 Andre Vieira <andre.simoesdiasvieira@arm.com>
++
++ Backport from mainline
++ 2019-03-08 Andre Vieira <andre.simoesdiasvieira@arm.com>
++
++ * config/arm/arm.h (TARGET_FP16_TO_DOUBLE): Add TARGET_VFP_DOUBLE
++ requirement.
++
++2019-03-11 Eric Botcazou <ebotcazou@adacore.com>
++
++ PR rtl-optimization/89588
++ * loop-unroll.c (decide_unroll_constant_iterations): Make guard for
++ explicit unrolling factor more robust.
++
++2019-03-11 Martin Liska <mliska@suse.cz>
++
++ Backport from mainline
++ 2019-03-08 Martin Liska <mliska@suse.cz>
++
++ PR target/86952
++ * config/i386/i386.c (ix86_option_override_internal): Disable
++ jump tables when retpolines are used.
++
++2019-03-11 Martin Liska <mliska@suse.cz>
++
++ Backport from mainline
++ 2019-02-11 David Malcolm <dmalcolm@redhat.com>
++
++ PR lto/88147
++ * input.c (selftest::test_line_offset_overflow): New selftest.
++ (selftest::input_c_tests): Call it.
++
++2019-03-08 Martin Jambor <mjambor@suse.cz>
++
++ Backport from mainline
++ 2019-03-07 Martin Jambor <mjambor@suse.cz>
++
++ PR ipa/88235
++ * cgraph.h (cgraph_node): New inline method former_thunk_p.
++ * cgraph.c (cgraph_node::dump): Dump a note if node is a former thunk.
++ (clone_of_p): Treat expanded thunks like thunks, be optimistic if they
++ have multiple callees. At the end check if declarations match as
++ opposed to cgraph_nodes.
++
++2019-03-06 Tamar Christina <tamar.christina@arm.com>
++
++ Backport from trunk.
++ 2019-02-25 Tamar Christina <tamar.christina@arm.com>
++
++ PR target/88530
++ * common/config/aarch64/aarch64-common.c
++ (struct aarch64_option_extension): Add is_synthetic.
++ (all_extensions): Use it.
++ (TARGET_OPTION_INIT_STRUCT): Define hook.
++ (struct gcc_targetm_common): Moved to end.
++ (all_extensions_by_on): New.
++ (opt_ext_cmp, typedef opt_ext): New.
++ (aarch64_option_init_struct): New.
++ (aarch64_contains_opt): New.
++ (aarch64_get_extension_string_for_isa_flags): Output smallest set.
++ * config/aarch64/aarch64-option-extensions.def
++ (AARCH64_OPT_EXTENSION): Explicitly include AES and SHA2 in crypto.
++ (fp, simd, crc, lse, fp16, rcpc, rdma, dotprod, aes, sha2, sha3,
++ sm4, fp16fml, sve):
++ Set is_synthetic to false.
++ (crypto): Set is_synthetic to true.
++ * config/aarch64/driver-aarch64.c (AARCH64_OPT_EXTENSION): Add
++ SYNTHETIC.
++
++2019-03-06 Tamar Christina <tamar.christina@arm.com>
++
++ Backport from trunk.
++ 2019-02-28 Tamar Christina <tamar.christina@arm.com>
++
++ PR target/88530
++ * config/aarch64/aarch64-option-extensions.def: Document it.
++ * config/aarch64/driver-aarch64.c (host_detect_local_cpu): Skip feature
++ if empty hwcaps.
++
++2019-03-06 Xiong Hu Luo <luoxhu@linux.ibm.com>
++
++ Backport of r268834 from mainline to gcc-8-branch.
++ 2019-02-13 Xiong Hu Luo <luoxhu@linux.vnet.ibm.com>
++
++ * config/rs6000/altivec.h (vec_sbox_be, vec_cipher_be,
++ vec_cipherlast_be, vec_ncipher_be, vec_ncipherlast_be): New #defines.
++ * config/rs6000/crypto.md (CR_vqdi): New define_mode_iterator.
++ (crypto_vsbox_<mode>, crypto_<CR_insn>_<mode>): New define_insns.
++ * config/rs6000/rs6000-builtin.def (VSBOX_BE): New BU_CRYPTO_1.
++ (VCIPHER_BE, VCIPHERLAST_BE, VNCIPHER_BE, VNCIPHERLAST_BE):
++ New BU_CRYPTO_2.
++ * config/rs6000/rs6000.c (builtin_function_type)
++ <CRYPTO_BUILTIN_VSBOX_BE, CRYPTO_BUILTIN_VCIPHER_BE,
++ CRYPTO_BUILTIN_VCIPHERLAST_BE, CRYPTO_BUILTIN_VNCIPHER_BE,
++ CRYPTO_BUILTIN_VNCIPHERLAST_BE>: New switch options.
++ * doc/extend.texi (vec_sbox_be, vec_cipher_be, vec_cipherlast_be,
++ vec_ncipher_be, vec_ncipherlast_be): New builtin functions.
++
++2019-03-05 Richard Biener <rguenther@suse.de>
++
++ Backport from mainline
++ 2019-02-26 Richard Biener <rguenther@suse.de>
++
++ PR tree-optimization/89505
++ * tree-ssa-structalias.c (compute_dependence_clique): Make sure
++ to handle restrict pointed-to vars with multiple subvars
++ correctly.
++
++2019-03-01 Tamar Christina <tamar.christina@arm.com>
++
++ PR target/89517
++ * config/aarch64/aarch64-option-extensions.def (fp, simd, crypto,
++ fp16): Collapse line.
++
++2019-03-01 Richard Biener <rguenther@suse.de>
++
++ Backport from mainline
++ 2019-03-01 Jakub Jelinek <jakub@redhat.com>
++
++ PR bootstrap/89539
++ * dwarf2out.c (output_comdat_type_unit): Add ATTRIBUTE_UNUSED to
++ early_lto_debug argument.
++
++ 2019-02-27 Richard Biener <rguenther@suse.de>
++
++ PR debug/88878
++ * dwarf2out.c (use_debug_types): Disable when in_lto_p.
++
++ 2019-02-27 Richard Biener <rguenther@suse.de>
++
++ PR debug/88878
++ * dwarf2out.c (output_comdat_type_unit): Add early_lto_debug
++ parameter, prefix section name with .gnu.debuglto_ if true.
++ (dwarf2out_finish): Pass false to output_comdat_type_unit.
++ (dwarf2out_early_finish): Pass true to output_comdat_type_unit.
++
++ 2019-02-27 Richard Biener <rguenther@suse.de>
++
++ PR debug/89514
++ * dwarf2out.c (size_of_die): Key on AT_ref (a)->comdat_type_p
++ rather than on use_debug_types, doing what output_die does.
++ (value_format): Likewise.
++
++2019-02-28 Eric Botcazou <ebotcazou@adacore.com>
++
++ PR tree-optimization/89536
++ * tree-ssa-dom.c (edge_info::derive_equivalences) <BIT_NOT_EXPR>: Test
++ only whether bit #0 of the value is 0 instead of the entire value.
++
++2019-02-28 Li Jia He <helijia@linux.ibm.com>
++
++ Backport from trunk
++ 2019-02-20 Li Jia He <helijia@linux.ibm.com>
++
++ PR target/88100
++ * gcc/config/rs6000/rs6000.c (rs6000_gimple_fold_builtin)
++ <case ALTIVEC_BUILTIN_VSPLTISB, ALTIVEC_BUILTIN_VSPLTISH,
++ ALTIVEC_BUILTIN_VSPLTISW>: Don't convert the operand before
++ range checking it.
++
++2019-02-27 Uroš Bizjak <ubizjak@gmail.com>
++
++ PR target/89397
++ * config/i386/i386.c (ix86_atomic_assign_expand_fenv): Check
++ TARGET_SSE in addition to TARGET_SSE_MATH.
++
++ (ix86_excess_precision): Ditto.
++ (ix86_float_exceptions_rounding_supported_p): Ditto.
++ (use_rsqrt_p): Ditto.
++ * config/i386/sse.md (rsqrt<mode>2): Ditto.
++
++2019-02-27 Jakub Jelinek <jakub@redhat.com>
++
++ Backported from mainline
++ 2019-02-18 Jakub Jelinek <jakub@redhat.com>
++
++ PR target/89361
++ * config/s390/s390.c (s390_indirect_branch_attrvalue,
++ s390_indirect_branch_settings): Define unconditionally.
++ (s390_set_current_function): Likewise, but guard the whole body except
++ the s390_indirect_branch_settings call with
++ #if S390_USE_TARGET_ATTRIBUTE.
++ (TARGET_SET_CURRENT_FUNCTION): Redefine unconditionally.
++
++2019-02-26 Eric Botcazou <ebotcazou@adacore.com>
++
++ Backport from mainline
++ 2019-02-19 Eric Botcazou <ebotcazou@adacore.com>
++
++ * rtlanal.c (get_initial_register_offset): Fall back to the estimate
++ as long as the epilogue isn't completed.
++
++2019-02-26 Eric Botcazou <ebotcazou@adacore.com>
++
++ * tree-ssa-dom.c (edge_info::derive_equivalences) <BIT_IOR_EXPR>: Fix
++ and move around comment.
++ <BIT_AND_EXPR>: Likewise.
++ <BIT_NOT_EXPR>: Add specific handling for boolean types.
++
++2019-02-24 Alan Modra <amodra@gmail.com>
++
++ PR target/89271
++ * config/rs6000/rs6000.md (<bd>_<mode> split): Check for an int
++ output reg on add insn.
++ (<bd>tf_<mode> split): Likewise. Match predicates with insn.
++
+ 2019-02-22 Release Manager
+
+ * GCC 8.3.0 released.
+Index: gcc/testsuite/gcc.target/powerpc/ppc-fortran/ppc-fortran.exp
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/powerpc/ppc-fortran/ppc-fortran.exp (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gcc.target/powerpc/ppc-fortran/ppc-fortran.exp (.../branches/gcc-8-branch)
+@@ -36,7 +36,7 @@
+ global gfortran_test_path
+ global gfortran_aux_module_flags
+ if { [llength $args] != 2 } {
+- error "dg-set-target-env-var: needs one argument"
++ error "dg-compile-aux-modules: needs one argument"
+ return
+ }
+
+Index: gcc/testsuite/gcc.target/powerpc/crypto-builtin-1.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/powerpc/crypto-builtin-1.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gcc.target/powerpc/crypto-builtin-1.c (.../branches/gcc-8-branch)
+@@ -4,6 +4,7 @@
+ /* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power8" } } */
+ /* { dg-options "-mcpu=power8 -O2 -ftree-vectorize -fvect-cost-model=dynamic -fno-unroll-loops -fno-unroll-all-loops" } */
+
++#include <altivec.h>
+ typedef vector unsigned long long crypto_t;
+ typedef vector unsigned long long v2di_t;
+ typedef vector unsigned int v4si_t;
+@@ -10,31 +11,56 @@
+ typedef vector unsigned short v8hi_t;
+ typedef vector unsigned char v16qi_t;
+
+-crypto_t crpyto1 (crypto_t a)
++crypto_t crypto1 (crypto_t a)
+ {
+ return __builtin_crypto_vsbox (a);
+ }
+
++v16qi_t crypto1_be (v16qi_t a)
++{
++ return vec_sbox_be (a);
++}
++
+ crypto_t crypto2 (crypto_t a, crypto_t b)
+ {
+ return __builtin_crypto_vcipher (a, b);
+ }
+
++v16qi_t crypto2_be (v16qi_t a, v16qi_t b)
++{
++ return vec_cipher_be (a, b);
++}
++
+ crypto_t crypto3 (crypto_t a, crypto_t b)
+ {
+ return __builtin_crypto_vcipherlast (a, b);
+ }
+
++v16qi_t crypto3_be (v16qi_t a, v16qi_t b)
++{
++ return vec_cipherlast_be (a, b);
++}
++
+ crypto_t crypto4 (crypto_t a, crypto_t b)
+ {
+ return __builtin_crypto_vncipher (a, b);
+ }
+
++v16qi_t crypto4_be (v16qi_t a, v16qi_t b)
++{
++ return vec_ncipher_be (a, b);
++}
++
+ crypto_t crypto5 (crypto_t a, crypto_t b)
+ {
+ return __builtin_crypto_vncipherlast (a, b);
+ }
+
++v16qi_t crypto5_be (v16qi_t a, v16qi_t b)
++{
++ return vec_ncipherlast_be (a, b);
++}
++
+ v16qi_t crypto6a (v16qi_t a, v16qi_t b, v16qi_t c)
+ {
+ return __builtin_crypto_vpermxor (a, b, c);
+@@ -117,15 +143,15 @@
+
+ /* Note space is used after the instruction so that vcipherlast does not match
+ vcipher. */
+-/* { dg-final { scan-assembler-times "vcipher " 1 } } */
+-/* { dg-final { scan-assembler-times "vcipherlast " 1 } } */
+-/* { dg-final { scan-assembler-times "vncipher " 1 } } */
+-/* { dg-final { scan-assembler-times "vncipherlast " 1 } } */
++/* { dg-final { scan-assembler-times "vcipher " 2 } } */
++/* { dg-final { scan-assembler-times "vcipherlast " 2 } } */
++/* { dg-final { scan-assembler-times "vncipher " 2 } } */
++/* { dg-final { scan-assembler-times "vncipherlast " 2 } } */
+ /* { dg-final { scan-assembler-times "vpermxor " 4 } } */
+ /* { dg-final { scan-assembler-times "vpmsumb " 2 } } */
+ /* { dg-final { scan-assembler-times "vpmsumd " 2 } } */
+ /* { dg-final { scan-assembler-times "vpmsumh " 2 } } */
+ /* { dg-final { scan-assembler-times "vpmsumw " 2 } } */
+-/* { dg-final { scan-assembler-times "vsbox " 1 } } */
++/* { dg-final { scan-assembler-times "vsbox " 2 } } */
+ /* { dg-final { scan-assembler-times "vshasigmad " 2 } } */
+ /* { dg-final { scan-assembler-times "vshasigmaw " 2 } } */
+Index: gcc/testsuite/gcc.target/powerpc/mmx-psubd-2.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/powerpc/mmx-psubd-2.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gcc.target/powerpc/mmx-psubd-2.c (.../branches/gcc-8-branch)
+@@ -23,20 +23,28 @@
+ return _mm_sub_pi32 (s1, s2);
+ }
+
++static __m64
++__attribute__((noinline, unused))
++test_alias (__m64 s1, __m64 s2)
++{
++ return _m_psubd (s1, s2);
++}
++
+ static void
+ TEST (void)
+ {
+ __m64_union u, s1, s2;
+- __m64_union e;
++ __m64_union e, v;
+ int i;
+
+ s1.as_m64 = _mm_setr_pi32 (30, 90);
+ s2.as_m64 = _mm_setr_pi32 (76, -100);
+ u.as_m64 = test (s1.as_m64, s2.as_m64);
+-
++ v.as_m64 = test_alias (s1.as_m64, s2.as_m64);
++
+ for (i = 0; i < 2; i++)
+ e.as_int[i] = s1.as_int[i] - s2.as_int[i];
+
+- if (u.as_m64 != e.as_m64)
++ if (u.as_m64 != e.as_m64 || u.as_m64 != v.as_m64)
+ abort ();
+ }
+Index: gcc/testsuite/gcc.target/powerpc/pr88100.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/powerpc/pr88100.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gcc.target/powerpc/pr88100.c (.../branches/gcc-8-branch)
+@@ -0,0 +1,44 @@
++/* PR88100. Verify that rs6000 gimple-folding code handles the
++ vec_splat_{su}{8,16,32} invalid data properly. */
++
++/* { dg-do compile } */
++/* { dg-require-effective-target powerpc_altivec_ok } */
++/* { dg-options "-maltivec" } */
++
++#include <altivec.h>
++
++vector unsigned char
++splatu1 (void)
++{
++ return vec_splat_u8(0x100);/* { dg-error "argument 1 must be a 5-bit signed literal" } */
++}
++
++vector unsigned short
++splatu2 (void)
++{
++ return vec_splat_u16(0x10000);/* { dg-error "argument 1 must be a 5-bit signed literal" } */
++}
++
++vector unsigned int
++splatu3 (void)
++{
++ return vec_splat_u32(0x10000000);/* { dg-error "argument 1 must be a 5-bit signed literal" } */
++}
++
++vector signed char
++splats1 (void)
++{
++ return vec_splat_s8(0x100);/* { dg-error "argument 1 must be a 5-bit signed literal" } */
++}
++
++vector signed short
++splats2 (void)
++{
++ return vec_splat_s16(0x10000);/* { dg-error "argument 1 must be a 5-bit signed literal" } */
++}
++
++vector signed int
++splats3 (void)
++{
++ return vec_splat_s32(0x10000000);/* { dg-error "argument 1 must be a 5-bit signed literal" } */
++}
+Index: gcc/testsuite/gcc.target/arm/f16_f64_conv_no_dp.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/arm/f16_f64_conv_no_dp.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gcc.target/arm/f16_f64_conv_no_dp.c (.../branches/gcc-8-branch)
+@@ -0,0 +1,16 @@
++/* { dg-do compile } */
++/* { dg-require-effective-target arm_fp16_ok } */
++/* { dg-skip-if "do not override fpu" { *-*-* } { "-mfpu=*" } { "-mfpu=fpv5-sp-d16" } } */
++/* { dg-skip-if "do not disable fpu" { *-*-* } { "-mfloat-abi=soft" } { * } } */
++/* { dg-skip-if "do not override fp16-format" { *-*-* } { "-mfp16-format=*" } { "-mfp16-format=ieee" } } */
++/* { dg-options "-O1 -mfpu=fpv5-sp-d16 -mfloat-abi=hard -mfp16-format=ieee" } */
++
++__fp16 foo (double a)
++{
++ return a;
++}
++
++double bar (__fp16 a)
++{
++ return a;
++}
+Index: gcc/testsuite/gcc.target/s390/pr89775-1.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/s390/pr89775-1.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gcc.target/s390/pr89775-1.c (.../branches/gcc-8-branch)
+@@ -0,0 +1,17 @@
++/* PR target/89775 */
++/* { dg-do run } */
++/* { dg-options "-O0 -fomit-frame-pointer" } */
++/* { dg-additional-sources "pr89775-2.c" } */
++
++register void *sp __asm ("15");
++
++__attribute__((noipa)) int
++foo (const char *a, const char *b)
++{
++ while (1)
++ {
++ char c = *a++;
++ if (c != *b++) return 0;
++ if (c == '\0') return 1;
++ }
++}
+Index: gcc/testsuite/gcc.target/s390/pr89775-2.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/s390/pr89775-2.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gcc.target/s390/pr89775-2.c (.../branches/gcc-8-branch)
+@@ -0,0 +1,25 @@
++/* PR target/89775 */
++/* { dg-do compile } */
++
++extern int foo (const char *, const char *);
++
++__attribute__((noipa)) void
++bar (const char *p)
++{
++ static const char *x;
++ if (!x)
++ x = p;
++ else if (p != x)
++ __builtin_abort ();
++}
++
++int
++main ()
++{
++ char a[8] = "abcdefg";
++ bar (a);
++ if (foo (a, a) != 1)
++ __builtin_abort ();
++ bar (a);
++ return 0;
++}
+Index: gcc/testsuite/gcc.target/s390/zvector/vec-addc-u128.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/s390/zvector/vec-addc-u128.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gcc.target/s390/zvector/vec-addc-u128.c (.../branches/gcc-8-branch)
+@@ -0,0 +1,10 @@
++/* { dg-do compile { target { s390*-*-* } } } */
++/* { dg-options "-O3 -mzarch -march=z13 -mzvector -fno-asynchronous-unwind-tables" } */
++
++#include <vecintrin.h>
++
++vector unsigned char test(void)
++{
++ vector unsigned char a = { 0 };
++ return __builtin_s390_vec_addc_u128 (a, a);
++}
+Index: gcc/testsuite/gcc.target/s390/zvector/xl-xst-align-1.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/s390/zvector/xl-xst-align-1.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gcc.target/s390/zvector/xl-xst-align-1.c (.../branches/gcc-8-branch)
+@@ -0,0 +1,45 @@
++/* { dg-do compile { target { s390*-*-* } } } */
++/* { dg-options "-O3 -mzarch -march=z14 -mzvector" } */
++
++#include <vecintrin.h>
++
++vector float
++foo (float *a)
++{
++ return vec_xl (0, a);
++}
++
++vector float
++bar (const float *a)
++{
++ return vec_xl (0, a);
++}
++
++void
++baz (float *f, vector float a)
++{
++ vec_xst (a, 0, f);
++}
++
++vector float
++foo2 (float *a)
++{
++ return vec_xlw4 (0, a);
++}
++
++vector float
++bar2 (const float *a)
++{
++ return vec_xlw4 (0, a);
++}
++
++void
++baz2 (float *f, vector float a)
++{
++ vec_xstw4 (a, 0, f);
++}
++
++/* Make sure no alignment hints are generated. */
++
++/* { dg-final { scan-assembler-not "vl.*,3" } } */
++/* { dg-final { scan-assembler-not "vst.*,3" } } */
+Index: gcc/testsuite/gcc.target/s390/zvector/xl-xst-align-2.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/s390/zvector/xl-xst-align-2.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gcc.target/s390/zvector/xl-xst-align-2.c (.../branches/gcc-8-branch)
+@@ -0,0 +1,48 @@
++/* { dg-do compile { target { s390*-*-* } } } */
++/* { dg-options "-O3 -mzarch -march=z14 -mzvector" } */
++
++#include <vecintrin.h>
++
++typedef float __attribute__((aligned(8))) float_aligned;
++
++vector float
++foo (float_aligned *a)
++{
++ return vec_xl (0, a);
++}
++
++vector float
++bar (const float_aligned *a)
++{
++ return vec_xl (0, a);
++}
++
++void
++baz (float_aligned *f, vector float a)
++{
++ vec_xst (a, 0, f);
++}
++
++vector float
++foo2 (float_aligned *a)
++{
++ return vec_xlw4 (0, a);
++}
++
++vector float
++bar2 (const float_aligned *a)
++{
++ return vec_xlw4 (0, a);
++}
++
++void
++baz2 (float_aligned *f, vector float a)
++{
++ vec_xstw4 (a, 0, f);
++}
++
++/* Make sure alignment hints are generated if the source or target
++ operand is properly aligned. */
++
++/* { dg-final { scan-assembler-times "vl\t%v\[0-9\]*,0\\(%r2\\),3" 4 } } */
++/* { dg-final { scan-assembler-times "vst\t%v\[0-9\]*,0\\(%r2\\),3" 2 } } */
+Index: gcc/testsuite/gcc.target/aarch64/options_set_9.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/aarch64/options_set_9.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gcc.target/aarch64/options_set_9.c (.../branches/gcc-8-branch)
+@@ -0,0 +1,14 @@
++/* { dg-do compile } */
++/* { dg-additional-options "-march=armv8-a+simd+fp" } */
++
++int main ()
++{
++ return 0;
++}
++
++/* { dg-final { scan-assembler-times {\.arch armv8\-a} 1 } } */
++
++ /* Check that grouping of bits that don't form a synthetic group don't turn
++ on the parent. e.g. rdma turns on simd+fp, but simd+fp does not turn on
++ rdma since rdma is it's own group. crypto however turns on aes and sha2
++ and turning on sha2 and eas should turn on crypto!. */
+Index: gcc/testsuite/gcc.target/aarch64/options_set_1.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/aarch64/options_set_1.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gcc.target/aarch64/options_set_1.c (.../branches/gcc-8-branch)
+@@ -0,0 +1,11 @@
++/* { dg-do compile } */
++/* { dg-additional-options "-march=armv8.2-a" } */
++
++int main ()
++{
++ return 0;
++}
++
++/* { dg-final { scan-assembler-times {\.arch armv8\.2\-a\+crc} 1 } } */
++
++/* Check to see if crc is output by default. */
+Index: gcc/testsuite/gcc.target/aarch64/options_set_2.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/aarch64/options_set_2.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gcc.target/aarch64/options_set_2.c (.../branches/gcc-8-branch)
+@@ -0,0 +1,11 @@
++/* { dg-do compile } */
++/* { dg-additional-options "-march=armv8.2-a+crypto" } */
++
++int main ()
++{
++ return 0;
++}
++
++/* { dg-final { scan-assembler-times {\.arch armv8\.2\-a\+crypto\+crc} 1 } } */
++
++/* Check to see if crc and crypto are maintained if crypto specified. */
+Index: gcc/testsuite/gcc.target/aarch64/options_set_3.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/aarch64/options_set_3.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gcc.target/aarch64/options_set_3.c (.../branches/gcc-8-branch)
+@@ -0,0 +1,11 @@
++/* { dg-do compile } */
++/* { dg-additional-options "-march=armv8.2-a+aes+sha2+crypto" } */
++
++int main ()
++{
++ return 0;
++}
++
++/* { dg-final { scan-assembler-times {\.arch armv8\.2\-a\+crypto\+crc} 1 } } */
++
++/* Check if smallest set is maintained when outputting. */
+Index: gcc/testsuite/gcc.target/aarch64/options_set_4.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/aarch64/options_set_4.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gcc.target/aarch64/options_set_4.c (.../branches/gcc-8-branch)
+@@ -0,0 +1,12 @@
++/* { dg-do compile } */
++/* { dg-additional-options "-march=armv8.2-a+aes+sha2" } */
++
++int main ()
++{
++ return 0;
++}
++
++/* { dg-final { scan-assembler-times {\.arch armv8\.2\-a\+crypto\+crc} 1 } } */
++
++/* Check if individual bits that make up a grouping is specified that only the
++ grouping is kept. */
+\ No newline at end of file
+Index: gcc/testsuite/gcc.target/aarch64/options_set_5.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/aarch64/options_set_5.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gcc.target/aarch64/options_set_5.c (.../branches/gcc-8-branch)
+@@ -0,0 +1,12 @@
++/* { dg-do compile } */
++/* { dg-additional-options "-march=armv8.2-a+aes+sha2+nosha2" } */
++
++int main ()
++{
++ return 0;
++}
++
++/* { dg-final { scan-assembler-times {\.arch armv8\.2\-a\+crc\+aes} 1 } } */
++
++/* Check if turning off feature bits works correctly and grouping is no
++ longer valid. */
+Index: gcc/testsuite/gcc.target/aarch64/options_set_10.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/aarch64/options_set_10.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gcc.target/aarch64/options_set_10.c (.../branches/gcc-8-branch)
+@@ -0,0 +1,11 @@
++/* { dg-do compile { target { { aarch64*-*-linux*} && native } } } */
++/* { dg-additional-options "-mcpu=native" } */
++
++int main ()
++{
++ return 0;
++}
++
++/* { dg-final { scan-assembler-not {\.arch .+\+profile.*} } } */
++
++ /* Check that an empty feature string is not detected during mcpu=native. */
+Index: gcc/testsuite/gcc.target/aarch64/options_set_6.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/aarch64/options_set_6.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gcc.target/aarch64/options_set_6.c (.../branches/gcc-8-branch)
+@@ -0,0 +1,12 @@
++/* { dg-do compile } */
++/* { dg-additional-options "-march=armv8.2-a+crypto+nosha2" } */
++
++int main ()
++{
++ return 0;
++}
++
++/* { dg-final { scan-assembler-times {\.arch armv8\.2\-a\+crypto\+crc} 1 } } */
++
++/* Group as a whole was requested to be turned on, crypto itself is a bit and so
++ just turning off one feature can't turn it off. */
+Index: gcc/testsuite/gcc.target/aarch64/options_set_7.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/aarch64/options_set_7.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gcc.target/aarch64/options_set_7.c (.../branches/gcc-8-branch)
+@@ -0,0 +1,11 @@
++/* { dg-do compile } */
++/* { dg-additional-options "-march=armv8.4-a+dotprod" } */
++
++int main ()
++{
++ return 0;
++}
++
++/* { dg-final { scan-assembler-times {\.arch armv8\.4\-a} 1 } } */
++
++/* Checking if enabling default features drops the superfluous bits. */
+Index: gcc/testsuite/gcc.target/aarch64/options_set_8.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/aarch64/options_set_8.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gcc.target/aarch64/options_set_8.c (.../branches/gcc-8-branch)
+@@ -0,0 +1,12 @@
++/* { dg-do compile } */
++/* { dg-additional-options "-march=armv8.4-a+nodotprod" } */
++
++int main ()
++{
++ return 0;
++}
++
++/* { dg-final { scan-assembler-times {\.arch armv8\.4\-a} 1 } } */
++
++/* Checking if trying to turn off default features propagates the commandline
++ option. */
+Index: gcc/testsuite/gcc.target/i386/pr89523-4.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/pr89523-4.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gcc.target/i386/pr89523-4.c (.../branches/gcc-8-branch)
+@@ -0,0 +1,36 @@
++/* { dg-do compile { target { ! ia32 } } } */
++/* { dg-require-effective-target maybe_x32 } */
++/* { dg-options "-mx32 -O2 -march=haswell" } */
++/* { dg-final { scan-assembler-not "\tvgather" } } */
++/* { dg-final { scan-assembler "addr32 vgather" } } */
++
++typedef double __v2df __attribute__ ((__vector_size__ (16)));
++typedef int __v4si __attribute__ ((__vector_size__ (16)));
++typedef long long __v2di __attribute__ ((__vector_size__ (16)));
++
++typedef long long __m128i __attribute__ ((__vector_size__ (16), __may_alias__));
++typedef double __m128d __attribute__ ((__vector_size__ (16), __may_alias__));
++
++extern __inline __m128d
++__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
++_mm_i32gather_pd (double const *__base, __m128i __index, const int __scale)
++{
++ __v2df __zero = { 0.0, 0.0 };
++ __v2df __mask = __builtin_ia32_cmpeqpd (__zero, __zero);
++ __v2df x = x;
++
++ return (__m128d) __builtin_ia32_gathersiv2df (x,
++ __base,
++ (__v4si)__index,
++ __mask,
++ __scale);
++}
++
++__m128d x;
++__m128i idx;
++
++void extern
++avx2_test (void)
++{
++ x = _mm_i32gather_pd ((void *) 0, idx, 1);
++}
+Index: gcc/testsuite/gcc.target/i386/pr89523-5.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/pr89523-5.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gcc.target/i386/pr89523-5.c (.../branches/gcc-8-branch)
+@@ -0,0 +1,39 @@
++/* { dg-do compile { target { ! ia32 } } } */
++/* { dg-require-effective-target maybe_x32 } */
++/* { dg-options "-mx32 -O2 -mavx512pf" } */
++/* { dg-final { scan-assembler "\tvgather" } } */
++/* { dg-final { scan-assembler-not "addr32 vgather" } } */
++
++typedef int __v8si __attribute__ ((__vector_size__ (32)));
++typedef long long __m256i __attribute__ ((__vector_size__ (32),
++ __may_alias__));
++typedef unsigned char __mmask8;
++
++extern __inline void
++__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
++_mm512_prefetch_i32gather_pd (__m256i __index, void const *__addr,
++ int __scale, int __hint)
++{
++ __builtin_ia32_gatherpfdpd ((__mmask8) 0xFF, (__v8si) __index, __addr,
++ __scale, __hint);
++}
++
++extern __inline void
++__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
++_mm512_mask_prefetch_i32gather_pd (__m256i __index, __mmask8 __mask,
++ void const *__addr, int __scale, int __hint)
++{
++ __builtin_ia32_gatherpfdpd (__mask, (__v8si) __index, __addr, __scale,
++ __hint);
++}
++
++volatile __m256i idx;
++volatile __mmask8 m8;
++void *base;
++
++void extern
++avx512pf_test (void)
++{
++ _mm512_prefetch_i32gather_pd (idx, base, 8, 3);
++ _mm512_mask_prefetch_i32gather_pd (idx, m8, base, 8, 3);
++}
+Index: gcc/testsuite/gcc.target/i386/pr89523-6.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/pr89523-6.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gcc.target/i386/pr89523-6.c (.../branches/gcc-8-branch)
+@@ -0,0 +1,38 @@
++/* { dg-do compile { target { ! ia32 } } } */
++/* { dg-require-effective-target maybe_x32 } */
++/* { dg-options "-mx32 -O2 -mavx512pf" } */
++/* { dg-final { scan-assembler-not "\tvgather" } } */
++/* { dg-final { scan-assembler "addr32 vgather" } } */
++
++typedef int __v8si __attribute__ ((__vector_size__ (32)));
++typedef long long __m256i __attribute__ ((__vector_size__ (32),
++ __may_alias__));
++typedef unsigned char __mmask8;
++
++extern __inline void
++__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
++_mm512_prefetch_i32gather_pd (__m256i __index, void const *__addr,
++ int __scale, int __hint)
++{
++ __builtin_ia32_gatherpfdpd ((__mmask8) 0xFF, (__v8si) __index, __addr,
++ __scale, __hint);
++}
++
++extern __inline void
++__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
++_mm512_mask_prefetch_i32gather_pd (__m256i __index, __mmask8 __mask,
++ void const *__addr, int __scale, int __hint)
++{
++ __builtin_ia32_gatherpfdpd (__mask, (__v8si) __index, __addr, __scale,
++ __hint);
++}
++
++volatile __m256i idx;
++volatile __mmask8 m8;
++
++void extern
++avx512pf_test (void)
++{
++ _mm512_prefetch_i32gather_pd (idx, (void *) 0, 8, 3);
++ _mm512_mask_prefetch_i32gather_pd (idx, m8, (void *) 0, 8, 3);
++}
+Index: gcc/testsuite/gcc.target/i386/indirect-thunk-extern-7.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-7.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-extern-7.c (.../branches/gcc-8-branch)
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -mno-indirect-branch-register -mfunction-return=keep -mindirect-branch=thunk-extern -fno-pic" } */
++/* { dg-options "-O2 -mno-indirect-branch-register -mfunction-return=keep -mindirect-branch=thunk-extern -fno-pic -fjump-tables" } */
+
+ void func0 (void);
+ void func1 (void);
+Index: gcc/testsuite/gcc.target/i386/pr89523-7.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/pr89523-7.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gcc.target/i386/pr89523-7.c (.../branches/gcc-8-branch)
+@@ -0,0 +1,42 @@
++/* { dg-do compile { target { ! ia32 } } } */
++/* { dg-require-effective-target maybe_x32 } */
++/* { dg-options "-mx32 -O2 -mavx512f" } */
++/* { dg-final { scan-assembler "\tvscatter" } } */
++/* { dg-final { scan-assembler-not "addr32 vscatter" } } */
++
++typedef int __v8si __attribute__ ((__vector_size__ (32)));
++typedef double __v8df __attribute__ ((__vector_size__ (64)));
++typedef long long __m256i __attribute__ ((__vector_size__ (32),
++ __may_alias__));
++typedef double __m512d __attribute__ ((__vector_size__ (64), __may_alias__));
++typedef unsigned char __mmask8;
++
++extern __inline void
++__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
++_mm512_i32scatter_pd (void *__addr, __m256i __index, __m512d __v1,
++ int __scale)
++{
++ __builtin_ia32_scattersiv8df (__addr, (__mmask8) 0xFF,
++ (__v8si) __index, (__v8df) __v1, __scale);
++}
++
++extern __inline void
++__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
++_mm512_mask_i32scatter_pd (void *__addr, __mmask8 __mask,
++ __m256i __index, __m512d __v1, int __scale)
++{
++ __builtin_ia32_scattersiv8df (__addr, __mask, (__v8si) __index,
++ (__v8df) __v1, __scale);
++}
++
++volatile __m512d src;
++volatile __m256i idx;
++volatile __mmask8 m8;
++double *addr;
++
++void extern
++avx512f_test (void)
++{
++ _mm512_i32scatter_pd (addr, idx, src, 8);
++ _mm512_mask_i32scatter_pd (addr, m8, idx, src, 8);
++}
+Index: gcc/testsuite/gcc.target/i386/pr89523-8.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/pr89523-8.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gcc.target/i386/pr89523-8.c (.../branches/gcc-8-branch)
+@@ -0,0 +1,41 @@
++/* { dg-do compile { target { ! ia32 } } } */
++/* { dg-require-effective-target maybe_x32 } */
++/* { dg-options "-mx32 -O2 -mavx512f" } */
++/* { dg-final { scan-assembler "\tvscatter" } } */
++/* { dg-final { scan-assembler-not "addr32 vscatter" } } */
++
++typedef long long __v8di __attribute__ ((__vector_size__ (64)));
++typedef double __v8df __attribute__ ((__vector_size__ (64)));
++typedef long long __m512i __attribute__ ((__vector_size__ (64), __may_alias__));
++typedef double __m512d __attribute__ ((__vector_size__ (64), __may_alias__));
++typedef unsigned char __mmask8;
++
++extern __inline void
++__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
++_mm512_i64scatter_pd (void *__addr, __m512i __index, __m512d __v1,
++ int __scale)
++{
++ __builtin_ia32_scatterdiv8df (__addr, (__mmask8) 0xFF,
++ (__v8di) __index, (__v8df) __v1, __scale);
++}
++
++extern __inline void
++__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
++_mm512_mask_i64scatter_pd (void *__addr, __mmask8 __mask,
++ __m512i __index, __m512d __v1, int __scale)
++{
++ __builtin_ia32_scatterdiv8df (__addr, __mask, (__v8di) __index,
++ (__v8df) __v1, __scale);
++}
++
++volatile __m512d src;
++volatile __m512i idx;
++volatile __mmask8 m8;
++double *addr;
++
++void extern
++avx512f_test (void)
++{
++ _mm512_i64scatter_pd (addr, idx, src, 8);
++ _mm512_mask_i64scatter_pd (addr, m8, idx, src, 8);
++}
+Index: gcc/testsuite/gcc.target/i386/indirect-thunk-inline-7.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-7.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-inline-7.c (.../branches/gcc-8-branch)
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -mno-indirect-branch-register -mfunction-return=keep -mindirect-branch=thunk-inline -fno-pic" } */
++/* { dg-options "-O2 -mno-indirect-branch-register -mfunction-return=keep -mindirect-branch=thunk-inline -fno-pic -fjump-tables" } */
+
+ void func0 (void);
+ void func1 (void);
+Index: gcc/testsuite/gcc.target/i386/pr89523-1a.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/pr89523-1a.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gcc.target/i386/pr89523-1a.c (.../branches/gcc-8-branch)
+@@ -0,0 +1,24 @@
++/* { dg-do compile { target { ! ia32 } } } */
++/* { dg-require-effective-target maybe_x32 } */
++/* { dg-options "-maddress-mode=short -mx32 -Ofast -funroll-loops -march=haswell" } */
++/* { dg-final { scan-assembler-not "\tvgather" } } */
++/* { dg-final { scan-assembler "addr32 vgather" } } */
++
++void foo (void);
++
++extern float *ncost;
++
++float
++bar (int type, int num)
++{
++ int i;
++ float cost;
++
++ cost = 0;
++ for (i = 0; i < num; i++)
++ if (type)
++ cost += ncost[i];
++ else
++ foo ();
++ return (cost);
++}
+Index: gcc/testsuite/gcc.target/i386/pr89523-9.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/pr89523-9.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gcc.target/i386/pr89523-9.c (.../branches/gcc-8-branch)
+@@ -0,0 +1,30 @@
++/* { dg-do compile { target { ! ia32 } } } */
++/* { dg-require-effective-target maybe_x32 } */
++/* { dg-options "-mx32 -O2 -mavx512f" } */
++/* { dg-final { scan-assembler-not "\tvscatter" } } */
++/* { dg-final { scan-assembler "addr32 vscatter" } } */
++
++typedef int __v8si __attribute__ ((__vector_size__ (32)));
++typedef double __v8df __attribute__ ((__vector_size__ (64)));
++typedef long long __m256i __attribute__ ((__vector_size__ (32),
++ __may_alias__));
++typedef double __m512d __attribute__ ((__vector_size__ (64), __may_alias__));
++typedef unsigned char __mmask8;
++
++extern __inline void
++__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
++_mm512_i32scatter_pd (void *__addr, __m256i __index, __m512d __v1,
++ int __scale)
++{
++ __builtin_ia32_scattersiv8df (__addr, (__mmask8) 0xFF,
++ (__v8si) __index, (__v8df) __v1, __scale);
++}
++
++volatile __m512d src;
++volatile __m256i idx;
++
++void extern
++avx512f_test (void)
++{
++ _mm512_i32scatter_pd ((void *) 0, idx, src, 8);
++}
+Index: gcc/testsuite/gcc.target/i386/pr89523-1b.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/pr89523-1b.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gcc.target/i386/pr89523-1b.c (.../branches/gcc-8-branch)
+@@ -0,0 +1,7 @@
++/* { dg-do compile { target { ! ia32 } } } */
++/* { dg-require-effective-target maybe_x32 } */
++/* { dg-options "-maddress-mode=long -mx32 -Ofast -funroll-loops -march=haswell" } */
++/* { dg-final { scan-assembler-not "\tvgather" } } */
++/* { dg-final { scan-assembler "addr32 vgather" } } */
++
++#include "pr89523-1a.c"
+Index: gcc/testsuite/gcc.target/i386/pr89523-2.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/pr89523-2.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gcc.target/i386/pr89523-2.c (.../branches/gcc-8-branch)
+@@ -0,0 +1,37 @@
++/* { dg-do compile { target { ! ia32 } } } */
++/* { dg-require-effective-target maybe_x32 } */
++/* { dg-options "-mx32 -O2 -march=haswell" } */
++/* { dg-final { scan-assembler "\tvgather" } } */
++/* { dg-final { scan-assembler-not "addr32 vgather" } } */
++
++typedef double __v2df __attribute__ ((__vector_size__ (16)));
++typedef int __v4si __attribute__ ((__vector_size__ (16)));
++typedef long long __v2di __attribute__ ((__vector_size__ (16)));
++
++typedef long long __m128i __attribute__ ((__vector_size__ (16), __may_alias__));
++typedef double __m128d __attribute__ ((__vector_size__ (16), __may_alias__));
++
++extern __inline __m128d
++__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
++_mm_i32gather_pd (double const *__base, __m128i __index, const int __scale)
++{
++ __v2df __zero = { 0.0, 0.0 };
++ __v2df __mask = __builtin_ia32_cmpeqpd (__zero, __zero);
++ __v2df x = x;
++
++ return (__m128d) __builtin_ia32_gathersiv2df (x,
++ __base,
++ (__v4si)__index,
++ __mask,
++ __scale);
++}
++
++__m128d x;
++double *base;
++__m128i idx;
++
++void extern
++avx2_test (void)
++{
++ x = _mm_i32gather_pd (base, idx, 1);
++}
+Index: gcc/testsuite/gcc.target/i386/indirect-thunk-7.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/indirect-thunk-7.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gcc.target/i386/indirect-thunk-7.c (.../branches/gcc-8-branch)
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -mno-indirect-branch-register -mfunction-return=keep -mindirect-branch=thunk -fno-pic" } */
++/* { dg-options "-O2 -mno-indirect-branch-register -mfunction-return=keep -mindirect-branch=thunk -fno-pic -fjump-tables" } */
+
+ void func0 (void);
+ void func1 (void);
+Index: gcc/testsuite/gcc.target/i386/pr85860.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/pr85860.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gcc.target/i386/pr85860.c (.../branches/gcc-8-branch)
+@@ -0,0 +1,23 @@
++/* { dg-do compile { target lp64 } } */
++/* { dg-options "-O2 -fno-guess-branch-probability -flive-range-shrinkage -mbmi2" } */
++
++int a, b, c, d, e;
++
++extern int bar(void);
++
++__int128
++foo (unsigned g, int h, long i, __int128 j, short k, __int128 l)
++{
++ unsigned __int128 m = j;
++ do
++ {
++ j %= 5;
++ c = c >> (m & 31);
++ e = __builtin_sub_overflow (b, 0, &m);
++ d = bar ();
++ l *= __builtin_mul_overflow_p ((unsigned) d, ~(unsigned __int128) 1,
++ (unsigned __int128) 0);
++ }
++ while (a);
++ return m + j + k + l;
++}
+Index: gcc/testsuite/gcc.target/i386/pr89523-3.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/pr89523-3.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gcc.target/i386/pr89523-3.c (.../branches/gcc-8-branch)
+@@ -0,0 +1,36 @@
++/* { dg-do compile { target { ! ia32 } } } */
++/* { dg-require-effective-target maybe_x32 } */
++/* { dg-options "-mx32 -O2 -march=haswell" } */
++/* { dg-final { scan-assembler "\tvgather" } } */
++/* { dg-final { scan-assembler-not "addr32 vgather" } } */
++
++typedef double __v2df __attribute__ ((__vector_size__ (16)));
++typedef int __v4si __attribute__ ((__vector_size__ (16)));
++typedef long long __v2di __attribute__ ((__vector_size__ (16)));
++
++typedef long long __m128i __attribute__ ((__vector_size__ (16), __may_alias__));
++typedef double __m128d __attribute__ ((__vector_size__ (16), __may_alias__));
++
++extern __inline __m128d
++__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
++_mm_i64gather_pd (double const *__base, __m128i __index, const int __scale)
++{
++ __v2df __zero = { 0.0, 0.0 };
++ __v2df __mask = __builtin_ia32_cmpeqpd (__zero, __zero);
++
++ return (__m128d) __builtin_ia32_gatherdiv2df (__zero,
++ __base,
++ (__v2di)__index,
++ __mask,
++ __scale);
++}
++
++__m128d x;
++double *base;
++__m128i idx;
++
++void extern
++avx2_test (void)
++{
++ x = _mm_i64gather_pd (base, idx, 1);
++}
+Index: gcc/testsuite/gfortran.dg/transfer_simplify_12.f90
+===================================================================
+--- a/src/gcc/testsuite/gfortran.dg/transfer_simplify_12.f90 (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gfortran.dg/transfer_simplify_12.f90 (.../branches/gcc-8-branch)
+@@ -0,0 +1,27 @@
++! { dg-do run }
++! { dg-options "-O -std=legacy" }
++!
++! Test fixes for some findings while resolving PR fortran/89077
++
++program test
++ implicit none
++ integer :: i
++ character(*) ,parameter :: s = 'abcdef' ! Length will be 6
++ character(*) ,parameter :: h = 6Habcdef ! Length will be 8 (Hollerith!)
++ character(10) ,parameter :: k = 6Habcdef
++ character(10) ,parameter :: t = transfer (s, s)
++ character(10) ,save :: u = transfer (s, s)
++ character(10) ,parameter :: v = transfer (h, h)
++ character(10) ,save :: w = transfer (h, h)
++ character(10) ,parameter :: x = transfer ([(s(i:i),i=len(s),1,-1)], s)
++ character(10) ,save :: y = transfer ([(s(i:i),i=len(s),1,-1)], s)
++ if (len (h) /= 8) stop 1
++ if (h /= s) stop 2
++ if (k /= s) stop 3
++ if (t /= s) stop 4
++ if (u /= s) stop 5
++ if (v /= s) stop 6
++ if (w /= s) stop 7
++ if (x /= "fedcba") stop 8
++ if (y /= x) stop 9
++end program test
+Index: gcc/testsuite/gfortran.dg/substr_8.f90
+===================================================================
+--- a/src/gcc/testsuite/gfortran.dg/substr_8.f90 (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gfortran.dg/substr_8.f90 (.../branches/gcc-8-branch)
+@@ -0,0 +1,15 @@
++! { dg-do run }
++! PR fortran/71203 - used to ICE on zero-length arrays or substrings
++! Derived from original test cases by Gerhard Steinmetz
++
++program p
++ implicit none
++ character(3), parameter :: a(4) = ' '
++ character(*), parameter :: b(4) = 'abc'
++ character(*), parameter :: x(*) = a(2:2)(3:1)
++ character(*), parameter :: y(*) = a(2:1)(3:1)
++ character(*), parameter :: z(*) = b(2:1)(2:3)
++ if (size (x) /= 1 .or. len(x) /= 0) stop 1
++ if (size (y) /= 0 .or. len(y) /= 0) stop 2
++ if (size (z) /= 0 .or. len(z) /= 2) stop 3
++end
+Index: gcc/testsuite/gfortran.dg/allocate_with_mold_3.f90
+===================================================================
+--- a/src/gcc/testsuite/gfortran.dg/allocate_with_mold_3.f90 (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gfortran.dg/allocate_with_mold_3.f90 (.../branches/gcc-8-branch)
+@@ -0,0 +1,21 @@
++! { dg-do run }
++! PR fortran/89174 - this used to segfault on execution.
++! Test case by Neil Carlson.
++module mod
++ type :: array_data
++ class(*), allocatable :: mold
++ contains
++ procedure :: push
++ end type
++contains
++ subroutine push(this, value)
++ class(array_data), intent(inout) :: this
++ class(*), intent(in) :: value
++ allocate(this%mold, mold=value) ! <== SEGFAULTS HERE
++ end subroutine
++end module
++
++use mod
++type(array_data) :: foo
++call foo%push(42)
++end
+Index: gcc/testsuite/gfortran.dg/c_ptr_tests_19.f90
+===================================================================
+--- a/src/gcc/testsuite/gfortran.dg/c_ptr_tests_19.f90 (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gfortran.dg/c_ptr_tests_19.f90 (.../branches/gcc-8-branch)
+@@ -0,0 +1,36 @@
++! { dg-do run }
++
++! PR 71544 - this failed with some optimization options due to a
++! pointer not being marked as escaping.
++
++module store_cptr
++ use, intrinsic :: iso_c_binding
++ implicit none
++ public
++ type(c_ptr), save :: cptr
++end module store_cptr
++
++subroutine init()
++ use, intrinsic :: iso_c_binding
++ implicit none
++ integer(c_int), pointer :: a
++ allocate(a)
++ call save_cptr(c_loc(a))
++ a = 100
++end subroutine init
++
++subroutine save_cptr(cptr_in)
++ use store_cptr
++ implicit none
++ type(c_ptr), intent(in) :: cptr_in
++ cptr = cptr_in
++end subroutine save_cptr
++
++program init_fails
++ use store_cptr
++ implicit none
++ integer(c_int), pointer :: val
++ call init()
++ call c_f_pointer(cptr,val)
++ if (val /= 100) stop 1
++end program init_fails
+Index: gcc/testsuite/gfortran.dg/public_private_module_10.f90
+===================================================================
+--- a/src/gcc/testsuite/gfortran.dg/public_private_module_10.f90 (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gfortran.dg/public_private_module_10.f90 (.../branches/gcc-8-branch)
+@@ -0,0 +1,18 @@
++! { dg-do compile }
++! PR 87734 - this used to issue spurious errors.
++
++module m_vstring
++ implicit none
++
++ public :: vstring_length
++
++contains
++
++ subroutine vstring_cast()
++ character ( len = vstring_length() ) :: char_string
++ end subroutine
++
++ pure integer function vstring_length ()
++ end function
++
++end module
+Index: gcc/testsuite/gfortran.dg/dependency_53.f90
+===================================================================
+--- a/src/gcc/testsuite/gfortran.dg/dependency_53.f90 (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gfortran.dg/dependency_53.f90 (.../branches/gcc-8-branch)
+@@ -0,0 +1,25 @@
++! { dg-do run }
++! PR fortran/66089 - used to ICE and, after that ICE was fixed,
++! gave wrong results.
++ type :: t
++ integer :: c
++ end type t
++
++ class(t), dimension(:), allocatable :: b,c
++
++ allocate (b(5), source=t(7))
++ allocate(c(5), source=t(13))
++ c = plus(c(1), b)
++ if (any(c%c /= 20)) stop 1
++ c = t(13)
++ c = plus(b, c(1))
++ if (any(c%c /= 20)) stop 2
++contains
++
++ elemental function plus(lhs, rhs)
++ class(t), intent(in) :: lhs, rhs
++ type(t) :: plus
++ plus%c = lhs%c + rhs%c
++ end function plus
++
++end
+Index: gcc/testsuite/gfortran.dg/binding_label_tests_30.f90
+===================================================================
+--- a/src/gcc/testsuite/gfortran.dg/binding_label_tests_30.f90 (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gfortran.dg/binding_label_tests_30.f90 (.../branches/gcc-8-branch)
+@@ -0,0 +1,7 @@
++! { dg-do compile }
++! Make sure this error is flagged.
++subroutine foo() ! { dg-error "is already being used as a SUBROUTINE" }
++end subroutine foo
++
++subroutine bar() bind(C,name="foo") ! { dg-error "is already being used as a SUBROUTINE" }
++end subroutine bar
+Index: gcc/testsuite/gfortran.dg/dtio_34.f90
+===================================================================
+--- a/src/gcc/testsuite/gfortran.dg/dtio_34.f90 (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gfortran.dg/dtio_34.f90 (.../branches/gcc-8-branch)
+@@ -0,0 +1,32 @@
++! { dg-do run }
++! PR84387 Defined output does not work for a derived type that
++! has no components
++module m
++ type :: t
++ private
++ !integer :: m_i = 0 !<-- ***
++ contains
++ private
++ procedure, pass(this) :: write_t
++ generic, public :: write(formatted) => write_t
++ end type
++contains
++ subroutine write_t(this, lun, iotype, vlist, istat, imsg)
++ ! argument definitions
++ class(t), intent(in) :: this
++ integer, intent(in) :: lun
++ character(len=*), intent(in) :: iotype
++ integer, intent(in) :: vlist(:)
++ integer, intent(out) :: istat
++ character(len=*), intent(inout) :: imsg
++ write(lun, fmt=*, iostat=istat, iomsg=imsg) "Hello World!"
++ return
++ end subroutine write_t
++
++end module
++
++program p
++ use m, only : t
++ type(t) :: foo
++ print "(dt)", foo ! { dg-output " Hello World!" }
++end program
+Index: gcc/testsuite/gfortran.dg/coarray_data_1.f90
+===================================================================
+--- a/src/gcc/testsuite/gfortran.dg/coarray_data_1.f90 (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gfortran.dg/coarray_data_1.f90 (.../branches/gcc-8-branch)
+@@ -0,0 +1,11 @@
++! { dg-do run }
++! { dg-options "-fcoarray=lib -lcaf_single " }
++! PR 71066 - this used to ICE
++program p
++ real :: a(2,2)[*]
++ integer :: b(2,2)[*]
++ data a /4*0.0/
++ data b /1234, 2345, 3456, 4567/
++ if (any (a /= 0.0)) stop 1
++ if (any (b /= reshape([1234, 2345, 3456, 4567],[2,2]))) stop 2
++end
+Index: gcc/testsuite/gfortran.dg/transfer_check_5.f90
+===================================================================
+--- a/src/gcc/testsuite/gfortran.dg/transfer_check_5.f90 (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gfortran.dg/transfer_check_5.f90 (.../branches/gcc-8-branch)
+@@ -0,0 +1,14 @@
++! { dg-do compile }
++! { dg-options "-Wsurprising" }
++!
++! PR fortran/89516 - ICE in gfc_calculate_transfer_sizes at gcc/fortran/check.c:5506
++! Found by Martin Liška
++
++program test
++ character(*), parameter :: n = ''
++ character(*), parameter :: o = transfer ([''], n)
++ print *, transfer(1,'',size=0) ! No warning
++ print *, transfer(1,'',size=1) ! No warning
++ print *, transfer('',1,size=0) ! No warning
++ print *, transfer('',1,size=1) ! { dg-warning "has partly undefined result" }
++end program test
+Index: gcc/testsuite/gfortran.dg/pr89492.f90
+===================================================================
+--- a/src/gcc/testsuite/gfortran.dg/pr89492.f90 (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gfortran.dg/pr89492.f90 (.../branches/gcc-8-branch)
+@@ -0,0 +1,27 @@
++! { dg-do compile }
++!
++! PR fortran/89492 - Endless compilation of an invalid TRANSFER after r269177
++! Test error recovery for invalid uses of TRANSFER
++! Test proper simplification for MOLD with size 0
++!
++! Derived from original testcase by Dominique d'Humieres
++
++program bug4a
++ implicit none
++ type bug4
++! Intentionally left empty
++ end type bug4
++ integer, parameter :: k = size(transfer('',[''])) ! k = 0
++ integer, parameter :: i = len (transfer('',[''])) ! i = 0
++ integer, parameter :: l = len (transfer('', '' )) ! l = 0
++ integer, parameter :: m(k) = k
++ integer, parameter :: j(i) = i
++ integer, parameter :: n(l) = l
++ print *, k,i,l,m,j,n
++ print *, transfer(1,['']) ! { dg-error "shall not have storage size 0" }
++ print *, transfer(1, '' ) ! No error
++ print *, size(transfer(1,[''])) ! { dg-error "shall not have storage size 0" }
++ print *, len (transfer(1, '' )) ! No error
++ print *, size(transfer([1],[bug4()])) ! { dg-error "shall not have storage size 0" }
++ print *, transfer(transfer([1],[bug4()]),[1]) ! { dg-error "shall not have storage size 0" }
++end program bug4a
+Index: gcc/testsuite/gfortran.dg/coarray_allocate_11.f90
+===================================================================
+--- a/src/gcc/testsuite/gfortran.dg/coarray_allocate_11.f90 (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gfortran.dg/coarray_allocate_11.f90 (.../branches/gcc-8-branch)
+@@ -0,0 +1,15 @@
++! { dg-do compile }
++! { dg-additional-options -fcoarray=single }
++program p
++ integer, allocatable :: z[:,:]
++ integer :: i
++ allocate (z[1:,*]) ! { dg-error "Bad array specification in ALLOCATE statement" }
++ allocate (z[:2,*]) ! { dg-error "Bad array specification in ALLOCATE statement" }
++ allocate (z[2:1,*]) ! { dg-error "Upper cobound is less than lower cobound" }
++ allocate (z[:0,*]) ! { dg-error "Bad array specification in ALLOCATE statement" }
++ allocate (z[0,*]) ! { dg-error "Upper cobound is less than lower cobound" }
++ allocate (z[1,*]) ! This is OK
++ allocate (z[1:1,*]) ! This is OK
++ allocate (z[i:i,*]) ! This is OK
++ allocate (z[i:i-1,*]) ! { dg-error "Upper cobound is less than lower cobound" }
++end
+Index: gcc/testsuite/gfortran.dg/ieee/ieee.exp
+===================================================================
+--- a/src/gcc/testsuite/gfortran.dg/ieee/ieee.exp (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gfortran.dg/ieee/ieee.exp (.../branches/gcc-8-branch)
+@@ -22,15 +22,15 @@
+ load_lib gfortran-dg.exp
+ load_lib target-supports.exp
+
+-# Initialize `dg'.
+-dg-init
+-
+-# Flags specified in each test
++# If a testcase doesn't have special options, use these.
+ global DEFAULT_FFLAGS
+ if ![info exists DEFAULT_FFLAGS] then {
+- set DEFAULT_FFLAGS ""
++ set DEFAULT_FFLAGS " -pedantic-errors"
+ }
+
++# Initialize `dg'.
++dg-init
++
+ # Flags for finding the IEEE modules
+ if [info exists TOOL_OPTIONS] {
+ set specpath [get_multilibs ${TOOL_OPTIONS}]
+Index: gcc/testsuite/gfortran.dg/binding_label_tests_33.f90
+===================================================================
+--- a/src/gcc/testsuite/gfortran.dg/binding_label_tests_33.f90 (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gfortran.dg/binding_label_tests_33.f90 (.../branches/gcc-8-branch)
+@@ -0,0 +1,39 @@
++! { dg-do run }
++! PR 79485 - used to crash because the wrong routine was called.
++module fmod1
++
++ contains
++
++ subroutine foo(i)
++ implicit none
++
++ integer, intent(inout) :: i
++
++ i=i+1
++
++ end subroutine foo
++
++end module fmod1
++
++module fmod2
++ use iso_c_binding
++ use fmod1, only : foo_first => foo
++
++ contains
++
++ subroutine foo(i) bind(c)
++ implicit none
++
++ integer, intent(inout) :: i
++
++ i=i+2
++ call foo_first(i)
++
++ end subroutine foo
++
++end module fmod2
++
++ use fmod2
++
++ call foo(i)
++end
+Index: gcc/testsuite/gfortran.dg/charlen_17.f90
+===================================================================
+--- a/src/gcc/testsuite/gfortran.dg/charlen_17.f90 (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gfortran.dg/charlen_17.f90 (.../branches/gcc-8-branch)
+@@ -0,0 +1,14 @@
++! { dg-do compile }
++! PR 87673 - used to cause errors about non-pure functions.
++
++module x
++ implicit none
++contains
++ pure function foo() result(res)
++ character(len=:), allocatable :: res
++ allocate (character(bar()) :: res)
++ end function foo
++ pure integer function bar()
++ bar = 1
++ end function bar
++end module x
+Index: gcc/testsuite/gfortran.dg/deferred_character_32.f90
+===================================================================
+--- a/src/gcc/testsuite/gfortran.dg/deferred_character_32.f90 (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gfortran.dg/deferred_character_32.f90 (.../branches/gcc-8-branch)
+@@ -0,0 +1,13 @@
++! { dg-do run }
++!
++! Test the fix for PR88117.
++!
++! Contributed by Gerhard Steinmetz <gscfq@t-online.de>
++!
++program p
++ character(:), pointer :: z(:)
++ allocate (z, source = ['abcd', 'bcde'])
++ z = (z) ! gimplifier choked here.
++ if (any (z .ne. ['abcd', 'bcde'])) stop 1
++ deallocate (z)
++end
+Index: gcc/testsuite/gfortran.dg/dg.exp
+===================================================================
+--- a/src/gcc/testsuite/gfortran.dg/dg.exp (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gfortran.dg/dg.exp (.../branches/gcc-8-branch)
+@@ -36,7 +36,7 @@
+ global gfortran_test_path
+ global gfortran_aux_module_flags
+ if { [llength $args] != 2 } {
+- error "dg-set-target-env-var: needs one argument"
++ error "dg-compile-aux-modules: needs one argument"
+ return
+ }
+
+Index: gcc/testsuite/gfortran.dg/substr_simplify.f90
+===================================================================
+--- a/src/gcc/testsuite/gfortran.dg/substr_simplify.f90 (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gfortran.dg/substr_simplify.f90 (.../branches/gcc-8-branch)
+@@ -0,0 +1,20 @@
++! { dg-do run }
++!
++! Test fixes for substring simplications derived from
++! PR fortran/89077 - ICE using * as len specifier for character parameter
++
++program test
++ implicit none
++ integer :: i
++ character(*), parameter :: s = 'abcdef', y = 'efcdab'
++ character(6), save :: t = transfer ([(s(i:i), i=1,len(s) )], s)
++ character(*), parameter :: u = transfer ([(s(i:i+2),i=1,len(s),3)], s)
++ character(6), save :: v = transfer ([(s(i:i+2),i=1,len(s),3)], s)
++ character(*), parameter :: w = transfer ([(y(i:i+1),i=len(s)-1,1,-2)], s)
++ character(6), save :: x = transfer ([(y(i:i+1),i=len(s)-1,1,-2)], s)
++ if (len (t) /= len (s) .or. t /= s) stop 1
++ if (len (u) /= len (s) .or. u /= s) stop 2
++ if (len (v) /= len (s) .or. v /= s) stop 3
++ if (len (w) /= len (s) .or. w /= s) stop 4
++ if (len (x) /= len (s) .or. x /= s) stop 5
++end
+Index: gcc/testsuite/gfortran.dg/altreturn_9_1.f90
+===================================================================
+--- a/src/gcc/testsuite/gfortran.dg/altreturn_9_1.f90 (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gfortran.dg/altreturn_9_1.f90 (.../branches/gcc-8-branch)
+@@ -0,0 +1,7 @@
++! { dg-do compile }
++! { dg-options "-std=gnu" }
++! See altreturn_9_0.f90
++subroutine sub(i, *, j)
++ if (i == 10 .and. j == 20) return 1
++ return
++end subroutine sub
+Index: gcc/testsuite/gfortran.dg/binding_label_tests_32.f90
+===================================================================
+--- a/src/gcc/testsuite/gfortran.dg/binding_label_tests_32.f90 (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gfortran.dg/binding_label_tests_32.f90 (.../branches/gcc-8-branch)
+@@ -0,0 +1,35 @@
++! { dg-do run }
++! PR 77746 - this used to crash during execution.
++! Original test case by Vladimir Fuka.
++module first
++ private
++ public execute
++
++ interface execute
++ module procedure random_name
++ end interface
++
++contains
++
++ subroutine random_name()
++ end subroutine
++end module
++
++module test
++ use first
++
++ implicit none
++
++contains
++
++ subroutine p_execute(i) bind(C, name="random_name")
++ integer :: i
++
++ call execute()
++ end subroutine
++
++end module
++
++ use test
++ call p_execute(1)
++end
+Index: gcc/testsuite/gfortran.dg/interface_abstract_5.f90
+===================================================================
+--- a/src/gcc/testsuite/gfortran.dg/interface_abstract_5.f90 (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gfortran.dg/interface_abstract_5.f90 (.../branches/gcc-8-branch)
+@@ -0,0 +1,32 @@
++! { dg-do compile }
++!
++! PR 71861: [7/8/9 Regression] [F03] ICE in write_symbol(): bad module symbol
++!
++! Contributed by Gerhard Steinmetz <gerhard.steinmetz.fortran@t-online.de>
++
++module m1
++ intrinsic abs
++ abstract interface
++ function abs(x) ! { dg-error "ABSTRACT attribute conflicts with INTRINSIC attribute" }
++ real :: abs, x
++ end
++ end interface
++end
++
++module m2
++ abstract interface
++ function abs(x)
++ real :: abs, x
++ end
++ end interface
++ intrinsic abs ! { dg-error "ABSTRACT attribute conflicts with INTRINSIC attribute" }
++end
++
++module m3
++ abstract interface
++ function f(x)
++ real :: f, x
++ end
++ end interface
++ intrinsic f ! { dg-error "ABSTRACT attribute conflicts with INTRINSIC attribute" }
++end
+Index: gcc/testsuite/gfortran.dg/pr89266.f90
+===================================================================
+--- a/src/gcc/testsuite/gfortran.dg/pr89266.f90 (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gfortran.dg/pr89266.f90 (.../branches/gcc-8-branch)
+@@ -0,0 +1,25 @@
++! { dg-do run }
++!
++! PR fortran/89266 - ICE with TRANSFER of len=0 character array constructor
++
++program test
++ implicit none
++ character(*), parameter :: n = ''
++ character(*), parameter :: o = transfer ([''], n)
++ character(*), parameter :: p = transfer ( n , n)
++ character(*), parameter :: q = transfer ([n], n)
++ character(6), save :: r = transfer ([''], n)
++ character(6), save :: s = transfer ( n , n)
++ character(6), save :: t = transfer ([n], n)
++ integer, parameter :: a(0) = 0
++ integer, parameter :: b(0) = transfer (a, a)
++ integer, save :: c(0) = transfer (a, a)
++ if (len (o) /= 0) stop 1
++ if (len (p) /= 0) stop 2
++ if (len (q) /= 0) stop 3
++ if (r /= "") stop 4
++ if (s /= "") stop 5
++ if (t /= "") stop 6
++ if (size (b) /= 0 .or. any (b /= 0)) stop 7
++ if (size (c) /= 0 .or. any (c /= 0)) stop 8
++end program test
+Index: gcc/testsuite/gfortran.dg/coarray/caf.exp
+===================================================================
+--- a/src/gcc/testsuite/gfortran.dg/coarray/caf.exp (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gfortran.dg/coarray/caf.exp (.../branches/gcc-8-branch)
+@@ -51,11 +51,21 @@
+ global gfortran_test_path
+ global gfortran_aux_module_flags
+ if { [llength $args] != 2 } {
+- error "dg-set-target-env-var: needs one argument"
++ error "dg-compile-aux-modules: needs one argument"
+ return
+ }
++
++ set level [info level]
++ if { [info procs dg-save-unknown] != [list] } {
++ rename dg-save-unknown dg-save-unknown-level-$level
++ }
++
+ dg-test $gfortran_test_path/[lindex $args 1] "" $gfortran_aux_module_flags
+- # cleanup-modules isn't intentionally invoked here.
++ # cleanup-modules is intentionally not invoked here.
++
++ if { [info procs dg-save-unknown-level-$level] != [list] } {
++ rename dg-save-unknown-level-$level dg-save-unknown
++ }
+ }
+
+ # Add -latomic only where supported. Assume built-in support elsewhere.
+Index: gcc/testsuite/gfortran.dg/lto/20091028-1_0.f90
+===================================================================
+--- a/src/gcc/testsuite/gfortran.dg/lto/20091028-1_0.f90 (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gfortran.dg/lto/20091028-1_0.f90 (.../branches/gcc-8-branch)
+@@ -1,5 +1,5 @@
+ ! { dg-lto-do link }
+-! { dg-extra-ld-options "-r -nostdlib -finline-functions" }
++! { dg-extra-ld-options "-r -nostdlib -finline-functions -Wno-lto-type-mismatch" }
+
+ SUBROUTINE int_gen_ti_header_char( hdrbuf, hdrbufsize, itypesize, &
+ DataHandle, Element, VarName, Data, code )
+Index: gcc/testsuite/gfortran.dg/lto/20091028-2_0.f90
+===================================================================
+--- a/src/gcc/testsuite/gfortran.dg/lto/20091028-2_0.f90 (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gfortran.dg/lto/20091028-2_0.f90 (.../branches/gcc-8-branch)
+@@ -1,5 +1,5 @@
+ ! { dg-lto-do link }
+-! { dg-extra-ld-options "-r -nostdlib -finline-functions" }
++! { dg-extra-ld-options "-r -nostdlib -finline-functions -Wno-lto-type-mismatch" }
+
+ SUBROUTINE int_gen_ti_header_char( hdrbuf, hdrbufsize, itypesize, &
+ DataHandle, Element, VarName, Data, code )
+Index: gcc/testsuite/gfortran.dg/lto/pr87689_0.f
+===================================================================
+--- a/src/gcc/testsuite/gfortran.dg/lto/pr87689_0.f (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gfortran.dg/lto/pr87689_0.f (.../branches/gcc-8-branch)
+@@ -0,0 +1,13 @@
++! { dg-lto-run }
++! PR 87689 - this used to fail for POWER, plus it used to
++! give warnings about mismatches with LTO.
++! Original test case by Judicaël Grasset.
++ program main
++ implicit none
++ character :: c
++ character(len=20) :: res, doesntwork_p8
++ external doesntwork_p8
++ c = 'o'
++ res = doesntwork_p8(c,1,2,3,4,5,6)
++ if (res /= 'foo') stop 3
++ end program main
+Index: gcc/testsuite/gfortran.dg/lto/pr87689_1.f
+===================================================================
+--- a/src/gcc/testsuite/gfortran.dg/lto/pr87689_1.f (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gfortran.dg/lto/pr87689_1.f (.../branches/gcc-8-branch)
+@@ -0,0 +1,11 @@
++ function doesntwork_p8(c,a1,a2,a3,a4,a5,a6)
++ implicit none
++ character(len=20) :: doesntwork_p8
++ character :: c
++ integer :: a1,a2,a3,a4,a5,a6
++ if (a1 /= 1 .or. a2 /= 2 .or. a3 /= 3 .or. a4 /= 4 .or. a5 /= 5
++ & .or. a6 /= 6) stop 1
++ if (c /= 'o ') stop 2
++ doesntwork_p8 = 'foo'
++ return
++ end
+Index: gcc/testsuite/gfortran.dg/pr89664.f90
+===================================================================
+--- a/src/gcc/testsuite/gfortran.dg/pr89664.f90 (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gfortran.dg/pr89664.f90 (.../branches/gcc-8-branch)
+@@ -0,0 +1,24 @@
++! { dg-do compile }
++! { dg-options "-Ofast" }
++
++subroutine s (x)
++ real :: x
++ call sub (x)
++end
++subroutine sub (x)
++ real :: x, y
++ logical :: a, b
++ real :: f1, f2, f3, f4
++ y = f1()
++ a = .false.
++ if ( f2() > f3() ) a = .true.
++ b = .false.
++ if ( f2() > f4() ) b = .true.
++ if ( a ) then
++ x = 1.0
++ else if ( b ) then
++ x = 1.0/y**2
++ else
++ x = 1.0/y - y**2
++ end if
++end
+Index: gcc/testsuite/gfortran.dg/no_arg_check_2.f90
+===================================================================
+--- a/src/gcc/testsuite/gfortran.dg/no_arg_check_2.f90 (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gfortran.dg/no_arg_check_2.f90 (.../branches/gcc-8-branch)
+@@ -139,7 +139,7 @@
+ ! { dg-final { scan-tree-dump-times "sub_scalar .\\(struct t1 .\\) array_class_t1_alloc._data.data" 1 "original" } }
+ ! { dg-final { scan-tree-dump-times "sub_scalar .\\(struct t1 .\\) \\(array_class_t1_ptr._data.dat" 1 "original" } }
+
+-! { dg-final { scan-tree-dump-times "sub_array_assumed \\(D" 3 "original" } }
++! { dg-final { scan-tree-dump-times "sub_array_assumed \\(D" 4 "original" } }
+ ! { dg-final { scan-tree-dump-times " = _gfortran_internal_pack \\(&parm" 1 "original" } }
+ ! { dg-final { scan-tree-dump-times "sub_array_assumed \\(&array_int\\)" 1 "original" } }
+ ! { dg-final { scan-tree-dump-times "sub_array_assumed \\(\\(real\\(kind=4\\).0:. . restrict\\) array_real_alloc.data" 1 "original" } }
+@@ -148,5 +148,5 @@
+ ! { dg-final { scan-tree-dump-times "sub_array_assumed \\(\\(struct t1.0:. .\\) parm" 1 "original" } }
+ ! { dg-final { scan-tree-dump-times "sub_array_assumed \\(\\(struct t2.0:. . restrict\\) array_t2_alloc.data\\);" 1 "original" } }
+ ! { dg-final { scan-tree-dump-times "sub_array_assumed \\(\\(struct t1.0:. . restrict\\) array_class_t1_alloc._data.data\\);" 1 "original" } }
+-! { dg-final { scan-tree-dump-times "sub_array_assumed \\(\\(struct t1.0:. .\\) array_class_t1_ptr._data.data\\);" 1 "original" } }
++! { dg-final { scan-tree-dump-times "sub_array_assumed \\(\\(struct t1.0:. .\\) array_class_t1_ptr._data.data\\);" 0 "original" } }
+
+Index: gcc/testsuite/gfortran.dg/pr77583.f90
+===================================================================
+--- a/src/gcc/testsuite/gfortran.dg/pr77583.f90 (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gfortran.dg/pr77583.f90 (.../branches/gcc-8-branch)
+@@ -0,0 +1,10 @@
++! { dg-do compile }
++!
++! PR fortran/77583 - ICE in pp_quoted_string, at pretty-print.c:966
++! Contributed by Gerhard Steinmetz <gerhard.steinmetz.fortran@t-online.de>
++
++pure subroutine sub(s)
++contains
++ pure subroutine s ! { dg-error "conflicts with DUMMY argument" }
++ end
++end
+Index: gcc/testsuite/gfortran.dg/blockdata_11.f90
+===================================================================
+--- a/src/gcc/testsuite/gfortran.dg/blockdata_11.f90 (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gfortran.dg/blockdata_11.f90 (.../branches/gcc-8-branch)
+@@ -0,0 +1,33 @@
++! { dg-do run }
++! PR 84394 - this used to complain about private procedures in
++! BLOCK data.
++module mod1
++ implicit none
++ type :: type1
++ integer :: i1
++ end type type1
++end module
++
++module mod2
++ implicit none
++ contains
++ subroutine sub1
++ integer vals
++ common /block1/ vals(5)
++ if (any(vals /= [1, 2, 3, 4, 5])) stop 1
++ end subroutine
++end module
++
++block data blkdat
++ use mod1
++ integer vals
++ common /block1/ vals(5)
++ data vals/1, 2, 3, 4, 5/
++end block data blkdat
++
++program main
++ use mod2, only: sub1
++ implicit none
++ call sub1
++end program
++
+Index: gcc/testsuite/gfortran.dg/altreturn_9_0.f90
+===================================================================
+--- a/src/gcc/testsuite/gfortran.dg/altreturn_9_0.f90 (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gfortran.dg/altreturn_9_0.f90 (.../branches/gcc-8-branch)
+@@ -0,0 +1,10 @@
++! { dg-do run }
++! { dg-options -std=gnu }
++! { dg-additional-sources altreturn_9_1.f90 }
++! PR 89496 - wrong type for alternate return was generated
++
++program main
++ call sub(10, *10, 20)
++ stop 1
++10 continue
++end program main
+Index: gcc/testsuite/gfortran.dg/binding_label_tests_31.f90
+===================================================================
+--- a/src/gcc/testsuite/gfortran.dg/binding_label_tests_31.f90 (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gfortran.dg/binding_label_tests_31.f90 (.../branches/gcc-8-branch)
+@@ -0,0 +1,19 @@
++! { dg-do compile }
++! PR fortran/66695 - this used to ICE.
++! Original test case by Vladimir Fuka.
++module mod
++ implicit none
++contains
++ integer function F()
++ end function
++end module
++
++module mod_C
++ use mod
++ implicit none
++contains
++ subroutine s() bind(C, name="f")
++ integer :: x
++ x = F()
++ end subroutine
++end module
+Index: gcc/testsuite/gfortran.dg/pr88326.f90
+===================================================================
+--- a/src/gcc/testsuite/gfortran.dg/pr88326.f90 (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gfortran.dg/pr88326.f90 (.../branches/gcc-8-branch)
+@@ -0,0 +1,11 @@
++! { dg-do compile }
++!
++! PR fortran/88326 - ICE in gfc_conv_array_initializer
++
++program p
++ character, parameter :: x(3) = ['a','b','c']
++ character :: y(1) = transfer('', x) ! { dg-error "Different shape for array assignment" }
++ character(0) :: z(1) = transfer('', x) ! { dg-error "Different shape for array assignment" }
++ character :: u(0) = transfer('', x)
++ print *, y, z, u
++end
+Index: gcc/testsuite/gfortran.dg/warn_conversion_11.f90
+===================================================================
+--- a/src/gcc/testsuite/gfortran.dg/warn_conversion_11.f90 (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gfortran.dg/warn_conversion_11.f90 (.../branches/gcc-8-branch)
+@@ -0,0 +1,18 @@
++! { dg-do compile }
++! { dg-options "-Wconversion" }
++! PR 86119 - this used to warn.
++program proglen
++
++implicit none
++
++ class(*), allocatable :: s
++ integer :: l2
++
++ allocate(s, source = '123 ')
++
++ select type(s)
++ type is (character(len=*))
++ l2 = len(s)
++ end select
++
++end program proglen
+Index: gcc/testsuite/gfortran.dg/assumed_type_2.f90
+===================================================================
+--- a/src/gcc/testsuite/gfortran.dg/assumed_type_2.f90 (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gfortran.dg/assumed_type_2.f90 (.../branches/gcc-8-branch)
+@@ -157,7 +157,7 @@
+ ! { dg-final { scan-tree-dump-times "sub_scalar .\\(struct t1 .\\) array_class_t1_alloc._data.data" 1 "original" } }
+ ! { dg-final { scan-tree-dump-times "sub_scalar .\\(struct t1 .\\) \\(array_class_t1_ptr._data.dat" 1 "original" } }
+
+-! { dg-final { scan-tree-dump-times "sub_array_assumed \\(D" 3 "original" } }
++! { dg-final { scan-tree-dump-times "sub_array_assumed \\(D" 4 "original" } }
+ ! { dg-final { scan-tree-dump-times " = _gfortran_internal_pack \\(&parm" 1 "original" } }
+ ! { dg-final { scan-tree-dump-times "sub_array_assumed \\(&array_int\\)" 1 "original" } }
+ ! { dg-final { scan-tree-dump-times "sub_array_assumed \\(\\(real\\(kind=4\\).0:. . restrict\\) array_real_alloc.data" 1 "original" } }
+@@ -166,7 +166,7 @@
+ ! { dg-final { scan-tree-dump-times "sub_array_assumed \\(\\(struct t1.0:. .\\) parm" 1 "original" } }
+ ! { dg-final { scan-tree-dump-times "sub_array_assumed \\(\\(struct t2.0:. . restrict\\) array_t2_alloc.data\\);" 1 "original" } }
+ ! { dg-final { scan-tree-dump-times "sub_array_assumed \\(\\(struct t1.0:. . restrict\\) array_class_t1_alloc._data.data\\);" 1 "original" } }
+-! { dg-final { scan-tree-dump-times "sub_array_assumed \\(\\(struct t1.0:. .\\) array_class_t1_ptr._data.data\\);" 1 "original" } }
++! { dg-final { scan-tree-dump-times "sub_array_assumed \\(\\(struct t1.0:. .\\) array_class_t1_ptr._data.data\\);" 0 "original" } }
+
+ ! { dg-final { scan-tree-dump-times "sub_array_shape \\(&array_real_alloc," 1 "original" } }
+ ! { dg-final { scan-tree-dump-times "sub_array_shape \\(&array_char_ptr," 1 "original" } }
+Index: gcc/testsuite/gcc.c-torture/execute/20190228-1.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.c-torture/execute/20190228-1.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gcc.c-torture/execute/20190228-1.c (.../branches/gcc-8-branch)
+@@ -0,0 +1,16 @@
++/* PR tree-optimization/89536 */
++/* Testcase by Zhendong Su <su@cs.ucdavis.edu> */
++
++int a = 1;
++
++int main (void)
++{
++ a = ~(a && 1);
++ if (a < -1)
++ a = ~a;
++
++ if (!a)
++ __builtin_abort ();
++
++ return 0;
++}
+Index: gcc/testsuite/gnat.dg/opt77.adb
+===================================================================
+--- a/src/gcc/testsuite/gnat.dg/opt77.adb (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gnat.dg/opt77.adb (.../branches/gcc-8-branch)
+@@ -0,0 +1,14 @@
++-- { dg-do run }
++-- { dg-options "-O -fno-inline" }
++
++with Opt77_Pkg; use Opt77_Pkg;
++
++procedure Opt77 is
++ N : Natural := 0;
++ To_Add : Boolean;
++begin
++ Proc ("One", N, To_Add);
++ if To_Add then
++ raise Program_Error;
++ end if;
++end;
+Index: gcc/testsuite/gnat.dg/opt77_pkg.adb
+===================================================================
+--- a/src/gcc/testsuite/gnat.dg/opt77_pkg.adb (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gnat.dg/opt77_pkg.adb (.../branches/gcc-8-branch)
+@@ -0,0 +1,28 @@
++package body Opt77_Pkg is
++
++ function Compare (S : String) return Boolean is
++ begin
++ return S = "Two";
++ end;
++
++ procedure Proc (S : String; N : in out Natural; To_Add : out Boolean) is
++ To_Take : Boolean := False;
++ To_Read : Boolean := False;
++ begin
++ To_Add := False;
++
++ if S = "One" then
++ To_Read := True;
++ To_Take := Compare (S);
++ end if;
++
++ if To_Read and not To_Take then
++ N := N + 1;
++ end if;
++
++ if To_Take then
++ To_Add := True;
++ end if;
++ end;
++
++end Opt77_Pkg;
+Index: gcc/testsuite/gnat.dg/opt77_pkg.ads
+===================================================================
+--- a/src/gcc/testsuite/gnat.dg/opt77_pkg.ads (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gnat.dg/opt77_pkg.ads (.../branches/gcc-8-branch)
+@@ -0,0 +1,5 @@
++package Opt77_Pkg is
++
++ procedure Proc (S : String; N : in out Natural; To_Add : out Boolean);
++
++end Opt77_Pkg;
+Index: gcc/testsuite/gcc.dg/torture/pr89572.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.dg/torture/pr89572.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gcc.dg/torture/pr89572.c (.../branches/gcc-8-branch)
+@@ -0,0 +1,28 @@
++/* { dg-do compile } */
++/* { dg-additional-options "-finline-functions" } */
++
++int vh, it, k1;
++
++void
++vn (void)
++{
++ ++vh;
++ if (vh == 0 && it == 0)
++ k1 = -k1;
++}
++
++__attribute__ ((returns_twice)) void
++ef (int *uw)
++{
++ while (uw != (void *) 0)
++ {
++ vn ();
++ *uw = 0;
++ }
++}
++
++void
++gu (int *uw)
++{
++ ef (uw);
++}
+Index: gcc/testsuite/gcc.dg/torture/pr89677.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.dg/torture/pr89677.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gcc.dg/torture/pr89677.c (.../branches/gcc-8-branch)
+@@ -0,0 +1,15 @@
++/* { dg-do compile } */
++/* { dg-require-effective-target int32plus } */
++
++int a, b, d;
++unsigned c;
++float e, f, g;
++void h() {
++ float *i = &g;
++ for (; c < 10; c += 3)
++ for (; d; d += 3) {
++ a = *i;
++ g = f + 0;
++ f = b + *i + (b - e + 305219) + -b + 3;
++ }
++}
+Index: gcc/testsuite/gcc.dg/torture/pr89505.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.dg/torture/pr89505.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gcc.dg/torture/pr89505.c (.../branches/gcc-8-branch)
+@@ -0,0 +1,22 @@
++/* { dg-do run } */
++
++struct S { int i; void *p; int j; };
++int a;
++int __attribute__((noinline))
++foo (struct S * __restrict p, int q)
++{
++ int *x = &p->j;
++ if (q)
++ x = &a;
++ p->j = 1;
++ *x = 2;
++ return p->j;
++}
++
++int main()
++{
++ struct S s;
++ if (foo (&s, 0) != 2)
++ __builtin_abort ();
++ return 0;
++}
+Index: gcc/testsuite/gcc.dg/uninit-pr89296.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.dg/uninit-pr89296.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gcc.dg/uninit-pr89296.c (.../branches/gcc-8-branch)
+@@ -0,0 +1,13 @@
++/* { dg-do compile } */
++/* { dg-options "-O2 -Wuninitialized" } */
++
++int get_a_value ();
++void printk(const char *);
++void test_func()
++{
++ int loop;
++ while (!loop) { /* { dg-warning "is used uninitialized" } */
++ loop = get_a_value();
++ printk("...");
++ }
++}
+Index: gcc/testsuite/gcc.dg/ipa/ipcp-5.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.dg/ipa/ipcp-5.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gcc.dg/ipa/ipcp-5.c (.../branches/gcc-8-branch)
+@@ -0,0 +1,45 @@
++/* Test that estimated local cloning time benefit of extern inline functions is
++ zero. */
++
++/* { dg-do compile } */
++/* { dg-options "-O3 -fdump-ipa-cp -fno-early-inlining" } */
++/* { dg-add-options bind_pic_locally } */
++
++extern int get_int (void);
++extern void use_stuff (int);
++
++int arr[10];
++
++inline void
++f (int a)
++{
++ arr[0] += a + 5;
++ arr[1] += a + 50;
++ arr[2] += a - 3;
++ arr[3] += a;
++ arr[4] += a + 21;
++ arr[5] += a + 900;
++ arr[6] += a + 2;
++ arr[7] += a + 3456;
++ arr[8] += a + 3;
++ arr[9] += a + 32;
++ use_stuff (a);
++}
++
++
++int
++entry (void)
++{
++ int i;
++ for (i = 0; i < 100; i++)
++ f (7);
++ for (i = 0; i < 100; i++)
++ f (get_int ());
++ return 0;
++}
++
++
++/* { dg-final { scan-ipa-dump "loc_time: 0" "cp" } } */
++/* { dg-final { scan-ipa-dump-not "replacing param.*with const" "cp" } } */
++
++
+Index: gcc/testsuite/gcc.dg/uninit-pred-8_b.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.dg/uninit-pred-8_b.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gcc.dg/uninit-pred-8_b.c (.../branches/gcc-8-branch)
+@@ -1,6 +1,7 @@
+-
+ /* { dg-do compile } */
+-/* { dg-options "-Wuninitialized -O2" } */
++/* ??? Jump threading makes a mess of the logical-op-non-short-circuit=0 case
++ so force it our way. */
++/* { dg-options "-Wuninitialized -O2 --param logical-op-non-short-circuit=1" } */
+
+ int g;
+ void bar();
+Index: gcc/testsuite/gcc.dg/tree-ssa/reassoc-43.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.dg/tree-ssa/reassoc-43.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gcc.dg/tree-ssa/reassoc-43.c (.../branches/gcc-8-branch)
+@@ -50,4 +50,4 @@
+ }
+ }
+ }
+-/* { dg-final { scan-tree-dump-not "0 != 0" "reassoc2"} } */
++/* { dg-final { scan-tree-dump-not "\[ (\]0 != 0" "reassoc2"} } */
+Index: gcc/testsuite/gcc.dg/tree-ssa/pr89546.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.dg/tree-ssa/pr89546.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gcc.dg/tree-ssa/pr89546.c (.../branches/gcc-8-branch)
+@@ -0,0 +1,100 @@
++/* { dg-do run } */
++/* { dg-options "-O" } */
++
++struct I
++{
++ int i;
++};
++
++struct A
++{
++ struct I i1;
++ struct I i2;
++ struct I i3;
++};
++
++struct B
++{
++ struct I i0;
++ struct A a;
++};
++
++struct C
++{
++ struct I i00;
++ struct B b;
++};
++
++volatile int v;
++
++void __attribute__((noipa))
++consume_i (struct I i)
++{
++ v = i.i;
++}
++
++void __attribute__((noipa))
++consume_a (struct A a)
++{
++ v = a.i1.i;
++}
++
++void __attribute__((noipa))
++consume_b (struct B b)
++{
++ v = b.a.i1.i;
++}
++
++void __attribute__((noipa))
++consume_c (struct C c)
++{
++ v = c.b.a.i1.i;
++}
++
++
++
++
++int __attribute__((noipa))
++foo (struct I input)
++{
++ struct I i1, i2, i3;
++ struct A a1, a2, a3;
++ struct B b1;
++ struct C c;
++
++ i1 = input;
++ a1.i1 = i1;
++ b1.a = a1;
++
++ i2.i = 1;
++ b1.i0 = i2;
++
++ c.b = b1;
++
++ a2 = c.b.a;
++ a3 = a2;
++ i3 = a3.i1;
++
++ int t = c.b.i0.i;
++ a2.i3.i = 4;
++ consume_i (i1);
++ consume_i (i2);
++ consume_b (b1);
++ consume_a (a1);
++ consume_a (a2);
++ consume_a (a3);
++ consume_c (c);
++
++ return i3.i + t;
++}
++
++int
++main (int argc, char *argv[])
++{
++ struct I s;
++ s.i = 1234;
++ int i = foo (s);
++ if (i != 1235)
++ __builtin_abort ();
++ return 0;
++}
+Index: gcc/testsuite/gcc.dg/Warray-bounds-38.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.dg/Warray-bounds-38.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/gcc.dg/Warray-bounds-38.c (.../branches/gcc-8-branch)
+@@ -0,0 +1,30 @@
++/* PR middle-end/88273 - bogus warning: 'memcpy' offset [-527, -529]
++ is out of the bounds [0, 16]
++ { dg-do compile }
++ { dg-options "-O2 -Wall" } */
++
++typedef __SIZE_TYPE__ size_t;
++
++void *q;
++
++size_t x, y;
++
++inline void f (char *p, int i, size_t j)
++{
++ size_t n = y ? y : j;
++
++ p += x - i;
++
++ __builtin_memcpy (q, p, n); /* { dg-bogus "bounds" } */
++
++ x = n;
++}
++
++void g (void)
++{
++ struct { char a[16]; } s;
++
++ f (q, 0, sizeof s);
++
++ f (s.a, 33 * sizeof s, 1);
++}
+Index: gcc/testsuite/ChangeLog
+===================================================================
+--- a/src/gcc/testsuite/ChangeLog (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/ChangeLog (.../branches/gcc-8-branch)
+@@ -1,3 +1,381 @@
++2019-03-25 Andreas Krebbel <krebbel@linux.ibm.com>
++
++ Backport from mainline
++ 2019-03-20 Jakub Jelinek <jakub@redhat.com>
++
++ PR target/89775
++ * gcc.target/s390/pr89775-1.c: New test.
++ * gcc.target/s390/pr89775-2.c: New test.
++
++2019-03-24 Janus Weil <janus@gcc.gnu.org>
++
++ PR fortran/71861
++ Backport from trunk
++ * gfortran.dg/interface_abstract_5.f90: New test case.
++
++2019-03-22 Backport from mainline
++
++ 2019-03-22 Bill Schmidt <wschmidt@linux.ibm.com>
++
++ * gcc.target/powerpc/mmx-psubd-2.c: Test _m_psubd.
++
++2019-03-21 Thomas Schwinge <thomas@codesourcery.com>
++
++ PR fortran/56408
++ * gcc.target/powerpc/ppc-fortran/ppc-fortran.exp
++ (dg-compile-aux-modules): Fix diagnostic.
++ * gfortran.dg/coarray/caf.exp (dg-compile-aux-modules): Likewise.
++ * gfortran.dg/dg.exp (dg-compile-aux-modules): Likewise.
++
++ PR fortran/56408
++ * gfortran.dg/coarray/caf.exp (dg-compile-aux-modules): Workaround
++ missing nexted dg-test call support in dejaGNU 1.4.4.
++
++ PR fortran/29383
++ * gfortran.dg/ieee/ieee.exp (DEFAULT_FFLAGS): Set the same as in
++ other '*.exp' files.
++
++2019-03-19 Eric Botcazou <ebotcazou@adacore.com>
++
++ * c-c++-common/unroll-7.c: New test.
++
++2019-03-18 Martin Sebor <msebor@redhat.com>
++
++ PR middle-end/88273
++ * gcc.dg/Warray-bounds-38.c: New test.
++
++2019-03-18 Martin Jambor <mjambor@suse.cz>
++
++ Backport from mainline
++ 2019-03-18 Martin Jambor <mjambor@suse.cz>
++
++ PR tree-optimization/89546
++ * gcc.dg/tree-ssa/pr89546.c: New test.
++
++2019-03-17 Thomas Koenig <tkoenig@gcc.gnu.org>
++
++ PR fortran/84394
++ Backport from trunk
++ * gfortran.dg/blockdata_11.f90: New test.
++
++2019-03-17 H.J. Lu <hongjiu.lu@intel.com>
++
++ Backport from mainline
++ 2019-03-14 H.J. Lu <hongjiu.lu@intel.com>
++
++ PR target/89523
++ * gcc.target/i386/pr89523-1a.c: New test.
++ * gcc.target/i386/pr89523-1b.c: Likewise.
++ * gcc.target/i386/pr89523-2.c: Likewise.
++ * gcc.target/i386/pr89523-3.c: Likewise.
++ * gcc.target/i386/pr89523-4.c: Likewise.
++ * gcc.target/i386/pr89523-5.c: Likewise.
++ * gcc.target/i386/pr89523-6.c: Likewise.
++ * gcc.target/i386/pr89523-7.c: Likewise.
++ * gcc.target/i386/pr89523-8.c: Likewise.
++ * gcc.target/i386/pr89523-9.c: Likewise.
++
++2019-03-16 Thomas Koenig <tkoenig@gcc.gnu.org>
++
++ PR fortran/66089
++ Backport from trunk
++ * gfortran.dg/dependency_53.f90: New test.
++ * gfortran.dg/assumed_type_2.f90: Adapted tree dumps.
++ * gfortran.dg/no_arg_check_2.f90: Likewise.
++
++2019-03-16 Thomas Koenig <tkoenig@gcc.gnu.org>
++
++ PR fortran/66695
++ PR fortran/77746
++ PR fortran/79485
++ Backport from trunk
++ * gfortran.dg/binding_label_tests_30.f90: New test.
++ * gfortran.dg/binding_label_tests_31.f90: New test.
++ * gfortran.dg/binding_label_tests_32.f90: New test.
++ * gfortran.dg/binding_label_tests_33.f90: New test.
++
++2019-03-15 Richard Biener <rguenther@suse.de>
++
++ Backport from mainline
++ 2019-03-06 Richard Biener <rguenther@suse.de>
++
++ PR testsuite/89551
++ * gcc.dg/uninit-pred-8_b.c: Force logical-op-non-short-circuit
++ the way that makes the testcase PASS.
++
++2019-03-14 Martin Jambor <mjambor@suse.cz>
++
++ Backport from mainline
++ 2019-03-07 Martin Jambor <mjambor@suse.cz>
++
++ PR lto/87525
++ * gcc.dg/ipa/ipcp-5.c: New test.
++
++2019-03-14 Richard Biener <rguenther@suse.de>
++
++ PR middle-end/89572
++ * gcc.dg/torture/pr89572.c: New testcase.
++
++2019-03-13 Thomas Koenig <tkoenig@gcc.gnu.org>
++
++ PR fortran/87673
++ Backport from trunk
++ * gfortran.dg/charlen_17.f90: New test.
++
++2019-03-13 Vladimir Makarov <vmakarov@redhat.com>
++
++ PR target/85860
++ * gcc.target/i386/pr85860.c: New.
++
++2019-03-14 Richard Biener <rguenther@suse.de>
++
++ Backport from mainline
++ 2019-03-13 Richard Biener <rguenther@suse.de>
++
++ PR middle-end/89677
++ * gcc.dg/torture/pr89677.c: New testcase.
++
++ 2019-03-01 Richard Biener <rguenther@suse.de>
++
++ PR middle-end/89497
++ * gcc.dg/tree-ssa/reassoc-43.c: Avoid false match in regex.
++ * g++.dg/tree-prof/devirt.C: Scan tracer dump for foldings
++ that happen now earlier.
++
++ 2019-02-18 Richard Biener <rguenther@suse.de>
++
++ PR tree-optimization/89296
++ * tree-ssa-loop-ch.c (ch_base::copy_headers): Restrict setting
++ of no-warning flag to cases that might emit the bogus warning.
++
++2019-03-13 Andreas Krebbel <krebbel@linux.ibm.com>
++
++ Backport from mainline
++ 2019-03-11 Andreas Krebbel <krebbel@linux.ibm.com>
++
++ * gcc.target/s390/zvector/vec-addc-u128.c: New test.
++
++2019-03-13 Andreas Krebbel <krebbel@linux.ibm.com>
++
++ Backport from mainline
++ 2019-02-07 Andreas Krebbel <krebbel@linux.ibm.com>
++
++ * gcc.target/s390/zvector/xl-xst-align-1.c: New test.
++ * gcc.target/s390/zvector/xl-xst-align-2.c: New test.
++
++2019-03-12 Richard Biener <rguenther@suse.de>
++
++ PR tree-optimization/89664
++ * gfortran.dg/pr89664.f90: New testcase.
++
++2019-03-12 Andre Vieira <andre.simoesdiasvieira@arm.com>
++
++ Backport from mainline
++ 2019-03-08 Andre Vieira <andre.simoesdiasvieira@arm.com>
++
++ * gcc.target/arm/f16_f64_conv_no_dp.c: New test.
++
++ Backport from mainline
++ 2019-03-11 Christophe Lyon <christophe.lyon@linaro.org>
++
++ * gcc.target/arm/f16_f64_conv_no_dp.c: Add arm_fp16_ok effective
++ target.
++
++2019-03-11 Eric Botcazou <ebotcazou@adacore.com>
++
++ * c-c++-common/unroll-6.c: New test.
++
++2019-03-11 Martin Liska <mliska@suse.cz>
++
++ Backport from mainline
++ 2019-03-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
++
++ * gcc.target/i386/indirect-thunk-extern-7.c: Add -fjump-tables to
++ dg-options.
++
++2019-03-11 Martin Liska <mliska@suse.cz>
++
++ Backport from mainline
++ 2019-03-08 Martin Liska <mliska@suse.cz>
++
++ PR target/86952
++ * gcc.target/i386/indirect-thunk-7.c: Use jump tables to match
++ scanned pattern.
++ * gcc.target/i386/indirect-thunk-inline-7.c: Likewise.
++
++2019-03-10 Thomas Koenig <tkoenig@gcc.gnu.org>
++
++ PR fortran/71544
++ Backport from trunk
++ * gfortran.dg/c_ptr_tests_19.f90: New test.
++
++2019-03-10 Thomas Koenig <tkoenig@gcc.gnu.org>
++
++ PR fortran/87734
++ Backport from trunk
++ * gfortran.dg/public_private_module_10.f90: New test.
++
++2019-03-08 Martin Jambor <mjambor@suse.cz>
++
++ Backport from mainline
++ 2019-03-07 Martin Jambor <mjambor@suse.cz>
++
++ * g++.dg/ipa/pr88235.C: New test.
++
++2019-03-07 Jakub Jelinek <jakub@redhat.com>
++
++ PR c++/89585
++ * g++.dg/asm-qual-3.C: Adjust expected diagnostics.
++
++2019-03-06 Harald Anlauf <anlauf@gmx.de>
++
++ Backport from trunk
++ PR fortran/71203
++ * gfortran.dg/substr_8.f90: New test.
++
++2019-03-06 Thomas Koenig <tkoenig@gcc.gnu.org>
++
++ PR fortran/72714
++ Backport from trunk
++ * gfortran.dg/coarray_allocate_11.f90: New test.
++
++2019-03-06 Tamar Christina <tamar.christina@arm.com>
++
++ Backport from trunk.
++ 2019-02-25 Tamar Christina <tamar.christina@arm.com>
++
++ PR target/88530
++ * common/config/aarch64/aarch64-common.c
++ (struct aarch64_option_extension): Add is_synthetic.
++ (all_extensions): Use it.
++ (TARGET_OPTION_INIT_STRUCT): Define hook.
++ (struct gcc_targetm_common): Moved to end.
++ (all_extensions_by_on): New.
++ (opt_ext_cmp, typedef opt_ext): New.
++ (aarch64_option_init_struct): New.
++ (aarch64_contains_opt): New.
++ (aarch64_get_extension_string_for_isa_flags): Output smallest set.
++ * config/aarch64/aarch64-option-extensions.def
++ (AARCH64_OPT_EXTENSION): Explicitly include AES and SHA2 in crypto.
++ (fp, simd, crc, lse, fp16, rcpc, rdma, dotprod, aes, sha2, sha3,
++ sm4, fp16fml, sve):
++ Set is_synthetic to false.
++ (crypto): Set is_synthetic to true.
++ * config/aarch64/driver-aarch64.c (AARCH64_OPT_EXTENSION): Add
++ SYNTHETIC.
++
++2019-03-06 Tamar Christina <tamar.christina@arm.com>
++
++ Backport from trunk.
++ 2019-02-28 Tamar Christina <tamar.christina@arm.com>
++
++ PR target/88530
++ * gcc.target/aarch64/options_set_10.c: New test.
++
++2019-03-06 Xiong Hu Luo <luoxhu@linux.ibm.com>
++
++ Backport of r268834 from mainline to gcc-8-branch.
++ 2019-01-23 Xiong Hu Luo <luoxhu@linux.vnet.ibm.com>
++
++ * gcc.target/powerpc/crypto-builtin-1.c
++ (crypto1_be, crypto2_be, crypto3_be, crypto4_be, crypto5_be):
++ New testcases.
++
++2019-03-05 Richard Biener <rguenther@suse.de>
++
++ Backport from mainline
++ 2019-02-26 Richard Biener <rguenther@suse.de>
++
++ PR tree-optimization/89505
++ * gcc.dg/torture/pr89505.c: New testcase.
++
++2019-03-03 Harald Anlauf <anlauf@gmx.de>
++
++ Backport from trunk
++ PR fortran/89077
++ * gfortran.dg/transfer_simplify_12.f90: New test.
++ * gfortran.dg/substr_simplify.f90: New test.
++
++2019-03-03 Harald Anlauf <anlauf@gmx.de>
++
++ Backport from trunk
++ PR fortran/77583
++ * gfortran.dg/pr77583.f90: New test.
++
++2019-03-03 Thomas Koenig <tkoenig@gcc.gnu.org>
++
++ PR fortran/89174
++ Backport from trunk
++ * gfortran.dg/allocate_with_mold_3.f90: New test.
++
++2019-03-03 Thomas Koenig <tkoenig@gcc.gnu.org>
++
++ PR fortran/87689
++ Backport from trunk
++ * gfortran.dg/lto/20091028-1_0.f90: Add -Wno-lto-type-mismatch to
++ options.
++ * gfortran.dg/lto/20091028-2_0.f90: Likewise.
++ * gfortran.dg/lto/pr87689_0.f: New file.
++ * gfortran.dg/lto/pr87689_1.f: New file.
++ * gfortran.dg/altreturn_9_0.f90: New file.
++ * gfortran.dg/altreturn_9_1.f90: New file.
++
++2019-03-02 Jerry DeLisle <jvdelisle@gcc.gnu.org>
++
++ Backport from trunk
++ PR fortran/84387
++ * gfortran.dg/dtio_34.f90: New test.
++
++2019-03-02 Harald Anlauf <anlauf@gmx.de>
++
++ Backport from trunk
++ PR fortran/89516
++ * gfortran.dg/pr89492.f90: Adjust testcase.
++ * gfortran.dg/transfer_check_5.f90: New test.
++
++ PR fortran/89492
++ * gfortran.dg/pr89492.f90: New test.
++
++ PR fortran/89266
++ PR fortran/88326
++ * gfortran.dg/pr89266.f90: New test.
++ * gfortran.dg/pr88326.f90: New test.
++
++2019-02-28 Eric Botcazou <ebotcazou@adacore.com>
++
++ * gcc.c-torture/execute/20190228-1.c: New test.
++
++2019-02-28 Li Jia He <helijia@linux.ibm.com>
++
++ Backport from trunk
++ 2019-02-20 Li Jia He <helijia@linux.ibm.com>
++
++ PR target/88100
++ * gcc/testsuite/gcc.target/powerpc/pr88100.c: New testcase.
++
++2019-02-26 Eric Botcazou <ebotcazou@adacore.com>
++
++ * gnat.dg/opt77.adb: New test.
++ * gnat.dg/opt77_pkg.ad[sb]: New helper.
++
++2019-02-23 Thomas Koenig <tkoenig@gcc.gnu.org>
++
++ PR fortran/86119
++ Backport from trunk
++ * gfortran.dg/warn_conversion_11.f90: New test.
++
++2019-02-23 Paul Thomas <pault@gcc.gnu.org>
++
++ Backport from trunk
++ PR fortran/88117
++ * gfortran.dg/deferred_character_32.f90: New test
++
++2019-02-12 Thomas Koenig <tkoenig@gcc.gnu.org>
++
++ PR fortran/71066
++ Backport from trunk
++ * gfortran.dg/coarray_data_1.f90: New test.
++
+ 2019-02-22 Release Manager
+
+ * GCC 8.3.0 released.
+Index: gcc/testsuite/g++.dg/tree-prof/devirt.C
+===================================================================
+--- a/src/gcc/testsuite/g++.dg/tree-prof/devirt.C (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/g++.dg/tree-prof/devirt.C (.../branches/gcc-8-branch)
+@@ -1,5 +1,5 @@
+ /* PR ipa/88561 */
+-/* { dg-options "-O3 -fdump-tree-dom3-details" } */
++/* { dg-options "-O3 -fdump-tree-tracer-details -fdump-tree-dom3-details" } */
+
+ struct nsISupports
+ {
+@@ -121,6 +121,6 @@
+ __builtin_abort ();
+ }
+
+-/* { dg-final-use-not-autofdo { scan-tree-dump-times "folding virtual function call to virtual unsigned int mozPersonalDictionary::_ZThn16" 1 "dom3" { target { lp64 || llp64 } } } } */
+-/* { dg-final-use-not-autofdo { scan-tree-dump-times "folding virtual function call to virtual unsigned int mozPersonalDictionary::_ZThn8" 1 "dom3" { target ilp32 } } } */
+-/* { dg-final-use-not-autofdo { scan-tree-dump-times "folding virtual function call to virtual unsigned int mozPersonalDictionary::AddRef" 1 "dom3" } } */
++/* { dg-final-use-not-autofdo { scan-tree-dump-times "folding virtual function call to virtual unsigned int mozPersonalDictionary::_ZThn16" 1 "tracer" { target { lp64 || llp64 } } } } */
++/* { dg-final-use-not-autofdo { scan-tree-dump-times "folding virtual function call to virtual unsigned int mozPersonalDictionary::_ZThn8" 1 "tracer" { target ilp32 } } } */
++/* { dg-final-use-not-autofdo { scan-tree-dump-times "folding virtual function call to virtual unsigned int mozPersonalDictionary::AddRef" 1 "tracer" } } */
+Index: gcc/testsuite/g++.dg/asm-qual-3.C
+===================================================================
+--- a/src/gcc/testsuite/g++.dg/asm-qual-3.C (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/g++.dg/asm-qual-3.C (.../branches/gcc-8-branch)
+@@ -2,11 +2,11 @@
+ // { dg-do compile }
+ // { dg-options "-std=gnu++98" }
+
+-asm const (""); // { dg-error {expected '\(' before 'const'} }
+-asm volatile (""); // { dg-error {expected '\(' before 'volatile'} }
++asm const (""); // { dg-error {'const' is not an asm qualifier} }
++asm volatile ("");
+ asm restrict (""); // { dg-error {expected '\(' before 'restrict'} }
+-asm inline (""); // { dg-error {expected '\(' before 'inline'} }
+-asm goto (""); // { dg-error {expected '\(' before 'goto'} }
++asm inline (""); // { dg-error {asm qualifier outside of function body} }
++asm goto (""); // { dg-error {asm qualifier outside of function body} }
+
+ // There are many other things wrong with this code, so:
+ // { dg-excess-errors "" }
+Index: gcc/testsuite/g++.dg/cpp0x/lambda/lambda-defarg9.C
+===================================================================
+--- a/src/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-defarg9.C (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-defarg9.C (.../branches/gcc-8-branch)
+@@ -0,0 +1,10 @@
++// PR c++/89422
++// { dg-do compile { target c++11 } }
++// { dg-additional-options -g }
++
++template <int> struct S
++{
++ friend void foo (int a = []{ return 0; }()) {}
++ int b;
++};
++S<0> t;
+Index: gcc/testsuite/g++.dg/cpp0x/implicit16.C
+===================================================================
+--- a/src/gcc/testsuite/g++.dg/cpp0x/implicit16.C (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/g++.dg/cpp0x/implicit16.C (.../branches/gcc-8-branch)
+@@ -0,0 +1,37 @@
++// PR c++/89381
++// { dg-do compile { target c++11 } }
++
++template<typename T>
++struct base
++{
++ base() { }
++ base(const base&) { }
++ base(base&&) { }
++ base& operator=(const base&) { return *this; }
++ base& operator=(base&&) { return *this; }
++};
++
++struct foo : base<int>
++{
++ using base<int>::base;
++ using base<int>::operator=;
++};
++
++//using workaround = decltype(foo{*static_cast<foo const*>(0)});
++
++struct bar
++{
++ bar& operator=(foo ve)
++ {
++ value = ve;
++ return *this;
++ }
++
++ foo value;
++};
++
++int main()
++{
++ foo a;
++ foo b{a};
++}
+Index: gcc/testsuite/g++.dg/cpp0x/nullptr41.C
+===================================================================
+--- a/src/gcc/testsuite/g++.dg/cpp0x/nullptr41.C (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/g++.dg/cpp0x/nullptr41.C (.../branches/gcc-8-branch)
+@@ -0,0 +1,19 @@
++// PR c++/89212
++// { dg-do compile { target c++11 } }
++
++template <int, typename T> using enable_if_t = int;
++
++template<typename U, typename W, typename Y, class X, W(X::*foo)() = nullptr>
++struct p
++{
++ template<U(Y::*fun)() = foo, typename T = enable_if_t<nullptr == fun, int>>
++ p(T) { }
++ p() = default;
++};
++
++struct A
++{
++ p<void, void, A, A> i = 1;
++ void bar();
++ p<void, void, A, A, &A::bar> j;
++};
+Index: gcc/testsuite/g++.dg/cpp0x/decltype-tid1.C
+===================================================================
+--- a/src/gcc/testsuite/g++.dg/cpp0x/decltype-tid1.C (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/g++.dg/cpp0x/decltype-tid1.C (.../branches/gcc-8-branch)
+@@ -0,0 +1,9 @@
++// PR c++/87513
++// { dg-do compile { target c++11 } }
++
++struct A { template <long> void foo (); };
++template <long t> auto bar () -> decltype (&A::foo<t>);
++void foo ()
++{
++ bar<0> ();
++}
+Index: gcc/testsuite/g++.dg/cpp0x/nullptr40.C
+===================================================================
+--- a/src/gcc/testsuite/g++.dg/cpp0x/nullptr40.C (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/g++.dg/cpp0x/nullptr40.C (.../branches/gcc-8-branch)
+@@ -0,0 +1,19 @@
++// PR c++/89212
++// { dg-do compile { target c++11 } }
++
++template <int, typename T> using enable_if_t = int;
++
++template<class X, void(X::*foo)() = nullptr>
++struct p
++{
++ template<void(X::*fun)() = foo, typename T = enable_if_t<nullptr == fun, int>>
++ p(T) { }
++ p() = default;
++};
++
++struct A
++{
++ p<A> i = 1;
++ void bar();
++ p<A, &A::bar> j;
++};
+Index: gcc/testsuite/g++.dg/ipa/pr88235.C
+===================================================================
+--- a/src/gcc/testsuite/g++.dg/ipa/pr88235.C (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/g++.dg/ipa/pr88235.C (.../branches/gcc-8-branch)
+@@ -0,0 +1,55 @@
++// { dg-do compile }
++// { dg-options "-O1 -fdevirtualize -finline-small-functions -fipa-cp -fipa-cp-clone --param ipa-cp-eval-threshold=125 --param max-inline-insns-single=4" }
++
++extern "C" int printf (const char *, ...);
++enum E { vf_request, vf_event } want;
++
++int errs = 0;
++
++class ivResource {
++public:
++ virtual ~ivResource () { }
++};
++
++class ivHandler : public ivResource {
++public:
++ virtual void event() { }
++};
++
++class ivGlyph : public ivResource {
++public:
++ virtual ~ivGlyph () { }
++ virtual void request () {
++ if (want!=vf_request)
++ ++errs;
++ }
++};
++
++class ItemView : public ivGlyph, public ivHandler {
++public:
++ virtual void event () {
++ if (want!=vf_event)
++ ++errs;
++ }
++} a;
++
++ivGlyph *bar() {
++ return &a;
++}
++
++ivHandler *bar2() {
++ return &a;
++}
++
++int main() {
++ want=vf_request;
++ bar()->request();
++ want=vf_event;
++ bar2()->event();
++ if (errs) {
++ printf("FAIL\n");
++ return 1;
++ }
++ printf("PASS\n");
++ return 0;
++}
+Index: gcc/testsuite/g++.dg/cpp1z/constexpr-if28.C
+===================================================================
+--- a/src/gcc/testsuite/g++.dg/cpp1z/constexpr-if28.C (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/g++.dg/cpp1z/constexpr-if28.C (.../branches/gcc-8-branch)
+@@ -0,0 +1,11 @@
++// PR c++/89576
++// { dg-do compile { target c++17 } }
++
++template <class T>
++void foo()
++{
++ constexpr int x = 0;
++ [&] {
++ if constexpr (x) {}
++ };
++}
+Index: gcc/testsuite/g++.dg/cpp1z/aggr-base7.C
+===================================================================
+--- a/src/gcc/testsuite/g++.dg/cpp1z/aggr-base7.C (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/g++.dg/cpp1z/aggr-base7.C (.../branches/gcc-8-branch)
+@@ -0,0 +1,8 @@
++// PR c++/88690
++// { dg-do compile { target c++11 } }
++
++struct A { int a = 1; };
++struct B { int b = 0; };
++struct C { C() = default; C (const C&) = delete; };
++struct D : public B, public C {};
++struct E : A { D f; } g{};
+Index: gcc/testsuite/g++.dg/cpp1z/inline-var5.C
+===================================================================
+--- a/src/gcc/testsuite/g++.dg/cpp1z/inline-var5.C (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/g++.dg/cpp1z/inline-var5.C (.../branches/gcc-8-branch)
+@@ -0,0 +1,16 @@
++// PR c++/87921
++// { dg-do compile { target c++17 } }
++
++template <class H>
++struct X
++{
++ static inline long x[] = { 1L };
++ long foo () { return x[0]; }
++};
++
++void
++bar ()
++{
++ class L {};
++ X<L> v {};
++}
+Index: gcc/testsuite/g++.dg/cpp1z/class-deduction62.C
+===================================================================
+--- a/src/gcc/testsuite/g++.dg/cpp1z/class-deduction62.C (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/g++.dg/cpp1z/class-deduction62.C (.../branches/gcc-8-branch)
+@@ -0,0 +1,22 @@
++// PR c++/88419
++// { dg-do compile { target c++17 } }
++
++template<class> struct ref_view {
++ template<class T> ref_view(T&&);
++};
++
++template<class R> ref_view(R&) -> ref_view<R>;
++
++struct ref_fn {
++ template<class R> auto operator()(R r) const
++ noexcept(noexcept(ref_view{r}));
++};
++
++template<class R> struct indirect_view {
++ indirect_view(R);
++};
++
++struct indirect_fn {
++ template<class R> auto operator()(R r) const
++ noexcept(noexcept(indirect_view{r}));
++};
+Index: gcc/testsuite/g++.dg/cpp1z/class-deduction63.C
+===================================================================
+--- a/src/gcc/testsuite/g++.dg/cpp1z/class-deduction63.C (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/g++.dg/cpp1z/class-deduction63.C (.../branches/gcc-8-branch)
+@@ -0,0 +1,11 @@
++// PR c++/88869
++// { dg-do compile { target c++17 } }
++
++template <typename> struct B;
++template <> struct B<int> {
++ template <typename T> struct C {
++ T e;
++ C (T f) : e(f) {}
++ };
++ void foo () { C c (42); }
++};
+Index: gcc/testsuite/g++.dg/cpp1z/class-deduction64.C
+===================================================================
+--- a/src/gcc/testsuite/g++.dg/cpp1z/class-deduction64.C (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/g++.dg/cpp1z/class-deduction64.C (.../branches/gcc-8-branch)
+@@ -0,0 +1,9 @@
++// PR c++/88820
++// { dg-do compile { target c++17 } }
++
++template <int> struct S;
++
++template <S> struct W {
++ template <typename> static int foo();
++ bool b = foo<int>();
++};
+Index: gcc/testsuite/g++.dg/cpp1z/fold-lambda3.C
+===================================================================
+--- a/src/gcc/testsuite/g++.dg/cpp1z/fold-lambda3.C (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/g++.dg/cpp1z/fold-lambda3.C (.../branches/gcc-8-branch)
+@@ -0,0 +1,19 @@
++// PR c++/88183
++// { dg-do compile { target c++17 } }
++
++struct A { int i; };
++
++template <class T> T& g(T);
++
++template <class U, class... Vs>
++void f(U u, Vs... vs)
++{
++ [vs...](auto x) {
++ (g(x) .* ... .* vs) = 42;
++ }(u);
++}
++
++int main()
++{
++ f(A(), &A::i);
++}
+Index: gcc/testsuite/c-c++-common/unroll-6.c
+===================================================================
+--- a/src/gcc/testsuite/c-c++-common/unroll-6.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/c-c++-common/unroll-6.c (.../branches/gcc-8-branch)
+@@ -0,0 +1,9 @@
++/* { dg-do compile } */
++/* { dg-options "-O -fno-tree-loop-optimize" } */
++
++void test (void)
++{
++ #pragma GCC unroll 2
++ for (int nv = 0; nv <= 2; nv += 2)
++ {}
++}
+Index: gcc/testsuite/c-c++-common/unroll-7.c
+===================================================================
+--- a/src/gcc/testsuite/c-c++-common/unroll-7.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/testsuite/c-c++-common/unroll-7.c (.../branches/gcc-8-branch)
+@@ -0,0 +1,11 @@
++/* { dg-do compile } */
++/* { dg-options "-O -fno-tree-dominator-opts" } */
++
++int nv;
++
++void test (void)
++{
++ #pragma GCC unroll 2
++ for (nv = 0; nv < 1; ++nv)
++ {}
++}
+Index: gcc/cp/typeck.c
+===================================================================
+--- a/src/gcc/cp/typeck.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/cp/typeck.c (.../branches/gcc-8-branch)
+@@ -5747,18 +5747,17 @@
+ return c_common_truthvalue_conversion (input_location, expr);
+ }
+
+-/* Just like cp_truthvalue_conversion, but we want a CLEANUP_POINT_EXPR. */
++/* Just like cp_truthvalue_conversion, but we want a CLEANUP_POINT_EXPR. This
++ is a low-level function; most callers should use maybe_convert_cond. */
+
+ tree
+ condition_conversion (tree expr)
+ {
+ tree t;
+- /* Anything that might happen in a template should go through
+- maybe_convert_cond. */
+- gcc_assert (!processing_template_decl);
+ t = perform_implicit_conversion_flags (boolean_type_node, expr,
+ tf_warning_or_error, LOOKUP_NORMAL);
+- t = fold_build_cleanup_point_expr (boolean_type_node, t);
++ if (!processing_template_decl)
++ t = fold_build_cleanup_point_expr (boolean_type_node, t);
+ return t;
+ }
+
+Index: gcc/cp/class.c
+===================================================================
+--- a/src/gcc/cp/class.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/cp/class.c (.../branches/gcc-8-branch)
+@@ -5171,7 +5171,9 @@
+ for (ovl_iterator iter (get_class_binding_direct
+ (t, assign_op_identifier));
+ iter; ++iter)
+- if ((!user_p || !DECL_ARTIFICIAL (*iter)) && move_fn_p (*iter))
++ if ((!user_p || !DECL_ARTIFICIAL (*iter))
++ && DECL_CONTEXT (*iter) == t
++ && move_fn_p (*iter))
+ return true;
+
+ return false;
+Index: gcc/cp/ChangeLog
+===================================================================
+--- a/src/gcc/cp/ChangeLog (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/cp/ChangeLog (.../branches/gcc-8-branch)
+@@ -1,3 +1,58 @@
++2019-03-08 Jason Merrill <jason@redhat.com>
++
++ PR c++/88820 - ICE with CTAD and member template used in DMI.
++ * pt.c (do_class_deduction): Handle parm used as its own arg.
++
++ PR c++/88869 - C++17 ICE with CTAD and explicit specialization.
++ * pt.c (do_class_deduction): Don't include explicit specialization
++ args in outer_args.
++
++ PR c++/88419 - C++17 ICE with class template arg deduction.
++ * pt.c (make_template_placeholder): Set TYPE_CANONICAL after
++ CLASS_PLACEHOLDER_TEMPLATE.
++
++ PR c++/88690 - C++17 ICE with empty base in aggregate.
++ * typeck2.c (process_init_constructor_record): Skip trivial
++ initialization of an empty base.
++
++ PR c++/87921 - wrong error with inline static data member.
++ * decl2.c (c_parse_final_cleanups): Don't force out uninstantiated
++ inline static data members.
++
++ PR c++/89381 - implicit copy and using-declaration.
++ * class.c (classtype_has_move_assign_or_move_ctor_p): Don't consider
++ op= brought in by a using-declaration.
++
++ PR c++/89576 - if constexpr of lambda capture.
++ * semantics.c (maybe_convert_cond): Do convert a non-dependent
++ condition in a template.
++ * typeck.c (condition_conversion): Handle being called in a
++ template.
++
++ PR c++/89422 - ICE with -g and lambda in default arg in template.
++ * pt.c (tsubst_function_decl): SET_DECL_FRIEND_CONTEXT sooner.
++
++ PR c++/87513 - 'sorry' mangling PMF template-id.
++ * mangle.c (write_expression): Handle SCOPE_REF to BASELINK.
++
++ PR c++/88183 - ICE with .* fold-expression.
++ * pt.c (fold_expression) [DOTSTAR_EXPR]: Remove special handling.
++
++2019-03-07 Jakub Jelinek <jakub@redhat.com>
++
++ PR c++/89585
++ * parser.c (cp_parser_asm_definition): Parse asm qualifiers even
++ at toplevel, but diagnose them.
++
++2019-02-26 Marek Polacek <polacek@redhat.com>
++
++ Backported from mainline
++ 2019-02-11 Marek Polacek <polacek@redhat.com>
++
++ PR c++/89212 - ICE converting nullptr to pointer-to-member-function.
++ * pt.c (tsubst_copy_and_build) <case CONSTRUCTOR>: Return early for
++ null member pointer value.
++
+ 2019-02-22 Release Manager
+
+ * GCC 8.3.0 released.
+Index: gcc/cp/typeck2.c
+===================================================================
+--- a/src/gcc/cp/typeck2.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/cp/typeck2.c (.../branches/gcc-8-branch)
+@@ -1538,6 +1538,13 @@
+ }
+ }
+
++ if (DECL_SIZE (field) && integer_zerop (DECL_SIZE (field))
++ && !TREE_SIDE_EFFECTS (next))
++ /* Don't add trivial initialization of an empty base/field to the
++ constructor, as they might not be ordered the way the back-end
++ expects. */
++ continue;
++
+ /* If this is a bitfield, now convert to the lowered type. */
+ if (type != TREE_TYPE (field))
+ next = cp_convert_and_check (TREE_TYPE (field), next, complain);
+Index: gcc/cp/pt.c
+===================================================================
+--- a/src/gcc/cp/pt.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/cp/pt.c (.../branches/gcc-8-branch)
+@@ -11732,8 +11732,6 @@
+ {
+ case COMPOUND_EXPR:
+ return build_x_compound_expr (input_location, left, right, complain);
+- case DOTSTAR_EXPR:
+- return build_m_component_ref (left, right, complain);
+ default:
+ return build_x_binary_op (input_location, code,
+ left, TREE_CODE (left),
+@@ -13023,6 +13021,11 @@
+ set_constraints (r, ci);
+ }
+
++ if (DECL_FRIEND_P (t) && DECL_FRIEND_CONTEXT (t))
++ SET_DECL_FRIEND_CONTEXT (r,
++ tsubst (DECL_FRIEND_CONTEXT (t),
++ args, complain, in_decl));
++
+ /* Set up the DECL_TEMPLATE_INFO for R. There's no need to do
+ this in the special friend case mentioned above where
+ GEN_TMPL is NULL. */
+@@ -13084,11 +13087,6 @@
+ && !grok_op_properties (r, /*complain=*/true))
+ return error_mark_node;
+
+- if (DECL_FRIEND_P (t) && DECL_FRIEND_CONTEXT (t))
+- SET_DECL_FRIEND_CONTEXT (r,
+- tsubst (DECL_FRIEND_CONTEXT (t),
+- args, complain, in_decl));
+-
+ /* Possibly limit visibility based on template args. */
+ DECL_VISIBILITY (r) = VISIBILITY_DEFAULT;
+ if (DECL_VISIBILITY_SPECIFIED (t))
+@@ -18797,6 +18795,12 @@
+ looked up by digest_init. */
+ process_index_p = !(type && MAYBE_CLASS_TYPE_P (type));
+
++ if (null_member_pointer_value_p (t))
++ {
++ gcc_assert (same_type_p (type, TREE_TYPE (t)));
++ RETURN (t);
++ }
++
+ n = vec_safe_copy (CONSTRUCTOR_ELTS (t));
+ newlen = vec_safe_length (n);
+ FOR_EACH_VEC_SAFE_ELT (n, idx, ce)
+@@ -25998,8 +26002,10 @@
+ tree
+ make_template_placeholder (tree tmpl)
+ {
+- tree t = make_auto_1 (DECL_NAME (tmpl), true);
++ tree t = make_auto_1 (DECL_NAME (tmpl), false);
+ CLASS_PLACEHOLDER_TEMPLATE (t) = tmpl;
++ /* Our canonical type depends on the placeholder. */
++ TYPE_CANONICAL (t) = canonical_type_parameter (t);
+ return t;
+ }
+
+@@ -26534,6 +26540,9 @@
+ error ("non-class template %qT used without template arguments", tmpl);
+ return error_mark_node;
+ }
++ if (init && TREE_TYPE (init) == ptype)
++ /* Using the template parm as its own argument. */
++ return ptype;
+
+ tree type = TREE_TYPE (tmpl);
+
+@@ -26601,7 +26610,7 @@
+
+ tree outer_args = NULL_TREE;
+ if (DECL_CLASS_SCOPE_P (tmpl)
+- && CLASSTYPE_TEMPLATE_INFO (DECL_CONTEXT (tmpl)))
++ && CLASSTYPE_TEMPLATE_INSTANTIATION (DECL_CONTEXT (tmpl)))
+ {
+ outer_args = CLASSTYPE_TI_ARGS (DECL_CONTEXT (tmpl));
+ type = TREE_TYPE (most_general_template (tmpl));
+Index: gcc/cp/semantics.c
+===================================================================
+--- a/src/gcc/cp/semantics.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/cp/semantics.c (.../branches/gcc-8-branch)
+@@ -645,10 +645,13 @@
+ return NULL_TREE;
+
+ /* Wait until we instantiate templates before doing conversion. */
+- if (processing_template_decl)
++ if (processing_template_decl
++ && (type_dependent_expression_p (cond)
++ /* For GCC 8 only convert non-dependent condition in a lambda. */
++ || !current_lambda_expr ()))
+ return cond;
+
+- if (warn_sequence_point)
++ if (warn_sequence_point && !processing_template_decl)
+ verify_sequence_points (cond);
+
+ /* Do the conversion. */
+Index: gcc/cp/decl2.c
+===================================================================
+--- a/src/gcc/cp/decl2.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/cp/decl2.c (.../branches/gcc-8-branch)
+@@ -4905,7 +4905,10 @@
+ {
+ if (var_finalized_p (decl) || DECL_REALLY_EXTERN (decl)
+ /* Don't write it out if we haven't seen a definition. */
+- || (DECL_IN_AGGR_P (decl) && !DECL_INLINE_VAR_P (decl)))
++ || (DECL_IN_AGGR_P (decl) && !DECL_INLINE_VAR_P (decl))
++ /* Or haven't instantiated it. */
++ || (DECL_TEMPLATE_INSTANTIATION (decl)
++ && !DECL_TEMPLATE_INSTANTIATED (decl)))
+ continue;
+ import_export_decl (decl);
+ /* If this static data member is needed, provide it to the
+Index: gcc/cp/parser.c
+===================================================================
+--- a/src/gcc/cp/parser.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/cp/parser.c (.../branches/gcc-8-branch)
+@@ -19125,8 +19125,9 @@
+ location_t volatile_loc = UNKNOWN_LOCATION;
+ location_t inline_loc = UNKNOWN_LOCATION;
+ location_t goto_loc = UNKNOWN_LOCATION;
++ location_t first_loc = UNKNOWN_LOCATION;
+
+- if (cp_parser_allow_gnu_extensions_p (parser) && parser->in_function_body)
++ if (cp_parser_allow_gnu_extensions_p (parser))
+ for (;;)
+ {
+ cp_token *token = cp_lexer_peek_token (parser->lexer);
+@@ -19152,6 +19153,8 @@
+ }
+ else
+ inline_loc = loc;
++ if (!first_loc)
++ first_loc = loc;
+ cp_lexer_consume_token (parser->lexer);
+ continue;
+
+@@ -19163,6 +19166,8 @@
+ }
+ else
+ goto_loc = loc;
++ if (!first_loc)
++ first_loc = loc;
+ cp_lexer_consume_token (parser->lexer);
+ continue;
+
+@@ -19182,6 +19187,12 @@
+ bool inline_p = (inline_loc != UNKNOWN_LOCATION);
+ bool goto_p = (goto_loc != UNKNOWN_LOCATION);
+
++ if (!parser->in_function_body && (inline_p || goto_p))
++ {
++ error_at (first_loc, "asm qualifier outside of function body");
++ inline_p = goto_p = false;
++ }
++
+ /* Look for the opening `('. */
+ if (!cp_parser_require (parser, CPP_OPEN_PAREN, RT_OPEN_PAREN))
+ return;
+Index: gcc/cp/mangle.c
+===================================================================
+--- a/src/gcc/cp/mangle.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/cp/mangle.c (.../branches/gcc-8-branch)
+@@ -3047,7 +3047,8 @@
+ {
+ scope = TREE_OPERAND (expr, 0);
+ member = TREE_OPERAND (expr, 1);
+- gcc_assert (!BASELINK_P (member));
++ if (BASELINK_P (member))
++ member = BASELINK_FUNCTIONS (member);
+ }
+ else
+ {
+Index: gcc/tree-ssa-math-opts.c
+===================================================================
+--- a/src/gcc/tree-ssa-math-opts.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/tree-ssa-math-opts.c (.../branches/gcc-8-branch)
+@@ -603,7 +603,7 @@
+
+ /* If it is more profitable to optimize 1 / x, don't optimize 1 / (x * x). */
+ if (sqrt_recip_count > square_recip_count)
+- return;
++ goto out;
+
+ /* Do the expensive part only if we can hope to optimize something. */
+ if (count + square_recip_count >= threshold && count >= 1)
+@@ -646,6 +646,7 @@
+ }
+ }
+
++out:
+ for (occ = occ_head; occ; )
+ occ = free_bb (occ);
+
+Index: gcc/tree-ssa-dom.c
+===================================================================
+--- a/src/gcc/tree-ssa-dom.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/tree-ssa-dom.c (.../branches/gcc-8-branch)
+@@ -170,11 +170,10 @@
+ gimple *def_stmt = SSA_NAME_DEF_STMT (name);
+ if (is_gimple_assign (def_stmt))
+ {
+- /* We know the result of DEF_STMT was zero. See if that allows
+- us to deduce anything about the SSA_NAMEs used on the RHS. */
+ enum tree_code code = gimple_assign_rhs_code (def_stmt);
+ switch (code)
+ {
++ /* If the result of an OR is zero, then its operands are, too. */
+ case BIT_IOR_EXPR:
+ if (integer_zerop (value))
+ {
+@@ -188,8 +187,7 @@
+ }
+ break;
+
+- /* We know the result of DEF_STMT was one. See if that allows
+- us to deduce anything about the SSA_NAMEs used on the RHS. */
++ /* If the result of an AND is nonzero, then its operands are, too. */
+ case BIT_AND_EXPR:
+ if (!integer_zerop (value))
+ {
+@@ -296,7 +294,6 @@
+ break;
+ }
+
+-
+ case EQ_EXPR:
+ case NE_EXPR:
+ {
+@@ -336,7 +333,28 @@
+ case NEGATE_EXPR:
+ {
+ tree rhs = gimple_assign_rhs1 (def_stmt);
+- tree res = fold_build1 (code, TREE_TYPE (rhs), value);
++ tree res;
++ /* If this is a NOT and the operand has a boolean range, then we
++ know its value must be zero or one. We are not supposed to
++ have a BIT_NOT_EXPR for boolean types with precision > 1 in
++ the general case, see e.g. the handling of TRUTH_NOT_EXPR in
++ the gimplifier, but it can be generated by match.pd out of
++ a BIT_XOR_EXPR wrapped in a BIT_AND_EXPR. Now the handling
++ of BIT_AND_EXPR above already forces a specific semantics for
++ boolean types with precision > 1 so we must do the same here,
++ otherwise we could change the semantics of TRUTH_NOT_EXPR for
++ boolean types with precision > 1. */
++ if (code == BIT_NOT_EXPR
++ && TREE_CODE (rhs) == SSA_NAME
++ && ssa_name_has_boolean_range (rhs))
++ {
++ if ((TREE_INT_CST_LOW (value) & 1) == 0)
++ res = build_one_cst (TREE_TYPE (rhs));
++ else
++ res = build_zero_cst (TREE_TYPE (rhs));
++ }
++ else
++ res = fold_build1 (code, TREE_TYPE (rhs), value);
+ derive_equivalences (rhs, res, recursion_limit - 1);
+ break;
+ }
+Index: gcc/gimple-ssa-warn-restrict.c
+===================================================================
+--- a/src/gcc/gimple-ssa-warn-restrict.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/gimple-ssa-warn-restrict.c (.../branches/gcc-8-branch)
+@@ -314,13 +314,9 @@
+ offrange[0] += offset_int::from (min, SIGNED);
+ offrange[1] += offset_int::from (max, SIGNED);
+ }
+- else if (rng == VR_ANTI_RANGE)
+- {
+- offrange[0] += offset_int::from (max + 1, SIGNED);
+- offrange[1] += offset_int::from (min - 1, SIGNED);
+- }
+ else
+ {
++ /* Handle an anti-range the same as no range at all. */
+ gimple *stmt = SSA_NAME_DEF_STMT (offset);
+ tree type;
+ if (is_gimple_assign (stmt)
+Index: gcc/dwarf2out.c
+===================================================================
+--- a/src/gcc/dwarf2out.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/dwarf2out.c (.../branches/gcc-8-branch)
+@@ -2875,9 +2875,13 @@
+ separate comdat sections since the linker will then be able to
+ remove duplicates. But not all tools support .debug_types sections
+ yet. For Dwarf V5 or higher .debug_types doesn't exist any more,
+- it is DW_UT_type unit type in .debug_info section. */
++ it is DW_UT_type unit type in .debug_info section. For late LTO
++ debug there should be almost no types emitted so avoid enabling
++ -fdebug-types-section there. */
+
+-#define use_debug_types (dwarf_version >= 4 && flag_debug_types_section)
++#define use_debug_types (dwarf_version >= 4 \
++ && flag_debug_types_section \
++ && !in_lto_p)
+
+ /* Various DIE's use offsets relative to the beginning of the
+ .debug_info section to refer to each other. */
+@@ -3713,7 +3717,7 @@
+ static void output_die (dw_die_ref);
+ static void output_compilation_unit_header (enum dwarf_unit_type);
+ static void output_comp_unit (dw_die_ref, int, const unsigned char *);
+-static void output_comdat_type_unit (comdat_type_node *);
++static void output_comdat_type_unit (comdat_type_node *, bool);
+ static const char *dwarf2_name (tree, int);
+ static void add_pubname (tree, dw_die_ref);
+ static void add_enumerator_pubname (const char *, dw_die_ref);
+@@ -9425,7 +9429,7 @@
+ we use DW_FORM_ref_addr. In DWARF2, DW_FORM_ref_addr
+ is sized by target address length, whereas in DWARF3
+ it's always sized as an offset. */
+- if (use_debug_types)
++ if (AT_ref (a)->comdat_type_p)
+ size += DWARF_TYPE_SIGNATURE_SIZE;
+ else if (dwarf_version == 2)
+ size += DWARF2_ADDR_SIZE;
+@@ -9869,7 +9873,12 @@
+ return DW_FORM_flag;
+ case dw_val_class_die_ref:
+ if (AT_ref_external (a))
+- return use_debug_types ? DW_FORM_ref_sig8 : DW_FORM_ref_addr;
++ {
++ if (AT_ref (a)->comdat_type_p)
++ return DW_FORM_ref_sig8;
++ else
++ return DW_FORM_ref_addr;
++ }
+ else
+ return DW_FORM_ref;
+ case dw_val_class_fde_ref:
+@@ -11217,7 +11226,8 @@
+ /* Output a comdat type unit DIE and its children. */
+
+ static void
+-output_comdat_type_unit (comdat_type_node *node)
++output_comdat_type_unit (comdat_type_node *node,
++ bool early_lto_debug ATTRIBUTE_UNUSED)
+ {
+ const char *secname;
+ char *tmp;
+@@ -11244,14 +11254,16 @@
+ if (dwarf_version >= 5)
+ {
+ if (!dwarf_split_debug_info)
+- secname = ".debug_info";
++ secname = early_lto_debug ? DEBUG_LTO_INFO_SECTION : DEBUG_INFO_SECTION;
+ else
+- secname = ".debug_info.dwo";
++ secname = (early_lto_debug
++ ? DEBUG_LTO_DWO_INFO_SECTION : DEBUG_DWO_INFO_SECTION);
+ }
+ else if (!dwarf_split_debug_info)
+- secname = ".debug_types";
++ secname = early_lto_debug ? ".gnu.debuglto_.debug_types" : ".debug_types";
+ else
+- secname = ".debug_types.dwo";
++ secname = (early_lto_debug
++ ? ".gnu.debuglto_.debug_types.dwo" : ".debug_types.dwo");
+
+ tmp = XALLOCAVEC (char, 4 + DWARF_TYPE_SIGNATURE_SIZE * 2);
+ sprintf (tmp, dwarf_version >= 5 ? "wi." : "wt.");
+@@ -31398,7 +31410,7 @@
+ ? dl_section_ref
+ : debug_skeleton_line_section_label));
+
+- output_comdat_type_unit (ctnode);
++ output_comdat_type_unit (ctnode, false);
+ *slot = ctnode;
+ }
+
+@@ -32039,7 +32051,7 @@
+ ? debug_line_section_label
+ : debug_skeleton_line_section_label));
+
+- output_comdat_type_unit (ctnode);
++ output_comdat_type_unit (ctnode, true);
+ *slot = ctnode;
+ }
+
+Index: gcc/opts.c
+===================================================================
+--- a/src/gcc/opts.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/opts.c (.../branches/gcc-8-branch)
+@@ -922,6 +922,14 @@
+ "linker plugin");
+ opts->x_flag_fat_lto_objects = 1;
+ }
++
++ /* -gsplit-dwarf isn't compatible with LTO, see PR88389. */
++ if (opts->x_dwarf_split_debug_info)
++ {
++ inform (loc, "%<-gsplit-dwarf%> is not supported with LTO,"
++ " disabling");
++ opts->x_dwarf_split_debug_info = 0;
++ }
+ }
+
+ /* We initialize opts->x_flag_split_stack to -1 so that targets can set a
+Index: gcc/tree-ssa-loop-ivcanon.c
+===================================================================
+--- a/src/gcc/tree-ssa-loop-ivcanon.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/tree-ssa-loop-ivcanon.c (.../branches/gcc-8-branch)
+@@ -1177,7 +1177,7 @@
+ = niter_desc.may_be_zero && !integer_zerop (niter_desc.may_be_zero);
+ }
+ if (TREE_CODE (niter) == INTEGER_CST)
+- locus = gimple_location (last_stmt (exit->src));
++ locus = gimple_location_safe (last_stmt (exit->src));
+ else
+ {
+ /* For non-constant niter fold may_be_zero into niter again. */
+@@ -1204,7 +1204,7 @@
+ niter = find_loop_niter_by_eval (loop, &exit);
+
+ if (exit)
+- locus = gimple_location (last_stmt (exit->src));
++ locus = gimple_location_safe (last_stmt (exit->src));
+
+ if (TREE_CODE (niter) != INTEGER_CST)
+ exit = NULL;
+Index: gcc/ada/ChangeLog
+===================================================================
+--- a/src/gcc/ada/ChangeLog (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/ada/ChangeLog (.../branches/gcc-8-branch)
+@@ -1,3 +1,13 @@
++2019-02-23 Eric Botcazou <ebotcazou@adacore.com>
++
++ PR ada/89349
++ Backport from mainline
++ 2018-05-25 Arnaud Charlet <charlet@adacore.com>
++
++ * osint.ads (Unknown_Attributes): No longer pretend this is a constant.
++ (No_File_Info_Cache): Initialize separately.
++ * osint.adb (No_File_Info_Cache): Update initializer.
++
+ 2019-02-22 Release Manager
+
+ * GCC 8.3.0 released.
+Index: gcc/ada/osint.adb
+===================================================================
+--- a/src/gcc/ada/osint.adb (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/ada/osint.adb (.../branches/gcc-8-branch)
+@@ -250,8 +250,7 @@
+ Attr : aliased File_Attributes;
+ end record;
+
+- No_File_Info_Cache : constant File_Info_Cache :=
+- (No_File, Unknown_Attributes);
++ No_File_Info_Cache : constant File_Info_Cache := (No_File, (others => 0));
+
+ package File_Name_Hash_Table is new GNAT.HTable.Simple_HTable (
+ Header_Num => File_Hash_Num,
+Index: gcc/ada/osint.ads
+===================================================================
+--- a/src/gcc/ada/osint.ads (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/ada/osint.ads (.../branches/gcc-8-branch)
+@@ -255,10 +255,26 @@
+ -- from the disk and then cached in the File_Attributes parameter (possibly
+ -- along with other values).
+
+- type File_Attributes is private;
+- Unknown_Attributes : constant File_Attributes;
++ File_Attributes_Size : constant Natural := 32;
++ -- This should be big enough to fit a "struct file_attributes" on any
++ -- system. It doesn't cause any malfunction if it is too big (which avoids
++ -- the need for either mapping the struct exactly or importing the sizeof
++ -- from C, which would result in dynamic code). However, it does waste
++ -- space (e.g. when a component of this type appears in a record, if it is
++ -- unnecessarily large). Note: for runtime units, use System.OS_Constants.
++ -- SIZEOF_struct_file_attributes instead, which has the exact value.
++
++ type File_Attributes is
++ array (1 .. File_Attributes_Size)
++ of System.Storage_Elements.Storage_Element;
++ for File_Attributes'Alignment use Standard'Maximum_Alignment;
++
++ Unknown_Attributes : File_Attributes;
+ -- A cache for various attributes for a file (length, accessibility,...)
+- -- This must be initialized to Unknown_Attributes prior to the first call.
++ -- Will be initialized properly at elaboration (for efficiency later on,
++ -- avoid function calls every time we want to reset the attributes) prior
++ -- to the first usage. We cannot make it constant since the compiler may
++ -- put it in a read-only section.
+
+ function Is_Directory
+ (Name : C_File_Name;
+@@ -754,22 +770,4 @@
+ -- detected, the file being written is deleted, and a fatal error is
+ -- signalled.
+
+- File_Attributes_Size : constant Natural := 32;
+- -- This should be big enough to fit a "struct file_attributes" on any
+- -- system. It doesn't cause any malfunction if it is too big (which avoids
+- -- the need for either mapping the struct exactly or importing the sizeof
+- -- from C, which would result in dynamic code). However, it does waste
+- -- space (e.g. when a component of this type appears in a record, if it is
+- -- unnecessarily large). Note: for runtime units, use System.OS_Constants.
+- -- SIZEOF_struct_file_attributes instead, which has the exact value.
+-
+- type File_Attributes is
+- array (1 .. File_Attributes_Size)
+- of System.Storage_Elements.Storage_Element;
+- for File_Attributes'Alignment use Standard'Maximum_Alignment;
+-
+- Unknown_Attributes : constant File_Attributes := (others => 0);
+- -- Will be initialized properly at elaboration (for efficiency later on,
+- -- avoid function calls every time we want to reset the attributes).
+-
+ end Osint;
+Index: gcc/common/config/aarch64/aarch64-common.c
+===================================================================
+--- a/src/gcc/common/config/aarch64/aarch64-common.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/common/config/aarch64/aarch64-common.c (.../branches/gcc-8-branch)
+@@ -41,6 +41,8 @@
+
+ #undef TARGET_OPTION_OPTIMIZATION_TABLE
+ #define TARGET_OPTION_OPTIMIZATION_TABLE aarch_option_optimization_table
++#undef TARGET_OPTION_INIT_STRUCT
++#define TARGET_OPTION_INIT_STRUCT aarch64_option_init_struct
+
+ /* Set default optimization options. */
+ static const struct default_options aarch_option_optimization_table[] =
+@@ -113,8 +115,6 @@
+ }
+ }
+
+-struct gcc_targetm_common targetm_common = TARGETM_COMMON_INITIALIZER;
+-
+ /* An ISA extension in the co-processor and main instruction set space. */
+ struct aarch64_option_extension
+ {
+@@ -122,17 +122,30 @@
+ const unsigned long flag_canonical;
+ const unsigned long flags_on;
+ const unsigned long flags_off;
++ const bool is_synthetic;
+ };
+
+ /* ISA extensions in AArch64. */
+ static const struct aarch64_option_extension all_extensions[] =
+ {
+-#define AARCH64_OPT_EXTENSION(NAME, FLAG_CANONICAL, FLAGS_ON, FLAGS_OFF, Z) \
+- {NAME, FLAG_CANONICAL, FLAGS_ON, FLAGS_OFF},
++#define AARCH64_OPT_EXTENSION(NAME, FLAG_CANONICAL, FLAGS_ON, FLAGS_OFF, \
++ SYNTHETIC, Z) \
++ {NAME, FLAG_CANONICAL, FLAGS_ON, FLAGS_OFF, SYNTHETIC},
+ #include "config/aarch64/aarch64-option-extensions.def"
+- {NULL, 0, 0, 0}
++ {NULL, 0, 0, 0, false}
+ };
+
++/* A copy of the ISA extensions list for AArch64 sorted by the popcount of
++ bits and extension turned on. Cached for efficiency. */
++static struct aarch64_option_extension all_extensions_by_on[] =
++{
++#define AARCH64_OPT_EXTENSION(NAME, FLAG_CANONICAL, FLAGS_ON, FLAGS_OFF, \
++ SYNTHETIC, Z) \
++ {NAME, FLAG_CANONICAL, FLAGS_ON, FLAGS_OFF, SYNTHETIC},
++#include "config/aarch64/aarch64-option-extensions.def"
++ {NULL, 0, 0, 0, false}
++};
++
+ struct processor_name_to_arch
+ {
+ const std::string processor_name;
+@@ -232,6 +245,76 @@
+ return AARCH64_PARSE_OK;
+ }
+
++/* Comparer to sort aarch64's feature extensions by population count. Largest
++ first. */
++
++typedef const struct aarch64_option_extension opt_ext;
++
++int opt_ext_cmp (const void* a, const void* b)
++{
++ opt_ext *opt_a = (opt_ext *)a;
++ opt_ext *opt_b = (opt_ext *)b;
++
++ /* We consider the total set of bits an options turns on to be the union of
++ the singleton set containing the option itself and the set of options it
++ turns on as a dependency. As an example +dotprod turns on FL_DOTPROD and
++ FL_SIMD. As such the set of bits represented by this option is
++ {FL_DOTPROD, FL_SIMD}. */
++ unsigned long total_flags_a = opt_a->flag_canonical & opt_a->flags_on;
++ unsigned long total_flags_b = opt_b->flag_canonical & opt_b->flags_on;
++ int popcnt_a = popcount_hwi ((HOST_WIDE_INT)total_flags_a);
++ int popcnt_b = popcount_hwi ((HOST_WIDE_INT)total_flags_b);
++ int order = popcnt_b - popcnt_a;
++
++ /* If they have the same amount of bits set, give it a more
++ deterministic ordering by using the value of the bits themselves. */
++ if (order == 0)
++ return total_flags_b - total_flags_a;
++
++ return order;
++}
++
++/* Implement TARGET_OPTION_INIT_STRUCT. */
++
++static void
++aarch64_option_init_struct (struct gcc_options *opts ATTRIBUTE_UNUSED)
++{
++ /* Sort the extensions based on how many bits they set, order the larger
++ counts first. We sort the list because this makes processing the
++ feature bits O(n) instead of O(n^2). While n is small, the function
++ to calculate the feature strings is called on every options push,
++ pop and attribute change (arm_neon headers, lto etc all cause this to
++ happen quite frequently). It is a trade-off between time and space and
++ so time won. */
++ int n_extensions
++ = sizeof (all_extensions) / sizeof (struct aarch64_option_extension);
++ qsort (&all_extensions_by_on, n_extensions,
++ sizeof (struct aarch64_option_extension), opt_ext_cmp);
++}
++
++/* Checks to see if enough bits from the option OPT are enabled in
++ ISA_FLAG_BITS to be able to replace the individual options with the
++ canonicalized version of the option. This is done based on two rules:
++
++ 1) Synthetic groups, such as +crypto we only care about the bits that are
++ turned on. e.g. +aes+sha2 can be replaced with +crypto.
++
++ 2) Options that themselves have a bit, such as +rdma, in this case, all the
++ feature bits they turn on must be available and the bit for the option
++ itself must be. In this case it's effectively a reduction rather than a
++ grouping. e.g. +fp+simd is not enough to turn on +rdma, for that you would
++ need +rdma+fp+simd which is reduced down to +rdma.
++*/
++
++static bool
++aarch64_contains_opt (unsigned long isa_flag_bits, opt_ext *opt)
++{
++ unsigned long flags_check
++ = opt->is_synthetic ? opt->flags_on : opt->flag_canonical;
++
++ return (isa_flag_bits & flags_check) == flags_check;
++}
++
+ /* Return a string representation of ISA_FLAGS. DEFAULT_ARCH_FLAGS
+ gives the default set of flags which are implied by whatever -march
+ we'd put out. Our job is to figure out the minimal set of "+" and
+@@ -245,27 +328,98 @@
+ const struct aarch64_option_extension *opt = NULL;
+ std::string outstr = "";
+
+- /* Pass one: Find all the things we need to turn on. As a special case,
+- we always want to put out +crc if it is enabled. */
+- for (opt = all_extensions; opt->name != NULL; opt++)
+- if ((isa_flags & opt->flag_canonical
+- && !(default_arch_flags & opt->flag_canonical))
+- || (default_arch_flags & opt->flag_canonical
+- && opt->flag_canonical == AARCH64_ISA_CRC))
+- {
+- outstr += "+";
+- outstr += opt->name;
+- }
++ unsigned long isa_flag_bits = isa_flags;
+
+- /* Pass two: Find all the things we need to turn off. */
+- for (opt = all_extensions; opt->name != NULL; opt++)
+- if ((~isa_flags) & opt->flag_canonical
+- && !((~default_arch_flags) & opt->flag_canonical))
++ /* Pass one: Minimize the search space by reducing the set of options
++ to the smallest set that still turns on the same features as before in
++ conjunction with the bits that are turned on by default for the selected
++ architecture. */
++ for (opt = all_extensions_by_on; opt->name != NULL; opt++)
++ {
++ /* If the bit is on by default, then all the options it turns on are also
++ on by default due to the transitive dependencies.
++
++ If the option is enabled explicitly in the set then we need to emit
++ an option for it. Since this list is sorted by extensions setting the
++ largest number of featers first, we can be sure that nothing else will
++ ever need to set the bits we already set. Consider the following
++ situation:
++
++ Feat1 = A + B + C
++ Feat2 = A + B
++ Feat3 = A + D
++ Feat4 = B + C
++ Feat5 = C
++
++ The following results are expected:
++
++ A + C = A + Feat5
++ B + C = Feat4
++ Feat4 + A = Feat1
++ Feat2 + Feat5 = Feat1
++ Feat1 + C = Feat1
++ Feat3 + Feat4 = Feat1 + D
++
++ This search assumes that all invidual feature bits are use visible,
++ in other words the user must be able to do +A, +B, +C and +D. */
++ if (aarch64_contains_opt (isa_flag_bits | default_arch_flags, opt))
+ {
+- outstr += "+no";
+- outstr += opt->name;
++ /* We remove all the dependent bits, to prevent them from being turned
++ on twice. This only works because we assume that all there are
++ individual options to set all bits standalone. */
++ isa_flag_bits &= ~opt->flags_on;
++ isa_flag_bits |= opt->flag_canonical;
+ }
++ }
+
++ /* By toggling bits on and off, we may have set bits on that are already
++ enabled by default. So we mask the default set out so we don't emit an
++ option for them. Instead of checking for this each time during Pass One
++ we just mask all default bits away at the end. */
++ isa_flag_bits &= ~default_arch_flags;
++
++ /* We now have the smallest set of features we need to process. A subsequent
++ linear scan of the bits in isa_flag_bits will allow us to print the ext
++ names. However as a special case if CRC was enabled before, always print
++ it. This is required because some CPUs have an incorrect specification
++ in older assemblers. Even though CRC should be the default for these
++ cases the -mcpu values won't turn it on. */
++ if (isa_flags & AARCH64_ISA_CRC)
++ isa_flag_bits |= AARCH64_ISA_CRC;
++
++ /* Pass Two:
++ Print the option names that we're sure we must turn on. These are only
++ optional extension names. Mandatory ones have already been removed and
++ ones we explicitly want off have been too. */
++ for (opt = all_extensions_by_on; opt->name != NULL; opt++)
++ {
++ if (isa_flag_bits & opt->flag_canonical)
++ {
++ outstr += "+";
++ outstr += opt->name;
++ }
++ }
++
++ /* Pass Three:
++ Print out a +no for any mandatory extension that we are
++ turning off. By this point aarch64_parse_extension would have ensured
++ that any optional extensions are turned off. The only things left are
++ things that can't be turned off usually, e.g. something that is on by
++ default because it's mandatory and we want it off. For turning off bits
++ we don't guarantee the smallest set of flags, but instead just emit all
++ options the user has specified.
++
++ The assembler requires all +<opts> to be printed before +no<opts>. */
++ for (opt = all_extensions_by_on; opt->name != NULL; opt++)
++ {
++ if ((~isa_flags) & opt->flag_canonical
++ && !((~default_arch_flags) & opt->flag_canonical))
++ {
++ outstr += "+no";
++ outstr += opt->name;
++ }
++ }
++
+ return outstr;
+ }
+
+@@ -345,5 +499,7 @@
+ return aarch64_rewrite_selected_cpu (argv[argc - 1]);
+ }
+
++struct gcc_targetm_common targetm_common = TARGETM_COMMON_INITIALIZER;
++
+ #undef AARCH64_CPU_NAME_LENGTH
+
+Index: gcc/tree-ssa-ifcombine.c
+===================================================================
+--- a/src/gcc/tree-ssa-ifcombine.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/tree-ssa-ifcombine.c (.../branches/gcc-8-branch)
+@@ -40,6 +40,7 @@
+ #include "gimplify-me.h"
+ #include "tree-cfg.h"
+ #include "tree-ssa.h"
++#include "params.h"
+
+ #ifndef LOGICAL_OP_NON_SHORT_CIRCUIT
+ #define LOGICAL_OP_NON_SHORT_CIRCUIT \
+@@ -556,7 +557,11 @@
+ {
+ tree t1, t2;
+ gimple_stmt_iterator gsi;
+- if (!LOGICAL_OP_NON_SHORT_CIRCUIT || flag_sanitize_coverage)
++ bool logical_op_non_short_circuit = LOGICAL_OP_NON_SHORT_CIRCUIT;
++ if (PARAM_VALUE (PARAM_LOGICAL_OP_NON_SHORT_CIRCUIT) != -1)
++ logical_op_non_short_circuit
++ = PARAM_VALUE (PARAM_LOGICAL_OP_NON_SHORT_CIRCUIT);
++ if (!logical_op_non_short_circuit || flag_sanitize_coverage)
+ return false;
+ /* Only do this optimization if the inner bb contains only the conditional. */
+ if (!gsi_one_before_end_p (gsi_start_nondebug_after_labels_bb (inner_cond_bb)))
+Index: gcc/fortran/trans-expr.c
+===================================================================
+--- a/src/gcc/fortran/trans-expr.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/fortran/trans-expr.c (.../branches/gcc-8-branch)
+@@ -352,7 +352,7 @@
+ of refs following. */
+
+ gfc_expr *
+-gfc_find_and_cut_at_last_class_ref (gfc_expr *e)
++gfc_find_and_cut_at_last_class_ref (gfc_expr *e, bool is_mold)
+ {
+ gfc_expr *base_expr;
+ gfc_ref *ref, *class_ref, *tail = NULL, *array_ref;
+@@ -394,7 +394,10 @@
+ e->ref = NULL;
+ }
+
+- base_expr = gfc_copy_expr (e);
++ if (is_mold)
++ base_expr = gfc_expr_to_initialize (e);
++ else
++ base_expr = gfc_copy_expr (e);
+
+ /* Restore the original tail expression. */
+ if (class_ref)
+@@ -3834,7 +3837,8 @@
+
+
+ static void
+-conv_function_val (gfc_se * se, gfc_symbol * sym, gfc_expr * expr)
++conv_function_val (gfc_se * se, gfc_symbol * sym, gfc_expr * expr,
++ gfc_actual_arglist *actual_args)
+ {
+ tree tmp;
+
+@@ -3852,7 +3856,7 @@
+ else
+ {
+ if (!sym->backend_decl)
+- sym->backend_decl = gfc_get_extern_function_decl (sym);
++ sym->backend_decl = gfc_get_extern_function_decl (sym, actual_args);
+
+ TREE_USED (sym->backend_decl) = 1;
+
+@@ -6276,7 +6280,7 @@
+
+ /* Generate the actual call. */
+ if (base_object == NULL_TREE)
+- conv_function_val (se, sym, expr);
++ conv_function_val (se, sym, expr, args);
+ else
+ conv_base_obj_fcn_val (se, base_object, expr);
+
+Index: gcc/fortran/trans-array.c
+===================================================================
+--- a/src/gcc/fortran/trans-array.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/fortran/trans-array.c (.../branches/gcc-8-branch)
+@@ -2652,6 +2652,9 @@
+ if (ss_info->type != GFC_SS_REFERENCE)
+ return false;
+
++ if (ss_info->data.scalar.needs_temporary)
++ return false;
++
+ /* If the actual argument can be absent (in other words, it can
+ be a NULL reference), don't try to evaluate it; pass instead
+ the reference directly. */
+@@ -10350,6 +10353,8 @@
+ {
+ gfc_ref *ref;
+
++ gfc_fix_class_refs (expr);
++
+ for (ref = expr->ref; ref; ref = ref->next)
+ if (ref->type == REF_ARRAY && ref->u.ar.type != AR_ELEMENT)
+ break;
+Index: gcc/fortran/symbol.c
+===================================================================
+--- a/src/gcc/fortran/symbol.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/fortran/symbol.c (.../branches/gcc-8-branch)
+@@ -522,7 +522,7 @@
+ /* The copying of procedure dummy arguments for module procedures in
+ a submodule occur whilst the current state is COMP_CONTAINS. It
+ is necessary, therefore, to let this through. */
+- if (attr->dummy
++ if (name && attr->dummy
+ && (attr->function || attr->subroutine)
+ && gfc_current_state () == COMP_CONTAINS
+ && !(gfc_new_block && gfc_new_block->abr_modproc_decl))
+@@ -554,6 +554,7 @@
+
+ conf (external, intrinsic);
+ conf (entry, intrinsic);
++ conf (abstract, intrinsic);
+
+ if ((attr->if_source == IFSRC_DECL && !attr->procedure) || attr->contained)
+ conf (external, subroutine);
+@@ -1685,7 +1686,15 @@
+ return false;
+
+ attr->subroutine = 1;
+- return check_conflict (attr, name, where);
++
++ /* If we are looking at a BLOCK DATA statement and we encounter a
++ name with a leading underscore (which must be
++ compiler-generated), do not check. See PR 84394. */
++
++ if (name && *name != '_' && gfc_current_state () != COMP_BLOCK_DATA)
++ return check_conflict (attr, name, where);
++ else
++ return true;
+ }
+
+
+@@ -1801,7 +1810,8 @@
+ if (where == NULL)
+ where = &gfc_current_locus;
+
+- if (attr->proc != PROC_UNKNOWN && !attr->module_procedure)
++ if (attr->proc != PROC_UNKNOWN && !attr->module_procedure
++ && attr->access == ACCESS_UNKNOWN)
+ {
+ if (attr->proc == PROC_ST_FUNCTION && t == PROC_INTERNAL
+ && !gfc_notification_std (GFC_STD_F2008))
+@@ -4352,7 +4362,7 @@
+ /* Get a global symbol, creating it if it doesn't exist. */
+
+ gfc_gsymbol *
+-gfc_get_gsymbol (const char *name)
++gfc_get_gsymbol (const char *name, bool bind_c)
+ {
+ gfc_gsymbol *s;
+
+@@ -4363,6 +4373,7 @@
+ s = XCNEW (gfc_gsymbol);
+ s->type = GSYM_UNKNOWN;
+ s->name = gfc_get_string ("%s", name);
++ s->bind_c = bind_c;
+
+ gfc_insert_bbt (&gfc_gsym_root, s, gsym_compare);
+
+Index: gcc/fortran/class.c
+===================================================================
+--- a/src/gcc/fortran/class.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/fortran/class.c (.../branches/gcc-8-branch)
+@@ -561,7 +561,7 @@
+ ref to the _len component. */
+
+ gfc_expr *
+-gfc_get_len_component (gfc_expr *e)
++gfc_get_len_component (gfc_expr *e, int k)
+ {
+ gfc_expr *ptr;
+ gfc_ref *ref, **last;
+@@ -586,6 +586,14 @@
+ }
+ /* And replace if with a ref to the _len component. */
+ gfc_add_len_component (ptr);
++ if (k != ptr->ts.kind)
++ {
++ gfc_typespec ts;
++ gfc_clear_ts (&ts);
++ ts.type = BT_INTEGER;
++ ts.kind = k;
++ gfc_convert_type_warn (ptr, &ts, 2, 0);
++ }
+ return ptr;
+ }
+
+@@ -2661,6 +2669,7 @@
+ gfc_namespace *sub_ns;
+ gfc_namespace *contained;
+ gfc_expr *e;
++ size_t e_size;
+
+ gfc_get_symbol (name, ns, &vtype);
+ if (!gfc_add_flavor (&vtype->attr, FL_DERIVED, NULL,
+@@ -2695,11 +2704,13 @@
+ e = gfc_get_expr ();
+ e->ts = *ts;
+ e->expr_type = EXPR_VARIABLE;
++ if (ts->type == BT_CHARACTER)
++ e_size = ts->kind;
++ else
++ gfc_element_size (e, &e_size);
+ c->initializer = gfc_get_int_expr (gfc_size_kind,
+ NULL,
+- ts->type == BT_CHARACTER
+- ? ts->kind
+- : gfc_element_size (e));
++ e_size);
+ gfc_free_expr (e);
+
+ /* Add component _extends. */
+Index: gcc/fortran/decl.c
+===================================================================
+--- a/src/gcc/fortran/decl.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/fortran/decl.c (.../branches/gcc-8-branch)
+@@ -1678,6 +1678,14 @@
+ free (expr->value.character.string);
+ expr->value.character.string = s;
+ expr->value.character.length = len;
++ /* If explicit representation was given, clear it
++ as it is no longer needed after padding. */
++ if (expr->representation.length)
++ {
++ expr->representation.length = 0;
++ free (expr->representation.string);
++ expr->representation.string = NULL;
++ }
+ }
+ }
+
+@@ -7156,7 +7164,7 @@
+ name is a global identifier. */
+ if (!binding_label || gfc_notification_std (GFC_STD_F2008))
+ {
+- s = gfc_get_gsymbol (name);
++ s = gfc_get_gsymbol (name, false);
+
+ if (s->defined || (s->type != GSYM_UNKNOWN && s->type != type))
+ {
+@@ -7178,7 +7186,7 @@
+ && (!gfc_notification_std (GFC_STD_F2008)
+ || strcmp (name, binding_label) != 0))
+ {
+- s = gfc_get_gsymbol (binding_label);
++ s = gfc_get_gsymbol (binding_label, true);
+
+ if (s->defined || (s->type != GSYM_UNKNOWN && s->type != type))
+ {
+Index: gcc/fortran/gfortran.h
+===================================================================
+--- a/src/gcc/fortran/gfortran.h (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/fortran/gfortran.h (.../branches/gcc-8-branch)
+@@ -1883,6 +1883,7 @@
+ enum gfc_symbol_type type;
+
+ int defined, used;
++ bool bind_c;
+ locus where;
+ gfc_namespace *ns;
+ }
+@@ -3059,7 +3060,7 @@
+ void gfc_free_dt_list (void);
+
+
+-gfc_gsymbol *gfc_get_gsymbol (const char *);
++gfc_gsymbol *gfc_get_gsymbol (const char *, bool bind_c);
+ gfc_gsymbol *gfc_find_gsymbol (gfc_gsymbol *, const char *);
+ gfc_gsymbol *gfc_find_case_gsymbol (gfc_gsymbol *, const char *);
+
+@@ -3426,7 +3427,7 @@
+ bool gfc_is_class_container_ref (gfc_expr *e);
+ gfc_expr *gfc_class_initializer (gfc_typespec *, gfc_expr *);
+ unsigned int gfc_hash_value (gfc_symbol *);
+-gfc_expr *gfc_get_len_component (gfc_expr *e);
++gfc_expr *gfc_get_len_component (gfc_expr *e, int);
+ bool gfc_build_class_symbol (gfc_typespec *, symbol_attribute *,
+ gfc_array_spec **);
+ gfc_symbol *gfc_find_derived_vtab (gfc_symbol *);
+Index: gcc/fortran/ChangeLog
+===================================================================
+--- a/src/gcc/fortran/ChangeLog (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/fortran/ChangeLog (.../branches/gcc-8-branch)
+@@ -1,3 +1,194 @@
++2019-03-24 Janus Weil <janus@gcc.gnu.org>
++
++ PR fortran/71861
++ Backport from trunk
++ * symbol.c (check_conflict): ABSTRACT attribute conflicts with
++ INTRINSIC attribute.
++
++2019-03-23 Thomas Koenig <tkoeng@gcc.gnu.org>
++
++ PR fortran/68009
++ Backport from trunk
++ * iresolve.c: Include trans.h.
++ (gfc_resolve_fe_runtine_error): Set backend_decl on
++ resolved_sym.
++
++2019-03-17 Thomas Koenig <tkoenig@gcc.gnu.org>
++
++ PR fortran/84394
++ Backport from trunk
++ * symbol.c (gfc_add_subroutine): If we are encountering a
++ subrtoutine within a BLOCK DATA and the name starts with an
++ underscore, do not check.
++
++2019-03-16 Thomas Koenig <tkoenig@gcc.gnu.org>
++
++ PR fortran/66089
++ Backport from trunk
++ * trans-array.c (gfc_scalar_elemental_arg_saved_as_reference):
++ Return false if a scalar tempoary is needed.
++ (gfc_walk_variable_expr): Fix up class refs.
++
++2019-03-16 Thomas Koenig <tkoenig@gcc.gnu.org>
++
++ PR fortran/66695
++ PR fortran/77746
++ PR fortran/79485
++ Backport from trunk
++ * gfortran.h (gfc_symbol): Add bind_c component.
++ (gfc_get_gsymbol): Add argument bind_c.
++ * decl.c (add_global_entry): Add bind_c argument to
++ gfc_get_symbol.
++ * parse.c (parse_block_data): Likewise.
++ (parse_module): Likewise.
++ (add_global_procedure): Likewise.
++ (add_global_program): Likewise.
++ * resolve.c (resolve_common_blocks): Likewise.
++ (resolve_global_procedure): Likewise.
++ (gfc_verify_binding_labels): Likewise.
++ * symbol.c (gfc_get_gsymbol): Add argument bind_c. Set bind_c
++ in gsym.
++ * trans-decl.c (gfc_get_module_backend_decl): Add bind_c argument
++ to gfc_get_symbol.
++ (gfc_get_extern_function_decl): If the sym has a binding label
++ and it cannot be found in the global symbol tabel, it is the wrong
++ one and vice versa.
++
++2019-03-13 Thomas Koenig <tkoenig@gcc.gnu.org>
++
++ PR fortran/87673
++ Backport from trunk
++ * match.c (gfc_match_type_spec): Remove call to
++ gfc_resolve_expr for character length.
++
++2019-03-10 Thomas Koenig <tkoenig@gcc.gnu.org>
++
++ PR fortran/71544
++ Backport from trunk
++ * trans-types.c (gfc_typenode_for_spec) Set ts->is_c_interop of
++ C_PTR and C_FUNPTR.
++ (create_fn_spec): Mark argument as escaping if ts->is_c_interop is set.
++
++2019-03-10 Thomas Koenig <tkoenig@gcc.gnu.org>
++ Steven G. Kargl <kargl@gcc.gnu.org>
++
++ PR fortran/87734
++ Backort from trunk
++ * symbol.c (gfc_add_procedure): Only throw an error if the
++ procedure has not been declared either PUBLIC or PRIVATE.
++ * resolve.c (is_illegal_recursion): Remove an assert().
++
++2019-03-06 Harald Anlauf <anlauf@gmx.de>
++
++ Backport from trunk
++ PR fortran/71203
++ * expr.c (simplify_const_ref): Avoid null pointer dereference.
++
++2019-03-06 Thomas Koenig <tkoenig@gcc.gnu.org>
++
++ PR fortran/72714
++ Backport from trunk
++ * resolve.c (resolve_allocate_expr): Add some tests for coarrays.
++
++2019-03-03 Harald Anlauf <anlauf@gmx.de>
++
++ Backport from trunk
++ PR fortran/89077
++ * decl.c (gfc_set_constant_character_len): Clear original string
++ representation after padding has been performed to target length.
++ * resolve.c (gfc_resolve_substring_charlen): Check substring
++ length for constantness prior to general calculation of length.
++
++2019-03-03 Harald Anlauf <anlauf@gmx.de>
++ Steven G. Kargl <kargl@gcc.gnu.org>
++
++ Backport from trunk
++ PR fortran/77583
++ * symbol.c (check_conflict): Check for valid procedure name
++ passed to error reporting routine.
++
++2019-03-03 Thomas Koenig <tkoenig@gcc.gnu.org>
++
++ PR fortran/89174
++ Backport from trunk
++ * trans-expr.c (gfc_find_and_cut_at_last_class_ref): Add is_mold
++ to garguments. If we are dealing with a MOLD, call
++ gfc_expr_to_initialize().
++ * trans-stmt.c (gfc_trans_allocate): For MOLD, pass is_mold=true
++ to gfc_find_and_cut_at_last_class_ref.
++ * trans.h (gfc_find_and_cut_at_last_class_ref): Add optional
++ argument is_mold with default false.
++
++2019-03-03 Thomas Koenig <tkoenig@gcc.gnu.org>
++
++ PR fortran/87689
++ Backport from trunk
++ * gfortran.dg/lto/20091028-1_0.f90: Add -Wno-lto-type-mismatch to
++ options.
++ * gfortran.dg/lto/20091028-2_0.f90: Likewise.
++ * gfortran.dg/lto/pr87689_0.f: New file.
++ * gfortran.dg/lto/pr87689_1.f: New file.
++ * gfortran.dg/altreturn_9_0.f90: New file.
++ * gfortran.dg/altreturn_9_1.f90: New file.
++
++2019-03-02 Jerry DeLisle <jvdelisle@gcc.gnu.org>
++
++ Backport from trunk
++ PR fortran/84387
++ * trans-io.c (transfer_expr): Do not return if there are no
++ components to the derived type or class.
++
++2019-03-02 Harald Anlauf <anlauf@gmx.de>
++
++ Backport from trunk
++ PR fortran/89516
++ * check.c (gfc_calculate_transfer_sizes): Correct checks for cases
++ where storage size of elements of MOLD is 0.
++
++ PR fortran/89492
++ * check.c (gfc_calculate_transfer_sizes): Handle cases where
++ storage size of elements of MOLD is 0.
++
++ PR fortran/89266
++ PR fortran/88326
++ * target-memory.c (gfc_element_size): Return false if element size
++ cannot be determined; element size is returned separately.
++ (gfc_target_expr_size): Return false if expression size cannot be
++ determined; expression size is returned separately.
++ * target-memory.h: Adjust prototypes.
++ * check.c (gfc_calculate_transfer_sizes): Adjust references to
++ gfc_target_expr_size, gfc_element_size.
++ * arith.c (hollerith2representation): Likewise.
++ * class.c (find_intrinsic_vtab): Likewise.
++ * simplify.c (gfc_simplify_sizeof): Likewise.
++
++2019-02-23 Thomas Koenig <tkoenig@gcc.gnu.org>
++
++ PR fortran/86119
++ Backport from trunk
++ * class.c (gfc_get_len_component): Add argument k for kind.
++ If the kind of the resulting expression is not equal to k,
++ convert it.
++ * gfortran.h (gfc_len_component): Adjust prototype.
++ * simplify.c (gfc_simplify_len): Pass kind to
++ gfc_get_len_component.
++
++2019-02-23 Paul Thomas <pault@gcc.gnu.org>
++
++ Backport from trunk
++ PR fortran/88117
++ * resolve.c (deferred_op_assign): Return if the lhs expression
++ has the pointer attribute.
++
++2019-02-22 Thomas Koenig <tkoenig@gcc.gnu.org>
++
++ PR fortran/71066
++ Backport from trunk
++ * trans-decl.c (generate_coarray_sym_init): For an array
++ constructor in a DATA statement of a coarray variable, set the
++ rank to 1 to avoid confusion later on. If the constructor
++ contains only one value, use that for initiailizig.
++
+ 2019-02-22 Release Manager
+
+ * GCC 8.3.0 released.
+Index: gcc/fortran/trans-stmt.c
+===================================================================
+--- a/src/gcc/fortran/trans-stmt.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/fortran/trans-stmt.c (.../branches/gcc-8-branch)
+@@ -6606,7 +6606,7 @@
+ /* Use class_init_assign to initialize expr. */
+ gfc_code *ini;
+ ini = gfc_get_code (EXEC_INIT_ASSIGN);
+- ini->expr1 = gfc_find_and_cut_at_last_class_ref (expr);
++ ini->expr1 = gfc_find_and_cut_at_last_class_ref (expr, true);
+ tmp = gfc_trans_class_init_assign (ini);
+ gfc_free_statements (ini);
+ gfc_add_expr_to_block (&block, tmp);
+Index: gcc/fortran/expr.c
+===================================================================
+--- a/src/gcc/fortran/expr.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/fortran/expr.c (.../branches/gcc-8-branch)
+@@ -1784,8 +1784,14 @@
+ string_len = 0;
+
+ if (!p->ts.u.cl)
+- p->ts.u.cl = gfc_new_charlen (p->symtree->n.sym->ns,
+- NULL);
++ {
++ if (p->symtree)
++ p->ts.u.cl = gfc_new_charlen (p->symtree->n.sym->ns,
++ NULL);
++ else
++ p->ts.u.cl = gfc_new_charlen (gfc_current_ns,
++ NULL);
++ }
+ else
+ gfc_free_expr (p->ts.u.cl->length);
+
+Index: gcc/fortran/trans-types.c
+===================================================================
+--- a/src/gcc/fortran/trans-types.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/fortran/trans-types.c (.../branches/gcc-8-branch)
+@@ -1213,7 +1213,8 @@
+ {
+ spec->type = BT_INTEGER;
+ spec->kind = gfc_index_integer_kind;
+- spec->f90_type = BT_VOID;
++ spec->f90_type = BT_VOID;
++ spec->is_c_interop = 1; /* Mark as escaping later. */
+ }
+ break;
+ case BT_VOID:
+@@ -2978,7 +2979,8 @@
+ || f->sym->ts.u.derived->attr.pointer_comp))
+ || (f->sym->ts.type == BT_CLASS
+ && (CLASS_DATA (f->sym)->ts.u.derived->attr.proc_pointer_comp
+- || CLASS_DATA (f->sym)->ts.u.derived->attr.pointer_comp)))
++ || CLASS_DATA (f->sym)->ts.u.derived->attr.pointer_comp))
++ || (f->sym->ts.type == BT_INTEGER && f->sym->ts.is_c_interop))
+ spec[spec_len++] = '.';
+ else if (f->sym->attr.intent == INTENT_IN)
+ spec[spec_len++] = 'r';
+@@ -2991,9 +2993,57 @@
+ return build_type_attribute_variant (fntype, tmp);
+ }
+
++/* Helper function - if we do not find an interface for a procedure,
++ construct it from the actual arglist. Luckily, this can only
++ happen for call by reference, so the information we actually need
++ to provide (and which would be impossible to guess from the call
++ itself) is not actually needed. */
+
++static void
++get_formal_from_actual_arglist (gfc_symbol *sym, gfc_actual_arglist *actual_args)
++{
++ gfc_actual_arglist *a;
++ gfc_formal_arglist **f;
++ gfc_symbol *s;
++ char name[GFC_MAX_SYMBOL_LEN + 1];
++ static int var_num;
++
++ f = &sym->formal;
++ for (a = actual_args; a != NULL; a = a->next)
++ {
++ (*f) = gfc_get_formal_arglist ();
++ if (a->expr)
++ {
++ snprintf (name, GFC_MAX_SYMBOL_LEN, "_formal_%d", var_num ++);
++ gfc_get_symbol (name, NULL, &s);
++ if (a->expr->ts.type == BT_PROCEDURE)
++ {
++ s->attr.flavor = FL_PROCEDURE;
++ }
++ else
++ {
++ s->ts = a->expr->ts;
++ s->attr.flavor = FL_VARIABLE;
++ if (a->expr->rank > 0)
++ {
++ s->attr.dimension = 1;
++ s->as = gfc_get_array_spec ();
++ s->as->type = AS_ASSUMED_SIZE;
++ }
++ }
++ s->attr.dummy = 1;
++ s->attr.intent = INTENT_UNKNOWN;
++ (*f)->sym = s;
++ }
++ else /* If a->expr is NULL, this is an alternate rerturn. */
++ (*f)->sym = NULL;
++
++ f = &((*f)->next);
++ }
++}
++
+ tree
+-gfc_get_function_type (gfc_symbol * sym)
++gfc_get_function_type (gfc_symbol * sym, gfc_actual_arglist *actual_args)
+ {
+ tree type;
+ vec<tree, va_gc> *typelist = NULL;
+@@ -3051,6 +3101,10 @@
+ vec_safe_push (typelist, build_pointer_type(gfc_charlen_type_node));
+ }
+ }
++ if (sym->backend_decl == error_mark_node && actual_args != NULL
++ && sym->formal == NULL && (sym->attr.proc == PROC_EXTERNAL
++ || sym->attr.proc == PROC_UNKNOWN))
++ get_formal_from_actual_arglist (sym, actual_args);
+
+ /* Build the argument types for the function. */
+ for (f = gfc_sym_get_dummy_args (sym); f; f = f->next)
+Index: gcc/fortran/trans.h
+===================================================================
+--- a/src/gcc/fortran/trans.h (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/fortran/trans.h (.../branches/gcc-8-branch)
+@@ -412,7 +412,7 @@
+ tree gfc_class_vptr_get (tree);
+ tree gfc_class_len_get (tree);
+ tree gfc_class_len_or_zero_get (tree);
+-gfc_expr * gfc_find_and_cut_at_last_class_ref (gfc_expr *);
++gfc_expr * gfc_find_and_cut_at_last_class_ref (gfc_expr *, bool is_mold = false);
+ /* Get an accessor to the class' vtab's * field, when a class handle is
+ available. */
+ tree gfc_class_vtab_hash_get (tree);
+@@ -579,7 +579,8 @@
+ tree gfc_get_label_decl (gfc_st_label *);
+
+ /* Return the decl for an external function. */
+-tree gfc_get_extern_function_decl (gfc_symbol *);
++tree gfc_get_extern_function_decl (gfc_symbol *,
++ gfc_actual_arglist *args = NULL);
+
+ /* Return the decl for a function. */
+ tree gfc_get_function_decl (gfc_symbol *);
+Index: gcc/fortran/trans-types.h
+===================================================================
+--- a/src/gcc/fortran/trans-types.h (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/fortran/trans-types.h (.../branches/gcc-8-branch)
+@@ -88,7 +88,7 @@
+ tree gfc_typenode_for_spec (gfc_typespec *, int c = 0);
+ int gfc_copy_dt_decls_ifequal (gfc_symbol *, gfc_symbol *, bool);
+
+-tree gfc_get_function_type (gfc_symbol *);
++tree gfc_get_function_type (gfc_symbol *, gfc_actual_arglist *args = NULL);
+
+ tree gfc_type_for_size (unsigned, int);
+ tree gfc_type_for_mode (machine_mode, int);
+Index: gcc/fortran/resolve.c
+===================================================================
+--- a/src/gcc/fortran/resolve.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/fortran/resolve.c (.../branches/gcc-8-branch)
+@@ -1045,7 +1045,7 @@
+ }
+ if (!gsym)
+ {
+- gsym = gfc_get_gsymbol (common_root->n.common->name);
++ gsym = gfc_get_gsymbol (common_root->n.common->name, false);
+ gsym->type = GSYM_COMMON;
+ gsym->where = common_root->n.common->where;
+ gsym->defined = 1;
+@@ -1067,7 +1067,7 @@
+ }
+ if (!gsym)
+ {
+- gsym = gfc_get_gsymbol (common_root->n.common->binding_label);
++ gsym = gfc_get_gsymbol (common_root->n.common->binding_label, true);
+ gsym->type = GSYM_COMMON;
+ gsym->where = common_root->n.common->where;
+ gsym->defined = 1;
+@@ -1681,8 +1681,6 @@
+ || gfc_fl_struct (sym->attr.flavor))
+ return false;
+
+- gcc_assert (sym->attr.flavor == FL_PROCEDURE);
+-
+ /* If we've got an ENTRY, find real procedure. */
+ if (sym->attr.entry && sym->ns->entries)
+ proc_sym = sym->ns->entries->sym;
+@@ -2484,7 +2482,8 @@
+
+ type = sub ? GSYM_SUBROUTINE : GSYM_FUNCTION;
+
+- gsym = gfc_get_gsymbol (sym->binding_label ? sym->binding_label : sym->name);
++ gsym = gfc_get_gsymbol (sym->binding_label ? sym->binding_label : sym->name,
++ sym->binding_label != NULL);
+
+ if ((gsym->type != GSYM_UNKNOWN && gsym->type != type))
+ gfc_global_used (gsym, where);
+@@ -4881,6 +4880,7 @@
+ gfc_ref *char_ref;
+ gfc_expr *start, *end;
+ gfc_typespec *ts = NULL;
++ mpz_t diff;
+
+ for (char_ref = e->ref; char_ref; char_ref = char_ref->next)
+ {
+@@ -4932,12 +4932,26 @@
+ return;
+ }
+
+- /* Length = (end - start + 1). */
+- e->ts.u.cl->length = gfc_subtract (end, start);
+- e->ts.u.cl->length = gfc_add (e->ts.u.cl->length,
+- gfc_get_int_expr (gfc_charlen_int_kind,
+- NULL, 1));
++ /* Length = (end - start + 1).
++ Check first whether it has a constant length. */
++ if (gfc_dep_difference (end, start, &diff))
++ {
++ gfc_expr *len = gfc_get_constant_expr (BT_INTEGER, gfc_charlen_int_kind,
++ &e->where);
+
++ mpz_add_ui (len->value.integer, diff, 1);
++ mpz_clear (diff);
++ e->ts.u.cl->length = len;
++ /* The check for length < 0 is handled below */
++ }
++ else
++ {
++ e->ts.u.cl->length = gfc_subtract (end, start);
++ e->ts.u.cl->length = gfc_add (e->ts.u.cl->length,
++ gfc_get_int_expr (gfc_charlen_int_kind,
++ NULL, 1));
++ }
++
+ /* F2008, 6.4.1: Both the starting point and the ending point shall
+ be within the range 1, 2, ..., n unless the starting point exceeds
+ the ending point, in which case the substring has length zero. */
+@@ -7640,13 +7654,54 @@
+
+ if (codimension)
+ for (i = ar->dimen; i < ar->dimen + ar->codimen; i++)
+- if (ar->dimen_type[i] == DIMEN_THIS_IMAGE)
+- {
+- gfc_error ("Coarray specification required in ALLOCATE statement "
+- "at %L", &e->where);
+- goto failure;
+- }
++ {
++ switch (ar->dimen_type[i])
++ {
++ case DIMEN_THIS_IMAGE:
++ gfc_error ("Coarray specification required in ALLOCATE statement "
++ "at %L", &e->where);
++ goto failure;
+
++ case DIMEN_RANGE:
++ if (ar->start[i] == 0 || ar->end[i] == 0)
++ {
++ /* If ar->stride[i] is NULL, we issued a previous error. */
++ if (ar->stride[i] == NULL)
++ gfc_error ("Bad array specification in ALLOCATE statement "
++ "at %L", &e->where);
++ goto failure;
++ }
++ else if (gfc_dep_compare_expr (ar->start[i], ar->end[i]) == 1)
++ {
++ gfc_error ("Upper cobound is less than lower cobound at %L",
++ &ar->start[i]->where);
++ goto failure;
++ }
++ break;
++
++ case DIMEN_ELEMENT:
++ if (ar->start[i]->expr_type == EXPR_CONSTANT)
++ {
++ gcc_assert (ar->start[i]->ts.type == BT_INTEGER);
++ if (mpz_cmp_si (ar->start[i]->value.integer, 1) < 0)
++ {
++ gfc_error ("Upper cobound is less than lower cobound "
++ " of 1 at %L", &ar->start[i]->where);
++ goto failure;
++ }
++ }
++ break;
++
++ case DIMEN_STAR:
++ break;
++
++ default:
++ gfc_error ("Bad array specification in ALLOCATE statement at %L",
++ &e->where);
++ goto failure;
++
++ }
++ }
+ for (i = 0; i < ar->dimen; i++)
+ {
+ if (ar->type == AR_ELEMENT || ar->type == AR_FULL)
+@@ -11011,6 +11066,9 @@
+ if (!gfc_check_dependency ((*code)->expr1, (*code)->expr2, 1))
+ return false;
+
++ if (gfc_expr_attr ((*code)->expr1).pointer)
++ return false;
++
+ tmp_expr = get_temp_from_expr ((*code)->expr1, ns);
+ tmp_expr->where = (*code)->loc;
+
+@@ -11647,7 +11705,7 @@
+ && (gsym->type == GSYM_FUNCTION || gsym->type == GSYM_SUBROUTINE)))
+ {
+ if (!gsym)
+- gsym = gfc_get_gsymbol (sym->binding_label);
++ gsym = gfc_get_gsymbol (sym->binding_label, true);
+ gsym->where = sym->declared_at;
+ gsym->sym_name = sym->name;
+ gsym->binding_label = sym->binding_label;
+Index: gcc/fortran/iresolve.c
+===================================================================
+--- a/src/gcc/fortran/iresolve.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/fortran/iresolve.c (.../branches/gcc-8-branch)
+@@ -35,6 +35,7 @@
+ #include "intrinsic.h"
+ #include "constructor.h"
+ #include "arith.h"
++#include "trans.h"
+
+ /* Given printf-like arguments, return a stable version of the result string.
+
+@@ -2377,6 +2378,10 @@
+ a->name = "%VAL";
+
+ c->resolved_sym = gfc_get_intrinsic_sub_symbol (name);
++ /* We set the backend_decl here because runtime_error is a
++ variadic function and we would use the wrong calling
++ convention otherwise. */
++ c->resolved_sym->backend_decl = gfor_fndecl_runtime_error;
+ }
+
+ void
+Index: gcc/fortran/trans-decl.c
+===================================================================
+--- a/src/gcc/fortran/trans-decl.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/fortran/trans-decl.c (.../branches/gcc-8-branch)
+@@ -839,7 +839,7 @@
+ {
+ if (!gsym)
+ {
+- gsym = gfc_get_gsymbol (sym->module);
++ gsym = gfc_get_gsymbol (sym->module, false);
+ gsym->type = GSYM_MODULE;
+ gsym->ns = gfc_get_namespace (NULL, 0);
+ }
+@@ -1977,7 +1977,7 @@
+ /* Get a basic decl for an external function. */
+
+ tree
+-gfc_get_extern_function_decl (gfc_symbol * sym)
++gfc_get_extern_function_decl (gfc_symbol * sym, gfc_actual_arglist *actual_args)
+ {
+ tree type;
+ tree fndecl;
+@@ -2002,10 +2002,23 @@
+ return get_proc_pointer_decl (sym);
+
+ /* See if this is an external procedure from the same file. If so,
+- return the backend_decl. */
+- gsym = gfc_find_gsymbol (gfc_gsym_root, sym->binding_label
+- ? sym->binding_label : sym->name);
++ return the backend_decl. If we are looking at a BIND(C)
++ procedure and the symbol is not BIND(C), or vice versa, we
++ haven't found the right procedure. */
+
++ if (sym->binding_label)
++ {
++ gsym = gfc_find_gsymbol (gfc_gsym_root, sym->binding_label);
++ if (gsym && !gsym->bind_c)
++ gsym = NULL;
++ }
++ else
++ {
++ gsym = gfc_find_gsymbol (gfc_gsym_root, sym->name);
++ if (gsym && gsym->bind_c)
++ gsym = NULL;
++ }
++
+ if (gsym && !gsym->defined)
+ gsym = NULL;
+
+@@ -2150,7 +2163,7 @@
+ mangled_name = gfc_sym_mangled_function_id (sym);
+ }
+
+- type = gfc_get_function_type (sym);
++ type = gfc_get_function_type (sym, actual_args);
+ fndecl = build_decl (input_location,
+ FUNCTION_DECL, name, type);
+
+@@ -5384,6 +5397,33 @@
+ /* Handle "static" initializer. */
+ if (sym->value)
+ {
++ if (sym->value->expr_type == EXPR_ARRAY)
++ {
++ gfc_constructor *c, *cnext;
++
++ /* Test if the array has more than one element. */
++ c = gfc_constructor_first (sym->value->value.constructor);
++ gcc_assert (c); /* Empty constructor should not happen here. */
++ cnext = gfc_constructor_next (c);
++
++ if (cnext)
++ {
++ /* An EXPR_ARRAY with a rank > 1 here has to come from a
++ DATA statement. Set its rank here as not to confuse
++ the following steps. */
++ sym->value->rank = 1;
++ }
++ else
++ {
++ /* There is only a single value in the constructor, use
++ it directly for the assignment. */
++ gfc_expr *new_expr;
++ new_expr = gfc_copy_expr (c->expr);
++ gfc_free_expr (sym->value);
++ sym->value = new_expr;
++ }
++ }
++
+ sym->attr.pointer = 1;
+ tmp = gfc_trans_assignment (gfc_lval_expr_from_sym (sym), sym->value,
+ true, false);
+Index: gcc/fortran/target-memory.c
+===================================================================
+--- a/src/gcc/fortran/target-memory.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/fortran/target-memory.c (.../branches/gcc-8-branch)
+@@ -73,10 +73,10 @@
+
+
+ /* Return the size of a single element of the given expression.
+- Identical to gfc_target_expr_size for scalars. */
++ Equivalent to gfc_target_expr_size for scalars. */
+
+-size_t
+-gfc_element_size (gfc_expr *e)
++bool
++gfc_element_size (gfc_expr *e, size_t *siz)
+ {
+ tree type;
+
+@@ -83,16 +83,20 @@
+ switch (e->ts.type)
+ {
+ case BT_INTEGER:
+- return size_integer (e->ts.kind);
++ *siz = size_integer (e->ts.kind);
++ return true;
+ case BT_REAL:
+- return size_float (e->ts.kind);
++ *siz = size_float (e->ts.kind);
++ return true;
+ case BT_COMPLEX:
+- return size_complex (e->ts.kind);
++ *siz = size_complex (e->ts.kind);
++ return true;
+ case BT_LOGICAL:
+- return size_logical (e->ts.kind);
++ *siz = size_logical (e->ts.kind);
++ return true;
+ case BT_CHARACTER:
+ if (e->expr_type == EXPR_CONSTANT)
+- return size_character (e->value.character.length, e->ts.kind);
++ *siz = size_character (e->value.character.length, e->ts.kind);
+ else if (e->ts.u.cl != NULL && e->ts.u.cl->length != NULL
+ && e->ts.u.cl->length->expr_type == EXPR_CONSTANT
+ && e->ts.u.cl->length->ts.type == BT_INTEGER)
+@@ -100,13 +104,18 @@
+ HOST_WIDE_INT length;
+
+ gfc_extract_hwi (e->ts.u.cl->length, &length);
+- return size_character (length, e->ts.kind);
++ *siz = size_character (length, e->ts.kind);
+ }
+ else
+- return 0;
++ {
++ *siz = 0;
++ return false;
++ }
++ return true;
+
+ case BT_HOLLERITH:
+- return e->representation.length;
++ *siz = e->representation.length;
++ return true;
+ case BT_DERIVED:
+ case BT_CLASS:
+ case BT_VOID:
+@@ -120,36 +129,43 @@
+ type = gfc_typenode_for_spec (&ts);
+ size = int_size_in_bytes (type);
+ gcc_assert (size >= 0);
+- return size;
++ *siz = size;
+ }
++ return true;
+ default:
+ gfc_internal_error ("Invalid expression in gfc_element_size.");
+- return 0;
++ *siz = 0;
++ return false;
+ }
++ return true;
+ }
+
+
+ /* Return the size of an expression in its target representation. */
+
+-size_t
+-gfc_target_expr_size (gfc_expr *e)
++bool
++gfc_target_expr_size (gfc_expr *e, size_t *size)
+ {
+ mpz_t tmp;
+- size_t asz;
++ size_t asz, el_size;
+
+ gcc_assert (e != NULL);
+
++ *size = 0;
+ if (e->rank)
+ {
+ if (gfc_array_size (e, &tmp))
+ asz = mpz_get_ui (tmp);
+ else
+- asz = 0;
++ return false;
+ }
+ else
+ asz = 1;
+
+- return asz * gfc_element_size (e);
++ if (!gfc_element_size (e, &el_size))
++ return false;
++ *size = asz * el_size;
++ return true;
+ }
+
+
+@@ -675,7 +691,7 @@
+
+ /* Otherwise, use the target-memory machinery to write a bitwise image, appropriate
+ to the target, in a buffer and check off the initialized part of the buffer. */
+- len = gfc_target_expr_size (e);
++ gfc_target_expr_size (e, &len);
+ buffer = (unsigned char*)alloca (len);
+ len = gfc_target_encode_expr (e, buffer, len);
+
+@@ -722,8 +738,10 @@
+ for (c = gfc_constructor_first (e->value.constructor);
+ c; c = gfc_constructor_next (c))
+ {
+- size_t elt_size = gfc_target_expr_size (c->expr);
++ size_t elt_size;
+
++ gfc_target_expr_size (c->expr, &elt_size);
++
+ if (mpz_cmp_si (c->offset, 0) != 0)
+ len = elt_size * (size_t)mpz_get_si (c->offset);
+
+Index: gcc/fortran/match.c
+===================================================================
+--- a/src/gcc/fortran/match.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/fortran/match.c (.../branches/gcc-8-branch)
+@@ -2105,8 +2105,6 @@
+ ts->type = BT_CHARACTER;
+
+ m = gfc_match_char_spec (ts);
+- if (ts->u.cl && ts->u.cl->length)
+- gfc_resolve_expr (ts->u.cl->length);
+
+ if (m == MATCH_NO)
+ m = MATCH_YES;
+Index: gcc/fortran/trans-io.c
+===================================================================
+--- a/src/gcc/fortran/trans-io.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/fortran/trans-io.c (.../branches/gcc-8-branch)
+@@ -2408,8 +2408,6 @@
+
+ case_bt_struct:
+ case BT_CLASS:
+- if (ts->u.derived->components == NULL)
+- return;
+ if (gfc_bt_struct (ts->type) || ts->type == BT_CLASS)
+ {
+ gfc_symbol *derived;
+Index: gcc/fortran/target-memory.h
+===================================================================
+--- a/src/gcc/fortran/target-memory.h (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/fortran/target-memory.h (.../branches/gcc-8-branch)
+@@ -24,8 +24,8 @@
+ /* Convert a BOZ to REAL or COMPLEX. */
+ bool gfc_convert_boz (gfc_expr *, gfc_typespec *);
+
+-size_t gfc_element_size (gfc_expr *);
+-size_t gfc_target_expr_size (gfc_expr *);
++bool gfc_element_size (gfc_expr *, size_t *);
++bool gfc_target_expr_size (gfc_expr *, size_t *);
+
+ /* Write a constant expression in binary form to a target buffer. */
+ size_t gfc_encode_character (int, size_t, const gfc_char_t *, unsigned char *,
+Index: gcc/fortran/arith.c
+===================================================================
+--- a/src/gcc/fortran/arith.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/fortran/arith.c (.../branches/gcc-8-branch)
+@@ -2548,10 +2548,10 @@
+ static void
+ hollerith2representation (gfc_expr *result, gfc_expr *src)
+ {
+- int src_len, result_len;
++ size_t src_len, result_len;
+
+ src_len = src->representation.length - src->ts.u.pad;
+- result_len = gfc_target_expr_size (result);
++ gfc_target_expr_size (result, &result_len);
+
+ if (src_len > result_len)
+ {
+Index: gcc/fortran/parse.c
+===================================================================
+--- a/src/gcc/fortran/parse.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/fortran/parse.c (.../branches/gcc-8-branch)
+@@ -5830,7 +5830,7 @@
+ }
+ else
+ {
+- s = gfc_get_gsymbol (gfc_new_block->name);
++ s = gfc_get_gsymbol (gfc_new_block->name, false);
+ if (s->defined
+ || (s->type != GSYM_UNKNOWN && s->type != GSYM_BLOCK_DATA))
+ gfc_global_used (s, &gfc_new_block->declared_at);
+@@ -5912,7 +5912,7 @@
+ gfc_gsymbol *s;
+ bool error;
+
+- s = gfc_get_gsymbol (gfc_new_block->name);
++ s = gfc_get_gsymbol (gfc_new_block->name, false);
+ if (s->defined || (s->type != GSYM_UNKNOWN && s->type != GSYM_MODULE))
+ gfc_global_used (s, &gfc_new_block->declared_at);
+ else
+@@ -5976,7 +5976,7 @@
+ name is a global identifier. */
+ if (!gfc_new_block->binding_label || gfc_notification_std (GFC_STD_F2008))
+ {
+- s = gfc_get_gsymbol (gfc_new_block->name);
++ s = gfc_get_gsymbol (gfc_new_block->name, false);
+
+ if (s->defined
+ || (s->type != GSYM_UNKNOWN
+@@ -6001,7 +6001,7 @@
+ && (!gfc_notification_std (GFC_STD_F2008)
+ || strcmp (gfc_new_block->name, gfc_new_block->binding_label) != 0))
+ {
+- s = gfc_get_gsymbol (gfc_new_block->binding_label);
++ s = gfc_get_gsymbol (gfc_new_block->binding_label, true);
+
+ if (s->defined
+ || (s->type != GSYM_UNKNOWN
+@@ -6033,7 +6033,7 @@
+
+ if (gfc_new_block == NULL)
+ return;
+- s = gfc_get_gsymbol (gfc_new_block->name);
++ s = gfc_get_gsymbol (gfc_new_block->name, false);
+
+ if (s->defined || (s->type != GSYM_UNKNOWN && s->type != GSYM_PROGRAM))
+ gfc_global_used (s, &gfc_new_block->declared_at);
+Index: gcc/fortran/check.c
+===================================================================
+--- a/src/gcc/fortran/check.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/fortran/check.c (.../branches/gcc-8-branch)
+@@ -5413,17 +5413,42 @@
+ return false;
+
+ /* Calculate the size of the source. */
+- *source_size = gfc_target_expr_size (source);
+- if (*source_size == 0)
++ if (!gfc_target_expr_size (source, source_size))
+ return false;
+
+ /* Determine the size of the element. */
+- result_elt_size = gfc_element_size (mold);
+- if (result_elt_size == 0)
++ if (!gfc_element_size (mold, &result_elt_size))
+ return false;
+
+- if (mold->expr_type == EXPR_ARRAY || mold->rank || size)
++ /* If the storage size of SOURCE is greater than zero and MOLD is an array,
++ * a scalar with the type and type parameters of MOLD shall not have a
++ * storage size equal to zero.
++ * If MOLD is a scalar and SIZE is absent, the result is a scalar.
++ * If MOLD is an array and SIZE is absent, the result is an array and of
++ * rank one. Its size is as small as possible such that its physical
++ * representation is not shorter than that of SOURCE.
++ * If SIZE is present, the result is an array of rank one and size SIZE.
++ */
++ if (result_elt_size == 0 && *source_size > 0 && !size
++ && mold->expr_type == EXPR_ARRAY)
+ {
++ gfc_error ("%<MOLD%> argument of %<TRANSFER%> intrinsic at %L is an "
++ "array and shall not have storage size 0 when %<SOURCE%> "
++ "argument has size greater than 0", &mold->where);
++ return false;
++ }
++
++ if (result_elt_size == 0 && *source_size == 0 && !size)
++ {
++ *result_size = 0;
++ if (result_length_p)
++ *result_length_p = 0;
++ return true;
++ }
++
++ if ((result_elt_size > 0 && (mold->expr_type == EXPR_ARRAY || mold->rank))
++ || size)
++ {
+ int result_length;
+
+ if (size)
+Index: gcc/fortran/simplify.c
+===================================================================
+--- a/src/gcc/fortran/simplify.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/fortran/simplify.c (.../branches/gcc-8-branch)
+@@ -4469,7 +4469,7 @@
+ /* The expression in assoc->target points to a ref to the _data component
+ of the unlimited polymorphic entity. To get the _len component the last
+ _data ref needs to be stripped and a ref to the _len component added. */
+- return gfc_get_len_component (e->symtree->n.sym->assoc->target);
++ return gfc_get_len_component (e->symtree->n.sym->assoc->target, k);
+ else
+ return NULL;
+ }
+@@ -6921,6 +6921,7 @@
+ {
+ gfc_expr *result = NULL;
+ mpz_t array_size;
++ size_t res_size;
+
+ if (x->ts.type == BT_CLASS || x->ts.deferred)
+ return NULL;
+@@ -6936,7 +6937,8 @@
+
+ result = gfc_get_constant_expr (BT_INTEGER, gfc_index_integer_kind,
+ &x->where);
+- mpz_set_si (result->value.integer, gfc_target_expr_size (x));
++ gfc_target_expr_size (x, &res_size);
++ mpz_set_si (result->value.integer, res_size);
+
+ return result;
+ }
+@@ -6950,6 +6952,7 @@
+ {
+ gfc_expr *result = NULL;
+ int k;
++ size_t siz;
+
+ if (x->ts.type == BT_CLASS || x->ts.deferred)
+ return NULL;
+@@ -6965,7 +6968,8 @@
+
+ result = gfc_get_constant_expr (BT_INTEGER, k, &x->where);
+
+- mpz_set_si (result->value.integer, gfc_element_size (x));
++ gfc_element_size (x, &siz);
++ mpz_set_si (result->value.integer, siz);
+ mpz_mul_ui (result->value.integer, result->value.integer, BITS_PER_UNIT);
+
+ return range_check (result, "STORAGE_SIZE");
+Index: gcc/loop-unroll.c
+===================================================================
+--- a/src/gcc/loop-unroll.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/loop-unroll.c (.../branches/gcc-8-branch)
+@@ -399,7 +399,7 @@
+ {
+ /* However we cannot unroll completely at the RTL level a loop with
+ constant number of iterations; it should have been peeled instead. */
+- if ((unsigned) loop->unroll - 1 > desc->niter - 2)
++ if (desc->niter == 0 || (unsigned) loop->unroll > desc->niter - 1)
+ {
+ if (dump_file)
+ fprintf (dump_file, ";; Loop should have been peeled\n");
+Index: gcc/lra-constraints.c
+===================================================================
+--- a/src/gcc/lra-constraints.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/lra-constraints.c (.../branches/gcc-8-branch)
+@@ -6293,6 +6293,7 @@
+ add_to_hard_reg_set (&s, PSEUDO_REGNO_MODE (dst_regno),
+ reg_renumber[dst_regno]);
+ AND_COMPL_HARD_REG_SET (live_hard_regs, s);
++ AND_COMPL_HARD_REG_SET (potential_reload_hard_regs, s);
+ }
+ /* We should invalidate potential inheritance or
+ splitting for the current insn usages to the next
+Index: gcc/tree-cfgcleanup.c
+===================================================================
+--- a/src/gcc/tree-cfgcleanup.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/tree-cfgcleanup.c (.../branches/gcc-8-branch)
+@@ -43,6 +43,8 @@
+ #include "gimple-match.h"
+ #include "gimple-fold.h"
+ #include "tree-ssa-loop-niter.h"
++#include "tree-into-ssa.h"
++#include "tree-cfgcleanup.h"
+
+
+ /* The set of blocks in that at least one of the following changes happened:
+@@ -761,7 +763,7 @@
+ /* Iterate the cfg cleanups, while anything changes. */
+
+ static bool
+-cleanup_tree_cfg_1 (void)
++cleanup_tree_cfg_1 (unsigned ssa_update_flags)
+ {
+ bool retval = false;
+ basic_block bb;
+@@ -786,6 +788,8 @@
+
+ /* After doing the above SSA form should be valid (or an update SSA
+ should be required). */
++ if (ssa_update_flags)
++ update_ssa (ssa_update_flags);
+
+ /* Continue by iterating over all basic blocks looking for BB merging
+ opportunities. */
+@@ -828,7 +832,7 @@
+ Return true if the flowgraph was modified, false otherwise. */
+
+ static bool
+-cleanup_tree_cfg_noloop (void)
++cleanup_tree_cfg_noloop (unsigned ssa_update_flags)
+ {
+ bool changed;
+
+@@ -908,7 +912,7 @@
+ }
+ }
+
+- changed |= cleanup_tree_cfg_1 ();
++ changed |= cleanup_tree_cfg_1 (ssa_update_flags);
+
+ gcc_assert (dom_info_available_p (CDI_DOMINATORS));
+
+@@ -966,9 +970,9 @@
+ /* Cleanup cfg and repair loop structures. */
+
+ bool
+-cleanup_tree_cfg (void)
++cleanup_tree_cfg (unsigned ssa_update_flags)
+ {
+- bool changed = cleanup_tree_cfg_noloop ();
++ bool changed = cleanup_tree_cfg_noloop (ssa_update_flags);
+
+ if (current_loops != NULL
+ && loops_state_satisfies_p (LOOPS_NEED_FIXUP))
+Index: gcc/tree-cfgcleanup.h
+===================================================================
+--- a/src/gcc/tree-cfgcleanup.h (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/tree-cfgcleanup.h (.../branches/gcc-8-branch)
+@@ -22,7 +22,7 @@
+
+ /* In tree-cfgcleanup.c */
+ extern bitmap cfgcleanup_altered_bbs;
+-extern bool cleanup_tree_cfg (void);
++extern bool cleanup_tree_cfg (unsigned = 0);
+ extern bool fixup_noreturn_call (gimple *stmt);
+
+ #endif /* GCC_TREE_CFGCLEANUP_H */
+Index: gcc/tree-sra.c
+===================================================================
+--- a/src/gcc/tree-sra.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/tree-sra.c (.../branches/gcc-8-branch)
+@@ -2729,8 +2729,12 @@
+
+ rchild->grp_hint = 1;
+ new_acc->grp_hint |= new_acc->grp_read;
+- if (rchild->first_child)
+- ret |= propagate_subaccesses_across_link (new_acc, rchild);
++ if (rchild->first_child
++ && propagate_subaccesses_across_link (new_acc, rchild))
++ {
++ ret = 1;
++ add_access_to_work_queue (new_acc);
++ }
+ }
+ else
+ {
+Index: gcc/tree-ssa-structalias.c
+===================================================================
+--- a/src/gcc/tree-ssa-structalias.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/tree-ssa-structalias.c (.../branches/gcc-8-branch)
+@@ -7552,7 +7552,10 @@
+ }
+ if (used)
+ {
+- bitmap_set_bit (rvars, restrict_var->id);
++ /* Add all subvars to the set of restrict pointed-to set. */
++ for (unsigned sv = restrict_var->head; sv != 0;
++ sv = get_varinfo (sv)->next)
++ bitmap_set_bit (rvars, sv);
+ varinfo_t escaped = get_varinfo (find (escaped_id));
+ if (bitmap_bit_p (escaped->solution, restrict_var->id))
+ escaped_p = true;
+Index: gcc/passes.c
+===================================================================
+--- a/src/gcc/passes.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/passes.c (.../branches/gcc-8-branch)
+@@ -1944,7 +1944,7 @@
+ /* Always cleanup the CFG before trying to update SSA. */
+ if (flags & TODO_cleanup_cfg)
+ {
+- cleanup_tree_cfg ();
++ cleanup_tree_cfg (flags & TODO_update_ssa_any);
+
+ /* When cleanup_tree_cfg merges consecutive blocks, it may
+ perform some simplistic propagation when removing single
+Index: gcc/config/s390/s390-c.c
+===================================================================
+--- a/src/gcc/config/s390/s390-c.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/config/s390/s390-c.c (.../branches/gcc-8-branch)
+@@ -477,16 +477,30 @@
+ case S390_OVERLOADED_BUILTIN_s390_vec_xl:
+ case S390_OVERLOADED_BUILTIN_s390_vec_xld2:
+ case S390_OVERLOADED_BUILTIN_s390_vec_xlw4:
+- return build2 (MEM_REF, return_type,
+- fold_build_pointer_plus ((*arglist)[1], (*arglist)[0]),
+- build_int_cst (TREE_TYPE ((*arglist)[1]), 0));
++ {
++ /* Build a vector type with the alignment of the source
++ location in order to enable correct alignment hints to be
++ generated for vl. */
++ tree mem_type = build_aligned_type (return_type,
++ TYPE_ALIGN (TREE_TYPE (TREE_TYPE ((*arglist)[1]))));
++ return build2 (MEM_REF, mem_type,
++ fold_build_pointer_plus ((*arglist)[1], (*arglist)[0]),
++ build_int_cst (TREE_TYPE ((*arglist)[1]), 0));
++ }
+ case S390_OVERLOADED_BUILTIN_s390_vec_xst:
+ case S390_OVERLOADED_BUILTIN_s390_vec_xstd2:
+ case S390_OVERLOADED_BUILTIN_s390_vec_xstw4:
+- return build2 (MODIFY_EXPR, TREE_TYPE((*arglist)[0]),
+- build1 (INDIRECT_REF, TREE_TYPE((*arglist)[0]),
+- fold_build_pointer_plus ((*arglist)[2], (*arglist)[1])),
+- (*arglist)[0]);
++ {
++ /* Build a vector type with the alignment of the target
++ location in order to enable correct alignment hints to be
++ generated for vst. */
++ tree mem_type = build_aligned_type (TREE_TYPE((*arglist)[0]),
++ TYPE_ALIGN (TREE_TYPE (TREE_TYPE ((*arglist)[2]))));
++ return build2 (MODIFY_EXPR, mem_type,
++ build1 (INDIRECT_REF, mem_type,
++ fold_build_pointer_plus ((*arglist)[2], (*arglist)[1])),
++ (*arglist)[0]);
++ }
+ case S390_OVERLOADED_BUILTIN_s390_vec_load_pair:
+ return build_constructor_va (return_type, 2,
+ NULL_TREE, (*arglist)[0],
+Index: gcc/config/s390/s390-builtin-types.def
+===================================================================
+--- a/src/gcc/config/s390/s390-builtin-types.def (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/config/s390/s390-builtin-types.def (.../branches/gcc-8-branch)
+@@ -260,6 +260,7 @@
+ DEF_FN_TYPE_2 (BT_FN_V4SF_V4SF_UCHAR, BT_V4SF, BT_V4SF, BT_UCHAR)
+ DEF_FN_TYPE_2 (BT_FN_V4SF_V4SF_V4SF, BT_V4SF, BT_V4SF, BT_V4SF)
+ DEF_FN_TYPE_2 (BT_FN_V4SI_BV4SI_V4SI, BT_V4SI, BT_BV4SI, BT_V4SI)
++DEF_FN_TYPE_2 (BT_FN_V4SI_INT_VOIDCONSTPTR, BT_V4SI, BT_INT, BT_VOIDCONSTPTR)
+ DEF_FN_TYPE_2 (BT_FN_V4SI_INT_VOIDPTR, BT_V4SI, BT_INT, BT_VOIDPTR)
+ DEF_FN_TYPE_2 (BT_FN_V4SI_UV4SI_UV4SI, BT_V4SI, BT_UV4SI, BT_UV4SI)
+ DEF_FN_TYPE_2 (BT_FN_V4SI_V2DI_V2DI, BT_V4SI, BT_V2DI, BT_V2DI)
+@@ -492,6 +493,7 @@
+ DEF_OV_TYPE (BT_OV_UV16QI_BV16QI_BV16QI, BT_UV16QI, BT_BV16QI, BT_BV16QI)
+ DEF_OV_TYPE (BT_OV_UV16QI_BV16QI_BV16QI_INTPTR, BT_UV16QI, BT_BV16QI, BT_BV16QI, BT_INTPTR)
+ DEF_OV_TYPE (BT_OV_UV16QI_BV16QI_UV16QI, BT_UV16QI, BT_BV16QI, BT_UV16QI)
++DEF_OV_TYPE (BT_OV_UV16QI_LONG_UCHARCONSTPTR, BT_UV16QI, BT_LONG, BT_UCHARCONSTPTR)
+ DEF_OV_TYPE (BT_OV_UV16QI_LONG_UCHARPTR, BT_UV16QI, BT_LONG, BT_UCHARPTR)
+ DEF_OV_TYPE (BT_OV_UV16QI_UCHAR, BT_UV16QI, BT_UCHAR)
+ DEF_OV_TYPE (BT_OV_UV16QI_UCHARCONSTPTR, BT_UV16QI, BT_UCHARCONSTPTR)
+@@ -523,6 +525,7 @@
+ DEF_OV_TYPE (BT_OV_UV16QI_V16QI, BT_UV16QI, BT_V16QI)
+ DEF_OV_TYPE (BT_OV_UV16QI_V8HI_V8HI, BT_UV16QI, BT_V8HI, BT_V8HI)
+ DEF_OV_TYPE (BT_OV_UV2DI_BV2DI_UV2DI, BT_UV2DI, BT_BV2DI, BT_UV2DI)
++DEF_OV_TYPE (BT_OV_UV2DI_LONG_ULONGLONGCONSTPTR, BT_UV2DI, BT_LONG, BT_ULONGLONGCONSTPTR)
+ DEF_OV_TYPE (BT_OV_UV2DI_LONG_ULONGLONGPTR, BT_UV2DI, BT_LONG, BT_ULONGLONGPTR)
+ DEF_OV_TYPE (BT_OV_UV2DI_ULONGLONG, BT_UV2DI, BT_ULONGLONG)
+ DEF_OV_TYPE (BT_OV_UV2DI_ULONGLONGCONSTPTR, BT_UV2DI, BT_ULONGLONGCONSTPTR)
+@@ -556,6 +559,8 @@
+ DEF_OV_TYPE (BT_OV_UV4SI_BV4SI_BV4SI, BT_UV4SI, BT_BV4SI, BT_BV4SI)
+ DEF_OV_TYPE (BT_OV_UV4SI_BV4SI_BV4SI_INTPTR, BT_UV4SI, BT_BV4SI, BT_BV4SI, BT_INTPTR)
+ DEF_OV_TYPE (BT_OV_UV4SI_BV4SI_UV4SI, BT_UV4SI, BT_BV4SI, BT_UV4SI)
++DEF_OV_TYPE (BT_OV_UV4SI_LONG_FLTPTR, BT_UV4SI, BT_LONG, BT_FLTPTR)
++DEF_OV_TYPE (BT_OV_UV4SI_LONG_UINTCONSTPTR, BT_UV4SI, BT_LONG, BT_UINTCONSTPTR)
+ DEF_OV_TYPE (BT_OV_UV4SI_LONG_UINTPTR, BT_UV4SI, BT_LONG, BT_UINTPTR)
+ DEF_OV_TYPE (BT_OV_UV4SI_UINT, BT_UV4SI, BT_UINT)
+ DEF_OV_TYPE (BT_OV_UV4SI_UINTCONSTPTR, BT_UV4SI, BT_UINTCONSTPTR)
+@@ -593,6 +598,7 @@
+ DEF_OV_TYPE (BT_OV_UV8HI_BV8HI_BV8HI, BT_UV8HI, BT_BV8HI, BT_BV8HI)
+ DEF_OV_TYPE (BT_OV_UV8HI_BV8HI_BV8HI_INTPTR, BT_UV8HI, BT_BV8HI, BT_BV8HI, BT_INTPTR)
+ DEF_OV_TYPE (BT_OV_UV8HI_BV8HI_UV8HI, BT_UV8HI, BT_BV8HI, BT_UV8HI)
++DEF_OV_TYPE (BT_OV_UV8HI_LONG_USHORTCONSTPTR, BT_UV8HI, BT_LONG, BT_USHORTCONSTPTR)
+ DEF_OV_TYPE (BT_OV_UV8HI_LONG_USHORTPTR, BT_UV8HI, BT_LONG, BT_USHORTPTR)
+ DEF_OV_TYPE (BT_OV_UV8HI_USHORT, BT_UV8HI, BT_USHORT)
+ DEF_OV_TYPE (BT_OV_UV8HI_USHORTCONSTPTR, BT_UV8HI, BT_USHORTCONSTPTR)
+@@ -626,6 +632,7 @@
+ DEF_OV_TYPE (BT_OV_UV8HI_V4SI_V4SI, BT_UV8HI, BT_V4SI, BT_V4SI)
+ DEF_OV_TYPE (BT_OV_UV8HI_V8HI, BT_UV8HI, BT_V8HI)
+ DEF_OV_TYPE (BT_OV_V16QI_BV16QI_V16QI, BT_V16QI, BT_BV16QI, BT_V16QI)
++DEF_OV_TYPE (BT_OV_V16QI_LONG_SCHARCONSTPTR, BT_V16QI, BT_LONG, BT_SCHARCONSTPTR)
+ DEF_OV_TYPE (BT_OV_V16QI_LONG_SCHARPTR, BT_V16QI, BT_LONG, BT_SCHARPTR)
+ DEF_OV_TYPE (BT_OV_V16QI_SCHAR, BT_V16QI, BT_SCHAR)
+ DEF_OV_TYPE (BT_OV_V16QI_SCHARCONSTPTR, BT_V16QI, BT_SCHARCONSTPTR)
+@@ -660,6 +667,7 @@
+ DEF_OV_TYPE (BT_OV_V2DF_DBLCONSTPTR_USHORT, BT_V2DF, BT_DBLCONSTPTR, BT_USHORT)
+ DEF_OV_TYPE (BT_OV_V2DF_DBL_INT, BT_V2DF, BT_DBL, BT_INT)
+ DEF_OV_TYPE (BT_OV_V2DF_DBL_V2DF_INT, BT_V2DF, BT_DBL, BT_V2DF, BT_INT)
++DEF_OV_TYPE (BT_OV_V2DF_LONG_DBLCONSTPTR, BT_V2DF, BT_LONG, BT_DBLCONSTPTR)
+ DEF_OV_TYPE (BT_OV_V2DF_LONG_DBLPTR, BT_V2DF, BT_LONG, BT_DBLPTR)
+ DEF_OV_TYPE (BT_OV_V2DF_UV2DI, BT_V2DF, BT_UV2DI)
+ DEF_OV_TYPE (BT_OV_V2DF_UV2DI_INT, BT_V2DF, BT_UV2DI, BT_INT)
+@@ -687,6 +695,7 @@
+ DEF_OV_TYPE (BT_OV_V2DI_LONGLONG_INT, BT_V2DI, BT_LONGLONG, BT_INT)
+ DEF_OV_TYPE (BT_OV_V2DI_LONGLONG_LONGLONG, BT_V2DI, BT_LONGLONG, BT_LONGLONG)
+ DEF_OV_TYPE (BT_OV_V2DI_LONGLONG_V2DI_INT, BT_V2DI, BT_LONGLONG, BT_V2DI, BT_INT)
++DEF_OV_TYPE (BT_OV_V2DI_LONG_LONGLONGCONSTPTR, BT_V2DI, BT_LONG, BT_LONGLONGCONSTPTR)
+ DEF_OV_TYPE (BT_OV_V2DI_LONG_LONGLONGPTR, BT_V2DI, BT_LONG, BT_LONGLONGPTR)
+ DEF_OV_TYPE (BT_OV_V2DI_V16QI, BT_V2DI, BT_V16QI)
+ DEF_OV_TYPE (BT_OV_V2DI_V2DI, BT_V2DI, BT_V2DI)
+@@ -716,7 +725,7 @@
+ DEF_OV_TYPE (BT_OV_V4SF_FLTCONSTPTR_USHORT, BT_V4SF, BT_FLTCONSTPTR, BT_USHORT)
+ DEF_OV_TYPE (BT_OV_V4SF_FLT_INT, BT_V4SF, BT_FLT, BT_INT)
+ DEF_OV_TYPE (BT_OV_V4SF_FLT_V4SF_INT, BT_V4SF, BT_FLT, BT_V4SF, BT_INT)
+-DEF_OV_TYPE (BT_OV_V4SF_LONG_FLTPTR, BT_V4SF, BT_LONG, BT_FLTPTR)
++DEF_OV_TYPE (BT_OV_V4SF_LONG_FLTCONSTPTR, BT_V4SF, BT_LONG, BT_FLTCONSTPTR)
+ DEF_OV_TYPE (BT_OV_V4SF_V4SF, BT_V4SF, BT_V4SF)
+ DEF_OV_TYPE (BT_OV_V4SF_V4SF_BV4SI, BT_V4SF, BT_V4SF, BT_BV4SI)
+ DEF_OV_TYPE (BT_OV_V4SF_V4SF_UCHAR, BT_V4SF, BT_V4SF, BT_UCHAR)
+@@ -737,6 +746,7 @@
+ DEF_OV_TYPE (BT_OV_V4SI_INTCONSTPTR_USHORT, BT_V4SI, BT_INTCONSTPTR, BT_USHORT)
+ DEF_OV_TYPE (BT_OV_V4SI_INT_INT, BT_V4SI, BT_INT, BT_INT)
+ DEF_OV_TYPE (BT_OV_V4SI_INT_V4SI_INT, BT_V4SI, BT_INT, BT_V4SI, BT_INT)
++DEF_OV_TYPE (BT_OV_V4SI_LONG_INTCONSTPTR, BT_V4SI, BT_LONG, BT_INTCONSTPTR)
+ DEF_OV_TYPE (BT_OV_V4SI_LONG_INTPTR, BT_V4SI, BT_LONG, BT_INTPTR)
+ DEF_OV_TYPE (BT_OV_V4SI_UV4SI_V4SI_V4SI, BT_V4SI, BT_UV4SI, BT_V4SI, BT_V4SI)
+ DEF_OV_TYPE (BT_OV_V4SI_V2DI_V2DI, BT_V4SI, BT_V2DI, BT_V2DI)
+@@ -764,6 +774,7 @@
+ DEF_OV_TYPE (BT_OV_V4SI_V8HI_V8HI, BT_V4SI, BT_V8HI, BT_V8HI)
+ DEF_OV_TYPE (BT_OV_V4SI_V8HI_V8HI_V4SI, BT_V4SI, BT_V8HI, BT_V8HI, BT_V4SI)
+ DEF_OV_TYPE (BT_OV_V8HI_BV8HI_V8HI, BT_V8HI, BT_BV8HI, BT_V8HI)
++DEF_OV_TYPE (BT_OV_V8HI_LONG_SHORTCONSTPTR, BT_V8HI, BT_LONG, BT_SHORTCONSTPTR)
+ DEF_OV_TYPE (BT_OV_V8HI_LONG_SHORTPTR, BT_V8HI, BT_LONG, BT_SHORTPTR)
+ DEF_OV_TYPE (BT_OV_V8HI_SHORT, BT_V8HI, BT_SHORT)
+ DEF_OV_TYPE (BT_OV_V8HI_SHORTCONSTPTR, BT_V8HI, BT_SHORTCONSTPTR)
+@@ -802,6 +813,7 @@
+ DEF_OV_TYPE (BT_OV_VOID_UV2DI_LONG_ULONGLONGPTR, BT_VOID, BT_UV2DI, BT_LONG, BT_ULONGLONGPTR)
+ DEF_OV_TYPE (BT_OV_VOID_UV2DI_ULONGLONGPTR_UINT, BT_VOID, BT_UV2DI, BT_ULONGLONGPTR, BT_UINT)
+ DEF_OV_TYPE (BT_OV_VOID_UV2DI_UV2DI_ULONGLONGPTR_ULONGLONG, BT_VOID, BT_UV2DI, BT_UV2DI, BT_ULONGLONGPTR, BT_ULONGLONG)
++DEF_OV_TYPE (BT_OV_VOID_UV4SI_LONG_FLTPTR, BT_VOID, BT_UV4SI, BT_LONG, BT_FLTPTR)
+ DEF_OV_TYPE (BT_OV_VOID_UV4SI_LONG_UINTPTR, BT_VOID, BT_UV4SI, BT_LONG, BT_UINTPTR)
+ DEF_OV_TYPE (BT_OV_VOID_UV4SI_UINTPTR_UINT, BT_VOID, BT_UV4SI, BT_UINTPTR, BT_UINT)
+ DEF_OV_TYPE (BT_OV_VOID_UV4SI_UV4SI_UINTPTR_ULONGLONG, BT_VOID, BT_UV4SI, BT_UV4SI, BT_UINTPTR, BT_ULONGLONG)
+Index: gcc/config/s390/s390.c
+===================================================================
+--- a/src/gcc/config/s390/s390.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/config/s390/s390.c (.../branches/gcc-8-branch)
+@@ -937,6 +937,8 @@
+ continue;
+ }
+
++ /* A memory operand is rejected by the memory_operand predicate.
++ Try making the address legal by copying it into a register. */
+ if (MEM_P (op[arity])
+ && insn_op->predicate == memory_operand
+ && (GET_MODE (XEXP (op[arity], 0)) == Pmode
+@@ -960,10 +962,14 @@
+ {
+ op[arity] = tmp_rtx;
+ }
+- else if (GET_MODE (op[arity]) == insn_op->mode
+- || GET_MODE (op[arity]) == VOIDmode
+- || (insn_op->predicate == address_operand
+- && GET_MODE (op[arity]) == Pmode))
++
++ /* The predicate rejects the operand although the mode is fine.
++ Copy the operand to register. */
++ if (!insn_op->predicate (op[arity], insn_op->mode)
++ && (GET_MODE (op[arity]) == insn_op->mode
++ || GET_MODE (op[arity]) == VOIDmode
++ || (insn_op->predicate == address_operand
++ && GET_MODE (op[arity]) == Pmode)))
+ {
+ /* An address_operand usually has VOIDmode in the expander
+ so we cannot use this. */
+@@ -10106,6 +10112,21 @@
+ s390_register_info_stdarg_gpr ();
+ }
+
++/* Return true if REGNO is a global register, but not one
++ of the special ones that need to be saved/restored in anyway. */
++
++static inline bool
++global_not_special_regno_p (int regno)
++{
++ return (global_regs[regno]
++ /* These registers are special and need to be
++ restored in any case. */
++ && !(regno == STACK_POINTER_REGNUM
++ || regno == RETURN_REGNUM
++ || regno == BASE_REGNUM
++ || (flag_pic && regno == (int)PIC_OFFSET_TABLE_REGNUM)));
++}
++
+ /* This function is called by s390_optimize_prologue in order to get
+ rid of unnecessary GPR save/restore instructions. The register info
+ for the GPRs is re-computed and the ranges are re-calculated. */
+@@ -10121,8 +10142,10 @@
+
+ s390_regs_ever_clobbered (clobbered_regs);
+
++ /* Global registers do not need to be saved and restored unless it
++ is one of our special regs. (r12, r13, r14, or r15). */
+ for (i = 0; i < 32; i++)
+- clobbered_regs[i] = clobbered_regs[i] && !global_regs[i];
++ clobbered_regs[i] = clobbered_regs[i] && !global_not_special_regno_p (i);
+
+ /* There is still special treatment needed for cases invisible to
+ s390_regs_ever_clobbered. */
+@@ -10876,21 +10899,6 @@
+ return emit_move_insn (gen_rtx_REG (DFmode, regnum), addr);
+ }
+
+-/* Return true if REGNO is a global register, but not one
+- of the special ones that need to be saved/restored in anyway. */
+-
+-static inline bool
+-global_not_special_regno_p (int regno)
+-{
+- return (global_regs[regno]
+- /* These registers are special and need to be
+- restored in any case. */
+- && !(regno == STACK_POINTER_REGNUM
+- || regno == RETURN_REGNUM
+- || regno == BASE_REGNUM
+- || (flag_pic && regno == (int)PIC_OFFSET_TABLE_REGNUM)));
+-}
+-
+ /* Generate insn to save registers FIRST to LAST into
+ the register save area located at offset OFFSET
+ relative to register BASE. */
+@@ -16039,6 +16047,7 @@
+
+ return ret;
+ }
++#endif
+
+ /* Set VAL to correct enum value according to the indirect-branch or
+ function-return attribute in ATTR. */
+@@ -16112,6 +16121,7 @@
+ s390_indirect_branch_attrvalue (attr, &cfun->machine->function_return_mem);
+ }
+
++#if S390_USE_TARGET_ATTRIBUTE
+ /* Restore targets globals from NEW_TREE and invalidate s390_previous_fndecl
+ cache. */
+
+@@ -16127,6 +16137,7 @@
+ TREE_TARGET_GLOBALS (new_tree) = save_target_globals_default_opts ();
+ s390_previous_fndecl = NULL_TREE;
+ }
++#endif
+
+ /* Establish appropriate back-end context for processing the function
+ FNDECL. The argument might be NULL to indicate processing at top
+@@ -16134,6 +16145,7 @@
+ static void
+ s390_set_current_function (tree fndecl)
+ {
++#if S390_USE_TARGET_ATTRIBUTE
+ /* Only change the context if the function changes. This hook is called
+ several times in the course of compiling a function, and we don't want to
+ slow things down too much or call target_reinit when it isn't safe. */
+@@ -16165,10 +16177,9 @@
+ if (old_tree != new_tree)
+ s390_activate_target_options (new_tree);
+ s390_previous_fndecl = fndecl;
+-
++#endif
+ s390_indirect_branch_settings (fndecl);
+ }
+-#endif
+
+ /* Implement TARGET_USE_BY_PIECES_INFRASTRUCTURE_P. */
+
+@@ -16907,10 +16918,10 @@
+ #undef TARGET_ASM_FILE_END
+ #define TARGET_ASM_FILE_END s390_asm_file_end
+
+-#if S390_USE_TARGET_ATTRIBUTE
+ #undef TARGET_SET_CURRENT_FUNCTION
+ #define TARGET_SET_CURRENT_FUNCTION s390_set_current_function
+
++#if S390_USE_TARGET_ATTRIBUTE
+ #undef TARGET_OPTION_VALID_ATTRIBUTE_P
+ #define TARGET_OPTION_VALID_ATTRIBUTE_P s390_valid_target_attribute_p
+
+Index: gcc/config/s390/s390-builtins.def
+===================================================================
+--- a/src/gcc/config/s390/s390-builtins.def (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/config/s390/s390-builtins.def (.../branches/gcc-8-branch)
+@@ -328,36 +328,38 @@
+ B_DEF (s390_vgmf, vec_genmaskv4si, 0, B_VX, O1_U8 | O2_U8, BT_FN_UV4SI_UCHAR_UCHAR)
+ B_DEF (s390_vgmg, vec_genmaskv2di, 0, B_VX, O1_U8 | O2_U8, BT_FN_UV2DI_UCHAR_UCHAR)
+
+-OB_DEF (s390_vec_xl, s390_vec_xl_s8, s390_vec_xl_dbl, B_VX, BT_FN_V4SI_INT_VOIDPTR)
+-OB_DEF_VAR (s390_vec_xl_s8, MAX, 0, O1_LIT, BT_OV_V16QI_LONG_SCHARPTR) /* vl */
+-OB_DEF_VAR (s390_vec_xl_u8, MAX, 0, O1_LIT, BT_OV_UV16QI_LONG_UCHARPTR) /* vl */
+-OB_DEF_VAR (s390_vec_xl_s16, MAX, 0, O1_LIT, BT_OV_V8HI_LONG_SHORTPTR) /* vl */
+-OB_DEF_VAR (s390_vec_xl_u16, MAX, 0, O1_LIT, BT_OV_UV8HI_LONG_USHORTPTR) /* vl */
+-OB_DEF_VAR (s390_vec_xl_s32, MAX, 0, O1_LIT, BT_OV_V4SI_LONG_INTPTR) /* vl */
+-OB_DEF_VAR (s390_vec_xl_u32, MAX, 0, O1_LIT, BT_OV_UV4SI_LONG_UINTPTR) /* vl */
+-OB_DEF_VAR (s390_vec_xl_s64, MAX, 0, O1_LIT, BT_OV_V2DI_LONG_LONGLONGPTR) /* vl */
+-OB_DEF_VAR (s390_vec_xl_u64, MAX, 0, O1_LIT, BT_OV_UV2DI_LONG_ULONGLONGPTR) /* vl */
+-OB_DEF_VAR (s390_vec_xl_flt, MAX, 0, O1_LIT, BT_OV_V4SF_LONG_FLTPTR) /* vl */
+-OB_DEF_VAR (s390_vec_xl_dbl, MAX, 0, O1_LIT, BT_OV_V2DF_LONG_DBLPTR) /* vl */
++OB_DEF (s390_vec_xl, s390_vec_xl_s8, s390_vec_xl_dbl, B_VX, BT_FN_V4SI_INT_VOIDCONSTPTR)
++OB_DEF_VAR (s390_vec_xl_s8, MAX, 0, O1_LIT, BT_OV_V16QI_LONG_SCHARCONSTPTR) /* vl */
++OB_DEF_VAR (s390_vec_xl_u8, MAX, 0, O1_LIT, BT_OV_UV16QI_LONG_UCHARCONSTPTR) /* vl */
++OB_DEF_VAR (s390_vec_xl_s16, MAX, 0, O1_LIT, BT_OV_V8HI_LONG_SHORTCONSTPTR) /* vl */
++OB_DEF_VAR (s390_vec_xl_u16, MAX, 0, O1_LIT, BT_OV_UV8HI_LONG_USHORTCONSTPTR) /* vl */
++OB_DEF_VAR (s390_vec_xl_s32, MAX, 0, O1_LIT, BT_OV_V4SI_LONG_INTCONSTPTR) /* vl */
++OB_DEF_VAR (s390_vec_xl_u32, MAX, 0, O1_LIT, BT_OV_UV4SI_LONG_UINTCONSTPTR) /* vl */
++OB_DEF_VAR (s390_vec_xl_s64, MAX, 0, O1_LIT, BT_OV_V2DI_LONG_LONGLONGCONSTPTR) /* vl */
++OB_DEF_VAR (s390_vec_xl_u64, MAX, 0, O1_LIT, BT_OV_UV2DI_LONG_ULONGLONGCONSTPTR) /* vl */
++OB_DEF_VAR (s390_vec_xl_flt, MAX, 0, O1_LIT, BT_OV_V4SF_LONG_FLTCONSTPTR) /* vl */
++OB_DEF_VAR (s390_vec_xl_dbl, MAX, 0, O1_LIT, BT_OV_V2DF_LONG_DBLCONSTPTR) /* vl */
+
+-OB_DEF (s390_vec_xld2, s390_vec_xld2_s8, s390_vec_xld2_dbl, B_DEP | B_VX, BT_FN_V4SI_INT_VOIDPTR)
+-OB_DEF_VAR (s390_vec_xld2_s8, MAX, 0, O1_LIT, BT_OV_V16QI_LONG_SCHARPTR) /* vl */
+-OB_DEF_VAR (s390_vec_xld2_u8, MAX, 0, O1_LIT, BT_OV_UV16QI_LONG_UCHARPTR) /* vl */
+-OB_DEF_VAR (s390_vec_xld2_s16, MAX, 0, O1_LIT, BT_OV_V8HI_LONG_SHORTPTR) /* vl */
+-OB_DEF_VAR (s390_vec_xld2_u16, MAX, 0, O1_LIT, BT_OV_UV8HI_LONG_USHORTPTR) /* vl */
+-OB_DEF_VAR (s390_vec_xld2_s32, MAX, 0, O1_LIT, BT_OV_V4SI_LONG_INTPTR) /* vl */
+-OB_DEF_VAR (s390_vec_xld2_u32, MAX, 0, O1_LIT, BT_OV_UV4SI_LONG_UINTPTR) /* vl */
+-OB_DEF_VAR (s390_vec_xld2_s64, MAX, 0, O1_LIT, BT_OV_V2DI_LONG_LONGLONGPTR) /* vl */
+-OB_DEF_VAR (s390_vec_xld2_u64, MAX, 0, O1_LIT, BT_OV_UV2DI_LONG_ULONGLONGPTR) /* vl */
+-OB_DEF_VAR (s390_vec_xld2_dbl, MAX, 0, O1_LIT, BT_OV_V2DF_LONG_DBLPTR) /* vl */
++OB_DEF (s390_vec_xld2, s390_vec_xld2_s8, s390_vec_xld2_dbl, B_DEP | B_VX, BT_FN_V4SI_INT_VOIDCONSTPTR)
++OB_DEF_VAR (s390_vec_xld2_s8, MAX, 0, O1_LIT, BT_OV_V16QI_LONG_SCHARCONSTPTR) /* vl */
++OB_DEF_VAR (s390_vec_xld2_u8, MAX, 0, O1_LIT, BT_OV_UV16QI_LONG_UCHARCONSTPTR) /* vl */
++OB_DEF_VAR (s390_vec_xld2_s16, MAX, 0, O1_LIT, BT_OV_V8HI_LONG_SHORTCONSTPTR) /* vl */
++OB_DEF_VAR (s390_vec_xld2_u16, MAX, 0, O1_LIT, BT_OV_UV8HI_LONG_USHORTCONSTPTR) /* vl */
++OB_DEF_VAR (s390_vec_xld2_s32, MAX, 0, O1_LIT, BT_OV_V4SI_LONG_INTCONSTPTR) /* vl */
++OB_DEF_VAR (s390_vec_xld2_u32, MAX, 0, O1_LIT, BT_OV_UV4SI_LONG_UINTCONSTPTR) /* vl */
++OB_DEF_VAR (s390_vec_xld2_s64, MAX, 0, O1_LIT, BT_OV_V2DI_LONG_LONGLONGCONSTPTR) /* vl */
++OB_DEF_VAR (s390_vec_xld2_u64, MAX, 0, O1_LIT, BT_OV_UV2DI_LONG_ULONGLONGCONSTPTR) /* vl */
++OB_DEF_VAR (s390_vec_xld2_flt, MAX, B_VXE, O1_LIT, BT_OV_V4SF_LONG_FLTCONSTPTR) /* vl */
++OB_DEF_VAR (s390_vec_xld2_dbl, MAX, 0, O1_LIT, BT_OV_V2DF_LONG_DBLCONSTPTR) /* vl */
+
+-OB_DEF (s390_vec_xlw4, s390_vec_xlw4_s8, s390_vec_xlw4_u32, B_DEP | B_VX, BT_FN_V4SI_INT_VOIDPTR)
+-OB_DEF_VAR (s390_vec_xlw4_s8, MAX, 0, O1_LIT, BT_OV_V16QI_LONG_SCHARPTR) /* vl */
+-OB_DEF_VAR (s390_vec_xlw4_u8, MAX, 0, O1_LIT, BT_OV_UV16QI_LONG_UCHARPTR) /* vl */
+-OB_DEF_VAR (s390_vec_xlw4_s16, MAX, 0, O1_LIT, BT_OV_V8HI_LONG_SHORTPTR) /* vl */
+-OB_DEF_VAR (s390_vec_xlw4_u16, MAX, 0, O1_LIT, BT_OV_UV8HI_LONG_USHORTPTR) /* vl */
+-OB_DEF_VAR (s390_vec_xlw4_s32, MAX, 0, O1_LIT, BT_OV_V4SI_LONG_INTPTR) /* vl */
+-OB_DEF_VAR (s390_vec_xlw4_u32, MAX, 0, O1_LIT, BT_OV_UV4SI_LONG_UINTPTR) /* vl */
++OB_DEF (s390_vec_xlw4, s390_vec_xlw4_s8, s390_vec_xlw4_flt, B_DEP | B_VX, BT_FN_V4SI_INT_VOIDCONSTPTR)
++OB_DEF_VAR (s390_vec_xlw4_s8, MAX, 0, O1_LIT, BT_OV_V16QI_LONG_SCHARCONSTPTR) /* vl */
++OB_DEF_VAR (s390_vec_xlw4_u8, MAX, 0, O1_LIT, BT_OV_UV16QI_LONG_UCHARCONSTPTR) /* vl */
++OB_DEF_VAR (s390_vec_xlw4_s16, MAX, 0, O1_LIT, BT_OV_V8HI_LONG_SHORTCONSTPTR) /* vl */
++OB_DEF_VAR (s390_vec_xlw4_u16, MAX, 0, O1_LIT, BT_OV_UV8HI_LONG_USHORTCONSTPTR) /* vl */
++OB_DEF_VAR (s390_vec_xlw4_s32, MAX, 0, O1_LIT, BT_OV_V4SI_LONG_INTCONSTPTR) /* vl */
++OB_DEF_VAR (s390_vec_xlw4_u32, MAX, 0, O1_LIT, BT_OV_UV4SI_LONG_UINTCONSTPTR) /* vl */
++OB_DEF_VAR (s390_vec_xlw4_flt, MAX, B_VXE, O1_LIT, BT_OV_V4SF_LONG_FLTCONSTPTR) /* vl */
+
+ OB_DEF (s390_vec_splats, s390_vec_splats_s8, s390_vec_splats_dbl,B_VX, BT_FN_OV4SI_INT)
+ OB_DEF_VAR (s390_vec_splats_s8, s390_vlrepb, 0, 0, BT_OV_V16QI_SCHAR)
+@@ -746,7 +748,7 @@
+ OB_DEF_VAR (s390_vec_xstd2_u64, MAX, 0, O2_LIT, BT_OV_VOID_UV2DI_LONG_ULONGLONGPTR) /* vst */
+ OB_DEF_VAR (s390_vec_xstd2_dbl, MAX, 0, O2_LIT, BT_OV_VOID_V2DF_LONG_DBLPTR) /* vst */
+
+-OB_DEF (s390_vec_xstw4, s390_vec_xstw4_s8, s390_vec_xstw4_u32, B_DEP | B_VX, BT_FN_VOID_OV4SI_INT_VOIDPTR)
++OB_DEF (s390_vec_xstw4, s390_vec_xstw4_s8, s390_vec_xstw4_flt, B_DEP | B_VX, BT_FN_VOID_OV4SI_INT_VOIDPTR)
+ OB_DEF_VAR (s390_vec_xstw4_s8, MAX, 0, O2_LIT, BT_OV_VOID_V16QI_LONG_SCHARPTR) /* vst */
+ OB_DEF_VAR (s390_vec_xstw4_u8, MAX, 0, O2_LIT, BT_OV_VOID_UV16QI_LONG_UCHARPTR) /* vst */
+ OB_DEF_VAR (s390_vec_xstw4_s16, MAX, 0, O2_LIT, BT_OV_VOID_V8HI_LONG_SHORTPTR) /* vst */
+@@ -753,6 +755,7 @@
+ OB_DEF_VAR (s390_vec_xstw4_u16, MAX, 0, O2_LIT, BT_OV_VOID_UV8HI_LONG_USHORTPTR) /* vst */
+ OB_DEF_VAR (s390_vec_xstw4_s32, MAX, 0, O2_LIT, BT_OV_VOID_V4SI_LONG_INTPTR) /* vst */
+ OB_DEF_VAR (s390_vec_xstw4_u32, MAX, 0, O2_LIT, BT_OV_VOID_UV4SI_LONG_UINTPTR) /* vst */
++OB_DEF_VAR (s390_vec_xstw4_flt, MAX, B_VXE, O2_LIT, BT_OV_VOID_V4SF_LONG_FLTPTR) /* vst */
+
+ OB_DEF (s390_vec_store_len, s390_vec_store_len_s8,s390_vec_store_len_dbl,B_VX, BT_FN_VOID_OV4SI_VOIDPTR_UINT)
+ OB_DEF_VAR (s390_vec_store_len_s8, s390_vstl, 0, 0, BT_OV_VOID_V16QI_SCHARPTR_UINT)
+Index: gcc/config/i386/sse.md
+===================================================================
+--- a/src/gcc/config/i386/sse.md (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/config/i386/sse.md (.../branches/gcc-8-branch)
+@@ -1908,7 +1908,7 @@
+ [(set (match_operand:VF1_128_256 0 "register_operand")
+ (unspec:VF1_128_256
+ [(match_operand:VF1_128_256 1 "vector_operand")] UNSPEC_RSQRT))]
+- "TARGET_SSE_MATH"
++ "TARGET_SSE && TARGET_SSE_MATH"
+ {
+ ix86_emit_swsqrtsf (operands[0], operands[1], <MODE>mode, true);
+ DONE;
+@@ -16271,9 +16271,9 @@
+ case 3:
+ /* %X5 so that we don't emit any *WORD PTR for -masm=intel, as
+ gas changed what it requires incompatibly. */
+- return "vgatherpf0<ssemodesuffix>ps\t{%5%{%0%}|%X5%{%0%}}";
++ return "%M2vgatherpf0<ssemodesuffix>ps\t{%5%{%0%}|%X5%{%0%}}";
+ case 2:
+- return "vgatherpf1<ssemodesuffix>ps\t{%5%{%0%}|%X5%{%0%}}";
++ return "%M2vgatherpf1<ssemodesuffix>ps\t{%5%{%0%}|%X5%{%0%}}";
+ default:
+ gcc_unreachable ();
+ }
+@@ -16318,9 +16318,9 @@
+ case 3:
+ /* %X5 so that we don't emit any *WORD PTR for -masm=intel, as
+ gas changed what it requires incompatibly. */
+- return "vgatherpf0<ssemodesuffix>pd\t{%5%{%0%}|%X5%{%0%}}";
++ return "%M2vgatherpf0<ssemodesuffix>pd\t{%5%{%0%}|%X5%{%0%}}";
+ case 2:
+- return "vgatherpf1<ssemodesuffix>pd\t{%5%{%0%}|%X5%{%0%}}";
++ return "%M2vgatherpf1<ssemodesuffix>pd\t{%5%{%0%}|%X5%{%0%}}";
+ default:
+ gcc_unreachable ();
+ }
+@@ -16366,10 +16366,10 @@
+ case 7:
+ /* %X5 so that we don't emit any *WORD PTR for -masm=intel, as
+ gas changed what it requires incompatibly. */
+- return "vscatterpf0<ssemodesuffix>ps\t{%5%{%0%}|%X5%{%0%}}";
++ return "%M2vscatterpf0<ssemodesuffix>ps\t{%5%{%0%}|%X5%{%0%}}";
+ case 2:
+ case 6:
+- return "vscatterpf1<ssemodesuffix>ps\t{%5%{%0%}|%X5%{%0%}}";
++ return "%M2vscatterpf1<ssemodesuffix>ps\t{%5%{%0%}|%X5%{%0%}}";
+ default:
+ gcc_unreachable ();
+ }
+@@ -16415,10 +16415,10 @@
+ case 7:
+ /* %X5 so that we don't emit any *WORD PTR for -masm=intel, as
+ gas changed what it requires incompatibly. */
+- return "vscatterpf0<ssemodesuffix>pd\t{%5%{%0%}|%X5%{%0%}}";
++ return "%M2vscatterpf0<ssemodesuffix>pd\t{%5%{%0%}|%X5%{%0%}}";
+ case 2:
+ case 6:
+- return "vscatterpf1<ssemodesuffix>pd\t{%5%{%0%}|%X5%{%0%}}";
++ return "%M2vscatterpf1<ssemodesuffix>pd\t{%5%{%0%}|%X5%{%0%}}";
+ default:
+ gcc_unreachable ();
+ }
+@@ -19157,7 +19157,7 @@
+ UNSPEC_GATHER))
+ (clobber (match_scratch:VEC_GATHER_MODE 1 "=&x"))]
+ "TARGET_AVX2"
+- "v<sseintprefix>gatherd<ssemodesuffix>\t{%1, %7, %0|%0, %7, %1}"
++ "%M3v<sseintprefix>gatherd<ssemodesuffix>\t{%1, %7, %0|%0, %7, %1}"
+ [(set_attr "type" "ssemov")
+ (set_attr "prefix" "vex")
+ (set_attr "mode" "<sseinsnmode>")])
+@@ -19177,7 +19177,7 @@
+ UNSPEC_GATHER))
+ (clobber (match_scratch:VEC_GATHER_MODE 1 "=&x"))]
+ "TARGET_AVX2"
+- "v<sseintprefix>gatherd<ssemodesuffix>\t{%1, %6, %0|%0, %6, %1}"
++ "%M2v<sseintprefix>gatherd<ssemodesuffix>\t{%1, %6, %0|%0, %6, %1}"
+ [(set_attr "type" "ssemov")
+ (set_attr "prefix" "vex")
+ (set_attr "mode" "<sseinsnmode>")])
+@@ -19218,7 +19218,7 @@
+ UNSPEC_GATHER))
+ (clobber (match_scratch:VEC_GATHER_MODE 1 "=&x"))]
+ "TARGET_AVX2"
+- "v<sseintprefix>gatherq<ssemodesuffix>\t{%5, %7, %2|%2, %7, %5}"
++ "%M3v<sseintprefix>gatherq<ssemodesuffix>\t{%5, %7, %2|%2, %7, %5}"
+ [(set_attr "type" "ssemov")
+ (set_attr "prefix" "vex")
+ (set_attr "mode" "<sseinsnmode>")])
+@@ -19240,8 +19240,8 @@
+ "TARGET_AVX2"
+ {
+ if (<MODE>mode != <VEC_GATHER_SRCDI>mode)
+- return "v<sseintprefix>gatherq<ssemodesuffix>\t{%4, %6, %x0|%x0, %6, %4}";
+- return "v<sseintprefix>gatherq<ssemodesuffix>\t{%4, %6, %0|%0, %6, %4}";
++ return "%M2v<sseintprefix>gatherq<ssemodesuffix>\t{%4, %6, %x0|%x0, %6, %4}";
++ return "%M2v<sseintprefix>gatherq<ssemodesuffix>\t{%4, %6, %0|%0, %6, %4}";
+ }
+ [(set_attr "type" "ssemov")
+ (set_attr "prefix" "vex")
+@@ -19265,7 +19265,7 @@
+ (const_int 2) (const_int 3)])))
+ (clobber (match_scratch:VI4F_256 1 "=&x"))]
+ "TARGET_AVX2"
+- "v<sseintprefix>gatherq<ssemodesuffix>\t{%5, %7, %0|%0, %7, %5}"
++ "%M3v<sseintprefix>gatherq<ssemodesuffix>\t{%5, %7, %0|%0, %7, %5}"
+ [(set_attr "type" "ssemov")
+ (set_attr "prefix" "vex")
+ (set_attr "mode" "<sseinsnmode>")])
+@@ -19288,7 +19288,7 @@
+ (const_int 2) (const_int 3)])))
+ (clobber (match_scratch:VI4F_256 1 "=&x"))]
+ "TARGET_AVX2"
+- "v<sseintprefix>gatherq<ssemodesuffix>\t{%4, %6, %0|%0, %6, %4}"
++ "%M2v<sseintprefix>gatherq<ssemodesuffix>\t{%4, %6, %0|%0, %6, %4}"
+ [(set_attr "type" "ssemov")
+ (set_attr "prefix" "vex")
+ (set_attr "mode" "<sseinsnmode>")])
+@@ -19328,7 +19328,7 @@
+ "TARGET_AVX512F"
+ ;; %X6 so that we don't emit any *WORD PTR for -masm=intel, as
+ ;; gas changed what it requires incompatibly.
+- "v<sseintprefix>gatherd<ssemodesuffix>\t{%6, %0%{%2%}|%0%{%2%}, %X6}"
++ "%M4v<sseintprefix>gatherd<ssemodesuffix>\t{%6, %0%{%2%}|%0%{%2%}, %X6}"
+ [(set_attr "type" "ssemov")
+ (set_attr "prefix" "evex")
+ (set_attr "mode" "<sseinsnmode>")])
+@@ -19349,7 +19349,7 @@
+ "TARGET_AVX512F"
+ ;; %X5 so that we don't emit any *WORD PTR for -masm=intel, as
+ ;; gas changed what it requires incompatibly.
+- "v<sseintprefix>gatherd<ssemodesuffix>\t{%5, %0%{%1%}|%0%{%1%}, %X5}"
++ "%M3v<sseintprefix>gatherd<ssemodesuffix>\t{%5, %0%{%1%}|%0%{%1%}, %X5}"
+ [(set_attr "type" "ssemov")
+ (set_attr "prefix" "evex")
+ (set_attr "mode" "<sseinsnmode>")])
+@@ -19390,7 +19390,7 @@
+ "TARGET_AVX512F"
+ ;; %X6 so that we don't emit any *WORD PTR for -masm=intel, as
+ ;; gas changed what it requires incompatibly.
+- "v<sseintprefix>gatherq<ssemodesuffix>\t{%6, %1%{%2%}|%1%{%2%}, %X6}"
++ "%M4v<sseintprefix>gatherq<ssemodesuffix>\t{%6, %1%{%2%}|%1%{%2%}, %X6}"
+ [(set_attr "type" "ssemov")
+ (set_attr "prefix" "evex")
+ (set_attr "mode" "<sseinsnmode>")])
+@@ -19415,11 +19415,11 @@
+ if (<MODE>mode != <VEC_GATHER_SRCDI>mode)
+ {
+ if (<MODE_SIZE> != 64)
+- return "v<sseintprefix>gatherq<ssemodesuffix>\t{%5, %x0%{%1%}|%x0%{%1%}, %X5}";
++ return "%M3v<sseintprefix>gatherq<ssemodesuffix>\t{%5, %x0%{%1%}|%x0%{%1%}, %X5}";
+ else
+- return "v<sseintprefix>gatherq<ssemodesuffix>\t{%5, %t0%{%1%}|%t0%{%1%}, %X5}";
++ return "%M3v<sseintprefix>gatherq<ssemodesuffix>\t{%5, %t0%{%1%}|%t0%{%1%}, %X5}";
+ }
+- return "v<sseintprefix>gatherq<ssemodesuffix>\t{%5, %0%{%1%}|%0%{%1%}, %X5}";
++ return "%M3v<sseintprefix>gatherq<ssemodesuffix>\t{%5, %0%{%1%}|%0%{%1%}, %X5}";
+ }
+ [(set_attr "type" "ssemov")
+ (set_attr "prefix" "evex")
+@@ -19458,7 +19458,7 @@
+ "TARGET_AVX512F"
+ ;; %X5 so that we don't emit any *WORD PTR for -masm=intel, as
+ ;; gas changed what it requires incompatibly.
+- "v<sseintprefix>scatterd<ssemodesuffix>\t{%3, %5%{%1%}|%X5%{%1%}, %3}"
++ "%M0v<sseintprefix>scatterd<ssemodesuffix>\t{%3, %5%{%1%}|%X5%{%1%}, %3}"
+ [(set_attr "type" "ssemov")
+ (set_attr "prefix" "evex")
+ (set_attr "mode" "<sseinsnmode>")])
+@@ -19496,7 +19496,7 @@
+ "TARGET_AVX512F"
+ ;; %X5 so that we don't emit any *WORD PTR for -masm=intel, as
+ ;; gas changed what it requires incompatibly.
+- "v<sseintprefix>scatterq<ssemodesuffix>\t{%3, %5%{%1%}|%X5%{%1%}, %3}"
++ "%M0v<sseintprefix>scatterq<ssemodesuffix>\t{%3, %5%{%1%}|%X5%{%1%}, %3}"
+ [(set_attr "type" "ssemov")
+ (set_attr "prefix" "evex")
+ (set_attr "mode" "<sseinsnmode>")])
+Index: gcc/config/i386/i386.c
+===================================================================
+--- a/src/gcc/config/i386/i386.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/config/i386/i386.c (.../branches/gcc-8-branch)
+@@ -4958,6 +4958,12 @@
+ opts->x_param_values,
+ opts_set->x_param_values);
+
++ /* PR86952: jump table usage with retpolines is slow.
++ The PR provides some numbers about the slowness. */
++ if (ix86_indirect_branch != indirect_branch_keep
++ && !opts_set->x_flag_jump_tables)
++ opts->x_flag_jump_tables = 0;
++
+ return true;
+ }
+
+@@ -18121,6 +18127,7 @@
+ ; -- print a semicolon (after prefixes due to bug in older gas).
+ ~ -- print "i" if TARGET_AVX2, "f" otherwise.
+ ^ -- print addr32 prefix if TARGET_64BIT and Pmode != word_mode
++ M -- print addr32 prefix for TARGET_X32 with VSIB address.
+ ! -- print MPX prefix for jxx/call/ret instructions if required.
+ */
+
+@@ -18668,6 +18675,26 @@
+ putc (TARGET_AVX2 ? 'i' : 'f', file);
+ return;
+
++ case 'M':
++ if (TARGET_X32)
++ {
++ /* NB: 32-bit indices in VSIB address are sign-extended
++ to 64 bits. In x32, if 32-bit address 0xf7fa3010 is
++ sign-extended to 0xfffffffff7fa3010 which is invalid
++ address. Add addr32 prefix if there is no base
++ register nor symbol. */
++ bool ok;
++ struct ix86_address parts;
++ ok = ix86_decompose_address (x, &parts);
++ gcc_assert (ok && parts.index == NULL_RTX);
++ if (parts.base == NULL_RTX
++ && (parts.disp == NULL_RTX
++ || !symbolic_operand (parts.disp,
++ GET_MODE (parts.disp))))
++ fputs ("addr32 ", file);
++ }
++ return;
++
+ case '^':
+ if (TARGET_64BIT && Pmode != word_mode)
+ fputs ("addr32 ", file);
+@@ -39641,7 +39668,7 @@
+ static bool
+ use_rsqrt_p ()
+ {
+- return (TARGET_SSE_MATH
++ return (TARGET_SSE && TARGET_SSE_MATH
+ && flag_finite_math_only
+ && !flag_trapping_math
+ && flag_unsafe_math_optimizations);
+@@ -50999,7 +51026,7 @@
+ there is no adddf3 pattern (since x87 floating point only has
+ XFmode operations) so the default hook implementation gets this
+ wrong. */
+- return TARGET_80387 || TARGET_SSE_MATH;
++ return TARGET_80387 || (TARGET_SSE && TARGET_SSE_MATH);
+ }
+
+ /* Implement TARGET_ATOMIC_ASSIGN_EXPAND_FENV. */
+@@ -51007,7 +51034,7 @@
+ static void
+ ix86_atomic_assign_expand_fenv (tree *hold, tree *clear, tree *update)
+ {
+- if (!TARGET_80387 && !TARGET_SSE_MATH)
++ if (!TARGET_80387 && !(TARGET_SSE && TARGET_SSE_MATH))
+ return;
+ tree exceptions_var = create_tmp_var_raw (integer_type_node);
+ if (TARGET_80387)
+@@ -51042,7 +51069,7 @@
+ tree update_fldenv = build_call_expr (fldenv, 1, fenv_addr);
+ *update = build2 (COMPOUND_EXPR, void_type_node, *update, update_fldenv);
+ }
+- if (TARGET_SSE_MATH)
++ if (TARGET_SSE && TARGET_SSE_MATH)
+ {
+ tree mxcsr_orig_var = create_tmp_var_raw (unsigned_type_node);
+ tree mxcsr_mod_var = create_tmp_var_raw (unsigned_type_node);
+@@ -51399,7 +51426,7 @@
+ return FLT_EVAL_METHOD_PROMOTE_TO_FLOAT;
+ else if (!TARGET_MIX_SSE_I387)
+ {
+- if (!TARGET_SSE_MATH)
++ if (!(TARGET_SSE && TARGET_SSE_MATH))
+ return FLT_EVAL_METHOD_PROMOTE_TO_LONG_DOUBLE;
+ else if (TARGET_SSE2)
+ return FLT_EVAL_METHOD_PROMOTE_TO_FLOAT;
+Index: gcc/config/aarch64/driver-aarch64.c
+===================================================================
+--- a/src/gcc/config/aarch64/driver-aarch64.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/config/aarch64/driver-aarch64.c (.../branches/gcc-8-branch)
+@@ -36,7 +36,8 @@
+ const char *feat_string;
+ };
+
+-#define AARCH64_OPT_EXTENSION(EXT_NAME, FLAG_CANONICAL, FLAGS_ON, FLAGS_OFF, FEATURE_STRING) \
++#define AARCH64_OPT_EXTENSION(EXT_NAME, FLAG_CANONICAL, FLAGS_ON, FLAGS_OFF, \
++ SYNTHETIC, FEATURE_STRING) \
+ { EXT_NAME, FLAG_CANONICAL, FEATURE_STRING },
+ static struct aarch64_arch_extension aarch64_extensions[] =
+ {
+@@ -249,19 +250,24 @@
+ {
+ for (i = 0; i < num_exts; i++)
+ {
+- char *p = NULL;
+- char *feat_string
+- = concat (aarch64_extensions[i].feat_string, NULL);
++ const char *p = aarch64_extensions[i].feat_string;
++
++ /* If the feature contains no HWCAPS string then ignore it for the
++ auto detection. */
++ if (*p == '\0')
++ continue;
++
+ bool enabled = true;
+
+ /* This may be a multi-token feature string. We need
+- to match all parts, which could be in any order.
+- If this isn't a multi-token feature string, strtok is
+- just going to return a pointer to feat_string. */
+- p = strtok (feat_string, " ");
+- while (p != NULL)
++ to match all parts, which could be in any order. */
++ size_t len = strlen (buf);
++ do
+ {
+- if (strstr (buf, p) == NULL)
++ const char *end = strchr (p, ' ');
++ if (end == NULL)
++ end = strchr (p, '\0');
++ if (memmem (buf, len, p, end - p) == NULL)
+ {
+ /* Failed to match this token. Turn off the
+ features we'd otherwise enable. */
+@@ -268,8 +274,11 @@
+ enabled = false;
+ break;
+ }
+- p = strtok (NULL, " ");
++ if (*end == '\0')
++ break;
++ p = end + 1;
+ }
++ while (1);
+
+ if (enabled)
+ extension_flags |= aarch64_extensions[i].flag;
+@@ -359,12 +368,12 @@
+ not_found:
+ {
+ /* If detection fails we ignore the option.
+- Clean up and return empty string. */
++ Clean up and return NULL. */
+
+ if (f)
+ fclose (f);
+
+- return "";
++ return NULL;
+ }
+ }
+
+Index: gcc/config/aarch64/aarch64-option-extensions.def
+===================================================================
+--- a/src/gcc/config/aarch64/aarch64-option-extensions.def (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/config/aarch64/aarch64-option-extensions.def (.../branches/gcc-8-branch)
+@@ -21,88 +21,97 @@
+
+ Before using #include to read this file, define a macro:
+
+- AARCH64_OPT_EXTENSION(EXT_NAME, FLAG_CANONICAL, FLAGS_ON, FLAGS_OFF, FEATURE_STRING)
++ AARCH64_OPT_EXTENSION(EXT_NAME, FLAG_CANONICAL, FLAGS_ON, FLAGS_OFF,
++ SYNTHETIC, FEATURE_STRING)
+
+- EXT_NAME is the name of the extension, represented as a string constant.
+- FLAGS_CANONICAL is the canonical internal name for this flag.
+- FLAGS_ON are the bitwise-or of the features that enabling the extension
+- adds, or zero if enabling this extension has no effect on other features.
+- FLAGS_OFF are the bitwise-or of the features that disabling the extension
+- removes, or zero if disabling this extension has no effect on other
+- features.
+- FEAT_STRING is a string containing the entries in the 'Features' field of
+- /proc/cpuinfo on a GNU/Linux system that correspond to this architecture
+- extension being available. Sometimes multiple entries are needed to enable
+- the extension (for example, the 'crypto' extension depends on four
+- entries: aes, pmull, sha1, sha2 being present). In that case this field
+- should contain a space (" ") separated list of the strings in 'Features'
+- that are required. Their order is not important. */
++ - EXT_NAME is the name of the extension, represented as a string constant.
++ - FLAGS_CANONICAL is the canonical internal name for this flag.
++ - FLAGS_ON are the bitwise-or of the features that enabling the extension
++ adds, or zero if enabling this extension has no effect on other features.
++ - FLAGS_OFF are the bitwise-or of the features that disabling the extension
++ removes, or zero if disabling this extension has no effect on other
++ features.
++ - SYNTHETIC is a boolean to indicate whether the option is a purely synthetic
++ grouping of options and that the option itself has no feature bit (e.g.
++ crypto). This is used to determine when sum of the individual options in
++ FLAGS_ON can be replaced by FLAG_CANONICAL in options minimization. If the
++ group is synthetic then they can be replaced when all options in FLAGS_ON
++ are enabled, otherwise they can only be replaced when
++ FLAGS_ON | FLAG_CANONICAL are enabled.
++ - FEAT_STRING is a string containing the entries in the 'Features' field of
++ /proc/cpuinfo on a GNU/Linux system that correspond to this architecture
++ extension being available. Sometimes multiple entries are needed to enable
++ the extension (for example, the 'crypto' extension depends on four
++ entries: aes, pmull, sha1, sha2 being present). In that case this field
++ should contain a space (" ") separated list of the strings in 'Features'
++ that are required. Their order is not important. An empty string means
++ do not detect this feature during auto detection. */
+
++/* NOTE: This file is being parsed by config.gcc and so the
++ AARCH64_OPT_EXTENSION must adhere to a strict format:
++ 1) No space between the AARCH64_OPT_EXTENSION and the opening (.
++ 2) No space between the opening ( and the extension name.
++ 3) No space after the extension name before the ,.
++ 4) Spaces are only allowed after a , and around |.
++ 5) Everything must be on one line. */
++
+ /* Enabling "fp" just enables "fp".
+ Disabling "fp" also disables "simd", "crypto", "fp16", "aes", "sha2",
+ "sha3", sm3/sm4 and "sve". */
+-AARCH64_OPT_EXTENSION("fp", AARCH64_FL_FP, 0, AARCH64_FL_SIMD | AARCH64_FL_CRYPTO |\
+- AARCH64_FL_F16 | AARCH64_FL_AES | AARCH64_FL_SHA2 |\
+- AARCH64_FL_SHA3 | AARCH64_FL_SM4 | AARCH64_FL_SVE, "fp")
++AARCH64_OPT_EXTENSION("fp", AARCH64_FL_FP, 0, AARCH64_FL_SIMD | AARCH64_FL_CRYPTO | AARCH64_FL_F16 | AARCH64_FL_AES | AARCH64_FL_SHA2 | AARCH64_FL_SHA3 | AARCH64_FL_SM4 | AARCH64_FL_SVE, false, "fp")
+
+ /* Enabling "simd" also enables "fp".
+ Disabling "simd" also disables "crypto", "dotprod", "aes", "sha2", "sha3",
+ "sm3/sm4" and "sve". */
+-AARCH64_OPT_EXTENSION("simd", AARCH64_FL_SIMD, AARCH64_FL_FP, AARCH64_FL_CRYPTO |\
+- AARCH64_FL_DOTPROD | AARCH64_FL_AES | AARCH64_FL_SHA2 |\
+- AARCH64_FL_SHA3 | AARCH64_FL_SM4 | AARCH64_FL_SVE,
+- "asimd")
++AARCH64_OPT_EXTENSION("simd", AARCH64_FL_SIMD, AARCH64_FL_FP, AARCH64_FL_CRYPTO | AARCH64_FL_DOTPROD | AARCH64_FL_AES | AARCH64_FL_SHA2 | AARCH64_FL_SHA3 | AARCH64_FL_SM4 | AARCH64_FL_SVE, false, "asimd")
+
+-/* Enabling "crypto" also enables "fp" and "simd".
++/* Enabling "crypto" also enables "fp", "simd", "aes" and "sha2".
+ Disabling "crypto" disables "crypto", "aes", "sha2", "sha3" and "sm3/sm4". */
+-AARCH64_OPT_EXTENSION("crypto", AARCH64_FL_CRYPTO, AARCH64_FL_FP | AARCH64_FL_SIMD,\
+- AARCH64_FL_AES | AARCH64_FL_SHA2 |AARCH64_FL_SHA3 | AARCH64_FL_SM4,\
+- "aes pmull sha1 sha2")
++AARCH64_OPT_EXTENSION("crypto", AARCH64_FL_CRYPTO, AARCH64_FL_FP | AARCH64_FL_SIMD | AARCH64_FL_AES | AARCH64_FL_SHA2, AARCH64_FL_AES | AARCH64_FL_SHA2 |AARCH64_FL_SHA3 | AARCH64_FL_SM4, true, "aes pmull sha1 sha2")
+
+ /* Enabling or disabling "crc" only changes "crc". */
+-AARCH64_OPT_EXTENSION("crc", AARCH64_FL_CRC, 0, 0, "crc32")
++AARCH64_OPT_EXTENSION("crc", AARCH64_FL_CRC, 0, 0, false, "crc32")
+
+ /* Enabling or disabling "lse" only changes "lse". */
+-AARCH64_OPT_EXTENSION("lse", AARCH64_FL_LSE, 0, 0, "atomics")
++AARCH64_OPT_EXTENSION("lse", AARCH64_FL_LSE, 0, 0, false, "atomics")
+
+ /* Enabling "fp16" also enables "fp".
+ Disabling "fp16" disables "fp16", "fp16fml" and "sve". */
+-AARCH64_OPT_EXTENSION("fp16", AARCH64_FL_F16, AARCH64_FL_FP,
+- AARCH64_FL_F16FML | AARCH64_FL_SVE, "fphp asimdhp")
++AARCH64_OPT_EXTENSION("fp16", AARCH64_FL_F16, AARCH64_FL_FP, AARCH64_FL_F16FML | AARCH64_FL_SVE, false, "fphp asimdhp")
+
+ /* Enabling or disabling "rcpc" only changes "rcpc". */
+-AARCH64_OPT_EXTENSION("rcpc", AARCH64_FL_RCPC, 0, 0, "lrcpc")
++AARCH64_OPT_EXTENSION("rcpc", AARCH64_FL_RCPC, 0, 0, false, "lrcpc")
+
+ /* Enabling "rdma" also enables "fp", "simd".
+ Disabling "rdma" just disables "rdma". */
+-AARCH64_OPT_EXTENSION("rdma", AARCH64_FL_RDMA, AARCH64_FL_FP | AARCH64_FL_SIMD, 0, "asimdrdm")
++AARCH64_OPT_EXTENSION("rdma", AARCH64_FL_RDMA, AARCH64_FL_FP | AARCH64_FL_SIMD, 0, false, "asimdrdm")
+
+ /* Enabling "dotprod" also enables "simd".
+ Disabling "dotprod" only disables "dotprod". */
+-AARCH64_OPT_EXTENSION("dotprod", AARCH64_FL_DOTPROD, AARCH64_FL_SIMD, 0, "asimddp")
++AARCH64_OPT_EXTENSION("dotprod", AARCH64_FL_DOTPROD, AARCH64_FL_SIMD, 0, false, "asimddp")
+
+ /* Enabling "aes" also enables "simd".
+ Disabling "aes" just disables "aes". */
+-AARCH64_OPT_EXTENSION("aes", AARCH64_FL_AES, AARCH64_FL_SIMD, 0, "aes")
++AARCH64_OPT_EXTENSION("aes", AARCH64_FL_AES, AARCH64_FL_SIMD, 0, false, "aes")
+
+ /* Enabling "sha2" also enables "simd".
+ Disabling "sha2" just disables "sha2". */
+-AARCH64_OPT_EXTENSION("sha2", AARCH64_FL_SHA2, AARCH64_FL_SIMD, 0, "sha1 sha2")
++AARCH64_OPT_EXTENSION("sha2", AARCH64_FL_SHA2, AARCH64_FL_SIMD, 0, false, "sha1 sha2")
+
+ /* Enabling "sha3" enables "simd" and "sha2".
+ Disabling "sha3" just disables "sha3". */
+-AARCH64_OPT_EXTENSION("sha3", AARCH64_FL_SHA3, AARCH64_FL_SIMD | AARCH64_FL_SHA2, 0, "sha3 sha512")
++AARCH64_OPT_EXTENSION("sha3", AARCH64_FL_SHA3, AARCH64_FL_SIMD | AARCH64_FL_SHA2, 0, false, "sha3 sha512")
+
+ /* Enabling "sm4" also enables "simd".
+ Disabling "sm4" just disables "sm4". */
+-AARCH64_OPT_EXTENSION("sm4", AARCH64_FL_SM4, AARCH64_FL_SIMD, 0, "sm3 sm4")
++AARCH64_OPT_EXTENSION("sm4", AARCH64_FL_SM4, AARCH64_FL_SIMD, 0, false, "sm3 sm4")
+
+ /* Enabling "fp16fml" also enables "fp" and "fp16".
+ Disabling "fp16fml" just disables "fp16fml". */
+-AARCH64_OPT_EXTENSION("fp16fml", AARCH64_FL_F16FML, AARCH64_FL_FP | AARCH64_FL_F16, 0, "asimdfml")
++AARCH64_OPT_EXTENSION("fp16fml", AARCH64_FL_F16FML, AARCH64_FL_FP | AARCH64_FL_F16, 0, false, "asimdfml")
+
+ /* Enabling "sve" also enables "fp16", "fp" and "simd".
+ Disabling "sve" just disables "sve". */
+-AARCH64_OPT_EXTENSION("sve", AARCH64_FL_SVE, AARCH64_FL_FP | AARCH64_FL_SIMD | AARCH64_FL_F16, 0, "sve")
++AARCH64_OPT_EXTENSION("sve", AARCH64_FL_SVE, AARCH64_FL_FP | AARCH64_FL_SIMD | AARCH64_FL_F16, 0, false, "sve")
+
+ #undef AARCH64_OPT_EXTENSION
+Index: gcc/config/rs6000/mmintrin.h
+===================================================================
+--- a/src/gcc/config/rs6000/mmintrin.h (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/config/rs6000/mmintrin.h (.../branches/gcc-8-branch)
+@@ -581,7 +581,7 @@
+ extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_psubd (__m64 __m1, __m64 __m2)
+ {
+- return _mm_add_pi32 (__m1, __m2);
++ return _mm_sub_pi32 (__m1, __m2);
+ }
+
+ extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+Index: gcc/config/rs6000/rs6000-builtin.def
+===================================================================
+--- a/src/gcc/config/rs6000/rs6000-builtin.def (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/config/rs6000/rs6000-builtin.def (.../branches/gcc-8-branch)
+@@ -2442,13 +2442,22 @@
+ BU_P9_OVERLOAD_2 (CMPEQB, "byte_in_set")
+ \f
+ /* 1 argument crypto functions. */
+-BU_CRYPTO_1 (VSBOX, "vsbox", CONST, crypto_vsbox)
++BU_CRYPTO_1 (VSBOX, "vsbox", CONST, crypto_vsbox_v2di)
++BU_CRYPTO_1 (VSBOX_BE, "vsbox_be", CONST, crypto_vsbox_v16qi)
+
+ /* 2 argument crypto functions. */
+-BU_CRYPTO_2 (VCIPHER, "vcipher", CONST, crypto_vcipher)
+-BU_CRYPTO_2 (VCIPHERLAST, "vcipherlast", CONST, crypto_vcipherlast)
+-BU_CRYPTO_2 (VNCIPHER, "vncipher", CONST, crypto_vncipher)
+-BU_CRYPTO_2 (VNCIPHERLAST, "vncipherlast", CONST, crypto_vncipherlast)
++BU_CRYPTO_2 (VCIPHER, "vcipher", CONST, crypto_vcipher_v2di)
++BU_CRYPTO_2 (VCIPHER_BE, "vcipher_be", CONST, crypto_vcipher_v16qi)
++BU_CRYPTO_2 (VCIPHERLAST, "vcipherlast",
++ CONST, crypto_vcipherlast_v2di)
++BU_CRYPTO_2 (VCIPHERLAST_BE, "vcipherlast_be",
++ CONST, crypto_vcipherlast_v16qi)
++BU_CRYPTO_2 (VNCIPHER, "vncipher", CONST, crypto_vncipher_v2di)
++BU_CRYPTO_2 (VNCIPHER_BE, "vncipher_be", CONST, crypto_vncipher_v16qi)
++BU_CRYPTO_2 (VNCIPHERLAST, "vncipherlast",
++ CONST, crypto_vncipherlast_v2di)
++BU_CRYPTO_2 (VNCIPHERLAST_BE, "vncipherlast_be",
++ CONST, crypto_vncipherlast_v16qi)
+ BU_CRYPTO_2A (VPMSUMB, "vpmsumb", CONST, crypto_vpmsumb)
+ BU_CRYPTO_2A (VPMSUMH, "vpmsumh", CONST, crypto_vpmsumh)
+ BU_CRYPTO_2A (VPMSUMW, "vpmsumw", CONST, crypto_vpmsumw)
+Index: gcc/config/rs6000/rs6000-p8swap.c
+===================================================================
+--- a/src/gcc/config/rs6000/rs6000-p8swap.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/config/rs6000/rs6000-p8swap.c (.../branches/gcc-8-branch)
+@@ -2317,7 +2317,14 @@
+
+ /* Pre-pass to recombine lvx and stvx patterns so we don't lose info. */
+ recombine_lvx_stvx_patterns (fun);
++
++ /* Rebuild ud- and du-chains. */
++ df_remove_problem (df_chain);
+ df_process_deferred_rescans ();
++ df_set_flags (DF_RD_PRUNE_DEAD_DEFS);
++ df_chain_add_problem (DF_DU_CHAIN | DF_UD_CHAIN);
++ df_analyze ();
++ df_set_flags (DF_DEFER_INSN_RESCAN);
+
+ /* Allocate structure to represent webs of insns. */
+ insn_entry = XCNEWVEC (swap_web_entry, get_max_uid ());
+Index: gcc/config/rs6000/rs6000.c
+===================================================================
+--- a/src/gcc/config/rs6000/rs6000.c (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/config/rs6000/rs6000.c (.../branches/gcc-8-branch)
+@@ -16765,15 +16765,6 @@
+ case ALTIVEC_BUILTIN_VSPLTISH:
+ case ALTIVEC_BUILTIN_VSPLTISW:
+ {
+- int size;
+-
+- if (fn_code == ALTIVEC_BUILTIN_VSPLTISB)
+- size = 8;
+- else if (fn_code == ALTIVEC_BUILTIN_VSPLTISH)
+- size = 16;
+- else
+- size = 32;
+-
+ arg0 = gimple_call_arg (stmt, 0);
+ lhs = gimple_call_lhs (stmt);
+
+@@ -16780,8 +16771,7 @@
+ /* Only fold the vec_splat_*() if the lower bits of arg 0 is a
+ 5-bit signed constant in range -16 to +15. */
+ if (TREE_CODE (arg0) != INTEGER_CST
+- || !IN_RANGE (sext_hwi(TREE_INT_CST_LOW (arg0), size),
+- -16, 15))
++ || !IN_RANGE (TREE_INT_CST_LOW (arg0), -16, 15))
+ return false;
+ gimple_seq stmts = NULL;
+ location_t loc = gimple_location (stmt);
+@@ -18261,6 +18251,7 @@
+ {
+ /* unsigned 1 argument functions. */
+ case CRYPTO_BUILTIN_VSBOX:
++ case CRYPTO_BUILTIN_VSBOX_BE:
+ case P8V_BUILTIN_VGBBD:
+ case MISC_BUILTIN_CDTBCD:
+ case MISC_BUILTIN_CBCDTD:
+@@ -18276,9 +18267,13 @@
+ case ALTIVEC_BUILTIN_VMULOUH:
+ case P8V_BUILTIN_VMULOUW:
+ case CRYPTO_BUILTIN_VCIPHER:
++ case CRYPTO_BUILTIN_VCIPHER_BE:
+ case CRYPTO_BUILTIN_VCIPHERLAST:
++ case CRYPTO_BUILTIN_VCIPHERLAST_BE:
+ case CRYPTO_BUILTIN_VNCIPHER:
++ case CRYPTO_BUILTIN_VNCIPHER_BE:
+ case CRYPTO_BUILTIN_VNCIPHERLAST:
++ case CRYPTO_BUILTIN_VNCIPHERLAST_BE:
+ case CRYPTO_BUILTIN_VPMSUMB:
+ case CRYPTO_BUILTIN_VPMSUMH:
+ case CRYPTO_BUILTIN_VPMSUMW:
+Index: gcc/config/rs6000/crypto.md
+===================================================================
+--- a/src/gcc/config/rs6000/crypto.md (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/config/rs6000/crypto.md (.../branches/gcc-8-branch)
+@@ -48,6 +48,9 @@
+ ;; Iterator for VSHASIGMAD/VSHASIGMAW
+ (define_mode_iterator CR_hash [V4SI V2DI])
+
++;; Iterator for VSBOX/VCIPHER/VNCIPHER/VCIPHERLAST/VNCIPHERLAST
++(define_mode_iterator CR_vqdi [V16QI V2DI])
++
+ ;; Iterator for the other crypto functions
+ (define_int_iterator CR_code [UNSPEC_VCIPHER
+ UNSPEC_VNCIPHER
+@@ -60,10 +63,10 @@
+ (UNSPEC_VNCIPHERLAST "vncipherlast")])
+
+ ;; 2 operand crypto instructions
+-(define_insn "crypto_<CR_insn>"
+- [(set (match_operand:V2DI 0 "register_operand" "=v")
+- (unspec:V2DI [(match_operand:V2DI 1 "register_operand" "v")
+- (match_operand:V2DI 2 "register_operand" "v")]
++(define_insn "crypto_<CR_insn>_<mode>"
++ [(set (match_operand:CR_vqdi 0 "register_operand" "=v")
++ (unspec:CR_vqdi [(match_operand:CR_vqdi 1 "register_operand" "v")
++ (match_operand:CR_vqdi 2 "register_operand" "v")]
+ CR_code))]
+ "TARGET_CRYPTO"
+ "<CR_insn> %0,%1,%2"
+@@ -90,9 +93,9 @@
+ [(set_attr "type" "vecperm")])
+
+ ;; 1 operand crypto instruction
+-(define_insn "crypto_vsbox"
+- [(set (match_operand:V2DI 0 "register_operand" "=v")
+- (unspec:V2DI [(match_operand:V2DI 1 "register_operand" "v")]
++(define_insn "crypto_vsbox_<mode>"
++ [(set (match_operand:CR_vqdi 0 "register_operand" "=v")
++ (unspec:CR_vqdi [(match_operand:CR_vqdi 1 "register_operand" "v")]
+ UNSPEC_VSBOX))]
+ "TARGET_CRYPTO"
+ "vsbox %0,%1"
+Index: gcc/config/rs6000/rs6000.md
+===================================================================
+--- a/src/gcc/config/rs6000/rs6000.md (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/config/rs6000/rs6000.md (.../branches/gcc-8-branch)
+@@ -12699,7 +12699,7 @@
+ const0_rtx);
+ emit_insn (gen_rtx_SET (operands[3],
+ gen_rtx_COMPARE (CCmode, operands[1], const1_rtx)));
+- if (gpc_reg_operand (operands[0], <MODE>mode))
++ if (int_reg_operand (operands[0], <MODE>mode))
+ emit_insn (gen_add<mode>3 (operands[0], operands[1], constm1_rtx));
+ else
+ {
+@@ -12768,7 +12768,7 @@
+ (const_int 0)]))
+ (match_operand 4)
+ (match_operand 5)))
+- (set (match_operand:P 6 "int_reg_operand")
++ (set (match_operand:P 6 "nonimmediate_operand")
+ (plus:P (match_dup 0)
+ (const_int -1)))
+ (clobber (match_scratch:P 7))
+@@ -12801,7 +12801,7 @@
+ else
+ emit_insn (gen_cceq_ior_compare_complement (operands[9], andexpr, ctrcmpcc,
+ operands[8], cccmp, ccin));
+- if (gpc_reg_operand (operands[0], <MODE>mode))
++ if (int_reg_operand (ctrout, <MODE>mode))
+ emit_insn (gen_add<mode>3 (ctrout, ctr, constm1_rtx));
+ else
+ {
+Index: gcc/config/rs6000/altivec.h
+===================================================================
+--- a/src/gcc/config/rs6000/altivec.h (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/config/rs6000/altivec.h (.../branches/gcc-8-branch)
+@@ -418,6 +418,11 @@
+ #define vec_vupkhsw __builtin_vec_vupkhsw
+ #define vec_vupklsw __builtin_vec_vupklsw
+ #define vec_revb __builtin_vec_revb
++#define vec_sbox_be __builtin_crypto_vsbox_be
++#define vec_cipher_be __builtin_crypto_vcipher_be
++#define vec_cipherlast_be __builtin_crypto_vcipherlast_be
++#define vec_ncipher_be __builtin_crypto_vncipher_be
++#define vec_ncipherlast_be __builtin_crypto_vncipherlast_be
+ #endif
+
+ #ifdef __POWER9_VECTOR__
+Index: gcc/config/arm/arm.h
+===================================================================
+--- a/src/gcc/config/arm/arm.h (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/config/arm/arm.h (.../branches/gcc-8-branch)
+@@ -191,7 +191,7 @@
+ /* FPU supports converting between HFmode and DFmode in a single hardware
+ step. */
+ #define TARGET_FP16_TO_DOUBLE \
+- (TARGET_HARD_FLOAT && (TARGET_FP16 && TARGET_VFP5))
++ (TARGET_HARD_FLOAT && TARGET_FP16 && TARGET_VFP5 && TARGET_VFP_DOUBLE)
+
+ /* FPU supports fused-multiply-add operations. */
+ #define TARGET_FMA (bitmap_bit_p (arm_active_target.isa, isa_bit_vfpv4))
+Index: gcc/params.def
+===================================================================
+--- a/src/gcc/params.def (.../tags/gcc_8_3_0_release)
++++ b/src/gcc/params.def (.../branches/gcc-8-branch)
+@@ -1331,6 +1331,11 @@
+ "Maximum number of bits for which we avoid creating FMAs.",
+ 0, 0, 512)
+
++DEFPARAM(PARAM_LOGICAL_OP_NON_SHORT_CIRCUIT,
++ "logical-op-non-short-circuit",
++ "True if a non-short-circuit operation is optimal.",
++ -1, -1, 1)
++
+ /*
+
+ Local variables:
+Index: libgfortran/ChangeLog
+===================================================================
+--- a/src/libgfortran/ChangeLog (.../tags/gcc_8_3_0_release)
++++ b/src/libgfortran/ChangeLog (.../branches/gcc-8-branch)
+@@ -1,3 +1,9 @@
++2019-03-02 Jerry DeLisle <jvdelisle@gcc.gnu.org>
++
++ PR libfortran/89020
++ * io/close.c (st_close): Generate error if calls to 'remove' return
++ an error.
++
+ 2019-02-22 Release Manager
+
+ * GCC 8.3.0 released.
+Index: libgfortran/io/close.c
+===================================================================
+--- a/src/libgfortran/io/close.c (.../tags/gcc_8_3_0_release)
++++ b/src/libgfortran/io/close.c (.../branches/gcc-8-branch)
+@@ -90,7 +90,10 @@
+ else
+ {
+ #if HAVE_UNLINK_OPEN_FILE
+- remove (u->filename);
++
++ if (remove (u->filename))
++ generate_error (&clp->common, LIBERROR_OS,
++ "File cannot be deleted");
+ #else
+ path = strdup (u->filename);
+ #endif
+@@ -103,7 +106,9 @@
+ #if !HAVE_UNLINK_OPEN_FILE
+ if (path != NULL)
+ {
+- remove (path);
++ if (remove (path))
++ generate_error (&clp->common, LIBERROR_OS,
++ "File cannot be deleted");
+ free (path);
+ }
+ #endif
+Index: libcpp/line-map.c
+===================================================================
+--- a/src/libcpp/line-map.c (.../tags/gcc_8_3_0_release)
++++ b/src/libcpp/line-map.c (.../branches/gcc-8-branch)
+@@ -755,6 +755,11 @@
+ if (line_delta < 0
+ || last_line != ORDINARY_MAP_STARTING_LINE_NUMBER (map)
+ || SOURCE_COLUMN (map, highest) >= (1U << (column_bits - range_bits))
++ || ( /* We can't reuse the map if the line offset is sufficiently
++ large to cause overflow when computing location_t values. */
++ (to_line - ORDINARY_MAP_STARTING_LINE_NUMBER (map))
++ >= (((uint64_t) 1)
++ << (CHAR_BIT * sizeof (linenum_type) - column_bits)))
+ || range_bits < map->m_range_bits)
+ map = linemap_check_ordinary
+ (const_cast <line_map *>
+Index: libcpp/ChangeLog
+===================================================================
+--- a/src/libcpp/ChangeLog (.../tags/gcc_8_3_0_release)
++++ b/src/libcpp/ChangeLog (.../branches/gcc-8-branch)
+@@ -1,3 +1,22 @@
++2019-03-11 Martin Liska <mliska@suse.cz>
++
++ Backport from mainline
++ 2019-02-18 Martin Liska <mliska@suse.cz>
++
++ PR c++/89383
++ * line-map.c (linemap_line_start): Use 1UL in order
++ to not overflow.
++
++2019-03-11 Martin Liska <mliska@suse.cz>
++
++ Backport from mainline
++ 2019-02-11 Martin Liska <mliska@suse.cz>
++
++ PR lto/88147
++ * line-map.c (linemap_line_start): Don't reuse the existing line
++ map if the line offset is sufficiently large to cause overflow
++ when computing location_t values.
++
+ 2019-02-22 Release Manager
+
+ * GCC 8.3.0 released.
+Index: .
+===================================================================
+--- a/src/. (.../tags/gcc_8_3_0_release)
++++ b/src/. (.../branches/gcc-8-branch)
+
+Property changes on: .
+___________________________________________________________________
+Modified: svn:mergeinfo
+## -0,0 +0,1 ##
+ Merged /trunk:r260603
--- /dev/null
+# DP: Check for the sys/auxv.h header file.
+
+Index: b/src/gcc/configure.ac
+===================================================================
+--- a/src/gcc/configure.ac
++++ b/src/gcc/configure.ac
+@@ -1113,6 +1113,7 @@ AC_HEADER_TIOCGWINSZ
+ AC_CHECK_HEADERS(limits.h stddef.h string.h strings.h stdlib.h time.h iconv.h \
+ fcntl.h ftw.h unistd.h sys/file.h sys/time.h sys/mman.h \
+ sys/resource.h sys/param.h sys/times.h sys/stat.h \
++ sys/auxv.h \
+ direct.h malloc.h langinfo.h ldfcn.h locale.h wchar.h)
+
+ # Check for thread headers.
+Index: b/src/gcc/config.in
+===================================================================
+--- a/src/gcc/config.in
++++ b/src/gcc/config.in
+@@ -1793,6 +1793,12 @@
+ #endif
+
+
++/* Define to 1 if you have the <sys/auxv.h> header file. */
++#ifndef USED_FOR_TARGET
++#undef HAVE_SYS_AUXV_H
++#endif
++
++
+ /* Define to 1 if you have the <sys/file.h> header file. */
+ #ifndef USED_FOR_TARGET
+ #undef HAVE_SYS_FILE_H
+Index: b/src/gcc/config/rs6000/driver-rs6000.c
+===================================================================
+--- a/src/gcc/config/rs6000/driver-rs6000.c
++++ b/src/gcc/config/rs6000/driver-rs6000.c
+@@ -35,6 +35,10 @@ along with GCC; see the file COPYING3.
+ # include <link.h>
+ #endif
+
++#ifdef HAVE_SYS_AUXV_H
++# include <sys/auxv.h>
++#endif
++
+ #if defined (__APPLE__) || (__FreeBSD__)
+ # include <sys/types.h>
+ # include <sys/sysctl.h>
--- /dev/null
+# DP: strip -z,defs from linker options for internal libunwind.
+
+--- a/src/libgcc/config/t-libunwind-elf
++++ b/src/libgcc/config/t-libunwind-elf
+@@ -31,7 +31,7 @@
+
+ SHLIBUNWIND_LINK = $(CC) $(LIBGCC2_CFLAGS) -shared \
+ -nodefaultlibs -Wl,-h,$(SHLIBUNWIND_SONAME) \
+- -Wl,-z,text -Wl,-z,defs -o $(SHLIB_DIR)/$(SHLIBUNWIND_SONAME).tmp \
++ -Wl,-z,text -o $(SHLIB_DIR)/$(SHLIBUNWIND_SONAME).tmp \
+ @multilib_flags@ $(SHLIB_OBJS) -lc && \
+ rm -f $(SHLIB_DIR)/$(SHLIB_SOLINK) && \
+ if [ -f $(SHLIB_DIR)/$(SHLIBUNWIND_SONAME) ]; then \
--- /dev/null
+# DP: fix testcases that triggered -Wunused-result with glibc
+# DP: Author: Steve Beattie <steve.beattie@canonical.com>
+---
+ src/gcc/testsuite/c-c++-common/cilk-plus/AN/comma_exp.c | 2 +-
+ src/gcc/testsuite/c-c++-common/tsan/fd_pipe_race.c | 1 +
+ 2 files changed, 2 insertions(+), 1 deletion(-)
+
+Index: b/src/gcc/testsuite/c-c++-common/tsan/fd_pipe_race.c
+===================================================================
+--- a/src/gcc/testsuite/c-c++-common/tsan/fd_pipe_race.c
++++ b/src/gcc/testsuite/c-c++-common/tsan/fd_pipe_race.c
+@@ -1,5 +1,5 @@
+ /* { dg-shouldfail "tsan" } */
+-/* { dg-additional-options "-ldl" } */
++/* { dg-additional-options "-Wno-unused-result -ldl" } */
+
+ #include <pthread.h>
+ #include <unistd.h>
--- /dev/null
+#! /bin/sh -e
+
+# All lines beginning with `# DPATCH:' are a description of the patch.
+# DP: Description: use -Wno-format on tests that cannot be adjusted other ways.
+# DP: Author: Kees Cook <kees@ubuntu.com>
+# DP: Ubuntu: https://bugs.launchpad.net/bugs/344502
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p1 < $0
+ #cd ${dir}gcc && autoconf
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p1 < $0
+ #rm ${dir}gcc/configure
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+---
+ src/gcc/testsuite/c-c++-common/torture/vector-compare-1.c | 1 +
+ src/gcc/testsuite/g++.dg/abi/pragma-pack1.C | 2 ++
+ src/gcc/testsuite/g++.dg/abi/regparm1.C | 1 +
+ src/gcc/testsuite/g++.dg/cpp0x/constexpr-tuple.C | 1 +
+ src/gcc/testsuite/g++.dg/torture/pr51436.C | 1 +
+ src/gcc/testsuite/g++.old-deja/g++.law/weak.C | 2 +-
+ src/gcc/testsuite/g++.old-deja/g++.other/std1.C | 1 +
+ src/gcc/testsuite/gcc.c-torture/execute/vfprintf-chk-1.x | 5 +++++
+ src/gcc/testsuite/gcc.c-torture/execute/vprintf-chk-1.x | 5 +++++
+ src/gcc/testsuite/gcc.dg/charset/builtin2.c | 2 +-
+ src/gcc/testsuite/gcc.dg/format/format.exp | 2 +-
+ src/gcc/testsuite/gcc.dg/ipa/ipa-sra-1.c | 2 +-
+ src/gcc/testsuite/gcc.dg/lto/20090218-2_0.c | 2 ++
+ src/gcc/testsuite/gcc.dg/pr30473.c | 2 +-
+ src/gcc/testsuite/gcc.dg/pr38902.c | 2 +-
+ src/gcc/testsuite/gcc.dg/pr59418.c | 2 +-
+ src/gcc/testsuite/gcc.dg/torture/tls/tls-test.c | 2 +-
+ src/gcc/testsuite/gcc.dg/tree-ssa/builtin-fprintf-1.c | 2 +-
+ src/gcc/testsuite/gcc.dg/tree-ssa/builtin-fprintf-chk-1.c | 2 +-
+ src/gcc/testsuite/gcc.dg/tree-ssa/builtin-printf-1.c | 2 +-
+ src/gcc/testsuite/gcc.dg/tree-ssa/builtin-printf-chk-1.c | 2 +-
+ src/gcc/testsuite/gcc.dg/tree-ssa/builtin-vfprintf-1.c | 2 +-
+ src/gcc/testsuite/gcc.dg/tree-ssa/builtin-vfprintf-chk-1.c | 2 +-
+ src/gcc/testsuite/gcc.dg/tree-ssa/builtin-vprintf-1.c | 2 +-
+ src/gcc/testsuite/gcc.dg/tree-ssa/builtin-vprintf-chk-1.c | 2 +-
+ src/gcc/testsuite/gcc.dg/tree-ssa/isolate-4.c | 2 +-
+ src/gcc/testsuite/objc.dg/torture/strings/const-str-3.m | 2 +-
+ 28 files changed, 40 insertions(+), 18 deletions(-)
+
+Index: b/src/gcc/testsuite/gcc.c-torture/execute/vfprintf-chk-1.x
+===================================================================
+--- /dev/null
++++ b/src/gcc/testsuite/gcc.c-torture/execute/vfprintf-chk-1.x
+@@ -0,0 +1,5 @@
++# Implement "/* { dg-options "-U_FORITFY_SOURCE" } */", due to
++# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20567
++
++set additional_flags "-U_FORTIFY_SOURCE"
++return 0
+Index: b/src/gcc/testsuite/gcc.c-torture/execute/vprintf-chk-1.x
+===================================================================
+--- /dev/null
++++ b/src/gcc/testsuite/gcc.c-torture/execute/vprintf-chk-1.x
+@@ -0,0 +1,5 @@
++# Implement "/* { dg-options "-U_FORITFY_SOURCE" } */", due to
++# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20567
++
++set additional_flags "-U_FORTIFY_SOURCE"
++return 0
+Index: b/src/gcc/testsuite/gcc.dg/charset/builtin2.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.dg/charset/builtin2.c
++++ b/src/gcc/testsuite/gcc.dg/charset/builtin2.c
+@@ -3,7 +3,7 @@
+
+ /* { dg-do compile } */
+ /* { dg-require-iconv "IBM1047" } */
+-/* { dg-options "-O2 -fexec-charset=IBM1047" } */
++/* { dg-options "-O2 -fexec-charset=IBM1047 -Wno-format" } */
+ /* { dg-final { scan-assembler-not "printf" } } */
+ /* { dg-final { scan-assembler-not "fprintf" } } */
+ /* { dg-final { scan-assembler-not "sprintf" } } */
+Index: b/src/gcc/testsuite/gcc.dg/format/format.exp
+===================================================================
+--- a/src/gcc/testsuite/gcc.dg/format/format.exp
++++ b/src/gcc/testsuite/gcc.dg/format/format.exp
+@@ -26,7 +26,7 @@ load_lib gcc-dg.exp
+ load_lib torture-options.exp
+
+ torture-init
+-set-torture-options [list { } { -DWIDE } ]
++set-torture-options [list { -Wformat=0 } { -DWIDE -Wformat=0 } ]
+
+ dg-init
+ gcc-dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.\[cS\]]] "" ""
+Index: b/src/gcc/testsuite/gcc.dg/pr30473.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.dg/pr30473.c
++++ b/src/gcc/testsuite/gcc.dg/pr30473.c
+@@ -1,7 +1,7 @@
+ /* PR middle-end/30473 */
+ /* Make sure this doesn't ICE. */
+ /* { dg-do compile } */
+-/* { dg-options "-O2" } */
++/* { dg-options "-O2 -Wno-format" } */
+
+ extern int sprintf (char *, const char *, ...);
+
+Index: b/src/gcc/testsuite/gcc.dg/pr38902.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.dg/pr38902.c
++++ b/src/gcc/testsuite/gcc.dg/pr38902.c
+@@ -1,6 +1,6 @@
+ /* PR target/38902 */
+ /* { dg-do run } */
+-/* { dg-options "-O2 -fstack-protector" } */
++/* { dg-options "-O2 -fstack-protector -Wno-format" } */
+ /* { dg-require-effective-target fstack_protector } */
+
+ #ifdef DEBUG
+Index: b/src/gcc/testsuite/gcc.dg/pr59418.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.dg/pr59418.c
++++ b/src/gcc/testsuite/gcc.dg/pr59418.c
+@@ -2,7 +2,7 @@
+ /* Reported by Ryan Mansfield <rmansfield@qnx.com> */
+
+ /* { dg-do compile } */
+-/* { dg-options "-Os -g" } */
++/* { dg-options "-Os -g -Wno-format-zero-length" } */
+ /* { dg-options "-march=armv7-a+fp -mfloat-abi=hard -Os -g" { target { arm*-*-* && { ! arm_thumb1 } } } } */
+
+ extern int printf (const char *__format, ...);
+Index: b/src/gcc/testsuite/gcc.dg/ipa/ipa-sra-1.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.dg/ipa/ipa-sra-1.c
++++ b/src/gcc/testsuite/gcc.dg/ipa/ipa-sra-1.c
+@@ -1,5 +1,5 @@
+ /* { dg-do run } */
+-/* { dg-options "-O2 -fipa-sra -fdump-tree-eipa_sra-details" } */
++/* { dg-options "-O2 -fipa-sra -fdump-tree-eipa_sra-details -Wformat=0" } */
+
+ struct bovid
+ {
+Index: b/src/gcc/testsuite/gcc.dg/lto/20090218-2_0.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.dg/lto/20090218-2_0.c
++++ b/src/gcc/testsuite/gcc.dg/lto/20090218-2_0.c
+@@ -1,3 +1,5 @@
++/* { dg-lto-options "-Wno-nonnull" } */
++
+ void set_mem_alias_set ();
+ void emit_push_insn () {
+ set_mem_alias_set ();
+Index: b/src/gcc/testsuite/c-c++-common/torture/vector-compare-1.c
+===================================================================
+--- a/src/gcc/testsuite/c-c++-common/torture/vector-compare-1.c
++++ b/src/gcc/testsuite/c-c++-common/torture/vector-compare-1.c
+@@ -1,4 +1,5 @@
+ /* { dg-do run } */
++/* { dg-options "-Wformat=0" } */
+ #define vector(elcount, type) \
+ __attribute__((vector_size((elcount)*sizeof(type)))) type
+
+Index: b/src/gcc/testsuite/gcc.dg/tree-ssa/builtin-vprintf-chk-1.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.dg/tree-ssa/builtin-vprintf-chk-1.c
++++ b/src/gcc/testsuite/gcc.dg/tree-ssa/builtin-vprintf-chk-1.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -fdump-tree-fab1" } */
++/* { dg-options "-O2 -fdump-tree-fab1 -Wno-format-zero-length" } */
+
+ #include <stdarg.h>
+
+Index: b/src/gcc/testsuite/gcc.dg/tree-ssa/builtin-vprintf-1.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.dg/tree-ssa/builtin-vprintf-1.c
++++ b/src/gcc/testsuite/gcc.dg/tree-ssa/builtin-vprintf-1.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -fdump-tree-fab1" } */
++/* { dg-options "-O2 -fdump-tree-fab1 -Wno-format-zero-length" } */
+
+ #include <stdarg.h>
+
+Index: b/src/gcc/testsuite/gcc.dg/tree-ssa/builtin-printf-1.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.dg/tree-ssa/builtin-printf-1.c
++++ b/src/gcc/testsuite/gcc.dg/tree-ssa/builtin-printf-1.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -fdump-tree-fab1" } */
++/* { dg-options "-O2 -fdump-tree-fab1 -Wno-format-zero-length" } */
+
+ extern int printf (const char *, ...);
+ volatile int vi0, vi1, vi2, vi3, vi4, vi5, vi6, vi7, vi8, vi9, via;
+Index: b/src/gcc/testsuite/gcc.dg/tree-ssa/builtin-printf-chk-1.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.dg/tree-ssa/builtin-printf-chk-1.c
++++ b/src/gcc/testsuite/gcc.dg/tree-ssa/builtin-printf-chk-1.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -fdump-tree-fab1" } */
++/* { dg-options "-O2 -fdump-tree-fab1 -Wno-format-zero-length" } */
+
+ extern int __printf_chk (int, const char *, ...);
+ volatile int vi0, vi1, vi2, vi3, vi4, vi5, vi6, vi7, vi8, vi9, via;
+Index: b/src/gcc/testsuite/gcc.dg/tree-ssa/builtin-fprintf-1.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.dg/tree-ssa/builtin-fprintf-1.c
++++ b/src/gcc/testsuite/gcc.dg/tree-ssa/builtin-fprintf-1.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -fdump-tree-fab1" } */
++/* { dg-options "-O2 -fdump-tree-fab1 -Wno-format-zero-length" } */
+
+ typedef struct { int i; } FILE;
+ FILE *fp;
+Index: b/src/gcc/testsuite/gcc.dg/tree-ssa/builtin-fprintf-chk-1.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.dg/tree-ssa/builtin-fprintf-chk-1.c
++++ b/src/gcc/testsuite/gcc.dg/tree-ssa/builtin-fprintf-chk-1.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -fdump-tree-fab1" } */
++/* { dg-options "-O2 -fdump-tree-fab1 -Wno-format-zero-length" } */
+
+ typedef struct { int i; } FILE;
+ FILE *fp;
+Index: b/src/gcc/testsuite/gcc.dg/torture/tls/tls-test.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.dg/torture/tls/tls-test.c
++++ b/src/gcc/testsuite/gcc.dg/torture/tls/tls-test.c
+@@ -1,7 +1,7 @@
+ /* { dg-do run } */
+ /* { dg-require-effective-target tls } */
+ /* { dg-require-effective-target pthread } */
+-/* { dg-options "-pthread" } */
++/* { dg-options "-pthread -Wformat=0" } */
+
+ #include <pthread.h>
+ extern int printf (char *,...);
+Index: b/src/gcc/testsuite/objc.dg/torture/strings/const-str-3.m
+===================================================================
+--- a/src/gcc/testsuite/objc.dg/torture/strings/const-str-3.m
++++ b/src/gcc/testsuite/objc.dg/torture/strings/const-str-3.m
+@@ -2,7 +2,7 @@
+ /* Developed by Markus Hitter <mah@jump-ing.de>. */
+ /* { dg-do run } */
+ /* { dg-xfail-run-if "Needs OBJC2 ABI" { *-*-darwin* && { lp64 && { ! objc2 } } } { "-fnext-runtime" } { "" } } */
+-/* { dg-options "-fconstant-string-class=Foo" } */
++/* { dg-options "-fconstant-string-class=Foo -Wno-format-security" } */
+ /* { dg-options "-mno-constant-cfstrings -fconstant-string-class=Foo" { target *-*-darwin* } } */
+
+ #include "../../../objc-obj-c++-shared/objc-test-suite-types.h"
+Index: b/src/gcc/testsuite/g++.dg/abi/pragma-pack1.C
+===================================================================
+--- a/src/gcc/testsuite/g++.dg/abi/pragma-pack1.C
++++ b/src/gcc/testsuite/g++.dg/abi/pragma-pack1.C
+@@ -1,5 +1,7 @@
+ // PR c++/7046
+
++// { dg-options "-Wformat=0" }
++
+ extern "C" int printf (const char *, ...);
+
+ #pragma pack(4)
+Index: b/src/gcc/testsuite/g++.dg/abi/regparm1.C
+===================================================================
+--- a/src/gcc/testsuite/g++.dg/abi/regparm1.C
++++ b/src/gcc/testsuite/g++.dg/abi/regparm1.C
+@@ -1,6 +1,7 @@
+ // PR c++/29911 (9381)
+ // { dg-do run { target i?86-*-* x86_64-*-* } }
+ // { dg-require-effective-target c++11 }
++// { dg-options "-Wformat=0" }
+
+ extern "C" int printf(const char *, ...);
+
+Index: b/src/gcc/testsuite/g++.dg/cpp0x/constexpr-tuple.C
+===================================================================
+--- a/src/gcc/testsuite/g++.dg/cpp0x/constexpr-tuple.C
++++ b/src/gcc/testsuite/g++.dg/cpp0x/constexpr-tuple.C
+@@ -1,5 +1,6 @@
+ // PR c++/53202
+ // { dg-do run { target c++11 } }
++// { dg-options "-Wformat=0" }
+
+ #include <tuple>
+
+Index: b/src/gcc/testsuite/g++.dg/torture/pr51436.C
+===================================================================
+--- a/src/gcc/testsuite/g++.dg/torture/pr51436.C
++++ b/src/gcc/testsuite/g++.dg/torture/pr51436.C
+@@ -1,4 +1,5 @@
+ /* { dg-do compile } */
++/* { dg-options "-Wno-nonnull" } */
+ /* { dg-additional-options "-Wno-return-type" } */
+
+ typedef __SIZE_TYPE__ size_t;
+Index: b/src/gcc/testsuite/g++.old-deja/g++.law/weak.C
+===================================================================
+--- a/src/gcc/testsuite/g++.old-deja/g++.law/weak.C
++++ b/src/gcc/testsuite/g++.old-deja/g++.law/weak.C
+@@ -1,6 +1,6 @@
+ // { dg-do link { target i?86-*-linux* i?86-*-gnu* x86_64-*-linux* } }
+ // { dg-require-effective-target static }
+-// { dg-options "-static" }
++// { dg-options "-static -Wno-nonnull" }
+ // Bug: g++ fails to instantiate operator<<.
+
+ // libc-5.4.xx has __IO_putc in its static C library, which can conflict
+Index: b/src/gcc/testsuite/g++.old-deja/g++.other/std1.C
+===================================================================
+--- a/src/gcc/testsuite/g++.old-deja/g++.other/std1.C
++++ b/src/gcc/testsuite/g++.old-deja/g++.other/std1.C
+@@ -1,4 +1,5 @@
+ // { dg-do assemble }
++// { dg-options "-Wno-nonnull" }
+ // Origin: Mark Mitchell <mark@codesourcery.com>
+
+ extern "C" int memcmp (const void * __s1,
+Index: b/src/gcc/testsuite/gcc.dg/tree-ssa/builtin-vfprintf-1.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.dg/tree-ssa/builtin-vfprintf-1.c
++++ b/src/gcc/testsuite/gcc.dg/tree-ssa/builtin-vfprintf-1.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -fdump-tree-fab1" } */
++/* { dg-options "-O2 -fdump-tree-fab1 -Wno-format-zero-length" } */
+
+ #include <stdarg.h>
+
+Index: b/src/gcc/testsuite/gcc.dg/tree-ssa/builtin-vfprintf-chk-1.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.dg/tree-ssa/builtin-vfprintf-chk-1.c
++++ b/src/gcc/testsuite/gcc.dg/tree-ssa/builtin-vfprintf-chk-1.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -fdump-tree-fab1" } */
++/* { dg-options "-O2 -fdump-tree-fab1 -Wno-format-zero-length" } */
+
+ #include <stdarg.h>
+
--- /dev/null
+# DP: Description: adjust/standardize printf types to avoid -Wformat warnings.
+# DP: Author: Kees Cook <kees@ubuntu.com>
+# DP: Ubuntu: https://bugs.launchpad.net/bugs/344502
+
+Index: b/src/gcc/testsuite/g++.dg/ext/align1.C
+===================================================================
+--- a/src/gcc/testsuite/g++.dg/ext/align1.C
++++ b/src/gcc/testsuite/g++.dg/ext/align1.C
+@@ -16,6 +16,7 @@ float f1 __attribute__ ((aligned));
+ int
+ main (void)
+ {
+- printf ("%d %d\n", __alignof (a1), __alignof (f1));
++ // "%td" is not allowed by ISO C++, so use %p with a void * cast
++ printf ("%p %p\n", (void*)__alignof (a1), (void*)__alignof (f1));
+ return (__alignof (a1) < __alignof (f1));
+ }
+Index: b/src/gcc/testsuite/g++.old-deja/g++.law/operators28.C
+===================================================================
+--- a/src/gcc/testsuite/g++.old-deja/g++.law/operators28.C
++++ b/src/gcc/testsuite/g++.old-deja/g++.law/operators28.C
+@@ -14,7 +14,8 @@ void* new_test::operator new(size_t sz,
+ {
+ void *p;
+
+- printf("%d %d %d\n", sz, count, type);
++ // ISO C++ does not support format size modifier "z", so use a cast
++ printf("%u %d %d\n", (unsigned int)sz, count, type);
+
+ p = new char[sz * count];
+ ((new_test *)p)->type = type;
+Index: b/src/gcc/testsuite/gcc.dg/torture/matrix-2.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.dg/torture/matrix-2.c
++++ b/src/gcc/testsuite/gcc.dg/torture/matrix-2.c
+@@ -42,7 +42,7 @@ main (int argc, char **argv)
+ }
+ for (i = 0; i < ARCHnodes; i++)
+ for (j = 0; j < 3; j++)
+- printf ("%x\n",vel[i][j]);
++ printf ("%p\n",vel[i][j]);
+ /*if (i!=1 || j!=1)*/
+ /*if (i==1 && j==1)
+ continue;
+@@ -82,14 +82,14 @@ mem_init (void)
+ for (j = 0; j < 3; j++)
+ {
+ vel[i][j] = (int *) malloc (ARCHnodes1 * sizeof (int));
+- printf ("%x %d %d\n",vel[i][j], ARCHnodes1, sizeof (int));
++ printf ("%p %d %d\n",vel[i][j], ARCHnodes1, (int)sizeof (int));
+ }
+ }
+ for (i = 0; i < ARCHnodes; i++)
+ {
+ for (j = 0; j < 3; j++)
+ {
+- printf ("%x\n",vel[i][j]);
++ printf ("%p\n",vel[i][j]);
+ }
+ }
+
+@@ -98,7 +98,7 @@ mem_init (void)
+ {
+ for (j = 0; j < 3; j++)
+ {
+- printf ("%x\n",vel[i][j]);
++ printf ("%p\n",vel[i][j]);
+ /*for (k = 0; k < ARCHnodes1; k++)
+ {
+ vel[i][j][k] = d;
+Index: b/src/gcc/testsuite/gcc.dg/packed-vla.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.dg/packed-vla.c
++++ b/src/gcc/testsuite/gcc.dg/packed-vla.c
+@@ -18,8 +18,8 @@ int func(int levels)
+ int b[4];
+ } __attribute__ ((__packed__)) foo;
+
+- printf("foo %d\n", sizeof(foo));
+- printf("bar %d\n", sizeof(bar));
++ printf("foo %d\n", (int)sizeof(foo));
++ printf("bar %d\n", (int)sizeof(bar));
+
+ if (sizeof (foo) != sizeof (bar))
+ abort ();
+Index: b/src/gcc/testsuite/g++.dg/opt/alias2.C
+===================================================================
+--- a/src/gcc/testsuite/g++.dg/opt/alias2.C
++++ b/src/gcc/testsuite/g++.dg/opt/alias2.C
+@@ -30,14 +30,14 @@ public:
+
+
+ _Deque_base::~_Deque_base() {
+- printf ("bb %x %x\n", this, *_M_start._M_node);
++ printf ("bb %p %x\n", this, *_M_start._M_node);
+ }
+
+ void
+ _Deque_base::_M_initialize_map()
+ {
+ yy = 0x123;
+- printf ("aa %x %x\n", this, yy);
++ printf ("aa %p %x\n", this, yy);
+
+ _M_start._M_node = &yy;
+ _M_start._M_cur = yy;
+Index: b/src/gcc/testsuite/g++.old-deja/g++.abi/vbase1.C
+===================================================================
+--- a/src/gcc/testsuite/g++.old-deja/g++.abi/vbase1.C
++++ b/src/gcc/testsuite/g++.old-deja/g++.abi/vbase1.C
+@@ -33,7 +33,7 @@ struct VBase
+ void Offset () const
+ {
+ printf ("VBase\n");
+- printf (" VBase::member %d\n", &this->VBase::member - (int *)this);
++ printf (" VBase::member %d\n", (int)(&this->VBase::member - (int *)this));
+ }
+ };
+
+@@ -55,8 +55,8 @@ struct VDerived : virtual VBase
+ void Offset () const
+ {
+ printf ("VDerived\n");
+- printf (" VBase::member %d\n", &this->VBase::member - (int *)this);
+- printf (" VDerived::member %d\n", &this->VDerived::member - (int *)this);
++ printf (" VBase::member %d\n", (int)(&this->VBase::member - (int *)this));
++ printf (" VDerived::member %d\n", (int)(&this->VDerived::member - (int *)this));
+ }
+ };
+ struct B : virtual VBase
+@@ -65,8 +65,8 @@ struct B : virtual VBase
+ void Offset () const
+ {
+ printf ("B\n");
+- printf (" VBase::member %d\n", &this->VBase::member - (int *)this);
+- printf (" B::member %d\n", &this->B::member - (int *)this);
++ printf (" VBase::member %d\n", (int)(&this->VBase::member - (int *)this));
++ printf (" B::member %d\n", (int)(&this->B::member - (int *)this));
+ }
+ };
+ struct MostDerived : B, virtual VDerived
+@@ -75,10 +75,10 @@ struct MostDerived : B, virtual VDerived
+ void Offset () const
+ {
+ printf ("MostDerived\n");
+- printf (" VBase::member %d\n", &this->VBase::member - (int *)this);
+- printf (" B::member %d\n", &this->B::member - (int *)this);
+- printf (" VDerived::member %d\n", &this->VDerived::member - (int *)this);
+- printf (" MostDerived::member %d\n", &this->MostDerived::member - (int *)this);
++ printf (" VBase::member %d\n", (int)(&this->VBase::member - (int *)this));
++ printf (" B::member %d\n", (int)(&this->B::member - (int *)this));
++ printf (" VDerived::member %d\n", (int)(&this->VDerived::member - (int *)this));
++ printf (" MostDerived::member %d\n", (int)(&this->MostDerived::member - (int *)this));
+ }
+ };
+
+@@ -95,10 +95,10 @@ int main ()
+ if (ctorVDerived != &dum.VDerived::member)
+ return 24;
+
+- printf (" VBase::member %d\n", &dum.VBase::member - this_);
+- printf (" B::member %d\n", &dum.B::member - this_);
+- printf (" VDerived::member %d\n", &dum.VDerived::member - this_);
+- printf (" MostDerived::member %d\n", &dum.MostDerived::member - this_);
++ printf (" VBase::member %d\n", (int)(&dum.VBase::member - this_));
++ printf (" B::member %d\n", (int)(&dum.B::member - this_));
++ printf (" VDerived::member %d\n", (int)(&dum.VDerived::member - this_));
++ printf (" MostDerived::member %d\n", (int)(&dum.MostDerived::member - this_));
+ dum.MostDerived::Offset ();
+ dum.B::Offset ();
+ dum.VDerived::Offset ();
+Index: b/src/gcc/testsuite/g++.old-deja/g++.brendan/template8.C
+===================================================================
+--- a/src/gcc/testsuite/g++.old-deja/g++.brendan/template8.C
++++ b/src/gcc/testsuite/g++.old-deja/g++.brendan/template8.C
+@@ -15,6 +15,6 @@ int main(){
+
+ Double_alignt<20000> heap;
+
+- printf(" &heap.array[0] = %d, &heap.for_alignt = %d\n", &heap.array[0], &heap.for_alignt);
++ printf(" &heap.array[0] = %p, &heap.for_alignt = %p\n", (void*)&heap.array[0], (void*)&heap.for_alignt);
+
+ }
+Index: b/src/gcc/testsuite/g++.old-deja/g++.eh/ptr1.C
+===================================================================
+--- a/src/gcc/testsuite/g++.old-deja/g++.eh/ptr1.C
++++ b/src/gcc/testsuite/g++.old-deja/g++.eh/ptr1.C
+@@ -16,7 +16,7 @@ int main()
+ }
+
+ catch (E *&e) {
+- printf ("address of e is 0x%lx\n", (__SIZE_TYPE__)e);
++ printf ("address of e is %p\n", (void *)e);
+ return !((__SIZE_TYPE__)e != 5 && e->x == 5);
+ }
+ return 2;
+Index: b/src/gcc/testsuite/g++.old-deja/g++.jason/access23.C
+===================================================================
+--- a/src/gcc/testsuite/g++.old-deja/g++.jason/access23.C
++++ b/src/gcc/testsuite/g++.old-deja/g++.jason/access23.C
+@@ -42,19 +42,19 @@ public:
+ void DoSomething() {
+ PUB_A = 0;
+ Foo::A = 0;
+- printf("%x\n",pX);
++ printf("%p\n",pX);
+ Foo::PUB.A = 0;
+- printf("%x\n",PUB.pX);
++ printf("%p\n",PUB.pX);
+ B = 0;
+- printf("%x\n",Foo::pY);
++ printf("%p\n",Foo::pY);
+ PRT_A = 0;
+ PRT.B = 0;
+- printf("%x\n",Foo::PRT.pY);
++ printf("%p\n",Foo::PRT.pY);
+ PRV_A = 0; // { dg-error "" }
+ Foo::C = 0; // { dg-error "" }
+- printf("%x\n",pZ); // { dg-error "" }
++ printf("%p\n",pZ); // { dg-error "" }
+ Foo::PRV.C = 0; // { dg-error "" }
+- printf("%x\n",PRV.pZ); // { dg-error "" }
++ printf("%p\n",PRV.pZ); // { dg-error "" }
+ }
+ };
+
+@@ -64,17 +64,17 @@ int main()
+
+ a.PUB_A = 0;
+ a.A = 0;
+- printf("%x\n",a.pX);
++ printf("%p\n",a.pX);
+ a.PRT_A = 0; // { dg-error "" }
+ a.B = 0; // { dg-error "" }
+- printf("%x\n",a.pY); // { dg-error "" }
++ printf("%p\n",a.pY); // { dg-error "" }
+ a.PRV_A = 0; // { dg-error "" }
+ a.C = 0; // { dg-error "" }
+- printf("%x\n",a.pZ); // { dg-error "" }
++ printf("%p\n",a.pZ); // { dg-error "" }
+ a.PUB.A = 0;
+- printf("%x\n",a.PUB.pX);
++ printf("%p\n",a.PUB.pX);
+ a.PRT.B = 0; // { dg-error "" }
+- printf("%x\n",a.PRT.pY); // { dg-error "" }
++ printf("%p\n",a.PRT.pY); // { dg-error "" }
+ a.PRV.C = 0; // { dg-error "" }
+- printf("%x\n",a.PRV.pZ); // { dg-error "" }
++ printf("%p\n",a.PRV.pZ); // { dg-error "" }
+ }
+Index: b/src/gcc/testsuite/g++.old-deja/g++.law/cvt8.C
+===================================================================
+--- a/src/gcc/testsuite/g++.old-deja/g++.law/cvt8.C
++++ b/src/gcc/testsuite/g++.old-deja/g++.law/cvt8.C
+@@ -20,12 +20,12 @@ struct B {
+ B::operator const A&() const {
+ static A a;
+ a.i = i;
+- printf("convert B to A at %x\n", &a);
++ printf("convert B to A at %p\n", (void*)&a);
+ return a;
+ }
+
+ void f(A &a) { // { dg-message "" } in passing argument
+- printf("A at %x is %d\n", &a, a.i);
++ printf("A at %p is %d\n", (void*)&a, a.i);
+ }
+
+ int main() {
+Index: b/src/gcc/testsuite/g++.old-deja/g++.mike/net35.C
+===================================================================
+--- a/src/gcc/testsuite/g++.old-deja/g++.mike/net35.C
++++ b/src/gcc/testsuite/g++.old-deja/g++.mike/net35.C
+@@ -17,10 +17,10 @@ public:
+
+ int main() {
+ C c;
+- printf("&c.x = %x\n", &c.x);
+- printf("&c.B1::x = %x\n", &c.B1::x);
+- printf("&c.B2::x = %x\n", &c.B2::x);
+- printf("&c.A::x = %x\n", &c.A::x);
++ printf("&c.x = %p\n", (void*)&c.x);
++ printf("&c.B1::x = %p\n", (void*)&c.B1::x);
++ printf("&c.B2::x = %p\n", (void*)&c.B2::x);
++ printf("&c.A::x = %p\n", (void*)&c.A::x);
+ if (&c.x != &c.B1::x
+ || &c.x != &c.B2::x
+ || &c.x != &c.A::x)
+Index: b/src/gcc/testsuite/g++.old-deja/g++.mike/offset1.C
+===================================================================
+--- a/src/gcc/testsuite/g++.old-deja/g++.mike/offset1.C
++++ b/src/gcc/testsuite/g++.old-deja/g++.mike/offset1.C
+@@ -6,7 +6,7 @@ int fail = 0;
+ class Foo {
+ public:
+ virtual void setName() {
+- printf("Foo at %x\n", this);
++ printf("Foo at %p\n", (void*)this);
+ if (vp != (void*)this)
+ fail = 1;
+ }
+@@ -15,7 +15,7 @@ public:
+ class Bar : public Foo {
+ public:
+ virtual void init(int argc, char **argv) {
+- printf("Bar's Foo at %x\n", (Foo*)this);
++ printf("Bar's Foo at %p\n", (void*)(Foo*)this);
+ vp = (void*)(Foo*)this;
+ setName();
+ }
+Index: b/src/gcc/testsuite/g++.old-deja/g++.mike/p12306.C
+===================================================================
+--- a/src/gcc/testsuite/g++.old-deja/g++.mike/p12306.C
++++ b/src/gcc/testsuite/g++.old-deja/g++.mike/p12306.C
+@@ -18,7 +18,7 @@ public:
+ if (ptr2 != &(*this).slist)
+ fail = 6;
+
+- if (0) printf("at %x %x\n", (RWSlistIterator*)this, &(*this).slist);
++ if (0) printf("at %p %p\n", (void*)(RWSlistIterator*)this, (void*)&(*this).slist);
+ }
+ };
+
+@@ -54,14 +54,14 @@ Sim_Event_Manager::Sim_Event_Manager ()
+ void Sim_Event_Manager::post_event () {
+ ptr1 = (RWSlistIterator*)&last_posted_event_position_;
+ ptr2 = &((RWSlistIterator*)&last_posted_event_position_)->slist;
+- if (0) printf("at %x %x\n", (RWSlistIterator*)&last_posted_event_position_,
+- &((RWSlistIterator*)&last_posted_event_position_)->slist);
++ if (0) printf("at %p %p\n", (void*)(RWSlistIterator*)&last_posted_event_position_,
++ (void*)&((RWSlistIterator*)&last_posted_event_position_)->slist);
+ if (ptr1 != (RWSlistIterator*)&last_posted_event_position_)
+ fail = 1;
+ if (ptr2 != &((RWSlistIterator&)last_posted_event_position_).slist)
+ fail = 2;
+- if (0) printf("at %x ?%x\n", (RWSlistIterator*)&last_posted_event_position_,
+- &((RWSlistIterator&)last_posted_event_position_).slist);
++ if (0) printf("at %p ?%p\n", (void*)(RWSlistIterator*)&last_posted_event_position_,
++ (void*)&((RWSlistIterator&)last_posted_event_position_).slist);
+ if (ptr1 != (RWSlistIterator*)&last_posted_event_position_)
+ fail = 3;
+ if (ptr2 != &((RWSlistIterator&)last_posted_event_position_).slist)
+Index: b/src/gcc/testsuite/g++.old-deja/g++.mike/p3579.C
+===================================================================
+--- a/src/gcc/testsuite/g++.old-deja/g++.mike/p3579.C
++++ b/src/gcc/testsuite/g++.old-deja/g++.mike/p3579.C
+@@ -7,26 +7,26 @@ int num_x;
+
+ class Y {
+ public:
+- Y () { printf("Y() this: %x\n", this); }
+- ~Y () { printf("~Y() this: %x\n", this); }
++ Y () { printf("Y() this: %p\n", (void*)this); }
++ ~Y () { printf("~Y() this: %p\n", (void*)this); }
+ };
+
+ class X {
+ public:
+ X () {
+ ++num_x;
+- printf("X() this: %x\n", this);
++ printf("X() this: %p\n", (void*)this);
+ Y y;
+ *this = (X) y;
+ }
+
+- X (const Y & yy) { printf("X(const Y&) this: %x\n", this); ++num_x; }
++ X (const Y & yy) { printf("X(const Y&) this: %p\n", (void*)this); ++num_x; }
+ X & operator = (const X & xx) {
+- printf("X.op=(X&) this: %x\n", this);
++ printf("X.op=(X&) this: %p\n", (void*)this);
+ return *this;
+ }
+
+- ~X () { printf("~X() this: %x\n", this); --num_x; }
++ ~X () { printf("~X() this: %p\n", (void*)this); --num_x; }
+ };
+
+ int main (int, char **) {
+Index: b/src/gcc/testsuite/g++.old-deja/g++.mike/p3708a.C
+===================================================================
+--- a/src/gcc/testsuite/g++.old-deja/g++.mike/p3708a.C
++++ b/src/gcc/testsuite/g++.old-deja/g++.mike/p3708a.C
+@@ -38,7 +38,7 @@ public:
+ virtual void xx(int doit) {
+ --num;
+ if (ptr != this)
+- printf("FAIL\n%x != %x\n", ptr, this);
++ printf("FAIL\n%p != %p\n", ptr, (void*)this);
+ printf ("C is destructed.\n");
+ B::xx (0);
+ if (doit) A::xx (1);
+Index: b/src/gcc/testsuite/g++.old-deja/g++.mike/p3708b.C
+===================================================================
+--- a/src/gcc/testsuite/g++.old-deja/g++.mike/p3708b.C
++++ b/src/gcc/testsuite/g++.old-deja/g++.mike/p3708b.C
+@@ -48,7 +48,7 @@ public:
+ virtual void xx(int doit) {
+ --num;
+ if (ptr != this) {
+- printf("FAIL\n%x != %x\n", ptr, this);
++ printf("FAIL\n%p != %p\n", ptr, (void*)this);
+ exit(1);
+ }
+ printf ("D is destructed.\n");
+Index: b/src/gcc/testsuite/g++.old-deja/g++.mike/p3708.C
+===================================================================
+--- a/src/gcc/testsuite/g++.old-deja/g++.mike/p3708.C
++++ b/src/gcc/testsuite/g++.old-deja/g++.mike/p3708.C
+@@ -38,7 +38,7 @@ public:
+ virtual void xx(int doit) {
+ --num;
+ if (ptr != this)
+- printf("FAIL\n%x != %x\n", ptr, this);
++ printf("FAIL\n%p != %p\n", ptr, (void*)this);
+ printf ("C is destructed.\n");
+ B::xx (0);
+ if (doit) A::xx (1);
+Index: b/src/gcc/testsuite/g++.old-deja/g++.mike/p646.C
+===================================================================
+--- a/src/gcc/testsuite/g++.old-deja/g++.mike/p646.C
++++ b/src/gcc/testsuite/g++.old-deja/g++.mike/p646.C
+@@ -35,20 +35,20 @@ int foo::si = 0;
+ foo::foo ()
+ {
+ si++;
+- printf ("new foo @ 0x%x; now %d foos\n", this, si);
++ printf ("new foo @ %p; now %d foos\n", (void*)this, si);
+ }
+
+ foo::foo (const foo &other)
+ {
+ si++;
+- printf ("another foo @ 0x%x; now %d foos\n", this, si);
++ printf ("another foo @ %p; now %d foos\n", (void*)this, si);
+ *this = other;
+ }
+
+ foo::~foo ()
+ {
+ si--;
+- printf ("deleted foo @ 0x%x; now %d foos\n", this, si);
++ printf ("deleted foo @ %p; now %d foos\n", (void*)this, si);
+ }
+
+ int
+Index: b/src/gcc/testsuite/g++.old-deja/g++.mike/p710.C
+===================================================================
+--- a/src/gcc/testsuite/g++.old-deja/g++.mike/p710.C
++++ b/src/gcc/testsuite/g++.old-deja/g++.mike/p710.C
+@@ -30,7 +30,7 @@ class B
+ virtual ~B() {}
+ void operator delete(void*,size_t s)
+ {
+- printf("B::delete() %d\n",s);
++ printf("B::delete() %u\n",(unsigned int)s);
+ }
+ void operator delete(void*){}
+ };
+Index: b/src/gcc/testsuite/g++.old-deja/g++.mike/p789a.C
+===================================================================
+--- a/src/gcc/testsuite/g++.old-deja/g++.mike/p789a.C
++++ b/src/gcc/testsuite/g++.old-deja/g++.mike/p789a.C
+@@ -13,10 +13,10 @@ struct foo
+ int x;
+ foo () {
+ x = count++;
+- printf("this %d = %x\n", x, (void *)this);
++ printf("this %d = %p\n", x, (void *)this);
+ }
+ virtual ~foo () {
+- printf("this %d = %x\n", x, (void *)this);
++ printf("this %d = %p\n", x, (void *)this);
+ --count;
+ }
+ };
+@@ -31,7 +31,7 @@ int main ()
+ {
+ for (int j = 0; j < 3; j++)
+ {
+- printf("&a[%d][%d] = %x\n", i, j, (void *)&array[i][j]);
++ printf("&a[%d][%d] = %p\n", i, j, (void *)&array[i][j]);
+ }
+ }
+ // The count should be nine, if not, fail the test.
+Index: b/src/gcc/testsuite/g++.old-deja/g++.mike/pmf2.C
+===================================================================
+--- a/src/gcc/testsuite/g++.old-deja/g++.mike/pmf2.C
++++ b/src/gcc/testsuite/g++.old-deja/g++.mike/pmf2.C
+@@ -42,7 +42,7 @@ B_table b;
+ bar jar;
+
+ int main() {
+- printf("ptr to B_table=%x, ptr to A_table=%x\n",&b,(A_table*)&b);
++ printf("ptr to B_table=%p, ptr to A_table=%p\n",(void*)&b,(void*)(A_table*)&b);
+ B_table::B_ti_fn z = &B_table::func1;
+ int j = 1;
+ jar.call_fn_fn1(j,(void *)&z);
+Index: b/src/gcc/testsuite/g++.old-deja/g++.mike/temp.C
+===================================================================
+--- a/src/gcc/testsuite/g++.old-deja/g++.mike/temp.C
++++ b/src/gcc/testsuite/g++.old-deja/g++.mike/temp.C
+@@ -7,11 +7,11 @@ class T {
+ public:
+ T() {
+ i = 1;
+- printf("T() at %x\n", this);
++ printf("T() at %p\n", (void*)this);
+ }
+ T(const T& o) {
+ i = o.i;
+- printf("T(const T&) at %x <-- %x\n", this, &o);
++ printf("T(const T&) at %p <-- %p\n", (void*)this, (void*)&o);
+ }
+ T operator +(const T& o) {
+ T r;
+@@ -21,7 +21,7 @@ public:
+ operator int () {
+ return i;
+ }
+- ~T() { printf("~T() at %x\n", this); }
++ ~T() { printf("~T() at %p\n", (void*)this); }
+ } s, b;
+
+ int foo() { return getenv("TEST") == 0; }
+Index: b/src/gcc/testsuite/g++.old-deja/g++.other/temporary1.C
+===================================================================
+--- a/src/gcc/testsuite/g++.old-deja/g++.other/temporary1.C
++++ b/src/gcc/testsuite/g++.old-deja/g++.other/temporary1.C
+@@ -5,16 +5,16 @@ int c, d;
+ class Foo
+ {
+ public:
+- Foo() { printf("Foo() 0x%08lx\n", (__SIZE_TYPE__)this); ++c; }
+- Foo(Foo const &) { printf("Foo(Foo const &) 0x%08lx\n", (__SIZE_TYPE__)this); }
+- ~Foo() { printf("~Foo() 0x%08lx\n", (__SIZE_TYPE__)this); ++d; }
++ Foo() { printf("Foo() %p\n", (void*)this); ++c; }
++ Foo(Foo const &) { printf("Foo(Foo const &) %p\n", (void*)this); }
++ ~Foo() { printf("~Foo() %p\n", (void*)this); ++d; }
+ };
+
+ // Bar creates constructs a temporary Foo() as a default
+ class Bar
+ {
+ public:
+- Bar(Foo const & = Foo()) { printf("Bar(Foo const &) 0x%08lx\n", (__SIZE_TYPE__)this); }
++ Bar(Foo const & = Foo()) { printf("Bar(Foo const &) %p\n", (void*)this); }
+ };
+
+ void fakeRef(Bar *)
+Index: b/src/gcc/testsuite/g++.old-deja/g++.other/virtual8.C
+===================================================================
+--- a/src/gcc/testsuite/g++.old-deja/g++.other/virtual8.C
++++ b/src/gcc/testsuite/g++.old-deja/g++.other/virtual8.C
+@@ -4,7 +4,7 @@ extern "C" int printf (const char*, ...)
+ struct A
+ {
+ virtual void f () {
+- printf ("%x\n", this);
++ printf ("%p\n", (void*)this);
+ }
+ };
+
+Index: b/src/gcc/testsuite/g++.old-deja/g++.pt/memtemp23.C
+===================================================================
+--- a/src/gcc/testsuite/g++.old-deja/g++.pt/memtemp23.C
++++ b/src/gcc/testsuite/g++.old-deja/g++.pt/memtemp23.C
+@@ -13,7 +13,7 @@ struct S
+
+ template <class U>
+ void f(U u)
+- { printf ("In S::f(U)\nsizeof(U) == %d\n", sizeof(u)); }
++ { printf ("In S::f(U)\nsizeof(U) == %d\n", (int)sizeof(u)); }
+
+ int c[16];
+ };
+Index: b/src/gcc/testsuite/g++.old-deja/g++.pt/memtemp24.C
+===================================================================
+--- a/src/gcc/testsuite/g++.old-deja/g++.pt/memtemp24.C
++++ b/src/gcc/testsuite/g++.old-deja/g++.pt/memtemp24.C
+@@ -13,7 +13,7 @@ struct S
+
+ template <class U>
+ void f(U u)
+- { printf ("In S::f(U)\nsizeof(U) == %d\n", sizeof(u)); }
++ { printf ("In S::f(U)\nsizeof(U) == %d\n", (int)sizeof(u)); }
+
+ int c[16];
+ };
+Index: b/src/gcc/testsuite/g++.old-deja/g++.pt/memtemp25.C
+===================================================================
+--- a/src/gcc/testsuite/g++.old-deja/g++.pt/memtemp25.C
++++ b/src/gcc/testsuite/g++.old-deja/g++.pt/memtemp25.C
+@@ -6,7 +6,7 @@ template <class X>
+ struct S
+ {
+ template <class U>
+- void f(U u) { printf ("%d\n", sizeof (U)); }
++ void f(U u) { printf ("%d\n", (int)sizeof (U)); }
+
+ int i[4];
+ };
+Index: b/src/gcc/testsuite/g++.old-deja/g++.pt/memtemp26.C
+===================================================================
+--- a/src/gcc/testsuite/g++.old-deja/g++.pt/memtemp26.C
++++ b/src/gcc/testsuite/g++.old-deja/g++.pt/memtemp26.C
+@@ -16,7 +16,7 @@ template <class X>
+ template <class U>
+ void S<X>::f(U u)
+ {
+- printf ("%d\n", sizeof (U));
++ printf ("%d\n", (int)sizeof (U));
+ }
+
+
+Index: b/src/gcc/testsuite/g++.old-deja/g++.pt/t39.C
+===================================================================
+--- a/src/gcc/testsuite/g++.old-deja/g++.pt/t39.C
++++ b/src/gcc/testsuite/g++.old-deja/g++.pt/t39.C
+@@ -10,9 +10,9 @@ struct frob {
+
+ template <class T>
+ void frob<T>::print () {
+- printf ("this = %08x\n", this);
+- printf (" ptr = %08x\n", ptr);
+- printf (" values = %x %x %x ...\n", ptr[0], ptr[1], ptr[2]);
++ printf ("this = %p\n", (void*)this);
++ printf (" ptr = %p\n", (void*)ptr);
++ printf (" values = %x %x %x ...\n", (int)ptr[0], (int)ptr[1], (int)ptr[2]);
+ }
+
+ static int x[10];
+Index: b/src/gcc/testsuite/g++.old-deja/g++.robertl/eb17.C
+===================================================================
+--- a/src/gcc/testsuite/g++.old-deja/g++.robertl/eb17.C
++++ b/src/gcc/testsuite/g++.old-deja/g++.robertl/eb17.C
+@@ -44,15 +44,15 @@ int main()
+ A * a = new B;
+ B * b = dynamic_cast<B *>(a);
+
+- printf("%p\n",b); // (*2*)
++ printf("%p\n",(void*)b); // (*2*)
+ b->print();
+
+ a = b;
+- printf("%p\n",a);
++ printf("%p\n",(void*)a);
+ a->print();
+
+ a = a->clone();
+- printf("%p\n",a);
++ printf("%p\n",(void*)a);
+ a->print(); // (*1*)
+
+ return 0;
+Index: b/src/gcc/testsuite/gcc.dg/pch/inline-4.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.dg/pch/inline-4.c
++++ b/src/gcc/testsuite/gcc.dg/pch/inline-4.c
+@@ -1,6 +1,6 @@
+ #include "inline-4.h"
+ extern int printf (const char *, ...);
+ int main(void) {
+- printf (getstring());
++ printf ("%s", getstring());
+ return 0;
+ }
--- /dev/null
+# DP: Fix some gcc and g++ testcases to pass with hardening defaults
+
+---
+ src/gcc/testsuite/c-c++-common/asan/strncpy-overflow-1.c | 2 +-
+ src/gcc/testsuite/g++.dg/asan/asan_test.C | 2 +-
+ src/gcc/testsuite/g++.dg/asan/interception-malloc-test-1.C | 2 +-
+ src/gcc/testsuite/g++.dg/fstack-protector-strong.C | 2 +-
+ src/gcc/testsuite/gcc.c-torture/execute/memset-1.c | 1 -
+ src/gcc/testsuite/gcc.c-torture/execute/memset-1.x | 5 +++++
+ src/gcc/testsuite/gcc.dg/fstack-protector-strong.c | 2 +-
+ src/gcc/testsuite/gcc.dg/stack-usage-1.c | 2 +-
+ src/gcc/testsuite/gcc.dg/superblock.c | 2 +-
+ src/gcc/testsuite/gcc.target/i386/sw-1.c | 2 +-
+ 11 files changed, 14 insertions(+), 10 deletions(-)
+
+Index: b/src/gcc/testsuite/g++.dg/asan/asan_test.C
+===================================================================
+--- a/src/gcc/testsuite/g++.dg/asan/asan_test.C
++++ b/src/gcc/testsuite/g++.dg/asan/asan_test.C
+@@ -2,7 +2,7 @@
+ // { dg-skip-if "" { *-*-* } { "*" } { "-O2" } }
+ // { dg-skip-if "" { *-*-* } { "-flto" } { "" } }
+ // { dg-additional-sources "asan_globals_test-wrapper.cc" }
+-// { dg-options "-std=c++11 -fsanitize=address -fno-builtin -Wall -Werror -g -DASAN_UAR=0 -DASAN_HAS_EXCEPTIONS=1 -DASAN_HAS_BLACKLIST=0 -DSANITIZER_USE_DEJAGNU_GTEST=1 -lasan -lpthread -ldl" }
++// { dg-options "-std=c++11 -fsanitize=address -fno-builtin -Wall -Werror -Wno-unused-result -g -DASAN_UAR=0 -DASAN_HAS_EXCEPTIONS=1 -DASAN_HAS_BLACKLIST=0 -DSANITIZER_USE_DEJAGNU_GTEST=1 -lasan -lpthread -ldl" }
+ // { dg-additional-options "-DASAN_NEEDS_SEGV=1" { target { ! arm*-*-* } } }
+ // { dg-additional-options "-DASAN_LOW_MEMORY=1 -DASAN_NEEDS_SEGV=0" { target arm*-*-* } }
+ // { dg-additional-options "-DASAN_AVOID_EXPENSIVE_TESTS=1" { target { ! run_expensive_tests } } }
+Index: b/src/gcc/testsuite/g++.dg/asan/interception-malloc-test-1.C
+===================================================================
+--- a/src/gcc/testsuite/g++.dg/asan/interception-malloc-test-1.C
++++ b/src/gcc/testsuite/g++.dg/asan/interception-malloc-test-1.C
+@@ -1,7 +1,7 @@
+ // ASan interceptor can be accessed with __interceptor_ prefix.
+
+ // { dg-do run { target *-*-linux* } }
+-// { dg-options "-fno-builtin-free" }
++// { dg-options "-fno-builtin-free -Wno-unused-result" }
+ // { dg-additional-options "-D__NO_INLINE__" { target { *-*-linux-gnu } } }
+ // { dg-shouldfail "asan" }
+
+Index: b/src/gcc/testsuite/gcc.c-torture/execute/memset-1.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.c-torture/execute/memset-1.c
++++ b/src/gcc/testsuite/gcc.c-torture/execute/memset-1.c
+@@ -1,3 +1,5 @@
++/* { dg-prune-output ".*warning: memset used with constant zero length parameter.*" } */
++
+ /* Copyright (C) 2002 Free Software Foundation.
+
+ Test memset with various combinations of pointer alignments and lengths to
+Index: b/src/gcc/testsuite/c-c++-common/asan/strncpy-overflow-1.c
+===================================================================
+--- a/src/gcc/testsuite/c-c++-common/asan/strncpy-overflow-1.c
++++ b/src/gcc/testsuite/c-c++-common/asan/strncpy-overflow-1.c
+@@ -1,5 +1,5 @@
+ /* { dg-do run } */
+-/* { dg-options "-fno-builtin-malloc -fno-builtin-strncpy" } */
++/* { dg-options "-fno-builtin-malloc -fno-builtin-strncpy -U_FORTIFY_SOURCE" } */
+ /* { dg-shouldfail "asan" } */
+
+ #include <string.h>
+Index: b/src/gcc/testsuite/gcc.dg/superblock.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.dg/superblock.c
++++ b/src/gcc/testsuite/gcc.dg/superblock.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -fno-asynchronous-unwind-tables -fsched2-use-superblocks -fdump-rtl-sched2 -fdump-rtl-bbro" } */
++/* { dg-options "-O2 -fno-asynchronous-unwind-tables -fsched2-use-superblocks -fdump-rtl-sched2 -fdump-rtl-bbro -fno-stack-protector" } */
+ /* { dg-require-effective-target scheduling } */
+
+ typedef int aligned __attribute__ ((aligned (64)));
+Index: b/src/gcc/testsuite/gcc.dg/stack-usage-1.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.dg/stack-usage-1.c
++++ b/src/gcc/testsuite/gcc.dg/stack-usage-1.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-fstack-usage" } */
++/* { dg-options "-fstack-usage -fno-stack-protector" } */
+ /* nvptx doesn't have a reg allocator, and hence no stack usage data. */
+ /* { dg-skip-if "" { nvptx-*-* } } */
+
+Index: b/src/gcc/testsuite/gcc.target/i386/sw-1.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/sw-1.c
++++ b/src/gcc/testsuite/gcc.target/i386/sw-1.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -mtune=generic -fshrink-wrap -fdump-rtl-pro_and_epilogue" } */
++/* { dg-options "-O2 -mtune=generic -fshrink-wrap -fdump-rtl-pro_and_epilogue -fno-stack-protector" } */
+ /* { dg-skip-if "No shrink-wrapping preformed" { x86_64-*-mingw* } } */
+
+ #include <string.h>
+Index: b/src/gcc/testsuite/gcc.dg/fstack-protector-strong.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.dg/fstack-protector-strong.c
++++ b/src/gcc/testsuite/gcc.dg/fstack-protector-strong.c
+@@ -1,7 +1,7 @@
+ /* Test that stack protection is done on chosen functions. */
+
+ /* { dg-do compile { target i?86-*-* x86_64-*-* rs6000-*-* s390x-*-* } } */
+-/* { dg-options "-O2 -fstack-protector-strong" } */
++/* { dg-options "-O2 -fstack-protector-strong -U_FORTIFY_SOURCE" } */
+
+ /* This test checks the presence of __stack_chk_fail function in assembler.
+ * Compiler generates _stack_chk_fail_local (wrapper) calls instead for PIC.
+Index: b/src/gcc/testsuite/g++.dg/fstack-protector-strong.C
+===================================================================
+--- a/src/gcc/testsuite/g++.dg/fstack-protector-strong.C
++++ b/src/gcc/testsuite/g++.dg/fstack-protector-strong.C
+@@ -1,7 +1,7 @@
+ /* Test that stack protection is done on chosen functions. */
+
+ /* { dg-do compile { target i?86-*-* x86_64-*-* } } */
+-/* { dg-options "-O2 -fstack-protector-strong" } */
++/* { dg-options "-O2 -fstack-protector-strong -U_FORTIFY_SOURCE" } */
+
+ /* This test checks the presence of __stack_chk_fail function in assembler.
+ * Compiler generates _stack_chk_fail_local (wrapper) calls instead for PIC.
+Index: b/src/gcc/testsuite/gcc.c-torture/execute/memset-1.x
+===================================================================
+--- /dev/null
++++ b/src/gcc/testsuite/gcc.c-torture/execute/memset-1.x
+@@ -0,0 +1,5 @@
++# Implement "/* { dg-options "-U_FORITFY_SOURCE" } */", due to
++# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20567
++
++set additional_flags "-U_FORTIFY_SOURCE"
++return 0
--- /dev/null
+<html lang="en">
+<head>
+<title>Porting libstdc++-v3</title>
+<meta http-equiv="Content-Type" content="text/html">
+<meta name="description" content="Porting libstdc++-v3">
+<meta name="generator" content="makeinfo 4.6">
+<meta http-equiv="Content-Style-Type" content="text/css">
+<style type="text/css"><!--
+ pre.display { font-family:inherit }
+ pre.format { font-family:inherit }
+ pre.smalldisplay { font-family:inherit; font-size:smaller }
+ pre.smallformat { font-family:inherit; font-size:smaller }
+ pre.smallexample { font-size:smaller }
+ pre.smalllisp { font-size:smaller }
+--></style>
+</head>
+<body>
+<h1 class="settitle">Porting libstdc++-v3</h1>
+<div class="node">
+<p><hr>
+Node: <a name="Top">Top</a>,
+Next: <a rel="next" accesskey="n" href="#Operating%20system">Operating system</a>,
+Up: <a rel="up" accesskey="u" href="#dir">(dir)</a>
+<br>
+</div>
+
+The documentation in this file was removed, because it is licencensed
+under a non DFSG conforming licencse.
+
+</body></html>
--- /dev/null
+#! /usr/bin/gawk -f
+
+BEGIN {
+ skip=0
+ warn=0
+}
+
+/^-(FAIL|ERROR|UNRESOLVED|WARNING)/ {
+ next
+}
+
+# only compare gcc, g++, g77 and objc results
+/=== treelang tests ===/ {
+ skip=1
+}
+
+# omit extra files appended to test-summary
+/^\+Compiler version/ {
+ skip=1
+}
+
+skip == 0 {
+ print
+ next
+}
+
+/^\+(FAIL|ERROR|UNRESOLVED|WARNING)/ {
+ warn=1
+}
+
+END {
+ exit warn
+}
--- /dev/null
+#! /usr/bin/make -f
+# -*- makefile -*-
+# Build rules for gcc (>= 2.95) and gcc-snapshot
+# Targets found in this makefile:
+# - unpack tarballs
+# - patch sources
+# - (re)create the control file
+# - create a debian/rules.parameters file, which is included
+# by debian/rules2
+# All other targets are passed to the debian/rules2 file
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+unexport LANG LC_ALL LC_CTYPE LC_COLLATE LC_TIME LC_NUMERIC LC_MESSAGES
+
+default: build
+
+include debian/rules.defs
+include debian/rules.unpack
+include debian/rules.patch
+
+control: $(control_dependencies)
+ -mkdir -p $(stampdir)
+ $(MAKE) -f debian/rules.conf $@
+
+configure: control $(unpack_stamp) $(patch_stamp)
+ $(MAKE) -f debian/rules2 $@
+
+pre-build:
+#ifneq (,$(filter $(distrelease),squeeze sid))
+#ifeq (,$(filter $(DEB_TARGET_ARCH),amd64 i386))
+# @echo explicitely fail the build for $(DEB_TARGET_ARCH)
+# @echo no bug report required. please ask the port maintainers if they support gcc-4.5.
+# false
+#endif
+#endif
+
+build: pre-build control
+ $(MAKE) $(NJOBS) -f debian/rules2 $@
+build-arch: pre-build control
+ $(MAKE) $(NJOBS) -f debian/rules2 $@
+build-indep: pre-build control
+ $(MAKE) $(NJOBS) -f debian/rules2 $@
+
+check: $(check_stamp)
+$(check_stamp): $(build_stamp)
+ $(MAKE) -f debian/rules2 $@
+
+clean:
+ rm -rf $(stampdir)
+# remove temporary dirs used for unpacking
+ rm -rf $(gcc_srcdir) $(gdc_srcdir) $(nl_nvptx_srcdir)
+ -$(MAKE) -f debian/rules2 $@
+ rm -rf $(srcdir)* $(builddir)* debian/tmp* html
+ rm -f bootstrap-* first-move-stamp
+ rm -f debian/*.tmp
+ rm -f debian/soname-cache
+ find debian -name '.#*' | xargs -r rm -f
+ rm -f $(series_file)*
+ dh_clean
+
+install:
+ $(MAKE) -f debian/rules2 $@
+
+html-docs doxygen-docs update-doxygen-docs update-ada-files xxx:
+ $(MAKE) -f debian/rules2 $@
+
+binary-indep binary-arch binary:
+ $(MAKE) -f debian/rules2 $@
+
+source diff:
+ @echo >&2 'source and diff are obsolete - use dpkg-source -b'; false
+
+release:
+ foo=$(shell basename $(CURDIR)); \
+ if [ "$$foo" != "gcc-3.4" ]; then \
+ find -name CVS -o -name .cvsignore -o -name '.#*' | \
+ xargs rm -rf; \
+ fi
+
+.NOTPARALLEL:
+.PHONY: build clean binary-indep binary-arch binary release
--- /dev/null
+# -*- makefile -*-
+# rules.conf
+# - used to build debian/control and debian/rules.parameters
+# - assumes unpacked sources
+
+include debian/rules.defs
+include debian/rules.sonames
+
+# manual ...
+ifeq ($(DEB_TARGET_GNU_CPU), $(findstring $(DEB_TARGET_GNU_CPU),hppa m68k))
+ ifeq ($(DEB_TARGET_ARCH),m68k)
+ GCC_SONAME := 2
+ endif
+ ifeq ($(DEB_TARGET_ARCH),hppa)
+ GCC_SONAME := 4
+ endif
+else
+ GCC_SONAME := 1
+endif
+DEB_LIBGCC_SOVERSION := $(DEB_SOEVERSION)
+DEB_LIBGCC_VERSION := $(DEB_EVERSION)
+
+_soname_map = gcc=$(GCC_SONAME) stdc++=$(CXX_SONAME) gomp=$(GOMP_SONAME) \
+ ssp=$(SSP_SONAME) gfortran=$(FORTRAN_SONAME) \
+ itm=$(ITM_SONAME) objc=$(OBJC_SONAME) quadmath=$(QUADMATH_SONAME) \
+ go=$(GO_SONAME) backtrace=$(BTRACE_SONAME) \
+ atomic=$(ATOMIC_SONAME) asan=$(ASAN_SONAME) lsan=$(LSAN_SONAME) \
+ tsan=$(TSAN_SONAME) ubsan=$(UBSAN_SONAME) \
+ vtv=$(VTV_SONAME) mpx=$(MPX_SONAME) \
+ gphobos=$(GPHOBOS_SONAME) hsail-rt=$(HSAIL_SONAME)
+_soname = $(patsubst $(1)=%,%,$(filter $(1)=%,$(_soname_map)))
+
+rel_on_dev := $(if $(cross_lib_arch),>=,=)
+# $(call _lib_name,<name>,<biarch>,<ext>)
+_lib_name = $(subst $(SPACE),, \
+ lib$(2)$(1) \
+ $(if $(filter dev,$(3)),,$(call _soname,$(1))) \
+ $(if $(or $(filter $(3),dev),$(and $(filter $(3),dbg),$(filter $(1),stdc++))),-$(BASE_VERSION)) \
+ $(if $(3),-$(3))$(LS)$(AQ))
+# $(call _lib_vers,<ext>,<vers>)
+_lib_vers = ($(if $(filter $(1),dev),$(rel_on_dev),>=) $(2))
+
+# Helper to generate biarch/triarch dependencies.
+# For example, $(eval $(call gen_multilib_deps,gomp)) will create the
+# libgompbiarch variable, and make it contains the libgompbiarch{32,64,n32}
+# variables if biarch{32,64,n32} is set to yes.
+
+define gen_multilib_deps
+ lib$1biarch64$2 := $(call _lib_name,$(1),64,$(2)) $(call _lib_vers,$(2),$(3))
+ lib$1biarch32$2 := $(call _lib_name,$(1),32,$(2)) $(call _lib_vers,$(2),$(3))
+ lib$1biarchn32$2 := $(call _lib_name,$(1),n32,$(2)) $(call _lib_vers,$(2),$(3))
+ lib$1biarchx32$2 := $(call _lib_name,$(1),x32,$(2)) $(call _lib_vers,$(2),$(3))
+ lib$1biarchhf$2 := $(call _lib_name,$(1),hf,$(2)) $(call _lib_vers,$(2),$(3))
+ lib$1biarchsf$2 := $(call _lib_name,$(1),sf,$(2)) $(call _lib_vers,$(2),$(3))
+ ifeq ($$(biarch64),yes)
+ lib$1biarch$2 := $$(lib$1biarch64$2)
+ endif
+ ifeq ($$(biarch32),yes)
+ ifeq ($$(biarch64),yes)
+ lib$1biarch$2 := $$(lib$1biarch64$2), $$(lib$1biarch32$2)
+ else
+ lib$1biarch$2 := $$(lib$1biarch32$2)
+ endif
+ endif
+ ifeq ($$(biarchx32),yes)
+ ifeq ($1,mpx)
+ ifeq ($$(biarch64),yes)
+ lib$1biarch$2 := $$(lib$1biarch64$2)
+ else ifeq ($$(biarch32),yes)
+ lib$1biarch$2 := $$(lib$1biarch32$2)
+ else
+ lib$1biarch$2 :=
+ endif
+ else ifeq ($$(biarch64),yes)
+ lib$1biarch$2 := $$(lib$1biarch64$2), $$(lib$1biarchx32$2)
+ else ifeq ($$(biarch32),yes)
+ lib$1biarch$2 := $$(lib$1biarch32$2), $$(lib$1biarchx32$2)
+ else
+ lib$1biarch$2 := $$(lib$1biarchx32$2)
+ endif
+ endif
+ ifeq ($$(biarchn32),yes)
+ ifeq ($$(biarch64),yes)
+ lib$1biarch$2 := $$(lib$1biarch64$2), $$(lib$1biarchn32$2)
+ else ifeq ($$(biarch32),yes)
+ lib$1biarch$2 := $$(lib$1biarch32$2), $$(lib$1biarchn32$2)
+ else
+ lib$1biarch$2 := $$(lib$1biarchn32$2)
+ endif
+ endif
+ ifeq ($$(biarchhf),yes)
+ lib$1biarch$2 := $$(lib$1biarchhf$2) | $(call _lib_name,$(1),hf,$(2))
+ endif
+ ifeq ($$(biarchsf),yes)
+ lib$1biarch$2 := $$(lib$1biarchsf$2) | $(call _lib_name,$(1),sf,$(2))
+ endif
+endef
+ifeq ($(with_shared_libgcc),yes)
+ LIBGCC_DEP := libgcc$(GCC_SONAME)$(LS)$(AQ) (>= $(DEB_LIBGCC_VERSION))
+ $(eval $(call gen_multilib_deps,gcc,,$(DEB_LIBGCC_VERSION)))
+endif
+LIBGCC_DEV_DEP := libgcc-$(BASE_VERSION)-dev$(LS)$(AQ) ($(rel_on_dev) $(DEB_VERSION))
+$(foreach x,stdc++ gomp ssp gfortran itm objc atomic asan lsan mpx ubsan quadmath go vtv, \
+ $(eval $(call gen_multilib_deps,$(x),,$$$${gcc:Version})))
+$(foreach x,gcc stdc++ gfortran objc go gphobos, \
+ $(eval $(call gen_multilib_deps,$(x),dev,$$$${gcc:Version})))
+$(foreach x,gcc stdc++ gfortran objc go gphobos, \
+ $(eval $(call gen_multilib_deps,$(x),dbg,$$$${gcc:Version})))
+
+# Helper to generate _no_archs variables.
+# For example, $(eval $(call gen_no_archs,go)) will create the go_no_archs
+# variable, using the go_no_cpu and go_no_systems variables.
+define gen_no_archs
+ $1_no_archs :=
+ ifneq (,$$($1_no_cpus))
+ $1_no_archs += $$(foreach cpu,$$(filter-out i386 amd64 alpha arm,$$($1_no_cpus)),!$$(cpu))
+ ifneq (,$$(filter i386,$$($1_no_cpus)))
+ $1_no_archs += !i386 !hurd-i386 !kfreebsd-i386
+ endif
+ ifneq (,$$(filter amd64,$$($1_no_cpus)))
+ $1_no_archs += !amd64 !kfreebsd-amd64
+ endif
+ ifneq (,$$(filter alpha,$$($1_no_cpus)))
+ $1_no_archs += !alpha !hurd-alpha
+ endif
+ ifneq (,$$(filter arm,$$($1_no_cpus)))
+ $1_no_archs += !arm !armel !armhf
+ endif
+ ifneq (,$$(strip $3))
+ $1_no_systems_tmp := $$(subst $$(SPACE)gnu$$(SPACE),$$(SPACE)hurd-gnu$$(SPACE),$$(SPACE)$3$$(SPACE))
+ $1_no_archs += $$(foreach cpu,$$($1_no_cpus),$$(foreach system,$$($1_no_systems_tmp),!$$(subst gnu,$$(cpu),$$(system))))
+ endif
+ endif
+ ifneq (,$$($1_no_systems))
+ $1_no_systems_tmp := $$(subst $$(SPACE)gnu$$(SPACE),$$(SPACE)hurd-gnu$$(SPACE),$$(SPACE)$$($1_no_systems)$$(SPACE))
+ $1_no_archs += $$(foreach system,$$($1_no_systems_tmp),$$(foreach cpu,$2,!$$(subst gnu,$$(cpu),$$(system))))
+ endif
+ $1_no_archs := $$(strip $$($1_no_archs))
+endef
+base_deb_cpus := amd64 i386 alpha
+base_deb_systems :=
+$(foreach x,ada fortran libgphobos libgc check locale,$(eval $(call gen_no_archs,$(x),$(base_deb_cpus),$(base_deb_systems))))
+linux_no_archs := !hurd-any !kfreebsd-any
+
+GCC_VERSION := $(strip $(shell cat $(firstword $(wildcard $(srcdir)/gcc/FULL-VER $(srcdir)/gcc/BASE-VER))))
+NEXT_GCC_VERSION := $(shell echo $(GCC_VERSION) | \
+ awk -F. '{OFS="."; $$2 += 1; $$3=0; print}')
+GCC_MAJOR_VERSION := $(shell echo $(GCC_VERSION) | sed -r 's/([0-9])\.[0-9]\.[0-9]/\1/')
+GCC_MINOR_VERSION := $(shell echo $(GCC_VERSION) | sed -r 's/[0-9]\.([0-9])\.[0-9]/\1/')
+GCC_RELEASE_VERSION := $(shell echo $(GCC_VERSION) | sed -r 's/[0-9]\.[0-9]\.([0-9])/\1/')
+NEXT_GCC_MAJOR_VERSION := $(shell expr $(echo $(GCC_MAJOR_VERSION)) + 1)
+NEXT_GCC_MINOR_VERSION := $(shell expr $(echo $(GCC_MINOR_VERSION)) + 1)
+NEXT_GCC_RELEASE_VERSION := $(shell expr $(echo $(GCC_MAJOR_VERSION)) + 1)
+
+ifeq ($(single_package),yes)
+ BASE_VERSION := $(shell echo $(GCC_VERSION) | sed -e 's/\([1-9]*\).*/\1/')
+endif
+
+GCC_SOURCE_VERSION := $(shell echo $(DEB_VERSION) | sed 's/-.*//')
+NEXT_GCC_SOURCE_VERSION := $(shell echo $(GCC_SOURCE_VERSION) | \
+ awk -F. '{OFS="."; $$2 += 1; $$3=0; print}')
+
+MAINTAINER = Debian GCC Maintainers <debian-gcc@lists.debian.org>
+ifeq ($(distribution),Ubuntu)
+ ifneq (,$(findstring $(PKGSOURCE),gnat gdc))
+ MAINTAINER = Ubuntu MOTU Developers <ubuntu-motu@lists.ubuntu.com>
+ else
+ MAINTAINER = Ubuntu Core developers <ubuntu-devel-discuss@lists.ubuntu.com>
+ endif
+endif
+
+UPLOADERS = Matthias Klose <doko@debian.org>
+ifneq (,$(findstring $(PKGSOURCE),gnat))
+ UPLOADERS = Ludovic Brenta <lbrenta@debian.org>
+endif
+ifneq (,$(findstring $(PKGSOURCE),gdc))
+ UPLOADERS = Iain Buclaw <ibuclaw@ubuntu.com>, Matthias Klose <doko@debian.org>
+endif
+
+DPKGV = 1.14.15
+ifeq ($(with_multiarch_lib),yes)
+ DPKGV = 1.16.0~ubuntu4
+endif
+ifeq ($(multiarch_stage1),yes)
+ DPKGV = 1.16.0~ubuntu4
+endif
+ifeq (,$(filter $(distrelease),lenny etch squeeze wheezy dapper hardy jaunty karmic lucid maverick natty oneiric precise quantal raring saucy trusty utopic))
+ DPKGV = 1.17.14
+endif
+DPKG_BUILD_DEP = dpkg-dev (>= $(DPKGV)),
+
+ifeq ($(DEB_HOST_ARCH),$(DEB_TARGET_ARCH))
+ TARGET_QUAL = :$(DEB_TARGET_ARCH)
+endif
+
+# The binutils version needed.
+# The oldest suitable versions for the various platforms can be found in
+# INSTALL/specific.html ; we take a tighter dependency if possible to be on
+# the safe side (something like newest( version in stable, versions for the
+# various platforms in INSTALL/specific.html) ).
+# We need binutils (>= 2.19.1) for a new dwarf unwind expression opcode.
+# See http://gcc.gnu.org/ml/gcc-patches/2008-09/msg01713.html
+ifeq ($(trunk_build),yes)
+ BINUTILSBDV = 2.23
+else
+ BINUTILSBDV = 2.22
+ ifneq (,$(filter $(distrelease),vivid))
+ BINUTILSBDV = 2.25-3~
+ else ifneq (,$(filter $(distrelease),trusty))
+ BINUTILSBDV = 2.24-5~
+ else ifneq (,$(filter $(distrelease),jessie))
+ BINUTILSBDV = 2.25-7~
+ else ifneq (,$(filter $(distrelease),xenial))
+ BINUTILSBDV = 2.26.1
+ else ifneq (,$(filter $(distrelease),stretch zesty))
+ BINUTILSBDV = 2.28
+ else ifneq (,$(filter $(distrelease),artful))
+ BINUTILSBDV = 2.29.1
+ else ifneq (,$(filter $(distrelease),bionic))
+ BINUTILSBDV = 2.30
+ else
+ BINUTILSBDV = 2.30
+ endif
+endif
+ifeq ($(DEB_CROSS),yes)
+ BINUTILS_BUILD_DEP = binutils$(TS)$(NT) (>= $(BINUTILSBDV)), binutils-multiarch$(NT) (>= $(BINUTILSBDV))
+ BINUTILSV := $(shell dpkg -l binutils$(TS) \
+ | awk '/^ii/{print $$3;exit}' | sed 's/-.*//')
+else
+ BINUTILS_BUILD_DEP = binutils$(NT) (>= $(BINUTILSBDV)) | binutils-multiarch$(NT) (>= $(BINUTILSBDV))
+ ifneq (,$(findstring cross-build-,$(build_type)))
+ BINUTILSV := $(shell dpkg -l binutils$(TS) \
+ | awk '/^ii/{print $$3;exit}' | sed 's/-.*//')
+ else
+ BINUTILSV := $(shell dpkg -l binutils binutils-multiarch \
+ | awk '/^ii/{print $$3;exit}' | sed 's/-.*//')
+ endif
+endif
+ifneq (,$(filter $(build_type), build-native cross-build-native))
+ ifeq (,$(filter gccgo% gnat%, $(PKGSOURCE)))
+ BINUTILS_BUILD_DEP += , $(binutils_hppa64)$(NT) (>= $(BINUTILSBDV)) [$(hppa64_archs)]
+ endif
+endif
+ifeq (,$(BINUTILSV))
+ BINUTILSV := $(BINUTILSBDV)
+endif
+
+# FIXME; stripping doesn't work with gold
+#BINUTILS_BUILD_DEP += , binutils-gold (>= $(BINUTILSV)) [$(gold_archs)]
+
+# libc-dev dependencies
+libc_ver := 2.11
+libc_dev_ver := $(libc_ver)
+ifeq ($(with_multiarch_lib),yes)
+ ifeq ($(derivative),Debian)
+ libc_dev_ver := 2.13-5
+ else
+ libc_dev_ver := 2.13-0ubuntu6
+ endif
+endif
+# first set LIBC_DEP/LIBC_DEV_DEP for native builds only
+ifeq ($(DEB_TARGET_ARCH_OS),linux)
+ ifneq (,$(findstring $(DEB_TARGET_ARCH),alpha ia64))
+ LIBC_DEP = libc6.1
+ else
+ LIBC_DEP = libc6
+ endif
+ ifneq (,$(findstring musl-linux-,$(DEB_TARGET_ARCH)))
+ LIBC_DEP = musl
+ libc_ver = 0.9
+ libc_dev_ver = 0.9
+ endif
+else
+ ifeq ($(DEB_TARGET_ARCH_OS),hurd)
+ LIBC_DEP = libc0.3
+ endif
+ ifeq ($(DEB_TARGET_ARCH_OS),kfreebsd)
+ LIBC_DEP = libc0.1
+ endif
+ ifeq ($(DEB_TARGET_ARCH),uclibc)
+ LIBC_DEP = libuclibc
+ endif
+endif
+LIBC_DEV_DEP := $(LIBC_DEP)-dev
+
+# this is about Debian archs name, *NOT* GNU target triplet
+biarch_deb_map := \
+ i386=amd64 amd64=i386 \
+ mips=mips64 mipsel=mips64el \
+ mipsn32=mips mipsn32el=mipsel \
+ mips64=mips mips64el=mipsel \
+ mipsr6=mips64r6 mipsr6el=mips64r6el \
+ mipsn32r6=mipsr6 mipsn32r6el=mipsr6el \
+ mips64r6=mipsr6 mips64r6el=mipsr6el \
+ powerpc=ppc64 ppc64=powerpc \
+ sparc=sparc64 sparc64=sparc\
+ s390=s390x s390x=s390 \
+ kfreebsd-amd64=i386 \
+ armel=armhf \
+ armhf=armel
+biarch_deb_arch := $(patsubst $(DEB_TARGET_ARCH)=%,%, \
+ $(filter $(DEB_TARGET_ARCH)=%,$(biarch_deb_map)))
+
+LIBC_BIARCH_DEP :=
+LIBC_BIARCH_DEV_DEP :=
+ifneq (,$(findstring yes,$(biarch64) $(biarch32) $(biarchn32) $(biarchx32)$(biarchhf)$(biarchsf)))
+ LIBC_BIARCH_DEP := $${shlibs:Depends}
+ LIBC_BIARCH_DEV_DEP := $(LIBC_DEV_DEP)-$(biarch_deb_arch)$(LS)$(AQ) (>= $(libc_ver))
+ # amd64, x32, i386
+ ifneq (,$(findstring $(DEB_TARGET_ARCH),amd64 x32 i386))
+ ifeq ($(biarch64)$(biarch32),yesyes)
+ LIBC_BIARCH_DEV_DEP := $(LIBC_DEV_DEP)-amd64$(LS)$(AQ) (>= $(libc_ver)), $(LIBC_DEV_DEP)-i386$(LS)$(AQ) (>= $(libc_ver))
+ endif
+ ifeq ($(biarch64)$(biarchx32),yesyes)
+ LIBC_BIARCH_DEV_DEP := $(LIBC_DEV_DEP)-amd64$(LS)$(AQ) (>= $(libc_ver)), $(LIBC_DEV_DEP)-x32$(LS)$(AQ) (>= $(libc_ver))
+ endif
+ ifeq ($(biarch32)$(biarchx32),yesyes)
+ LIBC_BIARCH_DEV_DEP := $(LIBC_DEV_DEP)-i386$(LS)$(AQ) (>= $(libc_ver)), $(LIBC_DEV_DEP)-x32$(LS)$(AQ) (>= $(libc_ver))
+ endif
+ endif
+ # mips*
+ ifneq (,$(findstring $(DEB_TARGET_ARCH),mips mipsel mipsn32 mipsn32el mips64 mips64el mipsr6 mipsr6el mipsn32r6 mipsn32r6el mips64r6 mips64r6el))
+ ifeq ($(biarchn32)$(biarch32),yesyes)
+ LIBC_BIARCH_DEV_DEP := libc6-dev-mips32$(LS)$(AQ) (>= $(libc_ver)), libc6-dev-mipsn32$(LS)$(AQ) (>= $(libc_ver))
+ endif
+ ifeq ($(biarch64)$(biarch32),yesyes)
+ triarch := $(COMMA)$(SPACE)
+ LIBC_BIARCH_DEV_DEP := libc6-dev-mips32$(LS)$(AQ) (>= $(libc_ver)), libc6-dev-mips64$(LS)$(AQ) (>= $(libc_ver))
+ endif
+ ifeq ($(biarchn32)$(biarch64),yesyes)
+ triarch := $(COMMA)$(SPACE)
+ LIBC_BIARCH_DEV_DEP := libc6-dev-mips64$(LS)$(AQ) (>= $(libc_ver)), libc6-dev-mipsn32$(LS)$(AQ) (>= $(libc_ver))
+ endif
+ endif
+
+ ifeq ($(biarchhf),yes)
+ LIBC_BIARCH_DEP := $(LIBC_DEP)-$(biarch_deb_arch)$(LS)$(AQ) (>= $(libc_ver))
+ LIBC_BIARCH_DEP += | $(LIBC_DEP)-$(biarch_deb_arch)$(LS)$(AQ)
+ LIBC_BIARCH_DEV_DEP += | $(LIBC_DEV_DEP)-$(biarch_deb_arch)$(LS)$(AQ)
+ endif
+ ifeq ($(biarchsf),yes)
+ LIBC_BIARCH_DEP := $(LIBC_DEP)-$(biarch_deb_arch)$(LS)$(AQ) (>= $(libc_ver))
+ LIBC_BIARCH_DEP += | $(LIBC_DEP)-$(biarch_deb_arch)$(LS)$(AQ)
+ LIBC_BIARCH_DEV_DEP += | $(LIBC_DEV_DEP)-$(biarch_deb_arch)$(LS)$(AQ)
+ endif
+endif
+
+# now add the cross suffix and required version
+LIBC_DEP := $(LIBC_DEP)$(LS)$(AQ)
+LIBC_DEV_DEP := $(LIBC_DEV_DEP)$(LS)$(AQ) (>= $(libc_dev_ver))
+
+ifneq (,$(filter $(build_type), build-native cross-build-native))
+ LIBC_DBG_DEP = libc6.1-dbg [alpha ia64] | libc0.3-dbg [hurd-i386] | libc0.1-dbg [kfreebsd-i386 kfreebsd-amd64] | libc6-dbg,
+endif
+
+# TODO: make this automatic, there must be a better way to define LIBC_DEP.
+ifneq ($(DEB_CROSS),yes)
+ LIBC_BUILD_DEP = libc6.1-dev (>= $(libc_dev_ver)) [alpha ia64] | libc0.3-dev (>= $(libc_dev_ver)) [hurd-i386] | libc0.1-dev (>= $(libc_dev_ver)) [kfreebsd-i386 kfreebsd-amd64] | libc6-dev (>= $(libc_dev_ver))
+ ifeq (,$(filter $(distrelease),lenny etch squeeze dapper hardy jaunty karmic lucid maverick natty oneiric))
+ LIBC_BUILD_DEP += , libc6-dev (>= 2.13-31) [armel armhf]
+ endif
+ LIBC_BIARCH_BUILD_DEP = libc6-dev-amd64 [i386 x32], libc6-dev-sparc64 [sparc], libc6-dev-sparc [sparc64], libc6-dev-s390 [s390x], libc6-dev-s390x [s390], libc6-dev-i386 [amd64 x32], libc6-dev-powerpc [ppc64], libc6-dev-ppc64 [powerpc], libc0.1-dev-i386 [kfreebsd-amd64], lib32gcc1 [amd64 ppc64 kfreebsd-amd64 mipsn32 mipsn32el mips64 mips64el s390x sparc64 x32], libn32gcc1 [mips mipsel mips64 mips64el], lib64gcc1 [i386 mips mipsel mipsn32 mipsn32el powerpc sparc s390 x32], libc6-dev-mips64 [mips mipsel mipsn32 mipsn32el], libc6-dev-mipsn32 [mips mipsel mips64 mips64el], libc6-dev-mips32 [mipsn32 mipsn32el mips64 mips64el],
+ ifeq (yes,$(MIPS_R6_ENABLED))
+ LIBC_BIARCH_BUILD_DEP = libc6-dev-amd64 [i386 x32], libc6-dev-sparc64 [sparc], libc6-dev-sparc [sparc64], libc6-dev-s390 [s390x], libc6-dev-s390x [s390], libc6-dev-i386 [amd64 x32], libc6-dev-powerpc [ppc64], libc6-dev-ppc64 [powerpc], libc0.1-dev-i386 [kfreebsd-amd64], lib32gcc1 [amd64 ppc64 kfreebsd-amd64 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el s390x sparc64 x32], libn32gcc1 [mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el], lib64gcc1 [i386 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el powerpc sparc s390 x32], libc6-dev-mips64 [mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el], libc6-dev-mipsn32 [mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el], libc6-dev-mips32 [mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el],
+ endif
+ifneq (,$(findstring amd64,$(biarchx32archs)))
+ LIBC_BIARCH_BUILD_DEP += libc6-dev-x32 [amd64 i386], libx32gcc1 [amd64 i386],
+endif
+ifneq (,$(findstring armel,$(biarchhfarchs)))
+ LIBC_BIARCH_BUILD_DEP += libc6-dev-armhf [armel], libhfgcc1 [armel],
+endif
+ifneq (,$(findstring armhf,$(biarchsfarchs)))
+ LIBC_BIARCH_BUILD_DEP += libc6-dev-armel [armhf], libsfgcc1 [armhf],
+endif
+else
+ LIBC_BUILD_DEP = $(LIBC_DEV_DEP),
+ ifneq ($(LIBC_BIARCH_DEV_DEP),)
+ LIBC_BIARCH_BUILD_DEP = $(LIBC_BIARCH_DEV_DEP),
+ else
+ LIBC_BIARCH_BUILD_DEP =
+ endif
+endif
+
+# needed for the include/asm symlink to run the testsuite for
+# non default multilibs
+ifneq (,$(multilib_archs))
+ GCC_MULTILIB_BUILD_DEP = g++-multilib [$(multilib_archs)]$(pf_ncross),
+endif
+
+LIBUNWIND_DEV_DEP := libunwind8-dev$(LS)$(AQ)
+LIBUNWIND_BUILD_DEP := $(LIBUNWIND_DEV_DEP) [ia64],
+LIBATOMIC_OPS_BUILD_DEP := libatomic-ops-dev$(LS) [ia64],
+ifneq ($(DEB_TARGET_ARCH),ia64)
+ LIBUNWIND_DEV_DEP := # nothing
+else ifneq (,$(filter $(DEB_STAGE),stage1 stage2))
+ LIBUNWIND_DEV_DEP := # nothing
+endif
+
+ifneq (,$(filter $(distrelease),lenny etch squeeze dapper hardy jaunty karmic lucid maverick natty))
+ GMP_BUILD_DEP = libgmp3-dev | libgmp-dev (>= 2:5.0.1~),
+ MPFR_BUILD_DEP = libmpfr-dev,
+else
+ GMP_BUILD_DEP = libgmp-dev (>= 2:5.0.1~),
+ MPFR_BUILD_DEP = libmpfr-dev (>= 3.0.0-9~),
+endif
+
+ISL_BUILD_DEP = libisl-dev,
+ifneq (,$(filter $(distrelease),cosmic buster sid experimental))
+ ISL_BUILD_DEP = libisl-dev (>= 0.20),
+endif
+
+ifneq (,$(filter $(distrelease),lenny etch squeeze wheezy dapper hardy jaunty karmic lucid maverick natty oneiric precise quantal raring))
+ MPC_BUILD_DEP = libmpc-dev,
+else
+ MPC_BUILD_DEP = libmpc-dev (>= 1.0),
+endif
+
+SOURCE_BUILD_DEP :=
+ifeq (,$(findstring gcc,$(PKGSOURCE)))
+ SOURCE_BUILD_DEP := gcc-$(BASE_VERSION)-source (>= $(GCC_SOURCE_VERSION)), gcc-$(BASE_VERSION)-source (<< $(NEXT_GCC_SOURCE_VERSION)),
+endif
+
+CHECK_BUILD_DEP := dejagnu [$(check_no_archs)] <!nocheck>,
+
+AUTO_BUILD_DEP := m4, libtool,
+AUTO_BUILD_DEP += autoconf2.64,
+
+ifeq (,$(filter $(distrelease),lenny etch squeeze wheezy dapper hardy jaunty karmic lucid maverick natty oneiric precise quantal raring saucy trusty))
+ SDT_BUILD_DEP = systemtap-sdt-dev [linux-any kfreebsd-any hurd-any],
+endif
+
+# ensure that the common libs, built from the next GCC version are available
+ifeq ($(PKGSOURCE),gcc-$(BASE_VERSION))
+ ifneq ($(with_common_libs),yes)
+ BASE_BUILD_DEP = gcc-8-base,
+ endif
+endif
+
+OFFLOAD_BUILD_DEP += nvptx-tools [$(nvptx_archs)],
+
+PHOBOS_BUILD_DEP = lib32z1-dev [amd64 kfreebsd-amd64], lib64z1-dev [i386],
+ifeq ($(derivative),Ubuntu)
+ PHOBOS_BUILD_DEP += libx32z1-dev [amd64 kfreebsd-amd64 i386],
+endif
+
+ifneq ($(DEB_CROSS),yes)
+# all archs for which to create b-d's
+any_archs = alpha amd64 armel armhf arm64 i386 mips mipsel mips64 mips64el mipsn32 powerpc powerpcspe ppc64 ppc64el m68k sh4 sparc64 s390x x32
+ifeq (yes,$(MIPS_R6_ENABLED))
+ any_archs += mipsn32el mipsr6 mipsr6el mips64r6 mips64r6el mipsn32r6 mipsn32r6el
+endif
+ifeq (,$(filter $(DEB_HOST_ARCH),$(any_archs)))
+any_archs += $(DEB_HOST_ARCH)
+endif
+
+arch_gnutype_map := $(foreach a,$(any_archs),$(a)=$(shell CC=true dpkg-architecture -f -a$(a) -qDEB_HOST_GNU_TYPE))
+_gnu_type = $(subst $1=,,$(filter $1=%,$(arch_gnutype_map)))
+_gnu_suffix = -$(subst _,-,$(call _gnu_type,$1))
+
+ifneq (,$(filter $(distrelease),lenny etch squeeze wheezy wheezy dapper hardy jaunty karmic lucid maverick natty oneiric precise quantal raring saucy trusty utopic vivid))
+ DEBHELPER_BUILD_DEP = debhelper (>= 9),
+ TARGET_TOOL_BUILD_DEP = bash, # non-empty line
+ pf_cross =
+ pf_ncross =
+else
+ DEBHELPER_BUILD_DEP = debhelper (>= 9.20141010),
+ TARGET_TOOL_BUILD_DEP = \
+ $(foreach a, $(any_archs), \
+ g++-$(BASE_VERSION)$(call _gnu_suffix,$(a)) [$(a)] <cross>, \
+ $(if $(filter $(a), avr),, \
+ gobjc-$(BASE_VERSION)$(call _gnu_suffix,$(a)) [$(a)] <cross>,) \
+ gfortran-$(BASE_VERSION)$(call _gnu_suffix,$(a)) [$(a)] <cross>, \
+ $(if $(filter $(a), s390 sh4),, \
+ gdc-$(BASE_VERSION)$(call _gnu_suffix,$(a)) [$(a)] <cross>,) \
+ $(if $(filter $(a), hppa m68k sh4),, \
+ gccgo-$(BASE_VERSION)$(call _gnu_suffix,$(a)) [$(a)] <cross>,) \
+ $(if $(filter $(a), m68k),, \
+ gnat-$(BASE_VERSION)$(call _gnu_suffix,$(a)) [$(a)] <cross>,) \
+ )
+ pf_cross = $(SPACE)<cross>
+ pf_ncross = $(SPACE)<!cross>
+ NT = :native
+endif
+
+ifeq ($(single_package),yes)
+ LIBSTDCXX_BUILD_INDEP = doxygen (>= 1.7.2), graphviz (>= 2.2), ghostscript, texlive-latex-base
+ LIBSTDCXX_BUILD_INDEP +=, xsltproc, libxml2-utils, docbook-xsl-ns
+endif
+
+ifeq ($(PKGSOURCE),gcc-$(BASE_VERSION))
+ LIBSTDCXX_BUILD_INDEP = doxygen (>= 1.7.2), graphviz (>= 2.2), ghostscript, texlive-latex-base
+ ifeq (,$(filter $(distrelease),lenny etch dapper hardy jaunty karmic lucid maverick natty oneiric))
+ LIBSTDCXX_BUILD_INDEP +=, xsltproc, libxml2-utils, docbook-xsl-ns
+ endif
+endif
+
+GO_BUILD_DEP := netbase,
+
+# try to build with itself, or with the last version
+ifneq (,$(filter $(distrelease), squeeze lucid))
+ gnat_build_dep :=
+else ifneq (,$(filter $(distrelease), jessie))
+ gnat_build_dep := gnat-4.9$(NT) [$(ada_no_archs)], g++-4.9$(NT)
+else ifneq (,$(filter $(distrelease), wheezy precise trusty wily xenial))
+ gnat_build_dep := gnat-5$(NT) [$(ada_no_archs)], g++-5$(NT)
+else ifneq (,$(filter $(distrelease), stretch yakkety zesty))
+ gnat_build_dep := gnat-6$(NT) [$(ada_no_archs) !powerpcspe !x32], g++-7 [powerpcspe x32], gnat-7 [powerpcspe x32], g++-6$(NT)
+#else ifneq (,$(filter $(distrelease), buster sid artful bionic))
+# gnat_build_dep := gnat-7$(NT) [$(ada_no_archs)], g++-7$(NT)
+else
+ gnat_build_dep := gnat-8$(NT) [$(ada_no_archs) !powerpcspe], g++-8$(NT)
+endif
+ifneq (,$(filter $(DEB_STAGE),stage1 stage2))
+ gnat_build_dep :=
+endif
+
+ifeq ($(PKGSOURCE),gcc-$(BASE_VERSION))
+ ifneq ($(with_separate_gnat),yes)
+ # Build gnat as part of the combined gcc-x.y source package. Do not fail
+ # if gnat is not present on unsupported architectures; the build scripts
+ # will not use gnat anyway.
+ GNAT_BUILD_DEP := $(gnat_build_dep),
+ endif
+else ifeq ($(single_package),yes)
+ # Ditto, as part of the gcc-snapshot package.
+ GNAT_BUILD_DEP := $(gnat_build_dep),
+else ifeq ($(PKGSOURCE),gnat-$(BASE_VERSION))
+ # Special source package just for gnat. Fail early if gnat is not present,
+ # rather than waste CPU cycles and fail later.
+ # Bootstrap step needs a gnatgcc symbolic link.
+ GNAT_BUILD_DEP := $(gnat_build_dep),
+ GNAT_BUILD_DEP += $(SOURCE_BUILD_DEP)
+ GDC_BUILD_DEP :=
+ GO_BUILD_DEP :=
+else ifeq ($(PKGSOURCE),gdc-$(BASE_VERSION))
+ # Special source package just for gdc.
+ GNAT_BUILD_DEP :=
+ GDC_BUILD_DEP := $(SOURCE_BUILD_DEP)
+ GO_BUILD_DEP :=
+else ifeq ($(PKGSOURCE),gccgo-$(BASE_VERSION))
+ # Special source package just for gccgo.
+ GNAT_BUILD_DEP :=
+ GDC_BUILD_DEP := $(SOURCE_BUILD_DEP)
+endif
+
+
+else
+# build cross compiler
+ CROSS_BUILD_DEP := libc6-dev$(cross_lib_arch),
+ifneq (,$(findstring cross-build-,$(build_type)))
+ CROSS_BUILD_DEP += zlib1g-dev$(cross_lib_arch), libmpfr-dev$(cross_lib_arch),
+endif
+ SOURCE_BUILD_DEP :=
+ ifeq (,$(findstring gcc,$(PKGSOURCE)))
+ SOURCE_BUILD_DEP := gcc-$(BASE_VERSION)-source (>= $(GCC_SOURCE_VERSION)), gcc-$(BASE_VERSION)-source (<< $(NEXT_GCC_SOURCE_VERSION)),
+ endif
+ GNAT_BUILD_DEP :=
+ arch_gnutype_map = $(DEB_TARGET_ARCH)=$(TARGET_ALIAS)
+endif # cross compiler
+
+BASE_BREAKS := gnat (<< 7), gnat-6 (<< 6.4)
+# these would need proper updates, and are only needed for upgrades
+ifneq (,$(filter $(distrelease),stretch jessie trusty xenial bionic cosmic))
+ BASE_BREAKS :=
+endif
+
+
+# The numeric part of the gcc version number (x.yy.zz)
+NEXT_GCC_VERSION := $(shell echo $(GCC_VERSION) | \
+ awk -F. '{OFS="."; if (NF==2) $$3=1; else $$NF += 1; print}')
+# first version with a new path component in gcc_lib_dir (i.e. GCC_VERSION
+# or TARGET_ALIAS changes), or last version available for all architectures
+DEB_GCC_SOFT_VERSION := 8
+DEB_GNAT_SOFT_VERSION := 8
+
+ifeq ($(with_d),yes)
+ GDC_VERSION := $(BASE_VERSION)
+ DEB_GDC_VERSION := $(DEB_VERSION)
+endif
+
+# semiautomatic ...
+DEB_SOVERSION := $(DEB_VERSION)
+DEB_SOVERSION := 5
+DEB_SOEVERSION := $(EPOCH):5
+DEB_STDCXX_SOVERSION := 5
+DEB_GOMP_SOVERSION := $(DEB_SOVERSION)
+
+DEB_GCC_VERSION := $(DEB_VERSION)
+
+DEB_GNAT_VERSION := $(DEB_VERSION)
+ifeq ($(with_separate_gnat),yes)
+ ifeq ($(PKGSOURCE),gnat-$(BASE_VERSION))
+ DEB_GCC_VERSION := $(DEB_GCC_SOFT_VERSION)
+ endif
+endif
+
+GNAT_VERSION := $(BASE_VERSION)
+
+LIBGNAT_DEP :=
+ifeq ($(with_libgnat),yes)
+ LIBGNAT_DEP := libgnat-$(GNAT_VERSION)$(LS)$(AQ) (>= $${gcc:Version})
+endif
+
+pkg_ver := -$(BASE_VERSION)
+
+ctrl_flags = \
+ -DBINUTILSV=$(BINUTILSV) \
+ -DBINUTILSBDV=$(BINUTILSBDV) \
+ -DSRCNAME=$(PKGSOURCE) \
+ -D__$(DEB_TARGET_GNU_CPU)__ \
+ -DARCH=$(DEB_TARGET_ARCH) \
+ -DDIST=$(distribution)
+
+ctrl_flags += \
+ -DLIBC_DEV_DEP="$(LIBC_DEV_DEP)" \
+ -DLIBC_BIARCH_BUILD_DEP="$(LIBC_BIARCH_BUILD_DEP)" \
+ -DLIBC_DBG_DEP="$(LIBC_DBG_DEP)" \
+ -DBASE_BUILD_DEP="$(BASE_BUILD_DEP)" \
+ -DFORTRAN_BUILD_DEP="$(FORTRAN_BUILD_DEP)" \
+ -DGNAT_BUILD_DEP="$(GNAT_BUILD_DEP)" \
+ -DGO_BUILD_DEP="$(GO_BUILD_DEP)" \
+ -DLIBSTDCXX_BUILD_INDEP="$(LIBSTDCXX_BUILD_INDEP)" \
+ -DGDC_BUILD_DEP="$(GDC_BUILD_DEP)" \
+ -DBINUTILS_BUILD_DEP="$(BINUTILS_BUILD_DEP)" \
+ -DLIBC_BUILD_DEP="$(LIBC_BUILD_DEP)" \
+ -DCHECK_BUILD_DEP="$(CHECK_BUILD_DEP)" \
+ -DAUTO_BUILD_DEP="$(AUTO_BUILD_DEP)" \
+ -DSDT_BUILD_DEP="$(SDT_BUILD_DEP)" \
+ -DISL_BUILD_DEP="$(ISL_BUILD_DEP)" \
+ -DGMP_BUILD_DEP="$(GMP_BUILD_DEP)" \
+ -DMPFR_BUILD_DEP="$(MPFR_BUILD_DEP)" \
+ -DMPC_BUILD_DEP="$(MPC_BUILD_DEP)" \
+ -DDEBHELPER_BUILD_DEP="$(DEBHELPER_BUILD_DEP)" \
+ -DDPKG_BUILD_DEP="$(DPKG_BUILD_DEP)" \
+ -DSOURCE_BUILD_DEP="$(SOURCE_BUILD_DEP)" \
+ -DCROSS_BUILD_DEP="$(CROSS_BUILD_DEP)" \
+ -DGCC_MULTILIB_BUILD_DEP='$(GCC_MULTILIB_BUILD_DEP)' \
+ -DTARGET_TOOL_BUILD_DEP='$(TARGET_TOOL_BUILD_DEP)' \
+ -DPHOBOS_BUILD_DEP="$(PHOBOS_BUILD_DEP)" \
+ -DOFFLOAD_BUILD_DEP="$(OFFLOAD_BUILD_DEP)" \
+ -DMULTILIB_ARCHS="$(multilib_archs)" \
+ -DNEON_ARCHS="$(neon_archs)" \
+ -DTP=$(TP) \
+ -DTS=$(TS) \
+ -DLS=$(LS) \
+ -DAQ=$(AQ) \
+ -DNT=$(NT)
+
+ifeq ($(DEB_CROSS),yes)
+ ctrl_flags += \
+ -DTARGET=$(DEB_TARGET_ARCH) \
+ -DLIBUNWIND_BUILD_DEP="$(LIBUNWIND_BUILD_DEP)" \
+ -DLIBATOMIC_OPS_BUILD_DEP="$(LIBATOMIC_OPS_BUILD_DEP)"
+ ifeq ($(DEB_STAGE),rtlibs)
+ ctrl_flags += -DCROSS_ARCH=$(DEB_TARGET_ARCH)
+ endif
+else
+ # add '-DPRI=optional' to ctrl_flags if this is not the default compiler
+ # ctrl_flags += \
+ # -DPRI=optional
+endif
+
+ifeq ($(with_base_only),yes)
+ ctrl_flags += \
+ -DBASE_ONLY=yes
+endif
+
+ifeq ($(with_multiarch_lib),yes)
+ ctrl_flags += \
+ -DMULTIARCH=yes
+endif
+
+control: control-file readme-bugs-file parameters-file symbols-files copyright-file substvars-file versioned-files check-versions
+
+# stage1 and stage2 compilers are only C
+ifneq (,$(filter $(DEB_STAGE),stage1 stage2))
+ languages = c
+ addons = gccbase cdev plugindev
+ ifeq ($(with_gcclbase),yes)
+ addons += gcclbase
+ endif
+ ifeq ($(multilib),yes)
+ addons += multilib
+ endif
+ addons += $(if $(findstring armel,$(biarchhfarchs)),armml)
+ addons += $(if $(findstring armhf,$(biarchsfarchs)),armml)
+ addons += $(if $(findstring amd64,$(biarchx32archs)),x32dev)
+ ifeq ($(DEB_STAGE),stage2)
+ addons += libgcc
+ ifeq ($(multilib),yes)
+ addons += lib32gcc lib64gcc libn32gcc
+ addons += $(if $(findstring amd64,$(biarchx32archs)),libx32gcc)
+ addons += $(if $(findstring armel,$(biarchhfarchs)),libhfgcc)
+ addons += $(if $(findstring armhf,$(biarchsfarchs)),libsfgcc)
+ endif
+ else
+ LIBC_BIARCH_DEV_DEP :=
+ endif
+else
+languages = c c++ fortran objc objpp
+ifeq ($(DEB_STAGE),rtlibs)
+ ifeq (,$(filter libgfortran, $(with_rtlibs)))
+ languages := $(filter-out fortran, $(languages))
+ endif
+ ifeq (,$(filter libobjc, $(with_rtlibs)))
+ languages := $(filter-out objc objpp, $(languages))
+ endif
+endif
+ifeq ($(with_gccbase),yes)
+ addons += gccbase
+endif
+ifeq ($(with_gcclbase),yes)
+ addons += gcclbase
+endif
+ifneq ($(DEB_STAGE),rtlibs)
+ addons += cdev c++dev source multilib
+ ifeq ($(build_type),build-native)
+ addons += testresults
+ endif
+ ifneq (,$(filter fortran, $(languages)))
+ addons += fdev
+ endif
+ ifneq (,$(filter objc, $(languages)))
+ addons += objcdev
+ endif
+ ifneq (,$(filter objpp, $(languages)))
+ addons += objppdev
+ endif
+ ifneq (,$(filter brig, $(enabled_languages)))
+ addons += brigdev
+ endif
+ addons += plugindev
+endif
+addons += $(if $(findstring armel,$(biarchhfarchs)),armml)
+addons += $(if $(findstring armhf,$(biarchsfarchs)),armml)
+addons += $(if $(findstring amd64,$(biarchx32archs)),x32dev)
+ifeq ($(with_libgcc),yes)
+ addons += libgcc lib4gcc lib32gcc lib64gcc libn32gcc
+ addons += $(if $(findstring amd64,$(biarchx32archs)),libx32gcc)
+ addons += $(if $(findstring armel,$(biarchhfarchs)),libhfgcc)
+ addons += $(if $(findstring armhf,$(biarchsfarchs)),libsfgcc)
+endif
+ifeq ($(with_libcxx),yes)
+ addons += libcxx lib32cxx lib64cxx libn32cxx
+ addons += $(if $(findstring amd64,$(biarchx32archs)),libx32cxx)
+ addons += $(if $(findstring armel,$(biarchhfarchs)),libhfcxx)
+ addons += $(if $(findstring armhf,$(biarchsfarchs)),libsfcxx)
+endif
+addons += $(if $(findstring amd64,$(biarchx32archs)),libx32dbgcxx)
+addons += $(if $(findstring armel,$(biarchhfarchs)),libhfdbgcxx)
+addons += $(if $(findstring armhf,$(biarchsfarchs)),libsfdbgcxx)
+ifeq ($(with_libgfortran),yes)
+ addons += libgfortran lib32gfortran lib64gfortran libn32gfortran
+ addons += $(if $(findstring amd64,$(biarchx32archs)),libx32gfortran)
+ addons += $(if $(findstring armel,$(biarchhfarchs)),libhfgfortran)
+ addons += $(if $(findstring armhf,$(biarchsfarchs)),libsfgfortran)
+endif
+ifeq ($(with_libobjc),yes)
+ addons += libobjc lib32objc lib64objc libn32objc
+ addons += $(if $(findstring amd64,$(biarchx32archs)),libx32objc)
+ addons += $(if $(findstring armel,$(biarchhfarchs)),libhfobjc)
+ addons += $(if $(findstring armhf,$(biarchsfarchs)),libsfobjc)
+endif
+ifeq ($(with_libgomp),yes)
+ addons += libgomp lib32gomp lib64gomp libn32gomp
+ addons += $(if $(findstring amd64,$(biarchx32archs)),libx32gomp)
+ addons += $(if $(findstring armel,$(biarchhfarchs)),libhfgomp)
+ addons += $(if $(findstring armhf,$(biarchsfarchs)),libsfgomp)
+endif
+ifeq ($(with_libitm),yes)
+ addons += libitm lib32itm lib64itm libn32itm
+ addons += $(if $(findstring amd64,$(biarchx32archs)),libx32itm)
+ addons += $(if $(findstring armel,$(biarchhfarchs)),libhfitm)
+ addons += $(if $(findstring armhf,$(biarchsfarchs)),libsfitm)
+endif
+ifeq ($(with_libatomic),yes)
+ addons += libatomic lib32atomic lib64atomic libn32atomic
+ addons += $(if $(findstring amd64,$(biarchx32archs)),libx32atomic)
+ addons += $(if $(findstring armel,$(biarchhfarchs)),libhfatomic)
+ addons += $(if $(findstring armhf,$(biarchsfarchs)),libsfatomic)
+endif
+ifeq ($(with_libbacktrace),yes)
+ addons += libbtrace lib32btrace lib64btrace libn32btrace
+ addons += $(if $(findstring amd64,$(biarchx32archs)),libx32btrace)
+ addons += $(if $(findstring armel,$(biarchhfarchs)),libhfbtrace)
+ addons += $(if $(findstring armhf,$(biarchsfarchs)),libsfbtrace)
+endif
+ifeq ($(with_libasan),yes)
+ addons += libasan lib32asan lib64asan libn32asan
+ addons += $(if $(findstring amd64,$(biarchx32archs)),libx32asan)
+ addons += $(if $(findstring armel,$(biarchhfarchs)),libhfasan)
+ addons += $(if $(findstring armhf,$(biarchsfarchs)),libsfasan)
+endif
+ifeq ($(with_liblsan),yes)
+ addons += liblsan lib32lsan lib64lsan libn32lsan
+ addons += $(if $(findstring amd64,$(biarchx32archs)),libx32lsan)
+ #addons += $(if $(findstring armel,$(biarchhfarchs)),libhflsan)
+ #addons += $(if $(findstring armhf,$(biarchsfarchs)),libsflsan)
+endif
+ifeq ($(with_libtsan),yes)
+ addons += libtsan
+ addons += libtsan #lib32tsan lib64tsan libn32tsan
+ #addons += $(if $(findstring amd64,$(biarchx32archs)),libx32tsan)
+ #addons += $(if $(findstring armel,$(biarchhfarchs)),libhftsan)
+ #addons += $(if $(findstring armhf,$(biarchsfarchs)),libsftsan)
+endif
+ifeq ($(with_libubsan),yes)
+ addons += libubsan lib32ubsan lib64ubsan libn32ubsan
+ addons += $(if $(findstring amd64,$(biarchx32archs)),libx32ubsan)
+ addons += $(if $(findstring armel,$(biarchhfarchs)),libhfubsan)
+ addons += $(if $(findstring armhf,$(biarchsfarchs)),libsfubsan)
+endif
+ifeq ($(with_vtv),yes)
+ addons += libvtv lib32vtv lib64vtv #libn32vtv
+ addons += $(if $(findstring amd64,$(biarchx32archs)),libx32vtv)
+ #addons += $(if $(findstring armel,$(biarchhfarchs)),libhfvtv)
+ #addons += $(if $(findstring armhf,$(biarchsfarchs)),libsfvtv)
+endif
+ifeq ($(with_libmpx),yes)
+ addons += libmpx lib32mpx lib64mpx
+endif
+ifeq ($(with_libqmath),yes)
+ addons += libqmath lib32qmath lib64qmath libn32qmath
+ addons += $(if $(findstring amd64,$(biarchx32archs)),libx32qmath)
+ addons += $(if $(findstring armel,$(biarchhfarchs)),libhfqmath)
+ addons += $(if $(findstring armhf,$(biarchsfarchs)),libsfqmath)
+endif
+ifeq ($(with_jit),yes)
+ addons += jit
+endif
+ifeq ($(with_libgccjit),yes)
+ addons += libjit
+endif
+ifeq ($(with_offload_nvptx),yes)
+ addons += olnvptx libgompnvptx
+endif
+ifeq ($(with_libcc1),yes)
+ addons += libcc1
+endif
+ifeq ($(with_d),yes)
+ languages += d
+ ifeq ($(with_libphobos),yes)
+ addons += libphobos
+ addons += $(if $(findstring amd64,$(biarchx32archs)),libx32phobos)
+ endif
+ ifeq ($(with_libphobosdev),yes)
+ addons += libdevphobos
+ addons += $(if $(findstring amd64,$(biarchx32archs)),libdevx32phobos)
+ endif
+endif
+ifeq ($(with_go),yes)
+ addons += ggo godev
+ ifeq ($(with_libgo),yes)
+ addons += libggo lib32ggo lib64ggo libn32ggo
+ addons += $(if $(findstring amd64,$(biarchx32archs)),libx32ggo)
+ endif
+endif
+ifeq ($(with_ada),yes)
+ languages += ada
+ addons += libgnat libs # libgmath libnof lib64gnat ssp
+ ifeq ($(with_gnatsjlj),yes)
+ addons += adasjlj
+ endif
+endif
+ifeq ($(with_brig),yes)
+ addons += brig
+ ifeq ($(with_libhsailrt),yes)
+ addons += libhsail # lib32hsail lib64hsail libn32hsail
+ addons += # $(if $(findstring amd64,$(biarchx32archs)),libx32hsail)
+ endif
+endif
+
+ ifneq ($(DEB_CROSS),yes)
+ ifneq (,$(neon_archs))
+ addons += libneongcc libneongomp libneonitm libneonobjc libneongfortran libneoncxx
+ endif
+ ifeq ($(with_fixincl),yes)
+ addons += $(if $(DEB_STAGE),,fixincl)
+ endif
+ endif # DEB_CROSS
+ ifeq ($(with_separate_libgo),yes)
+ ifeq ($(PKGSOURCE),gcc-$(BASE_VERSION))
+ languages := $(filter-out go,$(languages))
+ addons := $(filter-out ggo godev libggo lib64ggo lib32ggo libn32ggo libx32ggo,$(addons))
+ endif
+ ifeq ($(PKGSOURCE),gccgo-$(BASE_VERSION))
+ languages = go
+ addons = ggo godev libggo lib64ggo lib32ggo libn32ggo gccbase multilib
+ addons += $(if $(findstring amd64,$(biarchx32archs)),libx32ggo)
+ ifeq ($(with_standalone_go),yes)
+ addons += libgcc lib4gcc lib32gcc lib64gcc libn32gcc
+ addons += $(if $(findstring amd64,$(biarchx32archs)),libx32gcc)
+ addons += $(if $(findstring armel,$(biarchhfarchs)),libhfgcc)
+ addons += $(if $(findstring armhf,$(biarchsfarchs)),libsfgcc)
+ ifeq ($(with_libcc1),yes)
+ addons += libcc1
+ endif
+ endif
+ endif
+ endif
+ ifeq ($(with_standalone_go),yes)
+ ifeq ($(PKGSOURCE),gccgo-$(BASE_VERSION))
+ ctrl_flags += -DSTANDALONEGO
+ endif
+ endif
+ ifeq ($(with_separate_gnat),yes)
+ ifeq ($(PKGSOURCE),gcc-$(BASE_VERSION))
+ languages := $(filter-out ada,$(languages))
+ addons := $(filter-out libgnat adasjlj,$(addons))
+ endif
+ ifeq ($(PKGSOURCE),gnat-$(BASE_VERSION))
+ languages = ada
+ addons = gnatbase libgnat
+ endif
+ endif
+ ifeq ($(with_separate_gdc),yes)
+ ifeq ($(PKGSOURCE),gcc-$(BASE_VERSION))
+ languages := $(filter-out d,$(languages))
+ endif
+ ifeq ($(PKGSOURCE),gdc-$(BASE_VERSION))
+ languages = d
+ addons =
+ ifeq ($(with_libphobos),yes)
+ addons += libphobos
+ endif
+ ifeq ($(with_libphobosdev),yes)
+ addons += libdevphobos
+ endif
+ endif
+ endif
+ ifneq ($(DEB_CROSS),yes) # no docs for cross compilers
+ ifneq ($(GFDL_INVARIANT_FREE),yes)
+ addons += gfdldoc
+ endif
+ endif
+endif # not stage
+
+control-file:
+ echo "addons: $(addons)"; \
+ m4 $(ctrl_flags) \
+ -DPV=$(pkg_ver) \
+ -DCXX_SO=$(CXX_SONAME) \
+ -DGCC_SO=$(GCC_SONAME) \
+ -DOBJC_SO=$(OBJC_SONAME) \
+ -DFORTRAN_SO=$(FORTRAN_SONAME) \
+ -DGNAT_SO=$(GNAT_SONAME) \
+ -DGNAT_V=$(GNAT_VERSION) \
+ -DPHOBOS_V=$(GPHOBOS_SONAME) \
+ -DGDRUNTIME_V=$(GDRUNTIME_SONAME) \
+ -DGOMP_SO=$(GOMP_SONAME) \
+ -DITM_SO=$(ITM_SONAME) \
+ -DATOMIC_SO=$(ATOMIC_SONAME) \
+ -DBTRACE_SO=$(BTRACE_SONAME) \
+ -DASAN_SO=$(ASAN_SONAME) \
+ -DLSAN_SO=$(LSAN_SONAME) \
+ -DTSAN_SO=$(TSAN_SONAME) \
+ -DUBSAN_SO=$(UBSAN_SONAME) \
+ -DVTV_SO=$(VTV_SONAME) \
+ -DMPX_SO=$(MPX_SONAME) \
+ -DQMATH_SO=$(QUADMATH_SONAME) \
+ -DSSP_SO=$(SSP_SONAME) \
+ -DGO_SO=$(GO_SONAME) \
+ -DCC1_SO=$(CC1_SONAME) \
+ -DGCCJIT_SO=$(GCCJIT_SONAME) \
+ -DHSAIL_SO=$(HSAIL_SONAME) \
+ -Denabled_languages="$(languages) $(addons)" \
+ -Dada_no_archs="$(ada_no_archs)" \
+ -Dfortran_no_archs="$(fortran_no_archs)" \
+ -Dlibgc_no_archs="$(libgc_no_archs)" \
+ -Dlibphobos_archs="$(phobos_archs)" \
+ -Dlibphobos_no_archs="$(phobos_no_archs)" \
+ -Dcheck_no_archs="$(check_no_archs)" \
+ -Dlocale_no_archs="$(locale_no_archs)" \
+ -Dlinux_gnu_archs="$(linux_gnu_archs)" \
+ -Dbiarch32_archs="$(strip $(subst /, ,$(biarch32archs)))" \
+ -Dbiarch64_archs="$(strip $(subst /, ,$(biarch64archs)))" \
+ -Dbiarchn32_archs="$(strip $(subst /, ,$(biarchn32archs)))" \
+ -Dbiarchx32_archs="$(strip $(subst /, ,$(biarchx32archs)))" \
+ -Dbiarchhf_archs="$(strip $(subst /, ,$(biarchhfarchs)))" \
+ -Dbiarchsf_archs="$(strip $(subst /, ,$(biarchsfarchs)))" \
+ -Dadd_built_using=$(add_built_using) \
+ -DGCC_PORTS_BUILD=$(GCC_PORTS_BUILD) \
+ -DPR66145BREAKS="$(if $(filter $(distrelease),sid buster stretch jessie wheezy squeeze precise trusty xenial bionic cosmic),$(if $(findstring build-native,$(build_type)),$(if $(filter new,$(libstdcxx_abi)),$$(tr '\n' ' ' < debian/libstdc++-breaks.$(derivative)))))" \
+ debian/control.m4 > debian/control.tmp2
+ uniq debian/control.tmp2 | sed '/^Build/s/ *, */, /g;/^ /s/ *, */, /g' \
+ $(if $(filter yes, $(with_base_only)), | awk '/^$$/ {if (p) exit; else p=1; } {print}') \
+ > debian/control.tmp
+ rm -f debian/control.tmp2
+ [ -e debian/control ] \
+ && cmp -s debian/control debian/control.tmp \
+ && rm -f debian/control.tmp && exit 0; \
+ mv debian/control.tmp debian/control; touch $(control_stamp)
+
+readme-bugs-file:
+ m4 -DDIST=$(distribution) -DSRCNAME=$(PKGSOURCE) \
+ debian/README.Bugs.m4 > debian/README.Bugs
+
+copyright-file:
+ rm -f debian/copyright
+ if echo $(SOURCE_VERSION) | grep -E ^'[0-9]\.[0-9]-[0-9]{8}' ; \
+ then SVN_BRANCH="trunk" ; \
+ else \
+ SVN_BRANCH="gcc-$(subst .,_,$(BASE_VERSION))-branch" ; \
+ fi ; \
+ sed debian/copyright.in \
+ -e "s/@BV@/$(BASE_VERSION)/g" \
+ -e "s/@SVN_BRANCH@/$$SVN_BRANCH/g" \
+ > debian/copyright
+
+substvars-file: control-file
+ rm -f debian/substvars.local.tmp
+ ( \
+ echo 'libgcc:Version=$(DEB_LIBGCC_VERSION)'; \
+ echo 'gcc:Version=$(DEB_GCC_VERSION)'; \
+ echo 'gcc:EpochVersion=$(DEB_EVERSION)'; \
+ echo 'gcc:SoftVersion=$(DEB_GCC_SOFT_VERSION)'; \
+ echo 'gdc:Version=$(DEB_GDC_VERSION)'; \
+ echo 'gnat:Version=$(DEB_GNAT_VERSION)'; \
+ echo 'gnat:SoftVersion=$(DEB_GNAT_SOFT_VERSION)'; \
+ echo 'binutils:Version=$(BINUTILSV)'; \
+ echo 'dep:libgcc=$(LIBGCC_DEP)'; \
+ echo 'dep:libgccdev=$(LIBGCC_DEV_DEP)'; \
+ echo 'dep:libgccbiarch=$(libgccbiarch)'; \
+ echo 'dep:libgccbiarchdev=$(libgccbiarchdev)'; \
+ echo 'dep:libc=$(LIBC_DEP) (>= $(libc_ver))'; \
+ echo 'dep:libcdev=$(LIBC_DEV_DEP)'; \
+ echo 'dep:libcbiarch=$(LIBC_BIARCH_DEP)'; \
+ echo 'dep:libcbiarchdev=$(LIBC_BIARCH_DEV_DEP)'; \
+ echo 'dep:libunwinddev=$(LIBUNWIND_DEV_DEP)'; \
+ echo 'dep:libcxxbiarchdev=$(libstdc++biarchdev)'; \
+ echo 'dep:libcxxbiarchdbg=$(libstdc++biarchdbg)'; \
+ echo 'dep:libgnat=$(LIBGNAT_DEP)'; \
+ echo 'base:Breaks=$(BASE_BREAKS)'; \
+ ) > debian/substvars.local.tmp
+ifneq (,$(filter $(DEB_TARGET_ARCH), $(multilib_archs)))
+ ( \
+ echo 'gcc:multilib=gcc-$(BASE_VERSION)-multilib$(TS)'; \
+ echo 'gxx:multilib=g++-$(BASE_VERSION)-multilib$(TS)'; \
+ echo 'gobjc:multilib=gobjc-$(BASE_VERSION)-multilib$(TS)'; \
+ echo 'gobjcxx:multilib=gobjc++-$(BASE_VERSION)-multilib$(TS)'; \
+ echo 'gfortran:multilib=gfortran-$(BASE_VERSION)-multilib$(TS)'; \
+ ) >> debian/substvars.local.tmp
+endif
+ifeq ($(with_gold),yes)
+ echo 'dep:gold=binutils-gold (>= $(BINUTILSV))' \
+ >> debian/substvars.local.tmp
+endif
+ifeq ($(with_libssp),yes)
+ echo 'dep:libssp=libssp$(SSP_SONAME)$(LS)$(AQ) (>= $${gcc:Version})' \
+ >> debian/substvars.local.tmp
+endif
+ifeq ($(with_gomp),yes)
+ echo 'dep:libgomp=libgomp$(GOMP_SONAME)$(LS)$(AQ) (>= $${gcc:Version})' \
+ >> debian/substvars.local.tmp
+endif
+ifeq ($(with_itm),yes)
+ echo 'dep:libitm=libitm$(ITM_SONAME)$(LS)$(AQ) (>= $${gcc:Version})' \
+ >> debian/substvars.local.tmp
+endif
+ifeq ($(with_atomic),yes)
+ echo 'dep:libatomic=libatomic$(ATOMIC_SONAME)$(LS)$(AQ) (>= $${gcc:Version})' \
+ >> debian/substvars.local.tmp
+endif
+ifeq ($(with_libbacktrace),yes)
+ echo 'dep:libbacktrace=libbtrace$(BTRACE_SONAME)$(LS)$(AQ) (>= $${gcc:Version})' \
+ >> debian/substvars.local.tmp
+endif
+ifeq ($(with_asan),yes)
+ echo 'dep:libasan=libasan$(ASAN_SONAME)$(LS)$(AQ) (>= $${gcc:Version})' \
+ >> debian/substvars.local.tmp
+endif
+ifeq ($(with_lsan),yes)
+ echo 'dep:liblsan=liblsan$(LSAN_SONAME)$(LS)$(AQ) (>= $${gcc:Version})' \
+ >> debian/substvars.local.tmp
+endif
+ifeq ($(with_tsan),yes)
+ echo 'dep:libtsan=libtsan$(TSAN_SONAME)$(LS)$(AQ) (>= $${gcc:Version})' \
+ >> debian/substvars.local.tmp
+endif
+ifeq ($(with_ubsan),yes)
+ echo 'dep:libubsan=libubsan$(UBSAN_SONAME)$(LS)$(AQ) (>= $${gcc:Version})' \
+ >> debian/substvars.local.tmp
+endif
+ifeq ($(with_vtv),yes)
+ echo 'dep:libvtv=libvtv$(VTV_SONAME)$(LS)$(AQ) (>= $${gcc:Version})' \
+ >> debian/substvars.local.tmp
+endif
+ifeq ($(with_mpx),yes)
+ echo 'dep:libmpx=libmpx$(MPX_SONAME)$(LS)$(AQ) (>= $${gcc:Version})' \
+ >> debian/substvars.local.tmp
+endif
+ifeq ($(with_qmath),yes)
+ echo 'dep:libqmath=libquadmath$(QUADMATH_SONAME)$(LS)$(AQ) (>= $${gcc:Version})' \
+ >> debian/substvars.local.tmp
+endif
+ifeq ($(distribution),Debian)
+ echo 'dep:libx32z=$(if $(filter $(distribution), Debian),,libx32z1-dev)' \
+ >> debian/substvars.local.tmp
+endif
+ifeq ($(multilib),yes)
+ echo 'dep:libgfortranbiarchdev=$(libgfortranbiarchdev)' \
+ >> debian/substvars.local.tmp
+ echo 'dep:libobjcbiarchdev=$(libobjcbiarchdev)' \
+ >> debian/substvars.local.tmp
+ ifeq ($(with_phobos),yes)
+ echo 'dep:libphobosbiarchdev=$(libgphobosbiarchdev)' \
+ >> debian/substvars.local.tmp
+ endif
+ ifeq ($(with_libssp),yes)
+ echo 'dep:libsspbiarch=$(libsspbiarch)' \
+ >> debian/substvars.local.tmp
+ endif
+ ifeq ($(with_gomp),yes)
+ echo 'dep:libgompbiarch=$(libgompbiarch)' \
+ >> debian/substvars.local.tmp
+ endif
+ ifeq ($(with_itm),yes)
+ echo 'dep:libitmbiarch=$(libitmbiarch)' \
+ >> debian/substvars.local.tmp
+ endif
+ ifeq ($(with_atomic),yes)
+ echo 'dep:libatomicbiarch=$(libatomicbiarch)' \
+ >> debian/substvars.local.tmp
+ endif
+ ifeq ($(with_libbacktrace),yes)
+ echo 'dep:libbtracebiarch=$(libbtracebiarch)' \
+ >> debian/substvars.local.tmp
+ endif
+ ifeq ($(with_asan),yes)
+ echo 'dep:libasanbiarch=$(libasanbiarch)' \
+ >> debian/substvars.local.tmp
+ endif
+ ifeq ($(with_lsan),yes)
+ #echo 'dep:liblsanbiarch=$(liblsanbiarch)' \
+ # >> debian/substvars.local.tmp
+ endif
+ ifeq ($(with_tsan),yes)
+ #echo 'dep:libtsanbiarch=$(libtsanbiarch)' \
+ # >> debian/substvars.local.tmp
+ endif
+ ifeq ($(with_ubsan),yes)
+ echo 'dep:libubsanbiarch=$(libubsanbiarch)' \
+ >> debian/substvars.local.tmp
+ endif
+ ifeq ($(with_vtv),yes)
+ echo 'dep:libvtvbiarch=$(libvtvbiarch)' \
+ >> debian/substvars.local.tmp
+ endif
+ ifeq ($(with_mpx),yes)
+ echo 'dep:libmpxbiarch=$(libmpxbiarch)' \
+ >> debian/substvars.local.tmp
+ endif
+ ifeq ($(with_qmath),yes)
+ echo 'dep:libqmathbiarch=$(libquadmathbiarch)' \
+ >> debian/substvars.local.tmp
+ endif
+ ifeq ($(with_go),yes)
+ echo 'dep:libgobiarchdev=$(libgobiarchdev)' \
+ >> debian/substvars.local.tmp
+ echo 'dep:libgobiarch=$(libgobiarch)' \
+ >> debian/substvars.local.tmp
+ endif
+endif
+ifeq ($(DEB_CROSS),yes)
+ echo 'dep:gdccross=gdc$(pkg_ver) (>= $(DEB_GCC_SOFT_VERSION))' \
+ >> debian/substvars.local.tmp
+endif
+ifeq ($(with_phobos),yes)
+ echo 'dep:phobosdev=libgphobos$(pkg_ver)-dev$(LS)$(AQ) (>= $(DEB_GCC_SOFT_VERSION))' \
+ >> debian/substvars.local.tmp
+ ifeq ($(DEB_CROSS),yes)
+ : # FIXME: make the cross gdc aware of both include paths
+ echo 'dep:gdccross=gdc$(pkg_ver) (>= $(DEB_GCC_SOFT_VERSION))' \
+ >> debian/substvars.local.tmp
+ endif
+endif
+ifeq ($(with_cc1),yes)
+ ifneq (,$(findstring build-cross, $(build_type)))
+ echo 'dep:libcc1=libcc1-$(CC1_SONAME) (>= $${gcc:SoftVersion})' \
+ >> debian/substvars.local.tmp
+ else
+ echo 'dep:libcc1=libcc1-$(CC1_SONAME) (>= $${gcc:Version})' \
+ >> debian/substvars.local.tmp
+ endif
+endif
+ifeq ($(DEB_HOST_ARCH),hppa)
+ echo 'dep:prctl=prctl' >> debian/substvars.local.tmp
+endif
+ifeq ($(derivative)-$(DEB_HOST_ARCH),Debian-amd64)
+ echo 'confl:lib32=libc6-i386 (<< 2.9-22)' >> debian/substvars.local.tmp
+endif
+ifeq ($(with_multiarch_lib),yes)
+ echo 'multiarch:breaks=gcc-4.3 (<< 4.3.6-1), gcc-4.4 (<< 4.4.6-4), gcc-4.5 (<< 4.5.3-2)' >> debian/substvars.local.tmp
+endif
+ echo 'golang:Conflicts=golang-go (<< 2:1.3.3-1ubuntu2)' >> debian/substvars.local.tmp
+ifeq ($(add_built_using),yes)
+ echo "Built-Using=$(shell dpkg-query -f '$${source:Package} (= $${source:Version}), ' -W gcc$(pkg_ver)-source)" \
+ >> debian/substvars.local.tmp
+endif
+ v=`sed -n '/^#define MOD_VERSION/s/.* "\([0-9]*\)"/\1/p' \
+ $(srcdir)/gcc/fortran/module.c`; \
+ echo "fortran:mod-version=gfortran-mod-$$v" >> debian/substvars.local.tmp
+
+ [ -e debian/substvars.local ] \
+ && cmp -s debian/substvars.local debian/substvars.local.tmp \
+ && rm -f debian/substvars.local.tmp && exit 0; \
+ mv debian/substvars.local.tmp debian/substvars.local; \
+ touch $(control_stamp)
+
+parameters-file:
+ rm -f debian/rules.parameters.tmp
+ ( \
+ echo '# configuration parameters taken from upstream source files'; \
+ echo 'GCC_VERSION := $(GCC_VERSION)'; \
+ echo 'NEXT_GCC_VERSION := $(NEXT_GCC_VERSION)'; \
+ echo 'BASE_VERSION := $(BASE_VERSION)'; \
+ echo 'SOURCE_VERSION := $(SOURCE_VERSION)'; \
+ echo 'DEB_VERSION := $(DEB_VERSION)'; \
+ echo 'DEB_EVERSION := $(DEB_EVERSION)'; \
+ echo 'DEB_GDC_VERSION := $(DEB_GDC_VERSION)'; \
+ echo 'DEB_SOVERSION := $(DEB_SOVERSION)'; \
+ echo 'DEB_SOEVERSION := $(DEB_SOEVERSION)'; \
+ echo 'DEB_LIBGCC_SOVERSION := $(DEB_LIBGCC_SOVERSION)'; \
+ echo 'DEB_LIBGCC_VERSION := $(DEB_LIBGCC_VERSION)'; \
+ echo 'DEB_STDCXX_SOVERSION := $(DEB_STDCXX_SOVERSION)'; \
+ echo 'DEB_GOMP_SOVERSION := $(DEB_GOMP_SOVERSION)'; \
+ echo 'GCC_SONAME := $(GCC_SONAME)'; \
+ echo 'CXX_SONAME := $(CXX_SONAME)'; \
+ echo 'FORTRAN_SONAME := $(FORTRAN_SONAME)'; \
+ echo 'OBJC_SONAME := $(OBJC_SONAME)'; \
+ echo 'GDC_VERSION := $(GDC_VERSION)'; \
+ echo 'GNAT_VERSION := $(GNAT_VERSION)'; \
+ echo 'GNAT_SONAME := $(GNAT_SONAME)'; \
+ echo 'FFI_SONAME := $(FFI_SONAME)'; \
+ echo 'SSP_SONAME := $(SSP_SONAME)'; \
+ echo 'GOMP_SONAME := $(GOMP_SONAME)'; \
+ echo 'ITM_SONAME := $(ITM_SONAME)'; \
+ echo 'ATOMIC_SONAME := $(ATOMIC_SONAME)'; \
+ echo 'BTRACE_SONAME := $(BTRACE_SONAME)'; \
+ echo 'ASAN_SONAME := $(ASAN_SONAME)'; \
+ echo 'LSAN_SONAME := $(LSAN_SONAME)'; \
+ echo 'TSAN_SONAME := $(TSAN_SONAME)'; \
+ echo 'UBSAN_SONAME := $(UBSAN_SONAME)'; \
+ echo 'VTV_SONAME := $(VTV_SONAME)'; \
+ echo 'MPX_SONAME := $(MPX_SONAME)'; \
+ echo 'QUADMATH_SONAME := $(QUADMATH_SONAME)'; \
+ echo 'GO_SONAME := $(GO_SONAME)'; \
+ echo 'CC1_SONAME := $(CC1_SONAME)'; \
+ echo 'GCCJIT_SONAME := $(GCCJIT_SONAME)'; \
+ echo 'GPHOBOS_SONAME := $(GPHOBOS_SONAME)'; \
+ echo 'GDRUNTIME_SONAME := $(GDRUNTIME_SONAME)'; \
+ echo 'HSAIL_SONAME := $(HSAIL_SONAME)'; \
+ echo 'LIBC_DEP := $(LIBC_DEP)'; \
+ ) > debian/rules.parameters.tmp
+ [ -e debian/rules.parameters ] \
+ && cmp -s debian/rules.parameters debian/rules.parameters.tmp \
+ && rm -f debian/rules.parameters.tmp && exit 0; \
+ mv debian/rules.parameters.tmp debian/rules.parameters; \
+ touch $(control_stamp)
+
+symbols-files: control-file
+ifeq ($(DEB_CROSS),yes)
+ ifneq ($(DEB_STAGE),rtlibs)
+ test -n "$(LS)"
+ set -e; \
+ for p in $$(dh_listpackages -i | grep '^lib'); do \
+ p=$${p%$(LS)}; \
+ if [ -f debian/$$p.symbols.$(DEB_TARGET_ARCH) ]; then \
+ f=debian/$$p.symbols.$(DEB_TARGET_ARCH); \
+ elif [ -f debian/$$p.symbols ]; then \
+ f=debian/$$p.symbols; \
+ else \
+ continue; \
+ fi; \
+ link=debian/$$p$(LS).symbols; \
+ if [ -L $$link ]; then \
+ echo >&2 "removing left over symbols file link: $$link"; \
+ rm -f $$link; \
+ fi; \
+ ln -s $$f $$link; \
+ done
+ endif
+ ifeq ($(with_libphobosdev),yes)
+ echo 'dep:libphobosbiarchdev=$(libgphobosbiarchdev)' \
+ >> debian/substvars.local.tmp
+ echo 'dep:libphobosbiarch=$(libgphobosbiarch)' \
+ >> debian/substvars.local.tmp
+ endif
+endif
+
+versioned-files:
+ fs=`echo debian/*BV* debian/*CXX* debian/*LC* | sort -u`; \
+ for f in $$fs; do \
+ [ -f $$f ] || echo "CANNOT FIND $$f"; \
+ [ -f $$f ] || continue; \
+ if [ -z "$(DEB_CROSS)" ]; then case "$$f" in *-CR*) continue; esac; fi; \
+ f2=$$(echo $$f \
+ | sed 's/BV/$(BASE_VERSION)/;s/CXX/$(CXX_SONAME)/;s/LC/$(GCC_SONAME)/;s/-CRB/$(cross_bin_arch)/;s/\.in$$//'); \
+ sed -e 's/@BV@/$(BASE_VERSION)/g' \
+ -e 's/@CXX@/$(CXX_SONAME)/g' \
+ -e 's/@LC@/$(GCC_SONAME)/g' \
+ -e 's/@SRC@/$(PKGSOURCE)/g' \
+ -e 's/@GFDL@/$(if $(filter yes,$(GFDL_INVARIANT_FREE)),#)/g' \
+ -e 's/@gcc_priority@/$(subst .,,$(BASE_VERSION))/g' \
+ -e 's/@TARGET@/$(DEB_TARGET_GNU_TYPE)/g' \
+ -e 's/@TARGET_QUAL@/$(TARGET_QUAL)/g' \
+ $$f > $$f2; \
+ touch -r $$f $$f2; \
+ done
+ for t in ar nm ranlib; do \
+ sed "s/@BV@/$(BASE_VERSION)/g;s/@TOOL@/$$t/g" \
+ debian/gcc-XX-BV.1 > debian/gcc-$$t-$(BASE_VERSION).1; \
+ done
+
+# don't encode versioned build dependencies in the control file, but check
+# these here instead.
+check-versions:
+ v=$$(dpkg-query -l dpkg-dev | awk '/^.i/ {print $$3}'); \
+ if dpkg --compare-versions "$$v" lt "$(DPKGV)"; then \
+ echo "dpkg-dev (>= $(DPKGV)) required, found $$v"; \
+ exit 1; \
+ fi
+ v=$$(dpkg-query -l binutils binutils-multiarch 2>/dev/null | awk '/^.i/ {print $$3;exit}'); \
+ if dpkg --compare-versions "$$v" lt "$(BINUTILSBDV)"; then \
+ echo "binutils (>= $(BINUTILSBDV)) required, found $$v"; \
+ exit 1; \
+ fi
+
+.PRECIOUS: $(stampdir)/%-stamp
--- /dev/null
+ifeq ($(with_separate_gnat),yes)
+ $(lib_binaries) += gnatbase
+endif
+
+ifeq ($(with_libgnat),yes)
+ # During native builds, gnat-BV Depends:
+ # * libgnat, libgnatvsn because gnat1 is linked dynamically
+ # * libgnat because of the development symlink.
+ # During cross builds, gnat1 is linked statically. Only the latter remains.
+ $(lib_binaries) += libgnat
+ ifneq ($(DEB_CROSS),yes)
+ $(lib_binaries) += libgnatvsn
+ endif
+endif
+
+arch_binaries := $(arch_binaries) ada
+ifneq ($(DEB_CROSS),yes)
+ ifneq ($(GFDL_INVARIANT_FREE),yes)
+ indep_binaries := $(indep_binaries) ada-doc
+ endif
+endif
+
+p_gbase = $(p_xbase)
+p_glbase = $(p_lbase)
+ifeq ($(with_separate_gnat),yes)
+ p_gbase = gnat$(pkg_ver)$(cross_bin_arch)-base
+ p_glbase = gnat$(pkg_ver)$(cross_bin_arch)-base
+endif
+
+p_gnat = gnat-$(GNAT_VERSION)$(cross_bin_arch)
+p_gnatsjlj= gnat-$(GNAT_VERSION)-sjlj$(cross_bin_arch)
+p_lgnat = libgnat-$(GNAT_VERSION)$(cross_lib_arch)
+p_lgnat_dbg = libgnat-$(GNAT_VERSION)-dbg$(cross_lib_arch)
+p_lgnatvsn = libgnatvsn$(GNAT_VERSION)$(cross_lib_arch)
+p_lgnatvsn_dev = libgnatvsn$(GNAT_VERSION)-dev$(cross_lib_arch)
+p_lgnatvsn_dbg = libgnatvsn$(GNAT_VERSION)-dbg$(cross_lib_arch)
+p_gnatd = $(p_gnat)-doc
+
+d_gbase = debian/$(p_gbase)
+d_gnat = debian/$(p_gnat)
+d_gnatsjlj = debian/$(p_gnatsjlj)
+d_lgnat = debian/$(p_lgnat)
+d_lgnatvsn = debian/$(p_lgnatvsn)
+d_lgnatvsn_dev = debian/$(p_lgnatvsn_dev)
+d_gnatd = debian/$(p_gnatd)
+
+GNAT_TOOLS = gnat gnatbind gnatchop gnatclean gnatfind gnatkr gnatlink \
+ gnatls gnatmake gnatname gnatprep gnatxref gnathtml
+
+ifeq ($(with_gnatsjlj),yes)
+ rts_subdir =
+endif
+
+dirs_gnat = \
+ $(docdir)/$(p_gbase) \
+ $(PF)/bin \
+ $(PF)/share/man/man1 \
+ $(gcc_lib_dir)/{adalib,adainclude} \
+ $(gcc_lexec_dir)
+
+files_gnat = \
+ $(gcc_lexec_dir)/gnat1 \
+ $(gcc_lib_dir)/adainclude/*.ad[bs] \
+ $(gcc_lib_dir)/adalib/*.ali \
+ $(gcc_lib_dir)/adalib/lib*.a \
+ $(foreach i,$(GNAT_TOOLS),$(PF)/bin/$(cmd_prefix)$(i)$(pkg_ver))
+
+dirs_lgnat = \
+ $(docdir) \
+ $(PF)/lib
+files_lgnat = \
+ $(usr_lib)/lib{gnat,gnarl}-$(GNAT_SONAME).so.1
+
+$(binary_stamp)-gnatbase: $(install_stamp)
+ dh_testdir
+ dh_testroot
+ dh_installdocs -p$(p_gbase) debian/README.gnat debian/README.maintainers
+ : # $(p_gbase)
+ifeq ($(PKGSOURCE),gnat-$(BASE_VERSION))
+ mkdir -p $(d_gbase)/$(docdir)/$(p_xbase)
+ ln -sf ../$(p_gbase) $(d_gbase)/$(docdir)/$(p_xbase)/Ada
+endif
+ dh_installchangelogs -p$(p_gbase) src/gcc/ada/ChangeLog
+ dh_compress -p$(p_gbase)
+ dh_fixperms -p$(p_gbase)
+ dh_gencontrol -p$(p_gbase) -- -v$(DEB_VERSION) $(common_substvars)
+ dh_installdeb -p$(p_gbase)
+ dh_md5sums -p$(p_gbase)
+ dh_builddeb -p$(p_gbase)
+ touch $@
+
+
+$(binary_stamp)-libgnat: $(install_stamp)
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ : # libgnat
+ rm -rf $(d_lgnat)
+ dh_installdirs -p$(p_lgnat) $(dirs_lgnat)
+
+ for lib in lib{gnat,gnarl}; do \
+ vlib=$$lib-$(GNAT_SONAME); \
+ mv $(d)/$(gcc_lib_dir)/$(rts_subdir)/adalib/$$vlib.so.1 $(d)/$(usr_lib)/. ; \
+ rm -f $(d)/$(gcc_lib_dir)/adalib/$$lib.so.1; \
+ done
+ $(dh_compat2) dh_movefiles -p$(p_lgnat) $(files_lgnat)
+
+ debian/dh_doclink -p$(p_lgnat) $(p_glbase)
+
+ debian/dh_rmemptydirs -p$(p_lgnat)
+
+ b=libgnat; \
+ v=$(GNAT_VERSION); \
+ for ext in preinst postinst prerm postrm; do \
+ for t in '' -dev -dbg; do \
+ if [ -f debian/$$b$$t.$$ext ]; then \
+ cp -pf debian/$$b$$t.$$ext debian/$$b$$v$$t.$$ext; \
+ fi; \
+ done; \
+ done
+ $(cross_makeshlibs) dh_makeshlibs $(ldconfig_arg) -p$(p_lgnat) \
+ -V '$(p_lgnat) (>= $(shell echo $(DEB_VERSION) | sed 's/-.*//'))'
+ $(call cross_mangle_shlibs,$(p_lgnat))
+
+ifneq (,$(filter $(build_type), build-native cross-build-native))
+ mkdir -p $(d_lgnat)/usr/share/lintian/overrides
+ echo package-name-doesnt-match-sonames > \
+ $(d_lgnat)/usr/share/lintian/overrides/$(p_lgnat)
+endif
+
+ dh_strip -p$(p_lgnat) --dbg-package=$(p_lgnat_dbg)
+ $(cross_shlibdeps) dh_shlibdeps -p$(p_lgnat) \
+ $(call shlibdirs_to_search, \
+ $(subst gnat-$(GNAT_SONAME),gcc$(GCC_SONAME),$(p_lgnat)) \
+ $(subst gnat-$(GNAT_SONAME),atomic$(ATOMIC_SONAME),$(p_lgnat)) \
+ ,) \
+ $(if $(filter yes, $(with_common_libs)),,-- -Ldebian/shlibs.common)
+ $(call cross_mangle_substvars,$(p_lgnat))
+
+ : # $(p_lgnat_dbg)
+ debian/dh_doclink -p$(p_lgnat_dbg) $(p_glbase)
+
+ echo $(p_lgnat) $(p_lgnat_dbg) >> debian/$(lib_binaries)
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
+
+$(binary_stamp)-libgnatvsn: $(install_stamp)
+ : # $(p_lgnatvsn_dev)
+ dh_install -p$(p_lgnatvsn_dev) $(usr_lib)/ada/adalib/gnatvsn
+ $(dh_compat2) dh_movefiles -p$(p_lgnatvsn_dev) usr/share/ada/adainclude/gnatvsn
+ dh_install -p$(p_lgnatvsn_dev) usr/share/gpr/gnatvsn.gpr
+ $(dh_compat2) dh_movefiles -p$(p_lgnatvsn_dev) $(usr_lib)/libgnatvsn.a
+ dh_link -p$(p_lgnatvsn_dev) \
+ $(usr_lib)/libgnatvsn.so.$(GNAT_VERSION) \
+ $(usr_lib)/libgnatvsn.so
+ debian/dh_doclink -p$(p_lgnatvsn_dev) $(p_glbase)
+ dh_strip -p$(p_lgnatvsn_dev) -X.a --keep-debug
+
+ : # $(p_lgnatvsn)
+ mkdir -p $(d_lgnatvsn)/usr/share/lintian/overrides
+ echo missing-dependency-on-libc \
+ > $(d_lgnatvsn)/usr/share/lintian/overrides/$(p_lgnatvsn)
+ $(dh_compat2) dh_movefiles -p$(p_lgnatvsn) $(usr_lib)/libgnatvsn.so.$(GNAT_VERSION)
+ debian/dh_doclink -p$(p_lgnatvsn) $(p_glbase)
+ dh_strip -p$(p_lgnatvsn) --dbg-package=$(p_lgnatvsn_dbg)
+ $(cross_makeshlibs) dh_makeshlibs $(ldconfig_arg) -p$(p_lgnatvsn) \
+ -V '$(p_lgnatvsn) (>= $(DEB_VERSION))'
+ $(call cross_mangle_shlibs,$(p_lgnatvsn))
+ cat debian/$(p_lgnatvsn)/DEBIAN/shlibs >> debian/shlibs.local
+ $(cross_shlibdeps) dh_shlibdeps -p$(p_lgnatvsn) \
+ $(call shlibdirs_to_search, \
+ $(subst gnatvsn$(GNAT_SONAME),gcc$(GCC_SONAME),$(p_lgnatvsn)) \
+ $(subst gnatvsn$(GNAT_SONAME),atomic$(ATOMIC_SONAME),$(p_lgnatvsn)) \
+ $(subst gnatvsn$(GNAT_SONAME),gnat-$(GNAT_SONAME),$(p_lgnatvsn)) \
+ ,) \
+ $(if $(filter yes, $(with_common_libs)),,-- -Ldebian/shlibs.common)
+ $(call cross_mangle_substvars,$(p_lgnatvsn))
+
+ : # $(p_lgnatvsn_dbg)
+ debian/dh_doclink -p$(p_lgnatvsn_dbg) $(p_glbase)
+
+ echo $(p_lgnatvsn) $(p_lgnatvsn_dev) $(p_lgnatvsn_dbg) >> debian/$(lib_binaries)
+
+ touch $@
+
+$(binary_stamp)-ada: $(install_stamp)
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+ : # $(p_gnat)
+ rm -rf $(d_gnat)
+ dh_installdirs -p$(p_gnat) $(dirs_gnat)
+ : # Upstream does not install gnathtml.
+ cp src/gcc/ada/gnathtml.pl debian/tmp/$(PF)/bin/$(cmd_prefix)gnathtml$(pkg_ver)
+ chmod 755 debian/tmp/$(PF)/bin/$(cmd_prefix)gnathtml$(pkg_ver)
+ $(dh_compat2) dh_movefiles -p$(p_gnat) $(files_gnat)
+
+ifeq ($(with_gnatsjlj),yes)
+ dh_installdirs -p$(p_gnatsjlj) $(gcc_lib_dir)
+ $(dh_compat2) dh_movefiles -p$(p_gnatsjlj) $(gcc_lib_dir)/rts-sjlj/adalib $(gcc_lib_dir)/rts-sjlj/adainclude
+endif
+
+ifeq ($(with_libgnat),yes)
+ for lib in lib{gnat,gnarl}; do \
+ vlib=$$lib-$(GNAT_SONAME); \
+ dh_link -p$(p_gnat) \
+ /$(usr_lib)/$$vlib.so.1 /$(usr_lib)/$$vlib.so \
+ /$(usr_lib)/$$vlib.so.1 /$(usr_lib)/$$lib.so; \
+ done
+ for lib in lib{gnat,gnarl}; do \
+ vlib=$$lib-$(GNAT_SONAME); \
+ dh_link -p$(p_gnat) \
+ /$(usr_lib)/$$vlib.so.1 $(gcc_lib_dir)/$(rts_subdir)adalib/$$lib.so; \
+ done
+endif
+ debian/dh_doclink -p$(p_gnat) $(p_gbase)
+ifeq ($(with_gnatsjlj),yes)
+ debian/dh_doclink -p$(p_gnatsjlj) $(p_gbase)
+endif
+ifeq ($(PKGSOURCE),gnat-$(BASE_VERSION))
+ ifeq ($(with_check),yes)
+ cp -p test-summary $(d_gnat)/$(docdir)/$(p_gbase)/.
+ endif
+else
+ mkdir -p $(d_gnat)/$(docdir)/$(p_gbase)/ada
+ cp -p src/gcc/ada/ChangeLog $(d_gnat)/$(docdir)/$(p_gbase)/ada/.
+endif
+
+ for i in $(GNAT_TOOLS); do \
+ case "$$i" in \
+ gnat) cp -p debian/gnat.1 $(d_gnat)/$(PF)/share/man/man1/$(cmd_prefix)gnat$(pkg_ver).1 ;; \
+ *) ln -sf $(cmd_prefix)gnat$(pkg_ver).1 $(d_gnat)/$(PF)/share/man/man1/$(cmd_prefix)$$i$(pkg_ver).1; \
+ esac; \
+ done
+
+ifneq (,$(filter $(build_type), build-native cross-build-native))
+ : # still ship the unversioned prefixed names in the gnat package.
+ for i in $(GNAT_TOOLS); do \
+ ln -sf $(cmd_prefix)$$i$(pkg_ver) \
+ $(d_gnat)/$(PF)/bin/$(cmd_prefix)$$i; \
+ ln -sf $(cmd_prefix)gnat$(pkg_ver).1.gz \
+ $(d_gnat)/$(PF)/share/man/man1/$(cmd_prefix)$$i.1.gz; \
+ done
+ ifeq ($(unprefixed_names),yes)
+ : # ship the versioned prefixed names in the gnat package.
+ for i in $(GNAT_TOOLS); do \
+ ln -sf $(cmd_prefix)$$i$(pkg_ver) \
+ $(d_gnat)/$(PF)/bin/$$i$(pkg_ver); \
+ ln -sf $(cmd_prefix)gnat$(pkg_ver).1.gz \
+ $(d_gnat)/$(PF)/share/man/man1/$$i$(pkg_ver).1.gz; \
+ done
+
+ : # still ship the unversioned names in the gnat package.
+ for i in $(GNAT_TOOLS); do \
+ ln -sf $$i$(pkg_ver) \
+ $(d_gnat)/$(PF)/bin/$$i; \
+ ln -sf gnat$(pkg_ver).1.gz \
+ $(d_gnat)/$(PF)/share/man/man1/$$i.1.gz; \
+ done
+
+ endif
+else
+ : # still ship the unversioned prefixed names in the gnat package.
+ for i in $(GNAT_TOOLS); do \
+ ln -sf $(cmd_prefix)$$i$(pkg_ver) \
+ $(d_gnat)/$(PF)/bin/$(cmd_prefix)$$i; \
+ ln -sf $(cmd_prefix)gnat$(pkg_ver).1.gz \
+ $(d_gnat)/$(PF)/share/man/man1/$(cmd_prefix)$$i.1.gz; \
+ done
+endif
+
+ifneq (,$(filter $(build_type), build-native cross-build-native))
+ dh_install -p$(p_gnat) debian/ada/debian_packaging.mk usr/share/ada
+ mv $(d_gnat)/usr/share/ada/debian_packaging.mk \
+ $(d_gnat)/usr/share/ada/debian_packaging-$(GNAT_VERSION).mk
+endif
+ : # keep this one unversioned, see Debian #802838.
+ dh_link -p$(p_gnat) \
+ usr/bin/$(cmd_prefix)gcc$(pkg_ver) usr/bin/$(cmd_prefix)gnatgcc
+ifneq ($(GFDL_INVARIANT_FREE),yes)
+ dh_link -p$(p_gnat) \
+ usr/share/man/man1/$(cmd_prefix)gcc$(pkg_ver).1.gz \
+ usr/share/man/man1/$(cmd_prefix)gnatgcc.1.gz
+endif
+ifeq ($(unprefixed_names),yes)
+ dh_link -p$(p_gnat) \
+ usr/bin/$(cmd_prefix)gcc$(pkg_ver) usr/bin/gnatgcc
+ ifneq ($(GFDL_INVARIANT_FREE),yes)
+ dh_link -p$(p_gnat) \
+ usr/share/man/man1/$(cmd_prefix)gcc$(pkg_ver).1.gz \
+ usr/share/man/man1/gnatgcc.1.gz
+ endif
+endif
+ debian/dh_rmemptydirs -p$(p_gnat)
+
+ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTONS)))
+ $(DWZ) \
+ $(d_gnat)/$(gcc_lexec_dir)/gnat1
+endif
+ dh_strip -p$(p_gnat)
+ find $(d_gnat) -name '*.ali' | xargs chmod 444
+ dh_shlibdeps -p$(p_gnat)
+ mkdir -p $(d_gnat)/usr/share/lintian/overrides
+ echo '$(p_gnat) binary: hardening-no-pie' \
+ > $(d_gnat)/usr/share/lintian/overrides/$(p_gnat)
+ifeq ($(GFDL_INVARIANT_FREE),yes)
+ echo '$(p_gnat) binary: binary-without-manpage' \
+ >> $(d_gnat)/usr/share/lintian/overrides/$(p_gnat)
+endif
+
+ echo $(p_gnat) >> debian/arch_binaries
+
+ifeq ($(with_gnatsjlj),yes)
+ dh_strip -p$(p_gnatsjlj)
+ find $(d_gnatsjlj) -name '*.ali' | xargs chmod 444
+ dh_shlibdeps -p$(p_gnatsjlj)
+ echo $(p_gnatsjlj) >> debian/arch_binaries
+endif
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
+
+
+$(build_gnatdoc_stamp): $(build_stamp)
+ mkdir -p html
+ rm -f html/*.info
+ echo -n gnat_ugn gnat_rm gnat-style | xargs -d ' ' -L 1 -P $(USE_CPUS) -I{} \
+ sh -c 'cd html && \
+ echo "generating {}-$(GNAT_VERSION).info"; \
+ makeinfo -I $(srcdir)/gcc/doc/include -I $(srcdir)/gcc/ada \
+ -I $(builddir)/gcc \
+ -o {}-$(GNAT_VERSION).info \
+ $(srcdir)/gcc/ada/{}.texi'
+ touch $@
+
+$(binary_stamp)-ada-doc: $(build_html_stamp) $(build_gnatdoc_stamp)
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ rm -rf $(d_gnatd)
+ dh_installdirs -p$(p_gnatd) \
+ $(PF)/share/info
+ cp -p html/gnat*info* $(d_gnatd)/$(PF)/share/info/.
+ dh_installdocs -p$(p_gnatd) \
+ html/gnat_ugn.html html/gnat_rm.html html/gnat-style.html
+ echo $(p_gnatd) >> debian/indep_binaries
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
--- /dev/null
+arch_binaries += base
+ifeq ($(with_gcclbase),yes)
+ ifneq ($(with_base_only),yes)
+ indep_binaries += lbase
+ endif
+endif
+
+# ---------------------------------------------------------------------------
+# gcc-base
+
+ifneq (,$(filter $(distrelease),oneiric precise wheezy sid))
+ additional_links =
+else ifneq (,$(filter $(distrelease),))
+ additional_links =
+else
+ additional_links =
+endif
+
+$(binary_stamp)-base: $(install_dependencies)
+ dh_testdir
+ dh_testroot
+ rm -rf $(d_base)
+ dh_installdirs -p$(p_base) \
+ $(gcc_lexec_dir)
+
+ifeq ($(with_base_only),yes)
+ dh_installdocs -p$(p_base) debian/README.Debian
+else
+ dh_installdocs -p$(p_base) debian/README.Debian.$(DEB_TARGET_ARCH)
+endif
+ rm -f $(d_base)/usr/share/doc/$(p_base)/README.Debian
+ dh_installchangelogs -p$(p_base)
+ dh_compress -p$(p_base)
+ dh_fixperms -p$(p_base)
+ifeq ($(DEB_STAGE)-$(DEB_CROSS),rtlibs-yes)
+ $(cross_gencontrol) dh_gencontrol -p$(p_base) -- -v$(DEB_VERSION) $(common_substvars)
+else
+ dh_gencontrol -p$(p_base) -- -v$(DEB_VERSION) $(common_substvars)
+endif
+ dh_installdeb -p$(p_base)
+ dh_md5sums -p$(p_base)
+ dh_builddeb -p$(p_base)
+ touch $@
+
+$(binary_stamp)-lbase: $(install_dependencies)
+ dh_testdir
+ dh_testroot
+ rm -rf $(d_lbase)
+ dh_installdocs -p$(p_lbase) debian/README.Debian
+ rm -f debian/$(p_lbase)/usr/share/doc/$(p_lbase)/README.Debian
+ dh_installchangelogs -p$(p_lbase)
+ dh_compress -p$(p_lbase)
+ dh_fixperms -p$(p_lbase)
+ dh_gencontrol -p$(p_lbase) -- -v$(DEB_VERSION) $(common_substvars)
+ dh_installdeb -p$(p_lbase)
+ dh_md5sums -p$(p_lbase)
+ dh_builddeb -p$(p_lbase)
+ touch $@
--- /dev/null
+ifneq ($(DEB_STAGE),rtlibs)
+# ifneq (,$(filter yes, $(biarch64) $(biarch32) $(biarchn32) $(biarchx32) $(biarchhf) $(biarchsf)))
+# arch_binaries := $(arch_binaries) brig-multi
+# endif
+ arch_binaries := $(arch_binaries) brig
+endif
+
+p_brig = gccbrig$(pkg_ver)$(cross_bin_arch)
+d_brig = debian/$(p_brig)
+
+p_brig_m= gccbrig$(pkg_ver)-multilib$(cross_bin_arch)
+d_brig_m= debian/$(p_brig_m)
+
+dirs_brig = \
+ $(docdir)/$(p_xbase)/BRIG \
+ $(gcc_lexec_dir)
+
+files_brig = \
+ $(PF)/bin/$(cmd_prefix)gccbrig$(pkg_ver) \
+ $(gcc_lexec_dir)/brig1
+
+$(binary_stamp)-brig: $(install_stamp)
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ rm -rf $(d_brig)
+ dh_installdirs -p$(p_brig) $(dirs_brig)
+ $(dh_compat2) dh_movefiles -p$(p_brig) $(files_brig)
+
+ifeq ($(unprefixed_names),yes)
+ ln -sf $(cmd_prefix)gccbrig$(pkg_ver) \
+ $(d_brig)/$(PF)/bin/gccbrig$(pkg_ver)
+# ifneq ($(GFDL_INVARIANT_FREE),yes-now-pure-gfdl)
+# ln -sf $(cmd_prefix)gccbrig$(pkg_ver).1 \
+# $(d_brig)/$(PF)/share/man/man1/gccbrig$(pkg_ver).1
+# endif
+endif
+ cp -p $(srcdir)/gcc/brig/ChangeLog \
+ $(d_brig)/$(docdir)/$(p_xbase)/BRIG/changelog.BRIG
+
+ mkdir -p $(d_brig)/usr/share/lintian/overrides
+ echo '$(p_brig) binary: hardening-no-pie' \
+ > $(d_brig)/usr/share/lintian/overrides/$(p_brig)
+ifeq ($(GFDL_INVARIANT_FREE),yes)
+ echo '$(p_brig) binary: binary-without-manpage' \
+ >> $(d_brig)/usr/share/lintian/overrides/$(p_brig)
+endif
+
+ debian/dh_doclink -p$(p_brig) $(p_xbase)
+
+ debian/dh_rmemptydirs -p$(p_brig)
+
+ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTONS)))
+ $(DWZ) \
+ $(d_brig)/$(gcc_lexec_dir)/brig1
+endif
+ dh_strip -p$(p_brig) \
+ $(if $(unstripped_exe),-X/brig1)
+ dh_shlibdeps -p$(p_brig)
+ echo $(p_brig) >> debian/arch_binaries
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
+
+$(binary_stamp)-brig-multi: $(install_stamp)
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ rm -rf $(d_brig_m)
+ dh_installdirs -p$(p_brig_m) $(docdir)
+
+ debian/dh_doclink -p$(p_brig_m) $(p_xbase)
+
+ dh_strip -p$(p_brig_m)
+ dh_shlibdeps -p$(p_brig_m)
+ echo $(p_brig_m) >> debian/arch_binaries
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
--- /dev/null
+ifneq ($(DEB_STAGE),rtlibs)
+ arch_binaries := $(arch_binaries) cpp
+ ifneq ($(DEB_CROSS),yes)
+ ifneq ($(GFDL_INVARIANT_FREE),yes)
+ indep_binaries := $(indep_binaries) cpp-doc
+ endif
+ endif
+endif
+
+dirs_cpp = \
+ $(docdir) \
+ $(PF)/share/man/man1 \
+ $(PF)/bin \
+ $(gcc_lexec_dir)
+
+files_cpp = \
+ $(PF)/bin/$(cmd_prefix)cpp$(pkg_ver) \
+ $(gcc_lexec_dir)/cc1
+
+ifneq ($(GFDL_INVARIANT_FREE),yes)
+ files_cpp += \
+ $(PF)/share/man/man1/$(cmd_prefix)cpp$(pkg_ver).1
+endif
+
+# ----------------------------------------------------------------------
+$(binary_stamp)-cpp: $(install_stamp)
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ rm -rf $(d_cpp)
+ dh_installdirs -p$(p_cpp) $(dirs_cpp)
+ $(dh_compat2) dh_movefiles -p$(p_cpp) $(files_cpp)
+
+ifeq ($(unprefixed_names),yes)
+ ln -sf $(cmd_prefix)cpp$(pkg_ver) \
+ $(d_cpp)/$(PF)/bin/cpp$(pkg_ver)
+ ifneq ($(GFDL_INVARIANT_FREE),yes)
+ ln -sf $(cmd_prefix)cpp$(pkg_ver).1 \
+ $(d_cpp)/$(PF)/share/man/man1/cpp$(pkg_ver).1
+ endif
+endif
+
+ mkdir -p $(d_cpp)/usr/share/lintian/overrides
+ echo '$(p_cpp) binary: hardening-no-pie' \
+ > $(d_cpp)/usr/share/lintian/overrides/$(p_cpp)
+ifeq ($(GFDL_INVARIANT_FREE),yes)
+ echo '$(p_cpp) binary: binary-without-manpage' \
+ >> $(d_cpp)/usr/share/lintian/overrides/$(p_cpp)
+endif
+
+ debian/dh_doclink -p$(p_cpp) $(p_xbase)
+ debian/dh_rmemptydirs -p$(p_cpp)
+
+ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTONS)))
+ $(DWZ) $(d_cpp)/$(gcc_lexec_dir)/cc1
+endif
+ dh_strip -p$(p_cpp) \
+ $(if $(unstripped_exe),-X/cc1)
+ dh_shlibdeps -p$(p_cpp)
+
+ echo $(p_cpp) >> debian/arch_binaries
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
+
+# ----------------------------------------------------------------------
+$(binary_stamp)-cpp-doc: $(build_html_stamp) $(install_stamp)
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ rm -rf $(d_cppd)
+ dh_installdirs -p$(p_cppd) \
+ $(docdir)/$(p_xbase) \
+ $(PF)/share/info
+ $(dh_compat2) dh_movefiles -p$(p_cppd) \
+ $(PF)/share/info/cpp*
+
+ debian/dh_doclink -p$(p_cppd) $(p_xbase)
+ dh_installdocs -p$(p_cppd) html/cpp.html html/cppinternals.html
+ rm -f $(d_cppd)/$(docdir)/$(p_xbase)/copyright
+ debian/dh_rmemptydirs -p$(p_cppd)
+ echo $(p_cppd) >> debian/indep_binaries
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
--- /dev/null
+ifneq ($(DEB_STAGE),rtlibs)
+ ifneq (,$(filter yes, $(biarch64) $(biarch32) $(biarchn32) $(biarchx32) $(biarchhf) $(biarchsf)))
+ arch_binaries := $(arch_binaries) cxx-multi
+ endif
+ arch_binaries := $(arch_binaries) cxx
+endif
+
+dirs_cxx = \
+ $(docdir)/$(p_xbase)/C++ \
+ $(PF)/bin \
+ $(PF)/share/info \
+ $(gcc_lexec_dir) \
+ $(PF)/share/man/man1
+files_cxx = \
+ $(PF)/bin/$(cmd_prefix)g++$(pkg_ver) \
+ $(gcc_lexec_dir)/cc1plus
+
+ifneq ($(GFDL_INVARIANT_FREE),yes)
+ files_cxx += \
+ $(PF)/share/man/man1/$(cmd_prefix)g++$(pkg_ver).1
+endif
+
+p_cxx_m = g++$(pkg_ver)-multilib$(cross_bin_arch)
+d_cxx_m = debian/$(p_cxx_m)
+
+# ----------------------------------------------------------------------
+$(binary_stamp)-cxx: $(install_stamp)
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ rm -rf $(d_cxx)
+ dh_installdirs -p$(p_cxx) $(dirs_cxx)
+ $(dh_compat2) dh_movefiles -p$(p_cxx) $(files_cxx)
+
+ifeq ($(unprefixed_names),yes)
+ ln -sf $(cmd_prefix)g++$(pkg_ver) \
+ $(d_cxx)/$(PF)/bin/g++$(pkg_ver)
+ ifneq ($(GFDL_INVARIANT_FREE),yes)
+ ln -sf $(cmd_prefix)g++$(pkg_ver).1.gz \
+ $(d_cxx)/$(PF)/share/man/man1/g++$(pkg_ver).1.gz
+ endif
+endif
+
+ mkdir -p $(d_cxx)/usr/share/lintian/overrides
+ echo '$(p_cxx) binary: hardening-no-pie' \
+ > $(d_cxx)/usr/share/lintian/overrides/$(p_cxx)
+ifeq ($(GFDL_INVARIANT_FREE),yes)
+ echo '$(p_cxx) binary: binary-without-manpage' \
+ >> $(d_cxx)/usr/share/lintian/overrides/$(p_cxx)
+endif
+
+ debian/dh_doclink -p$(p_cxx) $(p_xbase)
+ cp -p debian/README.C++ $(d_cxx)/$(docdir)/$(p_xbase)/C++/
+ cp -p $(srcdir)/gcc/cp/ChangeLog \
+ $(d_cxx)/$(docdir)/$(p_xbase)/C++/changelog
+ debian/dh_rmemptydirs -p$(p_cxx)
+
+ dh_shlibdeps -p$(p_cxx)
+ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTONS)))
+ $(DWZ) \
+ $(d_cxx)/$(gcc_lexec_dir)/cc1plus
+endif
+ dh_strip -p$(p_cxx) $(if $(unstripped_exe),-X/cc1plus)
+ echo $(p_cxx) >> debian/arch_binaries
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
+
+$(binary_stamp)-cxx-multi: $(install_stamp)
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ rm -rf $(d_cxx_m)
+ dh_installdirs -p$(p_cxx_m) \
+ $(docdir)
+
+ debian/dh_doclink -p$(p_cxx_m) $(p_xbase)
+ debian/dh_rmemptydirs -p$(p_cxx_m)
+
+ dh_strip -p$(p_cxx_m)
+ dh_shlibdeps -p$(p_cxx_m)
+ echo $(p_cxx_m) >> debian/arch_binaries
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
--- /dev/null
+ifneq ($(DEB_STAGE),rtlibs)
+ ifneq (,$(filter yes, $(biarch64) $(biarch32) $(biarchn32) $(biarchx32) $(biarchsf)))
+ arch_binaries := $(arch_binaries) gdc-multi
+ endif
+ arch_binaries := $(arch_binaries) gdc
+
+ ifeq ($(with_libphobosdev),yes)
+ $(lib_binaries) += libphobos-dev
+ endif
+ ifeq ($(with_libphobos),yes)
+ $(lib_binaries) += libphobos
+ endif
+
+ ifeq ($(with_lib64phobosdev),yes)
+ $(lib_binaries) += lib64phobos-dev
+ endif
+ ifeq ($(with_lib32phobosdev),yes)
+ $(lib_binaries) += lib32phobos-dev
+ endif
+ ifeq ($(with_libn32phobosdev),yes)
+ $(lib_binaries) += libn32phobos-dev
+ endif
+ ifeq ($(with_libx32phobosdev),yes)
+ $(lib_binaries) += libx32phobos-dev
+ endif
+ ifeq ($(with_libhfphobosdev),yes)
+ $(lib_binaries) += libhfphobos-dev
+ endif
+ ifeq ($(with_libsfphobosdev),yes)
+ $(lib_binaries) += libsfphobos-dev
+ endif
+
+ ifeq ($(with_lib64phobos),yes)
+ $(lib_binaries) += lib64phobos
+ endif
+ ifeq ($(with_lib32phobos),yes)
+ $(lib_binaries) += lib32phobos
+ endif
+ ifeq ($(with_libn32phobos),yes)
+ $(lib_binaries) += libn32phobos
+ endif
+ ifeq ($(with_libx32phobos),yes)
+ $(lib_binaries) += libx32phobos
+ endif
+ ifeq ($(with_libhfphobos),yes)
+ $(lib_binaries) += libhfphobos
+ endif
+ ifeq ($(with_libsfphobos),yes)
+ $(lib_binaries) += libsfphobos
+ endif
+endif
+
+p_gdc = gdc$(pkg_ver)$(cross_bin_arch)
+p_gdc_m = gdc$(pkg_ver)-multilib$(cross_bin_arch)
+p_libphobos = libgphobos$(GPHOBOS_SONAME)
+p_libphobosdev = libgphobos$(pkg_ver)-dev
+
+d_gdc = debian/$(p_gdc)
+d_gdc_m = debian/$(p_gdc_m)
+d_libphobos = debian/$(p_libphobos)
+d_libphobosdev = debian/$(p_libphobosdev)
+
+ifeq ($(DEB_CROSS),yes)
+ gdc_include_dir := $(gcc_lib_dir)/include/d
+else
+ gdc_include_dir := $(PF)/include/d/$(BASE_VERSION)
+endif
+# FIXME: always here?
+gdc_include_dir := $(gcc_lib_dir)/include/d
+
+dirs_gdc = \
+ $(PF)/bin \
+ $(PF)/share/man/man1 \
+ $(gcc_lexec_dir)
+ifneq ($(DEB_CROSS),yes)
+ dirs_gdc += \
+ $(gdc_include_dir)
+endif
+
+files_gdc = \
+ $(PF)/bin/$(cmd_prefix)gdc$(pkg_ver) \
+ $(gcc_lexec_dir)/cc1d
+ifneq ($(GFDL_INVARIANT_FREE),yes-now-pure-gfdl)
+ files_gdc += \
+ $(PF)/share/man/man1/$(cmd_prefix)gdc$(pkg_ver).1
+endif
+
+dirs_libphobos = \
+ $(PF)/lib \
+ $(gdc_include_dir) \
+ $(gcc_lib_dir)
+
+$(binary_stamp)-gdc: $(install_stamp)
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ rm -rf $(d_gdc)
+ dh_installdirs -p$(p_gdc) $(dirs_gdc)
+
+ dh_installdocs -p$(p_gdc)
+ dh_installchangelogs -p$(p_gdc) src/gcc/d/ChangeLog
+
+ $(dh_compat2) dh_movefiles -p$(p_gdc) -X/zlib/ $(files_gdc)
+
+ifeq ($(with_phobos),yes)
+ mv $(d)/$(usr_lib)/libgphobos.spec $(d_gdc)/$(gcc_lib_dir)/
+endif
+
+ifeq ($(unprefixed_names),yes)
+ ln -sf $(cmd_prefix)gdc$(pkg_ver) \
+ $(d_gdc)/$(PF)/bin/gdc$(pkg_ver)
+ ifneq ($(GFDL_INVARIANT_FREE),yes-now-pure-gfdl)
+ ln -sf $(cmd_prefix)gdc$(pkg_ver).1 \
+ $(d_gdc)/$(PF)/share/man/man1/gdc$(pkg_ver).1
+ endif
+endif
+
+# FIXME: __entrypoint.di needs to go into a libgdc-dev Multi-Arch: same package
+ # Always needed by gdc.
+ mkdir -p $(d_gdc)/$(gdc_include_dir)
+ cp $(srcdir)/libphobos/libdruntime/__entrypoint.di \
+ $(d_gdc)/$(gdc_include_dir)/.
+#ifneq ($(DEB_CROSS),yes)
+# dh_link -p$(p_gdc) \
+# /$(gdc_include_dir) \
+# /$(dir $(gdc_include_dir))/$(GCC_VERSION)
+#endif
+
+ dh_link -p$(p_gdc) \
+ /$(docdir)/$(p_gcc)/README.Bugs \
+ /$(docdir)/$(p_gdc)/README.Bugs
+
+ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTONS)))
+ $(DWZ) \
+ $(d_gdc)/$(gcc_lexec_dir)/cc1d
+endif
+ dh_strip -p$(p_gdc) \
+ $(if $(unstripped_exe),-X/cc1d)
+ dh_shlibdeps -p$(p_gdc)
+
+ mkdir -p $(d_gdc)/usr/share/lintian/overrides
+ echo '$(p_gdc) binary: hardening-no-pie' \
+ > $(d_gdc)/usr/share/lintian/overrides/$(p_gdc)
+
+ echo $(p_gdc) >> debian/arch_binaries
+
+ find $(d_gdc) -type d -empty -delete
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
+
+$(binary_stamp)-gdc-multi: $(install_stamp)
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ rm -rf $(d_gdc_m)
+ dh_installdirs -p$(p_gdc_m) $(docdir)
+
+ debian/dh_doclink -p$(p_gdc_m) $(p_xbase)
+
+ dh_strip -p$(p_gdc_m)
+ dh_shlibdeps -p$(p_gdc_m)
+ echo $(p_gdc_m) >> debian/arch_binaries
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
+
+define __do_libphobos
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ rm -rf $(d_l) $(d_d)
+ dh_installdirs -p$(p_l) \
+ $(usr_lib$(2))
+ $(dh_compat2) dh_movefiles -p$(p_l) \
+ $(usr_lib$(2))/libgphobos.so.* \
+ $(usr_lib$(2))/libgdruntime.so.*
+
+ debian/dh_doclink -p$(p_l) $(p_lbase)
+ debian/dh_doclink -p$(p_d) $(p_lbase)
+
+ dh_strip -p$(p_l) --dbg-package=$(p_d)
+ ln -sf libgphobos.symbols debian/$(p_l).symbols
+ $(cross_makeshlibs) dh_makeshlibs $(ldconfig_arg) -p$(p_l) \
+ -- -a$(call mlib_to_arch,$(2)) || echo XXXXXXXXXXX ERROR $(p_l)
+ rm -f debian/$(p_l).symbols
+ $(call cross_mangle_shlibs,$(p_l))
+ $(ignshld)DIRNAME=$(subst n,,$(2)) $(cross_shlibdeps) dh_shlibdeps -p$(p_l) \
+ $(call shlibdirs_to_search, \
+ $(subst gphobos$(GPHOBOS_SONAME),gcc$(GCC_SONAME),$(p_l)) \
+ ,$(2)) \
+ $(if $(filter yes, $(with_common_libs)),,-- -Ldebian/shlibs.common$(2))
+ $(call cross_mangle_substvars,$(p_l))
+ dh_lintian -p$(p_l)
+ echo $(p_l) $(p_d) >> debian/$(lib_binaries)
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
+endef
+
+define __do_libphobos_dev
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ rm -rf $(d_l)
+ dh_installdirs -p$(p_l) \
+ $(gcc_lib_dir$(2))
+
+ $(call install_gcc_lib,libgdruntime,$(GDRUNTIME_SONAME),$(2),$(p_l))
+ $(call install_gcc_lib,libgphobos,$(GPHOBOS_SONAME),$(2),$(p_l))
+
+ $(if $(2),,
+ $(dh_compat2) dh_movefiles -p$(p_l) \
+ $(gdc_include_dir)
+ )
+
+ : # included in gdc package
+ rm -f $(d_l)/$(gdc_include_dir)/__entrypoint.di
+
+ debian/dh_doclink -p$(p_l) \
+ $(if $(filter yes,$(with_separate_gdc)),$(p_gdc),$(p_lbase))
+ echo $(p_l) >> debian/$(lib_binaries)
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
+endef
+
+# don't put this as a comment within define/endef
+# $(call install_gcc_lib,libphobos,$(PHOBOS_SONAME),$(2),$(p_l))
+
+do_libphobos = $(call __do_libphobos,lib$(1)gphobos$(GPHOBOS_SONAME),$(1))
+do_libphobos_dev = $(call __do_libphobos_dev,lib$(1)gphobos-$(BASE_VERSION)-dev,$(1))
+
+$(binary_stamp)-libphobos: $(install_stamp)
+ $(call do_libphobos,)
+
+$(binary_stamp)-lib64phobos: $(install_stamp)
+ $(call do_libphobos,64)
+
+$(binary_stamp)-lib32phobos: $(install_stamp)
+ $(call do_libphobos,32)
+
+$(binary_stamp)-libn32phobos: $(install_stamp)
+ $(call do_libphobos,n32)
+
+$(binary_stamp)-libx32phobos: $(install_stamp)
+ $(call do_libphobos,x32)
+
+$(binary_stamp)-libhfphobos: $(install_stamp)
+ $(call do_libphobos,hf)
+
+$(binary_stamp)-libsfphobos: $(install_stamp)
+ $(call do_libphobos,sf)
+
+
+$(binary_stamp)-libphobos-dev: $(install_stamp)
+ $(call do_libphobos_dev,)
+
+$(binary_stamp)-lib64phobos-dev: $(install_stamp)
+ $(call do_libphobos_dev,64)
+
+$(binary_stamp)-lib32phobos-dev: $(install_stamp)
+ $(call do_libphobos_dev,32)
+
+$(binary_stamp)-libx32phobos-dev: $(install_stamp)
+ $(call do_libphobos_dev,x32)
+
+$(binary_stamp)-libn32phobos-dev: $(install_stamp)
+ $(call do_libphobos_dev,n32)
+
+$(binary_stamp)-libhfphobos-dev: $(install_stamp)
+ $(call do_libphobos_dev,hf)
+
+$(binary_stamp)-libsfphobos-dev: $(install_stamp)
+ $(call do_libphobos_dev,sf)
--- /dev/null
+arch_binaries := $(arch_binaries) fixincl
+
+p_fix = fixincludes
+d_fix = debian/$(p_fix)
+
+dirs_fix = \
+ $(docdir)/$(p_xbase)/fixincludes \
+ $(PF)/share/man/man1 \
+ $(PF)/bin \
+ $(gcc_lexec_dir) \
+ $(gcc_lib_dir)
+files_fix = \
+ $(gcc_lexec_dir)/install-tools \
+ $(gcc_lib_dir)/install-tools
+
+# ----------------------------------------------------------------------
+$(binary_stamp)-fixincl: $(install_stamp)
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ rm -rf $(d_fix)
+ dh_installdirs -p$(p_fix) $(dirs_fix)
+ $(dh_compat2) dh_movefiles -p$(p_fix) $(files_fix)
+
+# $(IP) $(builddir)/gcc/fixinc/fixincl $(d_fix)/$(PF)/lib/fixincludes/
+# sed -e "s,^FIXINCL=\(.*\),FIXINCL=/$(PF)/lib/fixincludes/fixincl," \
+# $(builddir)/gcc/fixinc.sh \
+# > $(d_fix)/$(PF)/lib/fixincludes/fixinc.sh
+# chmod 755 $(d_fix)/$(PF)/lib/fixincludes/fixinc.sh
+ $(IR) $(srcdir)/fixincludes/README \
+ $(d_fix)/$(docdir)/$(p_xbase)/fixincludes
+ sed -e 's,@LIBEXECDIR@,$(gcc_lexec_dir),g' debian/fixincludes.in \
+ > $(d_fix)/$(PF)/bin/fixincludes
+ chmod 755 $(d_fix)/$(PF)/bin/fixincludes
+
+ debian/dh_doclink -p$(p_fix) $(p_xbase)
+ dh_strip -p$(p_fix)
+ dh_shlibdeps -p$(p_fix)
+ echo $(p_fix) >> debian/arch_binaries.epoch
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
--- /dev/null
+ifeq ($(with_libgfortran),yes)
+ $(lib_binaries) += libgfortran
+endif
+ifeq ($(with_fdev),yes)
+ $(lib_binaries) += libgfortran-dev
+endif
+ifeq ($(with_lib64gfortran),yes)
+ $(lib_binaries) += lib64fortran
+endif
+ifeq ($(with_lib64gfortrandev),yes)
+ $(lib_binaries) += lib64gfortran-dev
+endif
+ifeq ($(with_lib32gfortran),yes)
+ $(lib_binaries) += lib32fortran
+endif
+ifeq ($(with_lib32gfortrandev),yes)
+ $(lib_binaries) += lib32gfortran-dev
+endif
+ifeq ($(with_libn32gfortran),yes)
+ $(lib_binaries) += libn32fortran
+endif
+ifeq ($(with_libn32gfortrandev),yes)
+ $(lib_binaries) += libn32gfortran-dev
+endif
+ifeq ($(with_libx32gfortran),yes)
+ $(lib_binaries) += libx32fortran
+endif
+ifeq ($(with_libx32gfortrandev),yes)
+ $(lib_binaries) += libx32gfortran-dev
+endif
+ifeq ($(with_libhfgfortran),yes)
+ $(lib_binaries) += libhffortran
+endif
+ifeq ($(with_libhfgfortrandev),yes)
+ $(lib_binaries) += libhfgfortran-dev
+endif
+ifeq ($(with_libsfgfortran),yes)
+ $(lib_binaries) += libsffortran
+endif
+ifeq ($(with_libsfgfortrandev),yes)
+ $(lib_binaries) += libsfgfortran-dev
+endif
+
+ifeq ($(with_fdev),yes)
+ ifneq (,$(filter yes, $(biarch64) $(biarch32) $(biarchn32) $(biarchx32) $(biarchhf) $(biarchsf)))
+ arch_binaries := $(arch_binaries) fdev-multi
+ endif
+ arch_binaries := $(arch_binaries) fdev
+ ifneq ($(DEB_CROSS),yes)
+ ifneq ($(GFDL_INVARIANT_FREE),yes)
+ indep_binaries := $(indep_binaries) fortran-doc
+ endif
+ endif
+endif
+
+p_g95 = gfortran$(pkg_ver)$(cross_bin_arch)
+p_g95_m = gfortran$(pkg_ver)-multilib$(cross_bin_arch)
+p_g95d = gfortran$(pkg_ver)-doc
+p_flib = libgfortran$(FORTRAN_SONAME)$(cross_lib_arch)
+
+d_g95 = debian/$(p_g95)
+d_g95_m = debian/$(p_g95_m)
+d_g95d = debian/$(p_g95d)
+
+dirs_g95 = \
+ $(docdir)/$(p_xbase)/fortran \
+ $(PF)/bin \
+ $(gcc_lexec_dir) \
+ $(gcc_lib_dir) \
+ $(PF)/include \
+ $(PF)/share/man/man1
+files_g95 = \
+ $(PF)/bin/$(cmd_prefix)gfortran$(pkg_ver) \
+ $(gcc_lib_dir)/finclude \
+ $(gcc_lexec_dir)/f951
+
+ifneq ($(GFDL_INVARIANT_FREE),yes)
+ files_g95 += \
+ $(PF)/share/man/man1/$(cmd_prefix)gfortran$(pkg_ver).1
+endif
+
+# ----------------------------------------------------------------------
+define __do_fortran
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ rm -rf $(d_l) $(d_d)
+ dh_installdirs -p$(p_l) $(usr_lib$(2))
+ $(dh_compat2) dh_movefiles -p$(p_l) $(usr_lib$(2))/libgfortran.so.*
+
+ debian/dh_doclink -p$(p_l) $(p_lbase)
+ debian/dh_doclink -p$(p_d) $(p_lbase)
+
+ if [ -f debian/$(p_l).overrides ]; then \
+ mkdir -p debian/$(p_l)/usr/share/lintian/overrides; \
+ cp debian/$(p_l).overrides debian/$(p_l)/usr/share/lintian/overrides/$(p_l); \
+ fi
+
+ dh_strip -p$(p_l) --dbg-package=$(p_d)
+ ln -sf libgfortran.symbols debian/$(p_l).symbols
+ $(cross_makeshlibs) dh_makeshlibs $(ldconfig_arg) -p$(p_l)
+ $(call cross_mangle_shlibs,$(p_l))
+ $(ignshld)DIRNAME=$(subst n,,$(2)) $(cross_shlibdeps) dh_shlibdeps -p$(p_l) \
+ $(call shlibdirs_to_search, \
+ $(subst gfortran$(FORTRAN_SONAME),gcc$(GCC_SONAME),$(p_l)) \
+ $(subst gfortran$(FORTRAN_SONAME),gcc$(QUADMATH_SONAME),$(p_l)) \
+ ,$(2)) \
+ $(if $(filter yes, $(with_common_libs)),,-- -Ldebian/shlibs.common$(2))
+ $(call cross_mangle_substvars,$(p_l))
+ echo $(p_l) $(p_d) >> debian/$(lib_binaries)
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
+endef
+
+do_fortran = $(call __do_fortran,lib$(1)gfortran$(FORTRAN_SONAME),$(1))
+
+
+define __do_libgfortran_dev
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ rm -rf $(d_l)
+ dh_installdirs -p$(p_l) $(gcc_lib_dir$(2))
+
+ $(dh_compat2) dh_movefiles -p$(p_l) \
+ $(gcc_lib_dir$(2))/libcaf_single.a
+ $(call install_gcc_lib,libgfortran,$(FORTRAN_SONAME),$(2),$(p_l))
+
+ debian/dh_doclink -p$(p_l) $(p_lbase)
+ debian/dh_rmemptydirs -p$(p_l)
+
+ dh_strip -p$(p_l)
+ $(cross_shlibdeps) dh_shlibdeps -p$(p_l)
+ $(call cross_mangle_substvars,$(p_l))
+ echo $(p_l) >> debian/$(lib_binaries)
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
+endef
+# ----------------------------------------------------------------------
+
+do_libgfortran_dev = $(call __do_libgfortran_dev,lib$(1)gfortran-$(BASE_VERSION)-dev,$(1))
+
+$(binary_stamp)-libgfortran: $(install_stamp)
+ $(call do_fortran,)
+
+$(binary_stamp)-lib64fortran: $(install_stamp)
+ $(call do_fortran,64)
+
+$(binary_stamp)-lib32fortran: $(install_stamp)
+ $(call do_fortran,32)
+
+$(binary_stamp)-libn32fortran: $(install_stamp)
+ $(call do_fortran,n32)
+
+$(binary_stamp)-libx32fortran: $(install_stamp)
+ $(call do_fortran,x32)
+
+$(binary_stamp)-libhffortran: $(install_stamp)
+ $(call do_fortran,hf)
+
+$(binary_stamp)-libsffortran: $(install_stamp)
+ $(call do_fortran,sf)
+
+# ----------------------------------------------------------------------
+$(binary_stamp)-fdev: $(install_stamp)
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ rm -rf $(d_g95)
+ dh_installdirs -p$(p_g95) $(dirs_g95)
+
+ $(dh_compat2) dh_movefiles -p$(p_g95) $(files_g95)
+
+ mv $(d)/$(usr_lib)/libgfortran.spec $(d_g95)/$(gcc_lib_dir)/
+
+ifeq ($(unprefixed_names),yes)
+ ln -sf $(cmd_prefix)gfortran$(pkg_ver) \
+ $(d_g95)/$(PF)/bin/gfortran$(pkg_ver)
+ ifneq ($(GFDL_INVARIANT_FREE),yes)
+ ln -sf $(cmd_prefix)gfortran$(pkg_ver).1 \
+ $(d_g95)/$(PF)/share/man/man1/gfortran$(pkg_ver).1
+ endif
+endif
+
+ mkdir -p $(d_g95)/usr/share/lintian/overrides
+ echo '$(p_g95) binary: hardening-no-pie' \
+ > $(d_g95)/usr/share/lintian/overrides/$(p_g95)
+ifeq ($(GFDL_INVARIANT_FREE),yes)
+ echo '$(p_g95) binary: binary-without-manpage' \
+ >> $(d_g95)/usr/share/lintian/overrides/$(p_g95)
+endif
+
+ debian/dh_doclink -p$(p_g95) $(p_xbase)
+
+ cp -p $(srcdir)/gcc/fortran/ChangeLog \
+ $(d_g95)/$(docdir)/$(p_xbase)/fortran/changelog
+ debian/dh_rmemptydirs -p$(p_g95)
+
+ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTONS)))
+ $(DWZ) \
+ $(d_g95)/$(gcc_lexec_dir)/f951
+endif
+ dh_strip -p$(p_g95) \
+ $(if $(unstripped_exe),-X/f951)
+ dh_shlibdeps -p$(p_g95)
+ echo $(p_g95) >> debian/arch_binaries
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
+
+# ----------------------------------------------------------------------
+$(binary_stamp)-fdev-multi: $(install_stamp)
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ rm -rf $(d_g95_m)
+ dh_installdirs -p$(p_g95_m) $(docdir)
+
+ debian/dh_doclink -p$(p_g95_m) $(p_xbase)
+ debian/dh_rmemptydirs -p$(p_g95_m)
+ dh_strip -p$(p_g95_m)
+ dh_shlibdeps -p$(p_g95_m)
+ echo $(p_g95_m) >> debian/arch_binaries
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
+
+# ----------------------------------------------------------------------
+$(binary_stamp)-fortran-doc: $(build_html_stamp) $(install_stamp)
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ rm -rf $(d_g95d)
+ dh_installdirs -p$(p_g95d) \
+ $(docdir)/$(p_xbase)/fortran \
+ $(PF)/share/info
+ $(dh_compat2) dh_movefiles -p$(p_g95d) \
+ $(PF)/share/info/gfortran*
+
+ debian/dh_doclink -p$(p_g95d) $(p_xbase)
+ifneq ($(GFDL_INVARIANT_FREE),yes)
+ dh_installdocs -p$(p_g95d)
+ rm -f $(d_g95d)/$(docdir)/$(p_xbase)/copyright
+ cp -p html/gfortran.html $(d_g95d)/$(docdir)/$(p_xbase)/fortran/
+endif
+ echo $(p_g95d) >> debian/indep_binaries
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
+
+$(binary_stamp)-libgfortran-dev: $(install_stamp)
+ $(call do_libgfortran_dev,)
+
+$(binary_stamp)-lib64gfortran-dev: $(install_stamp)
+ $(call do_libgfortran_dev,64)
+
+$(binary_stamp)-lib32gfortran-dev: $(install_stamp)
+ $(call do_libgfortran_dev,32)
+
+$(binary_stamp)-libn32gfortran-dev: $(install_stamp)
+ $(call do_libgfortran_dev,n32)
+
+$(binary_stamp)-libx32gfortran-dev: $(install_stamp)
+ $(call do_libgfortran_dev,x32)
+
+$(binary_stamp)-libhfgfortran-dev: $(install_stamp)
+ $(call do_libgfortran_dev,hf)
+
+$(binary_stamp)-libsfgfortran-dev: $(install_stamp)
+ $(call do_libgfortran_dev,sf)
+
--- /dev/null
+ifneq ($(DEB_STAGE),rtlibs)
+ ifneq (,$(filter yes, $(biarch64) $(biarch32) $(biarchn32) $(biarchx32) $(biarchhf) $(biarchsf)))
+ arch_binaries := $(arch_binaries) gcc-multi
+ endif
+ ifeq ($(with_plugins),yes)
+ arch_binaries := $(arch_binaries) gcc-plugindev
+ endif
+
+ arch_binaries := $(arch_binaries) gcc
+
+ ifneq ($(DEB_CROSS),yes)
+ ifneq ($(GFDL_INVARIANT_FREE),yes)
+ indep_binaries := $(indep_binaries) gcc-doc
+ endif
+ ifeq ($(with_nls),yes)
+ indep_binaries := $(indep_binaries) gcc-locales
+ endif
+ endif
+
+ ifeq ($(build_type),build-native)
+ arch_binaries := $(arch_binaries) testresults
+ endif
+endif
+
+# gcc must be moved after g77 and g++
+# not all files $(PF)/include/*.h are part of gcc,
+# but it becomes difficult to name all these files ...
+
+dirs_gcc = \
+ $(docdir)/$(p_xbase)/{gcc,libssp,gomp,itm,quadmath,sanitizer,mpx} \
+ $(PF)/bin \
+ $(gcc_lexec_dir) \
+ $(gcc_lib_dir)/{include,include-fixed} \
+ $(PF)/share/man/man1 $(libgcc_dir)
+
+# XXX: what about triarch mapping?
+files_gcc = \
+ $(PF)/bin/$(cmd_prefix){gcc,gcov,gcov-tool,gcov-dump}$(pkg_ver) \
+ $(PF)/bin/$(cmd_prefix)gcc-{ar,ranlib,nm}$(pkg_ver) \
+ $(PF)/share/man/man1/$(cmd_prefix)gcc-{ar,nm,ranlib}$(pkg_ver).1 \
+ $(gcc_lexec_dir)/{collect2,lto1,lto-wrapper} \
+ $(shell test -e $(d)/$(gcc_lib_dir)/SYSCALLS.c.X \
+ && echo $(gcc_lib_dir)/SYSCALLS.c.X)
+
+ifeq ($(with_libcc1_plugin),yes)
+ files_gcc += \
+ $(gcc_lib_dir)/plugin/libc[cp]1plugin.so{,.0,.0.0.0}
+endif
+
+files_gcc += \
+ $(gcc_lexec_dir)/liblto_plugin.so{,.0,.0.0.0}
+
+ifeq ($(DEB_STAGE),stage1)
+ files_gcc += \
+ $(gcc_lib_dir)/include \
+ $(shell for h in \
+ README limits.h syslimits.h; \
+ do \
+ test -e $(d)/$(gcc_lib_dir)/include-fixed/$$h \
+ && echo $(gcc_lib_dir)/include-fixed/$$h; \
+ done)
+endif
+
+ifneq ($(GFDL_INVARIANT_FREE),yes)
+ files_gcc += \
+ $(PF)/share/man/man1/$(cmd_prefix){gcc,gcov}$(pkg_ver).1 \
+ $(PF)/share/man/man1/$(cmd_prefix)gcov-{dump,tool}$(pkg_ver).1
+endif
+
+usr_doc_files = debian/README.Bugs \
+ $(shell test -f $(srcdir)/FAQ && echo $(srcdir)/FAQ)
+
+p_loc = gcc$(pkg_ver)-locales
+d_loc = debian/$(p_loc)
+
+p_gcc_m = gcc$(pkg_ver)-multilib$(cross_bin_arch)
+d_gcc_m = debian/$(p_gcc_m)
+
+p_pld = gcc$(pkg_ver)-plugin-dev$(cross_bin_arch)
+d_pld = debian/$(p_pld)
+
+p_tst = gcc$(pkg_ver)-test-results
+d_tst = debian/$(p_tst)
+
+# ----------------------------------------------------------------------
+$(binary_stamp)-gcc: $(install_dependencies)
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ rm -rf $(d_gcc)
+ dh_installdirs -p$(p_gcc) $(dirs_gcc)
+
+ifeq ($(with_linaro_branch),yes)
+ if [ -f $(srcdir)/gcc/ChangeLog.linaro ]; then \
+ cp -p $(srcdir)/gcc/ChangeLog.linaro \
+ $(d_gcc)/$(docdir)/$(p_xbase)/changelog.linaro; \
+ fi
+endif
+ifeq ($(with_libssp),yes)
+ cp -p $(srcdir)/libssp/ChangeLog \
+ $(d_gcc)/$(docdir)/$(p_xbase)/libssp/changelog
+endif
+ifeq ($(with_gomp),yes)
+ mv $(d)/$(usr_lib)/libgomp*.spec $(d_gcc)/$(gcc_lib_dir)/
+ cp -p $(srcdir)/libgomp/ChangeLog \
+ $(d_gcc)/$(docdir)/$(p_xbase)/gomp/changelog
+endif
+ifeq ($(with_itm),yes)
+ mv $(d)/$(usr_lib)/libitm*.spec $(d_gcc)/$(gcc_lib_dir)/
+ cp -p $(srcdir)/libitm/ChangeLog \
+ $(d_gcc)/$(docdir)/$(p_xbase)/itm/changelog
+endif
+ifeq ($(with_qmath),yes)
+ cp -p $(srcdir)/libquadmath/ChangeLog \
+ $(d_gcc)/$(docdir)/$(p_xbase)/quadmath/changelog
+endif
+ifeq ($(with_asan),yes)
+ mv $(d)/$(usr_lib)/libsanitizer*.spec $(d_gcc)/$(gcc_lib_dir)/
+ cp -p $(srcdir)/libsanitizer/ChangeLog \
+ $(d_gcc)/$(docdir)/$(p_xbase)/sanitizer/changelog
+endif
+ifeq ($(with_mpx),yes)
+ mv $(d)/$(usr_lib)/libmpx.spec $(d_gcc)/$(gcc_lib_dir)/
+ cp -p $(srcdir)/libmpx/ChangeLog \
+ $(d_gcc)/$(docdir)/$(p_xbase)/mpx/changelog
+endif
+ifeq ($(with_cc1),yes)
+ rm -f $(d)/$(PF)/lib/$(DEB_HOST_MULTIARCH)/libcc1.so
+ dh_link -p$(p_gcc) \
+ /$(PF)/lib/$(DEB_HOST_MULTIARCH)/libcc1.so.$(CC1_SONAME) \
+ /$(gcc_lib_dir)/libcc1.so
+endif
+
+ $(dh_compat2) dh_movefiles -p$(p_gcc) $(files_gcc)
+
+ifeq ($(unprefixed_names),yes)
+ for i in gcc gcov gcov-dump gcov-tool gcc-ar gcc-nm gcc-ranlib; do \
+ ln -sf $(cmd_prefix)$$i$(pkg_ver) \
+ $(d_gcc)/$(PF)/bin/$$i$(pkg_ver); \
+ done
+ ifneq ($(GFDL_INVARIANT_FREE),yes)
+ for i in gcc gcov gcov-dump gcov-tool; do \
+ ln -sf $(cmd_prefix)$$i$(pkg_ver).1.gz \
+ $(d_gcc)/$(PF)/share/man/man1/$$i$(pkg_ver).1.gz; \
+ done
+ endif
+ for i in gcc-ar gcc-nm gcc-ranlib; do \
+ ln -sf $(cmd_prefix)$$i$(pkg_ver).1.gz \
+ $(d_gcc)/$(PF)/share/man/man1/$$i$(pkg_ver).1.gz; \
+ done
+endif
+
+# dh_installdebconf
+ debian/dh_doclink -p$(p_gcc) $(p_xbase)
+ cp -p $(usr_doc_files) $(d_gcc)/$(docdir)/$(p_xbase)/.
+ cp -p debian/README.ssp $(d_gcc)/$(docdir)/$(p_xbase)/
+ cp -p debian/NEWS.gcc $(d_gcc)/$(docdir)/$(p_xbase)/NEWS
+ cp -p debian/NEWS.html $(d_gcc)/$(docdir)/$(p_xbase)/NEWS.html
+ cp -p $(srcdir)/ChangeLog $(d_gcc)/$(docdir)/$(p_xbase)/changelog
+ cp -p $(srcdir)/gcc/ChangeLog \
+ $(d_gcc)/$(docdir)/$(p_xbase)/gcc/changelog
+ if [ -f $(builddir)/gcc/.bad_compare ]; then \
+ ( \
+ echo "The comparision of the stage2 and stage3 object files shows differences."; \
+ echo "The Debian package was modified to ignore these differences."; \
+ echo ""; \
+ echo "The following files differ:"; \
+ echo ""; \
+ cat $(builddir)/gcc/.bad_compare; \
+ ) > $(d_gcc)/$(docdir)/$(p_xbase)/BOOTSTRAP_COMPARISION_FAILURE; \
+ else \
+ true; \
+ fi
+
+ mkdir -p $(d_gcc)/usr/share/lintian/overrides
+ echo '$(p_gcc) binary: hardening-no-pie' \
+ > $(d_gcc)/usr/share/lintian/overrides/$(p_gcc)
+ifeq ($(GFDL_INVARIANT_FREE),yes)
+ echo '$(p_gcc) binary: binary-without-manpage' \
+ >> $(d_gcc)/usr/share/lintian/overrides/$(p_gcc)
+endif
+
+ debian/dh_rmemptydirs -p$(p_gcc)
+ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTONS)))
+ $(DWZ) \
+ $(d_gcc)/$(gcc_lexec_dir)/lto1 \
+ $(d_gcc)/$(gcc_lexec_dir)/lto-wrapper \
+ $(d_gcc)/$(gcc_lexec_dir)/collect2
+endif
+ dh_strip -p$(p_gcc) \
+ $(if $(unstripped_exe),-X/lto1)
+ dh_shlibdeps -p$(p_gcc)
+ echo $(p_gcc) >> debian/arch_binaries
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
+
+# ----------------------------------------------------------------------
+
+$(binary_stamp)-gcc-multi: $(install_dependencies)
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ rm -rf $(d_gcc_m)
+ dh_installdirs -p$(p_gcc_m) $(docdir)
+
+ debian/dh_doclink -p$(p_gcc_m) $(p_xbase)
+ debian/dh_rmemptydirs -p$(p_gcc_m)
+
+ dh_strip -p$(p_gcc_m)
+ dh_shlibdeps -p$(p_gcc_m)
+ echo $(p_gcc_m) >> debian/arch_binaries
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
+
+# ----------------------------------------------------------------------
+$(binary_stamp)-gcc-plugindev: $(install_dependencies)
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ rm -rf $(d_pld)
+ dh_installdirs -p$(p_pld) \
+ $(docdir) \
+ $(gcc_lib_dir)/plugin
+ $(dh_compat2) dh_movefiles -p$(p_pld) \
+ $(gcc_lib_dir)/plugin/include \
+ $(gcc_lib_dir)/plugin/gtype.state \
+ $(gcc_lexec_dir)/plugin/gengtype
+
+ debian/dh_doclink -p$(p_pld) $(p_xbase)
+ debian/dh_rmemptydirs -p$(p_pld)
+ dh_strip -p$(p_pld)
+ dh_shlibdeps -p$(p_pld)
+ mkdir -p $(d_pld)/usr/share/lintian/overrides
+ echo '$(p_pld) binary: hardening-no-pie' \
+ > $(d_pld)/usr/share/lintian/overrides/$(p_pld)
+ echo $(p_pld) >> debian/arch_binaries
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
+
+# ----------------------------------------------------------------------
+$(binary_stamp)-gcc-locales: $(install_dependencies)
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ rm -rf $(d_loc)
+ dh_installdirs -p$(p_loc) \
+ $(docdir)
+ $(dh_compat2) dh_movefiles -p$(p_loc) \
+ $(PF)/share/locale/*/*/cpplib*.* \
+ $(PF)/share/locale/*/*/gcc*.*
+
+ debian/dh_doclink -p$(p_loc) $(p_xbase)
+ debian/dh_rmemptydirs -p$(p_loc)
+ echo $(p_loc) >> debian/indep_binaries
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
+
+
+# ----------------------------------------------------------------------
+
+$(binary_stamp)-testresults: $(install_dependencies)
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ rm -rf $(d_tst)
+ dh_installdirs -p$(p_tst) $(docdir)
+
+ debian/dh_doclink -p$(p_tst) $(p_xbase)
+
+ mkdir -p $(d_tst)/$(docdir)/$(p_xbase)/test
+ echo "TEST COMPARE BEGIN"
+ifeq ($(with_check),yes)
+ for i in test-summary testsuite-comparision; do \
+ [ -f $$i ] || continue; \
+ cp -p $$i $(d_tst)/$(docdir)/$(p_xbase)/$$i; \
+ done
+# more than one libgo.sum, avoid it
+ cp -p $$(find $(builddir)/gcc/testsuite -maxdepth 2 \( -name '*.sum' -o -name '*.log' \)) \
+ $$(find $(buildlibdir)/*/testsuite -maxdepth 1 \( -name '*.sum' -o -name '*.log' \) ! -name 'libgo.*') \
+ $(d_tst)/$(docdir)/$(p_xbase)/test/
+ ifeq ($(with_go),yes)
+ cp -p $(buildlibdir)/libgo/libgo.sum \
+ $(d_tst)/$(docdir)/$(p_xbase)/test/
+ endif
+ ifeq (0,1)
+ cd $(builddir); \
+ for i in $(CURDIR)/$(d_tst)/$(docdir)/$(p_xbase)/test/*.sum; do \
+ b=$$(basename $$i); \
+ if [ -f /usr/share/doc/$(p_xbase)/test/$$b.gz ]; then \
+ zcat /usr/share/doc/$(p_xbase)/test/$$b.gz > /tmp/$$b; \
+ if sh $(srcdir)/contrib/test_summary /tmp/$$b $$i; then \
+ echo "$$b: OK"; \
+ else \
+ echo "$$b: FAILURES"; \
+ fi; \
+ rm -f /tmp/$$b; \
+ else \
+ echo "Test summary for $$b is not available"; \
+ fi; \
+ done
+ endif
+ if which xz 2>&1 >/dev/null; then \
+ echo -n $(d_tst)/$(docdir)/$(p_xbase)/test/* \
+ | xargs -d ' ' -L 1 -P $(USE_CPUS) xz -7v; \
+ fi
+else
+ echo "Nothing to compare (testsuite not run)"
+ echo 'Test run disabled, reason: $(with_check)' \
+ > $(d_tst)/$(docdir)/$(p_xbase)/test-run-disabled
+endif
+ echo "TEST COMPARE END"
+
+ debian/dh_rmemptydirs -p$(p_tst)
+
+ echo $(p_tst) >> debian/arch_binaries
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
+
+# ----------------------------------------------------------------------
+$(binary_stamp)-gcc-doc: $(build_html_stamp) $(install_stamp)
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ rm -rf $(d_doc)
+ dh_installdirs -p$(p_doc) \
+ $(docdir)/$(p_xbase) \
+ $(PF)/share/info
+ $(dh_compat2) dh_movefiles -p$(p_doc) \
+ $(PF)/share/info/cpp{,internals}-* \
+ $(PF)/share/info/gcc{,int}-* \
+ $(PF)/share/info/lib{gomp,itm}-* \
+ $(if $(with_qmath),$(PF)/share/info/libquadmath-*)
+ rm -f $(d_doc)/$(PF)/share/info/gccinst*
+
+ifeq ($(with_gomp),yes)
+ $(MAKE) -C $(buildlibdir)/libgomp stamp-build-info
+ cp -p $(buildlibdir)/libgomp/$(cmd_prefix)libgomp$(pkg_ver).info \
+ $(d_doc)/$(PF)/share/info/libgomp$(pkg_ver).info
+endif
+ifeq ($(with_itm),yes)
+ -$(MAKE) -C $(buildlibdir)/libitm stamp-build-info
+ if [ -f $(buildlibdir)/libitm/libitm$(pkg_ver).info ]; then \
+ cp -p $(buildlibdir)/libitm/$(cmd_prefix)libitm$(pkg_ver).info \
+ $(d_doc)/$(PF)/share/info/; \
+ fi
+endif
+
+ debian/dh_doclink -p$(p_doc) $(p_xbase)
+ dh_installdocs -p$(p_doc) html/gcc.html html/gccint.html
+ifeq ($(with_gomp),yes)
+ cp -p html/libgomp.html $(d_doc)/usr/share/doc/$(p_doc)/
+endif
+ifeq ($(with_itm),yes)
+ cp -p html/libitm.html $(d_doc)/usr/share/doc/$(p_doc)/
+endif
+ifeq ($(with_qmath),yes)
+ cp -p html/libquadmath.html $(d_doc)/usr/share/doc/$(p_doc)/
+endif
+ rm -f $(d_doc)/$(docdir)/$(p_xbase)/copyright
+ debian/dh_rmemptydirs -p$(p_doc)
+ echo $(p_doc) >> debian/indep_binaries
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
--- /dev/null
+ifeq ($(with_libgo),yes)
+ $(lib_binaries) += libgo
+endif
+ifeq ($(with_lib64go),yes)
+ $(lib_binaries) += lib64go
+endif
+ifeq ($(with_lib32go),yes)
+ $(lib_binaries) += lib32go
+endif
+ifeq ($(with_libn32go),yes)
+ $(lib_binaries) += libn32go
+endif
+ifeq ($(with_libx32go),yes)
+ $(lib_binaries) += libx32go
+endif
+
+ifneq ($(DEB_STAGE),rtlibs)
+ arch_binaries := $(arch_binaries) gccgo
+ ifneq (,$(filter yes, $(biarch64) $(biarch32) $(biarchn32) $(biarchx32)))
+ arch_binaries := $(arch_binaries) gccgo-multi
+ endif
+ ifneq ($(DEB_CROSS),yes)
+ ifneq ($(GFDL_INVARIANT_FREE),yes)
+ indep_binaries := $(indep_binaries) go-doc
+ endif
+ endif
+endif
+
+p_go = gccgo$(pkg_ver)$(cross_bin_arch)
+p_go_m = gccgo$(pkg_ver)-multilib$(cross_bin_arch)
+p_god = gccgo$(pkg_ver)-doc
+p_golib = libgo$(GO_SONAME)$(cross_lib_arch)
+
+d_go = debian/$(p_go)
+d_go_m = debian/$(p_go_m)
+d_god = debian/$(p_god)
+d_golib = debian/$(p_golib)
+
+dirs_go = \
+ $(docdir)/$(p_xbase)/go \
+ $(PF)/bin \
+ $(gcc_lexec_dir) \
+ $(gcc_lib_dir) \
+ $(PF)/include \
+ $(PF)/share/man/man1
+files_go = \
+ $(PF)/bin/$(cmd_prefix)gccgo$(pkg_ver) \
+ $(gcc_lexec_dir)/go1
+
+ifneq (,$(filter $(build_type), build-native cross-build-native))
+ files_go += \
+ $(PF)/bin/$(cmd_prefix){go,gofmt}$(pkg_ver) \
+ $(gcc_lexec_dir)/cgo \
+ $(gcc_lexec_dir)/{buildid,test2json,vet} \
+ $(PF)/share/man/man1/$(cmd_prefix){go,gofmt}$(pkg_ver).1
+endif
+
+ifneq ($(GFDL_INVARIANT_FREE),yes)
+ files_go += \
+ $(PF)/share/man/man1/$(cmd_prefix)gccgo$(pkg_ver).1
+endif
+
+ifeq ($(with_standalone_go),yes)
+
+ dirs_go += \
+ $(gcc_lib_dir)/include \
+ $(PF)/share/man/man1
+
+# XXX: what about triarch mapping?
+ files_go += \
+ $(PF)/bin/$(cmd_prefix){cpp,gcc,gcov,gcov-tool}$(pkg_ver) \
+ $(PF)/bin/$(cmd_prefix)gcc-{ar,ranlib,nm}$(pkg_ver) \
+ $(PF)/share/man/man1/$(cmd_prefix)gcc-{ar,nm,ranlib}$(pkg_ver).1 \
+ $(gcc_lexec_dir)/{cc1,collect2,lto1,lto-wrapper} \
+ $(gcc_lexec_dir)/liblto_plugin.so{,.0,.0.0.0} \
+ $(gcc_lib_dir)/{libgcc*,libgcov.a,*.o} \
+ $(header_files) \
+ $(shell test -e $(d)/$(gcc_lib_dir)/SYSCALLS.c.X \
+ && echo $(gcc_lib_dir)/SYSCALLS.c.X)
+
+ ifeq ($(with_cc1),yes)
+ files_go += \
+ $(gcc_lib_dir)/plugin/libcc1plugin.so{,.0,.0.0.0}
+ endif
+
+ ifneq ($(GFDL_INVARIANT_FREE),yes)
+ files_go += \
+ $(PF)/share/man/man1/$(cmd_prefix){cpp,gcc,gcov,gcov-tool}$(pkg_ver).1
+ endif
+
+ ifeq ($(biarch64),yes)
+ files_go += $(gcc_lib_dir)/$(biarch64subdir)/{libgcc*,libgcov.a,*.o}
+ endif
+ ifeq ($(biarch32),yes)
+ files_go += $(gcc_lib_dir)/$(biarch32subdir)/{libgcc*,*.o}
+ endif
+ ifeq ($(biarchn32),yes)
+ files_go += $(gcc_lib_dir)/$(biarchn32subdir)/{libgcc*,libgcov.a,*.o}
+ endif
+ ifeq ($(biarchx32),yes)
+ files_go += $(gcc_lib_dir)/$(biarchx32subdir)/{libgcc*,libgcov.a,*.o}
+ endif
+endif
+
+# ----------------------------------------------------------------------
+define __do_gccgo
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ rm -rf $(d_l) $(d_d)
+ dh_installdirs -p$(p_l) $(usr_lib$(2))
+ $(dh_compat2) dh_movefiles -p$(p_l) \
+ $(usr_lib$(2))/libgo.so.*
+
+ debian/dh_doclink -p$(p_l) $(p_lbase)
+ debian/dh_doclink -p$(p_d) $(p_lbase)
+
+ mkdir -p debian/$(p_l)/usr/share/lintian/overrides
+ echo '$(p_l) binary: unstripped-binary-or-object' \
+ >> debian/$(p_l)/usr/share/lintian/overrides/$(p_l)
+
+ : # don't strip: https://gcc.gnu.org/ml/gcc-patches/2015-02/msg01722.html
+ : # dh_strip -p$(p_l) --dbg-package=$(p_d)
+ $(cross_makeshlibs) dh_makeshlibs $(ldconfig_arg) -p$(p_l)
+ $(call cross_mangle_shlibs,$(p_l))
+ $(ignshld)DIRNAME=$(subst n,,$(2)) $(cross_shlibdeps) dh_shlibdeps -p$(p_l) \
+ $(call shlibdirs_to_search, \
+ $(subst go$(GO_SONAME),gcc$(GCC_SONAME),$(p_l)) \
+ $(subst go$(GO_SONAME),atomic$(ATOMIC_SONAME),$(p_l)) \
+ ,$(2)) \
+ $(if $(filter yes, $(with_common_libs)),,-- -Ldebian/shlibs.common$(2))
+ $(call cross_mangle_substvars,$(p_l))
+ echo $(p_l) $(p_d) >> debian/$(lib_binaries)
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
+endef
+
+do_gccgo = $(call __do_gccgo,lib$(1)go$(GO_SONAME),$(1))
+
+define install_gccgo_lib
+ mv $(d)/$(usr_lib$(3))/$(1).a debian/$(4)/$(gcc_lib_dir$(3))/
+ if [ -f $(d)/$(usr_lib$(3))/$(1)libbegin.a ]; then \
+ mv $(d)/$(usr_lib$(3))/$(1)libbegin.a debian/$(4)/$(gcc_lib_dir$(3))/; \
+ fi
+ rm -f $(d)/$(usr_lib$(3))/$(1)*.{la,so}
+ dh_link -p$(4) \
+ /$(usr_lib$(3))/$(1).so.$(2) /$(gcc_lib_dir$(3))/$(1).so
+endef
+
+# __do_gccgo_libgcc(flavour,package,todir,fromdir)
+define __do_gccgo_libgcc
+ $(if $(findstring gccgo,$(PKGSOURCE)),
+ : # libgcc_s.so may be a linker script on some architectures
+ set -e; \
+ if [ -h $(4)/libgcc_s.so ]; then \
+ rm -f $(4)/libgcc_s.so; \
+ dh_link -p$(2) /$(libgcc_dir$(1))/libgcc_s.so.$(GCC_SONAME) \
+ $(3)/libgcc_s.so; \
+ else \
+ mv $(4)/libgcc_s.so $(d)/$(3)/libgcc_s.so; \
+ dh_link -p$(2) /$(libgcc_dir$(1))/libgcc_s.so.$(GCC_SONAME) \
+ $(3)/libgcc_s.so.$(GCC_SONAME); \
+ fi; \
+ $(if $(1), dh_link -p$(2) /$(3)/libgcc_s.so \
+ $(gcc_lib_dir)/libgcc_s_$(1).so;)
+ )
+endef
+
+define do_go_dev
+ dh_installdirs -p$(2) $(gcc_lib_dir$(1)) $(usr_lib$(1))
+ $(dh_compat2) dh_movefiles -p$(2) \
+ $(gcc_lib_dir$(1))/{libgobegin,libgolibbegin}.a \
+ $(usr_lib$(1))/go
+ $(if $(filter yes, $(with_standalone_go)), \
+ $(call install_gccgo_lib,libgomp,$(GOMP_SONAME),$(1),$(2)))
+ $(call install_gccgo_lib,libgo,$(GO_SONAME),$(1),$(2))
+ $(call __do_gccgo_libgcc,$(1),$(2),$(gcc_lib_dir$(1)),$(d)/$(usr_lib$(1)))
+endef
+# ----------------------------------------------------------------------
+$(binary_stamp)-libgo: $(install_stamp)
+ $(call do_gccgo,)
+
+$(binary_stamp)-lib64go: $(install_stamp)
+ $(call do_gccgo,64)
+
+$(binary_stamp)-lib32go: $(install_stamp)
+ $(call do_gccgo,32)
+
+$(binary_stamp)-libn32go: $(install_stamp)
+ $(call do_gccgo,n32)
+
+$(binary_stamp)-libx32go: $(install_stamp)
+ $(call do_gccgo,x32)
+
+# ----------------------------------------------------------------------
+$(binary_stamp)-gccgo: $(install_stamp)
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ rm -rf $(d_go)
+ dh_installdirs -p$(p_go) $(dirs_go)
+
+ mv $(d)/$(usr_lib)/{libgobegin,libgolibbegin}.a \
+ $(d)/$(gcc_lib_dir)/
+ if [ -f $(d)/$(usr_lib64)/libgobegin.a ]; then \
+ mv $(d)/$(usr_lib64)/{libgobegin,libgolibbegin}.a \
+ $(d)/$(gcc_lib_dir)/64/; \
+ fi
+ if [ -f $(d)/$(usr_lib32)/libgobegin.a ]; then \
+ mv $(d)/$(usr_lib32)/{libgobegin,libgolibbegin}.a \
+ $(d)/$(gcc_lib_dir)/32/; \
+ fi
+ if [ -f $(d)/$(usr_libn32)/libgobegin.a ]; then \
+ mv $(d)/$(usr_libn32)/{libgobegin,libgolibbegin}.a \
+ $(d)/$(gcc_lib_dir)/n32/; \
+ fi
+ if [ -f $(d)/$(usr_libx32)/libgobegin.a ]; then \
+ mv $(d)/$(usr_libx32)/{libgobegin,libgolibbegin}.a \
+ $(d)/$(gcc_lib_dir)/x32/; \
+ fi
+
+ $(call do_go_dev,,$(p_go))
+
+ $(dh_compat2) dh_movefiles -p$(p_go) $(files_go)
+
+ifneq (,$(findstring gccgo,$(PKGSOURCE)))
+ rm -rf $(d_go)/$(gcc_lib_dir)/include/cilk
+ rm -rf $(d_go)/$(gcc_lib_dir)/include/openacc.h
+endif
+
+ifeq ($(unprefixed_names),yes)
+ ln -sf $(cmd_prefix)gccgo$(pkg_ver) \
+ $(d_go)/$(PF)/bin/gccgo$(pkg_ver)
+ ln -sf $(cmd_prefix)go$(pkg_ver) \
+ $(d_go)/$(PF)/bin/go$(pkg_ver)
+ ln -sf $(cmd_prefix)gofmt$(pkg_ver) \
+ $(d_go)/$(PF)/bin/gofmt$(pkg_ver)
+ ifneq ($(GFDL_INVARIANT_FREE),yes)
+ ln -sf $(cmd_prefix)gccgo$(pkg_ver).1 \
+ $(d_go)/$(PF)/share/man/man1/gccgo$(pkg_ver).1
+ endif
+ ln -sf $(cmd_prefix)go$(pkg_ver).1 \
+ $(d_go)/$(PF)/share/man/man1/go$(pkg_ver).1
+ ln -sf $(cmd_prefix)gofmt$(pkg_ver).1 \
+ $(d_go)/$(PF)/share/man/man1/gofmt$(pkg_ver).1
+endif
+
+ifeq ($(with_standalone_go),yes)
+ ifeq ($(unprefixed_names),yes)
+ for i in gcc gcov gcov-tool gcc-ar gcc-nm gcc-ranlib; do \
+ ln -sf $(cmd_prefix)$$i$(pkg_ver) \
+ $(d_go)/$(PF)/bin/$$i$(pkg_ver); \
+ done
+ ifneq ($(GFDL_INVARIANT_FREE),yes)
+ for i in gcc gcov gcov-tool gcc-ar gcc-nm gcc-ranlib; do \
+ ln -sf $(cmd_prefix)gcc$(pkg_ver).1 \
+ $(d_go)/$(PF)/share/man/man1/$$i$(pkg_ver).1; \
+ done
+ endif
+ endif
+ ifeq ($(with_gomp),yes)
+ mv $(d)/$(usr_lib)/libgomp*.spec $(d_go)/$(gcc_lib_dir)/
+ endif
+ ifeq ($(with_cc1),yes)
+ rm -f $(d)/$(usr_lib)/libcc1.so
+ dh_link -p$(p_go) \
+ /$(usr_lib)/libcc1.so.$(CC1_SONAME) /$(gcc_lib_dir)/libcc1.so
+ endif
+endif
+
+ mkdir -p $(d_go)/usr/share/lintian/overrides
+ echo '$(p_go) binary: unstripped-binary-or-object' \
+ > $(d_go)/usr/share/lintian/overrides/$(p_go)
+ echo '$(p_go) binary: hardening-no-pie' \
+ > $(d_go)/usr/share/lintian/overrides/$(p_go)
+ifeq ($(GFDL_INVARIANT_FREE),yes)
+ echo '$(p_go) binary: binary-without-manpage' \
+ >> $(d_go)/usr/share/lintian/overrides/$(p_go)
+endif
+
+ debian/dh_doclink -p$(p_go) $(p_xbase)
+
+# cp -p $(srcdir)/gcc/go/ChangeLog \
+# $(d_go)/$(docdir)/$(p_base)/go/changelog
+ debian/dh_rmemptydirs -p$(p_go)
+
+ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTONS)))
+ $(DWZ) \
+ $(d_go)/$(gcc_lexec_dir)/go1
+endif
+ dh_strip -v -p$(p_go) -X/cgo -X/go$(pkg_ver) -X/gofmt$(pkg_ver) \
+ -X/buildid -X/test2json -X/vet $(if $(unstripped_exe),-X/go1)
+ dh_shlibdeps -p$(p_go)
+ echo $(p_go) >> debian/arch_binaries
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
+
+# ----------------------------------------------------------------------
+$(binary_stamp)-gccgo-multi: $(install_stamp)
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ rm -rf $(d_go_m)
+ dh_installdirs -p$(p_go_m) $(docdir)
+
+ $(foreach flavour,$(flavours), \
+ $(call do_go_dev,$(flavour),$(p_go_m)))
+
+ debian/dh_doclink -p$(p_go_m) $(p_xbase)
+ debian/dh_rmemptydirs -p$(p_go_m)
+ dh_strip -p$(p_go_m)
+ dh_shlibdeps -p$(p_go_m)
+ echo $(p_go_m) >> debian/arch_binaries
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
+
+# ----------------------------------------------------------------------
+$(binary_stamp)-go-doc: $(build_html_stamp) $(install_stamp)
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ rm -rf $(d_god)
+ dh_installdirs -p$(p_god) \
+ $(docdir)/$(p_xbase)/go \
+ $(PF)/share/info
+ $(dh_compat2) dh_movefiles -p$(p_god) \
+ $(PF)/share/info/gccgo*
+
+ debian/dh_doclink -p$(p_god) $(p_xbase)
+ dh_installdocs -p$(p_god)
+ rm -f $(d_god)/$(docdir)/$(p_xbase)/copyright
+ cp -p html/gccgo.html $(d_god)/$(docdir)/$(p_xbase)/go/
+ echo $(p_god) >> debian/indep_binaries
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
--- /dev/null
+arch_binaries := $(arch_binaries) hppa64
+
+# ----------------------------------------------------------------------
+$(binary_stamp)-hppa64: $(install_hppa64_stamp)
+ dh_testdir
+ dh_testroot
+
+# dh_installdirs -p$(p_hppa64)
+
+ rm -f $(d_hppa64)/usr/lib/libiberty.a
+ -find $(d_hppa64) ! -type d
+
+ : # provide as and ld links
+ dh_link -p $(p_hppa64) \
+ /usr/bin/hppa64-linux-gnu-as \
+ /$(hppa64libexecdir)/gcc/hppa64-linux-gnu/$(versiondir)/as \
+ /usr/bin/hppa64-linux-gnu-ld \
+ /$(hppa64libexecdir)/gcc/hppa64-linux-gnu/$(versiondir)/ld
+
+ debian/dh_doclink -p$(p_hppa64) $(p_xbase)
+ debian/dh_rmemptydirs -p$(p_hppa64)
+
+ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTONS)))
+ $(DWZ) \
+ $(d_hppa64)/$(hppa64libexecdir)/gcc/hppa64-linux-gnu/$(versiondir)/cc1 \
+ $(d_hppa64)/$(hppa64libexecdir)/gcc/hppa64-linux-gnu/$(versiondir)/collect2 \
+ $(d_hppa64)/$(hppa64libexecdir)/gcc/hppa64-linux-gnu/$(versiondir)/lto-wrapper \
+ $(d_hppa64)/$(hppa64libexecdir)/gcc/hppa64-linux-gnu/$(versiondir)/lto1
+endif
+ dh_strip -p$(p_hppa64) -X.o -Xlibgcc.a -Xlibgcov.a
+ dh_shlibdeps -p$(p_hppa64)
+
+ mkdir -p $(d_hppa64)/usr/share/lintian/overrides
+ cp -p debian/$(p_hppa64).overrides \
+ $(d_hppa64)/usr/share/lintian/overrides/$(p_hppa64)
+
+ echo $(p_hppa64) >> debian/arch_binaries
+
+ touch $@
--- /dev/null
+$(lib_binaries) += libasan
+ifeq ($(with_lib64asan),yes)
+ $(lib_binaries) += lib64asan
+endif
+ifeq ($(with_lib32asan),yes)
+ $(lib_binaries) += lib32asan
+endif
+ifeq ($(with_libn32asan),yes)
+ $(lib_binaries) += libn32asan
+endif
+ifeq ($(with_libx32asan),yes)
+ $(lib_binaries) += libx32asan
+endif
+ifeq ($(with_libhfasan),yes)
+ $(lib_binaries) += libhfasan
+endif
+ifeq ($(with_libsfasan),yes)
+ $(lib_binaries) += libsfasan
+endif
+
+define __do_asan
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ rm -rf $(d_l) $(d_d)
+ dh_installdirs -p$(p_l) $(usr_lib$(2))
+ $(dh_compat2) dh_movefiles -p$(p_l) $(usr_lib$(2))/libasan.so.*
+
+ debian/dh_doclink -p$(p_l) $(p_lbase)
+ debian/dh_doclink -p$(p_d) $(p_lbase)
+
+ if [ -f debian/$(p_l).overrides ]; then \
+ mkdir -p debian/$(p_l)/usr/share/lintian/overrides; \
+ cp debian/$(p_l).overrides debian/$(p_l)/usr/share/lintian/overrides/$(p_l); \
+ fi
+
+ dh_strip -p$(p_l) --dbg-package=$(p_d)
+ $(cross_makeshlibs) dh_makeshlibs $(ldconfig_arg) -p$(p_l)
+ $(call cross_mangle_shlibs,$(p_l))
+ $(if $(ignshld),$(ignshld),-)DIRNAME=$(subst n,,$(2)) $(cross_shlibdeps) dh_shlibdeps -p$(p_l) \
+ $(call shlibdirs_to_search, \
+ $(subst asan$(ASAN_SONAME),gcc$(GCC_SONAME),$(p_l)) \
+ $(subst asan$(ASAN_SONAME),stdc++$(CXX_SONAME),$(p_l)) \
+ ,$(2)) \
+ $(if $(filter yes, $(with_common_libs)),,-- -Ldebian/shlibs.common$(2))
+ $(call cross_mangle_substvars,$(p_l))
+ echo $(p_l) $(p_d) >> debian/$(lib_binaries)
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
+endef
+
+# ----------------------------------------------------------------------
+
+do_asan = $(call __do_asan,lib$(1)asan$(ASAN_SONAME),$(1))
+
+$(binary_stamp)-libasan: $(install_stamp)
+ $(call do_asan,)
+
+$(binary_stamp)-lib64asan: $(install_stamp)
+ $(call do_asan,64)
+
+$(binary_stamp)-lib32asan: $(install_stamp)
+ $(call do_asan,32)
+
+$(binary_stamp)-libn32asan: $(install_stamp)
+ $(call do_asan,n32)
+
+$(binary_stamp)-libx32asan: $(install_stamp)
+ $(call do_asan,x32)
+
+$(binary_stamp)-libhfasan: $(install_dependencies)
+ $(call do_asan,hf)
+
+$(binary_stamp)-libsfasan: $(install_dependencies)
+ $(call do_asan,sf)
--- /dev/null
+$(lib_binaries) += libatomic
+ifeq ($(with_lib64atomic),yes)
+ $(lib_binaries) += lib64atomic
+endif
+ifeq ($(with_lib32atomic),yes)
+ $(lib_binaries) += lib32atomic
+endif
+ifeq ($(with_libn32atomic),yes)
+ $(lib_binaries) += libn32atomic
+endif
+ifeq ($(with_libx32atomic),yes)
+ $(lib_binaries) += libx32atomic
+endif
+ifeq ($(with_libhfatomic),yes)
+ $(lib_binaries) += libhfatomic
+endif
+ifeq ($(with_libsfatomic),yes)
+ $(lib_binaries) += libsfatomic
+endif
+
+define __do_atomic
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ rm -rf $(d_l) $(d_d)
+ dh_installdirs -p$(p_l) $(usr_lib$(2))
+ $(dh_compat2) dh_movefiles -p$(p_l) $(usr_lib$(2))/libatomic.so.*
+
+ debian/dh_doclink -p$(p_l) $(p_lbase)
+ debian/dh_doclink -p$(p_d) $(p_lbase)
+
+ dh_strip -p$(p_l) --dbg-package=$(p_d)
+ ln -sf libatomic.symbols debian/$(p_l).symbols
+ $(cross_makeshlibs) dh_makeshlibs $(ldconfig_arg) -p$(p_l)
+ $(call cross_mangle_shlibs,$(p_l))
+ $(ignshld)DIRNAME=$(subst n,,$(2)) $(cross_shlibdeps) dh_shlibdeps -p$(p_l) \
+ $(call shlibdirs_to_search,,$(2))
+ $(call cross_mangle_substvars,$(p_l))
+ echo $(p_l) $(p_d) >> debian/$(lib_binaries)
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
+endef
+
+# ----------------------------------------------------------------------
+
+do_atomic = $(call __do_atomic,lib$(1)atomic$(ATOMIC_SONAME),$(1))
+
+$(binary_stamp)-libatomic: $(install_stamp)
+ $(call do_atomic,)
+
+$(binary_stamp)-lib64atomic: $(install_stamp)
+ $(call do_atomic,64)
+
+$(binary_stamp)-lib32atomic: $(install_stamp)
+ $(call do_atomic,32)
+
+$(binary_stamp)-libn32atomic: $(install_stamp)
+ $(call do_atomic,n32)
+
+$(binary_stamp)-libx32atomic: $(install_stamp)
+ $(call do_atomic,x32)
+
+$(binary_stamp)-libhfatomic: $(install_dependencies)
+ $(call do_atomic,hf)
+
+$(binary_stamp)-libsfatomic: $(install_dependencies)
+ $(call do_atomic,sf)
--- /dev/null
+ifeq ($(with_libcc1),yes)
+ ifneq ($(DEB_CROSS),yes)
+ arch_binaries := $(arch_binaries) libcc1
+ endif
+endif
+
+p_cc1 = libcc1-$(CC1_SONAME)
+d_cc1 = debian/$(p_cc1)
+
+# ----------------------------------------------------------------------
+$(binary_stamp)-libcc1: $(install_dependencies)
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ rm -rf $(d_cc1)
+ dh_installdirs -p$(p_cc1) \
+ $(docdir) \
+ $(usr_lib)
+ $(dh_compat2) dh_movefiles -p$(p_cc1) \
+ $(usr_lib)/libcc1.so.*
+
+ debian/dh_doclink -p$(p_cc1) $(p_xbase)
+ debian/dh_rmemptydirs -p$(p_cc1)
+
+ dh_strip -p$(p_cc1)
+ dh_makeshlibs -p$(p_cc1)
+ dh_shlibdeps -p$(p_cc1)
+ echo $(p_cc1) >> debian/arch_binaries
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
--- /dev/null
+ifeq ($(with_libgcc),yes)
+ $(lib_binaries) += libgcc
+endif
+ifeq ($(with_lib64gcc),yes)
+ $(lib_binaries) += lib64gcc
+endif
+ifeq ($(with_lib32gcc),yes)
+ $(lib_binaries) += lib32gcc
+endif
+ifeq ($(with_libn32gcc),yes)
+ $(lib_binaries) += libn32gcc
+endif
+ifeq ($(with_libx32gcc),yes)
+ $(lib_binaries) += libx32gcc
+endif
+ifeq ($(with_libhfgcc),yes)
+ $(lib_binaries) += libhfgcc
+endif
+ifeq ($(with_libsfgcc),yes)
+ $(lib_binaries) += libsfgcc
+endif
+
+ifneq ($(DEB_STAGE),rtlibs)
+ ifeq ($(with_cdev),yes)
+ $(lib_binaries) += libgcc-dev
+ endif
+ ifeq ($(with_lib64gccdev),yes)
+ $(lib_binaries) += lib64gcc-dev
+ endif
+ ifeq ($(with_lib32gccdev),yes)
+ $(lib_binaries) += lib32gcc-dev
+ endif
+ ifeq ($(with_libn32gccdev),yes)
+ $(lib_binaries) += libn32gcc-dev
+ endif
+ ifeq ($(with_libx32gccdev),yes)
+ $(lib_binaries) += libx32gcc-dev
+ endif
+ ifeq ($(with_libhfgccdev),yes)
+ $(lib_binaries) += libhfgcc-dev
+ endif
+ ifeq ($(with_libsfgccdev),yes)
+ $(lib_binaries) += libsfgcc-dev
+ endif
+endif
+
+header_files = \
+ $(gcc_lib_dir)/include/std*.h \
+ $(shell for h in \
+ README features.h arm_fp16.h arm_neon.h arm_cmse.h loongson.h \
+ {cpuid,decfloat,float,gcov,iso646,limits,mm3dnow,mm_malloc}.h \
+ {ppu_intrinsics,paired,spu2vmx,vec_types,si2vmx}.h \
+ {,a,b,e,i,n,p,s,t,w,x}mmintrin.h mmintrin-common.h \
+ {abm,adx,avx,avx2,bmi,bmi2,f16c,fma,fma4,fxsr,ia32,}intrin.h \
+ {lwp,lzcnt,popcnt,prfchw,rdseed,rtm,tbm,x86,xop,xsave{,opt},xtest,}intrin.h \
+ {htm,htmxl,mwaitx,pku,sha,vaes,vec,sgx}intrin.h \
+ avx512{bw,er,cd,dq,f,ifma,ifmavl,pf,vlbw,vbmi,vldq,vbmivl,vl}intrin.h \
+ avx512{4fmaps,4vnniw,bitalg,vnni,vnnivl,vpopcntdq,vpopcntdqvl}intrin.h \
+ avx512vbmi{2,2vl}intrin.h \
+ {movdir,pconfig,vpclmulqdq,wbnoinvd}intrin.h \
+ {cet,clflushopt,clwb,clzero,gfni,pcommit,xsavec,xsaves}intrin.h \
+ {arm_acle,unwind-arm-common,s390intrin}.h \
+ amo.h msa.h \
+ {cet,cross-stdarg,syslimits,unwind,varargs}.h; \
+ do \
+ test -e $(d)/$(gcc_lib_dir)/include/$$h \
+ && echo $(gcc_lib_dir)/include/$$h; \
+ test -e $(d)/$(gcc_lib_dir)/include-fixed/$$h \
+ && echo $(gcc_lib_dir)/include-fixed/$$h; \
+ done) \
+ $(shell for d in \
+ asm bits cilk gnu linux sanitizer $(TARGET_ALIAS) \
+ $(subst $(DEB_TARGET_GNU_CPU),$(biarch_cpu),$(TARGET_ALIAS)); \
+ do \
+ test -e $(d)/$(gcc_lib_dir)/include/$$d \
+ && echo $(gcc_lib_dir)/include/$$d; \
+ test -e $(d)/$(gcc_lib_dir)/include-fixed/$$d \
+ && echo $(gcc_lib_dir)/include-fixed/$$d; \
+ done)
+
+ifeq ($(with_libssp),yes)
+ header_files += $(gcc_lib_dir)/include/ssp
+endif
+ifeq ($(with_gomp),yes)
+ header_files += $(gcc_lib_dir)/include/{omp,openacc}.h
+endif
+ifeq ($(with_qmath),yes)
+ header_files += $(gcc_lib_dir)/include/quadmath{,_weak}.h
+endif
+
+ifeq ($(DEB_TARGET_ARCH),ia64)
+ header_files += $(gcc_lib_dir)/include/ia64intrin.h
+endif
+
+ifeq ($(DEB_TARGET_ARCH),m68k)
+ header_files += $(gcc_lib_dir)/include/math-68881.h
+endif
+
+ifneq (,$(filter $(DEB_TARGET_ARCH),powerpc ppc64 ppc64el))
+ header_files += $(gcc_lib_dir)/include/{altivec.h,ppc-asm.h}
+endif
+
+ifeq ($(DEB_TARGET_ARCH),powerpcspe)
+ header_files += $(gcc_lib_dir)/include/{ppc-asm.h,spe.h}
+endif
+
+ifeq ($(DEB_TARGET_ARCH),tilegx)
+ header_files += $(gcc_lib_dir)/include/feedback.h
+endif
+
+p_lgcc = libgcc$(GCC_SONAME)$(cross_lib_arch)
+p_lgccdbg = libgcc$(GCC_SONAME)-dbg$(cross_lib_arch)
+p_lgccdev = libgcc-$(BASE_VERSION)-dev$(cross_lib_arch)
+d_lgcc = debian/$(p_lgcc)
+d_lgccdbg = debian/$(p_lgccdbg)
+d_lgccdev = debian/$(p_lgccdev)
+
+p_l32gcc = lib32gcc$(GCC_SONAME)$(cross_lib_arch)
+p_l32gccdbg = lib32gcc$(GCC_SONAME)-dbg$(cross_lib_arch)
+p_l32gccdev = lib32gcc-$(BASE_VERSION)-dev$(cross_lib_arch)
+d_l32gcc = debian/$(p_l32gcc)
+d_l32gccdbg = debian/$(p_l32gccdbg)
+d_l32gccdev = debian/$(p_l32gccdev)
+
+p_l64gcc = lib64gcc$(GCC_SONAME)$(cross_lib_arch)
+p_l64gccdbg = lib64gcc$(GCC_SONAME)-dbg$(cross_lib_arch)
+p_l64gccdev = lib64gcc-$(BASE_VERSION)-dev$(cross_lib_arch)
+d_l64gcc = debian/$(p_l64gcc)
+d_l64gccdbg = debian/$(p_l64gccdbg)
+d_l64gccdev = debian/$(p_l64gccdev)
+
+p_ln32gcc = libn32gcc$(GCC_SONAME)$(cross_lib_arch)
+p_ln32gccdbg = libn32gcc$(GCC_SONAME)-dbg$(cross_lib_arch)
+p_ln32gccdev = libn32gcc-$(BASE_VERSION)-dev$(cross_lib_arch)
+d_ln32gcc = debian/$(p_ln32gcc)
+d_ln32gccdbg = debian/$(p_ln32gccdbg)
+d_ln32gccdev = debian/$(p_ln32gccdev)
+
+p_lx32gcc = libx32gcc$(GCC_SONAME)$(cross_lib_arch)
+p_lx32gccdbg = libx32gcc$(GCC_SONAME)-dbg$(cross_lib_arch)
+p_lx32gccdev = libx32gcc-$(BASE_VERSION)-dev$(cross_lib_arch)
+d_lx32gcc = debian/$(p_lx32gcc)
+d_lx32gccdbg = debian/$(p_lx32gccdbg)
+d_lx32gccdev = debian/$(p_lx32gccdev)
+
+p_lhfgcc = libhfgcc$(GCC_SONAME)$(cross_lib_arch)
+p_lhfgccdbg = libhfgcc$(GCC_SONAME)-dbg$(cross_lib_arch)
+p_lhfgccdev = libhfgcc-$(BASE_VERSION)-dev$(cross_lib_arch)
+d_lhfgcc = debian/$(p_lhfgcc)
+d_lhfgccdbg = debian/$(p_lhfgccdbg)
+d_lhfgccdev = debian/$(p_lhfgccdev)
+
+p_lsfgcc = libsfgcc$(GCC_SONAME)$(cross_lib_arch)
+p_lsfgccdbg = libsfgcc$(GCC_SONAME)-dbg$(cross_lib_arch)
+p_lsfgccdev = libsfgcc-$(BASE_VERSION)-dev$(cross_lib_arch)
+d_lsfgcc = debian/$(p_lsfgcc)
+d_lsfgccdbg = debian/$(p_lsfgccdbg)
+d_lsfgccdev = debian/$(p_lsfgccdev)
+
+# __do_gcc_devels(flavour,package,todir,fromdir)
+define __do_gcc_devels
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ test -n "$(2)"
+ rm -rf debian/$(2)
+ dh_installdirs -p$(2) $(docdir) #TODO
+ dh_installdirs -p$(2) $(3)
+
+ $(call __do_gcc_devels2,$(1),$(2),$(3),$(4))
+
+ debian/dh_doclink -p$(2) $(p_lbase)
+ debian/dh_rmemptydirs -p$(2)
+
+ dh_strip -p$(2)
+ $(cross_shlibdeps) dh_shlibdeps -p$(2)
+ $(call cross_mangle_substvars,$(2))
+ echo $(2) >> debian/$(lib_binaries)
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
+endef
+
+# __do_gcc_devels2(flavour,package,todir,fromdir)
+define __do_gcc_devels2
+# stage1 builds static libgcc only
+ $(if $(filter $(DEB_STAGE),stage1),,
+ : # libgcc_s.so may be a linker script on some architectures
+ set -e; \
+ if [ -h $(4)/libgcc_s.so ]; then \
+ rm -f $(4)/libgcc_s.so; \
+ dh_link -p$(2) /$(libgcc_dir$(1))/libgcc_s.so.$(GCC_SONAME) \
+ /$(3)/libgcc_s.so; \
+ else \
+ mv $(4)/libgcc_s.so $(d)/$(3)/libgcc_s.so; \
+ dh_link -p$(2) /$(libgcc_dir$(1))/libgcc_s.so.$(GCC_SONAME) \
+ /$(3)/libgcc_s.so.$(GCC_SONAME); \
+ fi; \
+ $(if $(1), dh_link -p$(2) /$(3)/libgcc_s.so \
+ /$(gcc_lib_dir)/libgcc_s_$(1).so;)
+ )
+ $(dh_compat2) dh_movefiles -p$(2) \
+ $(3)/{libgcc*,libgcov.a,*.o} \
+ $(if $(1),,$(header_files)) # Only move headers for the "main" package
+
+ : # libbacktrace not installed by default
+ $(if $(filter yes, $(with_backtrace)),
+ if [ -f $(buildlibdir)/$(1)/libbacktrace/.libs/libbacktrace.a ]; then \
+ install -m644 $(buildlibdir)/$(1)/libbacktrace/.libs/libbacktrace.a \
+ debian/$(2)/$(gcc_lib_dir)/$(1); \
+ fi; \
+ $(if $(1),,
+ if [ -f $(buildlibdir)/libbacktrace/backtrace-supported.h ]; then \
+ install -m644 $(buildlibdir)/libbacktrace/backtrace-supported.h \
+ debian/$(2)/$(gcc_lib_dir)/include/; \
+ install -m644 $(srcdir)/libbacktrace/backtrace.h \
+ debian/$(2)/$(gcc_lib_dir)/include/; \
+ fi
+ ))
+
+ : # If building a flavour, add a lintian override
+ $(if $(1),
+ #TODO: use a file instead of a hacky echo
+ # bu do we want to use one override file (in the source package) per
+ # flavour or not since they are essentially the same?
+ mkdir -p debian/$(2)/usr/share/lintian/overrides
+ echo "$(2) binary: binary-from-other-architecture" \
+ >> debian/$(2)/usr/share/lintian/overrides/$(2)
+ )
+ $(if $(filter yes, $(with_lib$(1)gmath)),
+ $(call install_gcc_lib,libgcc-math,$(GCC_SONAME),$(1),$(2))
+ )
+ $(if $(filter yes, $(with_libssp)),
+ $(call install_gcc_lib,libssp,$(SSP_SONAME),$(1),$(2))
+ )
+ $(if $(filter yes, $(with_ssp)),
+ mv $(4)/libssp_nonshared.a debian/$(2)/$(3)/;
+ )
+ $(if $(filter yes, $(with_gomp)),
+ $(call install_gcc_lib,libgomp,$(GOMP_SONAME),$(1),$(2))
+ )
+ $(if $(filter yes, $(with_itm)),
+ $(call install_gcc_lib,libitm,$(ITM_SONAME),$(1),$(2))
+ )
+ $(if $(filter yes, $(with_atomic)),
+ $(call install_gcc_lib,libatomic,$(ATOMIC_SONAME),$(1),$(2))
+ )
+ $(if $(filter yes, $(with_asan)),
+ $(call install_gcc_lib,libasan,$(ASAN_SONAME),$(1),$(2))
+ mv $(4)/libasan_preinit.o debian/$(2)/$(3)/;
+ )
+ $(if $(1),,$(if $(filter yes, $(with_lsan)),
+ $(call install_gcc_lib,liblsan,$(LSAN_SONAME),$(1),$(2))
+ mv $(4)/liblsan_preinit.o debian/$(2)/$(3)/;
+ ))
+ $(if $(1),,$(if $(filter yes, $(with_tsan)),
+ $(call install_gcc_lib,libtsan,$(TSAN_SONAME),$(1),$(2))
+ ))
+ $(if $(filter yes, $(with_ubsan)),
+ $(call install_gcc_lib,libubsan,$(UBSAN_SONAME),$(1),$(2))
+ )
+ $(if $(filter yes, $(with_vtv)),
+ $(call install_gcc_lib,libvtv,$(VTV_SONAME),$(1),$(2))
+ )
+ $(if $(filter yes, $(with_cilkrts)),
+ $(call install_gcc_lib,libcilkrts,$(CILKRTS_SONAME),$(1),$(2))
+ )
+ $(if $(filter yes, $(with_mpx)),
+ $(if $(filter x32, $(1)),,
+ $(call install_gcc_lib,libmpxwrappers,$(MPX_SONAME),$(1),$(2))
+ $(call install_gcc_lib,libmpx,$(MPX_SONAME),$(1),$(2))
+ )
+ )
+ $(if $(filter yes, $(with_qmath)),
+ $(call install_gcc_lib,libquadmath,$(QUADMATH_SONAME),$(1),$(2))
+ )
+endef
+
+# do_gcc_devels(flavour)
+define do_gcc_devels
+ $(call __do_gcc_devels,$(1),$(p_l$(1)gccdev),$(gcc_lib_dir$(1)),$(d)/$(usr_lib$(1)))
+endef
+
+
+define __do_libgcc
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ rm -rf $(d_l) $(d_d)
+
+ dh_installdirs -p$(p_l) \
+ $(docdir)/$(p_l) \
+ $(libgcc_dir$(2))
+
+ $(if $(filter yes,$(with_shared_libgcc)),
+ mv $(d)/$(usr_lib$(2))/libgcc_s.so.$(GCC_SONAME) \
+ $(d_l)/$(libgcc_dir$(2))/.
+ )
+
+ $(if $(filter yes, $(with_internal_libunwind)),
+ mv $(d)/$(usr_lib$(2))/libunwind.* \
+ $(d_l)/$(libgcc_dir$(2))/.
+ )
+
+ debian/dh_doclink -p$(p_l) $(if $(3),$(3),$(p_lbase))
+ debian/dh_doclink -p$(p_d) $(if $(3),$(3),$(p_lbase))
+ debian/dh_rmemptydirs -p$(p_l)
+ debian/dh_rmemptydirs -p$(p_d)
+ dh_strip -p$(p_l) --dbg-package=$(p_d)
+
+ # see Debian #533843 for the __aeabi symbol handling; this construct is
+ # just to include the symbols for dpkg versions older than 1.15.3 which
+ # didn't allow bypassing the symbol blacklist
+ $(if $(filter yes,$(with_shared_libgcc)),
+ $(if $(findstring gcc1,$(p_l)), \
+ ln -sf libgcc.symbols debian/$(p_l).symbols \
+ )
+ $(cross_makeshlibs) dh_makeshlibs $(ldconfig_arg) -p$(p_l) -p$(p_d) \
+ -- -v$(DEB_LIBGCC_VERSION) -a$(call mlib_to_arch,$(2)) || echo XXXXXXXXXXXXXX ERROR $(p_l)
+ $(call cross_mangle_shlibs,$(p_l))
+ $(if $(filter arm-linux-gnueabi%,$(DEB_TARGET_GNU_TYPE)),
+ if head -1 $(d_l)/DEBIAN/symbols 2>/dev/null | grep -q '^lib'; then \
+ grep -q '^ __aeabi' $(d_l)/DEBIAN/symbols \
+ || cat debian/libgcc.symbols.aeabi \
+ >> $(d_l)/DEBIAN/symbols; \
+ fi
+ )
+ )
+
+ $(if $(DEB_STAGE),,
+ $(ignshld)DIRNAME=$(subst n,,$(2)) $(cross_shlibdeps) dh_shlibdeps -p$(p_l) \
+ $(call shlibdirs_to_search,,$(2))
+ )
+ $(call cross_mangle_substvars,$(p_l))
+
+ $(if $(2),, # only for native
+ mkdir -p $(d_l)/usr/share/lintian/overrides
+ echo '$(p_l): package-name-doesnt-match-sonames' \
+ > $(d_l)/usr/share/lintian/overrides/$(p_l)
+ )
+
+ echo $(p_l) $(p_d) >> debian/$(lib_binaries).epoch
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
+endef
+
+do_libgcc = $(call __do_libgcc,lib$(1)gcc$(GCC_SONAME),$(1),$(2))
+# ----------------------------------------------------------------------
+
+$(binary_stamp)-libgcc: $(install_dependencies)
+ $(call do_libgcc,,)
+
+$(binary_stamp)-lib64gcc: $(install_dependencies)
+ $(call do_libgcc,64,)
+
+$(binary_stamp)-lib32gcc: $(install_dependencies)
+ $(call do_libgcc,32,)
+
+$(binary_stamp)-libn32gcc: $(install_dependencies)
+ $(call do_libgcc,n32,)
+
+$(binary_stamp)-libx32gcc: $(install_dependencies)
+ $(call do_libgcc,x32,)
+
+$(binary_stamp)-libhfgcc: $(install_dependencies)
+ $(call do_libgcc,hf)
+
+$(binary_stamp)-libsfgcc: $(install_dependencies)
+ $(call do_libgcc,sf)
+
+$(binary_stamp)-libgcc-dev: $(install_dependencies)
+ $(call do_gcc_devels,)
+
+$(binary_stamp)-lib64gcc-dev: $(install_dependencies)
+ $(call do_gcc_devels,64)
+
+$(binary_stamp)-lib32gcc-dev: $(install_dependencies)
+ $(call do_gcc_devels,32)
+
+$(binary_stamp)-libn32gcc-dev: $(install_dependencies)
+ $(call do_gcc_devels,n32)
+
+$(binary_stamp)-libx32gcc-dev: $(install_dependencies)
+ $(call do_gcc_devels,x32)
+
+$(binary_stamp)-libhfgcc-dev: $(install_dependencies)
+ $(call do_gcc_devels,hf)
+
+$(binary_stamp)-libsfgcc-dev: $(install_dependencies)
+ $(call do_gcc_devels,sf)
+
--- /dev/null
+ifeq ($(with_libgccjit),yes)
+ $(lib_binaries) += libgccjit
+endif
+
+$(lib_binaries) += libgccjitdev
+
+ifneq ($(DEB_CROSS),yes)
+ indep_binaries := $(indep_binaries) libgccjitdoc
+endif
+
+p_jitlib = libgccjit$(GCCJIT_SONAME)
+p_jitdbg = libgccjit$(GCCJIT_SONAME)-dbg
+p_jitdev = libgccjit$(pkg_ver)-dev
+p_jitdoc = libgccjit$(pkg_ver)-doc
+
+d_jitlib = debian/$(p_jitlib)
+d_jitdev = debian/$(p_jitdev)
+d_jitdbg = debian/$(p_jitdbg)
+d_jitdoc = debian/$(p_jitdoc)
+
+$(binary_stamp)-libgccjit: $(install_jit_stamp)
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ rm -rf $(d_jitlib) $(d_jitdbg)
+ dh_installdirs -p$(p_jitlib) \
+ $(usr_lib)
+ dh_installdirs -p$(p_jitdbg)
+
+ $(dh_compat2) dh_movefiles -p$(p_jitlib) \
+ $(usr_lib)/libgccjit.so.*
+ rm -f $(d)/$(usr_lib)/libgccjit.so
+
+ debian/dh_doclink -p$(p_jitlib) $(p_base)
+ debian/dh_doclink -p$(p_jitdbg) $(p_base)
+
+ dh_strip -p$(p_jitlib) --dbg-package=$(p_jitdbg)
+ $(cross_makeshlibs) dh_makeshlibs -p$(p_jitlib)
+ $(call cross_mangle_shlibs,$(p_jitlib))
+ $(ignshld)$(cross_shlibdeps) dh_shlibdeps -p$(p_jitlib) \
+ $(if $(filter yes, $(with_common_libs)),,-- -Ldebian/shlibs.common$(2))
+ $(call cross_mangle_substvars,$(p_jitlib))
+ echo $(p_jitlib) $(p_jitdbg) >> debian/arch_binaries
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
+ touch $@
+
+$(binary_stamp)-libgccjitdev: $(install_jit_stamp)
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ rm -rf $(d_jitdev)
+ dh_installdirs -p$(p_jitdev) \
+ $(usr_lib) \
+ $(gcc_lib_dir)/include
+
+ rm -f $(d)/$(usr_lib)/libgccjit.so
+
+ $(dh_compat2) dh_movefiles -p$(p_jitdev) \
+ $(gcc_lib_dir)/include/libgccjit*.h
+ dh_link -p$(p_jitdev) \
+ $(usr_lib)/libgccjit.so.$(GCCJIT_SONAME) $(gcc_lib_dir)/libgccjit.so
+
+ debian/dh_doclink -p$(p_jitdev) $(p_base)
+
+ echo $(p_jitdev) >> debian/arch_binaries
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
+ touch $@
+
+$(binary_stamp)-libgccjitdoc: $(install_jit_stamp)
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ rm -rf $(d_jitdoc)
+ dh_installdirs -p$(p_jitdoc) \
+ $(PF)/share/info
+
+ $(dh_compat2) dh_movefiles -p$(p_jitdoc) \
+ $(PF)/share/info/libgccjit*
+ cp -p $(srcdir)/gcc/jit/docs/_build/texinfo/*.png \
+ $(d_jitdoc)/$(PF)/share/info/.
+
+ debian/dh_doclink -p$(p_jitdoc) $(p_base)
+ echo $(p_jitdoc) >> debian/indep_binaries
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
+ touch $@
--- /dev/null
+$(lib_binaries) += libgomp
+ifeq ($(with_lib64gomp),yes)
+ $(lib_binaries) += lib64gomp
+endif
+ifeq ($(with_lib32gomp),yes)
+ $(lib_binaries) += lib32gomp
+endif
+ifeq ($(with_libn32gomp),yes)
+ $(lib_binaries) += libn32gomp
+endif
+ifeq ($(with_libx32gomp),yes)
+ $(lib_binaries) += libx32gomp
+endif
+ifeq ($(with_libhfgomp),yes)
+ $(lib_binaries) += libhfgomp
+endif
+ifeq ($(with_libsfgomp),yes)
+ $(lib_binaries) += libsfgomp
+endif
+
+define __do_gomp
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ rm -rf $(d_l) $(d_d)
+ dh_installdirs -p$(p_l) $(usr_lib$(2))
+ $(dh_compat2) dh_movefiles -p$(p_l) $(usr_lib$(2))/libgomp.so.*
+
+ debian/dh_doclink -p$(p_l) $(p_lbase)
+ debian/dh_doclink -p$(p_d) $(p_lbase)
+
+ dh_strip -p$(p_l) --dbg-package=$(p_d)
+ ln -sf libgomp.symbols debian/$(p_l).symbols
+ $(cross_makeshlibs) dh_makeshlibs $(ldconfig_arg) -p$(p_l)
+ $(call cross_mangle_shlibs,$(p_l))
+ $(ignshld)DIRNAME=$(subst n,,$(2)) $(cross_shlibdeps) dh_shlibdeps -p$(p_l) \
+ $(call shlibdirs_to_search,$(subst gomp$(GOMP_SONAME),gcc$(GCC_SONAME),$(p_l)),$(2)) \
+ $(if $(filter yes, $(with_common_libs)),,-- -Ldebian/shlibs.common$(2))
+ $(call cross_mangle_substvars,$(p_l))
+ echo $(p_l) $(p_d) >> debian/$(lib_binaries)
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
+endef
+
+# ----------------------------------------------------------------------
+
+do_gomp = $(call __do_gomp,lib$(1)gomp$(GOMP_SONAME),$(1))
+
+$(binary_stamp)-libgomp: $(install_stamp)
+ $(call do_gomp,)
+
+$(binary_stamp)-lib64gomp: $(install_stamp)
+ $(call do_gomp,64)
+
+$(binary_stamp)-lib32gomp: $(install_stamp)
+ $(call do_gomp,32)
+
+$(binary_stamp)-libn32gomp: $(install_stamp)
+ $(call do_gomp,n32)
+
+$(binary_stamp)-libx32gomp: $(install_stamp)
+ $(call do_gomp,x32)
+
+$(binary_stamp)-libhfgomp: $(install_dependencies)
+ $(call do_gomp,hf)
+
+$(binary_stamp)-libsfgomp: $(install_dependencies)
+ $(call do_gomp,sf)
--- /dev/null
+ifeq ($(with_libhsailrt),yes)
+ $(lib_binaries) += libhsail
+endif
+ifeq ($(with_brigdev),yes)
+ $(lib_binaries) += libhsail-dev
+endif
+#ifeq ($(with_lib64hsailrt),yes)
+# $(lib_binaries) += lib64hsail
+#endif
+#ifeq ($(with_lib64hsailrtdev),yes)
+# $(lib_binaries) += lib64hsail-dev
+#endif
+#ifeq ($(with_lib32hsailrt),yes)
+# $(lib_binaries) += lib32hsail
+#endif
+#ifeq ($(with_lib32hsailrtdev),yes)
+# $(lib_binaries) += lib32hsail-dev
+#endif
+#ifeq ($(with_libn32hsailrt),yes)
+# $(lib_binaries) += libn32hsail
+#endif
+#ifeq ($(with_libn32hsailrtdev),yes)
+# $(lib_binaries) += libn32hsail-dev
+#endif
+#ifeq ($(with_libx32hsailrt),yes)
+# $(lib_binaries) += libx32hsail
+#endif
+#ifeq ($(with_libx32hsailrtdev),yes)
+# $(lib_binaries) += libx32hsail-dev
+#endif
+#ifeq ($(with_libhfhsailrt),yes)
+# $(lib_binaries) += libhfhsail
+#endif
+#ifeq ($(with_libhfhsailrtdev),yes)
+# $(lib_binaries) += libhfhsail-dev
+#endif
+#ifeq ($(with_libsfhsailrt),yes)
+# $(lib_binaries) += libsfhsail
+#endif
+#ifeq ($(with_libsfhsailrt-dev),yes)
+# $(lib_binaries) += libsfhsail-dev
+#endif
+
+define __do_hsail
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ rm -rf $(d_l) $(d_d)
+ dh_installdirs -p$(p_l) $(usr_lib$(2))
+ $(dh_compat2) dh_movefiles -p$(p_l) $(usr_lib$(2))/libhsail-rt.so.*
+
+ debian/dh_doclink -p$(p_l) $(p_lbase)
+ debian/dh_doclink -p$(p_d) $(p_lbase)
+
+ dh_strip -p$(p_l) --dbg-package=$(p_d)
+ ln -sf libhsail-rt.symbols debian/$(p_l).symbols
+ $(cross_makeshlibs) dh_makeshlibs $(ldconfig_arg) -p$(p_l)
+ $(call cross_mangle_shlibs,$(p_l))
+ $(ignshld)DIRNAME=$(subst n,,$(2)) $(cross_shlibdeps) dh_shlibdeps -p$(p_l) \
+ $(call shlibdirs_to_search,$(subst hsail-rt$(HSAIL_SONAME),gcc$(GCC_SONAME),$(p_l)),$(2)) \
+ $(if $(filter yes, $(with_common_libs)),,-- -Ldebian/shlibs.common$(2))
+ $(call cross_mangle_substvars,$(p_l))
+ echo $(p_l) $(p_d) >> debian/$(lib_binaries)
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
+endef
+
+define __do_hsail_dev
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ rm -rf $(d_l)
+ dh_installdirs -p$(p_l) \
+ $(gcc_lib_dir$(2))
+# $(dh_compat2) dh_movefiles -p$(p_l)
+
+ $(call install_gcc_lib,libhsail-rt,$(HSAIL_SONAME),$(2),$(p_l))
+
+ debian/dh_doclink -p$(p_l) $(p_lbase)
+ echo $(p_l) >> debian/$(lib_binaries)
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
+endef
+
+# ----------------------------------------------------------------------
+
+do_hsail = $(call __do_hsail,lib$(1)hsail-rt$(HSAIL_SONAME),$(1))
+do_hsail_dev = $(call __do_hsail_dev,lib$(1)hsail-rt-$(BASE_VERSION)-dev,$(1))
+
+$(binary_stamp)-libhsail: $(install_stamp)
+ @echo XXXXXXXXXXXX XX $(HSAIL_SONAME)
+ $(call do_hsail,)
+
+$(binary_stamp)-lib64hsail: $(install_stamp)
+ $(call do_hsail,64)
+
+$(binary_stamp)-lib32hsail: $(install_stamp)
+ $(call do_hsail,32)
+
+$(binary_stamp)-libn32hsail: $(install_stamp)
+ $(call do_hsail,n32)
+
+$(binary_stamp)-libx32hsail: $(install_stamp)
+ $(call do_hsail,x32)
+
+$(binary_stamp)-libhfhsail: $(install_dependencies)
+ $(call do_hsail,hf)
+
+$(binary_stamp)-libsfhsail: $(install_dependencies)
+ $(call do_hsail,sf)
+
+
+$(binary_stamp)-libhsail-dev: $(install_stamp)
+ $(call do_hsail_dev,)
+
+$(binary_stamp)-lib64hsail-dev: $(install_stamp)
+ $(call do_hsail_dev,64)
+
+$(binary_stamp)-lib32hsail-dev: $(install_stamp)
+ $(call do_hsail_dev,32)
+
+$(binary_stamp)-libx32hsail-dev: $(install_stamp)
+ $(call do_hsail_dev,x32)
+
+$(binary_stamp)-libn32hsail-dev: $(install_stamp)
+ $(call do_hsail_dev,n32)
+
+$(binary_stamp)-libhfhsail-dev: $(install_stamp)
+ $(call do_hsail_dev,hf)
+
+$(binary_stamp)-libsfhsail-dev: $(install_stamp)
+ $(call do_hsail_dev,sf)
--- /dev/null
+$(lib_binaries) += libitm
+ifeq ($(with_lib64itm),yes)
+ $(lib_binaries) += lib64itm
+endif
+ifeq ($(with_lib32itm),yes)
+ $(lib_binaries) += lib32itm
+endif
+ifeq ($(with_libn32itm),yes)
+ $(lib_binaries) += libn32itm
+endif
+ifeq ($(with_libx32itm),yes)
+ $(lib_binaries) += libx32itm
+endif
+ifeq ($(with_libhfitm),yes)
+ $(lib_binaries) += libhfitm
+endif
+ifeq ($(with_libsfitm),yes)
+ $(lib_binaries) += libsfitm
+endif
+
+define __do_itm
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ rm -rf $(d_l) $(d_d)
+ dh_installdirs -p$(p_l) $(usr_lib$(2))
+ $(dh_compat2) dh_movefiles -p$(p_l) $(usr_lib$(2))/libitm.so.*
+
+ debian/dh_doclink -p$(p_l) $(p_lbase)
+ debian/dh_doclink -p$(p_d) $(p_lbase)
+
+ dh_strip -p$(p_l) --dbg-package=$(p_d)
+ ln -sf libitm.symbols debian/$(p_l).symbols
+ $(cross_makeshlibs) dh_makeshlibs $(ldconfig_arg) -p$(p_l)
+ $(call cross_mangle_shlibs,$(p_l))
+ $(ignshld)DIRNAME=$(subst n,,$(2)) $(cross_shlibdeps) dh_shlibdeps -p$(p_l) \
+ $(call shlibdirs_to_search,,$(2)) \
+ $(if $(filter yes, $(with_common_libs)),,-- -Ldebian/shlibs.common$(2))
+ $(call cross_mangle_substvars,$(p_l))
+ echo $(p_l) $(p_d) >> debian/$(lib_binaries)
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
+endef
+
+# ----------------------------------------------------------------------
+
+do_itm = $(call __do_itm,lib$(1)itm$(ITM_SONAME),$(1))
+
+$(binary_stamp)-libitm: $(install_stamp)
+ $(call do_itm,)
+
+$(binary_stamp)-lib64itm: $(install_stamp)
+ $(call do_itm,64)
+
+$(binary_stamp)-lib32itm: $(install_stamp)
+ $(call do_itm,32)
+
+$(binary_stamp)-libn32itm: $(install_stamp)
+ $(call do_itm,n32)
+
+$(binary_stamp)-libx32itm: $(install_stamp)
+ $(call do_itm,x32)
+
+$(binary_stamp)-libhfitm: $(install_dependencies)
+ $(call do_itm,hf)
+
+$(binary_stamp)-libsfitm: $(install_dependencies)
+ $(call do_itm,sf)
--- /dev/null
+$(lib_binaries) += liblsan
+ifeq ($(with_lib64lsan),yes)
+ $(lib_binaries) += lib64lsan
+endif
+ifeq ($(with_lib32lsan),yes)
+ $(lib_binaries) += lib32lsan
+endif
+ifeq ($(with_libn32lsan),yes)
+ $(lib_binaries) += libn32lsan
+endif
+ifeq ($(with_libx32lsan),yes)
+ $(lib_binaries) += libx32lsan
+endif
+ifeq ($(with_libhflsan),yes)
+ $(lib_binaries) += libhflsan
+endif
+ifeq ($(with_libsflsan),yes)
+ $(lib_binaries) += libsflsan
+endif
+
+define __do_lsan
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ rm -rf $(d_l) $(d_d)
+ dh_installdirs -p$(p_l) $(usr_lib$(2))
+ $(dh_compat2) dh_movefiles -p$(p_l) $(usr_lib$(2))/liblsan.so.*
+
+ debian/dh_doclink -p$(p_l) $(p_lbase)
+ debian/dh_doclink -p$(p_d) $(p_lbase)
+
+ if [ -f debian/$(p_l).overrides ]; then \
+ mkdir -p debian/$(p_l)/usr/share/lintian/overrides; \
+ cp debian/$(p_l).overrides debian/$(p_l)/usr/share/lintian/overrides/$(p_l); \
+ fi
+
+ dh_strip -p$(p_l) --dbg-package=$(p_d)
+ $(cross_makeshlibs) dh_makeshlibs $(ldconfig_arg) -p$(p_l)
+ $(call cross_mangle_shlibs,$(p_l))
+ $(ignshld)DIRNAME=$(subst n,,$(2)) $(cross_shlibdeps) dh_shlibdeps -p$(p_l) \
+ $(call shlibdirs_to_search, \
+ $(subst lsan$(LSAN_SONAME),gcc$(GCC_SONAME),$(p_l)) \
+ $(subst lsan$(LSAN_SONAME),stdc++$(CXX_SONAME),$(p_l)) \
+ ,$(2)) \
+ $(if $(filter yes, $(with_common_libs)),,-- -Ldebian/shlibs.common$(2))
+ $(call cross_mangle_substvars,$(p_l))
+ echo $(p_l) $(p_d) >> debian/$(lib_binaries)
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
+endef
+
+# ----------------------------------------------------------------------
+
+do_lsan = $(call __do_lsan,lib$(1)lsan$(LSAN_SONAME),$(1))
+
+$(binary_stamp)-liblsan: $(install_stamp)
+ $(call do_lsan,)
+
+$(binary_stamp)-lib64lsan: $(install_stamp)
+ $(call do_lsan,64)
+
+$(binary_stamp)-lib32lsan: $(install_stamp)
+ $(call do_lsan,32)
+
+$(binary_stamp)-libn32lsan: $(install_stamp)
+ $(call do_lsan,n32)
+
+$(binary_stamp)-libx32lsan: $(install_stamp)
+ $(call do_lsan,x32)
+
+$(binary_stamp)-libhflsan: $(install_dependencies)
+ $(call do_lsan,hf)
+
+$(binary_stamp)-libsflsan: $(install_dependencies)
+ $(call do_lsan,sf)
--- /dev/null
+$(lib_binaries) += libmpx
+ifeq ($(with_lib64mpx),yes)
+ $(lib_binaries) += lib64mpx
+endif
+ifeq ($(with_lib32mpx),yes)
+ $(lib_binaries) += lib32mpx
+endif
+ifeq ($(with_libn32mpx),yes)
+ $(lib_binaries) += libn32mpx
+endif
+ifeq ($(with_libx32mpx),yes)
+ $(lib_binaries) += libx32mpx
+endif
+ifeq ($(with_libhfmpx),yes)
+ $(lib_binaries) += libhfmpx
+endif
+ifeq ($(with_libsfmpx),yes)
+ $(lib_binaries) += libsfmpx
+endif
+
+define __do_mpx
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ rm -rf $(d_l) $(d_d)
+ dh_installdirs -p$(p_l) $(usr_lib$(2))
+ $(dh_compat2) dh_movefiles -p$(p_l) \
+ $(usr_lib$(2))/libmpx.so.* \
+ $(usr_lib$(2))/libmpxwrappers.so.*
+
+ debian/dh_doclink -p$(p_l) $(p_lbase)
+ debian/dh_doclink -p$(p_d) $(p_lbase)
+
+ if [ -f debian/$(p_l).overrides ]; then \
+ mkdir -p debian/$(p_l)/usr/share/lintian/overrides; \
+ cp debian/$(p_l).overrides debian/$(p_l)/usr/share/lintian/overrides/$(p_l); \
+ fi
+
+ dh_strip -p$(p_l) --dbg-package=$(p_d)
+ ln -sf libmpx.symbols debian/$(p_l).symbols
+ $(cross_makeshlibs) dh_makeshlibs $(ldconfig_arg) -p$(p_l)
+ $(call cross_mangle_shlibs,$(p_l))
+ $(ignshld)DIRNAME=$(subst n,,$(2)) $(cross_shlibdeps) dh_shlibdeps -p$(p_l) \
+ $(call shlibdirs_to_search, \
+ $(subst mpx$(MPX_SONAME),gcc$(GCC_SONAME),$(p_l)) \
+ ,$(2)) \
+ $(if $(filter yes, $(with_common_libs)),,-- -Ldebian/shlibs.common$(2))
+ $(call cross_mangle_substvars,$(p_l))
+ echo $(p_l) $(p_d) >> debian/$(lib_binaries)
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
+endef
+
+# ----------------------------------------------------------------------
+
+do_mpx = $(call __do_mpx,lib$(1)mpx$(MPX_SONAME),$(1))
+
+$(binary_stamp)-libmpx: $(install_stamp)
+ $(call do_mpx,)
+
+$(binary_stamp)-lib64mpx: $(install_stamp)
+ $(call do_mpx,64)
+
+$(binary_stamp)-lib32mpx: $(install_stamp)
+ $(call do_mpx,32)
+
+$(binary_stamp)-libn32mpx: $(install_stamp)
+ $(call do_mpx,n32)
+
+$(binary_stamp)-libx32mpx: $(install_stamp)
+ $(call do_mpx,x32)
+
+$(binary_stamp)-libhfmpx: $(install_dependencies)
+ $(call do_mpx,hf)
+
+$(binary_stamp)-libsfmpx: $(install_dependencies)
+ $(call do_mpx,sf)
--- /dev/null
+ifeq ($(with_libobjc),yes)
+ $(lib_binaries) += libobjc
+endif
+ifeq ($(with_objcdev),yes)
+ $(lib_binaries) += libobjc-dev
+endif
+ifeq ($(with_lib64objc),yes)
+ $(lib_binaries) += lib64objc
+endif
+ifeq ($(with_lib64objcdev),yes)
+ $(lib_binaries) += lib64objc-dev
+endif
+ifeq ($(with_lib32objc),yes)
+ $(lib_binaries) += lib32objc
+endif
+ifeq ($(with_lib32objcdev),yes)
+ $(lib_binaries) += lib32objc-dev
+endif
+ifeq ($(with_libn32objc),yes)
+ $(lib_binaries) += libn32objc
+endif
+ifeq ($(with_libn32objcdev),yes)
+ $(lib_binaries) += libn32objc-dev
+endif
+ifeq ($(with_libx32objc),yes)
+ $(lib_binaries) += libx32objc
+endif
+ifeq ($(with_libx32objcdev),yes)
+ $(lib_binaries) += libx32objc-dev
+endif
+ifeq ($(with_libhfobjc),yes)
+ $(lib_binaries) += libhfobjc
+endif
+ifeq ($(with_libhfobjcdev),yes)
+ $(lib_binaries) += libhfobjc-dev
+endif
+ifeq ($(with_libsfobjc),yes)
+ $(lib_binaries) += libsfobjc
+endif
+ifeq ($(with_libsfobjcdev),yes)
+ $(lib_binaries) += libsfobjc-dev
+endif
+
+files_lobjcdev= \
+ $(gcc_lib_dir)/include/objc
+
+files_lobjc = \
+ $(usr_lib$(2))/libobjc.so.*
+ifeq ($(with_objc_gc),yes)
+ files_lobjc += \
+ $(usr_lib$(2))/libobjc_gc.so.*
+endif
+
+define __do_libobjc
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ rm -rf $(d_l) $(d_d)
+ dh_installdirs -p$(p_l) \
+ $(usr_lib$(2))
+ $(dh_compat2) dh_movefiles -p$(p_l) \
+ $(files_lobjc)
+
+ debian/dh_doclink -p$(p_l) $(p_lbase)
+ debian/dh_doclink -p$(p_d) $(p_lbase)
+
+ dh_strip -p$(p_l) --dbg-package=$(p_d)
+ rm -f debian/$(p_l).symbols
+ $(if $(2),
+ ln -sf libobjc.symbols debian/$(p_l).symbols ,
+ fgrep -v libobjc.symbols.gc debian/libobjc.symbols > debian/$(p_l).symbols
+ )
+ $(cross_makeshlibs) dh_makeshlibs $(ldconfig_arg) -p$(p_l) \
+ -- -a$(call mlib_to_arch,$(2)) || echo XXXXXXXXXXXXXX ERROR $(p_l)
+ rm -f debian/$(p_l).symbols
+ $(call cross_mangle_shlibs,$(p_l))
+ $(ignshld)DIRNAME=$(subst n,,$(2)) $(cross_shlibdeps) dh_shlibdeps -p$(p_l) \
+ $(call shlibdirs_to_search,$(subst objc$(OBJC_SONAME),gcc$(GCC_SONAME),$(p_l)),$(2)) \
+ $(if $(filter yes, $(with_common_libs)),,-- -Ldebian/shlibs.common$(2))
+ $(call cross_mangle_substvars,$(p_l))
+ echo $(p_l) $(p_d) >> debian/$(lib_binaries)
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
+endef
+
+
+define __do_libobjc_dev
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ rm -rf $(d_l)
+ dh_installdirs -p$(p_l) \
+ $(gcc_lib_dir$(2))
+ $(dh_compat2) dh_movefiles -p$(p_l) \
+ $(files_lobjcdev)
+
+ $(call install_gcc_lib,libobjc,$(OBJC_SONAME),$(2),$(p_l))
+ $(if $(filter yes,$(with_objc_gc)),
+ $(if $(2),,
+ dh_link -p$(p_l) \
+ /$(usr_lib$(2))/libobjc_gc.so.$(OBJC_SONAME) \
+ /$(gcc_lib_dir$(2))/libobjc_gc.so
+ ))
+
+ debian/dh_doclink -p$(p_l) $(p_lbase)
+ echo $(p_l) >> debian/$(lib_binaries)
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
+endef
+
+
+
+# ----------------------------------------------------------------------
+
+do_libobjc = $(call __do_libobjc,lib$(1)objc$(OBJC_SONAME),$(1))
+do_libobjc_dev = $(call __do_libobjc_dev,lib$(1)objc-$(BASE_VERSION)-dev,$(1))
+
+$(binary_stamp)-libobjc: $(install_stamp)
+ $(call do_libobjc,)
+
+$(binary_stamp)-lib64objc: $(install_stamp)
+ $(call do_libobjc,64)
+
+$(binary_stamp)-lib32objc: $(install_stamp)
+ $(call do_libobjc,32)
+
+$(binary_stamp)-libn32objc: $(install_stamp)
+ $(call do_libobjc,n32)
+
+$(binary_stamp)-libx32objc: $(install_stamp)
+ $(call do_libobjc,x32)
+
+$(binary_stamp)-libhfobjc: $(install_stamp)
+ $(call do_libobjc,hf)
+
+$(binary_stamp)-libsfobjc: $(install_stamp)
+ $(call do_libobjc,sf)
+
+
+$(binary_stamp)-libobjc-dev: $(install_stamp)
+ $(call do_libobjc_dev,)
+
+$(binary_stamp)-lib64objc-dev: $(install_stamp)
+ $(call do_libobjc_dev,64)
+
+$(binary_stamp)-lib32objc-dev: $(install_stamp)
+ $(call do_libobjc_dev,32)
+
+$(binary_stamp)-libx32objc-dev: $(install_stamp)
+ $(call do_libobjc_dev,x32)
+
+$(binary_stamp)-libn32objc-dev: $(install_stamp)
+ $(call do_libobjc_dev,n32)
+
+$(binary_stamp)-libhfobjc-dev: $(install_stamp)
+ $(call do_libobjc_dev,hf)
+
+$(binary_stamp)-libsfobjc-dev: $(install_stamp)
+ $(call do_libobjc_dev,sf)
+
--- /dev/null
+$(lib_binaries) += libqmath
+ifeq ($(with_lib64qmath),yes)
+ $(lib_binaries) += lib64qmath
+endif
+ifeq ($(with_lib32qmath),yes)
+ $(lib_binaries) += lib32qmath
+endif
+ifeq ($(with_libn32qmath),yes)
+ $(lib_binaries) += libn32qmath
+endif
+ifeq ($(with_libx32qmath),yes)
+ $(lib_binaries) += libx32qmath
+endif
+ifeq ($(with_libhfqmath),yes)
+ $(lib_binaries) += libhfqmath
+endif
+ifeq ($(with_libsfqmath),yes)
+ $(lib_binaries) += libsfqmath
+endif
+
+define __do_qmath
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ rm -rf $(d_l) $(d_d)
+ dh_installdirs -p$(p_l) $(usr_lib$(2))
+ $(dh_compat2) dh_movefiles -p$(p_l) $(usr_lib$(2))/libquadmath.so.*
+
+ debian/dh_doclink -p$(p_l) $(p_lbase)
+ debian/dh_doclink -p$(p_d) $(p_lbase)
+
+ dh_strip -p$(p_l) --dbg-package=$(p_d)
+ ln -sf libquadmath.symbols debian/$(p_l).symbols
+ $(cross_makeshlibs) dh_makeshlibs $(ldconfig_arg) -p$(p_l)
+ $(call cross_mangle_shlibs,$(p_l))
+ $(cross_shlibdeps) dh_shlibdeps -p$(p_l) \
+ $(call shlibdirs_to_search,,$(2)) \
+ $(if $(filter yes, $(with_common_libs)),,-- -Ldebian/shlibs.common$(2))
+ $(call cross_mangle_substvars,$(p_l))
+ echo $(p_l) $(p_d) >> debian/$(lib_binaries)
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
+endef
+
+# ----------------------------------------------------------------------
+
+do_qmath = $(call __do_qmath,lib$(1)quadmath$(QUADMATH_SONAME),$(1))
+
+$(binary_stamp)-libqmath: $(install_stamp)
+ $(call do_qmath,)
+
+$(binary_stamp)-lib64qmath: $(install_stamp)
+ $(call do_qmath,64)
+
+$(binary_stamp)-lib32qmath: $(install_stamp)
+ $(call do_qmath,32)
+
+$(binary_stamp)-libn32qmath: $(install_stamp)
+ $(call do_qmath,n32)
+
+$(binary_stamp)-libx32qmath: $(install_stamp)
+ $(call do_qmath,x32)
+
+$(binary_stamp)-libhfqmath: $(install_stamp)
+ $(call do_qmath,hf)
+
+$(binary_stamp)-libsfqmath: $(install_stamp)
+ $(call do_qmath,sf)
--- /dev/null
+arch_binaries := $(arch_binaries) libssp
+ifeq ($(with_lib64ssp),yes)
+ arch_binaries := $(arch_binaries) lib64ssp
+endif
+ifeq ($(with_lib32ssp),yes)
+ arch_binaries := $(arch_binaries) lib32ssp
+endif
+ifeq ($(with_libn32ssp),yes)
+ arch_binaries := $(arch_binaries) libn32ssp
+endif
+ifeq ($(with_libx32ssp),yes)
+ arch_binaries := $(arch_binaries) libx32ssp
+endif
+
+p_ssp = libssp$(SSP_SONAME)
+p_ssp32 = lib32ssp$(SSP_SONAME)
+p_ssp64 = lib64ssp$(SSP_SONAME)
+p_sspx32 = libx32ssp$(SSP_SONAME)
+p_sspd = libssp$(SSP_SONAME)-dev
+
+d_ssp = debian/$(p_ssp)
+d_ssp32 = debian/$(p_ssp32)
+d_ssp64 = debian/$(p_ssp64)
+d_sspx32 = debian/$(p_sspx32)
+d_sspd = debian/$(p_sspd)
+
+dirs_ssp = \
+ $(docdir)/$(p_base) \
+ $(PF)/$(libdir)
+files_ssp = \
+ $(PF)/$(libdir)/libssp.so.*
+
+dirs_sspd = \
+ $(docdir) \
+ $(PF)/include \
+ $(PF)/$(libdir)
+files_sspd = \
+ $(gcc_lib_dir)/include/ssp \
+ $(PF)/$(libdir)/libssp.{a,so} \
+ $(PF)/$(libdir)/libssp_nonshared.a
+
+ifeq ($(with_lib32ssp),yes)
+ dirs_sspd += $(lib32)
+ files_sspd += $(lib32)/libssp.{a,so}
+ files_sspd += $(lib32)/libssp_nonshared.a
+endif
+ifeq ($(with_lib64ssp),yes)
+ dirs_sspd += $(PF)/lib64
+ files_sspd += $(PF)/lib64/libssp.{a,so}
+ files_sspd += $(PF)/lib64/libssp_nonshared.a
+endif
+
+$(binary_stamp)-libssp: $(install_stamp)
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ rm -rf $(d_ssp)
+ dh_installdirs -p$(p_ssp)
+
+ $(dh_compat2) dh_movefiles -p$(p_ssp) $(files_ssp)
+ debian/dh_doclink -p$(p_ssp) $(p_lbase)
+
+ debian/dh_rmemptydirs -p$(p_ssp)
+
+ dh_strip -p$(p_ssp)
+ dh_makeshlibs $(ldconfig_arg) -p$(p_ssp) -V '$(p_ssp) (>= $(DEB_SOVERSION))'
+ dh_shlibdeps -p$(p_ssp)
+ echo $(p_ssp) >> debian/arch_binaries
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
+
+# ----------------------------------------------------------------------
+$(binary_stamp)-lib64ssp: $(install_stamp)
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ rm -rf $(d_ssp64)
+ dh_installdirs -p$(p_ssp64) \
+ $(PF)/lib64
+ $(dh_compat2) dh_movefiles -p$(p_ssp64) \
+ $(PF)/lib64/libssp.so.*
+
+ debian/dh_doclink -p$(p_ssp64) $(p_lbase)
+
+ dh_strip -p$(p_ssp64)
+ dh_makeshlibs $(ldconfig_arg) -p$(p_ssp64) -V '$(p_ssp64) (>= $(DEB_SOVERSION))'
+# dh_shlibdeps -p$(p_ssp64)
+ echo $(p_ssp64) >> debian/arch_binaries
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
+
+# ----------------------------------------------------------------------
+$(binary_stamp)-lib32ssp: $(install_stamp)
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ rm -rf $(d_ssp32)
+ dh_installdirs -p$(p_ssp32) \
+ $(lib32)
+ $(dh_compat2) dh_movefiles -p$(p_ssp32) \
+ $(lib32)/libssp.so.*
+
+ debian/dh_doclink -p$(p_ssp32) $(p_lbase)
+
+ dh_strip -p$(p_ssp32)
+ dh_makeshlibs $(ldconfig_arg) -p$(p_ssp32) -V '$(p_ssp32) (>= $(DEB_SOVERSION))'
+# dh_shlibdeps -p$(p_ssp32)
+ echo $(p_ssp32) >> debian/arch_binaries
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
+
+# ----------------------------------------------------------------------
+$(binary_stamp)-libn32ssp: $(install_stamp)
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ rm -rf $(d_sspn32)
+ dh_installdirs -p$(p_sspn32) \
+ $(PF)/$(libn32)
+ $(dh_compat2) dh_movefiles -p$(p_sspn32) \
+ $(PF)/$(libn32)/libssp.so.*
+
+ debian/dh_doclink -p$(p_sspn32) $(p_lbase)
+
+ dh_strip -p$(p_sspn32)
+ dh_makeshlibs $(ldconfig_arg) -p$(p_sspn32) -V '$(p_sspn32) (>= $(DEB_SOVERSION))'
+# dh_shlibdeps -p$(p_sspn32)
+ echo $(p_sspn32) >> debian/arch_binaries
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
+
+# ----------------------------------------------------------------------
+$(binary_stamp)-libx32ssp: $(install_stamp)
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ rm -rf $(d_sspx32)
+ dh_installdirs -p$(p_sspx32) \
+ $(PF)/$(libx32)
+ $(dh_compat2) dh_movefiles -p$(p_sspx32) \
+ $(PF)/$(libx32)/libssp.so.*
+
+ debian/dh_doclink -p$(p_sspx32) $(p_lbase)
+
+ dh_strip -p$(p_sspx32)
+ dh_makeshlibs $(ldconfig_arg) -p$(p_sspx32) -V '$(p_sspx32) (>= $(DEB_SOVERSION))'
+# dh_shlibdeps -p$(p_sspx32)
+ echo $(p_sspx32) >> debian/arch_binaries
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
--- /dev/null
+ifeq ($(with_libcxx),yes)
+ $(lib_binaries) += libstdcxx
+endif
+ifeq ($(with_lib64cxx),yes)
+ $(lib_binaries) += lib64stdcxx
+endif
+ifeq ($(with_lib32cxx),yes)
+ $(lib_binaries) += lib32stdcxx
+endif
+ifeq ($(with_libn32cxx),yes)
+ $(lib_binaries) += libn32stdcxx
+endif
+ifeq ($(with_libx32cxx),yes)
+ $(lib_binaries) += libx32stdcxx
+endif
+ifeq ($(with_libhfcxx),yes)
+ $(lib_binaries) += libhfstdcxx
+endif
+ifeq ($(with_libsfcxx),yes)
+ $(lib_binaries) += libsfstdcxx
+endif
+
+ifneq ($(DEB_STAGE),rtlibs)
+ ifeq ($(with_lib64cxxdev),yes)
+ $(lib_binaries) += lib64stdcxx-dev
+ endif
+ ifeq ($(with_lib64cxxdbg),yes)
+ $(lib_binaries) += lib64stdcxxdbg
+ endif
+ ifeq ($(with_lib32cxxdev),yes)
+ $(lib_binaries) += lib32stdcxx-dev
+ endif
+ ifeq ($(with_lib32cxxdbg),yes)
+ $(lib_binaries) += lib32stdcxxdbg
+ endif
+ ifeq ($(with_libn32cxxdev),yes)
+ $(lib_binaries) += libn32stdcxx-dev
+ endif
+ ifeq ($(with_libn32cxxdbg),yes)
+ $(lib_binaries) += libn32stdcxxdbg
+ endif
+ ifeq ($(with_libx32cxxdev),yes)
+ $(lib_binaries) += libx32stdcxx-dev
+ endif
+ ifeq ($(with_libx32cxxdbg),yes)
+ $(lib_binaries) += libx32stdcxxdbg
+ endif
+ ifeq ($(with_libhfcxxdev),yes)
+ $(lib_binaries) += libhfstdcxx-dev
+ endif
+ ifeq ($(with_libhfcxxdbg),yes)
+ $(lib_binaries) += libhfstdcxxdbg
+ endif
+ ifeq ($(with_libsfcxxdev),yes)
+ $(lib_binaries) += libsfstdcxx-dev
+ endif
+ ifeq ($(with_libsfcxxdbg),yes)
+ $(lib_binaries) += libsfstdcxxdbg
+ endif
+
+ ifeq ($(with_cxxdev),yes)
+ $(lib_binaries) += libstdcxx-dev
+ ifneq ($(DEB_CROSS),yes)
+ indep_binaries := $(indep_binaries) libstdcxx-doc
+ endif
+ endif
+endif
+
+libstdc_ext = -$(BASE_VERSION)
+
+p_lib = libstdc++$(CXX_SONAME)$(cross_lib_arch)
+p_lib64 = lib64stdc++$(CXX_SONAME)$(cross_lib_arch)
+p_lib32 = lib32stdc++$(CXX_SONAME)$(cross_lib_arch)
+p_libn32= libn32stdc++$(CXX_SONAME)$(cross_lib_arch)
+p_libx32= libx32stdc++$(CXX_SONAME)$(cross_lib_arch)
+p_libhf = libhfstdc++$(CXX_SONAME)$(cross_lib_arch)
+p_libsf = libsfstdc++$(CXX_SONAME)$(cross_lib_arch)
+p_dev = libstdc++$(libstdc_ext)-dev$(cross_lib_arch)
+p_pic = libstdc++$(libstdc_ext)-pic$(cross_lib_arch)
+p_dbg = libstdc++$(CXX_SONAME)$(libstdc_ext)-dbg$(cross_lib_arch)
+p_dbg64 = lib64stdc++$(CXX_SONAME)$(libstdc_ext)-dbg$(cross_lib_arch)
+p_dbg32 = lib32stdc++$(CXX_SONAME)$(libstdc_ext)-dbg$(cross_lib_arch)
+p_dbgn32= libn32stdc++$(CXX_SONAME)$(libstdc_ext)-dbg$(cross_lib_arch)
+p_dbgx32= libx32stdc++$(CXX_SONAME)$(libstdc_ext)-dbg$(cross_lib_arch)
+p_dbghf = libhfstdc++$(CXX_SONAME)$(libstdc_ext)-dbg$(cross_lib_arch)
+p_dbgsf = libsfstdc++$(CXX_SONAME)$(libstdc_ext)-dbg$(cross_lib_arch)
+p_libd = libstdc++$(libstdc_ext)-doc
+
+d_lib = debian/$(p_lib)
+d_lib64 = debian/$(p_lib64)
+d_lib32 = debian/$(p_lib32)
+d_libn32= debian/$(p_libn32)
+d_libx32= debian/$(p_libx32)
+d_libhf = debian/$(p_libhf)
+d_libsf = debian/$(p_libsf)
+d_dev = debian/$(p_dev)
+d_pic = debian/$(p_pic)
+d_dbg = debian/$(p_dbg)
+d_dbg64 = debian/$(p_dbg64)
+d_dbg32 = debian/$(p_dbg32)
+d_dbghf = debian/$(p_dbghf)
+d_dbgsf = debian/$(p_dbgsf)
+d_libd = debian/$(p_libd)
+
+dirs_dev = \
+ $(docdir)/$(p_base)/C++ \
+ $(usr_lib) \
+ $(gcc_lib_dir)/include \
+ $(PFL)/include/c++
+
+files_dev = \
+ $(PFL)/include/c++/$(BASE_VERSION) \
+ $(gcc_lib_dir)/libstdc++.{a,so} \
+ $(gcc_lib_dir)/libsupc++.a \
+ $(gcc_lib_dir)/libstdc++fs.a
+
+ifeq ($(with_multiarch_cxxheaders),yes)
+ dirs_dev += \
+ $(PF)/include/$(DEB_TARGET_MULTIARCH)/c++/$(BASE_VERSION)
+ files_dev += \
+ $(PF)/include/$(DEB_TARGET_MULTIARCH)/c++/$(BASE_VERSION)/{bits,ext}
+endif
+
+dirs_dbg = \
+ $(docdir) \
+ $(PF)/lib/debug/$(usr_lib) \
+ $(usr_lib)/debug \
+ $(PF)/share/gdb/auto-load/$(usr_lib)/debug \
+ $(gcc_lib_dir)
+files_dbg = \
+ $(usr_lib)/debug/libstdc++.{a,so*} \
+ $(usr_lib)/debug/libstdc++fs.a
+
+dirs_pic = \
+ $(docdir) \
+ $(gcc_lib_dir)
+files_pic = \
+ $(gcc_lib_dir)/libstdc++_pic.a
+
+# ----------------------------------------------------------------------
+
+gxx_baseline_dir = $(shell \
+ sed -n '/^baseline_dir *=/s,.*= *\(.*\)$$,\1,p' \
+ $(buildlibdir)/libstdc++-v3/testsuite/Makefile)
+gxx_baseline_file = $(gxx_baseline_dir)/baseline_symbols.txt
+
+debian/README.libstdc++-baseline:
+ cat debian/README.libstdc++-baseline.in \
+ > debian/README.libstdc++-baseline
+
+ baseline_name=`basename $(gxx_baseline_dir)`; \
+ baseline_parentdir=`dirname $(gxx_baseline_dir)`; \
+ compat_baseline_name=""; \
+ if [ -f "$(gxx_baseline_file)" ]; then \
+ ( \
+ echo "A baseline file for $$baseline_name was found."; \
+ echo "Running the check-abi script ..."; \
+ echo ""; \
+ $(MAKE) -C $(buildlibdir)/libstdc++-v3/testsuite \
+ check-abi; \
+ ) >> debian/README.libstdc++-baseline; \
+ else \
+ ( \
+ echo "No baseline file found for $$baseline_name."; \
+ echo "Generating a new baseline file ..."; \
+ echo ""; \
+ ) >> debian/README.libstdc++-baseline; \
+ mkdir -p $(gxx_baseline_dir); \
+ $(MAKE) -C $(buildlibdir)/libstdc++-v3/testsuite new-abi-baseline; \
+ if [ -f $(gxx_baseline_file) ]; then \
+ cat $(gxx_baseline_file); \
+ else \
+ cat $$(find $(buildlibdir)/libstdc++-v3 $(srcdir)/libstdc++-v3 -name '.new') || true; \
+ fi >> debian/README.libstdc++-baseline; \
+ fi
+
+# ----------------------------------------------------------------------
+# FIXME: see #792204, libstdc++ symbols on sparc64, for now ignore errors
+# for the 32bit multilib build
+
+define __do_libstdcxx
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ rm -rf $(d_l)
+
+ dh_installdirs -p$(p_l) \
+ $(docdir) \
+ $(usr_lib$(2)) \
+ $(PF)/share/gdb/auto-load/$(usr_lib$(2))
+
+ $(if $(DEB_CROSS),,$(if $(2),,
+ dh_installdirs -p$(p_l) \
+ $(PF)/share/gcc-$(BASE_VERSION)/python
+ $(dh_compat2) dh_movefiles -p$(p_l) \
+ $(PF)/share/gcc-$(BASE_VERSION)/python/libstdcxx
+ ))
+ cp -p $(d)/$(usr_lib$(2))/libstdc++.so.*.py \
+ $(d_l)/$(PF)/share/gdb/auto-load/$(usr_lib$(2))/.
+ sed -i -e "/^libdir *=/s,=.*,= '/$(usr_lib$(2))'," \
+ $(d_l)/$(PF)/share/gdb/auto-load/$(usr_lib$(2))/libstdc++.so.*.py
+
+ cp -a $(d)/$(usr_lib$(2))/libstdc++.so.*[0-9] \
+ $(d_l)/$(usr_lib$(2))/.
+
+ debian/dh_doclink -p$(p_l) $(p_lbase)
+ debian/dh_rmemptydirs -p$(p_l)
+
+ dh_strip -p$(p_l) $(if $(filter rtlibs,$(DEB_STAGE)),,--dbg-package=$(1)-$(BASE_VERSION)-dbg$(cross_lib_arch))
+
+ $(if $(filter $(DEB_TARGET_ARCH), armel hppa sparc64), \
+ -$(cross_makeshlibs) dh_makeshlibs $(ldconfig_arg) -p$(p_l) \
+ @echo "FIXME: libstdc++ not feature complete (https://gcc.gnu.org/ml/gcc/2014-07/msg00000.html)", \
+ $(cross_makeshlibs) dh_makeshlibs $(ldconfig_arg) -p$(p_l) \
+ )
+
+ $(call cross_mangle_shlibs,$(p_l))
+ $(ignshld)DIRNAME=$(subst n,,$(2)) $(cross_shlibdeps) dh_shlibdeps -p$(p_l) \
+ $(call shlibdirs_to_search,$(subst stdc++$(CXX_SONAME),gcc$(GCC_SONAME),$(p_l)),$(2)) \
+ $(if $(filter yes, $(with_common_libs)),,-- -Ldebian/shlibs.common$(2))
+ $(call cross_mangle_substvars,$(p_l))
+ echo $(p_l) >> debian/$(lib_binaries)
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
+endef
+
+define __do_libstdcxx_dbg
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ rm -rf $(d_d)
+ dh_installdirs -p$(p_d) \
+ $(PF)/lib/debug/$(usr_lib$(2)) \
+ $(usr_lib$(2))
+
+ $(if $(filter yes,$(with_lib$(2)cxx)),
+ cp -a $(d)/$(usr_lib$(2))/libstdc++.so.*[0-9] \
+ $(d_d)/$(usr_lib$(2))/.;
+ dh_strip -p$(p_d) --keep-debug;
+ $(if $(filter yes,$(with_common_libs)),, # if !with_common_libs
+ # remove the debug symbols for libstdc++
+ # built by a newer version of GCC
+ rm -rf $(d_d)/usr/lib/debug/$(PF);
+ )
+ rm -f $(d_d)/$(usr_lib$(2))/libstdc++.so.*[0-9]
+ )
+
+ $(if $(filter yes,$(with_cxx_debug)),
+ mkdir -p $(d_d)/$(usr_lib$(2))/debug;
+ mv $(d)/$(usr_lib$(2))/debug/libstdc++* $(d_d)/$(usr_lib$(2))/debug;
+ rm -f $(d_d)/$(usr_lib$(2))/debug/libstdc++_pic.a
+ )
+
+ $(ignshld)DIRNAME=$(subst n,,$(2)) $(cross_shlibdeps) dh_shlibdeps -p$(p_d) \
+ $(call shlibdirs_to_search,$(subst $(pkg_ver),,$(subst stdc++$(CXX_SONAME),gcc$(GCC_SONAME),$(p_l))),$(2)) \
+ $(if $(filter yes, $(with_common_libs)),,-- -Ldebian/shlibs.common$(2))
+ $(call cross_mangle_substvars,$(p_d))
+
+ debian/dh_doclink -p$(p_d) $(p_lbase)
+ debian/dh_rmemptydirs -p$(p_d)
+ echo $(p_d) >> debian/$(lib_binaries)
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
+endef
+
+define __do_libstdcxx_dev
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ mv $(d)/$(usr_lib$(2))/libstdc++.a $(d)/$(usr_lib$(2))/libstdc++fs.a $(d)/$(usr_lib$(2))/libsupc++.a \
+ $(d)/$(gcc_lib_dir$(2))/
+
+ rm -rf $(d_l)
+ dh_installdirs -p$(p_l) $(gcc_lib_dir$(2))
+
+ $(dh_compat2) dh_movefiles -p$(p_l) \
+ $(gcc_lib_dir$(2))/libstdc++.a \
+ $(gcc_lib_dir$(2))/libstdc++fs.a \
+ $(gcc_lib_dir$(2))/libsupc++.a \
+ $(if $(with_multiarch_cxxheaders),$(PF)/include/$(DEB_TARGET_MULTIARCH)/c++/$(BASE_VERSION)/$(2))
+ $(call install_gcc_lib,libstdc++,$(CXX_SONAME),$(2),$(p_l))
+
+ debian/dh_doclink -p$(p_l) $(p_lbase)
+ debian/dh_rmemptydirs -p$(p_l)
+ dh_strip -p$(p_l)
+ dh_shlibdeps -p$(p_l) \
+ $(call shlibdirs_to_search,$(subst stdc++$(CXX_SONAME),gcc$(GCC_SONAME),$(p_l)),$(2))
+ echo $(p_l) >> debian/$(lib_binaries)
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
+endef
+
+do_libstdcxx = $(call __do_libstdcxx,lib$(1)stdc++$(CXX_SONAME),$(1))
+do_libstdcxx_dbg = $(call __do_libstdcxx_dbg,lib$(1)stdc++$(CXX_SONAME)$(libstdc_ext),$(1))
+do_libstdcxx_dev = $(call __do_libstdcxx_dev,lib$(1)stdc++-$(BASE_VERSION)-dev,$(1))
+
+# ----------------------------------------------------------------------
+$(binary_stamp)-libstdcxx: $(install_stamp)
+ $(call do_libstdcxx,)
+
+$(binary_stamp)-lib64stdcxx: $(install_stamp)
+ $(call do_libstdcxx,64)
+
+$(binary_stamp)-lib32stdcxx: $(install_stamp)
+ $(call do_libstdcxx,32)
+
+$(binary_stamp)-libn32stdcxx: $(install_stamp)
+ $(call do_libstdcxx,n32)
+
+$(binary_stamp)-libx32stdcxx: $(install_stamp)
+ $(call do_libstdcxx,x32)
+
+$(binary_stamp)-libhfstdcxx: $(install_stamp)
+ $(call do_libstdcxx,hf)
+
+$(binary_stamp)-libsfstdcxx: $(install_stamp)
+ $(call do_libstdcxx,sf)
+
+$(binary_stamp)-lib64stdcxxdbg: $(install_stamp)
+ $(call do_libstdcxx_dbg,64)
+
+$(binary_stamp)-lib32stdcxxdbg: $(install_stamp)
+ $(call do_libstdcxx_dbg,32)
+
+$(binary_stamp)-libn32stdcxxdbg: $(install_stamp)
+ $(call do_libstdcxx_dbg,n32)
+
+$(binary_stamp)-libx32stdcxxdbg: $(install_stamp)
+ $(call do_libstdcxx_dbg,x32)
+
+$(binary_stamp)-libhfstdcxxdbg: $(install_stamp)
+ $(call do_libstdcxx_dbg,hf)
+
+$(binary_stamp)-libsfstdcxxdbg: $(install_stamp)
+ $(call do_libstdcxx_dbg,sf)
+
+$(binary_stamp)-lib64stdcxx-dev: $(install_stamp)
+ $(call do_libstdcxx_dev,64)
+
+$(binary_stamp)-lib32stdcxx-dev: $(install_stamp)
+ $(call do_libstdcxx_dev,32)
+
+$(binary_stamp)-libn32stdcxx-dev: $(install_stamp)
+ $(call do_libstdcxx_dev,n32)
+
+$(binary_stamp)-libx32stdcxx-dev: $(install_stamp)
+ $(call do_libstdcxx_dev,x32)
+
+$(binary_stamp)-libhfstdcxx-dev: $(install_stamp)
+ $(call do_libstdcxx_dev,hf)
+
+$(binary_stamp)-libsfstdcxx-dev: $(install_stamp)
+ $(call do_libstdcxx_dev,sf)
+
+# ----------------------------------------------------------------------
+libcxxdev_deps = $(install_stamp)
+ifeq ($(with_libcxx),yes)
+ libcxxdev_deps += $(binary_stamp)-libstdcxx
+endif
+ifeq ($(with_check),yes)
+ libcxxdev_deps += debian/README.libstdc++-baseline
+endif
+$(binary_stamp)-libstdcxx-dev: $(libcxxdev_deps)
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ rm -rf $(d_dev) $(d_pic)
+ dh_installdirs -p$(p_dev) $(dirs_dev)
+ dh_installdirs -p$(p_pic) $(dirs_pic)
+ dh_installdirs -p$(p_dbg) $(dirs_dbg)
+
+ : # - correct libstdc++-v3 file locations
+ mv $(d)/$(usr_lib)/libsupc++.a $(d)/$(gcc_lib_dir)/
+ mv $(d)/$(usr_lib)/libstdc++fs.a $(d)/$(gcc_lib_dir)/
+ mv $(d)/$(usr_lib)/libstdc++.{a,so} $(d)/$(gcc_lib_dir)/
+ ln -sf ../../../$(DEB_TARGET_GNU_TYPE)/libstdc++.so.$(CXX_SONAME) \
+ $(d)/$(gcc_lib_dir)/libstdc++.so
+ mv $(d)/$(usr_lib)/libstdc++_pic.a $(d)/$(gcc_lib_dir)/
+
+ rm -f $(d)/$(usr_lib)/debug/libstdc++_pic.a
+ rm -f $(d)/$(usr_lib64)/debug/libstdc++_pic.a
+
+ : # remove precompiled headers
+ -find $(d) -type d -name '*.gch' | xargs rm -rf
+
+ for i in $(d)/$(PF)/include/c++/$(GCC_VERSION)/*-linux; do \
+ if [ -d $$i ]; then mv $$i $$i-gnu; fi; \
+ done
+
+ $(dh_compat2) dh_movefiles -p$(p_dev) $(files_dev)
+ $(dh_compat2) dh_movefiles -p$(p_pic) $(files_pic)
+ifeq ($(with_cxx_debug),yes)
+ $(dh_compat2) dh_movefiles -p$(p_dbg) $(files_dbg)
+endif
+
+ dh_link -p$(p_dev) \
+ /$(usr_lib)/libstdc++.so.$(CXX_SONAME) \
+ /$(gcc_lib_dir)/libstdc++.so
+
+ debian/dh_doclink -p$(p_dev) $(p_lbase)
+ debian/dh_doclink -p$(p_pic) $(p_lbase)
+ debian/dh_doclink -p$(p_dbg) $(p_lbase)
+ cp -p $(srcdir)/libstdc++-v3/ChangeLog \
+ $(d_dev)/$(docdir)/$(p_base)/C++/changelog.libstdc++
+ifeq ($(with_check),yes)
+ cp -p debian/README.libstdc++-baseline \
+ $(d_dev)/$(docdir)/$(p_base)/C++/README.libstdc++-baseline.$(DEB_TARGET_ARCH)
+ if [ -f $(buildlibdir)/libstdc++-v3/testsuite/current_symbols.txt ]; \
+ then \
+ cp -p $(buildlibdir)/libstdc++-v3/testsuite/current_symbols.txt \
+ $(d_dev)/$(docdir)/$(p_base)/C++/libstdc++_symbols.txt.$(DEB_TARGET_ARCH); \
+ fi
+endif
+ cp -p $(buildlibdir)/libstdc++-v3/src/libstdc++-symbols.ver \
+ $(d_pic)/$(gcc_lib_dir)/libstdc++_pic.map
+
+ cp -p $(d)/$(usr_lib)/libstdc++.so.*.py \
+ $(d_dbg)/$(PF)/share/gdb/auto-load/$(usr_lib)/debug/.
+ sed -i -e "/^libdir *=/s,=.*,= '/$(usr_lib)'," \
+ $(d_dbg)/$(PF)/share/gdb/auto-load/$(usr_lib)/debug/libstdc++.so.*.py
+
+ifeq ($(with_libcxx),yes)
+ cp -a $(d)/$(usr_lib)/libstdc++.so.*[0-9] \
+ $(d_dbg)/$(usr_lib)/
+ dh_strip -p$(p_dbg) --keep-debug
+ rm -f $(d_dbg)/$(usr_lib)/libstdc++.so.*[0-9]
+endif
+
+ dh_strip -p$(p_dev) --dbg-package=$(p_dbg)
+ifneq ($(with_common_libs),yes)
+ : # remove the debug symbols for libstdc++ built by a newer version of GCC
+ rm -rf $(d_dbg)/usr/lib/debug/$(PF)
+endif
+ dh_strip -p$(p_pic)
+
+ifeq ($(with_cxxdev),yes)
+ debian/dh_rmemptydirs -p$(p_dev)
+ debian/dh_rmemptydirs -p$(p_pic)
+ debian/dh_rmemptydirs -p$(p_dbg)
+endif
+
+ $(ignshld)DIRNAME=$(subst n,,$(2)) $(cross_shlibdeps) dh_shlibdeps -p$(p_dev) -p$(p_pic) -p$(p_dbg) \
+ $(call shlibdirs_to_search,,) \
+ $(if $(filter yes, $(with_common_libs)),,-- -Ldebian/shlibs.common$(2))
+ $(call cross_mangle_substvars,$(p_dbg))
+ echo $(p_dev) $(p_pic) $(p_dbg) >> debian/$(lib_binaries)
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
+
+# ----------------------------------------------------------------------
+
+doxygen_doc_dir = $(buildlibdir)/libstdc++-v3/doc
+
+doxygen-docs: $(build_doxygen_stamp)
+$(build_doxygen_stamp): $(build_stamp)
+ $(MAKE) -C $(buildlibdir)/libstdc++-v3/doc SHELL=/bin/bash doc-html-doxygen
+ $(MAKE) -C $(buildlibdir)/libstdc++-v3/doc SHELL=/bin/bash doc-man-doxygen
+ -find $(doxygen_doc_dir)/doxygen/html -name 'struct*' -empty | xargs rm -f
+
+ touch $@
+
+$(binary_stamp)-libstdcxx-doc: $(install_stamp) doxygen-docs
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ rm -rf $(d_libd)
+ dh_installdirs -p$(p_libd) \
+ $(docdir)/$(p_base)/libstdc++ \
+ $(PF)/share/man
+
+# debian/dh_doclink -p$(p_libd) $(p_base)
+ dh_link -p$(p_libd) /usr/share/doc/$(p_base) /usr/share/doc/$(p_libd)
+ dh_installdocs -p$(p_libd)
+ rm -f $(d_libd)/$(docdir)/$(p_base)/copyright
+
+ cp -a $(srcdir)/libstdc++-v3/doc/html/* \
+ $(d_libd)/$(docdir)/$(p_base)/libstdc++/.
+ cp -a $(doxygen_doc_dir)/doxygen/html \
+ $(d_libd)/$(docdir)/$(p_base)/libstdc++/user
+ find $(d_libd)/$(docdir)/$(p_base)/libstdc++ -name '*.md5' \
+ | xargs -r rm -f
+
+# Broken docs ... see #766499
+# rm -f $(d_libd)/$(docdir)/$(p_base)/libstdc++/*/jquery.js
+# dh_link -p$(p_libd) \
+# /usr/share/javascript/jquery/jquery.js \
+# /$(docdir)/$(p_base)/libstdc++/html/jquery.js \
+# /usr/share/javascript/jquery/jquery.js \
+# /$(docdir)/$(p_base)/libstdc++/user/jquery.js
+
+ : FIXME: depending on the doxygen version
+ if [ -d $(doxygen_doc_dir)/doxygen/man/man3cxx ]; then \
+ cp -a $(doxygen_doc_dir)/doxygen/man/man3cxx \
+ $(d_libd)/$(PF)/share/man/man3; \
+ if [ -d $(doxygen_doc_dir)/doxygen/man/man3 ]; then \
+ cp -a $(doxygen_doc_dir)/doxygen/man/man3/* \
+ $(d_libd)/$(PF)/share/man/man3/; \
+ fi; \
+ elif [ -d $(doxygen_doc_dir)/doxygen/man/man3 ]; then \
+ cp -a $(doxygen_doc_dir)/doxygen/man/man3 \
+ $(d_libd)/$(PF)/share/man/man3; \
+ fi
+
+ for i in $(d_libd)/$(PF)/share/man/man3/*.3; do \
+ [ -f $${i} ] || continue; \
+ mv $${i} $${i}cxx; \
+ done
+ rm -f $(d_libd)/$(PF)/share/man/man3/todo.3*
+
+ mkdir -p $(d_libd)/usr/share/lintian/overrides
+ cp -p debian/$(p_libd).overrides \
+ $(d_libd)/usr/share/lintian/overrides/$(p_libd)
+
+ echo $(p_libd) >> debian/indep_binaries
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
--- /dev/null
+$(lib_binaries) += libtsan
+ifeq (0,1)
+ifeq ($(with_lib64tsan),yes)
+ $(lib_binaries) += lib64tsan
+endif
+ifeq ($(with_lib32tsan),yes)
+ $(lib_binaries) += lib32tsan
+endif
+ifeq ($(with_libn32tsan),yes)
+ $(lib_binaries) += libn32tsan
+endif
+ifeq ($(with_libx32tsan),yes)
+ $(lib_binaries) += libx32tsan
+endif
+ifeq ($(with_libhftsan),yes)
+ $(lib_binaries) += libhftsan
+endif
+ifeq ($(with_libsftsan),yes)
+ $(lib_binaries) += libsftsan
+endif
+endif
+
+define __do_tsan
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ rm -rf $(d_l) $(d_d)
+ dh_installdirs -p$(p_l) $(usr_lib$(2))
+ $(dh_compat2) dh_movefiles -p$(p_l) \
+ $(usr_lib$(2))/libtsan.so.* \
+ $(usr_lib$(2))/libtsan_preinit.o
+
+ debian/dh_doclink -p$(p_l) $(p_lbase)
+ debian/dh_doclink -p$(p_d) $(p_lbase)
+
+ if [ -f debian/$(p_l).overrides ]; then \
+ mkdir -p debian/$(p_l)/usr/share/lintian/overrides; \
+ cp debian/$(p_l).overrides debian/$(p_l)/usr/share/lintian/overrides/$(p_l); \
+ fi
+
+ dh_strip -p$(p_l) --dbg-package=$(p_d)
+ $(cross_makeshlibs) dh_makeshlibs $(ldconfig_arg) -p$(p_l)
+ $(call cross_mangle_shlibs,$(p_l))
+ $(ignshld)DIRNAME=$(subst n,,$(2)) $(cross_shlibdeps) dh_shlibdeps -p$(p_l) \
+ $(call shlibdirs_to_search, \
+ $(subst tsan$(TSAN_SONAME),gcc$(GCC_SONAME),$(p_l)) \
+ $(subst tsan$(TSAN_SONAME),stdc++$(CXX_SONAME),$(p_l)) \
+ ,$(2)) \
+ $(if $(filter yes, $(with_common_libs)),,-- -Ldebian/shlibs.common$(2))
+ $(call cross_mangle_substvars,$(p_l))
+ echo $(p_l) $(p_d) >> debian/$(lib_binaries)
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
+endef
+
+# ----------------------------------------------------------------------
+
+do_tsan = $(call __do_tsan,lib$(1)tsan$(TSAN_SONAME),$(1))
+
+$(binary_stamp)-libtsan: $(install_stamp)
+ $(call do_tsan,)
+
+$(binary_stamp)-lib64tsan: $(install_stamp)
+ $(call do_tsan,64)
+
+$(binary_stamp)-lib32tsan: $(install_stamp)
+ $(call do_tsan,32)
+
+$(binary_stamp)-libn32tsan: $(install_stamp)
+ $(call do_tsan,n32)
+
+$(binary_stamp)-libx32tsan: $(install_stamp)
+ $(call do_tsan,x32)
+
+$(binary_stamp)-libhftsan: $(install_dependencies)
+ $(call do_tsan,hf)
+
+$(binary_stamp)-libsftsan: $(install_dependencies)
+ $(call do_tsan,sf)
--- /dev/null
+$(lib_binaries) += libubsan
+ifeq ($(with_lib64ubsan),yes)
+ $(lib_binaries) += lib64ubsan
+endif
+ifeq ($(with_lib32ubsan),yes)
+ $(lib_binaries) += lib32ubsan
+endif
+ifeq ($(with_libn32ubsan),yes)
+ $(lib_binaries) += libn32ubsan
+endif
+ifeq ($(with_libx32ubsan),yes)
+ $(lib_binaries) += libx32ubsan
+endif
+ifeq ($(with_libhfubsan),yes)
+ $(lib_binaries) += libhfubsan
+endif
+ifeq ($(with_libsfubsan),yes)
+ $(lib_binaries) += libsfubsan
+endif
+
+define __do_ubsan
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ rm -rf $(d_l) $(d_d)
+ dh_installdirs -p$(p_l) $(usr_lib$(2))
+ $(dh_compat2) dh_movefiles -p$(p_l) $(usr_lib$(2))/libubsan.so.*
+
+ debian/dh_doclink -p$(p_l) $(p_lbase)
+ debian/dh_doclink -p$(p_d) $(p_lbase)
+
+ if [ -f debian/$(p_l).overrides ]; then \
+ mkdir -p debian/$(p_l)/usr/share/lintian/overrides; \
+ cp debian/$(p_l).overrides debian/$(p_l)/usr/share/lintian/overrides/$(p_l); \
+ fi
+
+ dh_strip -p$(p_l) --dbg-package=$(p_d)
+ $(cross_makeshlibs) dh_makeshlibs $(ldconfig_arg) -p$(p_l)
+ $(call cross_mangle_shlibs,$(p_l))
+ $(ignshld)DIRNAME=$(subst n,,$(2)) $(cross_shlibdeps) dh_shlibdeps -p$(p_l) \
+ $(call shlibdirs_to_search, \
+ $(subst ubsan$(UBSAN_SONAME),gcc$(GCC_SONAME),$(p_l)) \
+ $(subst ubsan$(UBSAN_SONAME),stdc++$(CXX_SONAME),$(p_l)) \
+ ,$(2)) \
+ $(if $(filter yes, $(with_common_libs)),,-- -Ldebian/shlibs.common$(2))
+ $(call cross_mangle_substvars,$(p_l))
+ echo $(p_l) $(p_d) >> debian/$(lib_binaries)
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
+endef
+
+# ----------------------------------------------------------------------
+
+do_ubsan = $(call __do_ubsan,lib$(1)ubsan$(UBSAN_SONAME),$(1))
+
+$(binary_stamp)-libubsan: $(install_stamp)
+ $(call do_ubsan,)
+
+$(binary_stamp)-lib64ubsan: $(install_stamp)
+ $(call do_ubsan,64)
+
+$(binary_stamp)-lib32ubsan: $(install_stamp)
+ $(call do_ubsan,32)
+
+$(binary_stamp)-libn32ubsan: $(install_stamp)
+ $(call do_ubsan,n32)
+
+$(binary_stamp)-libx32ubsan: $(install_stamp)
+ $(call do_ubsan,x32)
+
+$(binary_stamp)-libhfubsan: $(install_dependencies)
+ $(call do_ubsan,hf)
+
+$(binary_stamp)-libsfubsan: $(install_dependencies)
+ $(call do_ubsan,sf)
--- /dev/null
+$(lib_binaries) += libvtv
+ifeq ($(with_lib64vtv),yes)
+ $(lib_binaries) += lib64vtv
+endif
+ifeq ($(with_lib32vtv),yes)
+ $(lib_binaries) += lib32vtv
+endif
+ifeq ($(with_libn32vtv),yes)
+ $(lib_binaries) += libn32vtv
+endif
+ifeq ($(with_libx32vtv),yes)
+ $(lib_binaries) += libx32vtv
+endif
+ifeq ($(with_libhfvtv),yes)
+ $(lib_binaries) += libhfvtv
+endif
+ifeq ($(with_libsfvtv),yes)
+ $(lib_binaries) += libsfvtv
+endif
+
+define __do_vtv
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ rm -rf $(d_l) $(d_d)
+ dh_installdirs -p$(p_l) $(usr_lib$(2))
+ $(dh_compat2) dh_movefiles -p$(p_l) $(usr_lib$(2))/libvtv.so.*
+
+ debian/dh_doclink -p$(p_l) $(p_lbase)
+ debian/dh_doclink -p$(p_d) $(p_lbase)
+
+ if [ -f debian/$(p_l).overrides ]; then \
+ mkdir -p debian/$(p_l)/usr/share/lintian/overrides; \
+ cp debian/$(p_l).overrides debian/$(p_l)/usr/share/lintian/overrides/$(p_l); \
+ fi
+
+ dh_strip -p$(p_l) --dbg-package=$(p_d)
+ $(cross_makeshlibs) dh_makeshlibs $(ldconfig_arg) -p$(p_l)
+ $(call cross_mangle_shlibs,$(p_l))
+ $(ignshld)DIRNAME=$(subst n,,$(2)) $(cross_shlibdeps) dh_shlibdeps -p$(p_l) \
+ $(call shlibdirs_to_search, \
+ $(subst vtv$(VTV_SONAME),gcc$(GCC_SONAME),$(p_l)) \
+ $(subst vtv$(VTV_SONAME),stdc++$(CXX_SONAME),$(p_l)) \
+ ,$(2)) \
+ $(if $(filter yes, $(with_common_libs)),,-- -Ldebian/shlibs.common$(2))
+ $(call cross_mangle_substvars,$(p_l))
+ echo $(p_l) $(p_d) >> debian/$(lib_binaries)
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
+endef
+
+# ----------------------------------------------------------------------
+
+do_vtv = $(call __do_vtv,lib$(1)vtv$(VTV_SONAME),$(1))
+
+$(binary_stamp)-libvtv: $(install_stamp)
+ $(call do_vtv,)
+
+$(binary_stamp)-lib64vtv: $(install_stamp)
+ $(call do_vtv,64)
+
+$(binary_stamp)-lib32vtv: $(install_stamp)
+ $(call do_vtv,32)
+
+$(binary_stamp)-libn32vtv: $(install_stamp)
+ $(call do_vtv,n32)
+
+$(binary_stamp)-libx32vtv: $(install_stamp)
+ $(call do_vtv,x32)
+
+$(binary_stamp)-libhfvtv: $(install_dependencies)
+ $(call do_vtv,hf)
+
+$(binary_stamp)-libsfvtv: $(install_dependencies)
+ $(call do_vtv,sf)
--- /dev/null
+arch_binaries := $(arch_binaries) neon
+
+p_nlgcc = libgcc$(GCC_SONAME)-neon
+p_ngomp = libgomp$(GOMP_SONAME)-neon
+p_nlobjc = libobjc$(OBJC_SONAME)-neon
+p_nflib = libgfortran$(FORTRAN_SONAME)-neon
+p_nlcxx = libstdc++$(CXX_SONAME)-neon
+
+d_nlgcc = debian/$(p_nlgcc)
+d_ngomp = debian/$(p_ngomp)
+d_nlobjc = debian/$(p_nlobjc)
+d_nflib = debian/$(p_nflib)
+d_nlcxx = debian/$(p_nlcxx)
+
+neon_pkgs = -p$(p_nlgcc) -p$(p_ngomp) -p$(p_nlobjc) -p$(p_nflib) -p$(p_nlcxx)
+
+# ----------------------------------------------------------------------
+$(binary_stamp)-neon: $(install_neon_stamp)
+ dh_testdir
+ dh_testroot
+
+ dh_installdirs -p$(p_nlgcc) \
+ $(PF)/share/doc \
+ lib/neon
+ dh_installdirs -A -p$(p_ngomp) -p$(p_nlobjc) -p$(p_nflib) -p$(p_nlcxx) \
+ $(PF)/share/doc \
+ $(PF)/lib/neon
+
+ cp -a $(d_neon)/$(PF)/lib/libgcc*.so.* \
+ $(d_nlgcc)/lib/neon/
+ cp -a $(d_neon)/$(PF)/lib/libgomp*.so.* \
+ $(d_ngomp)/$(PF)/lib/neon/
+ cp -a $(d_neon)/$(PF)/lib/libobjc*.so.* \
+ $(d_nlobjc)/$(PF)/lib/neon/
+ cp -a $(d_neon)/$(PF)/lib/libgfortran*.so.* \
+ $(d_nflib)/$(PF)/lib/neon/
+ cp -a $(d_neon)/$(PF)/lib/libstdc++*.so.* \
+ $(d_nlcxx)/$(PF)/lib/neon/
+
+ for p in $(p_nlgcc) $(p_ngomp) $(p_nlobjc) $(p_nflib) $(p_nlcxx); do \
+ ln -s ../$(p_base) debian/$$p/usr/share/doc/$$p; \
+ done
+ dh_strip $(neon_pkgs)
+ dh_shlibdeps $(neon_pkgs)
+ echo $(p_nlgcc) $(p_ngomp) $(p_nlobjc) $(p_nflib) $(p_nlcxx) >> debian/arch_binaries
+
+ touch $@
--- /dev/null
+arch_binaries := $(arch_binaries) nof
+
+p_nof = gcc$(pkg_ver)-nof
+d_nof = debian/$(p_nof)
+
+dirs_nof = \
+ $(docdir) \
+ $(usr_lib)/nof
+ifeq ($(with_cdev),yes)
+ dirs_nof += \
+ $(gcc_lib_dir)/nof
+endif
+
+ifeq ($(with_cdev),yes)
+ files_nof = \
+ $(libgcc_dir)/libgcc_s_nof.so.$(GCC_SONAME) \
+ $(gcc_lib_dir)/libgcc_s_nof.so \
+ $(usr_lib)/nof \
+ $(gcc_lib_dir)/nof
+else
+ files_nof = \
+ $(usr_lib)/libgcc_s_nof.so.$(GCC_SONAME)
+endif
+
+# ----------------------------------------------------------------------
+$(binary_stamp)-nof: $(install_stamp)
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ mv $(d)/$(usr_lib)/libgcc_s_nof.so.$(GCC_SONAME) $(d)/$(libgcc_dir)/.
+ rm -f $(d)/$(usr_lib)/libgcc_s_nof.so
+ ln -sf $(libgcc_dir)/libgcc_s_nof.so.$(GCC_SONAME) \
+ $(d)/$(gcc_lib_dir)/libgcc_s_nof.so
+
+ rm -rf $(d_nof)
+ dh_installdirs -p$(p_nof) $(dirs_nof)
+ $(dh_compat2) dh_movefiles -p$(p_nof) $(files_nof)
+ debian/dh_doclink -p$(p_nof) $(p_xbase)
+ dh_strip -p$(p_nof)
+ dh_shlibdeps -p$(p_nof)
+
+ dh_makeshlibs $(ldconfig_arg) -p$(p_nof)
+ : # Only keep the shlibs file for the libgcc_s_nof library
+ fgrep libgcc_s_nof debian/$(p_nof)/DEBIAN/shlibs \
+ > debian/$(p_nof)/DEBIAN/shlibs.tmp
+ mv -f debian/$(p_nof)/DEBIAN/shlibs.tmp debian/$(p_nof)/DEBIAN/shlibs
+
+ echo $(p_nof) >> debian/arch_binaries
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
--- /dev/null
+ifeq ($(with_offload_nvptx),yes)
+ arch_binaries := $(arch_binaries) nvptx
+ ifeq ($(with_common_libs),yes)
+ arch_binaries := $(arch_binaries) nvptx-plugin
+ endif
+endif
+
+p_nvptx = gcc$(pkg_ver)-offload-nvptx
+d_nvptx = debian/$(p_nvptx)
+
+p_pl_nvptx = libgomp-plugin-nvptx1
+d_pl_nvptx = debian/$(p_pl_nvptx)
+
+dirs_nvptx = \
+ $(docdir)/$(p_xbase)/ \
+ $(PF)/bin \
+ $(gcc_lexec_dir)/accel
+
+files_nvptx = \
+ $(PF)/bin/$(DEB_TARGET_GNU_TYPE)-accel-nvptx-none-gcc$(pkg_ver) \
+ $(gcc_lexec_dir)/accel/nvptx-none
+
+# not needed: libs moved, headers not needed for lto1
+# $(PF)/nvptx-none
+
+# are these needed?
+# $(PF)/lib/gcc/nvptx-none/$(versiondir)/{include,finclude,mgomp}
+
+ifneq ($(GFDL_INVARIANT_FREE),yes)
+ files_nvptx += \
+ $(PF)/share/man/man1/$(DEB_HOST_GNU_TYPE)-accel-nvptx-none-gcc$(pkg_ver).1
+endif
+
+$(binary_stamp)-nvptx: $(install_stamp)
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ rm -rf $(d_nvptx)
+ dh_installdirs -p$(p_nvptx) $(dirs_nvptx)
+ $(dh_compat2) dh_movefiles --sourcedir=$(d)-nvptx -p$(p_nvptx) \
+ $(files_nvptx)
+
+ mkdir -p $(d_nvptx)/usr/share/lintian/overrides
+ echo '$(p_nvptx) binary: hardening-no-pie' \
+ > $(d_nvptx)/usr/share/lintian/overrides/$(p_nvptx)
+ifeq ($(GFDL_INVARIANT_FREE),yes)
+ echo '$(p_nvptx) binary: binary-without-manpage' \
+ >> $(d_nvptx)/usr/share/lintian/overrides/$(p_nvptx)
+endif
+
+ debian/dh_doclink -p$(p_nvptx) $(p_xbase)
+
+ debian/dh_rmemptydirs -p$(p_nvptx)
+
+ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTONS)))
+ $(DWZ) \
+ $(d_nvptx)/$(gcc_lexec_dir)/accel/nvptx-none/{collect2,lto1,lto-wrapper,mkoffload}
+endif
+ dh_strip -p$(p_nvptx) \
+ $(if $(unstripped_exe),-X/lto1)
+ dh_shlibdeps -p$(p_nvptx)
+ echo $(p_nvptx) >> debian/arch_binaries
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
+
+# ----------------------------------------------------------------------
+$(binary_stamp)-nvptx-plugin: $(install_dependencies)
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ rm -rf $(d_pl_nvptx)
+ dh_installdirs -p$(p_pl_nvptx) \
+ $(docdir) \
+ $(usr_lib)
+ $(dh_compat2) dh_movefiles -p$(p_pl_nvptx) \
+ $(usr_lib)/libgomp-plugin-nvptx.so.*
+
+ debian/dh_doclink -p$(p_pl_nvptx) $(p_xbase)
+ debian/dh_rmemptydirs -p$(p_pl_nvptx)
+
+ dh_strip -p$(p_pl_nvptx)
+ dh_makeshlibs -p$(p_pl_nvptx)
+ dh_shlibdeps -p$(p_pl_nvptx)
+ echo $(p_pl_nvptx) >> debian/arch_binaries
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
--- /dev/null
+ifneq ($(DEB_STAGE),rtlibs)
+ ifneq (,$(filter yes, $(biarch64) $(biarch32) $(biarchn32) $(biarchx32) $(biarchhf) $(biarchsf)))
+ arch_binaries := $(arch_binaries) objc-multi
+ endif
+ arch_binaries := $(arch_binaries) objc
+endif
+
+p_objc = gobjc$(pkg_ver)$(cross_bin_arch)
+d_objc = debian/$(p_objc)
+
+p_objc_m= gobjc$(pkg_ver)-multilib$(cross_bin_arch)
+d_objc_m= debian/$(p_objc_m)
+
+dirs_objc = \
+ $(docdir)/$(p_xbase)/ObjC \
+ $(gcc_lexec_dir)
+
+files_objc = \
+ $(gcc_lexec_dir)/cc1obj
+
+$(binary_stamp)-objc: $(install_stamp)
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ rm -rf $(d_objc)
+ dh_installdirs -p$(p_objc) $(dirs_objc)
+ $(dh_compat2) dh_movefiles -p$(p_objc) $(files_objc)
+
+ cp -p $(srcdir)/libobjc/{README*,THREADS*} \
+ $(d_objc)/$(docdir)/$(p_xbase)/ObjC/.
+
+ cp -p $(srcdir)/libobjc/ChangeLog \
+ $(d_objc)/$(docdir)/$(p_xbase)/ObjC/changelog.libobjc
+
+ mkdir -p $(d_objc)/usr/share/lintian/overrides
+ echo '$(p_objc) binary: hardening-no-pie' \
+ > $(d_objc)/usr/share/lintian/overrides/$(p_objc)
+ifeq ($(GFDL_INVARIANT_FREE),yes)
+ echo '$(p_objc) binary: binary-without-manpage' \
+ >> $(d_objc)/usr/share/lintian/overrides/$(p_objc)
+endif
+
+ debian/dh_doclink -p$(p_objc) $(p_xbase)
+
+ debian/dh_rmemptydirs -p$(p_objc)
+
+ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTONS)))
+ $(DWZ) \
+ $(d_objc)/$(gcc_lexec_dir)/cc1obj
+endif
+ dh_strip -p$(p_objc) \
+ $(if $(unstripped_exe),-X/cc1obj)
+ dh_shlibdeps -p$(p_objc)
+ echo $(p_objc) >> debian/arch_binaries
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
+
+$(binary_stamp)-objc-multi: $(install_stamp)
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ rm -rf $(d_objc_m)
+ dh_installdirs -p$(p_objc_m) $(docdir)
+
+ debian/dh_doclink -p$(p_objc_m) $(p_xbase)
+
+ dh_strip -p$(p_objc_m)
+ dh_shlibdeps -p$(p_objc_m)
+ echo $(p_objc_m) >> debian/arch_binaries
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
--- /dev/null
+ifneq ($(DEB_STAGE),rtlibs)
+ ifneq (,$(filter yes, $(biarch64) $(biarch32) $(biarchn32) $(biarchx32) $(biarchhf) $(biarchsf)))
+ arch_binaries := $(arch_binaries) objcxx-multi
+ endif
+ arch_binaries := $(arch_binaries) objcxx
+endif
+
+p_objcx = gobjc++$(pkg_ver)$(cross_bin_arch)
+d_objcx = debian/$(p_objcx)
+
+p_objcx_m = gobjc++$(pkg_ver)-multilib$(cross_bin_arch)
+d_objcx_m = debian/$(p_objcx_m)
+
+dirs_objcx = \
+ $(docdir)/$(p_xbase)/Obj-C++ \
+ $(gcc_lexec_dir)
+
+files_objcx = \
+ $(gcc_lexec_dir)/cc1objplus
+
+$(binary_stamp)-objcxx: $(install_stamp)
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ rm -rf $(d_objcx)
+ dh_installdirs -p$(p_objcx) $(dirs_objcx)
+ $(dh_compat2) dh_movefiles -p$(p_objcx) $(files_objcx)
+
+ debian/dh_doclink -p$(p_objcx) $(p_xbase)
+ cp -p $(srcdir)/gcc/objcp/ChangeLog \
+ $(d_objcx)/$(docdir)/$(p_xbase)/Obj-C++/changelog
+
+ mkdir -p $(d_objcx)/usr/share/lintian/overrides
+ echo '$(p_objcx) binary: hardening-no-pie' \
+ > $(d_objcx)/usr/share/lintian/overrides/$(p_objcx)
+ifeq ($(GFDL_INVARIANT_FREE),yes)
+ echo '$(p_objcx) binary: binary-without-manpage' \
+ >> $(d_objcx)/usr/share/lintian/overrides/$(p_objcx)
+endif
+
+ debian/dh_rmemptydirs -p$(p_objcx)
+
+ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTONS)))
+ $(DWZ) \
+ $(d_objcx)/$(gcc_lexec_dir)/cc1objplus
+endif
+ dh_strip -p$(p_objcx) \
+ $(if $(unstripped_exe),-X/cc1objplus)
+ dh_shlibdeps -p$(p_objcx)
+ echo $(p_objcx) >> debian/arch_binaries
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
+
+$(binary_stamp)-objcxx-multi: $(install_stamp)
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+ rm -rf $(d_objcx_m)
+ debian/dh_doclink -p$(p_objcx_m) $(p_xbase)
+ debian/dh_rmemptydirs -p$(p_objcx_m)
+ dh_strip -p$(p_objcx_m)
+ dh_shlibdeps -p$(p_objcx_m)
+ echo $(p_objcx_m) >> debian/arch_binaries
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
--- /dev/null
+arch_binaries := $(arch_binaries) snapshot
+
+ifneq (,$(findstring gcc-snapshot, $(PKGSOURCE)))
+ p_snap = gcc-snapshot
+else ifneq (,$(findstring gcc-linaro, $(PKGSOURCE)))
+ p_snap = gcc-linaro
+else
+ $(error unknown build for single gcc package)
+endif
+
+ifeq ($(DEB_CROSS),yes)
+ p_snap := $(p_snap)$(cross_bin_arch)
+endif
+d_snap = debian/$(p_snap)
+
+dirs_snap = \
+ $(docdir)/$(p_snap) \
+ usr/lib
+
+ifeq ($(with_hppa64),yes)
+ snapshot_depends = binutils-hppa64
+endif
+
+# ----------------------------------------------------------------------
+$(binary_stamp)-snapshot: $(install_snap_stamp)
+ dh_testdir
+ dh_testroot
+ mv $(install_snap_stamp) $(install_snap_stamp)-tmp
+
+ rm -rf $(d_snap)
+ dh_installdirs -p$(p_snap) $(dirs_snap)
+
+ mv $(d)/$(PF) $(d_snap)/usr/lib/
+
+ find $(d_snap) -name '*.gch' -type d | xargs -r rm -rf
+ find $(d_snap) -name '*.la' -o -name '*.lai' | xargs -r rm -f
+
+ : # FIXME: libbacktrace is not installed by default
+ for d in . 32 n32 64 sf hf; do \
+ if [ -f $(buildlibdir)/$$d/libbacktrace/.libs/libbacktrace.a ]; then \
+ install -m644 $(buildlibdir)/$$d/libbacktrace/.libs/libbacktrace.a \
+ $(d_snap)/$(gcc_lib_dir)/$$d; \
+ fi; \
+ done
+ if [ -f $(buildlibdir)/libbacktrace/backtrace-supported.h ]; then \
+ install -m644 $(buildlibdir)/libbacktrace/backtrace-supported.h \
+ $(d_snap)/$(gcc_lib_dir)/include/; \
+ install -m644 $(srcdir)/libbacktrace/backtrace.h \
+ $(d_snap)/$(gcc_lib_dir)/include/; \
+ fi
+
+ rm -rf $(d_snap)/$(PF)/lib/nof
+
+ifeq ($(with_ada),yes FIXME: apply our ada patches)
+ dh_link -p$(p_snap) \
+ $(gcc_lib_dir)/rts-sjlj/adalib/libgnat.a \
+ $(gcc_lib_dir)/rts-sjlj/adalib/libgnat-$(GNAT_VERSION).a
+ dh_link -p$(p_snap) \
+ $(gcc_lib_dir)/rts-sjlj/adalib/libgnarl.a \
+ $(gcc_lib_dir)/rts-sjlj/adalib/libgnarl-$(GNAT_VERSION).a
+
+ set -e; \
+ for lib in lib{gnat,gnarl}; do \
+ vlib=$$lib-$(GNAT_SONAME); \
+ mv $(d_snap)/$(gcc_lib_dir)/adalib/$$vlib.so.1 $(d_snap)/$(PF)/$(libdir)/. ; \
+ rm -f $(d_snap)/$(gcc_lib_dir)/adalib/$$lib.so.1; \
+ dh_link -p$(p_snap) \
+ /$(PF)/$(libdir)/$$vlib.so.1 /$(PF)/$(libdir)/$$vlib.so \
+ /$(PF)/$(libdir)/$$vlib.so.1 /$(PF)/$(libdir)/$$lib.so \
+ /$(PF)/$(libdir)/$$vlib.so.1 /$(gcc_lib_dir)/rts-native/adalib/$$lib.so; \
+ done
+endif
+ifeq ($(with_ada),yes)
+ ln -sf gcc $(d_snap)/$(PF)/bin/gnatgcc
+endif
+
+ifeq ($(with_hppa64),yes)
+ : # provide as and ld links
+ dh_link -p $(p_snap) \
+ /usr/bin/hppa64-linux-gnu-as \
+ /$(PF)/libexec/gcc/hppa64-linux-gnu/$(GCC_VERSION)/as \
+ /usr/bin/hppa64-linux-gnu-ld \
+ /$(PF)/libexec/gcc/hppa64-linux-gnu/$(GCC_VERSION)/ld
+endif
+
+ifeq ($(with_check),yes)
+ dh_installdocs -p$(p_snap) test-summary
+# more than one libgo.sum, avoid it
+ mkdir -p $(d_snap)/$(docdir)/$(p_snap)/test-summaries
+ cp -p $$(find $(builddir)/gcc/testsuite -maxdepth 2 \( -name '*.sum' -o -name '*.log' \)) \
+ $$(find $(buildlibdir)/*/testsuite -maxdepth 1 \( -name '*.sum' -o -name '*.log' \) ! -name 'libgo.*') \
+ $(d_snap)/$(docdir)/$(p_snap)/test-summaries/
+ ifeq ($(with_go),yes)
+ cp -p $(buildlibdir)/libgo/libgo.sum \
+ $(d_snap)/$(docdir)/$(p_snap)/test-summaries/
+ endif
+ if which xz 2>&1 >/dev/null; then \
+ echo -n $(d_snap)/$(docdir)/$(p_snap)/test-summaries/* \
+ | xargs -d ' ' -L 1 -P $(USE_CPUS) xz -7v; \
+ fi
+else
+ dh_installdocs -p$(p_snap)
+endif
+ if [ -f $(buildlibdir)/libstdc++-v3/testsuite/current_symbols.txt ]; \
+ then \
+ cp -p $(buildlibdir)/libstdc++-v3/testsuite/current_symbols.txt \
+ $(d_snap)/$(docdir)/$(p_snap)/libstdc++6_symbols.txt; \
+ fi
+ cp -p debian/README.snapshot \
+ $(d_snap)/$(docdir)/$(p_snap)/README.Debian
+ cp -p debian/README.Bugs \
+ $(d_snap)/$(docdir)/$(p_snap)/
+ dh_installchangelogs -p$(p_snap)
+ifeq ($(DEB_TARGET_ARCH),hppa)
+ dh_dwz -p$(p_snap) -Xdebug -X/cgo -Xbin/go -Xbin/gofmt \
+ $(if $(unstripped_exe),$(foreach i,cc1 cc1obj cc1objplus cc1plus cc1d f951 go1 jc1 lto1, -X/$(i)))
+ dh_strip -p$(p_snap) -Xdebug -X.o -X.a -X/cgo -Xbin/go -Xbin/gofmt \
+ $(if $(unstripped_exe),$(foreach i,cc1 cc1obj cc1objplus cc1plus cc1d f951 go1 jc1 lto1, -X/$(i)))
+else
+ dh_dwz -p$(p_snap) -Xdebug -X/cgo -Xbin/go -Xbin/gofmt \
+ $(if $(unstripped_exe),$(foreach i,cc1 cc1obj cc1objplus cc1plus cc1d f951 go1 jc1 lto1, -X/$(i)))
+ dh_strip -p$(p_snap) -Xdebug -X/cgo -Xbin/go -Xbin/gofmt \
+ $(if $(unstripped_exe),$(foreach i,cc1 cc1obj cc1objplus cc1plus cc1d f951 go1 jc1 lto1, -X/$(i)))
+endif
+ dh_compress -p$(p_snap) -X README.Bugs -X.log.xz -X.sum.xz
+ -find $(d_snap) -type d ! -perm 755 -exec chmod 755 {} \;
+ dh_fixperms -p$(p_snap)
+ifeq ($(with_ada),yes)
+ find $(d_snap)/$(gcc_lib_dir) -name '*.ali' | xargs -r chmod 444
+endif
+
+ mkdir -p $(d_snap)/usr/share/lintian/overrides
+ cp -p debian/gcc-snapshot.overrides \
+ $(d_snap)/usr/share/lintian/overrides/$(p_snap)
+
+ ( \
+ echo 'libgcc_s $(GCC_SONAME) ${p_snap} (>= $(DEB_VERSION))'; \
+ echo 'libobjc $(OBJC_SONAME) ${p_snap} (>= $(DEB_VERSION))'; \
+ echo 'libgfortran $(FORTRAN_SONAME) ${p_snap} (>= $(DEB_VERSION))'; \
+ echo 'libffi $(FFI_SONAME) ${p_snap} (>= $(DEB_VERSION))'; \
+ echo 'libgomp $(GOMP_SONAME) ${p_snap} (>= $(DEB_VERSION))'; \
+ echo 'libgnat-$(GNAT_SONAME) 1 ${p_snap} (>= $(DEB_VERSION))'; \
+ echo 'libgnarl-$(GNAT_SONAME) 1 ${p_snap} (>= $(DEB_VERSION))'; \
+ ) > debian/shlibs.local
+
+ $(ignshld)DIRNAME=$(subst n,,$(2)) $(cross_shlibdeps) \
+ dh_shlibdeps -p$(p_snap) -l$(CURDIR)/$(d_snap)/$(PF)/lib:$(CURDIR)/$(d_snap)/$(PF)/$(if $(filter $(DEB_TARGET_ARCH),amd64 ppc64),lib32,lib64):/usr/$(DEB_TARGET_GNU_TYPE)/lib
+ -sed -i -e 's/$(p_snap)[^,]*, //g' debian/$(p_snap).substvars
+
+ifeq ($(with_multiarch_lib),yes)
+ : # paths needed for relative lookups from startfile_prefixes
+ for ma in $(xarch_multiarch_names); do \
+ mkdir -p $(d_snap)/lib/$$ma; \
+ mkdir -p $(d_snap)/usr/lib/$$ma; \
+ done
+endif
+
+ dh_gencontrol -p$(p_snap) -- $(common_substvars) \
+ '-Vsnap:depends=$(snapshot_depends)' '-Vsnap:recommends=$(snapshot_recommends)'
+ dh_installdeb -p$(p_snap)
+ dh_md5sums -p$(p_snap)
+ dh_builddeb -p$(p_snap)
+
+ trap '' 1 2 3 15; touch $@; mv $(install_snap_stamp)-tmp $(install_snap_stamp)
--- /dev/null
+arch_binaries := $(arch_binaries) softfloat
+
+p_softfloat = gcc$(pkg_ver)-soft-float
+d_softfloat = debian/$(p_softfloat)
+
+dirs_softfloat = \
+ $(PFL)/$(libdir) \
+ $(gcc_lib_dir)
+
+files_softfloat = \
+ $(PFL)/$(libdir)/soft-float \
+ $(gcc_lib_dir)/soft-float
+
+# ----------------------------------------------------------------------
+$(binary_stamp)-softfloat: $(install_stamp)
+ dh_testdir
+ dh_testroot
+ mv $(install_stamp) $(install_stamp)-tmp
+
+ rm -rf $(d_softfloat)
+ dh_installdirs -p$(p_softfloat) $(dirs_softfloat)
+ $(dh_compat2) dh_movefiles -p$(p_softfloat) $(files_softfloat)
+ rm -rf $(d_softfloat)/$(PFL)/$(libdir)/soft-float/libssp.so*
+ mv $(d_softfloat)/$(PFL)/$(libdir)/soft-float/libssp.a \
+ $(d_softfloat)/$(PFL)/$(libdir)/soft-float/libssp_nonshared.a
+ debian/dh_doclink -p$(p_softfloat) $(p_xbase)
+ dh_strip -p$(p_softfloat)
+ dh_shlibdeps -p$(p_softfloat)
+ echo $(p_softfloat) >> debian/arch_binaries
+
+ trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
--- /dev/null
+indep_binaries := $(indep_binaries) gcc-source
+
+ifeq ($(BACKPORT),true)
+ p_source = gcc$(pkg_ver)-$(GCC_VERSION)-source
+else
+ p_source = gcc$(pkg_ver)-source
+endif
+d_source= debian/$(p_source)
+
+$(binary_stamp)-gcc-source: $(install_stamp)
+ dh_testdir
+ dh_testroot
+
+ dh_installdocs -p$(p_source)
+ dh_installchangelogs -p$(p_source)
+
+ dh_install -p$(p_source) $(gcc_tarball) usr/src/gcc$(pkg_ver)
+ifneq (,$(gdc_tarball))
+ dh_install -p$(p_source) $(gdc_tarball) usr/src/gcc$(pkg_ver)
+endif
+ tar cf - $$(find './debian' -mindepth 1 \( \
+ -name .svn -prune -o \
+ -path './debian/.debhelper' -prune -o \
+ -path './debian/gcc-*' -type d -prune -o \
+ -path './debian/cpp-*' -type d -prune -o \
+ -path './debian/*fortran*' -type d -prune -o \
+ -path './debian/lib*' -type d -prune -o \
+ -path './debian/patches/*' -prune -o \
+ -path './debian/tmp*' -prune -o \
+ -path './debian/files' -prune -o \
+ -path './debian/rules.d/*' -prune -o \
+ -path './debian/rules.parameters' -prune -o \
+ -path './debian/soname-cache' -prune -o \
+ -path './debian/*substvars*' -prune -o \
+ -path './debian/gcc-snapshot*' -prune -o \
+ -path './debian/*[0-9]*.p*' -prune -o \
+ -path './debian/*$(pkg_ver)[.-]*' -prune -o \
+ -print \) ) \
+ | tar -x -C $(d_source)/usr/src/gcc$(pkg_ver) -f -
+ # FIXME: Remove generated files
+ find $(d_source)/usr/src/gcc$(pkg_ver) -name '*.debhelper.log' -o -name .svn | xargs rm -rf
+
+ touch $(d_source)/usr/src/gcc$(pkg_ver)/debian/rules.parameters
+
+ dh_link -p$(p_source) \
+ /usr/src/gcc$(pkg_ver)/debian/patches /usr/src/gcc$(pkg_ver)/patches
+
+ mkdir -p $(d_source)/usr/share/lintian/overrides
+ cp -p debian/$(p_source).overrides \
+ $(d_source)/usr/share/lintian/overrides/$(p_source)
+ echo $(p_source) >> debian/indep_binaries
+
+ touch $@
--- /dev/null
+# -*- makefile -*-
+# definitions used in more than one Makefile / rules file
+
+NJOBS :=
+USE_CPUS := 1
+ifneq (,$(filter parallel=%,$(subst $(COMMA), ,$(DEB_BUILD_OPTIONS))))
+ USE_CPUS := $(subst parallel=,,$(filter parallel=%,$(subst $(COMMA), ,$(DEB_BUILD_OPTIONS))))
+ NJOBS := -j $(USE_CPUS)
+endif
+
+# common vars
+SHELL = /bin/bash -e # brace expansion used in rules file
+srcdir = $(CURDIR)/src
+builddir = $(CURDIR)/build
+builddir_jit = $(CURDIR)/build-jit
+builddir_nvptx = $(CURDIR)/build-nvptx
+builddir_hppa64 = $(CURDIR)/build-hppa64
+stampdir = stamps
+
+distribution := $(shell lsb_release -is)
+distrelease := $(shell lsb_release -cs)
+derivative := $(shell if dpkg-vendor --derives-from Ubuntu; then echo Ubuntu; \
+ elif dpkg-vendor --derives-from Debian; then echo Debian; \
+ else echo Unknown; fi)
+
+# On non official archives, "lsb_release -cs" default to "n/a". Assume
+# sid in that case
+ifeq ($(distrelease),n/a)
+distrelease := sid
+endif
+
+on_buildd := $(shell [ -f /CurrentlyBuilding -o "$$LOGNAME" = buildd ] && echo yes)
+
+# creates {srcdir,builddir}_{hppa64,neon}
+$(foreach x,srcdir builddir,$(foreach target,hppa64 neon,$(eval \
+ $(x)_$(target) := $($(x))-$(target))))
+
+# for architecture dependent variables and changelog vars
+vafilt = $(subst $(2)=,,$(filter $(2)=%,$(1)))
+# for rules.sonames
+vafilt_defined = 1
+
+dpkg_target_vars := $(shell (dpkg-architecture | grep -q DEB_TARGET) && echo yes)
+ifeq ($(dpkg_target_vars),yes)
+ DEB_TARGET_ARCH=
+ DEB_TARGET_ARCH_BITS=
+ DEB_TARGET_ARCH_CPU=
+ DEB_TARGET_ARCH_ENDIAN=
+ DEB_TARGET_ARCH_OS=
+ DEB_TARGET_GNU_CPU=
+ DEB_TARGET_GNU_SYSTEM=
+ DEB_TARGET_GNU_TYPE=
+ DEB_TARGET_MULTIARCH=
+endif
+
+DPKG_VARS := $(shell dpkg-architecture)
+ifeq ($(dpkg_target_vars),yes)
+ DPKG_VARS := $(filter-out DEB_TARGET_%, $(DPKG_VARS))
+endif
+DEB_BUILD_ARCH ?= $(call vafilt,$(DPKG_VARS),DEB_BUILD_ARCH)
+DEB_BUILD_GNU_TYPE ?= $(call vafilt,$(DPKG_VARS),DEB_BUILD_GNU_TYPE)
+DEB_BUILD_MULTIARCH ?= $(call vafilt,$(DPKG_VARS),DEB_BUILD_MULTIARCH)
+DEB_HOST_ARCH ?= $(call vafilt,$(DPKG_VARS),DEB_HOST_ARCH)
+DEB_HOST_GNU_CPU ?= $(call vafilt,$(DPKG_VARS),DEB_HOST_GNU_CPU)
+DEB_HOST_GNU_SYSTEM ?= $(call vafilt,$(DPKG_VARS),DEB_HOST_GNU_SYSTEM)
+DEB_HOST_GNU_TYPE ?= $(call vafilt,$(DPKG_VARS),DEB_HOST_GNU_TYPE)
+DEB_HOST_MULTIARCH ?= $(call vafilt,$(DPKG_VARS),DEB_HOST_MULTIARCH)
+
+ifeq ($(derivative),Ubuntu)
+ ifeq (,$(filter $(distrelease),dapper hardy lucid precise quantal raring saucy trusty))
+ ifeq ($(DEB_BUILD_GNU_TYPE),i486-linux-gnu)
+ DEB_BUILD_GNU_TYPE = i686-linux-gnu
+ endif
+ ifeq ($(DEB_HOST_GNU_TYPE),i486-linux-gnu)
+ DEB_HOST_GNU_TYPE = i686-linux-gnu
+ endif
+ endif
+else
+ ifneq (,$(filter $(distrelease),lenny etch squeeze wheezy))
+ # keep dpkg defaults
+ else ifneq (,$(filter $(distrelease),jessie))
+ ifeq ($(DEB_BUILD_GNU_TYPE),i486-linux-gnu)
+ DEB_BUILD_GNU_TYPE = i586-linux-gnu
+ endif
+ ifeq ($(DEB_HOST_GNU_TYPE),i486-linux-gnu)
+ DEB_HOST_GNU_TYPE = i586-linux-gnu
+ endif
+ else
+ # stretch and newer ...
+ DEB_BUILD_GNU_TYPE := $(subst i586,i686,$(DEB_BUILD_GNU_TYPE))
+ DEB_HOST_GNU_TYPE := $(subst i586,i686,$(DEB_HOST_GNU_TYPE))
+ endif
+endif
+
+CHANGELOG_VARS := $(shell dpkg-parsechangelog | \
+ sed -n 's/ /_/g;/^[^_]/s/^\([^:]*\):_\(.*\)/\1=\2/p')
+
+# the name of the source package
+PKGSOURCE := $(call vafilt,$(CHANGELOG_VARS),Source)
+# those are required here too
+SOURCE_VERSION := $(call vafilt,$(CHANGELOG_VARS),Version)
+DEB_VERSION := $(strip $(shell echo $(SOURCE_VERSION) | \
+ sed -e 's/.*://' -e 's/ds[0-9]*//'))
+# epoch used for gcc versions up to 3.3.x, now used for some remaining
+# libraries: libgcc1, libobjc1
+EPOCH := 1
+DEB_EVERSION := $(EPOCH):$(DEB_VERSION)
+BASE_VERSION := $(shell echo $(DEB_VERSION) | sed -e 's/\([1-9]\).*-.*/\1/')
+
+ifneq (,$(findstring gcc-snapshot, $(PKGSOURCE)))
+ single_package = yes
+ trunk_build = yes
+else ifneq (,$(findstring gcc-linaro, $(PKGSOURCE)))
+ single_package = yes
+ trunk_build = no
+else
+ # --program-suffix=-$(BASE_VERSION)
+ versioned_packages := yes
+endif
+
+# push glibc stack traces into stderr
+export LIBC_FATAL_STDERR_=1
+
+# ---------------------------------------------------------------------------
+# set target
+# - GNU triplet via DEB_TARGET_GNU_TYPE
+# - Debian arch in debian/target
+# - Debian arch via DEB_GCC_TARGET or GCC_TARGET
+#
+# alias
+ifdef GCC_TARGET
+ DEB_GCC_TARGET := $(GCC_TARGET)
+endif
+ifdef DEB_TARGET_GNU_TYPE
+ TARGET_VARS := $(shell dpkg-architecture -f -t$(DEB_TARGET_GNU_TYPE) 2>/dev/null)
+else
+ # allow debian/target to be used instead of DEB_GCC_TARGET - this was requested
+ # by toolchain-source maintainer
+ DEBIAN_TARGET_FILE := $(strip $(if $(wildcard debian/target),$(shell cat debian/target 2>/dev/null)))
+ ifndef DEB_TARGET_ARCH
+ ifneq (,$(DEBIAN_TARGET_FILE))
+ DEB_TARGET_ARCH := $(DEBIAN_TARGET_FILE)
+ else
+ ifdef DEB_GCC_TARGET
+ DEB_TARGET_ARCH := $(DEB_GCC_TARGET)
+ else
+ DEB_TARGET_ARCH := $(DEB_HOST_ARCH)
+ endif
+ endif
+ endif
+ TARGET_VARS := $(shell dpkg-architecture -f -a$(DEB_TARGET_ARCH) 2>/dev/null)
+endif
+ifeq ($(dpkg_target_vars),yes)
+ TARGET_VARS := $(filter-out DEB_TARGET_%, $(TARGET_VARS))
+endif
+
+DEB_TARGET_ARCH := $(call vafilt,$(TARGET_VARS),DEB_HOST_ARCH)
+DEB_TARGET_ARCH_OS := $(call vafilt,$(TARGET_VARS),DEB_HOST_ARCH_OS)
+DEB_TARGET_ARCH_CPU := $(call vafilt,$(TARGET_VARS),DEB_HOST_ARCH_CPU)
+DEB_TARGET_GNU_CPU := $(call vafilt,$(TARGET_VARS),DEB_HOST_GNU_CPU)
+DEB_TARGET_GNU_TYPE := $(call vafilt,$(TARGET_VARS),DEB_HOST_GNU_TYPE)
+DEB_TARGET_GNU_SYSTEM := $(call vafilt,$(TARGET_VARS),DEB_HOST_GNU_SYSTEM)
+DEB_TARGET_MULTIARCH := $(call vafilt,$(TARGET_VARS),DEB_HOST_MULTIARCH)
+DEB_TARGET_ARCH_ABI := $(call vafilt,$(TARGET_VARS),DEB_HOST_ARCH_ABI)
+DEB_TARGET_ARCH_BITS := $(call vafilt,$(TARGET_VARS),DEB_HOST_ARCH_BITS)
+DEB_TARGET_ARCH_ENDIAN := $(call vafilt,$(TARGET_VARS),DEB_HOST_ARCH_ENDIAN)
+DEB_TARGET_ARCH_LIBC := $(call vafilt,$(TARGET_VARS),DEB_HOST_ARCH_LIBC)
+export DEB_TARGET_ARCH DEB_TARGET_ARCH_ABI DEB_TARGET_ARCH_BITS \
+ DEB_TARGET_ARCH_CPU DEB_TARGET_ARCH_OS DEB_TARGET_ARCH_ENDIAN \
+ DEB_TARGET_ARCH_LIBC DEB_TARGET_GNU_CPU DEB_TARGET_GNU_TYPE \
+ DEB_TARGET_GNU_SYSTEM DEB_TARGET_MULTIARCH
+
+ifeq ($(derivative),Ubuntu)
+ ifeq (,$(filter $(distrelease),dapper lucid))
+ ifeq ($(DEB_TARGET_GNU_TYPE),i486-linux-gnu)
+ DEB_TARGET_GNU_TYPE = i586-linux-gnu
+ endif
+ endif
+else
+ ifneq (,$(filter $(distrelease),stretch))
+ DEB_TARGET_GNU_TYPE := $(subst i586,i686,$(DEB_TARGET_GNU_TYPE))
+ i586_symlinks = $(if $(findstring i686,$(DEB_TARGET_GNU_TYPE)),yes)
+ endif
+endif
+
+ifeq ($(DEB_TARGET_ARCH),)
+ $(error Invalid architecure.)
+endif
+
+# Force this, people get confused about the default. See #760770.
+override with_deps_on_target_arch_pkgs :=
+
+# including unversiond symlinks for binaries
+#with_unversioned = yes
+
+# ---------------------------------------------------------------------------
+# cross-compiler config
+ifneq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE))
+ ifneq ($(DEB_HOST_GNU_TYPE),$(DEB_TARGET_GNU_TYPE))
+ # cross building a cross compiler, untested.
+ DEB_CROSS = yes
+ build_type = cross-build-cross
+ else
+ # cross building the native compiler
+ build_type = cross-build-native
+ endif
+else
+ ifneq ($(DEB_HOST_GNU_TYPE),$(DEB_TARGET_GNU_TYPE))
+ # cross compiler, sets WITH_SYSROOT on it's own
+ DEB_CROSS = yes
+ build_type = build-cross
+ else ifeq ($(FORCE_CROSS_LAYOUT),yes)
+ # a native build with a cross layout
+ DEB_CROSS = yes
+ build_type = build-cross
+ else
+ # native build
+ build_type = build-native
+ endif
+endif
+
+# ---------------------------------------------------------------------------
+# cross compiler support
+ifeq ($(DEB_CROSS),yes)
+ # TARGET: Alias to DEB_TARGET_ARCH (Debian arch name)
+ # TP: Target Prefix. Used primarily as a prefix for cross tool
+ # names (e.g. powerpc-linux-gcc).
+ # TS: Target Suffix. Used primarily at the end of cross compiler
+ # package names (e.g. gcc-powerpc).
+ # LS: Library Suffix. Used primarily at the end of cross compiler
+ # library package names (e.g. libgcc-powerpc-cross).
+ # AQ: Arch Qualifier. Used for cross-arch dependencies
+ DEB_TARGET_ALIAS ?= $(DEB_TARGET_GNU_TYPE)
+ TARGET := $(DEB_TARGET_ARCH)
+ TP := $(subst _,-,$(DEB_TARGET_GNU_TYPE))-
+ TS := -$(subst _,-,$(DEB_TARGET_ALIAS))
+ LS := -$(subst _,-,$(DEB_TARGET_ARCH))-cross
+ AQ :=
+
+ cross_bin_arch := -$(subst _,-,$(DEB_TARGET_ALIAS))
+ cross_lib_arch := -$(subst _,-,$(DEB_TARGET_ARCH))-cross
+ cmd_prefix := $(DEB_TARGET_GNU_TYPE)-
+
+ TARGET_ALIAS := $(DEB_TARGET_ALIAS)
+
+ lib_binaries := indep_binaries
+ cross_shlibdeps = DEB_HOST_ARCH=$(TARGET) ARCH=$(DEB_TARGET_ARCH) MAKEFLAGS="CC=something"
+ cross_gencontrol = DEB_HOST_ARCH=$(TARGET)
+ cross_makeshlibs = DEB_HOST_ARCH=$(TARGET)
+ cross_clean = DEB_HOST_ARCH=$(TARGET)
+else
+ TARGET_ALIAS := $(DEB_TARGET_GNU_TYPE)
+
+ ifeq ($(TARGET_ALIAS),i386-gnu)
+ TARGET_ALIAS := i586-gnu
+ endif
+
+ ifeq ($(single_package),yes)
+ cmd_prefix :=
+ unprefixed_names :=
+ else
+ cmd_prefix := $(DEB_TARGET_GNU_TYPE)-
+ unprefixed_names := yes
+ endif
+
+ #ifeq ($(TARGET_ALIAS),i486-linux-gnu)
+ # TARGET_ALIAS := i686-linux-gnu
+ #endif
+
+ TARGET_ALIAS := $(subst i386,i486,$(TARGET_ALIAS))
+
+ # configure as linux-gnu, not linux
+ #ifeq ($(findstring linux,$(TARGET_ALIAS))/$(findstring linux-gnu,$(TARGET_ALIAS)),linux/)
+ # TARGET_ALIAS := $(TARGET_ALIAS)-gnu
+ #endif
+
+ # configure as linux, not linux-gnu
+ #TARGET_ALIAS := $(subst linux-gnu,linux,$(TARGET_ALIAS))
+
+ lib_binaries := arch_binaries
+ cross_shlibdeps :=
+ cross_gencontrol :=
+ cross_makeshlibs :=
+ # FIXME: Ignore missing symbols for a first build ...
+ #cross_makeshlibs := -
+ cross_clean :=
+endif
+
+printarch:
+ @echo DEB_TARGET_ARCH: $(DEB_TARGET_ARCH)
+ @echo DEB_TARGET_ARCH_OS: $(DEB_TARGET_ARCH_OS)
+ @echo DEB_TARGET_ARCH_CPU: $(DEB_TARGET_ARCH_CPU)
+ @echo DEB_TARGET_GNU_SYSTEM: $(DEB_TARGET_GNU_SYSTEM)
+ @echo DEB_TARGET_MULTIARCH: $(DEB_TARGET_MULTIARCH)
+ @echo MULTIARCH_CONFARG: $(MULTIARCH_CONFARG)
+ @echo TARGET_ALIAS: $(TARGET_ALIAS)
+ @echo TP: $(TP)
+ @echo TS: $(TS)
+
+# -------------------------------------------------------------------
+# bootstrap options
+ifdef WITH_BOOTSTRAP
+ # "yes" is the default and causes a 3-stage bootstrap.
+ # "off" runs a complete build with --disable-bootstrap
+ # "no" means to just build the first stage, and not create the stage1
+ # directory.
+ # "lean" means a lean 3-stage bootstrap, i.e. delete each stage when no
+ # longer needed.
+ with_bootstrap = $(WITH_BOOTSTRAP)
+endif
+ifneq ($(findstring nostrap, $(DEB_BUILD_OPTIONS)),)
+ with_bootstrap := off
+endif
+
+ifneq ($(findstring gccdebug, $(DEB_BUILD_OPTIONS)),)
+ with_bootstrap := off
+ DEB_BUILD_OPTIONS := $(DEB_BUILD_OPTIONS) nostrip
+ export DEB_BUILD_OPTIONS
+endif
+
+ifneq ($(trunk_build),yes)
+ ifeq ($(build_type),build-native)
+ ifeq (,$(DEB_STAGE))
+ ifneq (,$(filter $(DEB_HOST_ARCH), amd64 i386 armhf arm64 ppc64el s390x))
+ with_bootstrap := profiled
+ endif
+ endif
+ endif
+endif
+
+# -------------------------------------------------------------------
+# stage options
+ifdef DEB_STAGE
+ with_cdev := yes
+ separate_lang := yes
+ # "stage1" is minimal compiler with static libgcc
+ # "stage2" is minimal compiler with shared libgcc
+ # "rtlibs" is a subset of target libraries, without compilers
+ ifeq ($(DEB_STAGE),stage1)
+ with_shared_libgcc := no
+ endif
+ ifeq ($(DEB_STAGE),stage2)
+ with_libgcc := yes
+ with_shared_libgcc := yes
+ endif
+ ifeq ($(DEB_STAGE),rtlibs)
+ with_rtlibs := libgcc libgomp libstdc++ libgfortran libquadmath
+ ifeq ($(DEB_CROSS),yes)
+ LS :=
+ TS :=
+ cross_lib_arch :=
+ endif
+ endif
+endif
+
+ifeq ($(BACKPORT),true)
+ with_dev := no
+ with_source := yes
+ with_base_only := yes
+endif
+
+# -------------------------------------------------------------------
+# sysroot options
+ifdef WITH_SYSROOT
+ with_sysroot = $(WITH_SYSROOT)
+endif
+ifdef WITH_BUILD_SYSROOT
+ with_build_sysroot = $(WITH_BUILD_SYSROOT)
+endif
+
+# -------------------------------------------------------------------
+# for components configuration
+
+COMMA = ,
+SPACE = $(EMPTY) $(EMPTY)
+
+# lang= overwrites all of nolang=, overwrites all of WITHOUT_LANG
+
+DEB_LANG_OPT := $(filter lang=%,$(DEB_BUILD_OPTIONS))
+DEB_LANG := $(strip $(subst $(COMMA), ,$(patsubst lang=%,%,$(DEB_LANG_OPT))))
+DEB_NOLANG_OPT := $(filter nolang=%,$(DEB_BUILD_OPTIONS))
+DEB_NOLANG := $(strip $(subst $(COMMA), ,$(patsubst nolang=%,%,$(DEB_NOLANG_OPT))))
+lfilt = $(strip $(if $(DEB_LANG), \
+ $(if $(filter $(1) $(2),$(DEB_LANG)),yes),$(3)))
+nlfilt = $(strip $(if $(DEB_NOLANG), \
+ $(if $(filter $(1) $(2),$(DEB_NOLANG)),disabled by $(DEB_NOLANG_OPT),$(3))))
+wlfilt = $(strip $(if $(filter $(1) $(2), $(subst $(COMMA), ,$(WITHOUT_LANG))), \
+ disabled by WITHOUT_LANG=$(WITHOUT_LANG),$(3)))
+envfilt = $(strip $(or $(call lfilt,$(1),$(2)),$(call nlfilt,$(1),$(3)),$(call wlfilt,$(1),$(3)),$(4)))
+
+# -------------------------------------------------------------------
+# architecture specific config
+
+ifeq ($(DEB_TARGET_ARCH),armhf)
+ ifeq ($(distribution),Raspbian)
+ with_arm_thumb := no
+ else
+ with_arm_thumb := yes
+ endif
+else
+ ifeq ($(derivative)-$(DEB_TARGET_ARCH),Ubuntu-armel)
+ ifneq (,$(filter $(distrelease),lucid maverick natty oneiric precise))
+ with_arm_thumb := yes
+ endif
+ endif
+endif
+
+# build using fsf or linaro
+ifeq ($(distribution),Ubuntu)
+ ifneq (,$(findstring $(DEB_TARGET_ARCH),arm64 armel armhf))
+ with_linaro_branch = yes
+ endif
+endif
+
+# build using fsf or the ibm branch
+ifeq ($(distribution),Ubuntu)
+ ifneq (,$(findstring $(DEB_TARGET_ARCH),ppc64el))
+ #with_ibm_branch = yes
+ endif
+endif
+
+ifneq (,$(findstring gcc-snapshot, $(PKGSOURCE)))
+ with_linaro_branch =
+ with_ibm_branch =
+else ifneq (,$(findstring gcc-linaro, $(PKGSOURCE)))
+ with_ibm_branch =
+endif
+
+# check if we're building for armel or armhf
+ifneq (,$(filter %eabihf,$(DEB_TARGET_GNU_SYSTEM)))
+ float_abi := hard
+else ifneq (,$(filter $(distribution)-$(DEB_TARGET_ARCH), Ubuntu-armel))
+ ifneq (,$(filter $(distrelease),lucid maverick natty oneiric precise))
+ float_abi := softfp
+ else
+ float_abi := soft
+ endif
+else ifneq (,$(filter $(DEB_TARGET_ARCH), arm armel))
+ float_abi := soft
+endif
+
+# -------------------------------------------------------------------
+# basic config
+
+# allows to wrote backtraces for ICEs
+#unstripped_exe = yes
+
+# common things ---------------
+# build common packages, where package names don't differ in different
+# gcc versions (fixincludes, ...)
+with_common_pkgs := yes
+# ... and some libraries, which do not change (libgcc1, libssp0).
+with_common_libs := yes
+# XXX: should with_common_libs be "yes" only if this is the default compiler
+# version on the targeted arch?
+
+# is this a multiarch-enabled build?
+ifeq (,$(filter $(distrelease),lenny etch squeeze dapper hardy jaunty karmic lucid maverick))
+ with_multiarch_lib := yes
+endif
+
+ifeq ($(with_multiarch_lib),yes)
+ ifneq ($(single_package),yes)
+ ifneq ($(DEB_CROSS),yes)
+ with_multiarch_cxxheaders := yes
+ endif
+ endif
+endif
+
+ifeq (,$(filter $(distrelease),lenny etch squeeze dapper hardy jaunty karmic lucid maverick))
+ multiarch_stage1 := yes
+endif
+
+MIPS_R6_ENABLED = no
+ifeq (,$(filter $(distrelease),lenny etch squeeze wheezy jessie dapper hardy jaunty karmic lucid maverick natty oneiric precise quantal raring saucy trusty utopic vivid wily xenial yakkety zesty artful))
+ MIPS_R6_ENABLED = yes
+endif
+
+# mapping for the non-default biarch multilib / multiarch names
+multiarch_xarch_map = \
+ amd64=i386-linux-gnu,x86_64-linux-gnux32 \
+ armel=arm-linux-gnueabi \
+ armhf=arm-linux-gnueabihf \
+ i386=x86_64-linux-gnu,x86_64-linux-gnux32 \
+ powerpc=powerpc64-linux-gnu \
+ ppc64=powerpc-linux-gnu \
+ sparc=sparc64-linux-gnu \
+ sparc64=sparc-linux-gnu \
+ s390=s390x-linux-gnu \
+ s390x=s390-linux-gnu \
+ mips=mips64-linux-gnuabin32,mips64-linux-gnuabi64 \
+ mipsel=mips64el-linux-gnuabin32,mips64el-linux-gnuabi64 \
+ mipsn32=mips-linux-gnu,mips64-linux-gnuabi64 \
+ mipsn32el=mipsel-linux-gnu,mips64el-linux-gnuabi64 \
+ mips64=mips-linux-gnu,mips64-linux-gnuabin32 \
+ mips64el=mipsel-linux-gnu,mips64el-linux-gnuabin32 \
+ mipsr6=mipsisa64r6-linux-gnuabin32,mipsisa64r6-linux-gnuabi64 \
+ mipsr6el=mipsisa64r6el-linux-gnuabin32,mipsisa64r6el-linux-gnuabi64 \
+ mipsn32r6=mipsisa32r6-linux-gnu,mipsisa64r6-linux-gnuabi64 \
+ mipsn32r6el=mipsisa32r6el-linux-gnu,mipsisa64r6el-linux-gnuabi64 \
+ mips64r6=mipsisa32r6-linux-gnu,mipsisa64r6-linux-gnuabin32 \
+ mips64r6el=mipsisa32r6el-linux-gnu,mipsisa64r6el-linux-gnuabin32 \
+ x32=x86_64-linux-gnu,i386-linux-gnu \
+ kfreebsd-amd64=i386-kfreebsd-gnu
+xarch_multiarch_names = $(subst $(COMMA),$(SPACE),$(patsubst $(DEB_TARGET_ARCH)=%,%, \
+ $(filter $(DEB_TARGET_ARCH)=%,$(multiarch_xarch_map))))
+
+multilib_multiarch_map = \
+ $(DEB_TARGET_ARCH)/=$(DEB_TARGET_MULTIARCH) \
+ amd64/32=i386-linux-gnu \
+ amd64/x32=x86_64-linux-gnux32 \
+ armel/hf=arm-linux-gnueabihf \
+ armhf/sf=arm-linux-gnueabi \
+ i386/64=x86_64-linux-gnu \
+ i386/x32=x86_64-linux-gnux32 \
+ powerpc/64=powerpc64-linux-gnu \
+ ppc64/32=powerpc-linux-gnu \
+ sparc/64=sparc64-linux-gnu \
+ sparc64/32=sparc-linux-gnu \
+ s390/64=s390x-linux-gnu \
+ s390x/32=s390-linux-gnu \
+ mips/n32=mips64-linux-gnuabin32 \
+ mips/64=mips64-linux-gnuabi64 \
+ mipsel/n32=mips64el-linux-gnuabin32 \
+ mipsel/64=mips64el-linux-gnuabi64 \
+ mipsn32/32=mips-linux-gnu \
+ mipsn32/64=mips64-linux-gnuabi64 \
+ mipsn32el/32=mipsel-linux-gnu \
+ mipsn32el/64=mips64el-linux-gnuabi64 \
+ mips64/32=mips-linux-gnu \
+ mips64/n32=mips64-linux-gnuabin32 \
+ mips64el/32=mipsel-linux-gnu \
+ mips64el/n32=mips64el-linux-gnuabin32 \
+ mipsr6/n32=mipsisa64r6-linux-gnuabin32 \
+ mipsr6/64=mipsisa64r6-linux-gnuabi64 \
+ mipsr6el/n32=mipsisa64r6el-linux-gnuabin32 \
+ mipsr6el/64=mipsisa64r6el-linux-gnuabi64 \
+ mipsn32r6/32=mipsisa32r6-linux-gnu \
+ mipsn32r6/64=mipsisa64r6-linux-gnuabi64 \
+ mipsn32r6el/32=mipsisa32r6el-linux-gnu \
+ mipsn32r6el/64=mipsisa64r6el-linux-gnuabi64 \
+ mips64r6/32=mipsisa32r6-linux-gnu \
+ mips64r6/n32=mipsisa64r6-linux-gnuabin32 \
+ mips64r6el/32=mipsisa32r6el-linux-gnu \
+ mips64r6el/n32=mipsisa64r6el-linux-gnuabin32 \
+ x32/32=i386-linux-gnu \
+ x32/64=x86_64-linux-gnu \
+ kfreebsd-amd64/32=i386-kfreebsd-gnu
+# $(call mlib_to_march,<empty>|32|64|n32|x32|hf|sf)
+mlib_to_march = $(patsubst $(DEB_TARGET_ARCH)/$(1)=%,%, \
+ $(filter $(DEB_TARGET_ARCH)/$(1)=%,$(multilib_multiarch_map)))
+
+multilib_arch_map = \
+ $(DEB_TARGET_ARCH)/=$(DEB_TARGET_ARCH) \
+ amd64/32=i386 \
+ amd64/x32=x32 \
+ armel/hf=armhf \
+ armhf/sf=armel \
+ i386/64=amd64 \
+ i386/x32=x32 \
+ powerpc/64=ppc64 \
+ ppc64/32=powerpc \
+ sparc/64=sparc64 \
+ sparc64/32=sparc \
+ s390/64=s390x \
+ s390x/32=s390 \
+ mips/n32=mipsn32 \
+ mips/64=mips64 \
+ mipsel/n32=mipsn32el \
+ mipsel/64=mips64el \
+ mipsn32/32=mips \
+ mipsn32/64=mips64 \
+ mipsn32el/32=mipsel \
+ mipsn32el/64=mips64el \
+ mips64/32=mips \
+ mips64/n32=mipsn32 \
+ mips64el/32=mipsel \
+ mips64el/n32=mipsn32el \
+ mipsr6/n32=mipsn32r6 \
+ mipsr6/64=mips64r6 \
+ mipsr6el/n32=mipsn32r6el \
+ mipsr6el/64=mips64r6el \
+ mipsn32r6/32=mipsr6 \
+ mipsn32r6/64=mips64r6 \
+ mipsn32r6el/32=mipsr6el \
+ mipsn32r6el/64=mips64r6el \
+ mips64r6/32=mipsr6 \
+ mips64r6/n32=mipsn32r6 \
+ mips64r6el/32=mipsr6el \
+ mips64r6el/n32=mipsn32r6el \
+ x32/32=i386 \
+ x32/64=amd64 \
+ kfreebsd-amd64/32=kfreebsd-i386
+# $(call mlib_to_arch,<empty>|32|64|n32|x32|hf|sf)
+mlib_to_arch = $(patsubst $(DEB_TARGET_ARCH)/$(1)=%,%, \
+ $(filter $(DEB_TARGET_ARCH)/$(1)=%,$(multilib_arch_map)))
+
+# build -base packages
+with_gccbase := yes
+ifeq ($(build_type),build-cross)
+ ifneq ($(DEB_STAGE),rtlibs)
+ with_gcclbase := yes
+ endif
+endif
+
+# build dev packages.
+ifneq ($(DEB_STAGE),rtlibs)
+ with_dev := yes
+endif
+
+with_cpp := yes
+
+# set lang when built from a different source package.
+separate_lang := no
+
+#no_dummy_cpus := ia64 i386 hppa s390 sparc
+#ifneq (,$(filter $(DEB_TARGET_ARCH_CPU),$(no_dummy_cpus)))
+# with_base_only := no
+# with_common_libs := yes
+# with_common_pkgs := yes
+#else
+# with_base_only := yes
+# with_common_libs := no
+# with_common_pkgs := no
+# with_dev := no
+#endif
+
+ifeq ($(versioned_packages),yes)
+ pkg_ver := -$(BASE_VERSION)
+ PV := $(pkg_ver)
+endif
+
+# -------------------------------------------------------------------
+# configure languages
+
+# C ---------------------------
+enabled_languages := c
+
+with_jit = yes
+
+# FIXME: compiler bug
+jit_no_cpus := ia64
+
+ifneq (,$(filter $(DEB_TARGET_ARCH_CPU),$(jit_no_cpus)))
+ with_jit := disabled for cpu $(DEB_TARGET_ARCH_CPU)
+endif
+ifneq (,$(with_rtlibs))
+ with_jit := disabled for rtlibs stage
+endif
+with_jit := $(call envfilt, jit, , , $(with_jit))
+
+ifeq (,$(findstring gcc-,$(PKGSOURCE)))
+ with_jit :=
+endif
+
+ifneq (,$(findstring build-cross, $(build_type)))
+ with_jit := disabled for cross builds
+endif
+
+ifeq ($(with_jit),yes)
+ ifeq ($(with_common_libs),yes)
+ with_libgccjit := yes
+ endif
+endif
+
+nvptx_archs := amd64
+ifneq (,$(filter $(DEB_TARGET_ARCH),$(nvptx_archs)))
+ offload_targets += nvptx-none
+ with_offload_nvptx := yes
+endif
+ifneq (,$(findstring build-cross, $(build_type)))
+ with_offload_nvptx := disabled for cross builds
+endif
+
+ifeq ($(single_package),yes)
+ with_offload_nvptx := disabled for snapshot builds
+endif
+with_offload_nvptx := $(call envfilt, nvptx, , , $(with_offload_nvptx))
+
+#with_offload_nvptx := not yet built for GCC 8
+
+with_cc1 := yes
+with_cc1 := $(call envfilt, cc1, , , $(with_cc1))
+
+ifeq ($(with_cc1),yes)
+ ifeq ($(with_common_libs),yes)
+ with_libcc1 := yes
+ endif
+ with_libcc1_plugin := yes
+endif
+
+ifneq (,$(with_rtlibs))
+ with_libcc1 := disabled for rtlibs stage
+ with_libcc1_plugin := disabled for rtlibs stage
+endif
+ifneq (,$(findstring build-cross, $(build_type)))
+ with_libcc1 := disabled for cross builds
+endif
+
+# Build all packages needed for C development
+ifneq ($(with_base_only),yes)
+ ifeq ($(with_dev),yes)
+ with_cdev := yes
+ endif
+endif
+
+ifeq (,$(filter $(DEB_STAGE),stage1 stage2))
+# Ada --------------------
+ada_no_cpus := m32r riscv64 sh3 sh3eb sh4eb
+# no Debian builds ... some of these should exist
+# ... cross-build-native cross-builds a non-working compiler ...
+ifneq (,$(filter $(build_type), build-native))
+ ada_no_cpus += m68k # see https://bugs.debian.org/868365
+endif
+ada_no_systems :=
+ada_no_cross := no
+ada_no_snap := no
+ifeq ($(single_package),yes)
+ ifneq (,$(filter $(DEB_TARGET_ARCH),powerpcspe))
+ ada_no_snap := yes
+ endif
+endif
+
+ifeq ($(with_dev),yes)
+ ifneq ($(separate_lang),yes)
+ with_ada := yes
+ endif
+endif
+ifneq (,$(filter $(DEB_TARGET_ARCH_CPU),$(ada_no_cpus)))
+ with_ada := disabled for cpu $(DEB_TARGET_ARCH_CPU)
+endif
+ifneq (,$(findstring $(DEB_TARGET_GNU_SYSTEM),$(ada_no_systems)))
+ with_ada := disabled for system $(DEB_TARGET_GNU_SYSTEM)
+endif
+ifneq (,$(filter $(DEB_TARGET_ARCH),powerpcspe))
+ with_ada := disabled for target $(DEB_TARGET_ARCH)
+endif
+ifeq ($(ada_no_cross)-$(DEB_CROSS),yes-yes)
+ with_ada := disabled for cross compiler package
+endif
+ifeq ($(ada_no_snap)-$(single_package),yes-yes)
+ with_ada := disabled for snapshot build
+endif
+ifneq (,$(findstring gccgo,$(PKGSOURCE)))
+ with_ada :=
+endif
+ifneq (,$(filter $(distrelease),lucid))
+ with_ada :=
+endif
+with_ada := $(call envfilt, ada, , , $(with_ada))
+
+ifeq ($(DEB_STAGE)-$(filter libgnat, $(with_rtlibs)),rtlibs-)
+ with_ada := disabled for rtlibs stage
+endif
+
+#ifneq ($(single_package),yes)
+# with_separate_gnat := yes
+#endif
+
+ifneq ($(with_separate_gnat),yes)
+ ifeq ($(with_ada),yes)
+ ifneq (,$(filter $(distrelease),squeeze lucid))
+ with_ada :=
+ endif
+ endif
+endif
+
+ifeq ($(with_ada)-$(with_separate_gnat),yes-yes)
+ ifneq (,$(findstring gnat,$(PKGSOURCE)))
+ languages := c
+ separate_lang := yes
+ with_mudflap := no
+ with_gccbase := no
+ with_cdev := no
+ with_cc1 := no
+ with_libcc1 := no
+ else
+ debian_extra_langs += ada
+ with_ada := built from separate source
+ with_libgnat := built from separate source
+ endif
+endif
+
+ifeq ($(with_ada),yes)
+ enabled_languages += ada
+ with_libgnat := yes
+ with_gnatsjlj := yes
+endif
+
+# C++ -------------------------
+cxx_no_cpus := avr
+ifneq ($(with_base_only),yes)
+ ifneq ($(separate_lang),yes)
+ with_cxx := yes
+ endif
+endif
+ifneq (,$(findstring $(DEB_TARGET_ARCH_CPU),$(cxx_no_cpus)))
+ with_cxx := disabled for cpu $(DEB_TARGET_ARCH_CPU)
+endif
+with_cxx := $(call envfilt, c++, obj-c++, , $(with_cxx))
+
+# Set the default libstdc++ ABI. libstdc++ provides both ABI's.
+# Existing code still runs with the new c++11 ABI, however link
+# errors are seen when one object is compiled with the new std::string in scope,
+# another object is compiled with the old std::string in scope. both can link
+# to libstdc++.so but not to each other.
+# two objects (which might be some system library and a user's program) need to
+# agree on the version of std::string they're using
+
+libstdcxx_abi = new
+# backports default to the old ABI
+ifneq (,$(filter $(distrelease),squeeze wheezy jessie lucid precise trusty utopic vivid))
+ libstdcxx_abi = gcc4-compatible
+endif
+
+# Build all packages needed for C++ development
+ifeq ($(with_cxx),yes)
+ ifeq ($(with_dev),yes)
+ with_cxxdev := yes
+ with_libcxxdbg := yes
+ endif
+ ifeq ($(with_common_libs),yes)
+ with_libcxx := yes
+ endif
+
+ # debugging versions of libstdc++
+ ifneq (,$(findstring gcc-, $(PKGSOURCE)))
+ ifeq ($(with_cxxdev),yes)
+ with_cxx_debug := yes
+ debug_no_cpus :=
+ ifneq (,$(findstring $(DEB_TARGET_ARCH_CPU),$(debug_no_cpus)))
+ with_cxx_debug := disabled for cpu $(DEB_TARGET_GNU_CPU)
+ endif
+ endif
+ endif
+ with_cxx_debug := $(call envfilt, debug, , , $(with_cxx_debug))
+
+ enabled_languages += c++
+endif
+
+# Go -------------------
+# - To build a standalone gccgo package (with no corresponding gcc
+# package): with_separate_libgo=yes, with_standalone_go=yes
+# - To build the go packages from the gcc source package:
+# with_separate_libgo=no, with_standalone_go=no
+# - To build gcc and go from separate sources:
+# with_separate_libgo=yes, with_standalone_go=no
+
+go_no_cross := yes
+go_no_cross := no
+
+ifneq (,$(findstring gccgo, $(PKGSOURCE)))
+ with_separate_libgo := yes
+ with_standalone_go := yes
+ with_cc1 :=
+ with_libcc1 :=
+endif
+
+go_no_cpus := avr arm hppa sh4 m68k
+ifeq (,$(filter $(distrelease),lenny etch squeeze dapper hardy jaunty karmic lucid maverick natty oneiric))
+ go_no_cpus := $(filter-out arm, $(go_no_cpus))
+endif
+go_no_systems := kfreebsd
+
+ifneq ($(with_base_only),yes)
+ ifneq ($(separate_lang),yes)
+ with_go := yes
+ endif
+endif
+ifneq (,$(filter $(DEB_TARGET_ARCH_CPU),$(go_no_cpus)))
+ with_go := disabled for cpu $(DEB_TARGET_ARCH_CPU)
+endif
+ifneq (,$(findstring $(DEB_TARGET_ARCH_OS),$(go_no_systems)))
+ with_go := disabled for system $(DEB_TARGET_GNU_SYSTEM)
+endif
+ifeq ($(go_no_cross)-$(DEB_CROSS),yes-yes)
+ with_go := disabled for cross compiler package
+endif
+ifeq ($(DEB_STAGE)-$(filter libgo, $(with_rtlibs)),rtlibs-)
+ with_go := disabled for rtlibs stage
+endif
+with_go := $(call envfilt, go, , , $(with_go))
+
+# Build all packages needed for Go development
+ifneq (,$(findstring gcc, $(PKGSOURCE)))
+ ifeq ($(with_go),yes)
+ with_libgo := yes
+ enabled_languages += go
+ endif
+endif
+
+ifeq ($(with_go)-$(with_separate_libgo),yes-yes)
+ ifneq (,$(findstring gccgo, $(PKGSOURCE)))
+ languages := c c++ go
+ separate_lang := yes
+ with_libgcc := yes
+ with_shared_libgcc := yes
+ else
+ debian_extra_langs += go
+ with_go := built from separate source
+ with_libgo := buit from separate source
+ endif
+endif
+
+# BRIG ---------------------------
+
+with_brig := no
+ifneq (,$(filter $(DEB_TARGET_ARCH),amd64 i386 x32))
+ with_brig := yes
+endif
+with_brig := $(call envfilt, brig, , , $(with_brig))
+
+ifeq ($(with_brig),yes)
+ with_brigdev := yes
+ ifeq ($(with_common_libs),yes)
+ with_libhsailrt := yes
+ endif
+ enabled_languages += brig
+endif
+
+# D ---------------------------
+d_no_cross := yes
+d_no_snap := yes
+d_no_cpus := s390
+
+ifneq ($(single_package),yes)
+ with_separate_gdc := yes
+endif
+with_separate_gdc := no
+
+ifneq ($(separate_lang),yes)
+ with_d := yes
+endif
+
+ifneq (,$(filter $(DEB_TARGET_ARCH_CPU),$(d_no_cpus)))
+ with_d := disabled for cpu $(DEB_TARGET_ARCH_CPU)
+endif
+ifeq ($(d_no_snap)-$(single_package),yes-yes)
+ with_d := disabled for snapshot build
+endif
+ifeq ($(DEB_STAGE)-$(filter libphobos, $(with_rtlibs)),rtlibs-)
+ with_d := disabled for rtlibs stage
+endif
+ifeq ($(GENERATE_DFSG_TARBALL),yes)
+ with_d := disabled while generating the dfsg tarball
+endif
+with_d := $(call envfilt, d, , , $(with_d))
+#with_d := not yet built for GCC 8
+
+ifeq ($(with_base_only),yes)
+ with_d := no
+endif
+
+ifeq ($(with_d)-$(with_separate_gdc),yes-yes)
+ ifneq (,$(findstring gdc,$(PKGSOURCE)))
+ languages := c c++
+ separate_lang := yes
+
+ # FIXME: language selection needs improvement.
+ with_go := disabled for d
+ else
+ debian_extra_langs += d
+ with_d := built from separate source
+ endif
+endif
+
+ifeq ($(with_d),yes)
+ phobos_archs = amd64 arm64 armel armhf i386 x32 kfreebsd-amd64 kfreebsd-i386
+ ifneq (,$(filter $(DEB_TARGET_ARCH), $(phobos_archs)))
+ with_phobos := yes
+ endif
+
+ phobos_no_cpus := alpha avr arm64 hppa ia64 m68k \
+ mips mipsel mips64 mips64el mipsn32 mipsn32el \
+ mipsr6 mipsr6el mips64r6 mips64r6el mipsn32r6 mipsn32r6el \
+ powerpc powerpcspe ppc64 s390 s390x sh4 sparc sparc64
+ phobos_no_systems := gnu kfreebsd-gnu
+ ifneq (,$(filter $(DEB_TARGET_ARCH_CPU),$(phobos_no_cpus)))
+ with_phobos := disabled for cpu $(DEB_TARGET_ARCH_CPU)
+ endif
+ ifneq (,$(filter $(DEB_TARGET_GNU_SYSTEM),$(phobos_no_systems)))
+ with_phobos := disabled for system $(DEB_TARGET_GNU_SYSTEM)
+ endif
+ with_libphobosdev := $(with_phobos)
+
+ enabled_languages += d
+endif
+
+# Fortran 95 -------------------
+fortran_no_cross := yes
+fortran_no_cross := no
+
+ifneq ($(with_base_only),yes)
+ ifneq ($(separate_lang),yes)
+ with_fortran := yes
+ endif
+endif
+ifeq ($(fortran_no_cross)-$(DEB_CROSS),yes-yes)
+ with_fortran := disabled for cross compiler package
+endif
+ifeq ($(DEB_STAGE)-$(filter libgfortran libquadmath, $(with_rtlibs)),rtlibs-)
+ with_fortran := disabled for rtlibs stage
+endif
+
+with_fortran := $(call envfilt, fortran, , , $(with_fortran))
+
+# Build all packages needed for Fortran development
+ifeq ($(with_fortran),yes)
+ ifeq ($(with_dev),yes)
+ ifneq ($(DEB_STAGE)-$(filter libgfortran libquadmath, $(with_rtlibs)),rtlibs-)
+ with_fdev := yes
+ endif
+ endif
+ ifeq ($(with_common_libs),yes)
+ with_libgfortran := yes
+ endif
+ enabled_languages += fortran
+endif
+
+# libquadmath -------------------
+
+quadmath_targets = amd64 ia64 i386 x32 \
+ hurd-i386 kfreebsd-i386 kfreebsd-amd64 \
+ ppc64el
+# powerpc and ppc64 don't have power7 CPU defaults ...
+ifneq (,$(filter $(DEB_TARGET_ARCH), $(quadmath_targets)))
+ # FIXME: upstream build tied to gfortran build
+ ifeq ($(with_fortran),yes)
+ with_qmath := yes
+ ifneq (,$(findstring gcc-8,$(PKGSOURCE)))
+ ifeq ($(with_common_libs),yes)
+ with_libqmath := yes
+ endif
+ endif
+ endif
+endif
+
+# ObjC ------------------------
+objc_no_cross := no
+
+ifneq ($(with_base_only),yes)
+ ifneq ($(separate_lang),yes)
+ with_objc := yes
+ objc_no_archs =
+ ifneq (,$(filter $(DEB_TARGET_ARCH),$(objc_no_archs)))
+ with_objc :=
+ endif
+ endif
+endif
+ifeq ($(objc_no_cross)-$(DEB_CROSS),yes-yes)
+ with_objc := disabled for cross compiler package
+endif
+ifeq ($(DEB_STAGE)-$(filter libobjc, $(with_rtlibs)),rtlibs-)
+ with_objc := disabled for rtlibs stage
+endif
+with_objc := $(call envfilt, objc, obj-c++, , $(with_objc))
+
+ifeq ($(with_objc),yes)
+ # the ObjC runtime with garbage collection enabled needs the Boehm GC
+ with_objc_gc := yes
+
+ # disable ObjC garbage collection library (needs libgc)
+ libgc_no_cpus := arm64 avr mips mipsel # alpha amd64 arm armel armhf hppa i386 ia64 m68k mips mipsel powerpc ppc64 s390 s390x sparc
+ libgc_no_systems := knetbsd-gnu
+ ifneq (,$(filter $(DEB_TARGET_ARCH_CPU),$(libgc_no_cpus)))
+ with_objc_gc := disabled for cpu $(DEB_TARGET_ARCH_CPU)
+ endif
+ ifneq (,$(findstring $(DEB_TARGET_GNU_SYSTEM),$(libgc_no_systems)))
+ with_objc_gc := disabled for system $(DEB_TARGET_GNU_SYSTEM)
+ endif
+ ifneq (,$(findstring build-cross, $(build_type)))
+ with_objc_gc := disabled for cross builds
+ endif
+ # Build all packages needed for Objective-C development
+ ifeq ($(with_dev),yes)
+ with_objcdev := yes
+ endif
+ ifeq ($(with_common_libs),yes)
+ with_libobjc := yes
+ endif
+
+ enabled_languages += objc
+endif
+
+# ObjC++ ----------------------
+objcxx_no_cross := no
+
+ifeq ($(with_objc),yes)
+ ifneq ($(with_base_only),yes)
+ ifneq ($(separate_lang),yes)
+ with_objcxx := yes
+ endif
+ endif
+endif
+ifeq ($(objcxx_no_cross)-$(DEB_CROSS),yes-yes)
+ with_objcxx := disabled for cross compiler package
+endif
+with_objcxx := $(call envfilt, obj-c++, , c++ objc, $(with_objcxx))
+
+ifeq ($(with_objcxx),yes)
+ enabled_languages += obj-c++
+endif
+
+# -------------------------------------------------------------------
+# other config
+
+# not built from the main source package
+ifeq (,$(findstring gcc-,$(PKGSOURCE)))
+ extra_package := yes
+endif
+
+with_nls := yes
+ifeq ($(trunk_build),yes)
+ with_nls := no
+endif
+with_nls := $(call envfilt, nls, , , $(with_nls))
+
+# powerpc nof libraries -----
+with_libnof := no
+
+ifneq (,$(findstring gcc-8,$(PKGSOURCE)))
+ ifeq (,$(with_rtlibs))
+ with_source := yes
+ endif
+endif
+with_source := $(call envfilt, source, , , $(with_source))
+
+ifeq ($(with_cdev),yes)
+
+# ssp & libssp -------------------------
+with_ssp := yes
+ssp_no_archs = alpha hppa ia64 m68k
+ifneq (, $(filter $(DEB_TARGET_ARCH),$(ssp_no_archs) $(ssp_no_archs:%=uclibc-%)))
+ with_ssp := not available on $(DEB_TARGET_ARCH)
+endif
+with_ssp := $(call envfilt, ssp, , , $(with_ssp))
+
+ifeq ($(with_ssp),yes)
+ ifneq ($(derivative),Debian)
+ ifneq (,$(findstring gcc-8, $(PKGSOURCE)))
+ with_ssp_default := yes
+ endif
+ endif
+endif
+
+# gomp --------------------
+with_gomp := yes
+with_gomp := $(call envfilt, gomp, , , $(with_gomp))
+gomp_no_archs =
+ifneq (,$(filter $(DEB_TARGET_ARCH),$(gomp_no_archs)))
+ with_gomp :=
+endif
+
+# itm --------------------
+itm_archs = alpha amd64 arm64 i386 x32 ppc64 ppc64el s390x sh4 sparc64
+ifneq (,$(filter $(DEB_TARGET_ARCH),$(itm_archs)))
+ with_itm := yes
+endif
+with_itm := $(call envfilt, itm, , , $(with_itm))
+
+# atomic --------------------
+with_atomic := yes
+atomic_no_archs =
+ifneq (,$(filter $(DEB_TARGET_ARCH),$(atomic_no_archs)))
+ with_atomic :=
+endif
+
+# backtrace --------------------
+with_backtrace := yes
+backtrace_no_archs = m68k
+ifneq (,$(filter $(DEB_TARGET_ARCH),$(backtrace_no_archs)))
+ with_backtrace :=
+endif
+
+# asan / sanitizer --------------------
+with_asan :=
+with_asan := $(call envfilt, asan, , , $(with_asan))
+asan_archs = amd64 armel armhf arm64 i386 powerpc ppc64 ppc64el x32 \
+ s390x sparc sparc64
+ifneq (,$(filter $(DEB_TARGET_ARCH),$(asan_archs)))
+ with_asan := yes
+endif
+
+# lsan / sanitizer --------------------
+with_lsan :=
+with_lsan := $(call envfilt, lsan, , , $(with_lsan))
+lsan_archs = arm64 amd64 ppc64 ppc64el
+ifneq (,$(filter $(DEB_TARGET_ARCH),$(lsan_archs)))
+ with_lsan := yes
+endif
+
+# tsan / sanitizer --------------------
+with_tsan :=
+with_tsan := $(call envfilt, tsan, , , $(with_tsan))
+tsan_archs = arm64 amd64 ppc64 ppc64el
+ifneq (,$(filter $(DEB_TARGET_ARCH),$(tsan_archs)))
+ with_tsan := yes
+endif
+
+endif # with_cdev
+
+# ubsan / sanitizer --------------------
+with_ubsan :=
+with_ubsan := $(call envfilt, ubsan, , , $(with_ubsan))
+ubsan_archs = amd64 armel armhf arm64 i386 powerpc ppc64 ppc64el x32 \
+ s390x sparc sparc64
+ifneq (,$(filter $(DEB_TARGET_ARCH),$(ubsan_archs)))
+ with_ubsan := yes
+endif
+
+# libvtv --------------------
+with_vtv :=
+with_vtv := $(call envfilt, vtv, , , $(with_vtv))
+vtv_archs = amd64 i386 x32
+ifneq (,$(filter $(DEB_TARGET_ARCH),$(vtv_archs)))
+ with_vtv := yes
+ with_libvtv := yes
+endif
+# libvtv builds a modified libstdc++, don't enable it by default
+with_vtv :=
+with_libvtv :=
+
+# libmpx --------------------
+with_mpx :=
+with_mpx := $(call envfilt, mpx, , , $(with_mpx))
+mpx_archs = amd64 i386
+ifneq (,$(filter $(DEB_TARGET_ARCH),$(mpx_archs)))
+ # requires newer binutils, or else libmpxwrappers isn't built
+ ifeq (,$(filter $(distrelease),squeeze lucid precise))
+ with_mpx := yes
+ ifneq (,$(findstring gcc-, $(PKGSOURCE)))
+ with_libmpx := yes
+ endif
+ endif
+endif
+
+# pie by default --------------------
+with_pie :=
+ifeq ($(distribution),Debian)
+ ifeq (,$(filter $(distrelease),wheezy squeeze jessie))
+ pie_archs = amd64 arm64 armel armhf i386 \
+ mips mipsel mips64 mips64el mipsn32 mipsn32el \
+ mipsr6 mipsr6el mips64r6 mips64r6el mipsn32r6 mipsn32r6el \
+ ppc64el s390x sparc sparc64 kfreebsd-amd64 kfreebsd-i386 \
+ hurd-i386 riscv64
+ endif
+ ifeq (,$(filter $(distrelease),wheezy squeeze jessie stretch))
+ pie_archs += powerpc ppc64
+ endif
+else ifeq ($(distribution),Ubuntu)
+ ifeq (,$(filter $(distrelease),lucid precise trusty utopic vivid wily))
+ pie_archs = s390x
+ endif
+ ifeq (,$(filter $(distrelease),lucid precise trusty utopic vivid wily xenial))
+ pie_archs += amd64 ppc64el
+ endif
+ ifeq (,$(filter $(distrelease),lucid precise trusty utopic vivid wily xenial yakkety zesty))
+ pie_archs += armhf arm64 i386
+ endif
+endif
+ifneq (,$(filter $(DEB_TARGET_ARCH),$(pie_archs)))
+ with_pie := yes
+endif
+ifeq ($(trunk_build),yes)
+ with_pie := disabled for trunk builds
+endif
+
+# gold --------------------
+# armel with binutils 2.20.51 only
+gold_archs = amd64 armel armhf i386 powerpc powerpcspe ppc64 ppc64el s390x sparc sparc64 x32 hurd-i386
+ifneq (,$(filter $(DEB_TARGET_ARCH),$(gold_archs)))
+ with_gold := yes
+endif
+
+# plugins --------------------
+with_plugins := yes
+ifneq (,$(with_rtlibs))
+ with_plugins := disabled for rtlibs stage
+endif
+
+endif # ifeq (,$(filter $(DEB_STAGE),stage1 stage2))
+
+# Don't include docs with GFDL invariant sections
+GFDL_INVARIANT_FREE := yes
+ifeq ($(derivative),Ubuntu)
+ GFDL_INVARIANT_FREE := no
+endif
+
+# -------------------------------------------------------------------
+# non-extra config
+ifeq ($(extra_package),yes)
+ ifeq ($(with_separate_libgo),yes)
+ # package stuff
+ with_gccbase := yes
+ with_cdev := no
+ with_cxx := no
+ with_cxxdev := no
+ endif
+else
+ # libssp ------------------
+ ifeq ($(with_ssp)-$(with_common_libs),yes-yes)
+ #ifneq ($(DEB_CROSS),yes)
+ with_libssp := $(if $(wildcard $(builddir)/gcc/auto-host.h),$(shell if grep -qs '^\#define TARGET_LIBC_PROVIDES_SSP 1' $(builddir)/gcc/auto-host.h; then echo 'libc provides ssp'; else echo 'yes'; fi))
+ #endif
+ with_libssp := libc provides ssp
+ endif
+
+ # libgomp -----------------
+ ifeq ($(with_gomp)-$(with_common_libs),yes-yes)
+ with_libgomp := yes
+ endif
+
+ # libitm -----------------
+ ifeq ($(with_itm)-$(with_common_libs),yes-yes)
+ with_libitm := yes
+ endif
+
+ # libatomic -----------------
+ ifeq ($(with_atomic)-$(with_common_libs),yes-yes)
+ with_libatomic := yes
+ endif
+
+ # libbacktrace -----------------
+ ifeq ($(with_backtrace)-$(with_common_libs),yes-yes)
+ # currently not a shared library
+ #with_libbacktrace := yes
+ endif
+
+ # libasan -----------------
+ ifeq ($(with_asan)-$(with_common_libs),yes-yes)
+ ifeq ($(with_asan),yes)
+ with_libasan := yes
+ endif
+ endif
+
+ # liblsan -----------------
+ ifeq ($(with_lsan)-$(with_common_libs),yes-yes)
+ #ifneq ($(DEB_CROSS),yes)
+ with_liblsan := yes
+ #endif
+ endif
+
+ # libtsan -----------------
+ ifeq ($(with_tsan)-$(with_common_libs),yes-yes)
+ with_libtsan := yes
+ endif
+
+ # libubsan -----------------
+ ifeq ($(with_ubsan)-$(with_common_libs),yes-yes)
+ ifeq ($(with_ubsan),yes)
+ with_libubsan := yes
+ endif
+ endif
+
+ # libvtv -----------------
+ ifeq ($(with_vtv)-$(with_common_libs),yes-yes)
+ with_libvtv := yes
+ endif
+
+ # libquadmath -----------------
+ ifeq ($(with_qmath)-$(with_common_libs),yes-yes)
+ with_libqmath := yes
+ endif
+
+ # fixincludes -------
+ ifneq ($(DEB_CROSS),yes)
+ ifeq ($(with_common_pkgs),yes)
+ with_fixincl := yes
+ endif
+ endif
+
+ # libunwind -----------------
+ with_internal_libunwind =
+ ifeq ($(DEB_HOST_ARCH),ia64)
+ ifeq ($(DEB_STAGE),stage1)
+ ifeq ($(DEB_CROSS),yes)
+ with_internal_libunwind = yes
+ endif
+ endif
+ endif
+
+ # Shared libgcc --------------------
+ ifneq ($(DEB_STAGE),stage1)
+ with_shared_libgcc := yes
+ ifeq ($(with_common_libs),yes)
+ with_libgcc := yes
+ endif
+ endif
+
+ # libphobos -----------------
+ ifeq ($(with_phobos)-$(with_common_libs),yes-yes)
+ ifeq ($(with_common_libs),yes)
+ with_libphobos := yes
+ endif
+ endif
+
+ # libgcc-math --------------------
+ with_libgmath := no
+ ifneq (,$(findstring i486,$(DEB_TARGET_ARCH)))
+ #with_libgccmath := yes
+ #with_lib64gmath := yes
+ #with_libgmathdev := yes
+ endif
+ ifeq ($(DEB_TARGET_ARCH),amd64)
+ #with_libgccmath := yes
+ #with_lib32gmath := yes
+ #with_libgmathdev := yes
+ endif
+
+ # hppa64 build ----------------
+ hppa64_no_snap := no
+ hppa64_archs := hppa
+ ifneq (,$(filter $(build_type), build-native cross-build-native))
+ ifneq (,$(filter $(distrelease),wheezy squeeze jessie lucid precise trusty utopic vivid wily))
+ binutils_hppa64 := binutils-hppa64
+ else
+ ifneq ($(single_package),yes)
+ hppa64_archs += amd64 i386 x32
+ endif
+ binutils_hppa64 := binutils-hppa64-linux-gnu
+ endif
+ ifneq (,$(filter $(DEB_TARGET_ARCH),$(hppa64_archs)))
+ with_hppa64 := yes
+ endif
+ endif
+ ifeq ($(hppa64_no_snap)-$(trunk_build),yes-yes)
+ with_hppa64 := disabled for snapshot build
+ endif
+ with_hppa64 := $(call envfilt, hppa64, , , $(with_hppa64))
+
+ ifeq ($(DEB_STAGE),rtlibs)
+ with_libatomic := disabled for rtlibs stage
+ with_libasan := disabled for rtlibs stage
+ with_liblsan := disabled for rtlibs stage
+ with_libtsan := disabled for rtlibs stage
+ with_libubsan := disabled for rtlibs stage
+ with_fixincl := disabled for rtlibs stage
+ with_hppa64 := disabled for rtlibs stage
+ endif
+
+ # neon build -------------------
+ # FIXME: build as a cross compiler to build on armv4 as well
+ ifneq (,$(findstring gcc-8, $(PKGSOURCE)))
+ ifeq ($(derivative),Ubuntu)
+# neon_archs = armel armhf
+# ifneq (, $(filter $(DEB_TARGET_ARCH),$(neon_archs)))
+# with_neon = yes
+# endif
+ endif
+ endif
+endif
+
+# run testsuite ---------------
+with_check := yes
+# if you don't want to run the gcc testsuite, uncomment the next line
+#with_check := disabled by hand
+ifeq ($(with_base_only),yes)
+ with_check := no
+endif
+ifeq ($(DEB_CROSS),yes)
+ with_check := disabled for cross compiler package
+endif
+ifneq (,$(findstring cross-build-,$(build_type)))
+ with_check := disabled for cross building the compiler
+endif
+ifneq (,$(with_rtlibs))
+ with_check := disabled for rtlibs stage
+endif
+check_no_cpus := m68k
+check_no_systems := gnu kfreebsd-gnu
+ifneq (,$(filter $(DEB_TARGET_ARCH_CPU),$(check_no_cpus)))
+ with_check := disabled for cpu $(DEB_TARGET_ARCH_CPU)
+endif
+ifneq (,$(findstring $(DEB_TARGET_GNU_SYSTEM),$(check_no_systems)))
+ with_check := disabled for system $(DEB_TARGET_GNU_SYSTEM)
+endif
+ifeq ($(derivative)-$(DEB_HOST_ARCH),Ubuntu-hppa)
+ ifneq ($(single_package),yes)
+ with_check := disabled, testsuite timeouts with expect
+ endif
+endif
+ifneq (,$(findstring gdc,$(PKGSOURCE)))
+ with_check := disabled for D
+endif
+with_check := $(call envfilt, check, , , $(with_check))
+ifdef WITHOUT_CHECK
+ with_check := disabled by environment
+endif
+ifneq ($(findstring nocheck, $(DEB_BUILD_OPTIONS)),)
+ with_check := disabled by DEB_BUILD_OPTIONS
+endif
+ifneq (,$(filter $(DEB_HOST_ARCH), hppa mips))
+ ifneq ($(single_package),yes)
+ with_check := disabled for $(DEB_HOST_ARCH), testsuite timeouts with expect
+ endif
+endif
+#with_check := disabled for this upload
+
+# not a dependency on all archs, but if available, use it for the testsuite
+ifneq (,$(wildcard /usr/bin/localedef))
+ locale_data = generate
+endif
+# try to b-d on locales-all
+locale_data =
+
+ifneq (,$(filter $(build_type), build-cross cross-build-cross))
+ ldconfig_arg = --noscripts
+endif
+
+all_enabled_languages := $(enabled_languages)
+languages_without_lang_opt := c++ objc obj-c++
+
+debian_extra_langs := $(subst obj-c++,objcp,$(debian_extra_langs))
+export debian_extra_langs
+
+# multilib
+biarch_map := i686=x86_64 powerpc=powerpc64 sparc=sparc64 sparc64=sparc s390=s390x s390x=s390 \
+ x86_64=i686 powerpc64=powerpc mips=mips64 mipsel=mips64el \
+ mips64=mips mips64el=mipsel mipsn32=mips mipsn32el=mipsel \
+ mipsr6=mips64r6 mipsr6el=mips64r6el mips64r6=mipsr6 mips64r6el=mipsr6el \
+ mipsn32r6=mipsr6 mipsn32r6el=mipsr6el
+ifneq (,$(filter $(derivative),Ubuntu))
+ ifeq (,$(filter $(distrelease),dapper hardy jaunty karmic lucid))
+ biarch_map := $(subst i686=,i486=,$(biarch_map))
+ endif
+else # Debian
+ biarch_map := $(subst i686=,i486=,$(biarch_map))
+endif
+
+ifeq ($(derivative),Ubuntu)
+ ifeq (,$(filter $(distrelease),dapper hardy jaunty karmic lucid maverick natty))
+ biarch_map += arm=arm
+ endif
+endif
+biarch_cpu := $(strip $(patsubst $(DEB_TARGET_GNU_CPU)=%,%, \
+ $(filter $(DEB_TARGET_GNU_CPU)=%,$(biarch_map))))
+
+biarch64 := no
+biarch32 := no
+biarchn32 := no
+biarchx32 := no
+biarchhf := no
+biarchsf := no
+flavours :=
+define gen_biarch
+ ifneq (yes,$$(call envfilt, biarch, , ,yes))
+ biarch$1archs :=
+ endif
+ ifneq (,$$(findstring /$$(DEB_TARGET_ARCH)/,$$(biarch$1archs)))
+ biarch$1 := yes
+ flavours += $1
+ #biarch$1subdir = $$(biarch_cpu)-$$(DEB_TARGET_GNU_SYSTEM)
+ biarch$1subdir = $1
+ ifeq ($$(with_libgcc),yes)
+ with_lib$1gcc := yes
+ endif
+ ifeq ($$(with_cdev),yes)
+ with_lib$1gccdev := yes
+ endif
+ ifeq ($$(with_libcxx),yes)
+ with_lib$1cxx := yes
+ endif
+ ifeq ($$(with_libcxxdbg),yes)
+ with_lib$1cxxdbg := yes
+ endif
+ ifeq ($$(with_cxxdev),yes)
+ with_lib$1cxxdev := yes
+ endif
+ ifeq ($$(with_libobjc),yes)
+ with_lib$1objc := yes
+ endif
+ ifeq ($$(with_objcdev),yes)
+ with_lib$1objcdev := yes
+ endif
+ ifeq ($$(with_libgfortran),yes)
+ with_lib$1gfortran := yes
+ endif
+ ifeq ($$(with_fdev),yes)
+ with_lib$1gfortrandev := yes
+ endif
+ ifeq (,$(filter $1, hf))
+ ifeq ($$(with_libphobos),yes)
+ with_lib$1phobos := yes
+ endif
+ ifeq ($$(with_libphobosdev),yes)
+ with_lib$1phobosdev := yes
+ endif
+ endif
+ ifeq ($$(with_libssp),yes)
+ with_lib$1ssp := yes
+ endif
+ ifeq ($$(with_libgomp),yes)
+ with_lib$1gomp:= yes
+ endif
+ ifeq ($$(with_libitm),yes)
+ with_lib$1itm:= yes
+ endif
+ ifeq ($$(with_libatomic),yes)
+ with_lib$1atomic:= yes
+ endif
+ ifeq ($$(with_libbacktrace),yes)
+ with_lib$1backtrace:= yes
+ endif
+ ifeq ($$(with_libasan),yes)
+ with_lib$1asan:= yes
+ endif
+ ifeq ($$(with_liblsan),yes)
+ with_lib$1lsan := yes
+ endif
+ ifeq ($$(with_libtsan),yes)
+ with_lib$1tsan:= yes
+ endif
+ ifeq ($$(with_libubsan),yes)
+ with_lib$1ubsan := yes
+ endif
+ ifeq ($$(with_libvtv),yes)
+ with_lib$1vtv := yes
+ endif
+ ifeq ($$(with_libmpx),yes)
+ ifneq (,$(filter $1, 32 64))
+ with_lib$1mpx := yes
+ endif
+ endif
+ ifeq ($$(with_libqmath),yes)
+ with_lib$1qmath := yes
+ endif
+ ifeq ($$(with_libgo),yes)
+ with_lib$1go := yes
+ endif
+ ifeq ($$(with_libhsailrt),yes)
+ with_lib$1hsailrt := yes
+ endif
+
+ biarch_multidir_names = libiberty libgcc libbacktrace libatomic libgomp
+ ifneq (,$$(findstring gcc-, $$(PKGSOURCE)))
+ biarch_multidir_names += libstdc++-v3 libobjc libgfortran libssp \
+ zlib libitm libmpx \
+ libsanitizer
+ ifeq ($$(with_objc_gc),yes)
+ biarch_multidir_names += boehm-gc
+ endif
+ endif
+ ifneq (,$(findstring yes, $(with_go)))
+ biarch_multidir_names += libffi
+ endif
+ ifeq ($(with_fortran),yes)
+ biarch_multidir_names += libquadmath
+ endif
+ ifeq ($(with_go),yes)
+ biarch_multidir_names += libgo
+ endif
+ ifeq ($(with_brig),yes)
+ biarch_multidir_names += libhsail-rt
+ endif
+ ifeq ($(with_phobos),yes)
+ ifeq (,$(filter $1, hf))
+ biarch_multidir_names += libphobos
+ endif
+ endif
+ ifneq (,$$(findstring 32,$1))
+ TARGET64_MACHINE := $$(strip $$(subst $$(DEB_TARGET_GNU_CPU),$$(biarch_cpu), \
+ $$(TARGET_ALIAS)))
+ TARGET32_MACHINE := $$(TARGET_ALIAS)
+ else
+ TARGET64_MACHINE := $$(TARGET_ALIAS)
+ TARGET64_MACHINE := $$(strip $$(subst $$(DEB_TARGET_GNU_CPU),$$(biarch_cpu), \
+ $$(TARGET_ALIAS)))
+ endif
+ export TARGET32_MACHINE
+ export TARGET64_MACHINE
+ endif
+endef
+biarch32archs := /amd64/ppc64/kfreebsd-amd64/s390x/sparc64/x32/mipsn32/mipsn32el/mips64/mips64el/
+biarch64archs := /i386/powerpc/sparc/s390/mips/mipsel/mipsn32/mipsn32el/
+biarchn32archs := /mips/mipsel/mips64/mips64el/
+ifeq (yes,$(MIPS_R6_ENABLED))
+ biarch32archs += /mipsn32r6/mipsn32r6el/mips64r6/mips64r6el/
+ biarch64archs += /mipsr6/mipsr6el/mipsn32r6/mipsn32r6el/x32/
+ biarchn32archs += /mipsr6/mipsr6el/mips64r6/mips64r6el/
+endif
+
+ifeq ($(derivative),Ubuntu)
+ ifeq (,$(filter $(distrelease),dapper hardy jaunty karmic lucid maverick natty artful))
+ biarchhfarchs := /armel/
+ biarchsfarchs := /armhf/
+ endif
+ ifeq (,$(filter $(distrelease),dapper hardy jaunty karmic lucid maverick natty oneiric precise quantal))
+ biarchx32archs := /amd64/i386/
+ endif
+endif
+ifeq ($(derivative),Debian)
+ ifeq (,$(filter $(distrelease),etch squeeze wheezy))
+ biarchx32archs := /amd64/i386/
+ endif
+endif
+$(foreach x,32 64 n32 x32 hf sf,$(eval $(call gen_biarch,$(x))))
+
+ifeq ($(DEB_TARGET_ARCH),sh4)
+ biarch_multidir_names=none
+endif
+export biarch_multidir_names
+
+#ifeq ($(trunk_build),yes)
+# no_biarch_libs := yes
+#endif
+no_biarch_libs :=
+
+ifeq ($(no_biarch_libs),yes)
+ with_lib64gcc := no
+ with_lib64cxx := no
+ with_lib64cxxdbg := no
+ with_lib64objc := no
+ with_lib64ffi := no
+ with_lib64gfortran := no
+ with_lib64ssp := no
+ with_lib64go := no
+ with_lib64gomp := no
+ with_lib64itm := no
+ with_lib64qmath := no
+ with_lib64atomic := no
+ with_lib64backtrace := no
+ with_lib64asan := no
+ with_lib64lsan := no
+ with_lib64tsan := no
+ with_lib64ubsan := no
+ with_lib64vtv := no
+ with_lib64mpx := no
+ with_lib64gccdev := no
+ with_lib64cxxdev := no
+ with_lib64objcdev := no
+ with_lib64gfortrandev := no
+ with_lib64phobosdev := no
+ with_lib64hsailrtdev := no
+
+ with_lib32gcc := no
+ with_lib32cxx := no
+ with_lib32cxxdbg := no
+ with_lib32objc := no
+ with_lib32ffi := no
+ with_lib32gfortran := no
+ with_lib32ssp := no
+ with_lib32go := no
+ with_lib32gomp := no
+ with_lib32itm := no
+ with_lib32qmath := no
+ with_lib32atomic := no
+ with_lib32backtrace := no
+ with_lib32asan := no
+ with_lib32lsan := no
+ with_lib32tsan := no
+ with_lib32ubsan := no
+ with_lib32vtv := no
+ with_lib32mpx := no
+ with_lib32gccdev := no
+ with_lib32cxxdev := no
+ with_lib32objcdev := no
+ with_lib32gfortrandev := no
+ with_lib32phobosdev := no
+ with_lib32hsailrtdev := no
+
+ with_libn32gcc := no
+ with_libn32cxx := no
+ with_libn32cxxdbg := no
+ with_libn32objc := no
+ with_libn32ffi := no
+ with_libn32gfortran := no
+ with_libn32ssp := no
+ with_libn32go := no
+ with_libn32gomp := no
+ with_libn32itm := no
+ with_libn32qmath := no
+ with_libn32atomic := no
+ with_libn32backtrace := no
+ with_libn32asan := no
+ with_libn32lsan := no
+ with_libn32tsan := no
+ with_libn32ubsan := no
+ with_libn32gccdev := no
+ with_libn32cxxdev := no
+ with_libn32objcdev := no
+ with_libn32gfortrandev:= no
+ with_libn32phobosdev := no
+ with_libn32hsailrtdev := no
+
+ with_libx32gcc := no
+ with_libx32cxx := no
+ with_libx32cxxdbg := no
+ with_libx32objc := no
+ with_libx32ffi := no
+ with_libx32gfortran := no
+ with_libx32ssp := no
+ with_libx32go := no
+ with_libx32gomp := no
+ with_libx32itm := no
+ with_libx32qmath := no
+ with_libx32atomic := no
+ with_libx32backtrace := no
+ with_libx32asan := no
+ with_libx32lsan := no
+ with_libx32tsan := no
+ with_libx32ubsan := no
+ with_libx32vtv := no
+ with_libx32gccdev := no
+ with_libx32cxxdev := no
+ with_libx32objcdev := no
+ with_libx32gfortrandev:= no
+ with_libx32phobosdev := no
+ with_libx32hsailrtdev := no
+
+ with_libhfgcc := no
+ with_libhfcxx := no
+ with_libhfcxxdbg := no
+ with_libhfobjc := no
+ with_libhfffi := no
+ with_libhfgfortran := no
+ with_libhfssp := no
+ with_libhfgo := no
+ with_libhfgomp := no
+ with_libhfitm := no
+ with_libhfqmath := no
+ with_libhfatomic := no
+ with_libhfbacktrace := no
+ with_libhfasan := no
+ with_libhflsan := no
+ with_libhftsan := no
+ with_libhfubsan := no
+ with_libhfgccdev := no
+ with_libhfcxxdev := no
+ with_libhfobjcdev := no
+ with_libhfgfortrandev := no
+ with_libhfphobosdev := no
+ with_libhfhsailrtdev := no
+
+ with_libsfgcc := no
+ with_libsfcxx := no
+ with_libsfcxxdbg := no
+ with_libsfobjc := no
+ with_libsfffi := no
+ with_libsfgfortran := no
+ with_libsfssp := no
+ with_libsfgo := no
+ with_libsfgomp := no
+ with_libsfitm := no
+ with_libsfqmath := no
+ with_libsfatomic := no
+ with_libsfbacktrace := no
+ with_libsfasan := no
+ with_libsflsan := no
+ with_libsftsan := no
+ with_libsfubsan := no
+ with_libsfgccdev := no
+ with_libsfcxxdev := no
+ with_libsfobjcdev := no
+ with_libsfgfortrandev := no
+ with_libsfphobosdev := no
+ with_libsfhsailrtdev := no
+
+ ifeq ($(with_ada)-$(with_separate_gnat),yes-yes)
+ biarchhf := disabled for Ada
+ biarchsf := disabled for Ada
+ endif
+
+endif
+
+ifneq (,$(filter yes,$(biarch32) $(biarch64) $(biarchn32) $(biarchx32) $(biarchhf) $(biarchsf)))
+ multilib := yes
+endif
+
+multilib_archs = $(sort $(subst /, , $(biarch64archs) $(biarch32archs) $(biarchn32archs) $(biarchx32archs) $(biarchhfarchs) $(biarchsfarchs)))
+
+biarchsubdirs := \
+ $(if $(filter yes,$(biarch64)),$(biarch64subdir),) \
+ $(if $(filter yes,$(biarch32)),$(biarch32subdir),) \
+ $(if $(filter yes,$(biarchn32)),$(biarchn32subdir),) \
+ $(if $(filter yes,$(biarchx32)),$(biarchx32subdir),) \
+ $(if $(filter yes,$(biarchhf)),$(biarchhfsubdir),) \
+ $(if $(filter yes,$(biarchsf)),$(biarchsfsubdir),)
+biarchsubdirs := {$(strip $(shell echo $(biarchsubdirs) | tr " " ","))}
+
+# GNU locales
+force_gnu_locales := yes
+locale_no_cpus :=
+locale_no_systems :=
+ifneq (,$(findstring $(DEB_TARGET_GNU_SYSTEM),$(locale_no_systems)))
+ force_gnu_locales := disabled for system $(DEB_TARGET_GNU_SYSTEM)
+endif
+
+gcc_tarpath := $(firstword $(wildcard gcc-*.tar.* /usr/src/gcc-8/gcc-*.tar.*))
+gcc_tarball := $(notdir $(gcc_tarpath))
+gcc_srcdir := $(subst -dfsg,,$(patsubst %.tar.xz,%,$(patsubst %.tar.lzma,%,$(patsubst %.tar.gz,%,$(gcc_tarball:.tar.bz2=)))))
+
+ifeq ($(with_d),yes)
+ gdc_tarpath := $(firstword $(wildcard gdc-*.tar.* /usr/src/gcc-$(BASE_VERSION)/gdc-*.tar.*))
+ gdc_tarball := $(notdir $(gdc_tarpath))
+ gdc_srcdir := $(patsubst %.tar.xz,%,$(patsubst %.tar.lzma,%,$(patsubst %.tar.gz,%,$(gdc_tarball:.tar.bz2=))))
+endif
+
+ifeq ($(with_offload_nvptx),yes)
+ nl_nvptx_tarpath := $(firstword $(wildcard newlib-*.tar.* /usr/src/gcc-$(BASE_VERSION)/newlib-*.tar.*))
+ nl_nvptx_tarball := $(notdir $(nl_nvptx_tarpath))
+ nl_nvptx_srcdir := $(patsubst %.tar.xz,%,$(patsubst %.tar.lzma,%,$(patsubst %.tar.gz,%,$(nl_nvptx_tarball:.tar.bz2=))))
+endif
+
+# NOTE: This is not yet used. when building gdc or gnat using the
+# gcc-source package, we don't require an exact binary dependency.
+ifneq ($(dir $(gcc_tarpath)),./)
+ built_using_external_source := yes
+else
+ built_using_external_source :=
+endif
+ifeq ($(DEB_CROSS),yes)
+ add_built_using = yes
+endif
+ifeq ($(with_ada)-$(with_separate_gnat),yes-yes)
+ add_built_using = yes
+endif
+
+unpack_stamp := $(stampdir)/01-unpack-stamp
+pre_patch_stamp := $(stampdir)/02-pre-patch-stamp
+patch_stamp := $(stampdir)/02-patch-stamp
+control_stamp := $(stampdir)/03-control-stamp
+configure_stamp := $(stampdir)/04-configure-stamp
+build_stamp := $(stampdir)/05-build-stamp
+build_arch_stamp := $(stampdir)/05-build-arch-stamp
+build_indep_stamp := $(stampdir)/05-build-indep-stamp
+build_html_stamp := $(stampdir)/05-build-html-stamp
+build_locale_stamp := $(stampdir)/05-build-locale-stamp
+build_doxygen_stamp := $(stampdir)/05-build-doxygen-stamp
+build_gnatdoc_stamp := $(stampdir)/05-build-gnatdoc-stamp
+check_stamp := $(stampdir)/06-check-stamp
+check_inst_stamp := $(stampdir)/06-check-inst-stamp
+install_stamp := $(stampdir)/07-install-stamp
+install_snap_stamp := $(stampdir)/07-install-snap-stamp
+binary_stamp := $(stampdir)/08-binary-stamp
+
+configure_dummy_stamp := $(stampdir)/04-configure-dummy-stamp
+build_dummy_stamp := $(stampdir)/05-build-dummy-stamp
+install_dummy_stamp := $(stampdir)/07-install-dummy-stamp
+
+configure_jit_stamp := $(stampdir)/04-configure-jit-stamp
+build_jit_stamp := $(stampdir)/05-build-jit-stamp
+install_jit_stamp := $(stampdir)/07-install-jit-stamp
+
+configure_nvptx_stamp := $(stampdir)/04-configure-nvptx-stamp
+build_nvptx_stamp := $(stampdir)/05-build-nvptx-stamp
+install_nvptx_stamp := $(stampdir)/07-install-nvptx-stamp
+
+configure_hppa64_stamp := $(stampdir)/04-configure-hppa64-stamp
+build_hppa64_stamp := $(stampdir)/05-build-hppa64-stamp
+install_hppa64_stamp := $(stampdir)/07-install-hppa64-stamp
+
+configure_neon_stamp := $(stampdir)/04-configure-neon-stamp
+build_neon_stamp := $(stampdir)/05-build-neon-stamp
+install_neon_stamp := $(stampdir)/07-install-neon-stamp
+
+control_dependencies := $(patch_stamp)
+
+ifeq ($(single_package),yes)
+ configure_dependencies = $(configure_stamp)
+ build_dependencies = $(build_stamp)
+ install_dependencies = $(install_snap_stamp)
+ ifeq ($(with_check),yes)
+ check_dependencies += $(check_stamp)
+ endif
+else
+ ifeq ($(with_base_only),yes)
+ configure_dependencies = $(configure_dummy_stamp)
+ build_dependencies = $(build_dummy_stamp)
+ install_dependencies = $(install_dummy_stamp)
+ else
+ configure_dependencies = $(configure_stamp)
+ build_dependencies = $(build_stamp)
+ install_dependencies = $(install_stamp)
+ ifeq ($(with_check),yes)
+ check_dependencies += $(check_stamp)
+ endif
+ endif
+endif
+
+ifeq ($(with_jit),yes)
+ build_dependencies += $(build_jit_stamp)
+ install_dependencies += $(install_jit_stamp)
+endif
+
+ifeq ($(with_offload_nvptx),yes)
+ build_dependencies += $(build_nvptx_stamp)
+ install_dependencies += $(install_nvptx_stamp)
+endif
+
+ifeq ($(with_neon),yes)
+ build_dependencies += $(build_neon_stamp)
+ install_dependencies += $(install_neon_stamp)
+endif
+
+ifeq ($(with_hppa64),yes)
+ build_dependencies += $(build_hppa64_stamp)
+ ifneq ($(trunk_build),yes)
+ install_dependencies += $(install_hppa64_stamp)
+ endif
+endif
+
+build_dependencies += $(check_dependencies)
+
+build_arch_dependencies = $(build_dependencies)
+build_indep_dependencies = $(build_dependencies)
+
+ifneq (,$(findstring build-native, $(build_type)))
+ ifneq ($(single_package),yes)
+ build_indep_dependencies += $(build_html_stamp)
+ ifeq ($(with_cxx),yes)
+ build_indep_dependencies += $(build_doxygen_stamp)
+ endif
+ ifeq ($(with_ada),yes)
+ build_indep_dependencies += $(build_gnatdoc_stamp)
+ endif
+ endif
+endif
+
+stamp-dir:
+ mkdir -p $(stampdir)
+
+ifeq ($(DEB_CROSS),yes)
+ define cross_mangle_shlibs
+ if [ -f debian/$(1)/DEBIAN/shlibs ]; then \
+ sed -i s/$(cross_lib_arch)/:$(DEB_TARGET_ARCH)/g debian/$(1)/DEBIAN/shlibs; \
+ fi
+ endef
+ define cross_mangle_substvars
+ if [ -f debian/$(1).substvars ]; then \
+ sed -i \
+ -e 's/:$(DEB_TARGET_ARCH)/$(cross_lib_arch)/g' \
+ -e 's/\(libc[.0-9]*-[^:]*\):\([a-z0-9-]*\)/\1-\2-cross/g' \
+ $(if $(filter armel,$(DEB_TARGET_ARCH)),-e 's/:armhf/-armhf-cross/g') \
+ $(if $(filter armhf,$(DEB_TARGET_ARCH)),-e 's/:armel/-armel-cross/g') \
+ debian/$(1).substvars; \
+ fi
+ endef
+else
+ define cross_mangle_shlibs
+ endef
+ define cross_mangle_substvars
+ endef
+ # precise's dh_shlibdeps doesn't work well for ARM multilibs
+ # and dh_shlibdeps doesn't work well for cross builds, see #698881.
+ ifneq (,$(filter $(distrelease),precise quantal raring))
+ ifneq (,$(filter $(DEB_TARGET_ARCH), armel armhf arm64))
+ ignshld = -
+ endif
+ endif
+ # FIXME: don't stop at the first shlibdeps failure ...
+ ignshld = -
+endif
+ifeq ($(DEB_STAGE),rtlibs)
+ define cross_mangle_shlibs
+ endef
+ define cross_mangle_substvars
+ endef
+endif
+
+# takes a *list* of package names as $1, the multilib dirname as $2
+_shlibdirs = \
+ $(if $(strip $(1)), \
+ $(shell find $(foreach p,$(1),$(CURDIR)/debian/$(p)) \
+ -name '*.so.*' -printf '%h ' | uniq)) \
+ $(with_build_sysroot)/lib/$(call mlib_to_march,$(2)) \
+ $(with_build_sysroot)/usr/lib/$(call mlib_to_march,$(2)) \
+ $(with_build_sysroot)$(subst /usr,,/$(usr_lib$(2))) \
+ $(with_build_sysroot)/$(usr_lib$(2)) \
+ $(if $(findstring mips64,$(DEB_TARGET_ARCH)), \
+ $(with_build_sysroot)/$(usr_lib64)) \
+ $(if $(findstring mipsn32,$(DEB_TARGET_ARCH)), \
+ $(with_build_sysroot)/$(usr_libn32)) \
+ $(if $(filter yes,$(biarchsf) $(biarchhf)), \
+ $(with_build_sysroot)/usr/$(call mlib_to_march,$(2))/lib) \
+ $(if $(filter yes, $(with_common_libs)),, \
+ $(CURDIR)/$(d)/$(usr_lib$(2)) \
+ $(CURDIR)/$(d)/usr/$(call mlib_to_march,$(2))/lib)
+shlibdirs_to_search = -l$(subst $(SPACE),:,$(foreach d,$(_shlibdirs),$(d)))
--- /dev/null
+# configuration parameters taken from upstream source files
+GCC_VERSION := 8.3.0
+NEXT_GCC_VERSION := 8.3.1
+BASE_VERSION := 8
+SOURCE_VERSION := 8.3.0-4
+DEB_VERSION := 8.3.0-4
+DEB_EVERSION := 1:8.3.0-4
+DEB_GDC_VERSION := 8.3.0-4
+DEB_SOVERSION := 5
+DEB_SOEVERSION := 1:5
+DEB_LIBGCC_SOVERSION :=
+DEB_LIBGCC_VERSION := 1:8.3.0-4
+DEB_STDCXX_SOVERSION := 5
+DEB_GOMP_SOVERSION := 5
+GCC_SONAME := 1
+CXX_SONAME := 6
+FORTRAN_SONAME := 5
+OBJC_SONAME := 4
+GDC_VERSION := 8
+GNAT_VERSION := 8
+GNAT_SONAME := 8
+FFI_SONAME := 7
+SSP_SONAME := 0
+GOMP_SONAME := 1
+ITM_SONAME := 1
+ATOMIC_SONAME := 1
+BTRACE_SONAME := 1
+ASAN_SONAME := 5
+LSAN_SONAME := 0
+TSAN_SONAME := 0
+UBSAN_SONAME := 1
+VTV_SONAME := 0
+MPX_SONAME := 2
+QUADMATH_SONAME := 0
+GO_SONAME := 13
+CC1_SONAME := 0
+GCCJIT_SONAME := 0
+GPHOBOS_SONAME := 76
+GDRUNTIME_SONAME := 76
+HSAIL_SONAME := 0
+LIBC_DEP := libc6
--- /dev/null
+# -*- makefile -*-
+# rules to patch the unpacked files in the source directory
+# ---------------------------------------------------------------------------
+# various rules to unpack addons and (un)apply patches.
+# - patch / apply-patches
+# - unpatch / reverse-patches
+
+.NOTPARALLEL:
+
+patchdir ?= debian/patches
+series_file ?= $(patchdir)/series
+
+# which patches should be applied?
+
+debian_patches = \
+ svn-updates \
+ $(if $(with_linaro_branch),gcc-linaro) \
+ $(if $(with_linaro_branch),gcc-linaro-no-macros) \
+
+# svn-updates \
+
+ifneq ($(GFDL_INVARIANT_FREE),yes)
+ debian_patches += \
+ $(if $(with_linaro_branch),gcc-linaro-doc) \
+ rename-info-files \
+ gcc-fuse-ld-lld-doc \
+
+# svn-doc-updates \
+# $(if $(with_linaro_branch),,svn-doc-updates) \
+
+else
+endif
+debian_patches += \
+ gcc-gfdl-build
+
+debian_patches += \
+ gcc-textdomain \
+ gcc-driver-extra-langs$(if $(with_linaro_branch),-linaro)
+
+ifneq (,$(filter $(distrelease),etch lenny squeeze wheezy dapper hardy intrepid jaunty karmic lucid))
+ debian_patches += gcc-hash-style-both
+else
+ debian_patches += gcc-hash-style-gnu
+endif
+
+debian_patches += \
+ libstdc++-pic \
+ libstdc++-doclink \
+ libstdc++-man-3cxx \
+ libstdc++-test-installed \
+ alpha-no-ev4-directive \
+ note-gnu-stack \
+ libgomp-omp_h-multilib \
+ libgo-testsuite \
+ libgo-cleanfiles \
+ gcc-target-include-asm \
+ libgo-revert-timeout-exp \
+ libgo-setcontext-config \
+ gcc-auto-build \
+ kfreebsd-unwind \
+ libitm-no-fortify-source \
+ sparc64-biarch-long-double-128 \
+ pr66368 \
+ pr67590 \
+ libjit-ldflags \
+ libffi-pax \
+ libffi-race-condition \
+ gcc-foffload-default \
+ gcc-fuse-ld-lld \
+ cuda-float128 \
+ libffi-mipsen-r6 \
+ t-libunwind-elf-Wl-z-defs \
+ gcc-alpha-bs-ignore \
+ libffi-riscv \
+ libffi-riscv64-go \
+ gcc-force-cross-layout \
+ kfreebsd-decimal-float \
+ powerpcspe_remove_many \
+ ia64-disable-selective-scheduling \
+ pr89412 \
+ pr87808 \
+
+# FIXME: see #915194
+# gcc-search-prefixed-as-ld \
+
+ifeq (,$(filter $(distrelease),trusty stretch jessie wheezy))
+ debian_patches += gcc-as-needed-push-pop
+endif
+
+# TODO:
+# pr81829 \
+
+# $(if $(filter yes, $(DEB_CROSS)),,gcc-print-file-name) \
+# libstdc++-nothumb-check \
+
+hardening_patches =
+ifeq ($(with_ssp)-$(with_ssp_default),yes-yes)
+ hardening_patches += gcc-default-ssp
+ hardening_patches += gcc-default-format-security
+ ifeq (,$(filter $(distrelease),dapper hardy lucid maverick natty oneiric precise quantal raring saucy trusty))
+ hardening_patches += gcc-default-ssp-strong
+ endif
+endif
+ifneq (,$(filter $(derivative),Ubuntu))
+ ifneq (,$(findstring gcc-8, $(PKGSOURCE)))
+ hardening_patches += \
+ gcc-default-fortify-source \
+ gcc-default-relro \
+ testsuite-hardening-format \
+ testsuite-hardening-printf-types \
+ testsuite-hardening-updates \
+ testsuite-glibc-warnings
+ ifeq ($(with_pie),yes)
+ hardening_patches += \
+ bind_now_when_pie
+# else
+# hardening_patches += \
+# ignore-pie-specs-when-not-enabled
+ endif
+ endif
+else ifneq (,$(filter $(derivative),Debian))
+ ifneq (,$(findstring gcc-8, $(PKGSOURCE)))
+# ifneq ($(with_pie),yes)
+# hardening_patches += \
+# ignore-pie-specs-when-not-enabled
+# endif
+ endif
+endif
+
+# FIXME 4.5: Drop and adjust symbols files
+ifneq (,$(findstring 4.4, $(PKGSOURCE)))
+ debian_patches += pr39491
+endif
+
+# Patches for non-core languages.
+# Most of the time, it would be safe to apply them whether the
+# language is selected or not. But when working on a new GCC version,
+# it is convenient to concentrate on core languages, and refresh them
+# later when working on the specific language.
+ifeq ($(with_ada),yes)
+ debian_patches += ada-arm
+ debian_patches += ada-gcc-name
+ debian_patches += ada-verbose
+ ifeq ($(biarch64),yes)
+ debian_patches += ada-nobiarch-check
+ endif
+ debian_patches += ada-link-lib
+ debian_patches += ada-libgnatvsn
+ debian_patches += ada-gnattools-cross
+ debian_patches += ada-tools-move-ldflags
+ debian_patches += ada-sjlj
+ debian_patches += ada-lib-info-source-date-epoch
+ debian_patches += ada-armel-libatomic
+ debian_patches += ada-kfreebsd
+ debian_patches += ada-drop-termio-h
+ debian_patches += ada-749574
+ debian_patches += ada-lib-info-file-prefix-map
+ debian_patches += ada-perl-shebang
+endif
+
+ifeq ($(with_d),yes)
+ debian_patches += \
+ gdc-8 \
+ gdc-targetdm \
+ gdc-updates \
+ libphobos-zlib \
+ gdc-frontend-posix \
+ gdc-profiledbuild \
+ gdc-sparc-fix \
+ gdc-shared-by-default \
+ gdc-cross-build \
+
+# gdc-versym-cpu \
+# gdc-versym-os \
+# gdc-multiarch
+ ifneq ($(GFDL_INVARIANT_FREE),yes)
+ debian_patches += gdc-8-doc gdc-targetdm-doc
+ else
+ debian_patches += gdc-texinfo
+ endif
+ ifeq ($(with_phobos),yes)
+ debian_patches += gdc-libphobos-build
+ else
+ debian_patches += gdc-driver-nophobos
+ endif
+ ifeq (,$(filter $(DEB_TARGET_ARCH),amd64 i386))
+ debian_patches += disable-gdc-tests
+ endif
+else
+ debian_patches += gcc-d-lang
+endif
+
+ifeq ($(DEB_TARGET_ARCH),alpha)
+ debian_patches += alpha-ieee
+ ifneq ($(GFDL_INVARIANT_FREE),yes)
+ debian_patches += alpha-ieee-doc
+ endif
+endif
+
+ifeq ($(DEB_TARGET_ARCH),powerpcspe)
+ debian_patches += powerpcspe_nofprs
+endif
+
+# all patches below this line are applied for gcc-snapshot builds as well
+
+ifeq ($(single_package),yes)
+ debian_patches =
+endif
+
+debian_patches += \
+ sys-auxv-header \
+
+ifeq ($(with_ibm_branch),yes)
+ debian_patches += ibm-branch
+endif
+
+ifeq ($(with_softfloat),yes)
+ debian_patches += arm-multilib-soft-float
+else ifeq ($(multilib),yes)
+ ifneq (,$(filter $(distrelease),lucid maverick natty oneiric precise))
+ debian_patches += arm-multilib-softfp$(if $(filter yes,$(DEB_CROSS)),-cross)
+ else
+ debian_patches += arm-multilib-soft$(if $(filter yes,$(DEB_CROSS)),-cross)
+ endif
+endif
+debian_patches += arm-multilib-defaults
+
+ifeq ($(DEB_CROSS),yes)
+ debian_patches += cross-fixes
+ debian_patches += cross-install-location
+ ifeq ($(with_d),yes)
+ debian_patches += gdc-cross-install-location
+ endif
+endif
+
+ifeq ($(DEB_TARGET_ARCH_OS),hurd)
+ debian_patches += hurd-changes
+endif
+
+ifeq ($(DEB_TARGET_ARCH_OS),hurd)
+ debian_patches += \
+ src_gcc_config_i386_gnu.h \
+ src_libgo_build \
+ src_libgo_runtime \
+ src_libgo_go_crypto \
+ src_libgo_go_net \
+ src_libgo_go_os \
+ src_libgo_go_runtime \
+ src_libgo_go_syscall \
+ src_libgo_go_go_build_syslist.go \
+ add-gnu-to-libgo-headers \
+ add-gnu-to-libgo-test-headers \
+ src_libgo_go_syscall_syscall_gnu_test.go \
+ src_libgo_testsuite_gotest
+endif
+
+debian_patches += gcc-ice-dump
+debian_patches += gcc-ice-apport
+debian_patches += skip-bootstrap-multilib
+debian_patches += libffi-ro-eh_frame_sect
+debian_patches += libffi-mips
+
+# sigaction on sparc changed between glibc 2.19 and 2.21
+ifeq (,$(filter 2.1%, $(shell dpkg-query -l libc-bin | awk '/^.i/ {print $$3}')))
+ # keep it, gets remove in GCC from time to time
+ #debian_patches += pr67899
+endif
+
+debian_patches += gcc-multiarch
+debian_patches += config-ml
+ifneq ($(single_package),yes)
+ ifeq ($(with_multiarch_cxxheaders),yes)
+ debian_patches += g++-multiarch-incdir
+ debian_patches += canonical-cpppath
+ endif
+endif
+ifneq (,$(filter $(build_type), build-cross cross-build-cross))
+ debian_patches += cross-no-locale-include
+ debian_patches += cross-biarch
+ ifeq ($(with_phobos),yes)
+ debian_patches += gdc-cross-biarch
+ endif
+endif
+debian_patches += gcc-multilib-multiarch
+
+ifneq (,$(filter $(derivative),Ubuntu))
+ ifeq (,$(filter $(distrelease),dapper hardy intrepid jaunty karmic lucid maverick))
+ debian_patches += gcc-as-needed
+ ifeq (,$(filter $(distrelease),dapper hardy intrepid jaunty karmic lucid maverick precise trusty utopic vivid wily xenial yakkety))
+ debian_patches += gcc-as-needed-gold
+ endif
+ endif
+else # Debian
+ #debian_patches += gcc-as-needed
+endif
+
+debian_patches += libgomp-kfreebsd-testsuite
+debian_patches += go-testsuite
+
+# don't remove, this is regularly overwritten, see PR sanitizer/63958.
+#debian_patches += libasan-sparc
+
+# Has to be refreshed manually as described in the header.
+debian_patches += ada-changes-in-autogen-output
+
+series_stamp = $(stampdir)/02-series-stamp
+series: $(series_stamp)
+$(series_stamp):
+ echo $(strip $(addsuffix .diff,$(debian_patches))) \
+ | sed -r 's/ +/ /g' | tr " " "\n" > $(series_file)
+ifneq (,$(strip $(hardening_patches)))
+ ifneq ($(trunk_build),yes)
+ echo $(strip $(addsuffix .diff,$(hardening_patches))) \
+ | sed -r 's/ +/ /g' | tr " " "\n" >> $(series_file)
+ endif
+endif
+ sed -r 's/(.)$$/\1 -p1/' -i $(series_file)
+ touch $@
+
+autoconf_files = $(shell lsdiff --no-filename $(foreach patch,$(debian_patches),$(patchdir)/$(patch).diff) \
+ | sed -rn '/(configure\.ac|acinclude.m4)$$/s:[^/]+/src/:src/:p' | sort -u)
+autoconf_dirs = $(sort $(dir $(autoconf_files)))
+
+automake_files = $(addprefix ./, $(filter-out none, \
+ $(shell lsdiff --no-filename $(foreach patch,$(debian_patches),$(patchdir)/$(patch).diff) \
+ | sed -rn '/Makefile\.(am|in)$$/s:[^/]+/src/:src/:p' | sort -u)))
+
+autoconf_version = 2.64
+ifeq ($(trunk_build),yes)
+ # The actual version depends on the build-dependencies set by
+ # variable AUTO_BUILD_DEP in rules.conf. Here, we assume the
+ # correct version is installed.
+ #autoconf_version =
+endif
+
+# FIXME: the auto* stuff is done every time for every subdir, which
+# leads to build errors. Idea: record the auto* calls in the patch
+# files (AUTO <dir> <auto-command with options>) and run them separately,
+# maybe only once per directory).
+$(patch_stamp): $(unpack_stamp) $(series_stamp)
+ sync
+ QUILT_PATCHES=$(patchdir) QUILT_PATCH_OPTS='-E' \
+ quilt --quiltrc /dev/null push -a || test $$? = 2
+
+ifneq (,$(filter svn-updates, $(debian_patches)))
+ awk '/^EOF/ {exit} p==1 {print} /EOF$$/ {p=1}' \
+ $(patchdir)/svn-updates.diff > src/LAST_UPDATED
+endif
+
+ : # only needed when we have changes, and currently fails with autogen 5.18
+ : #cd $(srcdir)/fixincludes && ./genfixes
+
+ sync
+ echo -n $(autoconf_dirs) | xargs -d ' ' -L 1 -P $(USE_CPUS) -I{} \
+ sh -c 'echo "Running autoconf$(autoconf_version) in {}..." ; \
+ cd $(CURDIR)/{} && rm -f configure && \
+ AUTOM4TE=/usr/bin/autom4te$(autoconf_version) autoconf$(autoconf_version)'
+
+ for i in $(debian_patches) $(hardening_patches); do \
+ echo -e "\n$$i:" >> pxxx; \
+ sed -n 's/^# *DP: */ /p' $(patchdir)/$$i.diff >> pxxx; \
+ done
+# -$(srcdir)/move-if-change pxxx $@
+ mv pxxx $@
+
+unpatch:
+ QUILT_PATCHES=$(patchdir) \
+ quilt --quiltrc /dev/null pop -a -R || test $$? = 2
+ rm -rf .pc
+
+update-patches: $(series_stamp)
+ export QUILT_PATCHES=$(patchdir); \
+ export QUILT_REFRESH_ARGS="--no-timestamps --no-index -pab"; \
+ export QUILT_DIFF_ARGS="--no-timestamps --no-index -pab"; \
+ while quilt push; do quilt refresh; done
+
+patch: $(patch_stamp)
+.PHONY: patch series quilt autotools
--- /dev/null
+ifneq ($(vafilt_defined),1)
+ $(error rules.defs must be included before rules.sonames)
+endif
+
+ifeq (,$(wildcard debian/soname-cache))
+ SONAME_VARS := $(shell \
+ cache=debian/soname-cache; \
+ rm -f $$cache; \
+ v=`awk -F= '/^libtool_VERSION/ {split($$2,v,":"); print v[1]}' \
+ $(srcdir)/libstdc++-v3/acinclude.m4`; \
+ echo CXX_SONAME=$$v >> $$cache; \
+ v=`awk -F= '/^VERSION/ {split($$2,v,":"); print v[1]}' \
+ $(srcdir)/libobjc/configure.ac`; \
+ echo OBJC_SONAME=$$v >> $$cache; \
+ v=`tail -1 $(srcdir)/libgfortran/libtool-version | cut -d: -f1`; \
+ echo FORTRAN_SONAME=$$v >> $$cache; \
+ v=`tail -1 $(srcdir)/libssp/libtool-version | cut -d: -f1`; \
+ echo SSP_SONAME=$$v >> $$cache; \
+ v=`tail -1 $(srcdir)/libffi/libtool-version | cut -d: -f1`; \
+ echo FFI_SONAME=$$v >> $$cache; \
+ v=`awk -F= '/^libtool_VERSION/ {split($$2,v,":"); print v[1]}' \
+ $(srcdir)/libgomp/configure.ac`; \
+ echo GOMP_SONAME=$$v >> $$cache; \
+ v=`tail -1 $(srcdir)/libsanitizer/asan/libtool-version | cut -d: -f1`; \
+ echo ASAN_SONAME=$$v >> $$cache; \
+ v=`tail -1 $(srcdir)/libsanitizer/lsan/libtool-version | cut -d: -f1`; \
+ echo LSAN_SONAME=$$v >> $$cache; \
+ v=`tail -1 $(srcdir)/libsanitizer/tsan/libtool-version | cut -d: -f1`; \
+ echo TSAN_SONAME=$$v >> $$cache; \
+ v=`tail -1 $(srcdir)/libsanitizer/ubsan/libtool-version | cut -d: -f1`; \
+ echo UBSAN_SONAME=$$v >> $$cache; \
+ v=`awk -F= '/^libtool_VERSION/ {split($$2,v,":"); print v[1]}' \
+ $(srcdir)/libatomic/configure.ac`; \
+ v=1; \
+ echo ATOMIC_SONAME=$$v >> $$cache; \
+ v=`awk -F= '/^libtool_VERSION/ {split($$2,v,":"); print v[1]}' \
+ $(srcdir)/libbacktrace/configure.ac`; \
+ echo BTRACE_SONAME=$$v >> $$cache; \
+ v=`tail -1 $(srcdir)/libquadmath/libtool-version | cut -d: -f1`; \
+ echo QUADMATH_SONAME=$$v >> $$cache; \
+ v=`grep '[^_]Library_Version.*:' $(srcdir)/gcc/ada/gnatvsn.ads \
+ | sed -e 's/.*"\([^"]*\)".*/\1/'`; \
+ echo GNAT_SONAME=$$v >> $$cache; \
+ v=`awk -F= '/^libtool_VERSION/ {split($$2,v,":"); print v[1]}' \
+ $(srcdir)/libgo/configure.ac`; \
+ echo GO_SONAME=$$v >> $$cache; \
+ echo ITM_SONAME=1 >> $$cache; \
+ v=`awk -F= '/^libtool_VERSION/ {split($$2,v,":"); print v[1]}' \
+ $(srcdir)/libvtv/configure.ac`; \
+ v=0; \
+ echo VTV_SONAME=$$v >> $$cache; \
+ echo CC1_SONAME=0 >> $$cache; \
+ echo GCCJIT_SONAME=0 >> $$cache; \
+ v=`tail -1 $(srcdir)/libmpx/mpxrt/libtool-version | cut -d: -f1`; \
+ echo MPX_SONAME=$$v >> $$cache; \
+ echo GPHOBOS_SONAME=76 >> $$cache; \
+ echo GDRUNTIME_SONAME=76 >> $$cache; \
+ echo HSAIL_SONAME=0 >> $$cache; \
+ cat $$cache)
+else
+ SONAME_VARS := $(shell cat debian/soname-cache)
+endif
+CXX_SONAME = $(call vafilt,$(SONAME_VARS),CXX_SONAME)
+OBJC_SONAME = $(call vafilt,$(SONAME_VARS),OBJC_SONAME)
+FORTRAN_SONAME = $(call vafilt,$(SONAME_VARS),FORTRAN_SONAME)
+SSP_SONAME = $(call vafilt,$(SONAME_VARS),SSP_SONAME)
+FFI_SONAME = $(call vafilt,$(SONAME_VARS),FFI_SONAME)
+GOMP_SONAME = $(call vafilt,$(SONAME_VARS),GOMP_SONAME)
+ATOMIC_SONAME = $(call vafilt,$(SONAME_VARS),ATOMIC_SONAME)
+BTRACE_SONAME = $(call vafilt,$(SONAME_VARS),BTRACE_SONAME)
+ASAN_SONAME = $(call vafilt,$(SONAME_VARS),ASAN_SONAME)
+LSAN_SONAME = $(call vafilt,$(SONAME_VARS),LSAN_SONAME)
+TSAN_SONAME = $(call vafilt,$(SONAME_VARS),TSAN_SONAME)
+UBSAN_SONAME = $(call vafilt,$(SONAME_VARS),UBSAN_SONAME)
+VTV_SONAME = $(call vafilt,$(SONAME_VARS),VTV_SONAME)
+CILKRTS_SONAME = $(call vafilt,$(SONAME_VARS),CILKRTS_SONAME)
+QUADMATH_SONAME = $(call vafilt,$(SONAME_VARS),QUADMATH_SONAME)
+GNAT_SONAME = $(call vafilt,$(SONAME_VARS),GNAT_SONAME)
+GO_SONAME = $(call vafilt,$(SONAME_VARS),GO_SONAME)
+ITM_SONAME = $(call vafilt,$(SONAME_VARS),ITM_SONAME)
+CC1_SONAME = $(call vafilt,$(SONAME_VARS),CC1_SONAME)
+GCCJIT_SONAME = $(call vafilt,$(SONAME_VARS),GCCJIT_SONAME)
+MPX_SONAME = $(call vafilt,$(SONAME_VARS),MPX_SONAME)
+GPHOBOS_SONAME = $(call vafilt,$(SONAME_VARS),GPHOBOS_SONAME)
+GDRUNTIME_SONAME= $(call vafilt,$(SONAME_VARS),GDRUNTIME_SONAME)
+HSAIL_SONAME = $(call vafilt,$(SONAME_VARS),HSAIL_SONAME)
+
+# alias
+GFORTRAN_SONAME = $(FORTRAN_SONAME)
+STDC++_SONAME = $(CXX_SONAME)
--- /dev/null
+SOURCE_DIR := $(dir $(lastword $(MAKEFILE_LIST)))
+patchdir = $(SOURCE_DIR)/patches
+
+include $(SOURCE_DIR)/debian/rules.defs
+include $(SOURCE_DIR)/debian/rules.patch
+include $(SOURCE_DIR)/debian/rules.unpack
+
+patch-source: $(patch_stamp)
+
+clean-source:
+ rm -rf $(stampdir)
+ rm -rf $(gcc_srcdir) $(gdc_srcdir)
+ rm -rf bin
+ rm -rf $(srcdir)
+
--- /dev/null
+# -*- makefile -*-
+# rules to unpack the source tarballs in $(srcdir); if the source dir already
+# exists, the rule exits with an error to prevent deletion of modified
+# source files. It has to be deleted manually.
+
+tarballs = $(gcc_tarball)
+ifeq ($(with_d),yes)
+ tarballs += $(gdc_tarball)
+endif
+ifeq ($(with_offload_nvptx),yes)
+ tarballs += $(nl_nvptx_tarball)
+endif
+
+unpack_stamps = $(foreach i,$(tarballs),$(unpack_stamp)-$(i))
+
+unpack: stamp-dir $(unpack_stamp) debian-chmod
+$(unpack_stamp): $(unpack_stamps)
+$(unpack_stamp): $(foreach p,$(debian_tarballs),unpacked-$(p))
+ echo -e "\nBuilt from Debian source package $(PKGSOURCE)-$(SOURCE_VERSION)" \
+ > pxxx
+ echo -e "Integrated upstream packages in this version:\n" >> pxxx
+ for i in $(tarballs); do echo " $$i" >> pxxx; done
+ mv -f pxxx $@
+
+debian-chmod:
+ @chmod 755 debian/dh_*
+
+# ---------------------------------------------------------------------------
+
+gfdl_texinfo_files = \
+ gcc/doc/avr-mmcu.texi \
+ gcc/doc/bugreport.texi \
+ gcc/doc/cfg.texi \
+ gcc/doc/collect2.texi \
+ gcc/doc/compat.texi \
+ gcc/doc/configfiles.texi \
+ gcc/doc/configterms.texi \
+ gcc/doc/contrib.texi \
+ gcc/doc/contribute.texi \
+ gcc/doc/cpp.texi \
+ gcc/doc/cppdiropts.texi \
+ gcc/doc/cppenv.texi \
+ gcc/doc/cppinternals.texi \
+ gcc/doc/cppopts.texi \
+ gcc/doc/cppwarnopts.texi \
+ gcc/doc/extend.texi \
+ gcc/doc/fragments.texi \
+ gcc/doc/frontends.texi \
+ gcc/doc/gccint.texi \
+ gcc/doc/gcov.texi \
+ gcc/doc/gcov-dump.texi \
+ gcc/doc/gcov-tool.texi \
+ gcc/doc/generic.texi \
+ gcc/doc/gimple.texi \
+ gcc/doc/gnu.texi \
+ gcc/doc/gty.texi \
+ gcc/doc/headerdirs.texi \
+ gcc/doc/hostconfig.texi \
+ gcc/doc/implement-c.texi \
+ gcc/doc/implement-cxx.texi \
+ gcc/doc/install-old.texi \
+ gcc/doc/install.texi \
+ gcc/doc/interface.texi \
+ gcc/doc/invoke.texi \
+ gcc/doc/languages.texi \
+ gcc/doc/libgcc.texi \
+ gcc/doc/loop.texi \
+ gcc/doc/lto.texi \
+ gcc/doc/makefile.texi \
+ gcc/doc/match-and-simplify.texi \
+ gcc/doc/md.texi \
+ gcc/doc/objc.texi \
+ gcc/doc/optinfo.texi \
+ gcc/doc/options.texi \
+ gcc/doc/passes.texi \
+ gcc/doc/plugins.texi \
+ gcc/doc/poly-int.texi \
+ gcc/doc/portability.texi \
+ gcc/doc/rtl.texi \
+ gcc/doc/service.texi \
+ gcc/doc/sourcebuild.texi \
+ gcc/doc/standards.texi \
+ gcc/doc/tm.texi.in \
+ gcc/doc/tm.texi \
+ gcc/doc/tree-ssa.texi \
+ gcc/doc/trouble.texi \
+ gcc/doc/include/gcc-common.texi \
+ gcc/doc/include/funding.texi \
+ gcc/fortran/gfc-internals.texi \
+ gcc/fortran/invoke.texi \
+ gcc/fortran/intrinsic.texi \
+
+
+gfdl_toplevel_texinfo_files = \
+ gcc/doc/gcc.texi \
+ gcc/ada/gnat-style.texi \
+ gcc/ada/gnat_rm.texi \
+ gcc/ada/gnat_ugn.texi \
+ gcc/fortran/gfortran.texi \
+ gcc/go/gccgo.texi \
+ libgomp/libgomp.texi \
+ libquadmath/libquadmath.texi \
+
+gfdl_manpages = \
+ gcc/doc/cpp.1 \
+ gcc/doc/g++.1 \
+ gcc/doc/gc-analyze.1 \
+ gcc/doc/gcc.1 \
+ gcc/doc/gccgo.1 \
+ gcc/doc/gcov.1 \
+ gcc/doc/gcov-dump.1 \
+ gcc/doc/gcov-tool.1 \
+ gcc/doc/gfortran.1 \
+ gcc/doc/fsf-funding.7 \
+
+# ---------------------------------------------------------------------------
+$(unpack_stamp)-$(gcc_tarball): $(gcc_tarpath)
+ : # unpack gcc tarball
+ mkdir -p $(stampdir)
+ if [ -d $(srcdir) ]; then \
+ echo >&2 "Source directory $(srcdir) exists. Delete by hand"; \
+ false; \
+ fi
+ rm -rf $(gcc_srcdir)
+ tar -x -f $(gcc_tarpath)
+ mv $(gcc_srcdir) $(srcdir)
+ ln -sf libsanitizer $(srcdir)/libasan
+ifeq (0,1)
+ cd $(srcdir) && tar cfj ../gcc-4.1.1-doc.tar.bz2 \
+ $(gfdl_texinfo_files) \
+ $(gfdl_toplevel_texinfo_files) \
+ $(gfdl_manpages)
+endif
+ifeq ($(GFDL_INVARIANT_FREE),yes)
+ ifneq ($(single_package),yes)
+ rm -f $(srcdir)/gcc/doc/*.1
+ rm -f $(srcdir)/gcc/doc/fsf-funding.7
+ rm -f $(srcdir)/gcc/doc/*.info
+ rm -f $(srcdir)/gcc/fortran/*.info
+ rm -f $(srcdir)/libgomp/*.info
+ for i in $(gfdl_texinfo_files); do \
+ if [ -f $(srcdir)/$$i ]; then \
+ cp $(SOURCE_DIR)debian/dummy.texi $(srcdir)/$$i; \
+ else \
+ cp $(SOURCE_DIR)debian/dummy.texi $(srcdir)/$$i; \
+ echo >&2 "$$i does not exist, fix debian/rules.unpack"; \
+ fi; \
+ done
+ ( \
+ echo '@include gcc-vers.texi'; \
+ echo '@macro versionsubtitle'; \
+ echo '@subtitle For @sc{gcc} version @value{version-GCC}'; \
+ echo '@vskip 0pt plus 1filll'; \
+ echo '@end macro'; \
+ ) > $(srcdir)/gcc/doc/include/gcc-common.texi
+ for i in $(gfdl_toplevel_texinfo_files); do \
+ n=$$(basename $$i .texi); \
+ if [ -f $(srcdir)/$$i ]; then \
+ sed "s/@name@/$$n/g" $(SOURCE_DIR)debian/gcc-dummy.texi \
+ > $(srcdir)/$$i; \
+ else \
+ sed "s/@name@/$$n/g" $(SOURCE_DIR)debian/gcc-dummy.texi \
+ > $(srcdir)/$$i; \
+ echo >&2 "$$i does not exist, fix debian/rules.unpack"; \
+ fi; \
+ done
+ for i in $(gfdl_manpages); do \
+ touch $(srcdir)/$$i; \
+ done
+ rm -f $(srcdir)/INSTALL/*.html
+ rm -f $(srcdir)/zlib/contrib/dotzlib/DotZLib.chm
+ endif
+endif
+ echo "$(gcc_tarball) unpacked." > $@
+
+# ---------------------------------------------------------------------------
+ifneq (,$(gdc_tarball))
+$(unpack_stamp)-$(gdc_tarball): $(gdc_tarpath) $(unpack_stamp)-$(gcc_tarball)
+ : # unpack gdc tarball
+ mkdir -p $(stampdir)
+ if [ -d $(srcdir)/gcc/d ]; then \
+ echo >&2 "Source directory $(srcdir)/gcc/d exists. Delete by hand";\
+ false; \
+ fi
+ #rm -rf $(gdc_srcdir)
+ rm -rf $(srcdir)/gcc/d
+ rm -rf $(srcdir)/gcc/testsuite/gdc.test
+ rm -f $(srcdir)/gcc/testsuite/lib/gdc*.exp
+ rm -rf $(srcdir)/libphobos
+ tar -x -C $(srcdir) --strip-components=1 -f $(gdc_tarpath)
+ifeq ($(GFDL_INVARIANT_FREE),yes-now-purge-gfdl)
+ ifneq ($(single_package),yes)
+ for i in gcc/d/gdc.texi; do \
+ n=$$(basename $$i .texi); \
+ if [ -f $(srcdir)/$$i ]; then \
+ sed "s/@name@/$$n/g" $(SOURCE_DIR)debian/gcc-dummy.texi \
+ > $(srcdir)/$$i; \
+ else \
+ echo >&2 "$$i does not exist, fix debian/rules.unpack"; \
+ fi; \
+ done
+ for i in gcc/d/gdc.1; do \
+ touch $(srcdir)/$$i; \
+ done
+ endif
+endif
+ echo "$(gdc_tarball) unpacked." > $@
+endif
+
+# ---------------------------------------------------------------------------
+ifneq (,$(nl_nvptx_tarball))
+$(unpack_stamp)-$(nl_nvptx_tarball): $(nl_nvptx_tarpath) $(unpack_stamp)-$(gcc_tarball)
+ : # unpack newlib-nvptx tarball
+ mkdir -p $(stampdir)
+ : # rm -rf $(nl_nvptx_srcdir)
+ tar -x -f $(nl_nvptx_tarpath)
+ echo "$(nl_nvptx_tarball) unpacked." > $@
+endif
--- /dev/null
+#! /usr/bin/make -f
+# -*- makefile -*-
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+.SUFFIXES:
+
+include debian/rules.defs
+include debian/rules.parameters
+
+dh_compat2 := $(shell dpkg --compare-versions "$$(dpkg-query -f '$${Version}' -W debhelper)" lt 9.20150811ubuntu2 \
+ && echo DH_COMPAT=2)
+
+# some tools
+SHELL = /bin/bash -e # brace expansion in rules file
+IR = install -m 644 # Install regular file
+IP = install -m 755 # Install program
+IS = install -m 755 # Install script
+
+DWZ = dwz
+ifneq (,$(filter $(distrelease),jessie stretch trusty xenial))
+ DWZ = : dwz
+endif
+
+# kernel-specific ulimit hack
+ifeq ($(findstring linux,$(DEB_HOST_GNU_SYSTEM)),linux)
+ ULIMIT_M = if [ -e /proc/meminfo ]; then \
+ m=`awk '/^((Mem|Swap)Free|Cached)/{m+=$$2}END{print int(m*.9)}' \
+ /proc/meminfo`; \
+ else \
+ m=`vmstat --free --swap-free --kilobytes|awk '{m+=$$2}END{print int(m*.9)}'`; \
+ fi; \
+ echo "Limiting memory for test runs to $${m}kB"; \
+ if ulimit -m $$m; then \
+ echo " limited to `ulimit -m`kB"; \
+ else \
+ echo " failed"; \
+ fi
+else
+ ULIMIT_M = true
+endif
+
+ifeq ($(locale_data),generate)
+ SET_LOCPATH = LOCPATH=$(CURDIR)/locales
+endif
+
+SET_PATH = PATH=$(CURDIR)/bin:/usr/$(libdir)/gcc/bin:$$PATH
+ifeq ($(trunk_build),yes)
+ ifneq (,$(findstring sparc64-linux,$(DEB_TARGET_GNU_TYPE)))
+ SET_PATH = PATH=/usr/lib/gcc-snapshot/bin:$(CURDIR)/bin:/usr/$(libdir)/gcc/bin:$$PATH
+ endif
+ ifneq (,$(findstring ppc64-linux,$(DEB_TARGET_GNU_TYPE)))
+ SET_PATH = PATH=/usr/lib/gcc-snapshot/bin:$(CURDIR)/bin:/usr/$(libdir)/gcc/bin:$$PATH
+ endif
+endif
+
+# the recipient for the test summaries. Send with: debian/rules mail-summary
+S_EMAIL = gcc@packages.debian.org gcc-testresults@gcc.gnu.org
+
+# build not yet prepared to take variables from the environment
+define unsetenv
+ unexport $(1)
+ $(1) =
+endef
+$(foreach v, CPPFLAGS CFLAGS CXXFLAGS DFLAGS FFLAGS FCFLAGS LDFLAGS OBJCFLAGS OBJCXXFLAGS, $(if $(filter environment,$(origin $(v))),$(eval $(call unsetenv, $(v)))))
+
+CC = $(notdir $(firstword $(wildcard \
+ /usr/bin/$(DEB_HOST_GNU_TYPE)-gcc-8 \
+ /usr/bin/$(DEB_HOST_GNU_TYPE)-gcc-7 \
+ /usr/bin/$(DEB_HOST_GNU_TYPE)-gcc-6 \
+ /usr/bin/$(DEB_HOST_GNU_TYPE)-gcc-5 \
+ /usr/bin/$(DEB_HOST_GNU_TYPE)-gcc)))
+CXX = $(notdir $(firstword $(wildcard \
+ /usr/bin/$(DEB_HOST_GNU_TYPE)-g++-8 \
+ /usr/bin/$(DEB_HOST_GNU_TYPE)-g++-7 \
+ /usr/bin/$(DEB_HOST_GNU_TYPE)-g++-6 \
+ /usr/bin/$(DEB_HOST_GNU_TYPE)-g++-5 \
+ /usr/bin/$(DEB_HOST_GNU_TYPE)-g++)))
+ifeq ($(with_ada),yes)
+ GNAT = $(notdir $(firstword $(wildcard \
+ /usr/bin/$(DEB_HOST_GNU_TYPE)-gnat-8 \
+ /usr/bin/$(DEB_HOST_GNU_TYPE)-gnat-7 \
+ /usr/bin/$(DEB_HOST_GNU_TYPE)-gnat-6 \
+ /usr/bin/$(DEB_HOST_GNU_TYPE)-gnat-5 \
+ /usr/bin/$(DEB_HOST_GNU_TYPE)-gnat /usr/bin/gnatgcc)))
+ ifeq ($(GNAT),gnatgcc)
+ CC := $(shell readlink /usr/bin/gnatgcc)
+ else ifneq (,$(GNAT))
+ CC = $(subst gnat,gcc,$(GNAT))
+ else ifneq (,$(filter $(distrelease), trusty))
+ CC = gcc-4.8
+ else ifneq (,$(wildcard /usr/bin/$(DEB_HOST_GNU_TYPE)-gcc))
+ CC = $(DEB_HOST_GNU_TYPE)-gcc
+ else
+ CC = gcc
+ endif
+ CXX = $(subst gcc,g++,$(CC))
+endif
+
+ifneq (,$(filter $(build_type),cross-build-native cross-build-cross))
+ SET_TARGET_TOOLS = \
+ CC_FOR_TARGET=$(DEB_TARGET_GNU_TYPE)-gcc-$(BASE_VERSION) \
+ CXX_FOR_TARGET=$(DEB_TARGET_GNU_TYPE)-g++-$(BASE_VERSION) \
+ GFORTRAN_FOR_TARGET=$(DEB_TARGET_GNU_TYPE)-gfortran-$(BASE_VERSION) \
+ GOC_FOR_TARGET=$(DEB_TARGET_GNU_TYPE)-gccgo-$(BASE_VERSION) \
+ GNAT_FOR_TARGET=$(DEB_TARGET_GNU_TYPE)-gnat-$(BASE_VERSION) \
+ GDC_FOR_TARGET=$(DEB_TARGET_GNU_TYPE)-gdc-$(BASE_VERSION)
+endif
+
+ifeq ($(DEB_BUILD_GNU_TYPE),$(DEB_TARGET_GNU_TYPE))
+ CC_FOR_TARGET = $(builddir)/gcc/xgcc -B$(builddir)/gcc/
+else
+ CC_FOR_TARGET = $(DEB_TARGET_GNU_TYPE)-gcc
+endif
+
+ifneq ($(derivative),Ubuntu)
+ ifneq (,$(filter $(DEB_TARGET_ARCH), arm armel mips mipsel))
+ STAGE1_CFLAGS = -g -O2
+ endif
+endif
+
+ifeq ($(with_ssp_default),yes)
+ STAGE1_CFLAGS = -g
+ ifeq (,$(BOOT_CFLAGS))
+ BOOT_CFLAGS = -g -O2
+ endif
+ LIBCFLAGS = -g -O2
+ LIBCXXFLAGS = -g -O2 -fno-implicit-templates
+ # Only use -fno-stack-protector when known to the stage1 compiler.
+ cc-fno-stack-protector := $(shell if $(CC) $(CFLAGS) -fno-stack-protector \
+ -S -o /dev/null -xc /dev/null > /dev/null 2>&1; \
+ then echo "-fno-stack-protector"; fi;)
+ $(foreach var,STAGE1_CFLAGS BOOT_CFLAGS LIBCFLAGS LIBCXXFLAGS,$(eval \
+ $(var) += $(cc-fno-stack-protector)))
+endif
+
+# FIXME: passing LDFLAGS for native doesn't do anything
+ifneq (,$(filter $(build_type), build-cross cross-build-cross))
+ CFLAGS = -g -O2
+ LDFLAGS = -Wl,-z,relro
+ ifeq ($(DEB_TARGET_ARCH),alpha)
+ LDFLAGS += -Wl,--no-relax
+ endif
+else
+ BOOT_LDFLAGS = -Wl,-z,relro
+ ifeq ($(DEB_TARGET_ARCH),alpha)
+ BOOT_LDFLAGS += -Wl,--no-relax
+ endif
+endif
+LDFLAGS_FOR_TARGET = -Wl,-z,relro
+ifeq ($(DEB_TARGET_ARCH),alpha)
+ LDFLAGS := $(filter-out -Wl$(COMMA)--no-relax, $(LDFLAGS)) -Wl,--no-relax
+endif
+
+ifneq (,$(findstring static,$(DEB_BUILD_OPTIONS)))
+ LDFLAGS += -static
+endif
+
+ifneq ($(findstring gccdebug, $(DEB_BUILD_OPTIONS)),)
+ CFLAGS = -O0 -g3 -fno-inline
+ CXXFLAGS = -O0 -g3 -fno-inline
+ CFLAGS_FOR_BUILD = -O0 -g3 -fno-inline
+ CXXFLAGS_FOR_BUILD = -O0 -g3 -fno-inline
+ CFLAGS_FOR_TARGET = -O0 -g3 -fno-inline
+ CXXFLAGS_FOR_TARGET = -O0 -g3 -fno-inline
+ BOOT_CFLAGS =
+ BOOT_LDFLAGS =
+ STAGE1_CFLAGS =
+ STAGE1_LDFLAGS =
+endif
+
+# set CFLAGS/LDFLAGS for the configure step only, maybe be modifed for some target
+# all other flags are passed to the make step.
+pass_vars = $(foreach v,$(1),$(if $($(v)),$(v)="$($(v))"))
+flags_to_pass := CFLAGS CXXFLAGS LIBCFLAGS LIBCXXFLAGS LDFLAGS
+
+docdir = usr/share/doc
+
+# no prefix for regular builds, would disable searching for as / ld
+binutils_prefix =
+ifneq (,$(with_build_sysroot))
+ binutils_prefix = $(with_build_sysroot)/usr/bin
+endif
+
+CONFARGS = -v \
+ --with-pkgversion='$(distribution)$(if $(with_linaro_branch),/Linaro)$(if $(with_ibm_branch),/IBM)___$(DEB_VERSION)' \
+ --with-bugurl='file:///usr/share/doc/$(PKGSOURCE)/README.Bugs'
+
+CONFARGS += \
+ --enable-languages=$(subst $(SPACE),$(COMMA),$(enabled_languages)) \
+ --prefix=/$(PF) \
+ --with-gcc-major-version-only \
+
+ifneq (,$(with_build_sysroot))
+ CONFARGS += \
+ --with-as=$(binutils_prefix)/$(DEB_TARGET_GNU_TYPE)-as \
+ --with-ld=$(binutils_prefix)/$(DEB_TARGET_GNU_TYPE)-ld
+endif
+
+ifeq ($(versioned_packages),yes)
+ CONFARGS += --program-suffix=-$(BASE_VERSION)
+endif
+ifneq (,$(filter $(build_type),build-native cross-build-native))
+ CONFARGS += --program-prefix=$(cmd_prefix)
+endif
+
+ifneq (,$(filter $(DEB_STAGE),stage1 stage2))
+ CONFARGS += \
+ --disable-decimal-float \
+ --disable-libatomic \
+ --disable-libgomp \
+ --disable-libmpx \
+ --disable-libhsail-rt \
+ --disable-libssp \
+ --disable-libquadmath \
+ --disable-libsanitizer \
+ --disable-threads \
+ --disable-bootstrap \
+ --libexecdir=/$(libexecdir) \
+ --libdir=/$(PF)/$(configured_libdir) \
+ $(if $(with_build_sysroot),--with-build-sysroot=$(with_build_sysroot)) \
+ $(if $(findstring build-cross, $(build_type)), \
+ $(if $(with_sysroot),--with-sysroot=$(with_sysroot))) \
+ --enable-linker-build-id
+
+ ifeq ($(with_multiarch_lib),yes)
+ CONFARGS += \
+ --enable-multiarch
+ endif
+
+ ifeq ($(DEB_STAGE),stage1)
+ CONFARGS += \
+ --disable-shared \
+ --with-newlib \
+ --without-headers
+ else
+ # stage2
+ CONFARGS += \
+ --enable-shared
+ endif
+else
+ CONFARGS += \
+ --enable-shared \
+ --enable-linker-build-id \
+
+ifneq ($(single_package),yes)
+ CONFARGS += \
+ --libexecdir=/$(libexecdir) \
+ --without-included-gettext \
+ --enable-threads=posix \
+ --libdir=/$(PF)/$(configured_libdir)
+endif
+
+ifneq ($(with_cpp),yes)
+ CONFARGS += --disable-cpp
+endif
+
+ifeq ($(with_nls),yes)
+ CONFARGS += --enable-nls
+else
+ CONFARGS += --disable-nls
+endif
+
+ifeq ($(with_bootstrap),off)
+ CONFARGS += --disable-bootstrap
+else ifneq ($(with_bootstrap),)
+ CONFARGS += --enable-bootstrap
+endif
+
+ifneq ($(with_sysroot),)
+ CONFARGS += --with-sysroot=$(with_sysroot)
+endif
+ifneq ($(with_build_sysroot),)
+ CONFARGS += --with-build-sysroot=$(with_build_sysroot)
+endif
+
+ifeq ($(force_gnu_locales),yes)
+ CONFARGS += --enable-clocale=gnu
+endif
+
+ifeq ($(with_cxx)-$(with_cxx_debug),yes-yes)
+ CONFARGS += --enable-libstdcxx-debug
+endif
+CONFARGS += --enable-libstdcxx-time=yes
+CONFARGS += --with-default-libstdcxx-abi=$(libstdcxx_abi)
+ifeq ($(libstdcxx_abi),gcc4-compatible)
+ CONFARGS += --disable-libstdcxx-dual-abi
+endif
+
+ifeq (,$(filter $(DEB_TARGET_ARCH), hurd-i386 kfreebsd-i386 kfreebsd-amd64))
+ CONFARGS += --enable-gnu-unique-object
+endif
+
+ifneq ($(with_ssp),yes)
+ CONFARGS += --disable-libssp
+endif
+
+ifneq ($(with_gomp),yes)
+ CONFARGS += --disable-libgomp
+endif
+
+ifneq ($(with_itm),yes)
+ CONFARGS += --disable-libitm
+endif
+
+ifneq ($(with_atomic),yes)
+ CONFARGS += --disable-libatomic
+endif
+
+ifneq (,$(filter $(DEB_TARGET_ARCH),$(vtv_archs)))
+ ifeq ($(with_vtv),yes)
+ CONFARGS += --enable-vtable-verify
+ else
+ CONFARGS += --disable-vtable-verify
+ endif
+endif
+
+ifneq ($(with_asan),yes)
+ CONFARGS += --disable-libsanitizer
+endif
+
+ifneq ($(with_qmath),yes)
+ CONFARGS += --disable-libquadmath --disable-libquadmath-support
+endif
+
+ifeq ($(with_mpx),yes)
+ CONFARGS += --enable-libmpx
+endif
+
+ifeq ($(with_plugins),yes)
+ CONFARGS += --enable-plugin
+endif
+
+#ifeq ($(with_gold),yes)
+# CONFARGS += --enable-gold --enable-ld=default
+#endif
+
+#CONFARGS += --with-plugin-ld=ld.gold
+#CONFARGS += --with-plugin-ld
+
+# enable pie-by-default on pie_archs
+ifeq ($(with_pie),yes)
+ CONFARGS += --enable-default-pie
+endif
+
+endif # !DEB_STAGE
+
+CONFARGS += --with-system-zlib
+
+ifeq ($(with_phobos),yes)
+ CONFARGS += --with-target-system-zlib
+endif
+
+ifeq ($(with_d),yes)
+ ifneq ($(with_phobos),yes)
+ CONFARGS += --disable-libphobos
+ endif
+endif
+
+ifeq ($(with_objc)-$(with_objc_gc),yes-yes)
+ CONFARGS += --enable-objc-gc=auto
+endif
+
+ifneq (,$(filter $(DEB_TARGET_GNU_TYPE), i486-linux-gnu i586-linux-gnu i686-linux-gnu))
+ ifeq ($(multilib),yes)
+ ifeq ($(biarch64),yes)
+ CONFARGS += --enable-targets=all
+ endif
+ endif
+endif
+
+ifneq (,$(filter $(DEB_TARGET_GNU_TYPE), x86_64-linux-gnu x86_64-linux-gnux32 x86_64-kfreebsd-gnu s390x-linux-gnu sparc64-linux-gnu))
+ ifneq ($(biarch32),yes)
+ CONFARGS += --disable-multilib
+ endif
+endif
+
+ifneq (,$(filter $(DEB_TARGET_GNU_TYPE), powerpc-linux-gnu powerpc-linux-gnuspe))
+ CONFARGS += --enable-secureplt
+ ifeq ($(biarch64),yes)
+ CONFARGS += --disable-softfloat --with-cpu=default32
+ ifeq ($(multilib),yes)
+ CONFARGS += --disable-softfloat \
+ --enable-targets=powerpc-linux,powerpc64-linux
+ endif
+ else
+ CONFARGS += --disable-multilib
+ endif
+endif
+
+ifneq (,$(findstring powerpc64le-linux,$(DEB_TARGET_GNU_TYPE)))
+ CONFARGS += --enable-secureplt
+ ifneq (,$(filter $(distrelease),jessie trusty utopic vivid wily))
+ CONFARGS += --with-cpu=power7 --with-tune=power8
+ else
+ CONFARGS += --with-cpu=power8
+ endif
+ CONFARGS += --enable-targets=powerpcle-linux
+ CONFARGS += --disable-multilib
+endif
+
+ifneq (,$(findstring powerpc64-linux,$(DEB_TARGET_GNU_TYPE)))
+ CONFARGS += --enable-secureplt
+ ifeq ($(biarch32),yes)
+ ifeq ($(multilib),yes)
+ CONFARGS += --disable-softfloat --enable-targets=powerpc64-linux,powerpc-linux
+ endif
+ else
+ CONFARGS += --disable-multilib
+ endif
+ ifeq ($(derivative),Ubuntu)
+ CONFARGS += --with-cpu-32=power7 --with-cpu-64=power7
+ endif
+endif
+
+# FIXME: only needed for isl-0.13 for now
+#CONFARGS += --disable-isl-version-check
+
+ifneq (,$(findstring cross-build-,$(build_type)))
+ # FIXME: requires isl headers for the target
+ #CONFARGS += --without-isl
+ # FIXME: build currently fails build the precompiled headers
+ CONFARGS += --disable-libstdcxx-pch
+endif
+
+ifeq ($(with_multiarch_lib),yes)
+ CONFARGS += --enable-multiarch
+endif
+
+ifneq (,$(findstring aarch64,$(DEB_TARGET_GNU_CPU)))
+ # requires binutils 2.25.90 or newer
+ ifeq (,$(filter $(distrelease),squeeze precise trusty utopic vivid wily))
+ CONFARGS += --enable-fix-cortex-a53-843419
+ endif
+endif
+
+ifeq ($(findstring powerpcspe,$(DEB_TARGET_ARCH)),powerpcspe)
+ CONFARGS += --with-cpu=8548 --enable-e500_double
+ CONFARGS += --enable-obsolete
+endif
+
+ifneq (,$(findstring softfloat,$(DEB_TARGET_GNU_CPU)))
+ CONFARGS += --with-float=soft
+endif
+
+ifneq (,$(findstring arm-vfp,$(DEB_TARGET_GNU_CPU)))
+ CONFARGS += --with-fpu=vfp
+endif
+
+ifneq (,$(findstring arm, $(DEB_TARGET_GNU_CPU)))
+ ifeq ($(multilib),yes)
+ CONFARGS += --enable-multilib
+ endif
+ CONFARGS += --disable-sjlj-exceptions
+ ifneq (,$(filter %armhf,$(DEB_TARGET_ARCH)))
+ ifeq ($(distribution),Raspbian)
+ with_arm_arch = armv6
+ with_arm_fpu = vfp
+ else
+ with_arm_arch = armv7-a
+ with_arm_fpu = vfpv3-d16
+ endif
+ else
+ # armel
+ ifeq ($(derivative),Debian)
+ ifneq (,$(filter $(distrelease),etch lenny squeeze wheezy jessie stretch))
+ with_arm_arch = armv4t
+ else
+ with_arm_arch = armv5te
+ endif
+ else ifneq (,$(filter $(distrelease),karmic))
+ with_arm_arch = armv6
+ with_arm_fpu = vfpv3-d16
+ else ifneq (,$(filter $(distrelease),lucid maverick natty oneiric precise))
+ with_arm_arch = armv7-a
+ with_arm_fpu = vfpv3-d16
+ else
+ with_arm_arch = armv5t # starting with quantal
+ CONFARGS += --with-specs='%{mfloat-abi=hard:-march=armv7-a___-mcpu=generic-armv7-a___-mfloat-abi=hard}'
+ endif
+ endif
+ CONFARGS += --with-arch=$(with_arm_arch)
+ ifneq (,$(with_arm_fpu))
+ CONFARGS += --with-fpu=$(with_arm_fpu)
+ endif
+ CONFARGS += --with-float=$(float_abi)
+ ifeq ($(with_arm_thumb),yes)
+ CONFARGS += --with-mode=thumb
+ endif
+endif
+
+ifeq ($(DEB_TARGET_GNU_CPU),$(findstring $(DEB_TARGET_GNU_CPU),m68k))
+ CONFARGS += --disable-werror
+endif
+# FIXME: correct fix-warnings.dpatch
+ifeq ($(derivative),Ubuntu)
+ CONFARGS += --disable-werror
+else ifeq ($(derivative),Debian)
+ CONFARGS += --disable-werror
+endif
+
+ifneq (,$(findstring sparc-linux,$(DEB_TARGET_GNU_TYPE)))
+ ifeq ($(biarch64),yes)
+ CONFARGS += --enable-targets=all
+ CONFARGS += --with-cpu-32=ultrasparc
+ else
+ CONFARGS += --with-cpu=ultrasparc
+ endif
+endif
+
+ifneq (,$(findstring sparc64-linux,$(DEB_TARGET_GNU_TYPE)))
+ CONFARGS += --with-cpu-32=ultrasparc
+ ifeq ($(biarch32),yes)
+ CONFARGS += --enable-targets=all
+ endif
+endif
+
+ifneq (,$(findstring ia64-linux,$(DEB_TARGET_GNU_TYPE)))
+ ifneq ($(with_internal_libunwind),yes)
+ CONFARGS += --with-system-libunwind
+ endif
+endif
+
+ifneq (,$(findstring sh4-linux,$(DEB_TARGET_GNU_TYPE)))
+ CONFARGS += --with-cpu=sh4 --with-multilib-list=m4,m4-nofpu
+endif
+
+ifneq (,$(findstring m68k-linux,$(DEB_TARGET_GNU_TYPE)))
+ CONFARGS += --disable-multilib
+endif
+
+ifneq (,$(filter tilegx,$(DEB_TARGET_GNU_CPU)))
+ CONFARGS += --disable-multilib
+endif
+
+ifneq (,$(findstring riscv64-linux,$(DEB_TARGET_GNU_TYPE)))
+ CONFARGS += --disable-multilib
+ CONFARGS += --with-arch=rv64imafdc --with-abi=lp64d
+endif
+
+ifneq (,$(findstring s390x-linux,$(DEB_TARGET_GNU_TYPE)))
+ ifeq ($(derivative),Ubuntu)
+ CONFARGS += --with-arch=zEC12
+ else # Debian
+ CONFARGS += --with-arch=z196
+ endif
+endif
+
+ifeq ($(DEB_TARGET_ARCH_OS),linux)
+ ifneq (,$(findstring $(DEB_TARGET_ARCH), alpha powerpc powerpcspe ppc64 ppc64el s390 s390x sparc sparc64))
+ CONFARGS += --with-long-double-128
+ endif
+endif
+
+ifneq (,$(filter $(DEB_TARGET_ARCH), amd64 i386 kfreebsd-i386 kfreebsd-amd64))
+ ifneq (,$(filter $(derivative),Ubuntu))
+ ifneq (,$(filter $(distrelease),dapper hardy))
+ CONFARGS += --with-arch-32=i486
+ else ifneq (,$(filter $(distrelease),jaunty karmic lucid))
+ CONFARGS += --with-arch-32=i586
+ else
+ CONFARGS += --with-arch-32=i686
+ endif
+ else # Debian
+ ifneq (,$(filter $(distrelease),etch lenny))
+ CONFARGS += --with-arch-32=i486
+ else ifneq (,$(filter $(distrelease),squeeze wheezy jessie))
+ CONFARGS += --with-arch-32=i586
+ else
+ CONFARGS += --with-arch-32=i686
+ endif
+ endif
+endif
+
+ifeq ($(DEB_TARGET_ARCH),amd64)
+ CONFARGS += --with-abi=m64
+endif
+ifeq ($(DEB_TARGET_ARCH),x32)
+ CONFARGS += --with-abi=mx32
+endif
+ifeq ($(multilib),yes)
+ ifneq (,$(filter $(DEB_TARGET_ARCH), amd64 i386))
+ CONFARGS += --with-multilib-list=m32,m64$(if $(filter yes,$(biarchx32)),$(COMMA)mx32)
+ else ifeq ($(DEB_TARGET_ARCH),x32)
+ CONFARGS += --with-multilib-list=mx32,m64,m32
+ endif
+ CONFARGS += --enable-multilib
+endif
+
+ifneq (,$(filter $(DEB_TARGET_ARCH), hurd-i386))
+ CONFARGS += --with-arch=i586
+endif
+
+ifeq ($(DEB_TARGET_ARCH),lpia)
+ CONFARGS += --with-arch=pentium-m --with-tune=i586
+endif
+
+ifneq (,$(filter $(DEB_TARGET_ARCH), amd64 i386 hurd-i386 kfreebsd-i386 kfreebsd-amd64))
+ CONFARGS += --with-tune=generic
+endif
+
+ifneq (,$(findstring mips-linux,$(DEB_TARGET_GNU_TYPE)))
+ CONFARGS += --with-arch-32=mips32r2 --with-fp-32=xx
+ CONFARGS += --with-lxc1-sxc1=no
+ ifeq ($(multilib),yes)
+ ifeq ($(biarchn32)-$(biarch64),yes-yes)
+ CONFARGS += --enable-targets=all
+ CONFARGS += --with-arch-64=mips64r2
+ endif
+ endif
+endif
+
+ifneq (,$(findstring mipsel-linux,$(DEB_TARGET_GNU_TYPE)))
+ CONFARGS += --with-arch-32=mips32r2 --with-fp-32=xx
+ CONFARGS += --with-madd4=no
+ CONFARGS += --with-lxc1-sxc1=no
+ ifeq ($(multilib),yes)
+ ifeq ($(biarchn32)-$(biarch64),yes-yes)
+ CONFARGS += --enable-targets=all
+ CONFARGS += --with-arch-64=mips64r2
+ endif
+ endif
+endif
+
+#FIXME: howto for mipsn32?
+ifneq (,$(findstring mips64el-linux-gnuabin32,$(DEB_TARGET_GNU_TYPE)))
+ CONFARGS += --with-madd4=no
+ ifeq ($(multilib),yes)
+ ifeq ($(biarch64)-$(biarch32),yes-yes)
+ CONFARGS += --enable-targets=all
+ CONFARGS += --with-arch-64=mips64r2
+ CONFARGS += --with-arch-32=mips32r2 --with-fp-32=xx
+ endif
+ endif
+endif
+
+ifneq (,$(findstring mips64-linux-gnuabin32,$(DEB_TARGET_GNU_TYPE)))
+ ifeq ($(multilib),yes)
+ ifeq ($(biarch64)-$(biarch32),yes-yes)
+ CONFARGS += --enable-targets=all
+ CONFARGS += --with-arch-64=mips64r2
+ CONFARGS += --with-arch-32=mips32r2 --with-fp-32=xx
+ endif
+ endif
+endif
+
+ifneq (,$(findstring mips64el-linux-gnuabi64,$(DEB_TARGET_GNU_TYPE)))
+ CONFARGS += --with-mips-plt
+ CONFARGS += --with-arch-64=mips64r2
+ CONFARGS += --with-madd4=no
+ ifeq ($(multilib),yes)
+ ifeq ($(biarchn32)-$(biarch32),yes-yes)
+ CONFARGS += --enable-targets=all
+ CONFARGS += --with-arch-32=mips32r2 --with-fp-32=xx
+ endif
+ endif
+endif
+
+ifneq (,$(findstring mips64-linux-gnuabi64,$(DEB_TARGET_GNU_TYPE)))
+ CONFARGS += --with-mips-plt
+ CONFARGS += --with-arch-64=mips64r2
+ ifeq ($(multilib),yes)
+ ifeq ($(biarchn32)-$(biarch32),yes-yes)
+ CONFARGS += --enable-targets=all
+ CONFARGS += --with-arch-32=mips32r2 --with-fp-32=xx
+ endif
+ endif
+endif
+
+ifneq (,$(findstring mipsisa32r6-linux,$(DEB_TARGET_GNU_TYPE)))
+ CONFARGS += --with-arch-32=mips32r6 --with-tune-32=mips32r6
+ ifeq ($(multilib),yes)
+ ifeq ($(biarchn32)-$(biarch64),yes-yes)
+ CONFARGS += --enable-targets=all
+ CONFARGS += --with-arch-64=mips64r6 --with-tune-64=mips64r6
+ endif
+ endif
+endif
+
+ifneq (,$(findstring mipsisa32r6el-linux,$(DEB_TARGET_GNU_TYPE)))
+ CONFARGS += --with-arch-32=mips32r6 --with-tune-32=mips32r6
+ ifeq ($(multilib),yes)
+ ifeq ($(biarchn32)-$(biarch64),yes-yes)
+ CONFARGS += --enable-targets=all
+ CONFARGS += --with-arch-64=mips64r6 --with-tune-64=mips64r6
+ endif
+ endif
+endif
+
+#FIXME: howto for mipsn32?
+ifneq (,$(findstring mipsisa64r6el-linux-gnuabin32,$(DEB_TARGET_GNU_TYPE)))
+ CONFARGS += --with-mips-plt
+ ifeq ($(multilib),yes)
+ ifeq ($(biarch64)-$(biarch32),yes-yes)
+ CONFARGS += --enable-targets=all
+ CONFARGS += --with-arch-64=mips64r6 --with-tune-64=mips64r6
+ CONFARGS += --with-arch-32=mips32r6 --with-tune-32=mips32r6
+ endif
+ endif
+endif
+
+ifneq (,$(findstring mipsisa64r6-linux-gnuabin32,$(DEB_TARGET_GNU_TYPE)))
+ CONFARGS += --with-mips-plt
+ ifeq ($(multilib),yes)
+ ifeq ($(biarch64)-$(biarch32),yes-yes)
+ CONFARGS += --enable-targets=all
+ CONFARGS += --with-arch-64=mips64r6 --with-tune-64=mips64r6
+ CONFARGS += --with-arch-32=mips32r6 --with-tune-32=mips32r6
+ endif
+ endif
+endif
+
+ifneq (,$(findstring mipsisa64r6el-linux-gnuabi64,$(DEB_TARGET_GNU_TYPE)))
+ CONFARGS += --with-mips-plt
+ CONFARGS += --with-arch-64=mips64r6 --with-tune-64=mips64r6
+ ifeq ($(multilib),yes)
+ ifeq ($(biarchn32)-$(biarch32),yes-yes)
+ CONFARGS += --enable-targets=all
+ CONFARGS += --with-arch-32=mips32r6 --with-tune-32=mips32r6
+ endif
+ endif
+endif
+
+ifneq (,$(findstring mipsisa64r6-linux-gnuabi64,$(DEB_TARGET_GNU_TYPE)))
+ CONFARGS += --with-mips-plt
+ CONFARGS += --with-arch-64=mips64r6 --with-tune-64=mips64r6
+ ifeq ($(multilib),yes)
+ ifeq ($(biarchn32)-$(biarch32),yes-yes)
+ CONFARGS += --enable-targets=all
+ CONFARGS += --with-arch-32=mips32r6 --with-tune-32=mips32r6
+ endif
+ endif
+endif
+
+ifneq (,$(findstring mips,$(DEB_TARGET_GNU_TYPE)))
+ ifeq (,$(filter yes,$(biarch32) $(biarchn32) $(biarch64)))
+ CONFARGS += --disable-multilib
+ endif
+endif
+
+ifneq (,$(findstring s390-linux,$(DEB_TARGET_GNU_TYPE)))
+ ifeq ($(multilib),yes)
+ ifeq ($(biarch64),yes)
+ CONFARGS += --enable-targets=all
+ endif
+ endif
+endif
+
+ifneq (,$(findstring hppa-linux,$(DEB_TARGET_GNU_TYPE)))
+ CONFARGS += --disable-libstdcxx-pch
+endif
+
+ifneq (,$(offload_targets))
+ CONFARGS += \
+ --enable-offload-targets=$(subst $(SPACE),$(COMMA),$(offload_targets))
+ ifeq ($(with_offload_nvptx),yes)
+ CONFARGS += --without-cuda-driver
+ endif
+endif
+
+ifneq (,$(findstring gdc, $(PKGSOURCE)))
+ CONFARGS += --disable-libquadmath
+endif
+
+ifeq ($(trunk_build),yes)
+ ifeq ($(findstring --disable-werror, $(CONFARGS)),)
+ CONFARGS += --disable-werror
+ endif
+ CONFARGS += --enable-checking=yes
+else
+ CONFARGS += --enable-checking=release
+endif
+
+CONFARGS += \
+ --build=$(DEB_BUILD_GNU_TYPE) \
+ --host=$(DEB_HOST_GNU_TYPE) \
+ --target=$(TARGET_ALIAS)
+
+ifeq ($(DEB_CROSS),yes)
+ CONFARGS += \
+ --program-prefix=$(TARGET_ALIAS)- \
+ --includedir=/$(PFL)/include
+endif
+
+ifeq ($(with_bootstrap),off)
+ bootstrap_target =
+else ifeq ($(with_bootstrap),profiled)
+ bootstrap_target = profiledbootstrap
+ bootstrap_target = profiledbootstrap-lean
+else ifeq ($(with_bootstrap),)
+ bootstrap_target = bootstrap
+ ifneq (, $(filter $(PKGSOURCE),gcc-$(BASE_VERSION) gnat-$(BASE_VERSION) gcc-snapshot))
+ bootstrap_target = bootstrap
+ endif
+ ifneq (,$(DEB_STAGE))
+ bootstrap_target = bootstrap
+ endif
+endif
+
+DEJAGNU_TIMEOUT=300
+# Increase the timeout for one testrun on slow architectures
+ifeq ($(derivative),Debian)
+ ifneq (,$(findstring $(DEB_TARGET_ARCH),arm64))
+ DEJAGNU_TIMEOUT=240
+ else ifneq (,$(findstring $(DEB_TARGET_ARCH),arm armel armhf hppa m68k sparc))
+ DEJAGNU_TIMEOUT=600
+ else ifneq (,$(findstring $(DEB_TARGET_GNU_CPU),amd64 i386 i486 i686 lpia))
+ DEJAGNU_TIMEOUT=180
+ endif
+ ifeq ($(DEB_TARGET_GNU_SYSTEM),gnu)
+ DEJAGNU_TIMEOUT=900
+ endif
+else ifeq ($(derivative),Ubuntu)
+ ifneq (,$(findstring $(DEB_TARGET_ARCH),arm64))
+ DEJAGNU_TIMEOUT=240
+ else ifneq (,$(findstring $(DEB_TARGET_ARCH),armel armhf hppa ia64 sparc))
+ DEJAGNU_TIMEOUT=600
+ else ifneq (,$(findstring $(DEB_TARGET_GNU_CPU),amd64 i386 i486 i686 lpia))
+ DEJAGNU_TIMEOUT=180
+ endif
+endif
+
+DEJAGNU_RUNS =
+ifneq ($(trunk_build),yes)
+ifeq ($(with_ssp),yes)
+ # the buildds are just slow ... don't check the non-default
+ ifneq (,$(findstring $(DEB_TARGET_GNU_CPU),sh4 mips))
+ DEJAGNU_RUNS =
+ else ifneq (,$(filter $(DEB_TARGET_ARCH),armel))
+ DEJAGNU_RUNS =
+ else
+ ifneq ($(single_package),yes)
+ DEJAGNU_RUNS += $(if $(filter yes,$(with_ssp_default)),-fno-stack-protector,-fstack-protector)
+ endif
+ endif
+ ifeq ($(derivative),Ubuntu)
+ # the buildds are just slow ... don't check the non-default
+ ifneq (,$(findstring $(DEB_TARGET_GNU_CPU),ia64 sparc))
+ DEJAGNU_RUNS =
+ endif
+ # FIXME Ubuntu armel buildd hangs
+ ifneq (,$(findstring arm, $(DEB_TARGET_GNU_CPU)))
+ DEJAGNU_RUNS =
+ endif
+ endif
+endif
+endif
+
+ifeq ($(derivative),Ubuntu)
+ ifneq (,$(findstring arm, $(DEB_TARGET_GNU_CPU)))
+ ifeq ($(with_arm_thumb),yes)
+ #DEJAGNU_RUNS += -marm
+ else
+ DEJAGNU_RUNS += -mthumb
+ endif
+ endif
+endif
+
+# no b-d on g++-multilib, this is run by the built compiler
+abi_run_check = $(strip $(if $(wildcard build/runcheck$(1).out), \
+ $(shell cat build/runcheck$(1).out), \
+ $(shell CC="$(builddir)/gcc/xg++ -B$(builddir)/gcc/ -static-libgcc $(1)" bash debian/runcheck.sh)))
+ifeq ($(biarch32),yes)
+ DEJAGNU_RUNS += $(call abi_run_check,$(if $(filter $(DEB_TARGET_ARCH_CPU),mips64 mips64el mipsn32 mipsn32el),-mabi=32,-m32))
+endif
+ifeq ($(biarch64),yes)
+ DEJAGNU_RUNS += $(call abi_run_check,$(if $(filter $(DEB_TARGET_ARCH_CPU),mips mipsel),-mabi=64,-m64))
+endif
+ifeq ($(biarchn32),yes)
+ DEJAGNU_RUNS += $(call abi_run_check,-mabi=n32)
+endif
+ifeq ($(biarchx32),yes)
+ DEJAGNU_RUNS += $(call abi_run_check,-mx32)
+endif
+
+# gdc is not multilib'd
+ifneq (,$(findstring gdc, $(PKGSOURCE)))
+ DEJAGNU_RUNS =
+endif
+
+# neither is gnat
+ifneq (,$(findstring gnat, $(PKGSOURCE)))
+ DEJAGNU_RUNS =
+endif
+
+ifneq (,$(strip $(value DEJAGNU_RUNS)))
+ RUNTESTFLAGS = RUNTESTFLAGS="--target_board=unix\{,$(subst $(SPACE),$(COMMA),$(strip $(DEJAGNU_RUNS)))\}"
+endif
+
+# PF is the installation prefix for the package without the leading slash.
+# It's "usr" for gcc releases.
+ifneq (,$(PF))
+ # use value set in the environment
+else ifeq ($(trunk_build),yes)
+ PF = usr/lib/gcc-snapshot
+else ifeq ($(PKGSOURCE),gcc-linaro)
+ PF = usr/lib/gcc-linaro
+else
+ PF = usr
+endif
+
+# PFL is the installation prefix with DEB_TARGET_GNU_TYPE attached for cross builds
+ifeq ($(DEB_CROSS),yes)
+ PFL = $(PF)/$(DEB_TARGET_GNU_TYPE)
+else
+ PFL = $(PF)
+endif
+
+# RPF is the base prefix or installation prefix with DEB_TARGET_GNU_TYPE attached for cross builds
+ifeq ($(DEB_CROSS),yes)
+ RPF = $(PF)/$(DEB_TARGET_GNU_TYPE)
+else
+ RPF =
+endif
+
+ifeq ($(with_multiarch_lib),yes)
+ ifeq ($(DEB_CROSS),yes)
+ libdir = lib
+ else
+ libdir = lib/$(DEB_TARGET_MULTIARCH)
+ endif
+else
+ libdir = lib
+endif
+configured_libdir = lib
+
+hppa64libexecdir= $(PF)/lib
+
+# /usr/libexec doesn't follow the FHS
+ifeq ($(single_package),yes)
+ libdir = lib
+ libexecdir = $(PF)/libexec
+ versiondir = $(BASE_VERSION)
+else
+ libexecdir = $(PF)/$(configured_libdir)
+ versiondir = $(BASE_VERSION)
+endif
+buildlibdir = $(builddir)/$(TARGET_ALIAS)
+
+# install cross compilers in /usr/lib/gcc-cross, native ones in /usr/lib/gcc
+gcc_subdir_name = gcc
+ifneq ($(single_package),yes)
+ ifeq ($(DEB_CROSS),yes)
+ gcc_subdir_name = gcc-cross
+ endif
+endif
+
+gcc_lib_dir = $(PF)/$(configured_libdir)/$(gcc_subdir_name)/$(TARGET_ALIAS)/$(versiondir)
+gcc_lexec_dir = $(libexecdir)/$(gcc_subdir_name)/$(TARGET_ALIAS)/$(versiondir)
+
+lib32loc = lib32
+ifneq (,$(findstring mips,$(DEB_TARGET_GNU_TYPE)))
+lib32loc = libo32
+endif
+lib32 = $(PF)/$(lib32loc)
+lib64 = lib64
+libn32 = lib32
+libx32 = libx32
+
+p_l= $(1)$(cross_lib_arch)
+p_d= $(1)-dbg$(cross_lib_arch)
+d_l= debian/$(p_l)
+d_d= debian/$(p_d)
+
+ifeq ($(DEB_CROSS),yes)
+ usr_lib = $(PFL)/lib
+else
+ usr_lib = $(PFL)/$(libdir)
+endif
+usr_lib32 = $(PFL)/$(lib32loc)
+usr_libn32 = $(PFL)/lib32
+usr_libx32 = $(PFL)/libx32
+usr_lib64 = $(PFL)/lib64
+# FIXME: Move to the new location for native builds too
+ifeq ($(DEB_CROSS),yes)
+ usr_libhf = $(PFL)/libhf
+ usr_libsf = $(PFL)/libsf
+else
+ usr_libhf = $(PFL)/lib/arm-linux-gnueabihf
+ usr_libsf = $(PFL)/lib/arm-linux-gnueabi
+endif
+
+ifeq ($(DEB_STAGE)-$(DEB_CROSS),rtlibs-yes)
+ PFL = $(PF)
+ RPF =
+ libdir = lib/$(DEB_TARGET_MULTIARCH)
+ usr_lib = $(PF)/lib/$(DEB_TARGET_MULTIARCH)
+endif
+
+gcc_lib_dir32 = $(gcc_lib_dir)/$(biarch32subdir)
+gcc_lib_dirn32 = $(gcc_lib_dir)/$(biarchn32subdir)
+gcc_lib_dirx32 = $(gcc_lib_dir)/$(biarchx32subdir)
+gcc_lib_dir64 = $(gcc_lib_dir)/$(biarch64subdir)
+gcc_lib_dirhf = $(gcc_lib_dir)/$(biarchhfsubdir)
+gcc_lib_dirsf = $(gcc_lib_dir)/$(biarchsfsubdir)
+
+libgcc_dir = $(RPF)/$(libdir)
+# yes, really; lib32gcc_s ends up in usr
+libgcc_dir32 = $(PFL)/$(lib32loc)
+libgcc_dirn32 = $(RPF)/lib32
+# libx32gcc_s also ends up in usr
+libgcc_dirx32 = $(PFL)/libx32
+libgcc_dir64 = $(RPF)/lib64
+# FIXME: Move to the new location for native builds too
+ifeq ($(DEB_CROSS),yes)
+ libgcc_dirhf = $(RPF)/libhf
+ libgcc_dirsf = $(RPF)/libsf
+else
+ libgcc_dirhf = $(RPF)/lib/arm-linux-gnueabihf
+ libgcc_dirsf = $(RPF)/lib/arm-linux-gnueabi
+endif
+
+# install_gcc_lib(lib,soname,flavour,package)
+define install_gcc_lib
+ mv $(d)/$(usr_lib$(3))/$(1)*.a debian/$(4)/$(gcc_lib_dir$(3))/
+ rm -f $(d)/$(usr_lib$(3))/$(1)*.{la,so}
+ dh_link -p$(4) \
+ /$(usr_lib$(3))/$(1).so.$(2) /$(gcc_lib_dir$(3))/$(1).so
+
+endef
+
+checkdirs = $(builddir)
+ifeq ($(with_separate_go),yes)
+ ifeq ($(PKGSOURCE),gccgo-$(BASE_VERSION))
+ checkdirs = $(buildlibdir)/libgo
+ endif
+endif
+ifeq ($(with_separate_gnat),yes)
+ ifeq ($(PKGSOURCE),gnat-$(BASE_VERSION))
+ checkdirs = $(builddir)/gcc
+ endif
+endif
+
+# FIXME: MULTIARCH_DIRNAME needed for g++-multiarch-incdir.diff
+MULTIARCH_DIRNAME := $(DEB_TARGET_MULTIARCH)
+export MULTIARCH_DIRNAME
+
+default: build
+
+configure: $(configure_dependencies)
+
+$(configure_dummy_stamp):
+ touch $(configure_dummy_stamp)
+
+$(configure_stamp):
+ dh_testdir
+ : # give information about the build process
+ @echo "------------------------ Build process variables ------------------------"
+ @echo "Memory on this machine:"
+ @egrep '^(Mem|Swap)' /proc/meminfo || true
+ @echo "Number of parallel processes used for the build: $(USE_CPUS)"
+ @echo "DEB_BUILD_OPTIONS: $$DEB_BUILD_OPTIONS"
+ @echo "Package source: $(PKGSOURCE)"
+ @echo "GCC version: $(GCC_VERSION)"
+ @echo "Base Debian version: $(BASE_VERSION)"
+ @echo -e "Configured with: $(subst ___, ,$(foreach i,$(CONFARGS),$(i)\n\t))"
+ifeq ($(DEB_CROSS),yes)
+ @echo "Building cross compiler for $(DEB_TARGET_ARCH)"
+endif
+ @echo "Using shell $(SHELL)"
+ @echo "Architecture: $(DEB_TARGET_ARCH) (GNU: $(TARGET_ALIAS))"
+ @echo "CPPFLAGS: $(CPPFLAGS)"
+ @echo "CFLAGS: $(CFLAGS)"
+ @echo "LDFLAGS: $(LDFLAGS)"
+ @echo "BOOT_CFLAGS: $(BOOT_CFLAGS)"
+ @echo "DEBIAN_BUILDARCH: $(DEBIAN_BUILDARCH)"
+ @echo "Install prefix: /$(PF)"
+ifeq ($(biarchn32)-$(biarch64),yes-yes)
+ @echo "Will build the triarch compilers (o32/n32/64, defaulting to o32)"
+else ifeq ($(biarchn32)-$(biarch32),yes-yes)
+ @echo "Will build the triarch compilers (o32/n32/64, defaulting to 64)"
+else ifeq ($(biarch64)-$(biarch32),yes-yes)
+ @echo "Will build the triarch compilers (x32/64/32, defaulting to x32)"
+else ifeq ($(biarch64)-$(biarchx32),yes-yes)
+ @echo "Will build the triarch compilers (32/64/x32, defaulting to 32bit)"
+else ifeq ($(biarch32)-$(biarchx32),yes-yes)
+ @echo "Will build the triarch compilers (64/32/x32, defaulting to 64bit)"
+else
+ ifeq ($(biarch64),yes)
+ @echo "Will build the biarch compilers (32/64, defaulting to 32bit)"
+ else
+ ifeq ($(biarch32),yes)
+ @echo "Will build the biarch compilers (64/32, defaulting to 64bit)"
+ else
+ @echo "Will not build the biarch compilers"
+ endif
+ endif
+endif
+
+ifeq ($(with_cxx),yes)
+ @echo "Will build the C++ compiler"
+else
+ @echo "Will not build the C++ compiler: $(with_cxx)"
+endif
+ifeq ($(with_objc),yes)
+ @echo "Will build the ObjC compiler."
+ ifeq ($(with_objc_gc),yes)
+ @echo "Will build the extra ObjC runtime for garbage collection."
+ else
+ @echo "Will not build the extra ObjC runtime for garbage collection."
+ endif
+else
+ @echo "Will not build the ObjC compiler: $(with_objc)"
+endif
+ifeq ($(with_objcxx),yes)
+ @echo "Will build the Obj-C++ compiler"
+else
+ @echo "Will not build the Obj-C++ compiler: $(with_objcxx)"
+endif
+ifeq ($(with_fortran),yes)
+ @echo "Will build the Fortran 95 compiler."
+else
+ @echo "Will not build the Fortran 95 compiler: $(with_fortran)"
+endif
+ifeq ($(with_ada),yes)
+ @echo "Will build the Ada compiler."
+ ifeq ($(with_libgnat),yes)
+ @echo "Will build the shared Ada libraries."
+ else
+ @echo "Will not build the shared Ada libraries."
+ endif
+else
+ @echo "Will not build the Ada compiler: $(with_ada)"
+endif
+ifeq ($(with_go),yes)
+ @echo "Will build the Go compiler."
+else
+ @echo "Will not build the Go compiler: $(with_go)"
+endif
+ifeq ($(with_d),yes)
+ @echo "Will build the D compiler"
+ ifeq ($(with_phobos),yes)
+ @echo "Will build the phobos D runtime library."
+ else
+ @echo "Will not build the phobos D runtime library: $(with_phobos)"
+ endif
+else
+ @echo "Will not build the D compiler: $(with_d)"
+endif
+ifeq ($(with_ssp),yes)
+ @echo "Will build with SSP support."
+else
+ @echo "Will build without SSP support: $(with_ssp)"
+endif
+ifeq ($(with_check),yes)
+ @echo "Will run the testsuite."
+else
+ @echo "Will not run the testsuite: $(with_check)"
+endif
+ifeq ($(with_nls),yes)
+ @echo "Will enable national language support."
+else
+ @echo "Will disable national language support: $(with_nls)"
+endif
+ @echo "-----------------------------------------------------------------------------"
+ @echo ""
+ifeq ($(with_check),yes)
+ @if echo "spawn true" | /usr/bin/expect -f - >/dev/null; then \
+ : ; \
+ else \
+ echo "expect is failing on your system with the above error, which means the GCC"; \
+ echo "testsuite will fail. Please resolve the above issues and retry the build."; \
+ echo "-----------------------------------------------------------------------------"; \
+ exit 1; \
+ fi
+endif
+ rm -f $(configure_stamp) $(build_stamp)
+ cat debian/README.Debian $(patch_stamp) > debian/README.Debian.$(DEB_TARGET_ARCH)
+
+ rm -rf $(builddir)
+ mkdir $(builddir)
+
+ : # some tools like gettext are built with a newer libstdc++
+ mkdir -p bin
+ for i in msgfmt; do \
+ install -m755 debian/bin-wrapper.in bin/$$i; \
+ done
+
+ : # configure
+ cd $(builddir) \
+ && $(SET_PATH) \
+ $(call pass_vars, CC CXX $(flags_to_pass) \
+ CFLAGS_FOR_BUILD CXXFLAGS_FOR_BUILD LDFLAGS_FOR_BUILD \
+ CFLAGS_FOR_TARGET CXXFLAGS_FOR_TARGET LDFLAGS_FOR_TARGET) \
+ $(SET_SHELL) $(SET_TARGET_TOOLS) \
+ ../src/configure $(subst ___, ,$(CONFARGS))
+
+ : # multilib builds without b-d on gcc-multilib (used in FLAGS_FOR_TARGET)
+ if [ -d /usr/include/$(DEB_TARGET_MULTIARCH)/asm ]; then \
+ mkdir -p $(builddir)/sys-include; \
+ ln -sf /usr/include/$(DEB_TARGET_MULTIARCH)/asm $(builddir)/sys-include/asm; \
+ fi
+
+ touch $(configure_stamp)
+
+build: $(sort $(build_arch_dependencies) $(build_indep_dependencies))
+build-arch: $(build_arch_dependencies)
+build-indep: $(build_indep_dependencies)
+
+$(build_dummy_stamp):
+ touch $(build_dummy_stamp)
+
+$(build_locale_stamp):
+ifeq ($(locale_data)-$(with_cxx),generate-yes)
+ : # build locales needed by libstdc++ testsuite
+ rm -rf locales
+ mkdir locales
+ -USE_CPUS=$(USE_CPUS) sh debian/locale-gen
+endif
+ touch $(build_locale_stamp)
+
+
+$(build_stamp): $(configure_stamp) $(build_locale_stamp)
+ dh_testdir
+ rm -f bootstrap-protocol
+ @echo TTTTT $$(date -R)
+ifeq ($(build_type),build-native)
+ : # build native compiler
+ ( \
+ set +e; \
+ $(SET_PATH) \
+ $(SET_SHELL) \
+ $(SET_LOCPATH) \
+ $(MAKE) -C $(builddir) $(bootstrap_target) \
+ $(call pass_vars, CC $(flags_to_pass) \
+ STAGE1_CFLAGS STAGE1_LDFLAGS \
+ BOOT_CFLAGS BOOT_LDFLAGS \
+ CFLAGS_FOR_BUILD CXXFLAGS_FOR_BUILD LDFLAGS_FOR_BUILD \
+ CFLAGS_FOR_TARGET CXXFLAGS_FOR_TARGET LDFLAGS_FOR_TARGET) \
+ ; \
+ echo $$? > status; \
+ ) 2>&1 | tee bootstrap-protocol
+else ifneq (,$(filter $(build_type),build-cross cross-build-native cross-build-cross))
+ : # build cross compiler for $(TARGET_ALIAS)
+ ( \
+ set +e; \
+ $(SET_PATH) \
+ $(SET_LOCPATH) \
+ $(MAKE) -C $(builddir) \
+ $(call pass_vars, BOOT_CFLAGS BOOT_LDFLAGS \
+ CFLAGS_FOR_TARGET LDFLAGS_FOR_TARGET) \
+ ; \
+ echo $$? > status; \
+ ) 2>&1 | tee bootstrap-protocol
+endif
+ @echo TTTTT $$(date -R)
+ s=`cat status`; rm -f status; \
+ if [ $$s -ne 0 ] && [ -z "$$NO_CONFIG_LOG_DUMP$$NO_CONFIG_LOG_DUMPS" ]; then \
+ for log in $$(find $(builddir) -name config.log); do \
+ case "$$log" in */build/build-*|*/stage1-*|*/prev-*) continue; esac; \
+ echo LOGFILE START $$log; \
+ cat $$log; \
+ echo LOGFILE END $$log; \
+ done; \
+ fi; \
+ test $$s -eq 0
+
+ if [ -f $(srcdir)/contrib/warn_summary ]; then \
+ rm -f bootstrap-summary; \
+ /bin/sh $(srcdir)/contrib/warn_summary bootstrap-protocol \
+ > bootstrap-summary; \
+ fi
+
+ touch $(build_stamp)
+
+ifneq ($(build_type),build-native)
+ BUILT_CC = $(CC)
+ BUILT_CXX = $(CXX)
+else
+ BUILT_CC = $(builddir)/gcc/xgcc -B$(builddir)/gcc/
+ BUILT_CXX = $(builddir)/gcc/xg++ -B$(builddir)/gcc/ \
+ -B$(builddir)/$(TARGET_ALIAS)/libatomic/.libs \
+ -B$(builddir)/$(TARGET_ALIAS)/libstdc++-v3/src/.libs \
+ -B$(builddir)/$(TARGET_ALIAS)/libstdc++-v3/libsupc++/.libs \
+ -I$(builddir)/$(TARGET_ALIAS)/libstdc++-v3/include \
+ -I$(builddir)/$(TARGET_ALIAS)/libstdc++-v3/include/$(TARGET_ALIAS) \
+ -I$(srcdir)/libstdc++-v3/libsupc++ \
+ -L$(builddir)/$(TARGET_ALIAS)/libatomic/.libs \
+ -L$(builddir)/$(TARGET_ALIAS)/libstdc++-v3/src/.libs \
+ -L$(builddir)/$(TARGET_ALIAS)/libstdc++-v3/libsupc++/.libs
+endif
+
+CONFARGS_JIT := \
+ $(filter-out --enable-languages=% \
+ --enable-libstdcxx-debug %bootstrap,\
+ $(CONFARGS)) \
+ --enable-languages=c++,jit \
+ --enable-host-shared \
+ --disable-bootstrap
+
+$(configure_jit_stamp): $(build_stamp)
+ dh_testdir
+ rm -f $(configure_jit_stamp) $(build_jit_stamp)
+ rm -rf $(builddir_jit)
+ mkdir $(builddir_jit)
+
+ : # configure jit
+ cd $(builddir_jit) && \
+ $(SET_PATH) \
+ $(SET_SHELL) \
+ CC="$(BUILT_CC)" \
+ CXX="$(BUILT_CXX)" \
+ ../src/configure $(subst ___, ,$(CONFARGS_JIT))
+ touch $(configure_jit_stamp)
+
+$(build_jit_stamp): $(configure_jit_stamp)
+ $(SET_PATH) \
+ $(SET_SHELL) \
+ $(SET_LOCPATH) \
+ LD_LIBRARY_PATH=$${LD_LIBRARY_PATH:+$$LD_LIBRARY_PATH:}$(builddir)/gcc \
+ biarch_multidir_names=none \
+ $(MAKE) -C $(builddir_jit) \
+ $(call pass_vars, BOOT_CFLAGS BOOT_LDFLAGS \
+ CFLAGS_FOR_TARGET LDFLAGS_FOR_TARGET)
+
+ifeq ($(with_check),yes)
+ # FIXME: #782444
+ ifeq (,$(filter $(DEB_TARGET_ARCH), kfreebsd-i386 kfreebsd-amd64))
+ -$(MAKE) -C $(builddir_jit)/gcc check-jit \
+ RUNTESTFLAGS="-v -v"
+ endif
+endif
+
+ touch $(build_jit_stamp)
+
+CONFARGS_NVPTX := \
+ --prefix=/$(PF) \
+ --libexecdir=/$(libexecdir) \
+ --with-gcc-major-version-only \
+ --disable-bootstrap \
+ --disable-sjlj-exceptions \
+ --enable-newlib-io-long-long \
+ --target nvptx-none \
+ --enable-as-accelerator-for=$(DEB_TARGET_GNU_TYPE) \
+ --enable-languages=c,c++,fortran,lto \
+ --enable-checking=release \
+ --with-system-zlib \
+ --without-isl
+
+# --with-build-time-tools=/$(PF)/nvptx-none/bin
+
+CONFARGS_NVPTX += --program-prefix=nvptx-none-
+ifeq ($(versioned_packages),yes)
+ CONFARGS_NVPTX += --program-suffix=-$(BASE_VERSION)
+endif
+
+# FIXME: must not be run in parrallel with jit and hppa64 builds ...
+$(configure_nvptx_stamp): $(build_stamp)
+ dh_testdir
+ rm -f $(configure_nvptx_stamp) $(build_nvptx_stamp)
+ rm -rf $(builddir_nvptx)
+ mkdir $(builddir_nvptx)
+ ln -sf ../$(nl_nvptx_srcdir)/newlib $(srcdir)/newlib
+
+ : # configure nvptx offload
+ cd $(builddir_nvptx) && \
+ $(SET_PATH) \
+ $(SET_SHELL) \
+ CC="$(BUILT_CC)" \
+ CXX="$(BUILT_CXX)" \
+ ../src/configure $(subst ___, ,$(CONFARGS_NVPTX))
+ rm -f $(srcdir)/newlib
+ touch $(configure_nvptx_stamp)
+
+$(build_nvptx_stamp): $(configure_nvptx_stamp) \
+ $(if $(filter yes, $(with_jit)), $(build_jit_stamp)) \
+ $(if $(filter yes, $(with_hppa64)), $(build_hppa64_stamp))
+ ln -sf ../$(nl_nvptx_srcdir)/newlib $(srcdir)/newlib
+
+ $(SET_PATH) \
+ $(SET_SHELL) \
+ $(SET_LOCPATH) \
+ LD_LIBRARY_PATH=$${LD_LIBRARY_PATH:+$$LD_LIBRARY_PATH:}$(builddir)/gcc \
+ biarch_multidir_names=none \
+ $(MAKE) -C $(builddir_nvptx) \
+ $(call pass_vars, BOOT_CFLAGS BOOT_LDFLAGS \
+ CFLAGS_FOR_TARGET)
+
+ifeq ($(with_check),yes)
+# -$(MAKE) -C $(builddir_nvptx)/gcc check-jit \
+# RUNTESTFLAGS="-v -v"
+endif
+ rm -f $(srcdir)/newlib
+ touch $(build_nvptx_stamp)
+
+ifeq ($(versioned_packages),yes)
+ hppa64_configure_flags += --program-suffix=-$(BASE_VERSION)
+endif
+
+$(configure_hppa64_stamp): $(build_stamp)
+ dh_testdir
+ rm -f $(configure_hppa64_stamp) $(build_hppa64_stamp)
+ rm -rf $(builddir_hppa64)
+ mkdir $(builddir_hppa64)
+ : # configure hppa64
+ cd $(builddir_hppa64) && \
+ $(SET_PATH) \
+ $(SET_SHELL) \
+ CC="$(BUILT_CC)" \
+ CXX="$(BUILT_CXX)" \
+ $(call pass_vars, $(flags_to_pass)) \
+ ../src/configure \
+ --enable-languages=c \
+ --prefix=/$(PF) \
+ --libexecdir=/$(hppa64libexecdir) \
+ --with-gcc-major-version-only \
+ --disable-shared \
+ --disable-nls \
+ --disable-threads \
+ --disable-libatomic \
+ --disable-libgomp \
+ --disable-libitm \
+ --disable-libssp \
+ --disable-libquadmath \
+ --enable-plugin \
+ --with-system-zlib \
+ --with-as=/usr/bin/hppa64-linux-gnu-as \
+ --with-ld=/usr/bin/hppa64-linux-gnu-ld \
+ --includedir=/usr/hppa64-linux-gnu/include \
+ --build=$(DEB_BUILD_GNU_TYPE) \
+ --host=$(DEB_HOST_GNU_TYPE) \
+ --target=hppa64-linux-gnu
+ touch $(configure_hppa64_stamp)
+
+$(build_hppa64_stamp): $(configure_hppa64_stamp)
+ $(SET_PATH) \
+ $(SET_SHELL) \
+ $(SET_LOCPATH) \
+ LD_LIBRARY_PATH=$${LD_LIBRARY_PATH:+$$LD_LIBRARY_PATH:}$(builddir)/gcc \
+ $(MAKE) -C $(builddir_hppa64) \
+ $(call pass_vars, \
+ CFLAGS_FOR_TARGET CXXFLAGS_FOR_TARGET LDFLAGS_FOR_TARGET)
+ touch $(build_hppa64_stamp)
+
+$(configure_neon_stamp): $(build_stamp)
+ dh_testdir
+ rm -f $(configure_neon_stamp) $(build_neon_stamp)
+ rm -rf $(builddir_neon)
+ mkdir $(builddir_neon)
+ : # configure neon
+ cd $(builddir_neon) && \
+ $(SET_PATH) \
+ $(SET_SHELL) \
+ $(call pass_vars, $(flags_to_pass)) \
+ CC="$(builddir)/gcc/xg++ -B$(builddir)/gcc/" \
+ ../src/configure \
+ --disable-bootstrap \
+ --enable-languages=c,c++,objc,fortran \
+ --prefix=/$(PF) \
+ --libexecdir=/$(libexecdir) \
+ --program-suffix=-$(BASE_VERSION) \
+ --disable-nls \
+ --enable-plugin \
+ --with-arch=armv7-a --with-tune=cortex-a8 \
+ --with-float=$(float_abi) --with-fpu=neon \
+ --host=arm-linux-gnueabi \
+ --build=arm-linux-gnueabi \
+ --target=arm-linux-gnueabi
+ touch $(configure_neon_stamp)
+
+$(build_neon_stamp): $(configure_neon_stamp)
+ $(SET_PATH) \
+ $(SET_SHELL) \
+ $(SET_LOCPATH) \
+ $(MAKE) -C $(builddir_neon) \
+ $(call pass_vars, BOOT_CFLAGS BOOT_LDFLAGS \
+ CFLAGS_FOR_TARGET LDFLAGS_FOR_TARGET)
+ touch $(build_neon_stamp)
+
+
+ifeq ($(with_ada),yes)
+ MANUALS = \
+ $(srcdir)/gcc/ada/gnat_ugn.texi \
+ $(srcdir)/gcc/ada/gnat_rm.texi
+endif
+MANUALS += \
+ $(srcdir)/gcc/doc/gccint.texi \
+ $(srcdir)/gcc/doc/gcc.texi \
+ $(srcdir)/gcc/doc/cpp.texi \
+ $(srcdir)/gcc/doc/cppinternals.texi
+ifeq ($(with_fortran),yes)
+ MANUALS += $(srcdir)/gcc/fortran/gfortran.texi
+endif
+ifeq ($(with_ada),yes)
+ MANUALS += $(srcdir)/gcc/ada/gnat-style.texi
+endif
+ifeq ($(with_gomp),yes)
+ MANUALS += $(srcdir)/libgomp/libgomp.texi
+endif
+ifeq ($(with_itm),yes)
+ MANUALS += $(srcdir)/libitm/libitm.texi
+endif
+ifeq ($(with_qmath),yes)
+ MANUALS += $(srcdir)/libquadmath/libquadmath.texi
+endif
+ifeq ($(with_go),yes)
+ MANUALS += $(srcdir)/gcc/go/gccgo.texi
+endif
+
+html-docs: $(build_html_stamp)
+#$(build_html_stamp): $(stampdir)/05-build-html-split
+$(build_html_stamp): $(stampdir)/05-build-html-nosplit
+
+html-makeinfo-split: $(stampdir)/05-build-html-split
+$(stampdir)/05-build-html-split: $(build_stamp)
+ mkdir -p html
+ rm -f html/*.html
+ cd $(builddir)/gcc; \
+ echo -n $(MANUALS) | xargs -d ' ' -L 1 -P $(USE_CPUS) -I{} \
+ sh -c 'outname=`basename {} .texi`.html; \
+ outname=`basename {} .texi`; \
+ echo "generating $$outname ..."; \
+ makeinfo --html --number-sections \
+ -I $(srcdir)/gcc/doc/include -I `dirname {}` \
+ -I $(srcdir)/gcc/p/doc \
+ -I $(srcdir)/gcc/p/doc/generated \
+ -I $(builddir)/gcc \
+ -I $(buildlibdir)/libquadmath \
+ -o $${outname} \
+ {}'
+ touch $@
+
+html-makeinfo-nosplit: $(stampdir)/05-build-html-nosplit
+$(stampdir)/05-build-html-nosplit: $(build_stamp)
+ mkdir -p html
+ rm -f html/*.html
+ cd $(builddir)/gcc; \
+ echo -n $(MANUALS) | xargs -d ' ' -L 1 -P $(USE_CPUS) -I{} \
+ sh -c 'outname=`basename {} .texi`.html; \
+ echo "generating $$outname ..."; \
+ makeinfo --html --number-sections --no-split \
+ -I $(srcdir)/gcc/doc/include -I `dirname {}` \
+ -I $(srcdir)/gcc/p/doc \
+ -I $(srcdir)/gcc/p/doc/generated \
+ -I $(builddir)/gcc \
+ -I $(buildlibdir)/libquadmath \
+ -o $(CURDIR)/html/$${outname} \
+ {}'
+ touch $@
+
+# start the script only on architectures known to have slow autobuilders ...
+logwatch_archs := alpha arm m68k mips mipsel mips64el riscv64 sparc
+ifeq ($(DEB_HOST_GNU_CPU), $(findstring $(DEB_HOST_GNU_CPU),$(logwatch_archs)))
+ start_logwatch = yes
+endif
+ifeq ($(DEB_HOST_GNU_SYSTEM),gnu)
+ start_logwatch = yes
+endif
+
+check: $(check_stamp)
+$(check_stamp): $(filter $(build_stamp) $(build_jit_stamp) $(build_hppa64_stamp), $(build_dependencies))
+ rm -f test-protocol
+ rm -f $(builddir)/runcheck*
+
+ -chmod 755 $(srcdir)/contrib/test_summary
+
+ : # needed for the plugin tests to succeed
+ ln -sf gcc $(builddir)/prev-gcc
+ ln -sf $(DEB_TARGET_GNU_TYPE) $(builddir)/prev-$(DEB_TARGET_GNU_TYPE)
+
+ifneq ($(with_common_libs),yes)
+ ifeq ($(with_cxx),yes)
+ : # libstdc++6 built from newer gcc-X source, run testsuite against the installed lib
+
+ sed 's/-L[^ ]*//g' $(buildlibdir)/libstdc++-v3/scripts/testsuite_flags \
+ > $(buildlibdir)/libstdc++-v3/scripts/testsuite_flags.installed
+ -$(ULIMIT_M); \
+ set +e; \
+ for d in $(buildlibdir)/libstdc++-v3/testsuite; do \
+ echo "Running testsuite in $$d ..."; \
+ TEST_INSTALLED=1 \
+ $(SET_SHELL) \
+ $(SET_LOCPATH) \
+ $(SET_PATH) \
+ DEJAGNU_TIMEOUT=$(DEJAGNU_TIMEOUT) \
+ DEB_GCC_NO_O3=1 \
+ $(MAKE) -k -C $$d $(NJOBS) check $(RUNTESTFLAGS); \
+ done 2>&1 | tee test-protocol2
+
+ BOOT_CFLAGS="$(BOOT_CFLAGS)" \
+ $(srcdir)/contrib/test_summary -m "$(S_EMAIL)" > raw-test-summary
+ -( \
+ sed -n '/^Mail/s/.*"\([^"][^"]*\)".*/\1/p' raw-test-summary; \
+ awk '/^cat/, /^EOF/' raw-test-summary | grep -v EOF; \
+ ) > libstdc++-test-summary
+ echo 'BEGIN installed libstdc++-v3 test-summary'
+ cat libstdc++-test-summary
+ echo 'END installed libstdc++-v3 test-summary'
+ find $(buildlibdir)/libstdc++-v3/testsuite -name '*.log' -o -name '*.sum' \
+ | xargs -r rm -f
+ endif
+endif
+
+ifeq ($(start_logwatch),yes)
+ : # start logwatch script for regular output during test runs
+ chmod +x debian/logwatch.sh
+ -debian/logwatch.sh -t 900 -p $(builddir)/logwatch.pid \
+ -m '\ntestsuite still running ...\n' \
+ test-protocol \
+ $(builddir)/gcc/testsuite/gcc/gcc.log \
+ $(builddir)/gcc/testsuite/g++/g++.log \
+ $(builddir)/gcc/testsuite/gfortran/gfortran.log \
+ $(builddir)/gcc/testsuite/objc/objc.log \
+ $(builddir)/gcc/testsuite/obj-c++/obj-c++.log \
+ $(builddir)/gcc/testsuite/gnat/gnat.log \
+ $(builddir)/gcc/testsuite/ada/acats/acats.log \
+ $(builddir)/gcc/testsuite/gfortran/gfortran.log \
+ $(builddir)/gcc/p/test/test_log \
+ $(buildlibdir)/libstdc++-v3/testsuite/libstdc++.log \
+ $(buildlibdir)/libgomp/testsuite/libgomp.log \
+ $(buildlibdir)/libffi/testsuite/libffi.log \
+ &
+endif
+
+ifeq ($(with_ada),yes)
+ chmod +x debian/acats-killer.sh
+ -debian/acats-killer.sh -p $(builddir)/acats-killer.pid \
+ $(builddir)/gcc/testsuite/ada/acats/acats.log \
+ $(builddir)/gcc/testsuite/g++.log \
+ &
+endif
+
+ -$(ULIMIT_M); \
+ set +e; \
+ for d in $(checkdirs); do \
+ echo "Running testsuite in $$d ..."; \
+ $(SET_SHELL) \
+ $(SET_LOCPATH) \
+ $(SET_PATH) \
+ EXTRA_TEST_PFLAGS=-g0 \
+ DEJAGNU_TIMEOUT=$(DEJAGNU_TIMEOUT) \
+ DEB_GCC_NO_O3=1 \
+ $(MAKE) -k -C $$d $(NJOBS) check $(RUNTESTFLAGS); \
+ done 2>&1 | tee test-protocol
+
+ -ps aux | fgrep logwatch | fgrep -v fgrep
+ -if [ -f $(builddir)/logwatch.pid ]; then \
+ kill -1 `cat $(builddir)/logwatch.pid`; \
+ sleep 1; \
+ kill -9 `cat $(builddir)/logwatch.pid`; \
+ rm -f $(builddir)/logwatch.pid; \
+ fi
+ -ps aux | fgrep logwatch | fgrep -v fgrep
+
+ifeq ($(with_ada),yes)
+ -if [ -f $(builddir)/acats-killer.pid ]; then \
+ kill -1 `cat $(builddir)/acats-killer.pid`; \
+ sleep 1; \
+ kill -9 `cat $(builddir)/acats-killer.pid`; \
+ rm -f $(builddir)/acats-killer.pid; \
+ fi
+endif
+
+ if [ -x $(srcdir)/contrib/test_summary ]; then \
+ rm -f test-summary; \
+ ( \
+ cd $(builddir); \
+ echo '' > ts-include; \
+ echo '' >> ts-include; \
+ if [ -f $(builddir)/gcc/.bad_compare ]; then \
+ echo 'Bootstrap comparison failure:' >> ts-include; \
+ cat $(builddir)/gcc/.bad_compare >> ts-include; \
+ echo '' >> ts-include; \
+ echo '' >> ts-include; \
+ fi; \
+ echo "Build Dependencies:" >> ts-include; \
+ dpkg -l g++-* binutils* `echo '$(LIBC_DEP)' | awk '{print $$1}'` \
+ libgmp*-dev libmpfr-dev libmpc-dev libisl-dev \
+ | fgrep -v '<none>' >> ts-include; \
+ echo '' >> ts-include; \
+ cat ../$(patch_stamp) >> ts-include; \
+ BOOT_CFLAGS="$(BOOT_CFLAGS)" \
+ $(srcdir)/contrib/test_summary \
+ -i ts-include -m "$(S_EMAIL)" \
+ ) > raw-test-summary; \
+ if [ -n "$(testsuite_tarball)" ]; then \
+ echo "Test suite used: $(testsuite_srcdir)" > test-summary; \
+ echo " Do not interpret the results on its own" >> test-summary; \
+ echo " but compare them with the results from" >> test-summary; \
+ echo " the gcc-snapshot package." >> test-summary; \
+ fi; \
+ sed -n '/^Mail/s/.*"\([^"][^"]*\)".*/\1/p' raw-test-summary \
+ >> test-summary; \
+ awk '/^cat/, /^EOF/' raw-test-summary | grep -v EOF >> test-summary; \
+ if [ -f bootstrap-summary -a "$(bootstrap_target)" != profiledbootstrap ]; then \
+ echo '' >> test-summary; \
+ cat bootstrap-summary >> test-summary; \
+ fi; \
+ echo 'BEGIN test-summary'; \
+ cat test-summary; \
+ echo 'END test-summary'; \
+ fi
+ifeq ($(with_d),yes)
+ : # the D test failures for the non-default multilibs are known, ignore them
+ egrep -v '^(FAIL|UNRESOLVED): (runnable|fail_c|comp)' test-summary > test-summary.tmp
+ mv -f test-summary.tmp test-summary
+endif
+
+ touch $(check_stamp)
+
+$(check_inst_stamp): $(check_stamp)
+ rm -f test-inst-protocol
+
+ifeq ($(start_logwatch),yes)
+ : # start logwatch script for regular output during test runs
+ chmod +x debian/logwatch.sh
+ -debian/logwatch.sh -t 900 -p $(builddir)/logwatch-inst.pid \
+ -m '\ntestsuite (3.3) still running ...\n' \
+ test-inst-protocol \
+ check-inst/{gcc,g++,g77,objc}.log \
+ &
+endif
+
+ rm -rf check-inst
+ mkdir check-inst
+
+ echo "Running testsuite ..."
+ -$(ULIMIT_M) ; \
+ $(SET_SHELL) \
+ $(SET_LOCPATH) \
+ EXTRA_TEST_PFLAGS=-g0 \
+ DEJAGNU_TIMEOUT=$(DEJAGNU_TIMEOUT) \
+ cd check-inst && $(srcdir)/contrib/test_installed \
+ --with-gcc=gcc-3.3 --with-g++=g++-3.3 --with-g77=g77-3.3 \
+ 2>&1 | tee test-inst-protocol
+
+ -ps aux | fgrep logwatch | fgrep -v fgrep
+ if [ -f $(builddir)/logwatch-inst.pid ]; then \
+ kill -1 `cat $(builddir)/logwatch-inst.pid`; \
+ else \
+ true; \
+ fi
+ -ps aux | fgrep logwatch | fgrep -v fgrep
+
+ -chmod 755 $(srcdir)/contrib/test_summary
+ if [ -x $(srcdir)/contrib/test_summary ]; then \
+ rm -f test-inst-summary; \
+ ( \
+ cd check-inst; \
+ echo '' > ts-include; \
+ echo '' >> ts-include; \
+ echo "Build Dependencies:" >> ts-include; \
+ dpkg -l g++-* binutils* `echo '$(LIBC_DEP)' | awk '{print $$1}'` \
+ libgmp*-dev libmpfr-dev libmpc-dev libisl*-dev \
+ | fgrep -v '<none>' >> ts-include; \
+ echo '' >> ts-include; \
+ echo 'Results for the installed GCC-3.3 compilers' >> ts-include; \
+ $(srcdir)/contrib/test_summary \
+ -i ts-include -m "$(S_EMAIL)" \
+ ) > raw-test-inst-summary; \
+ sed -n '/^Mail/s/.*"\([^"][^"]*\)".*/\1/p' raw-test-inst-summary \
+ >> test-inst-summary; \
+ awk '/^cat/, /^EOF/' raw-test-inst-summary \
+ | grep -v EOF >> test-inst-summary; \
+ echo 'BEGIN test-installed-summary'; \
+ cat test-inst-summary; \
+ echo 'END test-installed-summary'; \
+ fi
+
+ chmod 755 debian/reduce-test-diff.awk
+ if diff -u test-inst-summary test-summary \
+ | debian/reduce-test-diff.awk > diff-summary; \
+ then \
+ mv -f diff-summary testsuite-comparision; \
+ else \
+ ( \
+ echo "WARNING: New failures in gcc-3.4 compared to gcc-3.3"; \
+ echo ''; \
+ cat diff-summary; \
+ ) > testsuite-comparision; \
+ rm -f diff-summary; \
+ fi
+ touch $(check_inst_stamp)
+
+clean: debian/control
+ dh_testdir
+ rm -f pxxx status
+ rm -f *-summary *-protocol testsuite-comparision summary-diff
+ rm -f $(srcdir)/gcc/po/*.gmo
+ rm -f debian/lib{gcc,objc,stdc++}{-v3,[0-9]}*.{{pre,post}{inst,rm},shlibs}
+ fs=`echo debian/*BV* debian/*CXX* debian/*LC* debian/*MF* | sort -u`; \
+ for f in $$fs; do \
+ [ -f $$f ] || continue; \
+ f2=$$(echo $$f \
+ | sed 's/BV/$(BASE_VERSION)/;s/CXX/$(CXX_SONAME)/;s/LC/$(GCC_SONAME)/;s/-CRB/$(cross_bin_arch)/;s/\.in$$//'); \
+ rm -f $$f2; \
+ done
+ rm -f debian/lib*gcc1.symbols
+ rm -f debian/lib*{atomic$(ATOMIC_SONAME),gfortran$(FORTRAN_SONAME),gomp$(GOMP_SONAME),itm$(ITM_SONAME),mpx$(MPX_SONAME),quadmath$(QUADMATH_SONAME),hsail-rt$(HSAIL_SONAME)}.symbols
+ find debian -maxdepth 1 -name '*-cross.symbols' -type l | xargs -r rm -f
+ rm -f debian/gcc-{XX,ar,nm,ranlib}-$(BASE_VERSION).1
+ rm -f debian/shlibs.local debian/shlibs.common* debian/substvars.local
+ rm -f debian/*.debhelper
+ -[ -d debian/bugs ] && $(MAKE) -C debian/bugs clean
+ rm -f debian/README.libstdc++-baseline debian/README.Bugs debian/README.Debian.$(DEB_TARGET_ARCH)
+ rm -f debian/arch_binaries* debian/indep_binaries*
+ rm -rf bin locales share
+ rm -rf check-inst
+ rm -rf .pc
+ dh_clean
+ifneq (,$(filter $(build_type), build-cross cross-build-cross))
+ $(cross_clean) dh_clean
+endif
+
+# -----------------------------------------------------------------------------
+# some abbrevations for the package names and directories;
+# p_XXX is the package name, d_XXX is the package directory
+# these macros are only used in the binary-* targets.
+
+ifeq ($(versioned_packages),yes)
+ pkg_ver := -$(BASE_VERSION)
+endif
+
+# if native or rtlibs build
+ifeq ($(if $(filter yes,$(DEB_CROSS)),$(if $(filter rtlibs,$(DEB_STAGE)),native,cross),native),native)
+ p_base = gcc$(pkg_ver)-base
+ p_lbase = $(p_base)
+ p_xbase = gcc$(pkg_ver)-base
+ p_gcc = gcc$(pkg_ver)
+ p_cpp = cpp$(pkg_ver)
+ p_cppd = cpp$(pkg_ver)-doc
+ p_cxx = g++$(pkg_ver)
+ p_doc = gcc$(pkg_ver)-doc
+else
+ # only triggered if DEB_CROSS set
+ p_base = gcc$(pkg_ver)$(cross_bin_arch)-base
+ p_lbase = gcc$(pkg_ver)-cross-base$(GCC_PORTS_BUILD)
+ p_xbase = gcc$(pkg_ver)$(cross_bin_arch)-base
+ p_cpp = cpp$(pkg_ver)$(cross_bin_arch)
+ p_gcc = gcc$(pkg_ver)$(cross_bin_arch)
+ p_cxx = g++$(pkg_ver)$(cross_bin_arch)
+endif
+p_hppa64 = gcc$(pkg_ver)-hppa64-linux-gnu
+
+# needed for shlibs.common* generation
+ifeq (,$(p_lgcc))
+ p_lgcc = libgcc$(GCC_SONAME)$(cross_lib_arch)
+endif
+ifeq (,$(p_lib))
+ p_lib = libstdc++$(CXX_SONAME)$(cross_lib_arch)
+endif
+
+d = debian/tmp
+d_base = debian/$(p_base)
+d_xbase = debian/$(p_xbase)
+d_gcc = debian/$(p_gcc)
+d_cpp = debian/$(p_cpp)
+d_cppd = debian/$(p_cppd)
+d_cxx = debian/$(p_cxx)
+d_doc = debian/$(p_doc)
+d_lgcc = debian/$(p_lgcc)
+d_hppa64= debian/$(p_hppa64)
+
+d_neon = debian/tmp-neon
+
+common_substvars = \
+ $(shell awk "{printf \"'-V%s' \", \$$0}" debian/substvars.local)
+
+ifeq ($(DEB_CROSS),yes)
+ lib_binaries := indep_binaries
+else
+ lib_binaries := arch_binaries
+endif
+
+# ---------------------------------------------------------------------------
+
+ifeq ($(single_package),yes)
+ include debian/rules.d/binary-snapshot.mk
+else
+
+ifneq ($(with_base_only),yes)
+ifneq ($(DEB_CROSS),yes)
+ifeq ($(with_source),yes)
+ include debian/rules.d/binary-source.mk
+endif
+endif
+endif
+
+ifneq ($(BACKPORT),true)
+
+ifeq ($(with_gccbase),yes)
+ include debian/rules.d/binary-base.mk
+endif
+
+ifneq ($(with_base_only),yes)
+
+# always include to get some definitions
+include debian/rules.d/binary-libgcc.mk
+
+ifeq ($(with_libqmath),yes)
+ include debian/rules.d/binary-libquadmath.mk
+endif
+
+ifeq ($(with_libgmath),yes)
+ include debian/rules.d/binary-libgccmath.mk
+endif
+
+ifeq ($(with_libgomp),yes)
+ include debian/rules.d/binary-libgomp.mk
+endif
+
+ifeq ($(with_libitm),yes)
+ include debian/rules.d/binary-libitm.mk
+endif
+
+ifeq ($(with_libatomic),yes)
+ include debian/rules.d/binary-libatomic.mk
+endif
+
+ifeq ($(with_libbacktrace),yes)
+ include debian/rules.d/binary-libbacktrace.mk
+endif
+
+ifeq ($(with_cdev),yes)
+ include debian/rules.d/binary-cpp.mk
+endif
+
+ifeq ($(with_fixincl),yes)
+ include debian/rules.d/binary-fixincl.mk
+endif
+
+ifeq ($(with_libssp),yes)
+ include debian/rules.d/binary-libssp.mk
+endif
+
+ifeq ($(with_objcxx),yes)
+ include debian/rules.d/binary-objcxx.mk
+endif
+
+ifeq ($(with_objc),yes)
+ include debian/rules.d/binary-objc.mk
+ include debian/rules.d/binary-libobjc.mk
+endif
+
+ifeq ($(with_go),yes)
+ include debian/rules.d/binary-go.mk
+endif
+
+ifeq ($(with_brig),yes)
+ include debian/rules.d/binary-brig.mk
+ include debian/rules.d/binary-libhsail.mk
+endif
+
+ifeq ($(with_cxxdev),yes)
+ include debian/rules.d/binary-cxx.mk
+endif
+ifeq ($(with_cxx),yes)
+ include debian/rules.d/binary-libstdcxx.mk
+endif
+
+ifeq ($(with_libasan),yes)
+ include debian/rules.d/binary-libasan.mk
+endif
+
+ifeq ($(with_liblsan),yes)
+ include debian/rules.d/binary-liblsan.mk
+endif
+
+ifeq ($(with_libtsan),yes)
+ include debian/rules.d/binary-libtsan.mk
+endif
+
+ifeq ($(with_libubsan),yes)
+ include debian/rules.d/binary-libubsan.mk
+endif
+
+ifeq ($(with_libvtv),yes)
+ include debian/rules.d/binary-libvtv.mk
+endif
+
+ifeq ($(with_libmpx),yes)
+ include debian/rules.d/binary-libmpx.mk
+endif
+
+ifeq ($(with_f77),yes)
+ include debian/rules.d/binary-f77.mk
+endif
+
+ifeq ($(with_fortran),yes)
+ include debian/rules.d/binary-fortran.mk
+endif
+
+ifeq ($(with_ada),yes)
+ include debian/rules.d/binary-ada.mk
+endif
+
+ifeq ($(with_d),yes)
+ include debian/rules.d/binary-d.mk
+endif
+
+ifeq ($(with_libcc1),yes)
+ include debian/rules.d/binary-libcc1.mk
+endif
+
+ifeq ($(with_jit),yes)
+ include debian/rules.d/binary-libgccjit.mk
+endif
+
+ifeq ($(with_offload_nvptx),yes)
+ include debian/rules.d/binary-nvptx.mk
+endif
+
+ifeq ($(with_libnof),yes)
+ ifeq ($(DEB_TARGET_GNU_CPU),powerpc)
+ include debian/rules.d/binary-nof.mk
+ endif
+endif
+
+ifeq ($(with_softfloat),yes)
+ include debian/rules.d/binary-softfloat.mk
+endif
+
+# gcc must be moved/built after g77 and g++
+ifeq ($(with_cdev),yes)
+ include debian/rules.d/binary-gcc.mk
+endif
+
+ifeq ($(with_hppa64),yes)
+ include debian/rules.d/binary-hppa64.mk
+endif
+
+ifeq ($(with_neon),yes)
+ include debian/rules.d/binary-neon.mk
+endif
+
+endif # with_base_only
+endif # BACKPORT
+endif # ($(single_package),yes)
+
+# ----------------------------------------------------------------------
+install: $(install_dependencies)
+
+$(install_dummy_stamp): $(build_dummy_stamp)
+ touch $(install_dummy_stamp)
+
+$(install_snap_stamp): $(build_dependencies)
+ dh_testdir
+ dh_testroot
+ dh_prep
+
+ : # Install directories
+ rm -rf $(d)
+ mkdir -p $(d)/$(PF)
+
+ifeq ($(with_hppa64),yes)
+ : # Install hppa64
+ $(SET_PATH) \
+ $(MAKE) -C $(builddir_hppa64) \
+ $(call pass_vars, CC $(flags_to_pass)) \
+ DESTDIR=$(CURDIR)/$(d) \
+ install
+
+ ls -l $(d)/$(PF)/bin
+ if [ ! -x $(d)/$(PF)/bin/hppa64-linux-gnu-gcc ]; then \
+ mv $(d)/$(PF)/bin/hppa64-linux-gnu-gcc-8* $(d)/$(PF)/bin/hppa64-linux-gnu-gcc; \
+ else \
+ rm -f $(d)/$(PF)/bin/hppa64-linux-gnu-gcc-8*; \
+ fi
+
+ for i in ar nm ranlib; do \
+ cp debian/gcc-$$i-$(BASE_VERSION).1 \
+ $(d)/$(PF)/share/man/man1/hppa64-linux-gnu-gcc-$$i.1; \
+ done
+
+ : # remove files not needed from the hppa64 build
+ rm -rf $(d)/$(PF)/share/info
+ rm -rf $(d)/$(PF)/share/man
+ rm -f $(d)/$(PF)/$(libdir)/libiberty.a
+ rm -f $(d)/$(PF)/bin/*{gcov,gcov-dump,gcov-tool,gccbug,gcc}
+
+ rm -rf $(d)/$(PF)/hppa64-linux-gnu/include
+ rm -rf $(d)/$(PF)/hppa64-linux-gnu/lib
+ set -e; \
+ cd $(d)/$(PF)/$(libdir)/gcc/hppa64-linux-gnu/$(versiondir)/include-fixed; \
+ for i in *; do \
+ case "$$i" in \
+ README|features.h|syslimits.h|limits.h) ;; \
+ linux|$(TARGET_ALIAS)) ;; \
+ $(subst $(DEB_TARGET_GNU_CPU),$(biarch_cpu),$(TARGET_ALIAS))) ;; \
+ *) echo "remove include-fixed/$$i"; rm -rf $$i; \
+ esac; \
+ done
+endif
+
+ : # Work around PR lto/41569
+ ln -sf gcc $(builddir)/prev-gcc
+ ln -sf $(DEB_TARGET_GNU_TYPE) $(builddir)/prev-$(DEB_TARGET_GNU_TYPE)
+
+ : # Install everything
+ $(SET_PATH) \
+ $(SET_SHELL) \
+ $(MAKE) -C $(builddir) \
+ $(call pass_vars, $(flags_to_pass)) \
+ DESTDIR=$(CURDIR)/$(d) \
+ infodir=/$(PF)/share/info \
+ mandir=/$(PF)/share/man \
+ install
+
+ ls -l $(d)/$(PF)/bin
+
+ for i in ar nm ranlib; do \
+ cp debian/gcc-$$i-$(BASE_VERSION).1 \
+ $(d)/$(PF)/share/man/man1/$(cmd_prefix)gcc-$$i.1; \
+ done
+
+ if [ ! -x $(d)/$(PF)/bin/$(TARGET_ALIAS)-gcc ]; then \
+ mv $(d)/$(PF)/bin/$(TARGET_ALIAS)-gcc-8* $(d)/$(PF)/bin/$(TARGET_ALIAS)-gcc; \
+ else \
+ rm -f $(d)/$(PF)/bin/$(TARGET_ALIAS)-gcc-8*; \
+ fi
+ set -e; \
+ cd $(d)/$(gcc_lib_dir)/include-fixed; \
+ for i in *; do \
+ case "$$i" in \
+ README|features.h|syslimits.h|limits.h) ;; \
+ linux|$(TARGET_ALIAS)) ;; \
+ $(subst $(DEB_TARGET_GNU_CPU),$(biarch_cpu),$(TARGET_ALIAS))) ;; \
+ *) echo "remove include-fixed/$$i"; rm -rf $$i; \
+ esac; \
+ done
+
+ifneq ($(configured_libdir),$(libdir))
+ for i in ada debug go pkgconfig '*.so' '*.so.*' '*.a' '*.la' '*.py' '*.spec'; do \
+ mv $(d)/$(PF)/$(configured_libdir)/$$i \
+ $(d)/$(PF)/$(libdir)/. || true; \
+ done
+ ifeq ($(with_ada),yes)
+ sed -i s~$(PF)/$(configured_libdir)~$(PF)/$(libdir)~ $(d)/$(PF)/share/gpr/gnatvsn.gpr
+ endif
+endif
+
+ -ls -l $(d)/usr
+ if [ -d $(d)/usr/man/man1 ]; then \
+ mv $(d)/usr/man/man1/* $(d)/usr/share/man/man1/; \
+ fi
+
+ chmod 755 debian/dh_*
+ touch $(install_snap_stamp)
+
+$(install_stamp): $(build_stamp)
+ dh_testdir
+ dh_testroot
+ dh_prep $(if $(filter yes,$(with_hppa64)),-N$(p_hppa64))
+
+ if [ -f $(binary_stamp)-hppa64 ]; then \
+ mv $(binary_stamp)-hppa64 saved-stamp-hppa64; \
+ fi
+ rm -f $(binary_stamp)*
+ if [ -f saved-stamp-hppa64 ]; then \
+ mv saved-stamp-hppa64 $(binary_stamp)-hppa64; \
+ fi
+
+ : # Install directories
+ rm -rf $(d)
+ mkdir -p $(d)/$(libdir) $(d)/$(PF) $(d)/$(PF)/$(libdir)/debug
+ifeq ($(biarch32),yes)
+ mkdir -p $(d)/$(PF)/$(lib32loc)/debug
+endif
+ifeq ($(biarch64),yes)
+ mkdir -p $(d)/$(PF)/lib64/debug
+endif
+ifeq ($(biarchn32),yes)
+ mkdir -p $(d)/$(PF)/$(libn32)/debug
+endif
+ifeq ($(biarchx32),yes)
+ mkdir -p $(d)/$(PF)/libx32/debug
+endif
+
+ifneq (,$(filter $(DEB_TARGET_GNU_CPU),x86_64 sparc64 s390x powerpc64))
+ifneq ($(DEB_TARGET_ARCH),x32)
+ : # link lib to lib64 and $(PF)/lib to $(PF)/lib64
+ : # (this works when CONFARGS contains '--disable-multilib')
+ ln -s $(configured_libdir) $(d)/lib64
+ mkdir -p $(d)/$(PF)/$(configured_libdir)
+ ln -s $(configured_libdir) $(d)/$(PF)/lib64
+endif
+endif
+ifeq ($(DEB_TARGET_ARCH),x32)
+ : # link lib to libx32 and $(PF)/lib to $(PF)/libx32
+ ln -s $(configured_libdir) $(d)/libx32
+ mkdir -p $(d)/$(PF)/$(configured_libdir)
+ ln -s $(configured_libdir) $(d)/$(PF)/libx32
+endif
+
+ : # Install everything
+ $(SET_PATH) \
+ $(SET_SHELL) \
+ $(MAKE) -C $(builddir) \
+ $(call pass_vars, $(flags_to_pass)) \
+ DESTDIR=$(CURDIR)/$(d) \
+ infodir=/$(PF)/share/info \
+ mandir=/$(PF)/share/man \
+ install
+
+ifeq ($(DEB_STAGE)-$(DEB_CROSS),rtlibs-yes)
+ @echo configured_libdir=$(configured_libdir) / libdir=$(libdir) / usr_lib=$(usr_lib)
+ ls $(d)/$(PF)/$(TARGET_ALIAS)/lib
+ set -x; \
+ if [ -d $(d)/$(PF)/$(TARGET_ALIAS)/lib ]; then \
+ cp -a $(d)/$(PF)/$(TARGET_ALIAS)/lib/* $(d)/$(PF)/lib/$(DEB_TARGET_MULTIARCH)/.; \
+ fi
+ for d in $$(cd $(d)/$(PF)/$(TARGET_ALIAS); echo lib?*); do \
+ [ -d $(d)/$(PF)/$(TARGET_ALIAS)/$$d ] || continue; \
+ cp -a $(d)/$(PF)/$(TARGET_ALIAS)/$$d/* $(d)/$(PF)/$$d/.; \
+ done
+else
+ ifneq ($(configured_libdir),$(libdir))
+ for i in ada debug go pkgconfig '*.so' '*.so.*' '*.a' '*.la' '*.o' '*.py' '*.spec'; do \
+ mv $(d)/$(PF)/$(configured_libdir)/$$i \
+ $(d)/$(PF)/$(libdir)/. || true; \
+ done
+ ifeq ($(with_ada),yes)
+ sed -i s~$(PF)/$(configured_libdir)~$(PF)/$(libdir)~ $(d)/$(PF)/share/gpr/gnatvsn.gpr
+ endif
+ endif
+endif
+
+ifneq (,$(cmd_prefix))
+ for i in $(d)/$(PF)/share/info/$(cmd_prefix)*; do \
+ [ -f "$$i" ] || continue; \
+ mv $$i $$(echo $$i | sed 's/$(cmd_prefix)//'); \
+ done
+endif
+
+ifeq ($(with_libcxxdbg),yes)
+ : # FIXME: the libstdc++ gdb.py file is installed with a wrong name
+ for i in $$(find $(d)/$(PF) -name libstdc++_pic.a-gdb.py); do \
+ [ -f $$i ] || continue; \
+ d=$$(dirname $$i); \
+ b=$$(basename $$i); \
+ t=$$(cd $$d; echo libstdc++.so.*.*.*)-gdb.py; \
+ mv $$i $$d/$$t; \
+ done
+endif
+
+ : # remove rpath settings from binaries and shared libs
+ for i in $$(chrpath -k $(d)/$(PF)/bin/* $(d)/$(PFL)/lib*/lib*.so.* \
+ $(d)/$(gcc_lib_dir)/plugin/* \
+ $(if $(filter $(with_multiarch_lib),yes), \
+ $(d)/$(PF)/lib/$(DEB_TARGET_MULTIARCH)/lib*.so.*) \
+ 2>/dev/null | awk -F: '/R(UN)?PATH=/ {print $$1}'); \
+ do \
+ case "$$i" in ecj1|*gij-*|*libjawt*|*libjvm*) continue; esac; \
+ [ -h $$i ] && continue; \
+ chrpath --delete $$i; \
+ echo "removed RPATH/RUNPATH: $$i"; \
+ done
+
+ : # remove '*.la' and '*.lai' files, not shipped in any package.
+ find $(d) -name '*.la' -o -name '*.lai' | xargs -r rm -f
+
+ifeq ($(GFDL_INVARIANT_FREE),yes)
+ for i in gcc gcov; do \
+ I=`echo $$i | tr a-z A-Z`; \
+ sed -e "s/@NAME@/$$I$(pkg_ver)/g" -e "s/@name@/$$i$(pkg_ver)/g" \
+ debian/dummy-man.1 > $(d)/$(PF)/share/man/man1/$$i.1; \
+ done
+
+ ifeq ($(with_fortran),yes)
+ for i in g77; do \
+ I=`echo $$i | tr a-z A-Z`; \
+ sed -e "s/@NAME@/$$I$(pkg_ver)/g" -e "s/@name@/$$i$(pkg_ver)/g" \
+ debian/dummy-man.1 > $(d)/$(PF)/share/man/man1/$$i.1; \
+ done
+ endif
+endif
+
+ifneq ($(with_libgnat),yes)
+ rm -f $(d)/$(gcc_lib_dir)/adalib/lib*.so*
+endif
+
+# ifeq ($(with_ada),yes)
+# : # rename files (versioned ada binaries)
+# for i in ; do \
+# mv $(d)/$(PF)/bin/$$i $(d)/$(PF)/bin/$$i-$(GNAT_VERSION); \
+# mv $(d)/$(PF)/share/man/man1/$$i.1 \
+# $(d)/$(PF)/share/man/man1/$$i-$(GNAT_VERSION).1; \
+# done
+# for i in $(GNAT_TOOLS); do \
+# mv $(d)/$(PF)/bin/$$i $(d)/$(PF)/bin/$$i-$(GNAT_VERSION); \
+# done
+# endif
+
+ for i in ar nm ranlib; do \
+ cp debian/gcc-$$i-$(BASE_VERSION).1 \
+ $(d)/$(PF)/share/man/man1/$(cmd_prefix)gcc-$$i$(pkg_ver).1; \
+ done
+
+ chmod 755 debian/dh_*
+
+ifneq ($(with_common_libs),yes)
+# for native builds, the default ml libs are always available; no need for a placeholder
+# apparently this changed with newer dpkg versions (1.18.7?) ...
+ echo 'libgcc_s $(GCC_SONAME) $(p_lgcc)' > debian/shlibs.common
+ echo 'libstdc++ $(CXX_SONAME) $(p_lib)' >> debian/shlibs.common
+ echo 'libquadmath $(QUADMATH_SONAME) libquadmath$(QUADMATH_SONAME)$(cross_lib_arch)' >> debian/shlibs.common
+ echo 'libatomic $(ATOMIC_SONAME) libatomic$(ATOMIC_SONAME)$(cross_lib_arch)' >> debian/shlibs.common
+ $(foreach ml,32 64 n32 x32 hf sf, \
+ echo 'libgcc_s $(GCC_SONAME) $(subst lib,lib$(ml),$(p_lgcc))' > debian/shlibs.common$(ml); \
+ echo 'libstdc++ $(CXX_SONAME) $(subst lib,lib$(ml),$(p_lib))' >> debian/shlibs.common$(ml); \
+ echo 'libquadmath $(QUADMATH_SONAME) lib$(ml)quadmath$(QUADMATH_SONAME)$(cross_lib_arch)' >> debian/shlibs.common$(ml); \
+ echo 'libatomic $(ATOMIC_SONAME) lib$(ml)atomic$(ATOMIC_SONAME)$(cross_lib_arch)' >> debian/shlibs.common$(ml); \
+ )
+endif
+
+ @echo XXXXX `date -R`
+ find $(d) ! -type d -print
+ @echo XXXXX
+ touch $(install_stamp)
+
+$(install_jit_stamp): $(build_jit_stamp) $(install_stamp)
+ dh_testdir
+ dh_testroot
+ rm -rf $(d)-jit
+ mkdir -p $(d)-jit/$(PF)
+
+ $(SET_PATH) \
+ biarch_multidir_names=none \
+ $(MAKE) -C $(builddir_jit) \
+ CC="$(CC_FOR_TARGET)" \
+ $(call pass_vars, $(flags_to_pass)) \
+ DESTDIR=$(CURDIR)/$(d)-jit \
+ install
+
+ : # copy files to the standard build
+ cp -a $(d)-jit/$(PF)/include/libgccjit*.h \
+ $(d)/$(gcc_lib_dir)/include/.
+ cp -a $(d)-jit/$(PF)/lib/libgccjit.so* \
+ $(d)/$(usr_lib)/.
+ cp -a $(d)-jit/$(PF)/share/info/libgccjit* \
+ $(d)/$(PF)/share/info/.
+
+ @echo XXXXX `date -R`
+ touch $(install_jit_stamp)
+
+$(install_nvptx_stamp): $(build_nvptx_stamp) $(install_stamp) \
+ $(if $(filter yes, $(with_jit)), $(install_jit_stamp)) \
+ $(if $(filter yes, $(with_hppa64)), $(install_hppa64_stamp))
+ dh_testdir
+ dh_testroot
+ ln -sf ../$(nl_nvptx_srcdir)/newlib $(srcdir)/newlib
+ rm -rf $(d)-nvptx
+ mkdir -p $(d)-nvptx/$(PF)
+
+ $(SET_PATH) \
+ biarch_multidir_names=none \
+ $(MAKE) -C $(builddir_nvptx) \
+ CC="$(CC_FOR_TARGET)" \
+ $(call pass_vars, $(flags_to_pass)) \
+ DESTDIR=$(CURDIR)/$(d)-nvptx \
+ install
+
+ find $(d)-nvptx
+ @echo XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ rm -rf $(d)-nvptx/$(libexecdir)/$(gcc_subdir_name)/nvptx-none/$(versiondir)/install-tools
+ rm -rf $(d)-nvptx/$(libexecdir)/$(gcc_subdir_name)/$(DEB_HOST_GNU_TYPE)/$(versiondir)/accel/nvptx-none/{install-tools,plugin,cc1,cc1plus,f951}
+ rm -rf $(d)-nvptx/$(PF)/share/{info,man/man7,locale}
+ rm -rf $(d)-nvptx/$(PF)/share/man/man1/*-{gcov,gfortran,g++,cpp}.1
+ rm -rf $(d)-nvptx/$(PF)/lib/gcc/nvptx-none/$(versiondir)/{install-tools,plugin}
+ rm -rf $(d)-nvptx/$(PF)/lib/gcc/$(DEB_HOST_GNU_TYPE)/$(versiondir)/accel/nvptx-none/{install-tools,plugin,include-fixed}
+ rm -rf $(d)-nvptx/$(PF)/lib/libc[cp]1*
+
+ mv -f $(d)-nvptx/$(PF)/nvptx-none/lib/*.{a,spec} \
+ $(d)-nvptx/$(PF)/lib/gcc/$(DEB_HOST_GNU_TYPE)/$(versiondir)/accel/nvptx-none/
+ mv -f $(d)-nvptx/$(PF)/nvptx-none/lib/mgomp/*.{a,spec} \
+ $(d)-nvptx/$(PF)/lib/gcc/$(DEB_HOST_GNU_TYPE)/$(versiondir)/accel/nvptx-none/mgomp/
+ mv -f $(d)-nvptx/$(PF)/lib/gcc/nvptx-none/$(versiondir)/*.a \
+ $(d)-nvptx/$(PF)/lib/gcc/$(DEB_HOST_GNU_TYPE)/$(versiondir)/accel/nvptx-none/
+ mv -f $(d)-nvptx/$(PF)/lib/gcc/nvptx-none/$(versiondir)/mgomp/*.a \
+ $(d)-nvptx/$(PF)/lib/gcc/$(DEB_HOST_GNU_TYPE)/$(versiondir)/accel/nvptx-none/mgomp/
+ find $(d)-nvptx -name \*.la | xargs rm -f
+ rm -rf $(d)-nvptx/$(PF)/nvptx-none/include
+ -find $(d)-nvptx -type d -empty -delete
+ @echo XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ find $(d)-nvptx
+ @echo XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+
+ rm -f $(srcdir)/newlib
+ @echo XXXXX `date -R`
+ touch $(install_nvptx_stamp)
+
+$(install_hppa64_stamp): $(build_hppa64_stamp)
+ dh_testdir
+ dh_testroot
+ rm -rf $(d_hppa64)
+ mkdir -p $(d_hppa64)/$(PF)
+
+ $(SET_PATH) \
+ $(MAKE) -C $(builddir_hppa64) \
+ $(call pass_vars, CC $(flags_to_pass)) \
+ DESTDIR=$(CURDIR)/$(d_hppa64) \
+ install
+
+ : # remove files not needed
+ rm -rf $(d_hppa64)/$(PF)/info $(d_hppa64)/$(PF)/share/info
+ rm -rf $(d_hppa64)/$(PF)/man $(d_hppa64)/$(PF)/share/man
+ rm -rf $(d_hppa64)/$(PF)/lib/gcc/hppa64-linux-gnu/$(BASE_VERSION)/plugin
+ rm -f $(d_hppa64)/$(PF)/lib/libiberty.a
+ rm -f $(d_hppa64)/$(PF)/lib/libcc1.*
+ rm -f $(d_hppa64)/$(PF)/bin/*{gcov,gcov-dump,gcov-tool,gccbug,gcc}
+
+ rm -rf $(d_hppa64)/$(PF)/hppa64-linux-gnu
+ rm -rf $(d_hppa64)/$(PF)/lib/gcc/hppa64-linux-gnu/$(BASE_VERSION)/install-tools
+
+ifeq ($(versioned_packages),yes)
+ for i in cpp gcc-ar gcc-nm gcc-ranlib; do \
+ mv -f $(d_hppa64)/$(PF)/bin/hppa64-linux-gnu-$$i \
+ $(d_hppa64)/$(PF)/bin/hppa64-linux-gnu-$$i$(pkg_ver); \
+ done
+endif
+ mkdir -p $(d_hppa64)/$(PF)/share/man/man1
+ for i in gcc-ar gcc-nm gcc-ranlib; do \
+ ln -sf $$i$(pkg_ver).1.gz \
+ $(d_hppa64)/$(PF)/share/man/man1/hppa64-linux-gnu-$$i$(pkg_ver).1.gz; \
+ done
+ifneq ($(GFDL_INVARIANT_FREE),yes)
+ for i in cpp gcc; do \
+ ln -sf $$i$(pkg_ver).1.gz \
+ $(d_hppa64)/$(PF)/share/man/man1/hppa64-linux-gnu-$$i$(pkg_ver).1.gz; \
+ done
+endif
+
+ : # remove '*.la' and '*.lai' files, not shipped in any package.
+ find $(d_hppa64) -name '*.la' -o -name '*.lai' | xargs -r rm -f
+
+ : # remove rpath settings from binaries and shared libs
+ for i in $$(chrpath -k $(d_hppa64)/$(PF)/bin/* $(d_hppa64)/$(PFL)/lib*/lib*.so.* \
+ $(d_hppa64)/$(gcc_lib_dir)/plugin/* \
+ $(if $(filter $(with_multiarch_lib),yes), \
+ $(d_hppa64)/$(PF)/lib/$(DEB_TARGET_MULTIARCH)/lib*.so.*) \
+ 2>/dev/null | awk -F: '/R(UN)?PATH=/ {print $$1}'); \
+ do \
+ [ -h $$i ] && continue; \
+ chrpath --delete $$i; \
+ echo "removed RPATH/RUNPATH: $$i"; \
+ done
+
+ touch $(install_hppa64_stamp)
+
+$(install_neon_stamp): $(build_neon_stamp)
+ dh_testdir
+ dh_testroot
+ rm -rf $(d_neon)
+ mkdir -p $(d_neon)/$(PF)
+
+ $(SET_PATH) \
+ $(MAKE) -C $(builddir_neon) \
+ $(call pass_vars, CC $(flags_to_pass)) \
+ DESTDIR=$(CURDIR)/$(d_neon) \
+ install
+ touch $(install_neon_stamp)
+
+# ----------------------------------------------------------------------
+# Build architecture-dependent files here.
+debian/arch_binaries.all: $(foreach i,$(arch_binaries),$(binary_stamp)-$(i))
+ cd debian; xargs -r du -s < arch_binaries | sort -nr | awk '{print $$2}' \
+ > arch_binaries.tmp
+ mv debian/arch_binaries.tmp debian/arch_binaries
+ sed -i 's/ /\n/g' debian/arch_binaries.epoch || touch debian/arch_binaries.epoch
+ cat debian/arch_binaries debian/arch_binaries.epoch > debian/arch_binaries.all
+
+# see #879054 for the "test ! -s" tests, needed for the rtlibs stage
+binary-arch: debian/arch_binaries.all
+ test ! -s debian/arch_binaries.all || \
+ dh_compress $(foreach p,$(shell echo `cat debian/arch_binaries.all`),-p$(p)) \
+ -X.log.xz -X.sum.xz -X.c -X.txt -X.tag -X.map -XREADME.Bugs
+ifeq ($(i586_symlinks),yes)
+ cd debian; \
+ test ! -s arch_binaries || \
+ for x in $$(find `cat arch_binaries` -type l -name 'i686-*'); do \
+ link=$$(echo $$x | sed 's/i686-/i586-/'); \
+ tgt=$$(basename $$x); \
+ echo "Adding symlink: $$link -> $$tgt"; \
+ rm -f $$link; cp -a $$x $$link; \
+ done
+endif
+ test ! -s debian/arch_binaries.all || \
+ dh_fixperms $(foreach p,$(shell echo `cat debian/arch_binaries.all`),-p$(p))
+ test ! -s debian/arch_binaries || \
+ dh_gencontrol $(foreach p,$(shell echo `cat debian/arch_binaries`),-p$(p)) \
+ -- -v$(DEB_VERSION) $(common_substvars)
+ @set -e; \
+ pkgs='$(strip $(foreach p,$(shell echo `cat debian/arch_binaries.epoch`),-p$(p)))'; \
+ if [ -n "$$pkgs" ]; then \
+ echo dh_gencontrol $$pkgs -- -v$(DEB_EVERSION) $(common_substvars); \
+ dh_gencontrol $$pkgs -- -v$(DEB_EVERSION) $(common_substvars); \
+ fi
+ test ! -s debian/arch_binaries.all || \
+ dh_installdeb $(foreach p,$(shell echo `cat debian/arch_binaries.all`),-p$(p))
+ test ! -s debian/arch_binaries.all || \
+ dh_md5sums $(foreach p,$(shell echo `cat debian/arch_binaries.all`),-p$(p))
+ test ! -s debian/arch_binaries.all || \
+ dh_builddeb $(foreach p,$(shell echo `cat debian/arch_binaries.all`),-p$(p))
+ifeq ($(with_check),yes)
+ @echo Done
+# : # Send Email about sucessfull build.
+# # cat raw-test-summary | sh; echo "Sent mail to $(S_EMAIL)"
+endif
+
+ : # remove empty directories, when all components are in place
+ -find $(d) -type d -empty -delete
+
+ @echo "Listing installed files not included in any package:"
+ -find $(d) ! -type d
+
+ @echo XXXXX `date -R`
+
+# ----------------------------------------------------------------------
+# Build architecture-independent files here.
+debian/indep_binaries.all: $(foreach i,$(indep_binaries),$(binary_stamp)-$(i))
+ cd debian; xargs -r du -s < indep_binaries | sort -nr | awk '{print $$2}' \
+ > indep_binaries.tmp
+ mv debian/indep_binaries.tmp debian/indep_binaries
+ sed -i 's/ /\n/g' debian/indep_binaries.epoch || touch debian/indep_binaries.epoch
+ cat debian/indep_binaries debian/indep_binaries.epoch > debian/indep_binaries.all
+
+binary-indep: debian/indep_binaries.all
+ dh_compress $(foreach p,$(shell echo `cat debian/indep_binaries.all`),-p$(p)) \
+ -X.log.xz -X.sum.xz -X.c -X.txt -X.tag -X.map -XREADME.Bugs
+ dh_fixperms $(foreach p,$(shell echo `cat debian/indep_binaries.all`),-p$(p))
+ : # the export should be harmless for the binary indep packages of a native build
+ export DEB_HOST_ARCH=$(TARGET); \
+ dh_gencontrol $(foreach p,$(shell echo `cat debian/indep_binaries`),-p$(p)) \
+ -- -v$(DEB_VERSION) $(common_substvars)
+ @set -e; \
+ export DEB_HOST_ARCH=$(TARGET); \
+ pkgs='$(strip $(foreach p,$(shell echo `cat debian/indep_binaries.epoch`),-p$(p)))'; \
+ if [ -n "$$pkgs" ]; then \
+ echo dh_gencontrol $$pkgs -- -v$(DEB_EVERSION) $(common_substvars); \
+ dh_gencontrol $$pkgs -- -v$(DEB_EVERSION) $(common_substvars); \
+ fi
+
+ifneq (,$(filter $(DEB_TARGET_ARCH), mips mipsel mips64 mips64el mipsn32 mipsn32el))
+ for p in `cat debian/indep_binaries debian/indep_binaries.epoch`; do \
+ p=$${p#-p*}; \
+ case "$$p" in \
+ lib64*) echo mangle $$p; sed -i -r '/^(Dep|Rec|Sug)/s/libn?32[^,]+(, *|$$)//g;/^(Dep|Rec|Sug)/s/$(p_lgcc)/$(p_l64gcc)/;/^(Dep|Rec|Sug)/s/ *, *$$//' debian/$$p/DEBIAN/control;; \
+ libn32*) echo mangle $$p; sed -i -r '/^(Dep|Rec|Sug)/s/lib64[^,]+(, *|$$)//g;/^(Dep|Rec|Sug)/s/$(p_lgcc)/$(p_ln32gcc)/;/^(Dep|Rec|Sug)/s/ *, *$$//' debian/$$p/DEBIAN/control;; \
+ esac; \
+ done
+endif
+
+ dh_installdeb $(foreach p,$(shell echo `cat debian/indep_binaries.all`),-p$(p))
+ dh_md5sums $(foreach p,$(shell echo `cat debian/indep_binaries.all`),-p$(p))
+ dh_builddeb $(foreach p,$(shell echo `cat debian/indep_binaries.all`),-p$(p))
+
+ @echo XXXXX `date -R`
+
+source diff:
+ @echo >&2 'source and diff are obsolete - use dpkg-source -b'; false
+
+binary: binary-indep binary-arch
+.PHONY: build clean binary-indep binary-arch binary
+.PRECIOUS: $(stampdir)/%-stamp debian/indep_binaries.all debian/arch_binaries.all
--- /dev/null
+#! /bin/sh
+
+mkdir -p build
+
+abi=${CC##* }
+base=build/runcheck$abi
+
+cat >$base.c <<EOF
+#include <stdio.h>
+int main()
+{
+ printf("$abi");
+ return 0;
+}
+EOF
+
+
+if ${CC:-gcc} -o $base $base.c 2>/dev/null; then
+ if [ "$($base 2>&1)" = "$abi" ]; then
+ printf "%s" $abi > $base.out
+ printf "%s" $abi
+ fi
+fi
--- /dev/null
+invalid-arch-string-in-source-relation
+
+quilt-build-dep-but-no-series-file
+
+# lintian can't handle (>= ${gcc:Version})
+weak-library-dev-dependency
+
+# yes, still generating the series file for the build
+patch-file-present-but-not-mentioned-in-series
--- /dev/null
+Tests: runtime-libs
+Depends: apt, python3-minimal
+Restrictions: allow-stderr
+
+Tests: libc-link
+Depends: gcc-8, libc6-dev | libc-dev
+
+Tests: libstdcxx-link
+Depends: g++-8
+
+Tests: libgfortran-link
+Depends: gfortran-8
+
+Tests: libgo-link
+Depends: gccgo-8
+
+Tests: libgomp-link
+Depends: gfortran-8, gcc-8
+
+Tests: libgnat-link
+Depends: gnat-8
+
+Tests: shlib-build
+Depends: gcc-8, libc6-dev | libc-dev
--- /dev/null
+#!/bin/sh
+# autopkgtest check: Build and run a simple program against libc, to verify
+# basic compile-time and run-time linking functionality.
+#
+# (C) 2012 Canonical Ltd.
+# Author: Martin Pitt <martin.pitt@ubuntu.com>
+
+set -e
+
+CC=gcc-8
+
+WORKDIR=$(mktemp -d)
+trap "rm -rf $WORKDIR" 0 INT QUIT ABRT PIPE TERM
+cd $WORKDIR
+cat <<EOF > libctest.c
+#include <string.h>
+#include <assert.h>
+
+int main()
+{
+ assert (1 > 0);
+ assert (strcmp ("hello", "hello") == 0);
+ return 0;
+}
+EOF
+
+$CC -o libctest libctest.c
+echo "build: OK"
+[ -x libctest ]
+./libctest
+echo "run: OK"
--- /dev/null
+#!/bin/sh
+# autopkgtest check: Build and run a simple program against libgfortran,
+# to verify basic compile-time and run-time linking functionality.
+
+set -e
+
+F95=gfortran-8
+
+WORKDIR=$(mktemp -d)
+trap "rm -rf $WORKDIR" 0 INT QUIT ABRT PIPE TERM
+cd $WORKDIR
+cat <<EOF > libgfortran.f
+ program hello
+ print *, "Hello World!"
+ end program hello
+EOF
+
+$F95 -o ftest libgfortran.f
+echo "build: OK"
+ldd ftest
+[ -x ftest ]
+./ftest
+echo "run: OK"
--- /dev/null
+#!/bin/sh
+# autopkgtest check: Build and run a simple program against libgnat,
+# to verify basic compile-time and run-time linking functionality.
+
+set -e
+
+GNATMAKE=gnatmake-8
+
+WORKDIR=$(mktemp -d)
+trap "rm -rf $WORKDIR" 0 INT QUIT ABRT PIPE TERM
+cd $WORKDIR
+cat <<EOF > hello.adb
+with Ada.Text_IO; use Ada.Text_IO;
+procedure Hello is
+begin
+ Put_Line("Hello gnatmake.");
+end Hello;
+EOF
+
+$GNATMAKE -eS -vm -o adatest hello.adb
+echo "build: OK"
+ldd adatest
+[ -x adatest ]
+./adatest
+echo "run: OK"
--- /dev/null
+#!/bin/sh
+# autopkgtest check: Build and run a simple program against libgo,
+# to verify basic compile-time and run-time linking functionality.
+
+set -e
+
+GO=go-8
+
+WORKDIR=$(mktemp -d)
+trap "rm -rf $WORKDIR" 0 INT QUIT ABRT PIPE TERM
+cd $WORKDIR
+cat <<EOF > hello.go
+package main
+import "fmt"
+func main() {
+ fmt.Println("hello world")
+}
+EOF
+
+$GO run hello.go
+$GO build hello.go
+echo "build: OK"
+ldd hello
+[ -x hello ]
+./hello
+echo "run: OK"
--- /dev/null
+#!/bin/sh
+# autopkgtest check: Build and run a simple program against libgfortran,
+# to verify basic compile-time and run-time linking functionality.
+
+set -e
+
+CC=gcc-8
+F95=gfortran-8
+
+WORKDIR=$(mktemp -d)
+trap "rm -rf $WORKDIR" 0 INT QUIT ABRT PIPE TERM
+cd $WORKDIR
+cat <<EOF > hello-gomp.c
+#include <omp.h>
+#include <stdio.h>
+#include <stdlib.h>
+int main (int argc, char *argv[]) {
+
+int nthreads, tid;
+
+/* Fork a team of threads giving them their own copies of variables */
+#pragma omp parallel private(nthreads, tid)
+ {
+
+ /* Obtain thread number */
+ tid = omp_get_thread_num();
+ printf("Hello World from thread = %d\n", tid);
+
+ /* Only master thread does this */
+ if (tid == 0)
+ {
+ nthreads = omp_get_num_threads();
+ printf("Number of threads = %d\n", nthreads);
+ }
+
+ } /* All threads join master thread and disband */
+}
+EOF
+
+$CC -fopenmp -o gctest hello-gomp.c
+echo "build: OK"
+ldd gctest
+[ -x gctest ]
+./gctest
+echo "run: OK"
+
+cat <<EOF > hello-gomp.f
+ program omp_par_do
+ implicit none
+
+ integer, parameter :: n = 100
+ real, dimension(n) :: dat, result
+ integer :: i
+
+ !$OMP PARALLEL DO
+ do i = 1, n
+ result(i) = my_function(dat(i))
+ end do
+ !$OMP END PARALLEL DO
+
+ contains
+
+ function my_function(d) result(y)
+ real, intent(in) :: d
+ real :: y
+
+ ! do something complex with data to calculate y
+ end function my_function
+ end program omp_par_do
+EOF
+
+$F95 -fopenmp -o gftest hello-gomp.f
+echo "build: OK"
+ldd gftest
+[ -x gftest ]
+./gftest
+echo "run: OK"
--- /dev/null
+#!/bin/sh
+# autopkgtest check: Build and run a simple program against libstdc++,
+# to verify basic compile-time and run-time linking functionality.
+
+set -e
+
+CXX=g++-8
+
+WORKDIR=$(mktemp -d)
+trap "rm -rf $WORKDIR" 0 INT QUIT ABRT PIPE TERM
+cd $WORKDIR
+cat <<EOF > libstdcxx.cc
+#include <iostream>
+using namespace std;
+
+int main() {
+ cout << "Hello! World!\n";
+ return 0;
+}
+EOF
+
+$CXX -o cxxtest libstdcxx.cc
+echo "build: OK"
+ldd cxxtest
+[ -x cxxtest ]
+./cxxtest
+echo "run: OK"
--- /dev/null
+#!/bin/sh
+# autopkgtest check: start a "simple" program and check that
+# dynamic loading of modules works
+
+set -e
+
+
+WORKDIR=$(mktemp -d)
+trap "rm -rf $WORKDIR" 0 INT QUIT ABRT PIPE TERM
+cd $WORKDIR
+
+echo "Running exexutable linked with libgcc and libstdc++ (apt)..."
+if [ -x /usr/bin/apt ]; then
+ apt=/usr/bin/apt
+elif [ -x /bin/apt ]; then
+ apt=/bin/apt
+else
+ echo "apt not found"
+ exit 1
+fi
+
+ldd $apt
+apt show libgcc1 libstdc++6
+
+echo "Running dynamically linked executable (python3)..."
+python3 -c 'print("Hello World!")'
+echo "OK"
+
+echo "Loading extension module..."
+python3 -c 'import _hashlib; print(_hashlib.__dict__)'
+echo "OK"
--- /dev/null
+#!/bin/sh
+# autopkgtest check: Build and link against a simple shared library, to test
+# basic binutils compile-time and run-time linking functionality.
+#
+# (C) 2012 Canonical Ltd.
+# Author: Martin Pitt <martin.pitt@ubuntu.com>
+
+set -e
+
+CC=gcc-8
+
+WORKDIR=$(mktemp -d)
+trap "rm -rf $WORKDIR" 0 INT QUIT ABRT PIPE TERM
+cd $WORKDIR
+cat <<EOF > testlib.c
+
+int ultimate_answer()
+{
+ return 42;
+}
+EOF
+
+$CC -Wall -Werror -shared -o libultimate.so testlib.c
+echo "library build: OK"
+
+# should export the symbol
+nm -D libultimate.so | grep -q 'T ultimate_answer'
+
+# link it against a program
+cat <<EOF > testprog.c
+#include <assert.h>
+
+int ultimate_answer();
+
+int main()
+{
+ assert (ultimate_answer() == 42);
+ return 0;
+}
+EOF
+
+$CC -Wall -Werror -L . -o testprog testprog.c -lultimate
+echo "program build: OK"
+[ -x testprog ]
+LD_LIBRARY_PATH=. ./testprog
+echo "run: OK"
--- /dev/null
+version=2
+ftp://gcc.gnu.org/pub/gcc/releases/gcc-(8\.[\d\.]*)/ \
+ gcc-([\d\.]+)\.tar\.xz debian uupdate