From: Matthias Klose Date: Tue, 18 Feb 2020 13:37:47 +0000 (+0000) Subject: gcc-8 (8.3.0-29) unstable; urgency=medium X-Git-Tag: archive/raspbian/8.3.0-29+rpi1^2~1 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=4c2f79c0f96e0ebd9ca154261ed34374edf72e8e;p=gcc-8.git gcc-8 (8.3.0-29) unstable; urgency=medium * Update to git 20200218 from the gcc-8 branch. - Fix PR tree-optimization/93381, PR tree-optimization/93439, PR middle-end/93054, PR debug/92763, PR tree-optimization/92704, PR middle-end/92674, PR target/93724 (x86), PR tree-optimization/93744, PR target/93704 (SPARC), PR target/93696 (x86), PR target/93673 (x86), PR target/93670 (x86), PR target/93637 (x86), PR target/65782 (x86), PR libgomp/93515, PR middle-end/93555, PR middle-end/93505, PR rtl-optimization/93402, PR target/91298 (x86), PR target/93333 (RISCV), PR target/93073 (PPC), PR inline-asm/93202, PR rtl-optimization/93088, PR ipa/93087, PR ipa/92357, PR tree-optimization/92930, PR target/92904 (x86), PR target/92723, PR debug/92664, PR target/92615 (x86), PR middle-end/93246, PR rtl-optimization/91838, PR c++/61414, PR c/93576, PR c++/61414, PR c++/93228, PR c++/92438, PR c++/92992, PR c++/92732, PR c++/60228, PR c++/92524, PR c++/92648, PR c++/61414, PR c++/90842, PR fortran/93463, PR fortran/93329, PR fortran/92977, PR fortran/92899, PR fortran/92781, PR fortran/91944, PR fortran/93541, PR libgomp/93515, PR libgomp/93065, PR sanitizer/92154, PR sanitizer/92154. [dgit import package gcc-8 8.3.0-29] --- diff --git a/debian/NEWS.gcc b/debian/NEWS.gcc new file mode 100644 index 0000000..aeccd06 --- /dev/null +++ b/debian/NEWS.gcc @@ -0,0 +1,917 @@ + 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 and types like + std::atomic 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 + -: 2:class Foo + -: 3:{ + -: 4: public: + 2: 5: Foo(): b (1000) {} + ------------------ + Foo::Foo(): + 1: 5: Foo(): b (1000) {} + ------------------ + Foo::Foo(): + 1: 5: Foo(): b (1000) {} + ------------------ + 2: 6: void inc () { b++; } + ------------------ + Foo::inc(): + 1: 6: void inc () { b++; } + ------------------ + Foo::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 a; + 1: 15: Foo 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 + ''; did you forget to '#include + '? + incomplete.c:1:1: + +#include + 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 + ''; did you forget to '#include '? + +#include + 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'} 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 (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 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 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()' + from 'vector' to 'vector' + fn_1(vector ()); + ^~~~~~~~~~~~~~~~~ + templates.cc:10:8: error: could not convert 'map + ()' from 'map<[...],double>' to 'map<[...],int>' + fn_2(map()); + ^~~~~~~~~~~~~~~~~~ + 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()' + from 'vector' to 'vector' + fn_1(vector ()); + ^~~~~~~~~~~~~~~~~ + templates.cc:10:8: error: could not convert 'map + ()' from 'map' to 'map' + fn_2(map()); + ^~~~~~~~~~~~~~~~~~ + 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()' + from 'vector' to 'vector' + vector< + [double != int]> + fn_1(vector ()); + ^~~~~~~~~~~~~~~~~ + templates-2.cc:10:8: error: could not convert 'map >, vector >()' from 'map>,vector>' to 'map>,vector>' + map< + map< + [...], + vector< + [double != float]>>, + vector< + [double != float]>> + fn_2(map>, vector> ()); + ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 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()' + from 'vector' to 'vector' + vector< + [double != int]> + fn_1(vector ()); + ^~~~~~~~~~~~~~~~~ + templates-2.cc:10:8: error: could not convert 'map >, vector >()' from + 'map>,vector>' to + 'map>,vector>' + map< + map< + int, + vector< + [double != float]>>, + vector< + [double != float]>> + fn_2(map>, vector> ()); + ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * 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 and std::char_traits 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. diff --git a/debian/NEWS.html b/debian/NEWS.html new file mode 100644 index 0000000..d71e31a --- /dev/null +++ b/debian/NEWS.html @@ -0,0 +1,1353 @@ + + + + + + + + + + + + + + + + + + + + + + + + + +GCC 8 Release Series — Changes, New Features, and Fixes +- GNU Project - Free Software Foundation (FSF) + + + + + + + + + +

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: +
      +
    • Reworked run-time estimation metrics leading to more realistic guesses + driving inliner and cloning heuristics.
    • +
    • 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: +
      +
    • New infrastructure for representing profiles (both statically guessed + and profile feedback) which allows propagation of additional information + about the reliability of the profile.
    • +
    • A number of improvements in the profile updating code solving problems + found by new verification code.
    • +
    • 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).
    • +
    • -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: +
      +
    • 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: +
      +
    • -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.
    • +
    • -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.
    • +
    • -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.
    • +
    • -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.
    • +
    • -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.
    • +
    +
      +
    • -Wcast-function-type warns when a function pointer + is cast to an incompatible function pointer. This warning is enabled + by -Wextra.
    • +
    +
      +
    • -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.
    • +
    +
      +
    • -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.
    • +
    +
      +
    • -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: +
      +
    • -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: +
      +
    • Deduction guides to support class template argument deduction.
    • +
    • std::filesystem implementation.
    • +
    • std::char_traits<char> and + std::char_traits<wchar_t> are usable in constant + expressions.
    • +
    • 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:

+ +

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: +
      +
    • +aes which contains the Armv8-A AES crytographic instructions.
    • +
    • +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: +
      +
    • +sha3 New SHA3 and SHA2 instructions from Armv8.4-A. This implies +sha2.
    • +
    • +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): +
      +
    • Arm Cortex-A75 (cortex-a75).
    • +
    • Arm Cortex-A55 (cortex-a55).
    • +
    • 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: +
      +
    • Fast interrupts.
    • +
    • Naked functions.
    • +
    • aux variable attributes.
    • +
    • uncached type qualifier.
    • +
    • 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): +
      +
    • Arm Cortex-A75 (cortex-a75).
    • +
    • Arm Cortex-A55 (cortex-a55).
    • +
    • Arm Cortex-A55/Cortex-A75 DynamIQ big.LITTLE (cortex-a75.cortex-a55).
    • +
    • 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. +
      +
    • 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.
    • +
    • 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. +
      +
    • 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.
    • +
    • 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.
    • +
    • 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.
    • +
    • 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.
    • +
    • 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

+
    +
  • +
+ + + + + + + + + + + + + + + + + + diff --git a/debian/README.Bugs.m4 b/debian/README.Bugs.m4 new file mode 100644 index 0000000..a2d1606 --- /dev/null +++ b/debian/README.Bugs.m4 @@ -0,0 +1,333 @@ +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 + #include + + 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 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 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 + +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 +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" : + +> 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 ...] diff --git a/debian/README.C++ b/debian/README.C++ new file mode 100644 index 0000000..8cc40f8 --- /dev/null +++ b/debian/README.C++ @@ -0,0 +1,35 @@ +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 . 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. diff --git a/debian/README.Debian b/debian/README.Debian new file mode 100644 index 0000000..b2275d4 --- /dev/null +++ b/debian/README.Debian @@ -0,0 +1,45 @@ + 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 +Ludovic Brenta (gnat) +Iain Buclaw (gdc) +Aurelien Jarno (mips*-linux) +Aurelien Jarno (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 (alpha-linux) +Ray Dassen +Jeff Bailey (hurd-i386) +Joel Baker (netbsd-i386) +Randolph Chung (ia64-linux) +Philip Blundell (arm-linux) +Ben Collins (sparc-linux) +Dan Jacobowitz (powerpc-linux) +Thiemo Seufer (mips*-linux) +Matt Taggart (hppa-linux) +Gerhard Tonn (s390-linux) +Roman Zippel (m68k-linux) +Arthur Loiret (gdc) + +=============================================================================== + diff --git a/debian/README.cross b/debian/README.cross new file mode 100644 index 0000000..7909833 --- /dev/null +++ b/debian/README.cross @@ -0,0 +1,20 @@ +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. diff --git a/debian/README.gnat b/debian/README.gnat new file mode 100644 index 0000000..1efd8df --- /dev/null +++ b/debian/README.gnat @@ -0,0 +1,34 @@ +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. diff --git a/debian/README.libstdc++-baseline.in b/debian/README.libstdc++-baseline.in new file mode 100644 index 0000000..e771c16 --- /dev/null +++ b/debian/README.libstdc++-baseline.in @@ -0,0 +1,2 @@ +The libstdc++ baseline file is a list of symbols exported by the +libstdc++ library. diff --git a/debian/README.maintainers b/debian/README.maintainers new file mode 100644 index 0000000..9240455 --- /dev/null +++ b/debian/README.maintainers @@ -0,0 +1,190 @@ +-*- 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-.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 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/ 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. diff --git a/debian/README.snapshot b/debian/README.snapshot new file mode 100644 index 0000000..3e5be69 --- /dev/null +++ b/debian/README.snapshot @@ -0,0 +1,36 @@ +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. diff --git a/debian/README.source b/debian/README.source new file mode 100644 index 0000000..4eceda6 --- /dev/null +++ b/debian/README.source @@ -0,0 +1,16 @@ +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. diff --git a/debian/README.ssp b/debian/README.ssp new file mode 100644 index 0000000..9facca7 --- /dev/null +++ b/debian/README.ssp @@ -0,0 +1,28 @@ +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/ diff --git a/debian/TODO b/debian/TODO new file mode 100644 index 0000000..4ce4b0b --- /dev/null +++ b/debian/TODO @@ -0,0 +1,46 @@ +(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 diff --git a/debian/acats-killer.sh b/debian/acats-killer.sh new file mode 100644 index 0000000..29a2550 --- /dev/null +++ b/debian/acats-killer.sh @@ -0,0 +1,62 @@ +#! /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 ] " + 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 diff --git a/debian/ada/confirm_debian_bugs.py b/debian/ada/confirm_debian_bugs.py new file mode 100644 index 0000000..738dfbd --- /dev/null +++ b/debian/ada/confirm_debian_bugs.py @@ -0,0 +1,943 @@ +#!/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 {}] ".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)) diff --git a/debian/ada/debian_packaging.mk b/debian/ada/debian_packaging.mk new file mode 100644 index 0000000..149e851 --- /dev/null +++ b/debian/ada/debian_packaging.mk @@ -0,0 +1,134 @@ +# Common settings for Ada Debian packaging. +# +# Copyright (C) 2012-2018 Nicolas Boulenguez +# +# 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 . + + +# 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. diff --git a/debian/bin-wrapper.in b/debian/bin-wrapper.in new file mode 100644 index 0000000..f8ca63b --- /dev/null +++ b/debian/bin-wrapper.in @@ -0,0 +1,11 @@ +#! /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) "$@" diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..1353c0e --- /dev/null +++ b/debian/changelog @@ -0,0 +1,15005 @@ +gcc-8 (8.3.0-29) unstable; urgency=medium + + * Update to git 20200218 from the gcc-8 branch. + - Fix PR tree-optimization/93381, PR tree-optimization/93439, + PR middle-end/93054, PR debug/92763, PR tree-optimization/92704, + PR middle-end/92674, PR target/93724 (x86), PR tree-optimization/93744, + PR target/93704 (SPARC), PR target/93696 (x86), PR target/93673 (x86), + PR target/93670 (x86), PR target/93637 (x86), PR target/65782 (x86), + PR libgomp/93515, PR middle-end/93555, PR middle-end/93505, + PR rtl-optimization/93402, PR target/91298 (x86), PR target/93333 (RISCV), + PR target/93073 (PPC), PR inline-asm/93202, PR rtl-optimization/93088, + PR ipa/93087, PR ipa/92357, PR tree-optimization/92930, + PR target/92904 (x86), PR target/92723, PR debug/92664, + PR target/92615 (x86), PR middle-end/93246, PR rtl-optimization/91838, + PR c++/61414, PR c/93576, PR c++/61414, PR c++/93228, PR c++/92438, + PR c++/92992, PR c++/92732, PR c++/60228, PR c++/92524, PR c++/92648, + PR c++/61414, PR c++/90842, PR fortran/93463, PR fortran/93329, + PR fortran/92977, PR fortran/92899, PR fortran/92781, PR fortran/91944, + PR fortran/93541, PR libgomp/93515, PR libgomp/93065, PR sanitizer/92154, + PR sanitizer/92154. + + -- Matthias Klose Tue, 18 Feb 2020 14:37:47 +0100 + +gcc-8 (8.3.0-28) unstable; urgency=medium + + * Sourceful no-change upload. Closes: #950632. + + -- Matthias Klose Tue, 04 Feb 2020 12:57:33 +0100 + +gcc-8 (8.3.0-27) unstable; urgency=medium + + * Update to git 20200203 from the gcc-8 branch. + - Fix PR libgomp/93066, PR lto/89358, PR ipa/92971, PR target/93182 (AVR), + PR target/93111 (PARISC), PR rtl-optimization/92591, + PR target/92545 (AVR), PR target/92950 (S390), PR c/93072, PR c/93241, + PR c++/92859, PR fortran/84135, PR fortran/92961, PR middle-end/91226, + PR libstdc++/93201, PR target/92692 (AArch64), PR c/93348, PR c++/91826, + PR c++/92852. + * Fix buffer overflow in the gcc-search-prefixed-as-ld patch. + Addresses: #946792. + * Refresh patches. + * Dump the config.log for the configure step when it fails. + * On architectures where libgcc_s.so is a symlink, replace the symlink with + a simple linker script. + * libgcc-dev: Don't ship a libgcc_so.1 symlink in gcclibdir. + Addresses: #950525. + * Bump standards version. + + -- Matthias Klose Mon, 03 Feb 2020 08:07:47 +0100 + +gcc-8 (8.3.0-26) unstable; urgency=medium + + * Update to SVN 20191201 (r278885) from the gcc-8-branch. + - Fix PR fortran/92100, PR fortran/92629, PR driver/89014. + * Fix applying the gcc-linaro patch. + * Stop building -dbg packages, keep building the libstc++6-8-dbg package + containing just the libstdc++ debug build. + + -- Matthias Klose Sun, 01 Dec 2019 20:22:52 +0100 + +gcc-8 (8.3.0-25) unstable; urgency=medium + + * Update to SVN 20191126 (r278718) from the gcc-8-branch. + - Fix PR c/91401, PR tree-optimization/91355, PR middle-end/90840, + PR target/90867 (x86), PR c/90898, PR middle-end/91450, + PR c++/92384, PR tree-optimization/92056, PR tree-optimization/91665, + PR middle-end/91001, PR middle-end/91105, PR middle-end/91106, + PR middle-end/91623, PR other/92090, PR target/92389 (x86), + PR target/87833 (x86), PR target/92095 (SPARC), PR fortran/92113, + PR tree-optimization/85887, PR c++/92201, PR c++/91974, + PR preprocessor/92296, PR fortran/92569, PR ada/92575. + + -- Matthias Klose Tue, 26 Nov 2019 08:34:48 +0100 + +gcc-8 (8.3.0-24) unstable; urgency=medium + + * Update to SVN 20191107 (r277923) from the gcc-8-branch. + - Fix PR target/91275 (PPC), PR fortran/84487, PR libstdc++/92143, + PR libstdc++/92059, PR target/86487, PR target/65342 (PPC), + PR target/70010 (PPC), PR target/88167 (ARM), PR debug/91887, + PR tree-optimization/91812, PR debug/91772, PR tree-optimization/92131, + PR target/86040 (AVR), PR rtl-optimization/89721, PR target/89400 (ARM), + PR target/92022 (ALPHA), PR target/88630 (SH), PR c++/88075, + PR c++/92106, PR ada/91995, PR fortran/86248, PR fortran/69455, + PR rtl-optimization/85458, PR target/91289 (PPC). + + -- Matthias Klose Thu, 07 Nov 2019 18:09:26 +0100 + +gcc-8 (8.3.0-23) unstable; urgency=medium + + * Update to SVN 20191002 (r276439) from the gcc-8-branch. + - Fix PR target/86712 (SH), PR target/88562 (SH), PR target/91854 (SPARC), + PR target/80672 (SH), PR target/85993 (SH), PR rtl-optimization/88751, + PR rtl-optimization/89795, PR fortran/91588, PR fortran/91550, + PR fortran/91557. + * Bump standards version. + + -- Matthias Klose Wed, 02 Oct 2019 08:08:49 +0200 + +gcc-8 (8.3.0-22) unstable; urgency=medium + + * Update to SVN 20190909 (r275519) from the gcc-8-branch. + - Fix PR libgomp/90585, PR libstdc++/91308, PR libstdc++/51333, + PR libstdc++/78179, PR libstdc++/90770, PR libstdc++/85965, PR pch/61250, + PR c/90474, PR sanitizer/90954, PR debug/90197, PR pch/90326, + PR target/81800 (AArch64), PR target/91472 (SPARC), + PR tree-optimization/90930, PR tree-optimization/90637, + PR tree-optimization/91108, PR target/91481 (PPC), PR middle-end/88567, + PR tree-optimization/88315, PR debug/90900, PR tree-optimization/90278, + PR middle-end/90194, PR lto/91375, PR tree-optimization/91293, + PR tree-optimization/91280, PR tree-optimization/91200, + PR middle-end/91162, PR middle-end/91131, PR tree-optimization/91126, + PR tree-optimization/90328, PR middle-end/89578, PR middle-end/87609, + PR tree-optimization/87609, PR tree-optimization/87609, + PR tree-optimization/91137, PR tree-optimization/90006, + PR tree-optimization/89725, PR tree-optimization/81740, + PR middle-end/90213, PR tree-optimization/90020, PR bootstrap/87030, + PR target/91150 (x86), PR middle-end/78884, PR rtl-optimization/90756, + PR c/90760, PR debug/90733, PR middle-end/90139, PR target/91533 (x86), + PR rtl-optimization/91347, PR pch/90326, PR middle-end/89392, + PR c++/90950, PR debug/90197, PR fortran/91660, PR target/83531, + PR target/87853 (x86), PR target/91704 (x86). + * Configure --without-target-system-zlib for gdc cross builds. + * any_archs: Remove mips and powerpcspe, add riscv64. + * libstdc++: Fix GCC_LINUX_FUTEX to work with C99 compilers, taken from + the trunk. + + -- Matthias Klose Mon, 09 Sep 2019 17:28:17 +0200 + +gcc-8 (8.3.0-21) unstable; urgency=medium + + * Update to SVN 20190817 (r274599) from the gcc-8-branch. + - Fix PR lto/90924, PR c/53633, PR rtl-optimization/91173, PR debug/91231, + PR driver/91172, PR c++/82081, PR target/89222 (ARM), + PR target/89190 (ARM), PR target/85711 (ARM), PR rtl-optimization/91136, + PR c++/91436, PR c++/86098, PR fortran/90563, PR fortran/90786, + PR fortran/90813, PR fortran/91414. + * Bump standards version. + + -- Matthias Klose Sat, 17 Aug 2019 11:32:17 +0200 + +gcc-8 (8.3.0-19) unstable; urgency=medium + + * Update to SVN 20190709 (r273305) from the gcc-8-branch. + - Fix PR fortran/91077. + * Make the lto-verbose-linker patch more robust for hppa (Dave Anglin). + * Avoid building stuff which is not needed for architecture independent + packages. Closes: #900554. + * Disable the LTO builds for armel/armhf, too slow on the buildds. + + -- Matthias Klose Tue, 09 Jul 2019 15:27:27 +0200 + +gcc-8 (8.3.0-18) unstable; urgency=medium + + * Update to SVN 20190704 (r273090) from the gcc-8-branch. + - Fix PR middle-end/90899. + * Increase the timeouts for the LTO link builds. + * Dump config files on failed jit and nvptx builds. + * Disable the LTO builds on architectures where the buildds can't keep up. + + -- Matthias Klose Thu, 04 Jul 2019 19:16:27 +0200 + +gcc-8 (8.3.0-17) experimental; urgency=medium + + * Try to enable the LTO builds everywhere. + * Make the LTO link step a bit more verbose to avoid timeouts on + the buildds. + + -- Matthias Klose Wed, 03 Jul 2019 18:53:45 +0200 + +gcc-8 (8.3.0-16) experimental; urgency=medium + + * Update to SVN 20190702 (r272936) from the gcc-8-branch. + - Fix PR tree-optimization/90949, PR ipa/90939. + * Don't use --push-state/--pop-state options for old linkers. + * Fix explicit autoconf version for backport packages. + * Allow to build with the locales package instead of locales-all. + * Disable LTO and profiled builds for older binutils versions. + * Don't try to use dwz on LTO optimized binaries prior to dwz 2019. + See #931319. + + -- Matthias Klose Tue, 02 Jul 2019 15:34:41 +0200 + +gcc-8 (8.3.0-15) experimental; urgency=medium + + * Update to SVN 20190625 (r272643) from the gcc-8-branch. + - Fix PR middle-end/64242 (PARISC), PR fortran/90937, PR fortran/90744. + * Apply proposed fix for PR libgcc/90714 (ia64 only). Closes: #930119. + + -- Matthias Klose Tue, 25 Jun 2019 12:45:57 +0200 + +gcc-8 (8.3.0-14) experimental; urgency=medium + + * Update to SVN 20190612 (r272183) from the gcc-8-branch. + - Fix PR c++/90532, PR libstdc++/90299, PR libstdc++/90454, PR c++/90532, + PR target/89765 (PPC), PR target/61976 (PPC), PR libstdc++/89466, + PR libstdc++/90220, PR libstdc++/90220, PR c++/85400, PR target/90530, + PR sanitizer/90570, PR target/90547 (x86), PR target/90811 (nvptx), + PR libstdc++/90634, PR libstdc++/90634, PR target/90751 (PARISC), + PR target/82920 (x86), PR fortran/90329, PR fortran/90329, PR c++/90810, + PR fortran/90498, PR fortran/57284, PR fortran/90329, PR bootstrap/89864. + * Turn on -fstack-clash-protection and -fcf-protection in Ubuntu 19.10 on + supported architectures. + * Turn on profiled bootstrap. + + -- Matthias Klose Wed, 12 Jun 2019 16:08:58 +0200 + +gcc-8 (8.3.0-13) experimental; urgency=medium + + * Update to SVN 20190514 (r271166) from the gcc-8-branch. + - Fix PR gcov-profile/90380, PR libstdc++/81266, PR libstdc++/89102 + (partial), PR libstdc++/88740, PR libstdc++/90165, PR libstdc++/90105, + PR libstdc++/85965, PR libstdc++/89629, PR target/89424 (PPC), + PR c++/88857, PR c++/89214, PR c++/89511, PR c++/89705, PR c++/89876. + * Ignore any distro default flags for the hppa64 cross build. + + -- Matthias Klose Tue, 14 May 2019 14:21:41 +0200 + +gcc-8 (8.3.0-12) experimental; urgency=medium + + * Update to SVN 20190506 (r270919) from the gcc-8-branch. + - Fix the profiled bootstrap on arm64. PR bootstrap/90359. + + -- Matthias Klose Mon, 06 May 2019 19:15:58 +0200 + +gcc-8 (8.3.0-11) experimental; urgency=medium + + * Stop building packages built by gcc-9. + * Update from the gcc-8 ARM/Linaro branch. + + -- Matthias Klose Sun, 05 May 2019 17:57:34 +0200 + +gcc-8 (8.3.0-10) experimental; urgency=medium + + * Update to SVN 20190505 (r270881) from the gcc-8-branch. + - Fix PR c/89946, PR c++/90108, PR c/89933, PR c/89734, + PR target/90193, PR target/90187 (x86), PR tree-optimization/90208, + PR rtl-optimization/90082, PR tree-optimization/90090, + PR rtl-optimization/89965, PR c/89946, PR rtl-optimization/90026, + PR rtl-optimization/89965, PR c++/90010, PR tree-optimization/89998, + PR c/89872, PR middle-end/89621, PR target/89752, PR target/89752, + PR rtl-optimization/89768, PR target/89726 (x86), PR debug/89704, + PR ipa/89684, PR rtl-optimization/89679, PR tree-optimization/89703, + PR debug/89498, PR middle-end/88588, PR middle-end/89663, PR c/88568, + PR target/89587 (PPC), PR middle-end/89590, PR middle-end/89412, + PR c/89520, PR middle-end/89091, PR middle-end/88074, PR middle-end/89415, + PR middle-end/88074, PR target/86538 (AArch64), PR target/37369 (AArch64), + PR middle-end/89037, PR target/85910 (AArch64), PR debug/89631, + PR c++/90108, PR c/89933, PR sanitizer/89869, PR c++/89796, + PR c++/60702, PR c++/89767, PR c++/89512, PR c++/87148, PR c++/89403, + PR c++/89405, PR fortran/89651, PR middle-end/89698, + PR tree-optimization/89595, PR tree-optimization/89710, + PR tree-optimization/90071, PR target/86984 (alpha), + PR target/89711 (x86). + * Merge some hardening defaults patches into one patch set. + * Turn on -fasynchronous-unwind-tables by default on supported architectures + for bullseye. + + -- Matthias Klose Sun, 05 May 2019 15:54:05 +0200 + +gcc-8 (8.3.0-7) unstable; urgency=medium + + * Update to SVN 20190428 (r270630) from the gcc-8-branch. + - Fix PR target/89877 (ARC), PR target/84369 (PPC), + PR tree-optimization/85762, PR tree-optimization/87008, + PR tree-optimization/85459, PR target/87532 (PPC), + PR target/87532 (PPC), PR ipa/89693, PR middle-end/88587, + PR tree-optimization/90018, PR target/90024 (ARM), + PR target/89945 (ARM), PR fortran/87352, PR fortran/89981, + PR fortran/89904, PR libgfortran/79540, PR fortran/87127, + PR rtl-optimization/87979, PR rtl-optimization/84032. + * Fix PR c++/90050, always link with libstdc++fs.a. LP: #1824721. + * Fix PR bootstrap/87338 on ia64 (James Clarke). Closes: #927976. + + -- Matthias Klose Sun, 28 Apr 2019 09:43:41 +0200 + +gcc-8 (8.3.0-6) unstable; urgency=medium + + * Update to SVN 20190406 (r270182) from the gcc-8-branch. + - Fix PR middle-end/89934, PR lto/89896. + * Fix PR fortran/89981, taken from the trunk. + + -- Matthias Klose Sat, 06 Apr 2019 16:44:55 +0200 + +gcc-8 (8.3.0-5) unstable; urgency=medium + + * Update to SVN 20190403 (r270110) from the gcc-8-branch. + - Fix PR target/89902 (x86), PR target/89903 (x86), + PR rtl-optimization/89862, PR target/89848 (x86), PR web/87829, + PR target/89827 (x86), PR fortran/83515, PR fortran/85797, + PR fortran/78865. + * Revert the fix for PC c++/88419, causing PR c++/89906. Closes: #926234. + * Mark gcc-8-source as M-A: foreign. + + -- Matthias Klose Wed, 03 Apr 2019 03:05:37 +0200 + +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 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 Sat, 16 Mar 2019 11:41:45 +0100 + +gcc-8 (8.3.0-2) unstable; urgency=medium + + * Fix the nvptx build. + + -- Matthias Klose 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 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 . + * Remove the linaro-macros test for Linaro builds. + * gdc-8: Include again the libgphobos spec file, accidentally dropped in -18. + + -- Matthias Klose 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 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 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 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 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 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 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 -compiler names for cross compiler packages. + Addresses: #916376. Not a final solution. + + -- Matthias Klose 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 profile to the autogen build dependency. + * Re-add the generated Makefile.in changes to the gdc-libphobos-build patch. + + -- Matthias Klose 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 Thu, 27 Oct 2016 15:27:07 +0200 + +gcc-6 (6.2.0-9) unstable; urgency=medium + + * Regenerate the control file. + + -- Matthias Klose 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 Sat, 08 Aug 2015 11:18:24 +0200 + +gcc-5 (5.2.1-14) unstable; urgency=high + + * Fix libstdc++6 breaks. + + -- Matthias Klose 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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- instead of gcc-4.x-base to collect doc files. + + -- Matthias Klose 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 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 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 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/ 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 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 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 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 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//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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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.. + * Fix PR c/33763, proposed patch from the issue. Closes: #672411. + * Fix build failure in libgo with hardening defaults. + + -- Matthias Klose 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 -{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 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 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 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 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 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 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 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//4.6. Closes: #645021. + * Fix stage1 cross-compiler package dependencies (Kyle Moffett). + Closes: #644439. + + -- Matthias Klose 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//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 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 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//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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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//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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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//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 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 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 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 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 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 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 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 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 + 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 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 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 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 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 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 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 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 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 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 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 Sun, 30 Sep 2007 12:06:02 +0200 + +gcc-4.3 (4.3-20070902-1) experimental; urgency=low + + * Upload to experimental. + + -- Matthias Klose 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 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 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 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 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 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 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 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 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 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 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 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 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 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= to overwrite NJOBS. + * Allow lang=, nolang= 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 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 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 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 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 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 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 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 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 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 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 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 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 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//4.2, to ease upgrades + between subminor versions. + * Configure --with-gxx-include-dir=/usr/include/c++/4.2 + + -- Matthias Klose 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 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 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 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 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 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 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 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 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 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 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 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 Fri, 1 Jun 2007 23:55:22 +0200 + +gcc-4.1 (4.1.2-10) unstable; urgency=low + + * Regenerate the control file. + + -- Matthias Klose 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 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 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 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 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 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 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 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//4.1, to ease upgrades + between minor versions. + Add compatibility symlinks in /4.1.2 to build gnat-4.1 + and gcj-4.1 from separate sources. + + -- Matthias Klose 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 + - Allow the choice whether or not to build with NLS. + - Fix a typo whereby libffi was always enabled on i386. + + -- Matthias Klose 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/-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 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 Tue, 16 Aug 2005 22:45:47 +0200 + +gcc-4.0 (4.0.1-4ubuntu1) breezy; urgency=low + + * Jeff Bailey + + 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 + + - 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 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 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 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 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 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 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 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 + 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 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 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 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 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 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 -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 Sat, 18 Jun 2005 00:42:55 +0000 + +gcc-4.0 (4.0.0-9) unstable; urgency=low + + * Upload to unstable. + + -- Matthias Klose Wed, 25 May 2005 19:02:20 +0200 + +gcc-4.0 (4.0.0-8ubuntu3) breezy; urgency=low + + * debian/control: Regenerate. + + -- Matthias Klose 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 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 Fri, 3 Jun 2005 13:38:19 +0200 + +gcc-4.0 (4.0.0-8) experimental; urgency=low + + * Synchronize with Ubuntu. + + -- Matthias Klose 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 '/adalib'. + Closes: #308948. + * Add libc6-dev-i386 as an alternative build dependency for amd64. + Closes: #305690. + + -- Matthias Klose 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 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 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 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 Sun, 15 May 2005 23:48:00 +0200 + +gcc-4.0 (4.0.0-7ubuntu1) breezy; urgency=low + + * Synchronize with Debian. + + -- Matthias Klose 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 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 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 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 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 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 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 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 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 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 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= to modify the default, which is to use the + number of available processors). + + -- Matthias Klose 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 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 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 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 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 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 Thu, 10 Feb 2005 15:16:27 +0100 + +gcc-4.0 (4.0ds5-0pre6ubuntu2) hoary; urgency=low + + * Disable Ada for powerpc. + + -- Matthias Klose 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 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 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 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 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 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 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 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 + + - 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 + + * 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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) 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 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 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 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 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). + - header declares std::pow (closes: #161853). + - 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 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 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 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 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 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 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 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 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 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, 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 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 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++: 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 -{cpp,gcc,g++,gcj,g77} symlinks (addresses: #189466). + * Make sure not to build using binutils-2.14.90.0.[12]. + + -- Matthias Klose 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 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 + 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 (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 + (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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 + * 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 ). + * Packaging fixes for the Hurd (#101711) (Jeff Bailey ). + * 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 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 ). + * Disable java for hppa. + * Updated subreg-byte patch for sparc (Ben Collins). + + -- Matthias Klose 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 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 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 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 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 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 ). + * 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 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 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), 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 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 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 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 (#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 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 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 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 ). + * Applied patch for avr target (Hakan Ardo ). + * 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 to fix name space pollution on arm + (fixes #70937). + * Fix more warnings in STL headers (fixes #69352, #71943). + + -- Matthias Klose 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 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 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 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 Thu, 20 Jul 2000 22:33:37 +0200 + +gcc (2.95.2-14) unstable; urgency=low + + * Update gpc patch. + + -- Matthias Klose 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 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 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 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 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 + 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 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 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 + (backport from 2.96 CVS to fix #55263). + * debian/patches/gcc-pointer-arith.dpatch: Apply patch from Jim Kingdon + (backport from 2.96 CVS to fix #54951). + + -- Matthias Klose 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 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 to compile glibc correctly on alpha. + "Should fix the g77 problems too." + * debian/patches/{libio,libstdc++-wall2}.dpatch. Remove patches + applied upstream. + + -- Matthias Klose 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" + ). + * debain/g++.preinst: Remove dangling sysmlinks (fixes #52359). + + -- Matthias Klose 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 + (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 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 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 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 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 ) + 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 ), + 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 + and apply to + all architectures (closes: #48011). + * According to the bug submitter (Herbert Xu ) + 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 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 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 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 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 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 . + * debian/patches/libstdc++-wall2.dpatch: Patch from Franck Sicard + to fix some warnings (closes: #44670). + * debian/patches/libstdc++-valarray.dpatch: Patch from Hideaki Fujitani + 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 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 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 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 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" , fixes important #43072). + + -- Matthias Klose 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 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 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 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 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 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 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 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 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 Tue, 29 Jun 1999 22:36:08 -0700 + +gcc-snapshot (19990625-0pre5) experimental; urgency=low + + * Updated to CVS gcc-19990625 snapshot. + + -- Matthias Klose 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 Sat, 12 Jun 1999 16:48:01 -0500 + +gcc-snapshot (19990609-0pre4) experimental; urgency=low + + * Updated to CVS egcs-19990611 snapshot. + + -- Matthias Klose 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 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 . + - 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 ). + * Use cpp driver provided by the package. + * New script c89 (fixes #28261). + + -- Matthias Klose 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) : + - At Richard Braakman's request, made -dbg packages for libstdc++ + and libg++. + - Provide egcc(1) (fixes lintian error). + + -- Matthias Klose Sun, 16 May 1999 14:30:56 +0200 + +egcs-snapshot (19990502-1) experimental; urgency=low + + * New snapshot. + + -- Matthias Klose Thu, 6 May 1999 11:51:02 +0200 + +egcs-snapshot (19990418-2) experimental; urgency=low + + * Merged Rays changes to build debug packages. + + -- Matthias Klose Wed, 21 Apr 1999 16:54:56 +0200 + +egcs-snapshot (19990418-1) experimental; urgency=low + + * New snapshot. + * Disable cpplib. + + -- Matthias Klose 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 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 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) 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 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 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 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 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, + . + * 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 . + * 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 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 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 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 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 + + + -- Matthias Klose 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 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 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 ). + * 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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) 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 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 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 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) 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) 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) 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 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 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 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 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 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 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 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 Mon, 10 Aug 1998 13:00:27 +0200 + +egcs-snapshot (19980803-4) experimental; urgency=low + + * rebuilt debian/control. + + -- Matthias Klose 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 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 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 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 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 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 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) 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) 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) 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) Sat, 13 Jun 1998 09:06:52 +0200 + +egcs-snapshot (19980608-1) experimental; urgency=low + + * New snapshot version. + + -- Matthias Klose 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) 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] " to + "as [-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] " to + "as [-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] " to + "as [-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] " to + "as [-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] " to + "as [-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/. + * 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) Tue, 26 May 1998 21:47:41 +0200 + +egcs-snapshot (19980525-1) experimental; urgency=low + + * New snapshot version. + + -- Matthias Klose 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 + , NMU's by J.H.M. Dassen (Ray) ) + * 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/. + * Further information in /usr/doc//README.snapshot. + + -- Matthias Klose 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) 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) 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) 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) 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 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) 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 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) 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) 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) 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) 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 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 Sat, 7 Feb 1998 19:22:30 -0700 + +egcs (1.0-1) experimental; urgency=low + + * First official release + + -- Galen Hazelwood 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 Wed, 17 Sep 1997 20:44:29 -0600 + +egcs (970904-1) experimental; urgency=low + + * New upstream snapshot + + -- Galen Hazelwood Sun, 7 Sep 1997 18:25:06 -0600 + +egcs (970814-1) experimental; urgency=low + + * Initial packaging (of initial snapshot!) + + -- Galen Hazelwood 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 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 . + + -- Matthias Klose 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 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 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 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 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 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) 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 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) 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) 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) 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] " to + "as [-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] " to + "as [-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] " to + "as [-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] " to + "as [-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] " to + "as [-o output file]". + * @ratfor: use random name rather then tempbasename.s for + intermediate compiler output (%g.s -> %U). + + -- J.H.M. Dassen (Ray) 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) 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) 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) 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 Sun, 5 Jan 1997 09:57:36 -0700 diff --git a/debian/compat b/debian/compat new file mode 100644 index 0000000..ec63514 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +9 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..24ebda0 --- /dev/null +++ b/debian/control @@ -0,0 +1,1072 @@ +Source: gcc-8 +Section: devel +Priority: optional +Maintainer: Debian GCC Maintainers +Uploaders: Matthias Klose +Standards-Version: 4.5.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] , + 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, gcc-9-base, + gawk, dwz (>= 0.12.20190702), libunwind8-dev [ia64], libatomic-ops-dev [ia64], + 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] , coreutils (>= 2.26) | realpath (>= 1.9.12), chrpath, lsb-release, quilt, + pkg-config, libgc-dev, + g++-8-alpha-linux-gnu [alpha] , gobjc-8-alpha-linux-gnu [alpha] , gfortran-8-alpha-linux-gnu [alpha] , gdc-8-alpha-linux-gnu [alpha] , gccgo-8-alpha-linux-gnu [alpha] , gnat-8-alpha-linux-gnu [alpha] , g++-8-x86-64-linux-gnu [amd64] , gobjc-8-x86-64-linux-gnu [amd64] , gfortran-8-x86-64-linux-gnu [amd64] , gdc-8-x86-64-linux-gnu [amd64] , gccgo-8-x86-64-linux-gnu [amd64] , gnat-8-x86-64-linux-gnu [amd64] , g++-8-arm-linux-gnueabi [armel] , gobjc-8-arm-linux-gnueabi [armel] , gfortran-8-arm-linux-gnueabi [armel] , gdc-8-arm-linux-gnueabi [armel] , gccgo-8-arm-linux-gnueabi [armel] , gnat-8-arm-linux-gnueabi [armel] , g++-8-arm-linux-gnueabihf [armhf] , gobjc-8-arm-linux-gnueabihf [armhf] , gfortran-8-arm-linux-gnueabihf [armhf] , gdc-8-arm-linux-gnueabihf [armhf] , gccgo-8-arm-linux-gnueabihf [armhf] , gnat-8-arm-linux-gnueabihf [armhf] , g++-8-aarch64-linux-gnu [arm64] , gobjc-8-aarch64-linux-gnu [arm64] , gfortran-8-aarch64-linux-gnu [arm64] , gdc-8-aarch64-linux-gnu [arm64] , gccgo-8-aarch64-linux-gnu [arm64] , gnat-8-aarch64-linux-gnu [arm64] , g++-8-i686-linux-gnu [i386] , gobjc-8-i686-linux-gnu [i386] , gfortran-8-i686-linux-gnu [i386] , gdc-8-i686-linux-gnu [i386] , gccgo-8-i686-linux-gnu [i386] , gnat-8-i686-linux-gnu [i386] , g++-8-mipsel-linux-gnu [mipsel] , gobjc-8-mipsel-linux-gnu [mipsel] , gfortran-8-mipsel-linux-gnu [mipsel] , gdc-8-mipsel-linux-gnu [mipsel] , gccgo-8-mipsel-linux-gnu [mipsel] , gnat-8-mipsel-linux-gnu [mipsel] , g++-8-mips64-linux-gnuabi64 [mips64] , gobjc-8-mips64-linux-gnuabi64 [mips64] , gfortran-8-mips64-linux-gnuabi64 [mips64] , gdc-8-mips64-linux-gnuabi64 [mips64] , gccgo-8-mips64-linux-gnuabi64 [mips64] , gnat-8-mips64-linux-gnuabi64 [mips64] , g++-8-mips64el-linux-gnuabi64 [mips64el] , gobjc-8-mips64el-linux-gnuabi64 [mips64el] , gfortran-8-mips64el-linux-gnuabi64 [mips64el] , gdc-8-mips64el-linux-gnuabi64 [mips64el] , gccgo-8-mips64el-linux-gnuabi64 [mips64el] , gnat-8-mips64el-linux-gnuabi64 [mips64el] , g++-8-mips64-linux-gnuabin32 [mipsn32] , gobjc-8-mips64-linux-gnuabin32 [mipsn32] , gfortran-8-mips64-linux-gnuabin32 [mipsn32] , gdc-8-mips64-linux-gnuabin32 [mipsn32] , gccgo-8-mips64-linux-gnuabin32 [mipsn32] , gnat-8-mips64-linux-gnuabin32 [mipsn32] , g++-8-powerpc-linux-gnu [powerpc] , gobjc-8-powerpc-linux-gnu [powerpc] , gfortran-8-powerpc-linux-gnu [powerpc] , gdc-8-powerpc-linux-gnu [powerpc] , gccgo-8-powerpc-linux-gnu [powerpc] , gnat-8-powerpc-linux-gnu [powerpc] , g++-8-powerpc64-linux-gnu [ppc64] , gobjc-8-powerpc64-linux-gnu [ppc64] , gfortran-8-powerpc64-linux-gnu [ppc64] , gdc-8-powerpc64-linux-gnu [ppc64] , gccgo-8-powerpc64-linux-gnu [ppc64] , gnat-8-powerpc64-linux-gnu [ppc64] , g++-8-powerpc64le-linux-gnu [ppc64el] , gobjc-8-powerpc64le-linux-gnu [ppc64el] , gfortran-8-powerpc64le-linux-gnu [ppc64el] , gdc-8-powerpc64le-linux-gnu [ppc64el] , gccgo-8-powerpc64le-linux-gnu [ppc64el] , gnat-8-powerpc64le-linux-gnu [ppc64el] , g++-8-m68k-linux-gnu [m68k] , gobjc-8-m68k-linux-gnu [m68k] , gfortran-8-m68k-linux-gnu [m68k] , gdc-8-m68k-linux-gnu [m68k] , g++-8-riscv64-linux-gnu [riscv64] , gobjc-8-riscv64-linux-gnu [riscv64] , gfortran-8-riscv64-linux-gnu [riscv64] , gdc-8-riscv64-linux-gnu [riscv64] , gccgo-8-riscv64-linux-gnu [riscv64] , gnat-8-riscv64-linux-gnu [riscv64] , g++-8-sh4-linux-gnu [sh4] , gobjc-8-sh4-linux-gnu [sh4] , gfortran-8-sh4-linux-gnu [sh4] , gnat-8-sh4-linux-gnu [sh4] , g++-8-sparc64-linux-gnu [sparc64] , gobjc-8-sparc64-linux-gnu [sparc64] , gfortran-8-sparc64-linux-gnu [sparc64] , gdc-8-sparc64-linux-gnu [sparc64] , gccgo-8-sparc64-linux-gnu [sparc64] , gnat-8-sparc64-linux-gnu [sparc64] , g++-8-s390x-linux-gnu [s390x] , gobjc-8-s390x-linux-gnu [s390x] , gfortran-8-s390x-linux-gnu [s390x] , gdc-8-s390x-linux-gnu [s390x] , gccgo-8-s390x-linux-gnu [s390x] , gnat-8-s390x-linux-gnu [s390x] , g++-8-x86-64-linux-gnux32 [x32] , gobjc-8-x86-64-linux-gnux32 [x32] , gfortran-8-x86-64-linux-gnux32 [x32] , gdc-8-x86-64-linux-gnux32 [x32] , gccgo-8-x86-64-linux-gnux32 [x32] , gnat-8-x86-64-linux-gnux32 [x32] , g++-8-mips64el-linux-gnuabin32 [mipsn32el] , gobjc-8-mips64el-linux-gnuabin32 [mipsn32el] , gfortran-8-mips64el-linux-gnuabin32 [mipsn32el] , gdc-8-mips64el-linux-gnuabin32 [mipsn32el] , gccgo-8-mips64el-linux-gnuabin32 [mipsn32el] , gnat-8-mips64el-linux-gnuabin32 [mipsn32el] , g++-8-mipsisa32r6-linux-gnu [mipsr6] , gobjc-8-mipsisa32r6-linux-gnu [mipsr6] , gfortran-8-mipsisa32r6-linux-gnu [mipsr6] , gdc-8-mipsisa32r6-linux-gnu [mipsr6] , gccgo-8-mipsisa32r6-linux-gnu [mipsr6] , gnat-8-mipsisa32r6-linux-gnu [mipsr6] , g++-8-mipsisa32r6el-linux-gnu [mipsr6el] , gobjc-8-mipsisa32r6el-linux-gnu [mipsr6el] , gfortran-8-mipsisa32r6el-linux-gnu [mipsr6el] , gdc-8-mipsisa32r6el-linux-gnu [mipsr6el] , gccgo-8-mipsisa32r6el-linux-gnu [mipsr6el] , gnat-8-mipsisa32r6el-linux-gnu [mipsr6el] , g++-8-mipsisa64r6-linux-gnuabi64 [mips64r6] , gobjc-8-mipsisa64r6-linux-gnuabi64 [mips64r6] , gfortran-8-mipsisa64r6-linux-gnuabi64 [mips64r6] , gdc-8-mipsisa64r6-linux-gnuabi64 [mips64r6] , gccgo-8-mipsisa64r6-linux-gnuabi64 [mips64r6] , gnat-8-mipsisa64r6-linux-gnuabi64 [mips64r6] , g++-8-mipsisa64r6el-linux-gnuabi64 [mips64r6el] , gobjc-8-mipsisa64r6el-linux-gnuabi64 [mips64r6el] , gfortran-8-mipsisa64r6el-linux-gnuabi64 [mips64r6el] , gdc-8-mipsisa64r6el-linux-gnuabi64 [mips64r6el] , gccgo-8-mipsisa64r6el-linux-gnuabi64 [mips64r6el] , gnat-8-mipsisa64r6el-linux-gnuabi64 [mips64r6el] , g++-8-mipsisa64r6-linux-gnuabin32 [mipsn32r6] , gobjc-8-mipsisa64r6-linux-gnuabin32 [mipsn32r6] , gfortran-8-mipsisa64r6-linux-gnuabin32 [mipsn32r6] , gdc-8-mipsisa64r6-linux-gnuabin32 [mipsn32r6] , gccgo-8-mipsisa64r6-linux-gnuabin32 [mipsn32r6] , gnat-8-mipsisa64r6-linux-gnuabin32 [mipsn32r6] , g++-8-mipsisa64r6el-linux-gnuabin32 [mipsn32r6el] , gobjc-8-mipsisa64r6el-linux-gnuabin32 [mipsn32r6el] , gfortran-8-mipsisa64r6el-linux-gnuabin32 [mipsn32r6el] , gdc-8-mipsisa64r6el-linux-gnuabin32 [mipsn32r6el] , gccgo-8-mipsisa64r6el-linux-gnuabin32 [mipsn32r6el] , gnat-8-mipsisa64r6el-linux-gnuabin32 [mipsn32r6el] , +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: 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: 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: 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: 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: 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}), +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}), , +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: 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: 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: 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: 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: 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: 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: 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}), , +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: 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, + 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: 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, , +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: 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: 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: 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: 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: 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}), + , ${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 (debug build) + This package contains a debug build of the shared libstdc++ library. The debug + symbols for the default build can be found in the libstdc++6-dbgsym package. + +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}), , + ${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 (debug build) + This package contains a debug build of the shared libstdc++ library. The debug + symbols for the default build can be found in the libstdc++6-dbgsym package. + +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}), , + ${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 (debug build) + This package contains a debug build of the shared libstdc++ library. The debug + symbols for the default build can be found in the libstdc++6-dbgsym package. + +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}), , + ${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 (debug build) + This package contains a debug build of the shared libstdc++ library. The debug + symbols for the default build can be found in the libstdc++6-dbgsym package. + +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}), , + ${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 (debug build) + This package contains a debug build of the shared libstdc++ library. The debug + symbols for the default build can be found in the libstdc++6-dbgsym package. + +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: 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: 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: 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}, +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: 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 +Multi-Arch: foreign +Architecture: all +Priority: optional +Depends: make, quilt, patchutils, sharutils, gawk, lsb-release, m4, libtool, autoconf2.64, + ${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). diff --git a/debian/control.m4 b/debian/control.m4 new file mode 100644 index 0000000..9297065 --- /dev/null +++ b/debian/control.m4 @@ -0,0 +1,5959 @@ +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 ') + +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'))') +')') +ifelse(index(enabled_languages, `libdbg'), -1, ` +define(`libdbgdep', `') +',` +define(`libdbgdep', `lib$2$1`'LS`'AQ (ifelse(`$3',`',`>=',`$3') ifelse(`$4',`',`${gcc:Version}',`$4'))') +')`'dnl libdbg + +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 +', `dnl +Maintainer: Ubuntu Core developers +')dnl SRCNAME +XSBC-Original-Maintainer: MAINTAINER +', `dnl +Maintainer: MAINTAINER +')dnl DIST +ifelse(regexp(SRCNAME, `gnat'),0,`dnl +Uploaders: Ludovic Brenta +', regexp(SRCNAME, `gdc'),0,`dnl +Uploaders: Iain Buclaw , Matthias Klose +', `dnl +Uploaders: Matthias Klose +')dnl SRCNAME +Standards-Version: 4.5.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], + gawk, 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, 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 + gawk, DWZ, libunwind8-dev [ia64], libatomic-ops-dev [ia64], + 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, 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 + +ifenabled(`libdbg',` +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 +')`'dnl libdbg + +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 + +ifenabled(`libdbg',` +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 libdbg +')`'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 + +ifenabled(`libdbg',` +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 +')`'dnl libdbg + +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 + +ifenabled(`libdbg',` +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 libdbg +')`'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 + +ifenabled(`libdbg',` +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 libdbg +')`'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 + +ifenabled(`libdbg',` +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 libdbg +')`'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 + +ifenabled(`libdbg',` +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 libdbg +')`'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 + +ifenabled(`libdbg',` +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 libdbg +')`'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 + +ifenabled(`libdbg',` +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 libdbg +')`'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. + +ifenabled(`libdbg',` +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. +')`'dnl libdbg + +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. + +ifenabled(`libdbg',` +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. +')`'dnl libdbg + +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. + +ifenabled(`libdbg',` +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. +')`'dnl libdbg + +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. + +ifenabled(`libdbg',` +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 +')`'dnl libdbg + +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. + +ifenabled(`libdbg',` +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 libdbg +')`'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. + +ifenabled(`libdbg',` +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 libdbg +')`'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. + +ifenabled(`libdbg',` +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 libdbg +')`'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. + +ifenabled(`libdbg',` +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. +')`'dnl libdbg + +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. + +ifenabled(`libdbg',` +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. +')`'dnl libdbg + +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. + +ifenabled(`libdbg',` +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. +')`'dnl libdbg + +#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. + +ifenabled(`libdbg',` +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 libdbg +')`'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. + +ifenabled(`libdbg',` +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 libdbg +')`'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. + +ifenabled(`libdbg',` +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 libdbg +')`'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. + +ifenabled(`libdbg',` +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. +')`'dnl libdbg + +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. + +ifenabled(`libdbg',` +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. +')`'dnl libdbg + +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. + +ifenabled(`libdbg',` +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. +')`'dnl libdbg + +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. + +ifenabled(`libdbg',` +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. +')`'dnl libdbg + +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. + +ifenabled(`libdbg',` +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 libdbg +')`'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. + +ifenabled(`libdbg',` +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 libdbg +')`'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. + +ifenabled(`libdbg',` +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 libdbg +')`'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. + +ifenabled(`libdbg',` +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. +')`'dnl libdbg + +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. + +ifenabled(`libdbg',` +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. +')`'dnl libdbg + +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. + +ifenabled(`libdbg',` +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. +')`'dnl libdbg + +#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. + +ifenabled(`libdbg',` +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 libdbg +')`'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. + +ifenabled(`libdbg',` +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 libdbg +')`'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. + +ifenabled(`libdbg',` +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 libdbg +')`'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. + +ifenabled(`libdbg',` +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. +')`'dnl libdbg + +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). + +ifenabled(`libdbg',` +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 libdbg +')`'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. + +ifenabled(`libdbg',` +#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 libdbg +')`'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. + +ifenabled(`libdbg',` +#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 libdbg +')`'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). + +ifenabled(`libdbg',` +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 libdbg +')`'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. + +ifenabled(`libdbg',` +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 libdbg +')`'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. + +ifenabled(`libdbg',` +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 libdbg +')`'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. + +ifenabled(`libdbg',` +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. +')`'dnl libdbg + +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. + +ifenabled(`libdbg',` +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 libdbg +')`'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. + +ifenabled(`libdbg',` +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 libdbg +')`'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. + +ifenabled(`libdbg',` +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 libdbg +')`'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. + +ifenabled(`libdbg',` +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 libdbg +')`'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. + +ifenabled(`libdbg',` +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 libdbg +')`'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. + +ifenabled(`libdbg',` +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 libdbg +')`'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++. + +ifenabled(`libdbg',` +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++. +')`'dnl libdbg + +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++. + +ifenabled(`libdbg',` +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 libdbg +')`'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++. + +ifenabled(`libdbg',` +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 libdbg +')`'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++. + +ifenabled(`libdbg',` +#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 libdbg +')`'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++. + +ifenabled(`libdbg',` +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 libdbg +')`'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++. + +ifenabled(`libdbg',` +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 libdbg +')`'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++. + +ifenabled(`libdbg',` +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 libdbg +')`'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. + +ifenabled(`libdbg',` +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. +')`'dnl libdbg + +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. + +ifenabled(`libdbg',` +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 libdbg +')`'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. + +ifenabled(`libdbg',` +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 libdbg +')`'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. + +ifenabled(`libdbg',` +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 libdbg +')`'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. + +ifenabled(`libdbg',` +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 libdbg +')`'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. + +ifenabled(`libdbg',` +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 libdbg +')`'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. + +ifenabled(`libdbg',` +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 libdbg +')`'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. + +ifenabled(`libdbg',` +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. +')`'dnl libdbg + +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. + +ifenabled(`libdbg',` +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 libdbg +')`'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. + +ifenabled(`libdbg',` +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 libdbg +')`'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. + +ifenabled(`libdbg',` +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 libdbg +')`'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. + +ifenabled(`libdbg',` +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 libdbg +')`'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. + +ifenabled(`libdbg',` +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 libdbg +')`'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. + +ifenabled(`libdbg',` +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 libdbg +')`'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. + +ifenabled(`libdbg',` +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. +')`'dnl libdbg + +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. + +ifenabled(`libdbg',` +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. +')`'dnl libdbg + +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. + +ifenabled(`libdbg',` +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. +')`'dnl libdbg + +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. + +ifenabled(`libdbg',` +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. +')`'dnl libdbg + +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. + +ifenabled(`libdbg',` +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 libdbg +')`'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. + +ifenabled(`libdbg',` +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 libdbg +')`'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. + +ifenabled(`libdbg',` +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 libdbg +')`'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. + +ifenabled(`libdbg',` +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. +')`'dnl libdbg + +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. + +ifenabled(`libdbg',` +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. +')`'dnl libdbg + +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. + +ifenabled(`libdbg',` +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. +')`'dnl libdbg + +#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. + +ifenabled(`libdbg',` +#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. +')`'dnl libdbg + +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. + +ifenabled(`libdbg',` +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 libdbg +')`'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. + +ifenabled(`libdbg',` +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 libdbg +')`'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. + +ifenabled(`libdbg',` +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 libdbg +')`'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. + +ifenabled(`libdbg',` +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 libdbg +')`'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. + +ifenabled(`libdbg',` +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 libdbg +')`'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. + +ifenabled(`libdbg',` +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 libdbg +')`'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. + +ifenabled(`libdbg',` +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 libdbg +')`'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. + +ifenabled(`libdbg',` +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 libdbg +')`'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. + +ifenabled(`libdbg',` +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 libdbg +')`'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. + +ifenabled(`libdbg',` +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 libdbg +')`'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. + +ifenabled(`libdbg',` +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 libdbg +')`'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. + +ifenabled(`libdbg',` +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 libdbg +')`'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. + +ifenabled(`libdbg',` +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 libdbg +')`'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. + +ifenabled(`libdbg',` +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 libdbg +')`'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. + +ifenabled(`libdbg',` +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 libdbg +')`'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. + +ifenabled(`libdbg',` +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 libdbg +')`'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. + +ifenabled(`libdbg',` +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 libdbg +')`'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. + +ifenabled(`libdbg',` +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 libdbg +')`'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. + +ifenabled(`libdbg',` +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 libdbg +')`'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. + +ifenabled(`libdbg',` +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 libdbg +')`'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. + +ifenabled(`libdbg',` +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 libdbg +')`'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. + +ifenabled(`libdbg',` +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 libdbg +')`'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. + +ifenabled(`libdbg',` +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 libdbg +')`'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 +ifelse(index(enabled_languages, `libdbg'), -1, `dnl +Description: GNU Standard C++ Library v3 (debug build)`'ifdef(`TARGET',` (TARGET)', `') + This package contains a debug build of the shared libstdc++ library. The debug + symbols for the default build can be found in the libstdc++6-dbgsym package. +',`dnl +Description: GNU Standard C++ Library v3 (debugging files)`'ifdef(`TARGET',` (TARGET)', `') + This package contains the shared library of libstdc++ compiled with + debugging symbols. +')`'dnl +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 +ifelse(index(enabled_languages, `libdbg'), -1, `dnl +Description: GNU Standard C++ Library v3 (debug build)`'ifdef(`TARGET',` (TARGET)', `') + This package contains a debug build of the shared libstdc++ library. The debug + symbols for the default build can be found in the libstdc++6-dbgsym package. +',`dnl +Description: GNU Standard C++ Library v3 (debugging files)`'ifdef(`TARGET',` (TARGET)', `') + This package contains the shared library of libstdc++ compiled with + debugging symbols. +')`'dnl +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 +ifelse(index(enabled_languages, `libdbg'), -1, `dnl +Description: GNU Standard C++ Library v3 (debug build)`'ifdef(`TARGET',` (TARGET)', `') + This package contains a debug build of the shared libstdc++ library. The debug + symbols for the default build can be found in the libstdc++6-dbgsym package. +',`dnl +Description: GNU Standard C++ Library v3 (debugging files)`'ifdef(`TARGET',` (TARGET)', `') + This package contains the shared library of libstdc++ compiled with + debugging symbols. +')`'dnl +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 +ifelse(index(enabled_languages, `libdbg'), -1, `dnl +Description: GNU Standard C++ Library v3 (debug build)`'ifdef(`TARGET',` (TARGET)', `') + This package contains a debug build of the shared libstdc++ library. The debug + symbols for the default build can be found in the libstdc++6-dbgsym package. +',`dnl +Description: GNU Standard C++ Library v3 (debugging files)`'ifdef(`TARGET',` (TARGET)', `') + This package contains the shared library of libstdc++ compiled with + debugging symbols. +')`'dnl +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 +ifelse(index(enabled_languages, `libdbg'), -1, `dnl +Description: GNU Standard C++ Library v3 (debug build)`'ifdef(`TARGET',` (TARGET)', `') + This package contains a debug build of the shared libstdc++ library. The debug + symbols for the default build can be found in the libstdc++6-dbgsym package. +',`dnl +Description: GNU Standard C++ Library v3 (debugging files)`'ifdef(`TARGET',` (TARGET)', `') + This package contains the shared library of libstdc++ compiled with + debugging symbols. +')`'dnl +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 +ifelse(index(enabled_languages, `libdbg'), -1, `dnl +Description: GNU Standard C++ Library v3 (debug build)`'ifdef(`TARGET',` (TARGET)', `') + This package contains a debug build of the shared libstdc++ library. The debug + symbols for the default build can be found in the libstdc++6-dbgsym package. +',`dnl +Description: GNU Standard C++ Library v3 (debugging files)`'ifdef(`TARGET',` (TARGET)', `') + This package contains the shared library of libstdc++ compiled with + debugging symbols. +')`'dnl +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 +ifelse(index(enabled_languages, `libdbg'), -1, `dnl +Description: GNU Standard C++ Library v3 (debug build)`'ifdef(`TARGET',` (TARGET)', `') + This package contains a debug build of the shared libstdc++ library. The debug + symbols for the default build can be found in the libstdc++6-dbgsym package. +',`dnl +Description: GNU Standard C++ Library v3 (debugging files)`'ifdef(`TARGET',` (TARGET)', `') + This package contains the shared library of libstdc++ compiled with + debugging symbols. +')`'dnl +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. + +ifenabled(`libdbg',` +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. +')`'dnl libdbg + +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. + +ifenabled(`libdbg',` +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 libdbg +')`'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/ + +ifenabled(`libdbg',` +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/ +')`'dnl libdbg + +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/ + +ifenabled(`libdbg',` +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/ +')`'dnl libdbg + +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/ + +ifenabled(`libdbg',` +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/ +')`'dnl libdbg + +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/ + +ifenabled(`libdbg',` +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 libdbg +')`'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/ + +ifenabled(`libdbg',` +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 libdbg +')`'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/ + +ifenabled(`libdbg',` +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/ +')`'dnl libdbg + +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/ + +ifenabled(`libdbg',` +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 libdbg +')`'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. + +ifenabled(`libdbg',` +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 libdbg +')`'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. + +ifenabled(`libdbg',` +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 libdbg +')`'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. + +ifenabled(`libdbg',` +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 libdbg +')`'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. + +ifenabled(`libdbg',` +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 libdbg +')`'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. + +ifenabled(`libdbg',` +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 libdbg +')`'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. + +ifenabled(`libdbg',` +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 libdbg +')`'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. + +ifenabled(`libdbg',` +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 libdbg +')`'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 +Multi-Arch: foreign +Architecture: all +Priority: PRI(optional) +Depends: make, quilt, patchutils, sharutils, gawk, lsb-release, AUTO_BUILD_DEP + ${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 diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000..0aaea6c --- /dev/null +++ b/debian/copyright @@ -0,0 +1,1404 @@ +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 +, 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. + +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 + Written by Tobias Burnus + +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 + + 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 + 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 . + * Change for long double by Jakub Jelinek + * 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 , 1997 and + Jakub Jelinek , 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 + 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 + . + +newlib-nvptx-20yymmdd/: + +Upstream Authors: +newlib@sources.redhat.com +Jeff Johnston +Tom Fitzsimmons + +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 +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 +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 , 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 +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. diff --git a/debian/copyright.in b/debian/copyright.in new file mode 100644 index 0000000..05755e9 --- /dev/null +++ b/debian/copyright.in @@ -0,0 +1,1404 @@ +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 +, 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. + +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 + Written by Tobias Burnus + +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 + + 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 + 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 . + * Change for long double by Jakub Jelinek + * 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 , 1997 and + Jakub Jelinek , 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 + 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 + . + +newlib-nvptx-20yymmdd/: + +Upstream Authors: +newlib@sources.redhat.com +Jeff Johnston +Tom Fitzsimmons + +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 +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 +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 , 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 +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. diff --git a/debian/cpp-BV-CRB.preinst.in b/debian/cpp-BV-CRB.preinst.in new file mode 100644 index 0000000..408889b --- /dev/null +++ b/debian/cpp-BV-CRB.preinst.in @@ -0,0 +1,11 @@ +#!/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 diff --git a/debian/cpp-BV-doc.doc-base.cpp b/debian/cpp-BV-doc.doc-base.cpp new file mode 100644 index 0000000..d64e86f --- /dev/null +++ b/debian/cpp-BV-doc.doc-base.cpp @@ -0,0 +1,16 @@ +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@* diff --git a/debian/cpp-BV-doc.doc-base.cppint b/debian/cpp-BV-doc.doc-base.cppint new file mode 100644 index 0000000..151d319 --- /dev/null +++ b/debian/cpp-BV-doc.doc-base.cppint @@ -0,0 +1,17 @@ +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@* diff --git a/debian/dh_doclink b/debian/dh_doclink new file mode 100644 index 0000000..8372658 --- /dev/null +++ b/debian/dh_doclink @@ -0,0 +1,12 @@ +#! /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 diff --git a/debian/dh_rmemptydirs b/debian/dh_rmemptydirs new file mode 100644 index 0000000..4a010c7 --- /dev/null +++ b/debian/dh_rmemptydirs @@ -0,0 +1,10 @@ +#! /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 diff --git a/debian/dummy-man.1 b/debian/dummy-man.1 new file mode 100644 index 0000000..966d935 --- /dev/null +++ b/debian/dummy-man.1 @@ -0,0 +1,29 @@ +.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. diff --git a/debian/dummy.texi b/debian/dummy.texi new file mode 100644 index 0000000..127ccaa --- /dev/null +++ b/debian/dummy.texi @@ -0,0 +1 @@ +@c This file is empty because the original one has a non DFSG free license (GFDL) diff --git a/debian/fixincludes.in b/debian/fixincludes.in new file mode 100644 index 0000000..23c6e71 --- /dev/null +++ b/debian/fixincludes.in @@ -0,0 +1,8 @@ +#! /bin/sh + +PATH="/@LIBEXECDIR@/install-tools:$PATH" + +TARGET_MACHINE=`dpkg-architecture -qDEB_HOST_GNU_TYPE` +export TARGET_MACHINE + +exec fixinc.sh "$@" diff --git a/debian/g++-BV-CRB.preinst.in b/debian/g++-BV-CRB.preinst.in new file mode 100644 index 0000000..b69c8f8 --- /dev/null +++ b/debian/g++-BV-CRB.preinst.in @@ -0,0 +1,11 @@ +#!/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 diff --git a/debian/gcc-BV-CRB.preinst.in b/debian/gcc-BV-CRB.preinst.in new file mode 100644 index 0000000..ca34796 --- /dev/null +++ b/debian/gcc-BV-CRB.preinst.in @@ -0,0 +1,12 @@ +#!/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 diff --git a/debian/gcc-BV-doc.doc-base.gcc b/debian/gcc-BV-doc.doc-base.gcc new file mode 100644 index 0000000..106e18d --- /dev/null +++ b/debian/gcc-BV-doc.doc-base.gcc @@ -0,0 +1,14 @@ +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@* diff --git a/debian/gcc-BV-doc.doc-base.gccint b/debian/gcc-BV-doc.doc-base.gccint new file mode 100644 index 0000000..85f4af1 --- /dev/null +++ b/debian/gcc-BV-doc.doc-base.gccint @@ -0,0 +1,17 @@ +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@* diff --git a/debian/gcc-BV-doc.doc-base.gomp b/debian/gcc-BV-doc.doc-base.gomp new file mode 100644 index 0000000..69ccede --- /dev/null +++ b/debian/gcc-BV-doc.doc-base.gomp @@ -0,0 +1,15 @@ +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@* diff --git a/debian/gcc-BV-doc.doc-base.itm b/debian/gcc-BV-doc.doc-base.itm new file mode 100644 index 0000000..130a70f --- /dev/null +++ b/debian/gcc-BV-doc.doc-base.itm @@ -0,0 +1,16 @@ +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@* diff --git a/debian/gcc-BV-doc.doc-base.qmath b/debian/gcc-BV-doc.doc-base.qmath new file mode 100644 index 0000000..bdc2d4c --- /dev/null +++ b/debian/gcc-BV-doc.doc-base.qmath @@ -0,0 +1,14 @@ +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@* diff --git a/debian/gcc-BV-hppa64-linux-gnu.overrides b/debian/gcc-BV-hppa64-linux-gnu.overrides new file mode 100644 index 0000000..9f7ebd0 --- /dev/null +++ b/debian/gcc-BV-hppa64-linux-gnu.overrides @@ -0,0 +1,3 @@ +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 diff --git a/debian/gcc-BV-multilib.overrides b/debian/gcc-BV-multilib.overrides new file mode 100644 index 0000000..545ca0e --- /dev/null +++ b/debian/gcc-BV-multilib.overrides @@ -0,0 +1 @@ +gcc-@BV@-multilib binary: binary-from-other-architecture diff --git a/debian/gcc-BV-source.overrides b/debian/gcc-BV-source.overrides new file mode 100644 index 0000000..46e8559 --- /dev/null +++ b/debian/gcc-BV-source.overrides @@ -0,0 +1,5 @@ +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 diff --git a/debian/gcc-XX-BV.1 b/debian/gcc-XX-BV.1 new file mode 100644 index 0000000..4268c41 --- /dev/null +++ b/debian/gcc-XX-BV.1 @@ -0,0 +1,17 @@ +.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) diff --git a/debian/gcc-dummy.texi b/debian/gcc-dummy.texi new file mode 100644 index 0000000..b84b670 --- /dev/null +++ b/debian/gcc-dummy.texi @@ -0,0 +1,41 @@ +\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 diff --git a/debian/gcc-snapshot.overrides b/debian/gcc-snapshot.overrides new file mode 100644 index 0000000..fad2373 --- /dev/null +++ b/debian/gcc-snapshot.overrides @@ -0,0 +1,10 @@ +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 diff --git a/debian/gcc-snapshot.prerm b/debian/gcc-snapshot.prerm new file mode 100644 index 0000000..0e3d9bb --- /dev/null +++ b/debian/gcc-snapshot.prerm @@ -0,0 +1,5 @@ +#! /bin/sh -e + +rm -f /usr/lib/gcc-snapshot/share/python/*.py[co] + +#DEBHELPER# diff --git a/debian/gcc.css b/debian/gcc.css new file mode 100644 index 0000000..35321f1 --- /dev/null +++ b/debian/gcc.css @@ -0,0 +1,106 @@ +/* CSS for the GCC web site. + + Gerald Pfeifer + */ + +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
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; } diff --git a/debian/gccgo-BV-doc.doc-base b/debian/gccgo-BV-doc.doc-base new file mode 100644 index 0000000..86ce258 --- /dev/null +++ b/debian/gccgo-BV-doc.doc-base @@ -0,0 +1,17 @@ +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@* diff --git a/debian/gen-libstdc-breaks.sh b/debian/gen-libstdc-breaks.sh new file mode 100644 index 0000000..de35a4a --- /dev/null +++ b/debian/gen-libstdc-breaks.sh @@ -0,0 +1,178 @@ +#! /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 diff --git a/debian/gfortran-BV-CRB.preinst.in b/debian/gfortran-BV-CRB.preinst.in new file mode 100644 index 0000000..f6e7cfd --- /dev/null +++ b/debian/gfortran-BV-CRB.preinst.in @@ -0,0 +1,11 @@ +#!/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 diff --git a/debian/gfortran-BV-doc.doc-base b/debian/gfortran-BV-doc.doc-base new file mode 100644 index 0000000..485d458 --- /dev/null +++ b/debian/gfortran-BV-doc.doc-base @@ -0,0 +1,14 @@ +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@* diff --git a/debian/gnat-BV-doc.doc-base.rm b/debian/gnat-BV-doc.doc-base.rm new file mode 100644 index 0000000..7957275 --- /dev/null +++ b/debian/gnat-BV-doc.doc-base.rm @@ -0,0 +1,16 @@ +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@* diff --git a/debian/gnat-BV-doc.doc-base.style b/debian/gnat-BV-doc.doc-base.style new file mode 100644 index 0000000..db6dfc8 --- /dev/null +++ b/debian/gnat-BV-doc.doc-base.style @@ -0,0 +1,16 @@ +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@* diff --git a/debian/gnat-BV-doc.doc-base.ug b/debian/gnat-BV-doc.doc-base.ug new file mode 100644 index 0000000..00dedf1 --- /dev/null +++ b/debian/gnat-BV-doc.doc-base.ug @@ -0,0 +1,16 @@ +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@* diff --git a/debian/gnat.1 b/debian/gnat.1 new file mode 100644 index 0000000..33a42c7 --- /dev/null +++ b/debian/gnat.1 @@ -0,0 +1,43 @@ +.\" Hey, Emacs! This is an -*- nroff -*- source file. +.\" +.\" Copyright (C) 1996 Erick Branderhorst +.\" Copyright (C) 2011 Nicolas Boulenguez +.\" +.\" 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 , for the +Debian GNU/Linux project. diff --git a/debian/lib32asan5.overrides b/debian/lib32asan5.overrides new file mode 100644 index 0000000..c0da839 --- /dev/null +++ b/debian/lib32asan5.overrides @@ -0,0 +1,2 @@ +# automake gets it wrong for the multilib build +lib32asan5 binary: binary-or-shlib-defines-rpath diff --git a/debian/lib32asan5.symbols b/debian/lib32asan5.symbols new file mode 100644 index 0000000..5e1b2ce --- /dev/null +++ b/debian/lib32asan5.symbols @@ -0,0 +1,7 @@ +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 diff --git a/debian/lib32gccLC.postinst b/debian/lib32gccLC.postinst new file mode 100644 index 0000000..0163e03 --- /dev/null +++ b/debian/lib32gccLC.postinst @@ -0,0 +1,12 @@ +#! /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# diff --git a/debian/lib32gphobos68.lintian-overrides b/debian/lib32gphobos68.lintian-overrides new file mode 100644 index 0000000..5003249 --- /dev/null +++ b/debian/lib32gphobos68.lintian-overrides @@ -0,0 +1,2 @@ +# no usable zconf.h header in lib32z1-dev +lib32gphobos68 binary: embedded-library diff --git a/debian/lib32stdc++6.symbols.amd64 b/debian/lib32stdc++6.symbols.amd64 new file mode 100644 index 0000000..bf31899 --- /dev/null +++ b/debian/lib32stdc++6.symbols.amd64 @@ -0,0 +1,14 @@ +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 diff --git a/debian/lib32stdc++6.symbols.kfreebsd-amd64 b/debian/lib32stdc++6.symbols.kfreebsd-amd64 new file mode 100644 index 0000000..50f10af --- /dev/null +++ b/debian/lib32stdc++6.symbols.kfreebsd-amd64 @@ -0,0 +1,7 @@ +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 diff --git a/debian/lib32stdc++6.symbols.ppc64 b/debian/lib32stdc++6.symbols.ppc64 new file mode 100644 index 0000000..61fc768 --- /dev/null +++ b/debian/lib32stdc++6.symbols.ppc64 @@ -0,0 +1,9 @@ +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 diff --git a/debian/lib32stdc++6.symbols.s390x b/debian/lib32stdc++6.symbols.s390x new file mode 100644 index 0000000..bcb77f6 --- /dev/null +++ b/debian/lib32stdc++6.symbols.s390x @@ -0,0 +1,558 @@ +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 diff --git a/debian/lib32stdc++6.symbols.sparc64 b/debian/lib32stdc++6.symbols.sparc64 new file mode 100644 index 0000000..61fc768 --- /dev/null +++ b/debian/lib32stdc++6.symbols.sparc64 @@ -0,0 +1,9 @@ +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 diff --git a/debian/lib32stdc++CXX.postinst b/debian/lib32stdc++CXX.postinst new file mode 100644 index 0000000..0ebbeb0 --- /dev/null +++ b/debian/lib32stdc++CXX.postinst @@ -0,0 +1,12 @@ +#! /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# diff --git a/debian/lib64asan5.overrides b/debian/lib64asan5.overrides new file mode 100644 index 0000000..36c2486 --- /dev/null +++ b/debian/lib64asan5.overrides @@ -0,0 +1,2 @@ +# automake gets it wrong for the multilib build +lib64asan5 binary: binary-or-shlib-defines-rpath diff --git a/debian/lib64asan5.symbols b/debian/lib64asan5.symbols new file mode 100644 index 0000000..5037f64 --- /dev/null +++ b/debian/lib64asan5.symbols @@ -0,0 +1,3 @@ +libasan.so.5 lib64asan5 #MINVER# +#include "libasan.symbols.common" +#include "libasan.symbols.64" diff --git a/debian/lib64gccLC.postinst b/debian/lib64gccLC.postinst new file mode 100644 index 0000000..f671fd6 --- /dev/null +++ b/debian/lib64gccLC.postinst @@ -0,0 +1,12 @@ +#! /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# diff --git a/debian/lib64gphobos68.lintian-overrides b/debian/lib64gphobos68.lintian-overrides new file mode 100644 index 0000000..2b71d9d --- /dev/null +++ b/debian/lib64gphobos68.lintian-overrides @@ -0,0 +1,2 @@ +# no usable zconf.h header in lib64z1-dev +lib64gphobos68 binary: embedded-library diff --git a/debian/lib64stdc++6.symbols.i386 b/debian/lib64stdc++6.symbols.i386 new file mode 100644 index 0000000..4b60b1e --- /dev/null +++ b/debian/lib64stdc++6.symbols.i386 @@ -0,0 +1,40 @@ +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 diff --git a/debian/lib64stdc++6.symbols.powerpc b/debian/lib64stdc++6.symbols.powerpc new file mode 100644 index 0000000..6dd040b --- /dev/null +++ b/debian/lib64stdc++6.symbols.powerpc @@ -0,0 +1,11 @@ +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 diff --git a/debian/lib64stdc++6.symbols.s390 b/debian/lib64stdc++6.symbols.s390 new file mode 100644 index 0000000..1a5a960 --- /dev/null +++ b/debian/lib64stdc++6.symbols.s390 @@ -0,0 +1,12 @@ +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 diff --git a/debian/lib64stdc++6.symbols.sparc b/debian/lib64stdc++6.symbols.sparc new file mode 100644 index 0000000..f00b05a --- /dev/null +++ b/debian/lib64stdc++6.symbols.sparc @@ -0,0 +1,11 @@ +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 diff --git a/debian/lib64stdc++CXX.postinst b/debian/lib64stdc++CXX.postinst new file mode 100644 index 0000000..1c8e979 --- /dev/null +++ b/debian/lib64stdc++CXX.postinst @@ -0,0 +1,12 @@ +#! /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# diff --git a/debian/libasan.symbols.16 b/debian/libasan.symbols.16 new file mode 100644 index 0000000..c6ae6da --- /dev/null +++ b/debian/libasan.symbols.16 @@ -0,0 +1,38 @@ + __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 diff --git a/debian/libasan.symbols.32 b/debian/libasan.symbols.32 new file mode 100644 index 0000000..6ba6027 --- /dev/null +++ b/debian/libasan.symbols.32 @@ -0,0 +1,26 @@ + (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 diff --git a/debian/libasan.symbols.64 b/debian/libasan.symbols.64 new file mode 100644 index 0000000..708f653 --- /dev/null +++ b/debian/libasan.symbols.64 @@ -0,0 +1,14 @@ + __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 diff --git a/debian/libasan.symbols.common b/debian/libasan.symbols.common new file mode 100644 index 0000000..23f414a --- /dev/null +++ b/debian/libasan.symbols.common @@ -0,0 +1,1716 @@ + 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 diff --git a/debian/libasan5.symbols b/debian/libasan5.symbols new file mode 100644 index 0000000..d4d580e --- /dev/null +++ b/debian/libasan5.symbols @@ -0,0 +1,28 @@ +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 diff --git a/debian/libatomic.symbols b/debian/libatomic.symbols new file mode 100644 index 0000000..f50770d --- /dev/null +++ b/debian/libatomic.symbols @@ -0,0 +1,4 @@ +libatomic.so.1 #PACKAGE# #MINVER# + (symver)LIBATOMIC_1.0 4.8 + (symver)LIBATOMIC_1.1 4.9 + (symver)LIBATOMIC_1.2 6 diff --git a/debian/libcc1-0.symbols b/debian/libcc1-0.symbols new file mode 100644 index 0000000..d6ec38b --- /dev/null +++ b/debian/libcc1-0.symbols @@ -0,0 +1,66 @@ +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 diff --git a/debian/libgcc.symbols b/debian/libgcc.symbols new file mode 100644 index 0000000..c15e16e --- /dev/null +++ b/debian/libgcc.symbols @@ -0,0 +1,26 @@ +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 diff --git a/debian/libgcc.symbols.aeabi b/debian/libgcc.symbols.aeabi new file mode 100644 index 0000000..64e9af3 --- /dev/null +++ b/debian/libgcc.symbols.aeabi @@ -0,0 +1,69 @@ + __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 diff --git a/debian/libgcc2.symbols.m68k b/debian/libgcc2.symbols.m68k new file mode 100644 index 0000000..a49f0b3 --- /dev/null +++ b/debian/libgcc2.symbols.m68k @@ -0,0 +1,162 @@ +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 diff --git a/debian/libgcc4.symbols.hppa b/debian/libgcc4.symbols.hppa new file mode 100644 index 0000000..0f6863d --- /dev/null +++ b/debian/libgcc4.symbols.hppa @@ -0,0 +1,96 @@ +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 diff --git a/debian/libgccLC.postinst b/debian/libgccLC.postinst new file mode 100644 index 0000000..36abb94 --- /dev/null +++ b/debian/libgccLC.postinst @@ -0,0 +1,12 @@ +#! /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# diff --git a/debian/libgccjit0.symbols b/debian/libgccjit0.symbols new file mode 100644 index 0000000..a07bb32 --- /dev/null +++ b/debian/libgccjit0.symbols @@ -0,0 +1,12 @@ +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 diff --git a/debian/libgfortran.symbols b/debian/libgfortran.symbols new file mode 100644 index 0000000..594c01b --- /dev/null +++ b/debian/libgfortran.symbols @@ -0,0 +1,4 @@ +libgfortran.so.5 #PACKAGE# #MINVER# + (symver)GFORTRAN_8 8 + (symver)GFORTRAN_C99_8 8 + (symver)GFORTRAN_F2C_8 8 diff --git a/debian/libgomp.symbols b/debian/libgomp.symbols new file mode 100644 index 0000000..4564af3 --- /dev/null +++ b/debian/libgomp.symbols @@ -0,0 +1,19 @@ +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 diff --git a/debian/libhsail-rt.symbols b/debian/libhsail-rt.symbols new file mode 100644 index 0000000..634fe59 --- /dev/null +++ b/debian/libhsail-rt.symbols @@ -0,0 +1,154 @@ +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 diff --git a/debian/libitm.symbols b/debian/libitm.symbols new file mode 100644 index 0000000..c97c8bc --- /dev/null +++ b/debian/libitm.symbols @@ -0,0 +1,3 @@ +libitm.so.1 #PACKAGE# #MINVER# + (symver)LIBITM_1.0 4.7 + (symver)LIBITM_1.1 6 diff --git a/debian/liblsan0.symbols b/debian/liblsan0.symbols new file mode 100644 index 0000000..ae56c34 --- /dev/null +++ b/debian/liblsan0.symbols @@ -0,0 +1,157 @@ +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 diff --git a/debian/libmpx.symbols b/debian/libmpx.symbols new file mode 100644 index 0000000..0a8a3f3 --- /dev/null +++ b/debian/libmpx.symbols @@ -0,0 +1,5 @@ +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 diff --git a/debian/libobjc.symbols b/debian/libobjc.symbols new file mode 100644 index 0000000..5b1ed43 --- /dev/null +++ b/debian/libobjc.symbols @@ -0,0 +1,9 @@ +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 diff --git a/debian/libobjc.symbols.common b/debian/libobjc.symbols.common new file mode 100644 index 0000000..6eb80b2 --- /dev/null +++ b/debian/libobjc.symbols.common @@ -0,0 +1,205 @@ + __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 diff --git a/debian/libobjc.symbols.gc b/debian/libobjc.symbols.gc new file mode 100644 index 0000000..87681af --- /dev/null +++ b/debian/libobjc.symbols.gc @@ -0,0 +1,522 @@ + 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 diff --git a/debian/libquadmath.symbols b/debian/libquadmath.symbols new file mode 100644 index 0000000..4b94e28 --- /dev/null +++ b/debian/libquadmath.symbols @@ -0,0 +1,3 @@ +libquadmath.so.0 #PACKAGE# #MINVER# + (symver)QUADMATH_1.0 4.6 + (symver)QUADMATH_1.1 6 diff --git a/debian/libstdc++-BV-doc.doc-base b/debian/libstdc++-BV-doc.doc-base new file mode 100644 index 0000000..c5fd048 --- /dev/null +++ b/debian/libstdc++-BV-doc.doc-base @@ -0,0 +1,13 @@ +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++/* diff --git a/debian/libstdc++-BV-doc.overrides b/debian/libstdc++-BV-doc.overrides new file mode 100644 index 0000000..1ff4cbb --- /dev/null +++ b/debian/libstdc++-BV-doc.overrides @@ -0,0 +1,11 @@ +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 diff --git a/debian/libstdc++-breaks.Debian b/debian/libstdc++-breaks.Debian new file mode 100644 index 0000000..2610190 --- /dev/null +++ b/debian/libstdc++-breaks.Debian @@ -0,0 +1,109 @@ +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), diff --git a/debian/libstdc++-breaks.Ubuntu b/debian/libstdc++-breaks.Ubuntu new file mode 100644 index 0000000..1f513ca --- /dev/null +++ b/debian/libstdc++-breaks.Ubuntu @@ -0,0 +1,73 @@ +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), diff --git a/debian/libstdc++6.symbols.128bit b/debian/libstdc++6.symbols.128bit new file mode 100644 index 0000000..5f9736d --- /dev/null +++ b/debian/libstdc++6.symbols.128bit @@ -0,0 +1,46 @@ + _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 diff --git a/debian/libstdc++6.symbols.32bit b/debian/libstdc++6.symbols.32bit new file mode 100644 index 0000000..6f50228 --- /dev/null +++ b/debian/libstdc++6.symbols.32bit @@ -0,0 +1,612 @@ +#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 diff --git a/debian/libstdc++6.symbols.32bit.cxx11 b/debian/libstdc++6.symbols.32bit.cxx11 new file mode 100644 index 0000000..6318173 --- /dev/null +++ b/debian/libstdc++6.symbols.32bit.cxx11 @@ -0,0 +1,333 @@ + (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 diff --git a/debian/libstdc++6.symbols.32bit.hurd b/debian/libstdc++6.symbols.32bit.hurd new file mode 100644 index 0000000..24952b1 --- /dev/null +++ b/debian/libstdc++6.symbols.32bit.hurd @@ -0,0 +1,536 @@ +#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 diff --git a/debian/libstdc++6.symbols.64bit b/debian/libstdc++6.symbols.64bit new file mode 100644 index 0000000..79cd9b7 --- /dev/null +++ b/debian/libstdc++6.symbols.64bit @@ -0,0 +1,624 @@ +#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 diff --git a/debian/libstdc++6.symbols.64bit.cxx11 b/debian/libstdc++6.symbols.64bit.cxx11 new file mode 100644 index 0000000..ed924cd --- /dev/null +++ b/debian/libstdc++6.symbols.64bit.cxx11 @@ -0,0 +1,333 @@ + (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 diff --git a/debian/libstdc++6.symbols.alpha b/debian/libstdc++6.symbols.alpha new file mode 100644 index 0000000..a561f24 --- /dev/null +++ b/debian/libstdc++6.symbols.alpha @@ -0,0 +1,56 @@ +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 diff --git a/debian/libstdc++6.symbols.amd64 b/debian/libstdc++6.symbols.amd64 new file mode 100644 index 0000000..cf922d1 --- /dev/null +++ b/debian/libstdc++6.symbols.amd64 @@ -0,0 +1,16 @@ +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 diff --git a/debian/libstdc++6.symbols.arm b/debian/libstdc++6.symbols.arm new file mode 100644 index 0000000..6369a31 --- /dev/null +++ b/debian/libstdc++6.symbols.arm @@ -0,0 +1,6 @@ +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 diff --git a/debian/libstdc++6.symbols.arm64 b/debian/libstdc++6.symbols.arm64 new file mode 100644 index 0000000..bb8a739 --- /dev/null +++ b/debian/libstdc++6.symbols.arm64 @@ -0,0 +1,10 @@ +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 diff --git a/debian/libstdc++6.symbols.armel b/debian/libstdc++6.symbols.armel new file mode 100644 index 0000000..6b9ea38 --- /dev/null +++ b/debian/libstdc++6.symbols.armel @@ -0,0 +1,13 @@ +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 diff --git a/debian/libstdc++6.symbols.armhf b/debian/libstdc++6.symbols.armhf new file mode 100644 index 0000000..86d4b52 --- /dev/null +++ b/debian/libstdc++6.symbols.armhf @@ -0,0 +1,20 @@ +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 diff --git a/debian/libstdc++6.symbols.common b/debian/libstdc++6.symbols.common new file mode 100644 index 0000000..2fcc20a --- /dev/null +++ b/debian/libstdc++6.symbols.common @@ -0,0 +1,3472 @@ + 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 diff --git a/debian/libstdc++6.symbols.common.cxx11 b/debian/libstdc++6.symbols.common.cxx11 new file mode 100644 index 0000000..9dfe8db --- /dev/null +++ b/debian/libstdc++6.symbols.common.cxx11 @@ -0,0 +1,884 @@ + (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 diff --git a/debian/libstdc++6.symbols.excprop b/debian/libstdc++6.symbols.excprop new file mode 100644 index 0000000..6d72109 --- /dev/null +++ b/debian/libstdc++6.symbols.excprop @@ -0,0 +1,18 @@ + _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 diff --git a/debian/libstdc++6.symbols.float128 b/debian/libstdc++6.symbols.float128 new file mode 100644 index 0000000..f20e67a --- /dev/null +++ b/debian/libstdc++6.symbols.float128 @@ -0,0 +1,7 @@ + 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 diff --git a/debian/libstdc++6.symbols.glibcxxmath b/debian/libstdc++6.symbols.glibcxxmath new file mode 100644 index 0000000..04b7104 --- /dev/null +++ b/debian/libstdc++6.symbols.glibcxxmath @@ -0,0 +1,22 @@ + 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 diff --git a/debian/libstdc++6.symbols.hppa b/debian/libstdc++6.symbols.hppa new file mode 100644 index 0000000..a139283 --- /dev/null +++ b/debian/libstdc++6.symbols.hppa @@ -0,0 +1,9 @@ +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 diff --git a/debian/libstdc++6.symbols.hurd-i386 b/debian/libstdc++6.symbols.hurd-i386 new file mode 100644 index 0000000..f18ffca --- /dev/null +++ b/debian/libstdc++6.symbols.hurd-i386 @@ -0,0 +1,6 @@ +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 diff --git a/debian/libstdc++6.symbols.i386 b/debian/libstdc++6.symbols.i386 new file mode 100644 index 0000000..eb26051 --- /dev/null +++ b/debian/libstdc++6.symbols.i386 @@ -0,0 +1,14 @@ +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 diff --git a/debian/libstdc++6.symbols.ia64 b/debian/libstdc++6.symbols.ia64 new file mode 100644 index 0000000..5f74173 --- /dev/null +++ b/debian/libstdc++6.symbols.ia64 @@ -0,0 +1,53 @@ +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 diff --git a/debian/libstdc++6.symbols.kfreebsd-amd64 b/debian/libstdc++6.symbols.kfreebsd-amd64 new file mode 100644 index 0000000..6e16529 --- /dev/null +++ b/debian/libstdc++6.symbols.kfreebsd-amd64 @@ -0,0 +1,9 @@ +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 diff --git a/debian/libstdc++6.symbols.kfreebsd-i386 b/debian/libstdc++6.symbols.kfreebsd-i386 new file mode 100644 index 0000000..d86ebfa --- /dev/null +++ b/debian/libstdc++6.symbols.kfreebsd-i386 @@ -0,0 +1,7 @@ +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 diff --git a/debian/libstdc++6.symbols.ldbl.32bit b/debian/libstdc++6.symbols.ldbl.32bit new file mode 100644 index 0000000..feaffd3 --- /dev/null +++ b/debian/libstdc++6.symbols.ldbl.32bit @@ -0,0 +1,284 @@ + 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 diff --git a/debian/libstdc++6.symbols.ldbl.32bit.s390 b/debian/libstdc++6.symbols.ldbl.32bit.s390 new file mode 100644 index 0000000..8432138 --- /dev/null +++ b/debian/libstdc++6.symbols.ldbl.32bit.s390 @@ -0,0 +1,284 @@ + 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 diff --git a/debian/libstdc++6.symbols.ldbl.64bit b/debian/libstdc++6.symbols.ldbl.64bit new file mode 100644 index 0000000..a5c3abf --- /dev/null +++ b/debian/libstdc++6.symbols.ldbl.64bit @@ -0,0 +1,284 @@ + 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 diff --git a/debian/libstdc++6.symbols.m68k b/debian/libstdc++6.symbols.m68k new file mode 100644 index 0000000..1e18564 --- /dev/null +++ b/debian/libstdc++6.symbols.m68k @@ -0,0 +1,6 @@ +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 diff --git a/debian/libstdc++6.symbols.mips b/debian/libstdc++6.symbols.mips new file mode 100644 index 0000000..70ed99b --- /dev/null +++ b/debian/libstdc++6.symbols.mips @@ -0,0 +1,8 @@ +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 diff --git a/debian/libstdc++6.symbols.mips64 b/debian/libstdc++6.symbols.mips64 new file mode 100644 index 0000000..7aa71da --- /dev/null +++ b/debian/libstdc++6.symbols.mips64 @@ -0,0 +1,7 @@ +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 diff --git a/debian/libstdc++6.symbols.mips64el b/debian/libstdc++6.symbols.mips64el new file mode 100644 index 0000000..fcc4963 --- /dev/null +++ b/debian/libstdc++6.symbols.mips64el @@ -0,0 +1,10 @@ +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 diff --git a/debian/libstdc++6.symbols.mips64r6 b/debian/libstdc++6.symbols.mips64r6 new file mode 100644 index 0000000..c499e58 --- /dev/null +++ b/debian/libstdc++6.symbols.mips64r6 @@ -0,0 +1,7 @@ +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 diff --git a/debian/libstdc++6.symbols.mips64r6el b/debian/libstdc++6.symbols.mips64r6el new file mode 100644 index 0000000..83716a3 --- /dev/null +++ b/debian/libstdc++6.symbols.mips64r6el @@ -0,0 +1,10 @@ +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 diff --git a/debian/libstdc++6.symbols.mipsel b/debian/libstdc++6.symbols.mipsel new file mode 100644 index 0000000..70ed99b --- /dev/null +++ b/debian/libstdc++6.symbols.mipsel @@ -0,0 +1,8 @@ +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 diff --git a/debian/libstdc++6.symbols.mipsr6 b/debian/libstdc++6.symbols.mipsr6 new file mode 100644 index 0000000..33a3d58 --- /dev/null +++ b/debian/libstdc++6.symbols.mipsr6 @@ -0,0 +1,7 @@ +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 diff --git a/debian/libstdc++6.symbols.mipsr6el b/debian/libstdc++6.symbols.mipsr6el new file mode 100644 index 0000000..a0ed1ab --- /dev/null +++ b/debian/libstdc++6.symbols.mipsr6el @@ -0,0 +1,8 @@ +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 diff --git a/debian/libstdc++6.symbols.money.f128 b/debian/libstdc++6.symbols.money.f128 new file mode 100644 index 0000000..eb08feb --- /dev/null +++ b/debian/libstdc++6.symbols.money.f128 @@ -0,0 +1,10 @@ + 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 diff --git a/debian/libstdc++6.symbols.money.ldbl b/debian/libstdc++6.symbols.money.ldbl new file mode 100644 index 0000000..90ca289 --- /dev/null +++ b/debian/libstdc++6.symbols.money.ldbl @@ -0,0 +1,9 @@ +# 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 diff --git a/debian/libstdc++6.symbols.not-armel b/debian/libstdc++6.symbols.not-armel new file mode 100644 index 0000000..9d9a404 --- /dev/null +++ b/debian/libstdc++6.symbols.not-armel @@ -0,0 +1,24 @@ + _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 diff --git a/debian/libstdc++6.symbols.powerpc b/debian/libstdc++6.symbols.powerpc new file mode 100644 index 0000000..c731a55 --- /dev/null +++ b/debian/libstdc++6.symbols.powerpc @@ -0,0 +1,9 @@ +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 diff --git a/debian/libstdc++6.symbols.powerpcspe b/debian/libstdc++6.symbols.powerpcspe new file mode 100644 index 0000000..653ed1a --- /dev/null +++ b/debian/libstdc++6.symbols.powerpcspe @@ -0,0 +1,8 @@ +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 diff --git a/debian/libstdc++6.symbols.ppc64 b/debian/libstdc++6.symbols.ppc64 new file mode 100644 index 0000000..617f232 --- /dev/null +++ b/debian/libstdc++6.symbols.ppc64 @@ -0,0 +1,11 @@ +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 diff --git a/debian/libstdc++6.symbols.ppc64el b/debian/libstdc++6.symbols.ppc64el new file mode 100644 index 0000000..617f232 --- /dev/null +++ b/debian/libstdc++6.symbols.ppc64el @@ -0,0 +1,11 @@ +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 diff --git a/debian/libstdc++6.symbols.s390 b/debian/libstdc++6.symbols.s390 new file mode 100644 index 0000000..bc45065 --- /dev/null +++ b/debian/libstdc++6.symbols.s390 @@ -0,0 +1,558 @@ +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 diff --git a/debian/libstdc++6.symbols.s390x b/debian/libstdc++6.symbols.s390x new file mode 100644 index 0000000..d1fa3ac --- /dev/null +++ b/debian/libstdc++6.symbols.s390x @@ -0,0 +1,13 @@ +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 diff --git a/debian/libstdc++6.symbols.sh4 b/debian/libstdc++6.symbols.sh4 new file mode 100644 index 0000000..70ed99b --- /dev/null +++ b/debian/libstdc++6.symbols.sh4 @@ -0,0 +1,8 @@ +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 diff --git a/debian/libstdc++6.symbols.sparc b/debian/libstdc++6.symbols.sparc new file mode 100644 index 0000000..c731a55 --- /dev/null +++ b/debian/libstdc++6.symbols.sparc @@ -0,0 +1,9 @@ +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 diff --git a/debian/libstdc++6.symbols.sparc64 b/debian/libstdc++6.symbols.sparc64 new file mode 100644 index 0000000..f9446bb --- /dev/null +++ b/debian/libstdc++6.symbols.sparc64 @@ -0,0 +1,11 @@ +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 diff --git a/debian/libstdc++6.symbols.x32 b/debian/libstdc++6.symbols.x32 new file mode 100644 index 0000000..eab6e1d --- /dev/null +++ b/debian/libstdc++6.symbols.x32 @@ -0,0 +1,27 @@ +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 diff --git a/debian/libstdc++CXX.postinst b/debian/libstdc++CXX.postinst new file mode 100644 index 0000000..9a9c868 --- /dev/null +++ b/debian/libstdc++CXX.postinst @@ -0,0 +1,18 @@ +#! /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# diff --git a/debian/libstdc++CXX.prerm b/debian/libstdc++CXX.prerm new file mode 100644 index 0000000..d4a6b38 --- /dev/null +++ b/debian/libstdc++CXX.prerm @@ -0,0 +1,13 @@ +#! /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# diff --git a/debian/libtsan0.symbols b/debian/libtsan0.symbols new file mode 100644 index 0000000..b685737 --- /dev/null +++ b/debian/libtsan0.symbols @@ -0,0 +1,1886 @@ +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 diff --git a/debian/libubsan1.symbols b/debian/libubsan1.symbols new file mode 100644 index 0000000..76f7986 --- /dev/null +++ b/debian/libubsan1.symbols @@ -0,0 +1,122 @@ +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 diff --git a/debian/libvtv0.symbols b/debian/libvtv0.symbols new file mode 100644 index 0000000..908a64e --- /dev/null +++ b/debian/libvtv0.symbols @@ -0,0 +1,68 @@ +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 diff --git a/debian/libx32asan5.overrides b/debian/libx32asan5.overrides new file mode 100644 index 0000000..fa35182 --- /dev/null +++ b/debian/libx32asan5.overrides @@ -0,0 +1,2 @@ +# automake gets it wrong for the multilib build +libx32asan5 binary: binary-or-shlib-defines-rpath diff --git a/debian/libx32asan5.symbols b/debian/libx32asan5.symbols new file mode 100644 index 0000000..5fc72d6 --- /dev/null +++ b/debian/libx32asan5.symbols @@ -0,0 +1,4 @@ +libasan.so.5 libx32asan5 #MINVER# +#include "libasan.symbols.common" +#include "libasan.symbols.32" +#include "libasan.symbols.16" diff --git a/debian/libx32gphobos68.lintian-overrides b/debian/libx32gphobos68.lintian-overrides new file mode 100644 index 0000000..9539864 --- /dev/null +++ b/debian/libx32gphobos68.lintian-overrides @@ -0,0 +1,2 @@ +# no multilib zlib for x32 +libx32gphobos68 binary: embedded-library diff --git a/debian/libx32stdc++6.symbols b/debian/libx32stdc++6.symbols new file mode 100644 index 0000000..93a1f88 --- /dev/null +++ b/debian/libx32stdc++6.symbols @@ -0,0 +1,27 @@ +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 diff --git a/debian/locale-gen b/debian/locale-gen new file mode 100644 index 0000000..f07fa55 --- /dev/null +++ b/debian/locale-gen @@ -0,0 +1,51 @@ +#!/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 + ' <&2 "usage: `basename $0` [-p ] [-t ] [-m ]" + echo >&2 " [ ...]" + 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 diff --git a/debian/patches/ada-749574.diff b/debian/patches/ada-749574.diff new file mode 100644 index 0000000..887a8cf --- /dev/null +++ b/debian/patches/ada-749574.diff @@ -0,0 +1,114 @@ +From: Ludovic Brenta +From: Nicolas Boulenguez +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; + +--- 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 -- + ----------- +@@ -1889,8 +1899,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) := +@@ -1935,13 +1945,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) := diff --git a/debian/patches/ada-arm.diff b/debian/patches/ada-arm.diff new file mode 100644 index 0000000..81c53f0 --- /dev/null +++ b/debian/patches/ada-arm.diff @@ -0,0 +1,18 @@ +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 +Author: Nicolas Boulenguez + +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 $(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}" \ +@@ -51605,26 +52090,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}" \ +@@ -51632,26 +52117,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}" \ +@@ -51659,26 +52144,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}" \ +@@ -51686,25 +52171,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}" \ +@@ -51712,24 +52197,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}" \ +@@ -51737,24 +52222,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}" \ +@@ -51762,24 +52247,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}" \ +@@ -51787,24 +52272,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}" \ +@@ -51812,7 +52297,7 @@ maintainer-clean-target-libada: + maintainer-clean) \ + || exit 1 + +-@endif target-libada ++@endif target-libada-sjlj + + + +@@ -57290,6 +57775,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 +@@ -57326,6 +57813,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 +@@ -57823,8 +58312,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 +@@ -58582,6 +59076,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 +@@ -58631,6 +59127,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 diff --git a/debian/patches/ada-drop-termio-h.diff b/debian/patches/ada-drop-termio-h.diff new file mode 100644 index 0000000..b7a1d80 --- /dev/null +++ b/debian/patches/ada-drop-termio-h.diff @@ -0,0 +1,42 @@ +Description: ada/terminals.c: remove obsolete termio.h + On all architectures, the terminals.c source file #includes + and declares variables with type struct termios. + . + Some platforms provide a compatibility termio.h, which only defines + the termio structure. + . + terminals.c also #includes , probably for historical + reasons since no termio structure is ever used. + . + Drop the #include instead of maintaining a list of architectures. +Author: Nicolas Boulenguez +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 + #include + #include +- +-/* 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 +-#endif +- + #include + #include + #include +@@ -1130,7 +1122,6 @@ __gnat_setup_winsize (void *desc, int ro + # include + #endif + #if defined (__hpux__) +-# include + # include + #endif + diff --git a/debian/patches/ada-gcc-name.diff b/debian/patches/ada-gcc-name.diff new file mode 100644 index 0000000..b5f1061 --- /dev/null +++ b/debian/patches/ada-gcc-name.diff @@ -0,0 +1,295 @@ +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 +Author: Nicolas Boulenguez +Author: Svante Signell +Author: YunQiang Su + +--- a/src/gcc/ada/osint.ads ++++ b/src/gcc/ada/osint.ads +@@ -137,16 +137,10 @@ package Osint is + -- 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 +- -- -gnatmake and Nam is "gcc", the returned value will be a pointer +- -- to "-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 +@@ -2204,51 +2204,51 @@ package body Osint is + ------------------ + + 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.OS_Lib; use GNA + with GNAT.Heap_Sort_G; + with GNAT.Table; + ++with Osint; + with Switch; use Switch; + with Types; + +@@ -44,12 +45,9 @@ procedure Gnatchop is + 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 @@ procedure Gnatchop is + 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 @@ procedure Gnatchop is + 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 @@ procedure Gnatchop is + exit; + + when '-' => +- Gcc := new String'(Parameter); +- Gcc_Set := True; ++ Free (Gcc); ++ Gcc := new String'(Parameter); + + when 'c' => + Compilation_Mode := True; +@@ -1767,9 +1689,13 @@ begin + + -- 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; + diff --git a/debian/patches/ada-gnattools-cross.diff b/debian/patches/ada-gnattools-cross.diff new file mode 100644 index 0000000..b24b719 --- /dev/null +++ b/debian/patches/ada-gnattools-cross.diff @@ -0,0 +1,270 @@ +* 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 +@@ -2313,14 +2332,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); \ +@@ -2345,8 +2360,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 +@@ -2410,7 +2424,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) \ +@@ -2444,36 +2458,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) +@@ -2484,6 +2513,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) \ +@@ -2492,21 +2523,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) \ +@@ -2516,17 +2541,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 +@@ -78,15 +78,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)" \ +@@ -192,6 +198,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 \ +@@ -200,6 +210,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 diff --git a/debian/patches/ada-kfreebsd.diff b/debian/patches/ada-kfreebsd.diff new file mode 100644 index 0000000..9142970 --- /dev/null +++ b/debian/patches/ada-kfreebsd.diff @@ -0,0 +1,106 @@ +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 +Author: Nicolas Boulenguez + +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). diff --git a/debian/patches/ada-lib-info-file-prefix-map.diff b/debian/patches/ada-lib-info-file-prefix-map.diff new file mode 100644 index 0000000..3aba373 --- /dev/null +++ b/debian/patches/ada-lib-info-file-prefix-map.diff @@ -0,0 +1,36 @@ +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 + +--- 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 diff --git a/debian/patches/ada-lib-info-source-date-epoch.diff b/debian/patches/ada-lib-info-source-date-epoch.diff new file mode 100644 index 0000000..7ad57b5 --- /dev/null +++ b/debian/patches/ada-lib-info-source-date-epoch.diff @@ -0,0 +1,144 @@ +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 + +--- 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 +@@ -1679,6 +1679,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 +@@ -680,6 +680,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 -- + ---------------- diff --git a/debian/patches/ada-libgnatvsn.diff b/debian/patches/ada-libgnatvsn.diff new file mode 100644 index 0000000..ad6b049 --- /dev/null +++ b/debian/patches/ada-libgnatvsn.diff @@ -0,0 +1,330 @@ +# 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 ++# Copyright (c) 2017 Nicolas Boulenguez ++# ++# 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 + } + } diff --git a/debian/patches/ada-link-lib.diff b/debian/patches/ada-link-lib.diff new file mode 100644 index 0000000..a250af1 --- /dev/null +++ b/debian/patches/ada-link-lib.diff @@ -0,0 +1,183 @@ +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 +Author: Nicolas Boulenguez +Author: Matthias Klose + +--- 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 + + + # 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" diff --git a/debian/patches/ada-nobiarch-check.diff b/debian/patches/ada-nobiarch-check.diff new file mode 100644 index 0000000..35190a7 --- /dev/null +++ b/debian/patches/ada-nobiarch-check.diff @@ -0,0 +1,21 @@ +Description: For biarch builds, disable the gnat testsuite for the non-default + architecture (no biarch support in gnat yet). +Author: Matthias Klose + +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-$* diff --git a/debian/patches/ada-perl-shebang.diff b/debian/patches/ada-perl-shebang.diff new file mode 100644 index 0000000..ea930b1 --- /dev/null +++ b/debian/patches/ada-perl-shebang.diff @@ -0,0 +1,10 @@ +# 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 + + #----------------------------------------------------------------------------- + #- -- diff --git a/debian/patches/ada-sjlj.diff b/debian/patches/ada-sjlj.diff new file mode 100644 index 0000000..804cdeb --- /dev/null +++ b/debian/patches/ada-sjlj.diff @@ -0,0 +1,493 @@ +# Please read ada-changes-in-autogen-output.diff about src/Makefile.def. + +# !!! Must be applied after ada-libgnatvsn.diff + +--- /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 ++# . ++ ++# 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: +--- /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 ++# . ++ ++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 ++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 +--- 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; }; +--- 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, +--- 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 +@@ -2348,6 +2348,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) +@@ -2629,7 +2649,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;/' \ +@@ -2638,6 +2658,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)" \ +@@ -2689,6 +2710,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 + +--- 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 +--- 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 diff --git a/debian/patches/ada-tools-move-ldflags.diff b/debian/patches/ada-tools-move-ldflags.diff new file mode 100644 index 0000000..0850102 --- /dev/null +++ b/debian/patches/ada-tools-move-ldflags.diff @@ -0,0 +1,42 @@ +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 +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)" diff --git a/debian/patches/ada-verbose.diff b/debian/patches/ada-verbose.diff new file mode 100644 index 0000000..8c759d9 --- /dev/null +++ b/debian/patches/ada-verbose.diff @@ -0,0 +1,61 @@ +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 + +--- 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 +--- a/src/gcc/ada/gcc-interface/Makefile.in ++++ b/src/gcc/ada/gcc-interface/Makefile.in +@@ -2401,7 +2401,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 diff --git a/debian/patches/add-gnu-to-libgo-headers.diff b/debian/patches/add-gnu-to-libgo-headers.diff new file mode 100644 index 0000000..9a69a25 --- /dev/null +++ b/debian/patches/add-gnu-to-libgo-headers.diff @@ -0,0 +1,1211 @@ +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. diff --git a/debian/patches/add-gnu-to-libgo-test-headers.diff b/debian/patches/add-gnu-to-libgo-test-headers.diff new file mode 100644 index 0000000..3c3bf38 --- /dev/null +++ b/debian/patches/add-gnu-to-libgo-test-headers.diff @@ -0,0 +1,301 @@ +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 + diff --git a/debian/patches/alpha-ieee-doc.diff b/debian/patches/alpha-ieee-doc.diff new file mode 100644 index 0000000..0564158 --- /dev/null +++ b/debian/patches/alpha-ieee-doc.diff @@ -0,0 +1,24 @@ +# 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 diff --git a/debian/patches/alpha-ieee.diff b/debian/patches/alpha-ieee.diff new file mode 100644 index 0000000..40497fb --- /dev/null +++ b/debian/patches/alpha-ieee.diff @@ -0,0 +1,21 @@ +# 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 diff --git a/debian/patches/alpha-no-ev4-directive.diff b/debian/patches/alpha-no-ev4-directive.diff new file mode 100644 index 0000000..df7d960 --- /dev/null +++ b/debian/patches/alpha-no-ev4-directive.diff @@ -0,0 +1,30 @@ +# 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 +@@ -9539,7 +9539,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"; +@@ -9549,10 +9549,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); + } + } + diff --git a/debian/patches/arm-multilib-defaults.diff b/debian/patches/arm-multilib-defaults.diff new file mode 100644 index 0000000..9c14f5e --- /dev/null +++ b/debian/patches/arm-multilib-defaults.diff @@ -0,0 +1,88 @@ +# DP: Set MULTILIB_DEFAULTS for ARM multilib builds + +--- a/src/gcc/config.gcc ++++ b/src/gcc/config.gcc +@@ -3881,10 +3881,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 +@@ -3918,6 +3926,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 diff --git a/debian/patches/arm-multilib-soft-cross.diff b/debian/patches/arm-multilib-soft-cross.diff new file mode 100644 index 0000000..00a83d3 --- /dev/null +++ b/debian/patches/arm-multilib-soft-cross.diff @@ -0,0 +1,27 @@ +# 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* diff --git a/debian/patches/arm-multilib-soft-float.diff b/debian/patches/arm-multilib-soft-float.diff new file mode 100644 index 0000000..18f51fb --- /dev/null +++ b/debian/patches/arm-multilib-soft-float.diff @@ -0,0 +1,26 @@ +--- 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* diff --git a/debian/patches/arm-multilib-soft.diff b/debian/patches/arm-multilib-soft.diff new file mode 100644 index 0000000..5988f98 --- /dev/null +++ b/debian/patches/arm-multilib-soft.diff @@ -0,0 +1,27 @@ +# 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* diff --git a/debian/patches/arm-multilib-softfp-cross.diff b/debian/patches/arm-multilib-softfp-cross.diff new file mode 100644 index 0000000..89ed142 --- /dev/null +++ b/debian/patches/arm-multilib-softfp-cross.diff @@ -0,0 +1,27 @@ +# 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* diff --git a/debian/patches/arm-multilib-softfp.diff b/debian/patches/arm-multilib-softfp.diff new file mode 100644 index 0000000..f4268da --- /dev/null +++ b/debian/patches/arm-multilib-softfp.diff @@ -0,0 +1,27 @@ +# 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* diff --git a/debian/patches/bind_now_when_pie.diff b/debian/patches/bind_now_when_pie.diff new file mode 100644 index 0000000..4fe24fe --- /dev/null +++ b/debian/patches/bind_now_when_pie.diff @@ -0,0 +1,23 @@ +Author: Steve Beattie +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 "" diff --git a/debian/patches/bootstrap-no-unneeded-libs.diff b/debian/patches/bootstrap-no-unneeded-libs.diff new file mode 100644 index 0000000..4939110 --- /dev/null +++ b/debian/patches/bootstrap-no-unneeded-libs.diff @@ -0,0 +1,30 @@ +# 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; }; diff --git a/debian/patches/canonical-cpppath.diff b/debian/patches/canonical-cpppath.diff new file mode 100644 index 0000000..235a243 --- /dev/null +++ b/debian/patches/canonical-cpppath.diff @@ -0,0 +1,36 @@ +# 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); + } diff --git a/debian/patches/config-ml.diff b/debian/patches/config-ml.diff new file mode 100644 index 0000000..8e8d46e --- /dev/null +++ b/debian/patches/config-ml.diff @@ -0,0 +1,54 @@ +# 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 diff --git a/debian/patches/cross-biarch.diff b/debian/patches/cross-biarch.diff new file mode 100644 index 0000000..862bb7c --- /dev/null +++ b/debian/patches/cross-biarch.diff @@ -0,0 +1,82 @@ +# 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"`' ' ;; + *) diff --git a/debian/patches/cross-fixes.diff b/debian/patches/cross-fixes.diff new file mode 100644 index 0000000..cfe223f --- /dev/null +++ b/debian/patches/cross-fixes.diff @@ -0,0 +1,81 @@ +# 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 + #include +@@ -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 + . */ + ++#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 @@ + . */ + + #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 *); diff --git a/debian/patches/cross-install-location.diff b/debian/patches/cross-install-location.diff new file mode 100644 index 0000000..4edeae0 --- /dev/null +++ b/debian/patches/cross-install-location.diff @@ -0,0 +1,378 @@ +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 \ diff --git a/debian/patches/cross-no-locale-include.diff b/debian/patches/cross-no-locale-include.diff new file mode 100644 index 0000000..7b7c18a --- /dev/null +++ b/debian/patches/cross-no-locale-include.diff @@ -0,0 +1,17 @@ +# 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 diff --git a/debian/patches/cuda-float128.diff b/debian/patches/cuda-float128.diff new file mode 100644 index 0000000..5a87860 --- /dev/null +++ b/debian/patches/cuda-float128.diff @@ -0,0 +1,28 @@ +# 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 + : 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) diff --git a/debian/patches/disable-gdc-tests.diff b/debian/patches/disable-gdc-tests.diff new file mode 100644 index 0000000..ef9e21c --- /dev/null +++ b/debian/patches/disable-gdc-tests.diff @@ -0,0 +1,19 @@ +# 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. + diff --git a/debian/patches/g++-multiarch-incdir.diff b/debian/patches/g++-multiarch-incdir.diff new file mode 100644 index 0000000..4091d8b --- /dev/null +++ b/debian/patches/g++-multiarch-incdir.diff @@ -0,0 +1,109 @@ +# DP: Use /usr/include//c++/4.x as the include directory +# DP: for host dependent c++ header files. + +--- 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 \ +--- a/src/libstdc++-v3/include/Makefile.in ++++ b/src/libstdc++-v3/include/Makefile.in +@@ -1216,7 +1216,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 \ +--- a/src/gcc/Makefile.in ++++ b/src/gcc/Makefile.in +@@ -1171,6 +1171,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)" \ +@@ -1719,6 +1720,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 +@@ -2882,7 +2891,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)\" \ +--- 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. */ +--- 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); diff --git a/debian/patches/gcc-alpha-bs-ignore.diff b/debian/patches/gcc-alpha-bs-ignore.diff new file mode 100644 index 0000000..b862e59 --- /dev/null +++ b/debian/patches/gcc-alpha-bs-ignore.diff @@ -0,0 +1,14 @@ +# 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) + diff --git a/debian/patches/gcc-as-needed-gold.diff b/debian/patches/gcc-as-needed-gold.diff new file mode 100644 index 0000000..df3dfdf --- /dev/null +++ b/debian/patches/gcc-as-needed-gold.diff @@ -0,0 +1,58 @@ +# 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 diff --git a/debian/patches/gcc-as-needed-push-pop.diff b/debian/patches/gcc-as-needed-push-pop.diff new file mode 100644 index 0000000..5dc4826 --- /dev/null +++ b/debian/patches/gcc-as-needed-push-pop.diff @@ -0,0 +1,41 @@ +From: Jakub Jelinek +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 + + * 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. + +--- a/src/gcc/configure.ac ++++ b/src/gcc/configure.ac +@@ -5514,11 +5514,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) diff --git a/debian/patches/gcc-as-needed.diff b/debian/patches/gcc-as-needed.diff new file mode 100644 index 0000000..c9f67ac --- /dev/null +++ b/debian/patches/gcc-as-needed.diff @@ -0,0 +1,244 @@ +# 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: \ diff --git a/debian/patches/gcc-auto-build.diff b/debian/patches/gcc-auto-build.diff new file mode 100644 index 0000000..c13e2d1 --- /dev/null +++ b/debian/patches/gcc-auto-build.diff @@ -0,0 +1,15 @@ +# 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" \ diff --git a/debian/patches/gcc-d-lang.diff b/debian/patches/gcc-d-lang.diff new file mode 100644 index 0000000..a214841 --- /dev/null +++ b/debian/patches/gcc-d-lang.diff @@ -0,0 +1,251 @@ +# 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 ++ . ++*/ ++ ++/* %{!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 ++; . ++ ++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=,-fdebug= Compile in debug code, code <= level, or code identified by ident ++ ++fdeps= ++D Joined RejectNegative ++-fdeps= Write module dependencies to filename ++ ++fdoc ++D ++Generate documentation ++ ++fdoc-dir= ++D Joined RejectNegative ++-fdoc-dir= Write documentation file to docdir directory ++ ++fdoc-file= ++D Joined RejectNegative ++-fdoc-file= Write documentation file to filename ++ ++fdoc-inc= ++D Joined RejectNegative ++-fdoc-inc= 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= Write D interface files to directory ++ ++fintfc-file= ++D Joined RejectNegative ++-fintfc-file= Write D interface file to ++ ++finvariants ++D ++Generate runtime code for invariant()'s ++ ++fmake-deps= ++D Joined RejectNegative ++-fmake-deps= Write dependency output to the given file ++ ++fmake-mdeps= ++D Joined RejectNegative ++Like -fmake-deps= 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= Compile in version code >= or identified by ++ ++fXf= ++D Joined RejectNegative ++-fXf= Write JSON file to ++ ++imultilib ++D Joined Separate ++-imultilib Set to be the multilib include subdirectory ++ ++iprefix ++D Joined Separate ++-iprefix Specify as a prefix for next two options ++ ++isysroot ++D Joined Separate ++-isysroot Set to be the system root directory ++ ++isystem ++D Joined Separate ++-isystem Add to the start of the system include path ++ ++I ++D Joined Separate ++-I Add to the end of the main include path ++ ++J ++D Joined Separate ++-J 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 ++ diff --git a/debian/patches/gcc-default-fortify-source.diff b/debian/patches/gcc-default-fortify-source.diff new file mode 100644 index 0000000..74d7ed0 --- /dev/null +++ b/debian/patches/gcc-default-fortify-source.diff @@ -0,0 +1,42 @@ +# 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__"); diff --git a/debian/patches/gcc-default-relro.diff b/debian/patches/gcc-default-relro.diff new file mode 100644 index 0000000..2d1cea8 --- /dev/null +++ b/debian/patches/gcc-default-relro.diff @@ -0,0 +1,45 @@ +# 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=*:%/*.h instead? */ ++#include "distro-defaults.h" ++ + #include "config.h" + #include "system.h" + #include "coretypes.h" +@@ -867,6 +872,69 @@ proper position among the other output f + #define LINK_GCC_C_SEQUENCE_SPEC "%G %L %G" + #endif + ++/* Generate full unwind information covering all program points. ++ Only needed for some architectures. */ ++#ifndef ASYNC_UNWIND_SPEC ++# ifdef DIST_DEFAULT_ASYNC_UNWIND ++# define ASYNC_UNWIND_SPEC "%{!fno-asynchronous-unwind-tables:-fasynchronous-unwind-tables}" ++# else ++# define ASYNC_UNWIND_SPEC "" ++# endif ++#endif ++ ++/* Turn on stack protector. ++ */ ++#ifndef SSP_DEFAULT_SPEC ++# ifdef DIST_DEFAULT_SSP ++# ifdef DIST_DEFAULT_SSP_STRONG ++# define SSP_DEFAULT_SPEC " %{!fno-stack-protector:%{!fstack-protector-all:%{!ffreestanding:%{!nostdlib:%{!fstack-protector:-fstack-protector-strong}}}}}" ++# else ++# define SSP_DEFAULT_SPEC " %{!fno-stack-protector:%{!fstack-protector-all:%{!ffreestanding:%{!nostdlib:-fstack-protector}}}}" ++# endif ++# else ++# define SSP_DEFAULT_SPEC "" ++# endif ++#endif ++ ++/* Turn on -Wformat -Wformat-security by default for C, C++, ++ ObjC, ObjC++. */ ++#ifndef FORMAT_SECURITY_SPEC ++# ifdef DIST_DEFAULT_FORMAT_SECURITY ++# define FORMAT_SECURITY_SPEC " %{!Wformat:%{!Wformat=2:%{!Wformat=0:%{!Wall:-Wformat} %{!Wno-format-security:-Wformat-security}}}}" ++# else ++# define FORMAT_SECURITY_SPEC "" ++# endif ++#endif ++ ++/* Enable -fstack-clash-protection by default. Only available ++ on some targets. */ ++#ifndef STACK_CLASH_SPEC ++# ifdef DIST_DEFAULT_STACK_CLASH ++# define STACK_CLASH_SPEC " %{!fno-stack-clash-protection:-fstack-clash-protection}" ++# else ++# define STACK_CLASH_SPEC "" ++# endif ++#endif ++ ++/* Enable code instrumentation of control-flow transfers. ++ Available on x86 and x86_64. */ ++#ifndef CF_PROTECTION_SPEC ++# ifdef DIST_DEFAULT_CF_PROTECTION ++# define CF_PROTECTION_SPEC " %{!fcf-protection*:%{!fno-cf-protection:-fcf-protection}}" ++# else ++# define CF_PROTECTION_SPEC "" ++# endif ++#endif ++ ++/* Don't enable any of those for the offload compilers, ++ unsupported. */ ++#if !defined(DISTRO_DEFAULT_SPEC) && !defined(ACCEL_COMPILER) ++# define DISTRO_DEFAULT_SPEC ASYNC_UNWIND_SPEC SSP_DEFAULT_SPEC \ ++ FORMAT_SECURITY_SPEC STACK_CLASH_SPEC CF_PROTECTION_SPEC ++#else ++# define DISTRO_DEFAULT_SPEC "" ++#endif ++ + #ifndef LINK_SSP_SPEC + #ifdef TARGET_LIBC_PROVIDES_SSP + #define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \ +@@ -1074,6 +1142,7 @@ static const char *cpp_spec = CPP_SPEC; + 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 *distro_default_spec = DISTRO_DEFAULT_SPEC; + static const char *link_ssp_spec = LINK_SSP_SPEC; + static const char *asm_spec = ASM_SPEC; + static const char *asm_final_spec = ASM_FINAL_SPEC; +@@ -1131,7 +1200,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} %(distro_defaults)"; + + /* This contains cpp options which are not passed when the preprocessor + output will be used by another program. */ +@@ -1313,9 +1382,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)%(distro_defaults)}\ + %{!save-temps*:%{!traditional-cpp:%{!no-integrated-cpp:\ +- cc1 %(cpp_unique_options) %(cc1_options)}}}\ ++ cc1 %(cpp_unique_options) %(cc1_options) %(distro_defaults)}}}\ + %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 1}, + {"-", + "%{!E:%e-E or -x required when input is from standard input}\ +@@ -1329,18 +1398,18 @@ 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) %(distro_defaults)\ + %{!fsyntax-only:%{!S:-o %g.s} \ + %{!fdump-ada-spec*:%{!o*:--output-pch=%i.gch}\ + %W{o*:--output-pch=%*}}%V}}\ + %{!save-temps*:%{!traditional-cpp:%{!no-integrated-cpp:\ +- cc1 %(cpp_unique_options) %(cc1_options)\ ++ cc1 %(cpp_unique_options) %(cc1_options) %(distro_defaults)\ + %{!fsyntax-only:%{!S:-o %g.s} \ + %{!fdump-ada-spec*:%{!o*:--output-pch=%i.gch}\ + %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) %(distro_defaults) %{!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}, +@@ -1571,6 +1640,7 @@ static struct spec_list static_specs[] = + INIT_STATIC_SPEC ("cc1_options", &cc1_options), + INIT_STATIC_SPEC ("cc1plus", &cc1plus_spec), + INIT_STATIC_SPEC ("link_gcc_c_sequence", &link_gcc_c_sequence_spec), ++ INIT_STATIC_SPEC ("distro_defaults", &distro_default_spec), + INIT_STATIC_SPEC ("link_ssp", &link_ssp_spec), + INIT_STATIC_SPEC ("endfile", &endfile_spec), + INIT_STATIC_SPEC ("link", &link_spec), +--- 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) %(distro_defaults) %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) %(distro_defaults) %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) %(distro_defaults) %2\ + %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0}, +--- 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) %(distro_defaults) %{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) %(distro_defaults) %{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,11 +40,11 @@ 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) %(distro_defaults) %{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) %(distro_defaults) %{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}, +@@ -53,5 +53,5 @@ along with GCC; see the file COPYING3. + %{!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) %(distro_defaults) %{print-objc-runtime-info} %{gen-decls}\ + %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0}, +--- 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) %(distro_defaults) %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) %(distro_defaults) %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) %(distro_defaults) %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) %(distro_defaults) %2\ + %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0}, diff --git a/debian/patches/gcc-driver-extra-langs-linaro.diff b/debian/patches/gcc-driver-extra-langs-linaro.diff new file mode 100644 index 0000000..6fd50a3 --- /dev/null +++ b/debian/patches/gcc-driver-extra-langs-linaro.diff @@ -0,0 +1,22 @@ +# 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@ diff --git a/debian/patches/gcc-driver-extra-langs.diff b/debian/patches/gcc-driver-extra-langs.diff new file mode 100644 index 0000000..009acd6 --- /dev/null +++ b/debian/patches/gcc-driver-extra-langs.diff @@ -0,0 +1,22 @@ +# 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@ diff --git a/debian/patches/gcc-foffload-default.diff b/debian/patches/gcc-foffload-default.diff new file mode 100644 index 0000000..802f75a --- /dev/null +++ b/debian/patches/gcc-foffload-default.diff @@ -0,0 +1,121 @@ +# 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 + + * 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 +@@ -296,6 +296,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. */ + +@@ -4553,7 +4557,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 +@@ -7832,6 +7839,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, diff --git a/debian/patches/gcc-force-cross-layout.diff b/debian/patches/gcc-force-cross-layout.diff new file mode 100644 index 0000000..b1bf9c1 --- /dev/null +++ b/debian/patches/gcc-force-cross-layout.diff @@ -0,0 +1,49 @@ +# DP: Add FORCE_CROSS_LAYOUT env var to force a cross directory layout. + +--- 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 + +--- 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 +@@ -6391,14 +6391,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 diff --git a/debian/patches/gcc-fuse-ld-lld-doc.diff b/debian/patches/gcc-fuse-ld-lld-doc.diff new file mode 100644 index 0000000..6483281 --- /dev/null +++ b/debian/patches/gcc-fuse-ld-lld-doc.diff @@ -0,0 +1,17 @@ +# 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} diff --git a/debian/patches/gcc-fuse-ld-lld.diff b/debian/patches/gcc-fuse-ld-lld.diff new file mode 100644 index 0000000..f34c019 --- /dev/null +++ b/debian/patches/gcc-fuse-ld-lld.diff @@ -0,0 +1,77 @@ +# 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 +@@ -2489,6 +2489,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; diff --git a/debian/patches/gcc-gfdl-build.diff b/debian/patches/gcc-gfdl-build.diff new file mode 100644 index 0000000..87b5ca2 --- /dev/null +++ b/debian/patches/gcc-gfdl-build.diff @@ -0,0 +1,37 @@ +# DP: Build a dummy s-tm-texi without access to the texinfo sources + +--- a/src/gcc/Makefile.in ++++ b/src/gcc/Makefile.in +@@ -2480,30 +2480,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 diff --git a/debian/patches/gcc-hash-style-both.diff b/debian/patches/gcc-hash-style-both.diff new file mode 100644 index 0000000..f0af163 --- /dev/null +++ b/debian/patches/gcc-hash-style-both.diff @@ -0,0 +1,183 @@ +# DP: Link using --hash-style=both (alpha, amd64, armel, armhf, ia64, i386, powerpc, ppc64, riscv64, s390, sparc) + +2006-07-11 Jakub Jelinek + + * 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 + + * config/arm/linux-elf.h (LINK_SPEC): Add --hash-style=both. + +2012-11-17 Matthias Klose + + * config/aarch64/aarch64-linux.h (LINK_SPEC): Add --hash-style=both. + +2018-03-02 Aurelien Jarno + + * 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: \ diff --git a/debian/patches/gcc-hash-style-gnu.diff b/debian/patches/gcc-hash-style-gnu.diff new file mode 100644 index 0000000..cfd89c3 --- /dev/null +++ b/debian/patches/gcc-hash-style-gnu.diff @@ -0,0 +1,186 @@ +# DP: Link using --hash-style=gnu (aarch64, alpha, amd64, armel, armhf, ia64, +# DP: i386, powerpc, ppc64, riscv64, s390, sparc) + +2006-07-11 Jakub Jelinek + + * 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 + + * config/arm/linux-elf.h (LINK_SPEC): Add --hash-style=gnu. + +2012-11-17 Matthias Klose + + * config/aarch64/aarch64-linux.h (LINK_SPEC): Add --hash-style=gnu. + +2018-03-02 Aurelien Jarno + + * 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} \ diff --git a/debian/patches/gcc-ice-apport.diff b/debian/patches/gcc-ice-apport.diff new file mode 100644 index 0000000..be6df08 --- /dev/null +++ b/debian/patches/gcc-ice-apport.diff @@ -0,0 +1,22 @@ +# 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 +@@ -7038,6 +7038,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; diff --git a/debian/patches/gcc-ice-dump.diff b/debian/patches/gcc-ice-dump.diff new file mode 100644 index 0000000..80bd618 --- /dev/null +++ b/debian/patches/gcc-ice-dump.diff @@ -0,0 +1,39 @@ +# 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 +@@ -3257,7 +3257,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)) +@@ -7020,8 +7021,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; diff --git a/debian/patches/gcc-linaro-doc.diff b/debian/patches/gcc-linaro-doc.diff new file mode 100644 index 0000000..6478a2e --- /dev/null +++ b/debian/patches/gcc-linaro-doc.diff @@ -0,0 +1,244 @@ +# DP: Changes for the Linaro 8-2019.02 snapshot (documentation). + +LANG=C svn diff svn://gcc.gnu.org/svn/gcc/branches/gcc-8-branch@269117 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) +@@ -11370,6 +11370,7 @@ + @findex __builtin_powi + @findex __builtin_powif + @findex __builtin_powil ++@findex __builtin_speculation_safe_value + @findex _Exit + @findex _exit + @findex abort +@@ -12013,6 +12014,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 +@@ -14704,6 +14704,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 diff --git a/debian/patches/gcc-linaro-no-macros.diff b/debian/patches/gcc-linaro-no-macros.diff new file mode 100644 index 0000000..38adf2f --- /dev/null +++ b/debian/patches/gcc-linaro-no-macros.diff @@ -0,0 +1,116 @@ +# 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 +- +- * gcc.dg/cpp/linaro-macros.c: New test. + + 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 diff --git a/debian/patches/gcc-linaro-revert-r270683.diff b/debian/patches/gcc-linaro-revert-r270683.diff new file mode 100644 index 0000000..a5c7e6a --- /dev/null +++ b/debian/patches/gcc-linaro-revert-r270683.diff @@ -0,0 +1,145 @@ +# Revert FSF change, already present on the Linaro branch. + +Index: gcc/testsuite/gcc.target/aarch64/pr90075.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/aarch64/pr90075.c (revision 270683) ++++ a/src/gcc/testsuite/gcc.target/aarch64/pr90075.c (nonexistent) +@@ -1,21 +0,0 @@ +-/* { dg-do compile } */ +-/* { dg-additional-options "-O1" } */ +- +-typedef struct { +- float one, two; +-} twofloats; +- +-float +-bug (twofloats tf) +-{ +- float f1, f2; +- union { +- twofloats tfloats; +- float arr[2]; +- } utfloats; +- +- utfloats.tfloats = tf; +- f1 = utfloats.arr[1]; +- f2 = __builtin_copysignf (0, f1); +- return f2; +-} +Index: gcc/config/aarch64/iterators.md +=================================================================== +--- a/src/gcc/config/aarch64/iterators.md (revision 270683) ++++ a/src/gcc/config/aarch64/iterators.md (revision 270670) +@@ -578,8 +578,7 @@ + (define_mode_attr sizen [(QI "8") (HI "16") (SI "32") (DI "64")]) + + ;; Give the ordinal of the MSB in the mode +-(define_mode_attr sizem1 [(QI "#7") (HI "#15") (SI "#31") (DI "#63") +- (HF "#15") (SF "#31") (DF "#63")]) ++(define_mode_attr sizem1 [(QI "#7") (HI "#15") (SI "#31") (DI "#63")]) + + ;; Attribute to describe constants acceptable in logical operations + (define_mode_attr lconst [(SI "K") (DI "L")]) +@@ -665,7 +664,7 @@ + (V8HF "16b") (V2SF "8b") + (V4SF "16b") (V2DF "16b") + (DI "8b") (DF "8b") +- (SI "8b") (SF "8b")]) ++ (SI "8b")]) + + ;; Define element mode for each vector mode. + (define_mode_attr VEL [(V8QI "QI") (V16QI "QI") (VNx16QI "QI") +Index: gcc/config/aarch64/aarch64.md +=================================================================== +--- a/src/gcc/config/aarch64/aarch64.md (revision 270683) ++++ a/src/gcc/config/aarch64/aarch64.md (revision 270670) +@@ -189,7 +189,6 @@ + UNSPEC_CLASTB + UNSPEC_FADDA + UNSPEC_REV_SUBREG +- UNSPEC_COPYSIGN + ]) + + (define_c_enum "unspecv" [ +@@ -5428,48 +5427,49 @@ + ;; LDR d2, #(1 << 63) + ;; BSL v2.8b, [y], [x] + ;; +-;; or another, equivalent, sequence using one of BSL/BIT/BIF. Because +-;; we expect these operations to nearly always operate on +-;; floating-point values, we do not want the operation to be +-;; simplified into a bit-field insert operation that operates on the +-;; integer side, since typically that would involve three inter-bank +-;; register copies. As we do not expect copysign to be followed by +-;; other logical operations on the result, it seems preferable to keep +-;; this as an unspec operation, rather than exposing the underlying +-;; logic to the compiler. ++;; or another, equivalent, sequence using one of BSL/BIT/BIF. ++;; aarch64_simd_bsldf will select the best suited of these instructions ++;; to generate based on register allocation, and knows how to partially ++;; constant fold based on the values of X and Y, so expand through that. + +-(define_expand "copysign3" +- [(match_operand:GPF 0 "register_operand") +- (match_operand:GPF 1 "register_operand") +- (match_operand:GPF 2 "register_operand")] ++(define_expand "copysigndf3" ++ [(match_operand:DF 0 "register_operand") ++ (match_operand:DF 1 "register_operand") ++ (match_operand:DF 2 "register_operand")] + "TARGET_FLOAT && TARGET_SIMD" + { +- rtx bitmask = gen_reg_rtx (mode); +- emit_move_insn (bitmask, GEN_INT (HOST_WIDE_INT_M1U +- << (GET_MODE_BITSIZE (mode) - 1))); +- emit_insn (gen_copysign3_insn (operands[0], operands[1], operands[2], +- bitmask)); ++ rtx mask = gen_reg_rtx (DImode); ++ emit_move_insn (mask, GEN_INT (HOST_WIDE_INT_1U << 63)); ++ emit_insn (gen_aarch64_simd_bsldf (operands[0], mask, ++ operands[2], operands[1])); + DONE; + } + ) + +-(define_insn "copysign3_insn" +- [(set (match_operand:GPF 0 "register_operand" "=w,w,w,r") +- (unspec:GPF [(match_operand:GPF 1 "register_operand" "w,0,w,r") +- (match_operand:GPF 2 "register_operand" "w,w,0,0") +- (match_operand: 3 "register_operand" +- "0,w,w,X")] +- UNSPEC_COPYSIGN))] ++;; As above, but we must first get to a 64-bit value if we wish to use ++;; aarch64_simd_bslv2sf. ++ ++(define_expand "copysignsf3" ++ [(match_operand:SF 0 "register_operand") ++ (match_operand:SF 1 "register_operand") ++ (match_operand:SF 2 "register_operand")] + "TARGET_FLOAT && TARGET_SIMD" +- "@ +- bsl\\t%0., %2., %1. +- bit\\t%0., %2., %3. +- bif\\t%0., %1., %3. +- bfxil\\t%0, %1, #0, " +- [(set_attr "type" "neon_bsl,neon_bsl,neon_bsl,bfm")] ++{ ++ rtx v_bitmask = gen_reg_rtx (V2SImode); ++ ++ /* Juggle modes to get us in to a vector mode for BSL. */ ++ rtx op1 = lowpart_subreg (DImode, operands[1], SFmode); ++ rtx op2 = lowpart_subreg (V2SFmode, operands[2], SFmode); ++ rtx tmp = gen_reg_rtx (V2SFmode); ++ emit_move_insn (v_bitmask, ++ aarch64_simd_gen_const_vector_dup (V2SImode, ++ HOST_WIDE_INT_M1U << 31)); ++ emit_insn (gen_aarch64_simd_bslv2sf (tmp, v_bitmask, op2, op1)); ++ emit_move_insn (operands[0], lowpart_subreg (SFmode, tmp, V2SFmode)); ++ DONE; ++} + ) + +- + ;; For xorsign (x, y), we want to generate: + ;; + ;; LDR d2, #1<<63 diff --git a/debian/patches/gcc-linaro.diff b/debian/patches/gcc-linaro.diff new file mode 100644 index 0000000..7d437b2 --- /dev/null +++ b/debian/patches/gcc-linaro.diff @@ -0,0 +1,2198 @@ +# DP: Changes for the Linaro 8-2019.02 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@269117 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) +@@ -1365,7 +1365,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 *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 *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 + +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_. 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 ++ ++ * 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 ++ ++ * gcc.dg/cpp/linaro-macros.c: New test. ++ ++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 ++ ++ Backport spectre v1 mitigation patches. ++ 2018-08-06 John David Anglin ++ PR target/86785 ++ * config/pa/pa.c (TARGET_HAVE_SPECULATION_SAFE_VALUE): ++ Define to speculation_safe_value_not_needed. ++ ++ 2018-08-06 Ulrich Weigand ++ PR target/86807 ++ * config/spu/spu.c (TARGET_HAVE_SPECULATION_SAFE_VALUE): ++ Define to speculation_safe_value_not_needed. ++ ++ 2018-08-03 Sandra Loosemore ++ PR target/86799 ++ * config/nios2/nios2.c (TARGET_HAVE_SPECULATION_SAFE_VALUE): ++ Define. ++ ++ 2018-08-03 Jeff Law ++ PR target/86795 ++ * config/mn10300/mn10300.c (TARGET_HAVE_SPECULATION_SAFE_VALUE): ++ Define to speculation_safe_value_not_needed. ++ ++ 2018-08-02 Jeff Law ++ 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 ++ 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 ++ PR target/86800 ++ * config/nvptx/nvptx.c (TARGET_HAVE_SPECULATION_SAFE_VALUE): Define to ++ speculation_safe_value_not_needed. ++ ++ 2018-08-01 Richard Earnshaw ++ * 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 ++ ++ * config/i386/i386.md (unspecv): Add UNSPECV_SPECULATION_BARRIER. ++ (speculation_barrier): New insn. ++ ++ 2018-07-31 Ian Lance Taylor ++ * targhooks.c (default_have_speculation_safe_value): Add ++ ATTRIBUTE_UNUSED. ++ ++ 2018-07-31 Richard Earnshaw ++ * config/pdp11/pdp11.c (TARGET_HAVE_SPECULATION_SAFE_VALUE): Redefine ++ to speculation_safe_value_not_needed. ++ ++ 2018-07-31 Richard Earnshaw ++ * 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 ++ ++ * config/aarch64/iterators.md (ALLI_TI): New iterator. ++ * config/aarch64/aarch64.md (despeculate_copy): New ++ expand. ++ (despeculate_copy_insn): New insn. ++ (despeculate_copyti_insn): New insn. ++ (despeculate_simple): 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 ++ ++ * 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): 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 ++ * config/aarch64/aarch64.md (cb1): Disable when ++ aarch64_track_speculation is true. ++ (tb1): 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 ++ * config/aarch64/aarch64.opt (mtrack-speculation): New target option. ++ ++ 2018-07-31 Richard Earnshaw ++ * config/aarch64.md (unspecv): Add UNSPECV_SPECULAION_BARRIER. ++ (speculation_barrier): New insn. ++ ++ 2018-07-31 Richard Earnshaw ++ * 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 ++ * 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 ++ ++ * 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. ++ ++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; + + /* 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 + + /* 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; + + +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; + + /* 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 @@ + . */ + + 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 ++ . */ ++ ++#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 ++ ... ++ : ++ ++ is transformed to: ++ ++ B.EQ ++ CSEL tracker, tracker, XZr, ne ++ ... ++ : ++ 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 ++ 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", "\\t%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" + [(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" ++ [(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 == TImode) ++ tracker = gen_rtx_REG (DImode, SPECULATION_TRACKER_REGNUM); ++ else ++ tracker = gen_rtx_REG (mode, SPECULATION_TRACKER_REGNUM); ++ ++ emit_insn (gen_despeculate_simple (operands[0], operands[1], ++ tracker)); ++ DONE; ++ } ++ } ++ " ++) ++ ++;; Patterns to match despeculate_copy. Note that "hint 0x14" is the ++;; encoding for CSDB, but will work in older versions of the assembler. ++(define_insn "*despeculate_copy_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%0, %1, %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" ++ [(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%0, %1, %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) +@@ -16960,7 +16960,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) +@@ -12599,7 +12599,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; + + /* 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; + + /* 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; + } + ++#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" diff --git a/debian/patches/gcc-multiarch.diff b/debian/patches/gcc-multiarch.diff new file mode 100644 index 0000000..83be026 --- /dev/null +++ b/debian/patches/gcc-multiarch.diff @@ -0,0 +1,222 @@ +# 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 + + * 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 +@@ -2187,6 +2187,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 +@@ -2197,6 +2202,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" +@@ -3207,6 +3216,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-*) +@@ -4713,7 +4732,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 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) diff --git a/debian/patches/gcc-multilib-multiarch.diff b/debian/patches/gcc-multilib-multiarch.diff new file mode 100644 index 0000000..8e64315 --- /dev/null +++ b/debian/patches/gcc-multilib-multiarch.diff @@ -0,0 +1,114 @@ +# DP: Don't auto-detect multilib osdirnames. + +--- 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) +--- 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) +--- 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) + +--- 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))) +--- 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)) +--- 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 := $(call if_multiarch,powerpc-linux-gnu) + endif diff --git a/debian/patches/gcc-search-prefixed-as-ld.diff b/debian/patches/gcc-search-prefixed-as-ld.diff new file mode 100644 index 0000000..18eabb0 --- /dev/null +++ b/debian/patches/gcc-search-prefixed-as-ld.diff @@ -0,0 +1,37 @@ +# DP: Search for the -as / -ld before serching for as / ld. + +--- a/src/gcc/gcc.c ++++ b/src/gcc/gcc.c +@@ -2686,6 +2686,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 += strlen (DEFAULT_REAL_TARGET_MACHINE) + 2; /* triplet prefix for as, ld. */ + path = XNEWVEC (char, len); + } + +@@ -2899,6 +2900,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 -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; + diff --git a/debian/patches/gcc-target-include-asm.diff b/debian/patches/gcc-target-include-asm.diff new file mode 100644 index 0000000..b71a4d4 --- /dev/null +++ b/debian/patches/gcc-target-include-asm.diff @@ -0,0 +1,15 @@ +# 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 && diff --git a/debian/patches/gcc-textdomain.diff b/debian/patches/gcc-textdomain.diff new file mode 100644 index 0000000..1df12c5 --- /dev/null +++ b/debian/patches/gcc-textdomain.diff @@ -0,0 +1,86 @@ +# DP: Set gettext's domain and textdomain to the versioned package name. + +--- 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 = _("`"); +--- a/src/gcc/Makefile.in ++++ b/src/gcc/Makefile.in +@@ -4202,8 +4202,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). +--- 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 + } + } +--- 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_ +--- 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: diff --git a/debian/patches/gdc-8-doc.diff b/debian/patches/gdc-8-doc.diff new file mode 100644 index 0000000..f4be90f --- /dev/null +++ b/debian/patches/gdc-8-doc.diff @@ -0,0 +1,112 @@ +# 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, diff --git a/debian/patches/gdc-8.diff b/debian/patches/gdc-8.diff new file mode 100644 index 0000000..0ef868d --- /dev/null +++ b/debian/patches/gdc-8.diff @@ -0,0 +1,157 @@ +# 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 +@@ -29589,11 +29589,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 +@@ -5475,6 +5475,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. */ + +@@ -24565,6 +24575,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) +@@ -26165,7 +26177,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); +@@ -26188,7 +26200,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. */ +@@ -26260,7 +26272,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. */ +@@ -26853,7 +26865,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 +@@ -1374,6 +1374,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 diff --git a/debian/patches/gdc-cross-biarch.diff b/debian/patches/gdc-cross-biarch.diff new file mode 100644 index 0000000..24dd5bc --- /dev/null +++ b/debian/patches/gdc-cross-biarch.diff @@ -0,0 +1,13 @@ +# 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"`' ' ;; + *) diff --git a/debian/patches/gdc-cross-build.diff b/debian/patches/gdc-cross-build.diff new file mode 100644 index 0000000..80f3a92 --- /dev/null +++ b/debian/patches/gdc-cross-build.diff @@ -0,0 +1,13 @@ +# 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 diff --git a/debian/patches/gdc-cross-install-location.diff b/debian/patches/gdc-cross-install-location.diff new file mode 100644 index 0000000..350f322 --- /dev/null +++ b/debian/patches/gdc-cross-install-location.diff @@ -0,0 +1,25 @@ +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) + ]) + diff --git a/debian/patches/gdc-driver-nophobos.diff b/debian/patches/gdc-driver-nophobos.diff new file mode 100644 index 0000000..6cb41ff --- /dev/null +++ b/debian/patches/gdc-driver-nophobos.diff @@ -0,0 +1,28 @@ +# 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, diff --git a/debian/patches/gdc-frontend-posix.diff b/debian/patches/gdc-frontend-posix.diff new file mode 100644 index 0000000..3c70021 --- /dev/null +++ b/debian/patches/gdc-frontend-posix.diff @@ -0,0 +1,15 @@ +# 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 diff --git a/debian/patches/gdc-libphobos-build.diff b/debian/patches/gdc-libphobos-build.diff new file mode 100644 index 0000000..5e77141 --- /dev/null +++ b/debian/patches/gdc-libphobos-build.diff @@ -0,0 +1,998 @@ +# DP: This implements building of libphobos library in GCC. + +# Please read ada-changes-in-autogen-output.diff about src/Makefile.[def|tpl]. + +--- 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 ; }; +--- 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; \ +@@ -280,6 +283,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; \ +@@ -344,6 +348,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@ +@@ -410,6 +415,7 @@ LIBCFLAGS = $(CFLAGS) + CXXFLAGS = @CXXFLAGS@ + LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates + GOCFLAGS = $(CFLAGS) ++GDCFLAGS = $(CFLAGS) + + CREATE_GCOV = create_gcov + +@@ -566,6 +572,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@ + +@@ -590,6 +597,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@ +@@ -785,6 +793,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)" \ +@@ -847,6 +857,7 @@ EXTRA_HOST_FLAGS = \ + 'DLLTOOL=$(DLLTOOL)' \ + 'GFORTRAN=$(GFORTRAN)' \ + 'GOC=$(GOC)' \ ++ 'GDC=$(GDC)' \ + 'LD=$(LD)' \ + 'LIPO=$(LIPO)' \ + 'NM=$(NM)' \ +@@ -903,6 +914,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)' \ +@@ -1005,6 +1018,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 \ +@@ -1170,6 +1184,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 +@@ -1262,6 +1277,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 +@@ -1347,6 +1363,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 +@@ -1432,6 +1449,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 +@@ -1517,6 +1535,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 +@@ -1602,6 +1621,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 +@@ -1687,6 +1707,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 +@@ -1772,6 +1793,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 +@@ -1857,6 +1879,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 +@@ -1942,6 +1965,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 +@@ -2027,6 +2051,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 +@@ -2112,6 +2137,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 +@@ -2197,6 +2223,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 +@@ -2282,6 +2309,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 +@@ -2423,6 +2451,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 \ +@@ -2604,6 +2633,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 \ +@@ -2709,6 +2739,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 \ +@@ -48203,6 +48234,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 +@@ -53584,6 +54073,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. +@@ -56785,6 +57282,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 +@@ -56820,6 +57318,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 +@@ -57936,6 +58435,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 +@@ -57985,6 +58489,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 +@@ -58069,6 +58574,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 +@@ -58109,6 +58615,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 +--- 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; \ +@@ -283,6 +286,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; \ +@@ -347,6 +351,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@ +@@ -413,6 +418,7 @@ LIBCFLAGS = $(CFLAGS) + CXXFLAGS = @CXXFLAGS@ + LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates + GOCFLAGS = $(CFLAGS) ++GDCFLAGS = $(CFLAGS) + + CREATE_GCOV = create_gcov + +@@ -489,6 +495,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@ + +@@ -513,6 +520,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@ +@@ -614,6 +622,7 @@ EXTRA_HOST_FLAGS = \ + 'DLLTOOL=$(DLLTOOL)' \ + 'GFORTRAN=$(GFORTRAN)' \ + 'GOC=$(GOC)' \ ++ 'GDC=$(GDC)' \ + 'LD=$(LD)' \ + 'LIPO=$(LIPO)' \ + 'NM=$(NM)' \ +@@ -670,6 +679,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)' \ +--- 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 +--- 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 +--- 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]) diff --git a/debian/patches/gdc-multiarch.diff b/debian/patches/gdc-multiarch.diff new file mode 100644 index 0000000..1925e1a --- /dev/null +++ b/debian/patches/gdc-multiarch.diff @@ -0,0 +1,17 @@ +# 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\" diff --git a/debian/patches/gdc-profiledbuild.diff b/debian/patches/gdc-profiledbuild.diff new file mode 100644 index 0000000..1c0de27 --- /dev/null +++ b/debian/patches/gdc-profiledbuild.diff @@ -0,0 +1,21 @@ +# 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 diff --git a/debian/patches/gdc-shared-by-default.diff b/debian/patches/gdc-shared-by-default.diff new file mode 100644 index 0000000..e2463fc --- /dev/null +++ b/debian/patches/gdc-shared-by-default.diff @@ -0,0 +1,18 @@ +# 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) diff --git a/debian/patches/gdc-sparc-fix.diff b/debian/patches/gdc-sparc-fix.diff new file mode 100644 index 0000000..026388e --- /dev/null +++ b/debian/patches/gdc-sparc-fix.diff @@ -0,0 +1,12 @@ +# 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" diff --git a/debian/patches/gdc-targetdm-doc.diff b/debian/patches/gdc-targetdm-doc.diff new file mode 100644 index 0000000..6a6e42d --- /dev/null +++ b/debian/patches/gdc-targetdm-doc.diff @@ -0,0 +1,90 @@ +--- 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 diff --git a/debian/patches/gdc-targetdm.diff b/debian/patches/gdc-targetdm.diff new file mode 100644 index 0000000..55c4ef0 --- /dev/null +++ b/debian/patches/gdc-targetdm.diff @@ -0,0 +1,1514 @@ +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) +@@ -1186,6 +1191,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@ + +@@ -1784,6 +1792,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="" \ +@@ -1810,6 +1819,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 +@@ -2176,6 +2190,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 = \ +@@ -2471,6 +2491,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 +@@ -2610,14 +2639,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 + + # +@@ -2760,7 +2790,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" +@@ -3204,6 +3228,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 +@@ -4749,6 +4777,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 ++. */ ++ ++#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 ++ + + + #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 ++. */ ++ ++#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 + # . + ++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 ++. */ ++ ++#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 ++. */ ++ ++#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 ++. */ ++ ++#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 . */ ++ ++#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 ++. */ ++ ++#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 ++. */ ++ ++#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 ++. */ ++ ++#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 ++. */ ++ ++#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 ++. */ ++ ++#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 +@@ -112,4 +112,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 +@@ -11811,6 +11814,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. +@@ -12180,6 +12184,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 +@@ -6389,6 +6405,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) +@@ -6396,6 +6414,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 + }; + diff --git a/debian/patches/gdc-texinfo.diff b/debian/patches/gdc-texinfo.diff new file mode 100644 index 0000000..0998e71 --- /dev/null +++ b/debian/patches/gdc-texinfo.diff @@ -0,0 +1,55 @@ +# 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 diff --git a/debian/patches/gdc-updates.diff b/debian/patches/gdc-updates.diff new file mode 100644 index 0000000..9c81677 --- /dev/null +++ b/debian/patches/gdc-updates.diff @@ -0,0 +1,30 @@ +# 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; diff --git a/debian/patches/git-doc-updates.diff b/debian/patches/git-doc-updates.diff new file mode 100644 index 0000000..d9cbe97 --- /dev/null +++ b/debian/patches/git-doc-updates.diff @@ -0,0 +1,232 @@ +# DP: updates from the 8 branch upto 20200117 (documentation). + +LANG=C git diff --no-renames --src-prefix=a/src/ --dst-prefix=b/src/ \ + 4c44b708f11eec6fc02456e8577708d01ca92327 bb0763101b88f5f916bb5b2aa13fed9e7b6a8d9e \ + | awk '/^diff .*\.texi/ {skip=0; print; next} /^diff / {skip=1; next} skip==0' \ + | grep -v -E '^(diff|index)' + +--- a/src/gcc/doc/avr-mmcu.texi ++++ b/src/gcc/doc/avr-mmcu.texi +@@ -4,9 +4,9 @@ + + @c This file is generated automatically using + @c gcc/config/avr/gen-avr-mmcu-texi.c from: +-@c gcc/config/avr/avr-arch.h +-@c gcc/config/avr/avr-devices.c +-@c gcc/config/avr/avr-mcus.def ++@c gcc/config/avr/avr-arch.h ++@c gcc/config/avr/avr-devices.c ++@c gcc/config/avr/avr-mcus.def + + @c Please do not edit manually. + +@@ -14,15 +14,15 @@ + + @item avr2 + ``Classic'' devices with up to 8@tie{}KiB of program memory. +-@*@var{mcu}@tie{}= @code{attiny22}, @code{attiny26}, @code{at90c8534}, @code{at90s2313}, @code{at90s2323}, @code{at90s2333}, @code{at90s2343}, @code{at90s4414}, @code{at90s4433}, @code{at90s4434}, @code{at90s8515}, @code{at90s8535}. ++@*@var{mcu}@tie{}= @code{attiny22}, @code{attiny26}, @code{at90s2313}, @code{at90s2323}, @code{at90s2333}, @code{at90s2343}, @code{at90s4414}, @code{at90s4433}, @code{at90s4434}, @code{at90c8534}, @code{at90s8515}, @code{at90s8535}. + + @item avr25 + ``Classic'' devices with up to 8@tie{}KiB of program memory and with the @code{MOVW} instruction. +-@*@var{mcu}@tie{}= @code{ata5272}, @code{ata6616c}, @code{attiny13}, @code{attiny13a}, @code{attiny2313}, @code{attiny2313a}, @code{attiny24}, @code{attiny24a}, @code{attiny25}, @code{attiny261}, @code{attiny261a}, @code{attiny43u}, @code{attiny4313}, @code{attiny44}, @code{attiny44a}, @code{attiny441}, @code{attiny45}, @code{attiny461}, @code{attiny461a}, @code{attiny48}, @code{attiny828}, @code{attiny84}, @code{attiny84a}, @code{attiny841}, @code{attiny85}, @code{attiny861}, @code{attiny861a}, @code{attiny87}, @code{attiny88}, @code{at86rf401}. ++@*@var{mcu}@tie{}= @code{attiny13}, @code{attiny13a}, @code{attiny24}, @code{attiny24a}, @code{attiny25}, @code{attiny261}, @code{attiny261a}, @code{attiny2313}, @code{attiny2313a}, @code{attiny43u}, @code{attiny44}, @code{attiny44a}, @code{attiny45}, @code{attiny48}, @code{attiny441}, @code{attiny461}, @code{attiny461a}, @code{attiny4313}, @code{attiny84}, @code{attiny84a}, @code{attiny85}, @code{attiny87}, @code{attiny88}, @code{attiny828}, @code{attiny841}, @code{attiny861}, @code{attiny861a}, @code{ata5272}, @code{ata6616c}, @code{at86rf401}. + + @item avr3 +-``Classic'' devices with 16@tie{}KiB up to 64@tie{}KiB of program memory. +-@*@var{mcu}@tie{}= @code{at43usb355}, @code{at76c711}. ++``Classic'' devices with 16@tie{}KiB up to 64@tie{}KiB of program memory. ++@*@var{mcu}@tie{}= @code{at76c711}, @code{at43usb355}. + + @item avr31 + ``Classic'' devices with 128@tie{}KiB of program memory. +@@ -30,15 +30,15 @@ + + @item avr35 + ``Classic'' devices with 16@tie{}KiB up to 64@tie{}KiB of program memory and with the @code{MOVW} instruction. +-@*@var{mcu}@tie{}= @code{ata5505}, @code{ata6617c}, @code{ata664251}, @code{atmega16u2}, @code{atmega32u2}, @code{atmega8u2}, @code{attiny1634}, @code{attiny167}, @code{at90usb162}, @code{at90usb82}. ++@*@var{mcu}@tie{}= @code{attiny167}, @code{attiny1634}, @code{atmega8u2}, @code{atmega16u2}, @code{atmega32u2}, @code{ata5505}, @code{ata6617c}, @code{ata664251}, @code{at90usb82}, @code{at90usb162}. + + @item avr4 + ``Enhanced'' devices with up to 8@tie{}KiB of program memory. +-@*@var{mcu}@tie{}= @code{ata6285}, @code{ata6286}, @code{ata6289}, @code{ata6612c}, @code{atmega48}, @code{atmega48a}, @code{atmega48p}, @code{atmega48pa}, @code{atmega48pb}, @code{atmega8}, @code{atmega8a}, @code{atmega8hva}, @code{atmega8515}, @code{atmega8535}, @code{atmega88}, @code{atmega88a}, @code{atmega88p}, @code{atmega88pa}, @code{atmega88pb}, @code{at90pwm1}, @code{at90pwm2}, @code{at90pwm2b}, @code{at90pwm3}, @code{at90pwm3b}, @code{at90pwm81}. ++@*@var{mcu}@tie{}= @code{atmega48}, @code{atmega48a}, @code{atmega48p}, @code{atmega48pa}, @code{atmega48pb}, @code{atmega8}, @code{atmega8a}, @code{atmega8hva}, @code{atmega88}, @code{atmega88a}, @code{atmega88p}, @code{atmega88pa}, @code{atmega88pb}, @code{atmega8515}, @code{atmega8535}, @code{ata6285}, @code{ata6286}, @code{ata6289}, @code{ata6612c}, @code{at90pwm1}, @code{at90pwm2}, @code{at90pwm2b}, @code{at90pwm3}, @code{at90pwm3b}, @code{at90pwm81}. + + @item avr5 + ``Enhanced'' devices with 16@tie{}KiB up to 64@tie{}KiB of program memory. +-@*@var{mcu}@tie{}= @code{ata5702m322}, @code{ata5782}, @code{ata5790}, @code{ata5790n}, @code{ata5791}, @code{ata5795}, @code{ata5831}, @code{ata6613c}, @code{ata6614q}, @code{ata8210}, @code{ata8510}, @code{atmega16}, @code{atmega16a}, @code{atmega16hva}, @code{atmega16hva2}, @code{atmega16hvb}, @code{atmega16hvbrevb}, @code{atmega16m1}, @code{atmega16u4}, @code{atmega161}, @code{atmega162}, @code{atmega163}, @code{atmega164a}, @code{atmega164p}, @code{atmega164pa}, @code{atmega165}, @code{atmega165a}, @code{atmega165p}, @code{atmega165pa}, @code{atmega168}, @code{atmega168a}, @code{atmega168p}, @code{atmega168pa}, @code{atmega168pb}, @code{atmega169}, @code{atmega169a}, @code{atmega169p}, @code{atmega169pa}, @code{atmega32}, @code{atmega32a}, @code{atmega32c1}, @code{atmega32hvb}, @code{atmega32hvbrevb}, @code{atmega32m1}, @code{atmega32u4}, @code{atmega32u6}, @code{atmega323}, @code{atmega324a}, @code{atmega324p}, @code{atmega324pa}, @code{atmega325}, @code{atmega325a}, @code{atmega325p}, @code{atmega325pa}, @code{atmega3250}, @code{atmega3250a}, @code{atmega3250p}, @code{atmega3250pa}, @code{atmega328}, @code{atmega328p}, @code{atmega328pb}, @code{atmega329}, @code{atmega329a}, @code{atmega329p}, @code{atmega329pa}, @code{atmega3290}, @code{atmega3290a}, @code{atmega3290p}, @code{atmega3290pa}, @code{atmega406}, @code{atmega64}, @code{atmega64a}, @code{atmega64c1}, @code{atmega64hve}, @code{atmega64hve2}, @code{atmega64m1}, @code{atmega64rfr2}, @code{atmega640}, @code{atmega644}, @code{atmega644a}, @code{atmega644p}, @code{atmega644pa}, @code{atmega644rfr2}, @code{atmega645}, @code{atmega645a}, @code{atmega645p}, @code{atmega6450}, @code{atmega6450a}, @code{atmega6450p}, @code{atmega649}, @code{atmega649a}, @code{atmega649p}, @code{atmega6490}, @code{atmega6490a}, @code{atmega6490p}, @code{at90can32}, @code{at90can64}, @code{at90pwm161}, @code{at90pwm216}, @code{at90pwm316}, @code{at90scr100}, @code{at90usb646}, @code{at90usb647}, @code{at94k}, @code{m3000}. ++@*@var{mcu}@tie{}= @code{atmega16}, @code{atmega16a}, @code{atmega16hva}, @code{atmega16hva2}, @code{atmega16hvb}, @code{atmega16hvbrevb}, @code{atmega16m1}, @code{atmega16u4}, @code{atmega161}, @code{atmega162}, @code{atmega163}, @code{atmega164a}, @code{atmega164p}, @code{atmega164pa}, @code{atmega165}, @code{atmega165a}, @code{atmega165p}, @code{atmega165pa}, @code{atmega168}, @code{atmega168a}, @code{atmega168p}, @code{atmega168pa}, @code{atmega168pb}, @code{atmega169}, @code{atmega169a}, @code{atmega169p}, @code{atmega169pa}, @code{atmega32}, @code{atmega32a}, @code{atmega32c1}, @code{atmega32hvb}, @code{atmega32hvbrevb}, @code{atmega32m1}, @code{atmega32u4}, @code{atmega32u6}, @code{atmega323}, @code{atmega324a}, @code{atmega324p}, @code{atmega324pa}, @code{atmega325}, @code{atmega325a}, @code{atmega325p}, @code{atmega325pa}, @code{atmega328}, @code{atmega328p}, @code{atmega328pb}, @code{atmega329}, @code{atmega329a}, @code{atmega329p}, @code{atmega329pa}, @code{atmega3250}, @code{atmega3250a}, @code{atmega3250p}, @code{atmega3250pa}, @code{atmega3290}, @code{atmega3290a}, @code{atmega3290p}, @code{atmega3290pa}, @code{atmega406}, @code{atmega64}, @code{atmega64a}, @code{atmega64c1}, @code{atmega64hve}, @code{atmega64hve2}, @code{atmega64m1}, @code{atmega64rfr2}, @code{atmega640}, @code{atmega644}, @code{atmega644a}, @code{atmega644p}, @code{atmega644pa}, @code{atmega644rfr2}, @code{atmega645}, @code{atmega645a}, @code{atmega645p}, @code{atmega649}, @code{atmega649a}, @code{atmega649p}, @code{atmega6450}, @code{atmega6450a}, @code{atmega6450p}, @code{atmega6490}, @code{atmega6490a}, @code{atmega6490p}, @code{ata5795}, @code{ata5790}, @code{ata5790n}, @code{ata5791}, @code{ata6613c}, @code{ata6614q}, @code{ata5782}, @code{ata5831}, @code{ata8210}, @code{ata8510}, @code{ata5702m322}, @code{at90pwm161}, @code{at90pwm216}, @code{at90pwm316}, @code{at90can32}, @code{at90can64}, @code{at90scr100}, @code{at90usb646}, @code{at90usb647}, @code{at94k}, @code{m3000}. + + @item avr51 + ``Enhanced'' devices with 128@tie{}KiB of program memory. +@@ -50,11 +50,11 @@ + + @item avrxmega2 + ``XMEGA'' devices with more than 8@tie{}KiB and up to 64@tie{}KiB of program memory. +-@*@var{mcu}@tie{}= @code{atxmega16a4}, @code{atxmega16a4u}, @code{atxmega16c4}, @code{atxmega16d4}, @code{atxmega16e5}, @code{atxmega32a4}, @code{atxmega32a4u}, @code{atxmega32c3}, @code{atxmega32c4}, @code{atxmega32d3}, @code{atxmega32d4}, @code{atxmega32e5}, @code{atxmega8e5}. ++@*@var{mcu}@tie{}= @code{atxmega8e5}, @code{atxmega16a4}, @code{atxmega16a4u}, @code{atxmega16c4}, @code{atxmega16d4}, @code{atxmega16e5}, @code{atxmega32a4}, @code{atxmega32a4u}, @code{atxmega32c3}, @code{atxmega32c4}, @code{atxmega32d3}, @code{atxmega32d4}, @code{atxmega32e5}. + + @item avrxmega3 + ``XMEGA'' devices with up to 64@tie{}KiB of combined program memory and RAM, and with program memory visible in the RAM address space. +-@*@var{mcu}@tie{}= @code{attiny1614}, @code{attiny1616}, @code{attiny1617}, @code{attiny212}, @code{attiny214}, @code{attiny3214}, @code{attiny3216}, @code{attiny3217}, @code{attiny412}, @code{attiny414}, @code{attiny416}, @code{attiny417}, @code{attiny814}, @code{attiny816}, @code{attiny817}. ++@*@var{mcu}@tie{}= @code{attiny202}, @code{attiny204}, @code{attiny212}, @code{attiny214}, @code{attiny402}, @code{attiny404}, @code{attiny406}, @code{attiny412}, @code{attiny414}, @code{attiny416}, @code{attiny417}, @code{attiny804}, @code{attiny806}, @code{attiny807}, @code{attiny814}, @code{attiny816}, @code{attiny817}, @code{attiny1604}, @code{attiny1606}, @code{attiny1607}, @code{attiny1614}, @code{attiny1616}, @code{attiny1617}, @code{attiny3214}, @code{attiny3216}, @code{attiny3217}, @code{atmega808}, @code{atmega809}, @code{atmega1608}, @code{atmega1609}, @code{atmega3208}, @code{atmega3209}, @code{atmega4808}, @code{atmega4809}. + + @item avrxmega4 + ``XMEGA'' devices with more than 64@tie{}KiB and up to 128@tie{}KiB of program memory. +@@ -74,7 +74,7 @@ + + @item avrtiny + ``TINY'' Tiny core devices with 512@tie{}B up to 4@tie{}KiB of program memory. +-@*@var{mcu}@tie{}= @code{attiny10}, @code{attiny20}, @code{attiny4}, @code{attiny40}, @code{attiny5}, @code{attiny9}. ++@*@var{mcu}@tie{}= @code{attiny4}, @code{attiny5}, @code{attiny9}, @code{attiny10}, @code{attiny20}, @code{attiny40}. + + @item avr1 + This ISA is implemented by the minimal AVR core and supported for assembler only. +--- a/src/gcc/doc/extend.texi ++++ b/src/gcc/doc/extend.texi +@@ -19708,20 +19708,33 @@ If the cryptographic instructions are enabled (@option{-mcrypto} or + @smallexample + vector unsigned long long __builtin_crypto_vsbox (vector unsigned long long); + ++vector unsigned char vec_sbox_be (vector unsigned char); ++ + vector unsigned long long __builtin_crypto_vcipher (vector unsigned long long, + vector unsigned long long); + ++vector unsigned char vec_cipher_be (vector unsigned char, vector unsigned char); ++ + vector unsigned long long __builtin_crypto_vcipherlast + (vector unsigned long long, + vector unsigned long long); + ++vector unsigned char vec_cipherlast_be (vector unsigned char, ++ vector unsigned char); ++ + vector unsigned long long __builtin_crypto_vncipher (vector unsigned long long, + vector unsigned long long); + ++vector unsigned char vec_ncipher_be (vector unsigned char, ++ vector unsigned char); ++ + vector unsigned long long __builtin_crypto_vncipherlast + (vector unsigned long long, + vector unsigned long long); + ++vector unsigned char vec_ncipherlast_be (vector unsigned char, ++ vector unsigned char); ++ + vector unsigned char __builtin_crypto_vpermxor (vector unsigned char, + vector unsigned char, + vector unsigned char); +--- a/src/gcc/doc/invoke.texi ++++ b/src/gcc/doc/invoke.texi +@@ -554,7 +554,6 @@ Objective-C and Objective-C++ Dialects}. + -fdisable-tree-@var{pass_name} @gol + -fdisable-tree-@var{pass-name}=@var{range-list} @gol + -fdump-noaddr -fdump-unnumbered -fdump-unnumbered-links @gol +--fdump-class-hierarchy@r{[}-@var{n}@r{]} @gol + -fdump-final-insns@r{[}=@var{file}@r{]} @gol + -fdump-ipa-all -fdump-ipa-cgraph -fdump-ipa-inline @gol + -fdump-lang-all @gol +@@ -677,7 +676,7 @@ Objective-C and Objective-C++ Dialects}. + -mn_flash=@var{size} -mno-interrupts @gol + -mmain-is-OS_task -mrelax -mrmw -mstrict-X -mtiny-stack @gol + -mfract-convert-truncate @gol +--mshort-calls -nodevicelib @gol ++-mshort-calls -nodevicelib -nodevicespecs @gol + -Waddr-space-convert -Wmisspelled-isr} + + @emph{Blackfin Options} +@@ -7374,7 +7373,7 @@ consumers are not expected to support this extended format, and they + would be rendered unable to decode location lists using it. + + @item -ginternal-reset-location-views +-@itemx -gnointernal-reset-location-views ++@itemx -gno-internal-reset-location-views + @opindex ginternal-reset-location-views + @opindex gno-internal-reset-location-views + Attempt to determine location views that can be omitted from location +@@ -7681,8 +7680,7 @@ do not typically increase code size. + + @option{-Os} disables the following optimization flags: + @gccoptlist{-falign-functions -falign-jumps -falign-loops @gol +--falign-labels -freorder-blocks -freorder-blocks-algorithm=stc @gol +--freorder-blocks-and-partition -fprefetch-loop-arrays} ++-falign-labels -fprefetch-loop-arrays} + + It also enables @option{-finline-functions}, causes the compiler to tune for + code size rather than execution speed, and performs further optimizations +@@ -14749,6 +14747,7 @@ Specify the name of the target processor for which GCC should tune the + performance of the code. Permissible values for this option are: + @samp{generic}, @samp{cortex-a35}, @samp{cortex-a53}, @samp{cortex-a55}, + @samp{cortex-a57}, @samp{cortex-a72}, @samp{cortex-a73}, @samp{cortex-a75}, ++@samp{cortex-a76}, @samp{ares}, @samp{neoverse-n1} + @samp{exynos-m1}, @samp{falkor}, @samp{qdf24xx}, @samp{saphira}, + @samp{xgene1}, @samp{vulcan}, @samp{thunderx}, + @samp{thunderxt88}, @samp{thunderxt88p1}, @samp{thunderxt81}, +@@ -16887,6 +16886,13 @@ Allow to use truncation instead of rounding towards zero for fractional fixed-po + @opindex nodevicelib + Don't link against AVR-LibC's device specific library @code{lib.a}. + ++@item -nodevicespecs ++@opindex nodevicespecs ++Don't add @option{-specs=device-specs/specs-} to the compiler driver's ++command line. The user takes responsibility for supplying the sub-processes ++like compiler proper, assembler and linker with appropriate command line ++options. ++ + @item -Waddr-space-convert + @opindex Waddr-space-convert + Warn about conversions between address spaces in the case where the +--- a/src/gcc/fortran/invoke.texi ++++ b/src/gcc/fortran/invoke.texi +@@ -181,7 +181,8 @@ and warnings}. + @item Code Generation Options + @xref{Code Gen Options,,Options for code generation conventions}. + @gccoptlist{-faggressive-function-elimination -fblas-matmul-limit=@var{n} @gol +--fbounds-check -fcheck-array-temporaries @gol ++-fbounds-check -ftail-call-workaround -ftail-call-workaround=@var{n} @gol ++-fcheck-array-temporaries @gol + -fcheck=@var{} @gol + -fcoarray=@var{} -fexternal-blas -ff2c + -ffrontend-loop-interchange @gol +@@ -1580,6 +1581,39 @@ warnings for generated array temporaries. + @c Note: This option is also referred in gcc's manpage + Deprecated alias for @option{-fcheck=bounds}. + ++@item -ftail-call-workaround ++@itemx -ftail-call-workaround=@var{n} ++@opindex @code{tail-call-workaround} ++Some C interfaces to Fortran codes violate the gfortran ABI by ++omitting the hidden character length arguments as described in ++@xref{Argument passing conventions}. This can lead to crashes ++because pushing arguments for tail calls can overflow the stack. ++ ++To provide a workaround for existing binary packages, this option ++disables tail call optimization for gfortran procedures with character ++arguments. With @option{-ftail-call-workaround=2} tail call optimization ++is disabled in all gfortran procedures with character arguments, ++with @option{-ftail-call-workaround=1} or equivalent ++@option{-ftail-call-workaround} only in gfortran procedures with character ++arguments that call implicitly prototyped procedures. ++ ++Using this option can lead to problems including crashes due to ++insufficient stack space. ++ ++It is @emph{very strongly} recommended to fix the code in question. ++The @option{-fc-prototypes-external} option can be used to generate ++prototypes which conform to gfortran's ABI, for inclusion in the ++source code. ++ ++Support for this option will likely be withdrawn in a future release ++of gfortran. ++ ++The negative form, @option{-fno-tail-call-workaround} or equivalent ++@option{-ftail-call-workaround=0}, can be used to disable this option. ++ ++Default is currently @option{-ftail-call-workaround}, this will change ++in future releases. ++ + @item -fcheck-array-temporaries + @opindex @code{fcheck-array-temporaries} + Deprecated alias for @option{-fcheck=array-temps}. diff --git a/debian/patches/git-updates.diff b/debian/patches/git-updates.diff new file mode 100644 index 0000000..9f8ac70 --- /dev/null +++ b/debian/patches/git-updates.diff @@ -0,0 +1,71007 @@ +# DP: updates from the 8 branch upto 20200218 (44fe8c5f322). + +LANG=C git diff --no-renames --src-prefix=a/src/ --dst-prefix=b/src/ \ + 4c44b708f11eec6fc02456e8577708d01ca92327 44fe8c5f322638a19bf7a320e4bf455a5f452bd0 \ + | awk '/^diff .*\.texi/ {skip=1; next} /^diff / { skip=0 } skip==0' \ + | grep -v -E '^(diff|index)' + +--- a/src/contrib/ChangeLog ++++ b/src/contrib/ChangeLog +@@ -1,3 +1,14 @@ ++2020-01-15 Richard Earnshaw ++ ++ Backport: ++ 2018-05-01 Jim Wilson ++ ++ * gcc_update: Check for .git as a file. ++ ++2019-08-16 Uros Bizjak ++ ++ * test_summary: Do not escape "=". ++ + 2019-02-22 Release Manager + + * GCC 8.3.0 released. +--- a/src/contrib/gcc_update ++++ b/src/contrib/gcc_update +@@ -286,7 +286,7 @@ p + esac + + # Check for known version control systems. +-if [ -d .git ]; then ++if [ -d .git ] || [ -f .git ]; then + GCC_GIT=${GCC_GIT-${GIT-git}} + vcs_type="git" + elif [ -d .hg ]; then +--- a/src/contrib/test_summary ++++ b/src/contrib/test_summary +@@ -127,7 +127,7 @@ NR == 1 { + if (lang == "") lang = " "$2" "; else lang = " "; + } + $2 == "version" { save = $0; $1 = ""; $2 = ""; version = $0; gsub(/^ */, "", version); gsub(/\r$/, "", version); $0 = save; } +-/\===.*Summary/ { print ""; print; blanks=1; } ++/===.*Summary/ { print ""; print; blanks=1; } + /tests ===/ || /^(Target|Host|Native)/ || $2 == "version" { print; blanks=1; } + /^(XPASS|FAIL|UNRESOLVED|WARNING|ERROR|# of )/ { sub ("\r", ""); print; } + /^using:/ { print ""; print; print ""; } +--- a/src/fixincludes/ChangeLog ++++ b/src/fixincludes/ChangeLog +@@ -1,3 +1,71 @@ ++2020-01-01 John David Anglin ++ ++ Backport from mainline ++ 2019-12-30 John David Anglin ++ ++ PR libgomp/93066 ++ * inclhack.def (hpux_c99_inttypes3): Fix defines for INTPTR_MAX ++ and UINTPTR_MAX, and missing define for SIZE_MAX. ++ * fixincl.x: Regenerate. ++ * tests/base/inttypes.h: Update for above fix. ++ ++2019-08-25 Iain Sandoe ++ ++ Backport from mainline. ++ 2019-08-18 C.G. Dogan ++ Iain Sandoe ++ ++ PR target/83531 ++ * inclhack.def (darwin_api_availability): New; strip leading ++ underscores from API_XXXX defines. ++ * fixincl.x: Regenerate. ++ * tests/base/os/availability.h: New file. ++ ++2019-08-24 Iain Sandoe ++ ++ Backport from mainline. ++ 2019-06-21 Iain Sandoe ++ ++ * inclhack.def: Replace the complex test using __STRICT_ANSI__ and ++ __STDC_VERSION__ with a test using __DARWIN_NO_LONG_LONG. ++ Ensure that the top level math.h uses <> to wrap included headers ++ rather than "". ++ * fixincl.x: Regenerated. ++ * tests/base/architecture/ppc/math.h: Update test to include the ++ __DARWIN_NO_LONG_LONG case. ++ ++2019-08-24 Iain Sandoe ++ ++ Backport from mainline. ++ 2019-06-21 Iain Sandoe ++ ++ * inclhack.def: Guard __has_attribute and __has_extension in ++ os/base.h. ++ Guard Apple blocks syntax in dispatch/object.h. ++ * fixincl.x: Regenerate. ++ * tests/base/dispatch/object.h: New file. ++ * tests/base/os/base.h: New file. ++ ++2019-06-01 Iain Sandoe ++ ++ Backport from mainline. ++ 2019-05-11 Iain Sandoe ++ ++ PR bootstrap/89864 ++ * inclhack.def (darwin_ucred__Atomic): Do not supply test_text ++ for wrap fixes. ++ * fixincl.x: Regenerated. ++ ++ Backport from mainline. ++ 2019-04-18 Erik Schnetter ++ Jakub Jelinek ++ Iain Sandoe ++ ++ PR bootstrap/89864 ++ * inclhack.def (darwin_ucred__Atomic): New, work around _Atomic keyword ++ use in headers included by C++. ++ * fixincl.x: Regenerated. ++ + 2019-02-22 Release Manager + + * GCC 8.3.0 released. +--- a/src/fixincludes/fixincl.x ++++ b/src/fixincludes/fixincl.x +@@ -2,11 +2,11 @@ + * + * DO NOT EDIT THIS FILE (fixincl.x) + * +- * It has been AutoGen-ed February 22, 2018 at 03:46:51 PM by AutoGen 5.18 ++ * It has been AutoGen-ed January 1, 2020 at 12:04:04 PM by AutoGen 5.18.16 + * From the definitions inclhack.def + * and the template file fixincl + */ +-/* DO NOT SVN-MERGE THIS FILE, EITHER Thu Feb 22 15:46:51 UTC 2018 ++/* DO NOT SVN-MERGE THIS FILE, EITHER Wed Jan 1 12:04:05 EST 2020 + * + * You must regenerate it. Use the ./genfixes script. + * +@@ -15,7 +15,7 @@ + * certain ANSI-incompatible system header files which are fixed to work + * correctly with ANSI C and placed in a directory that GNU C will search. + * +- * This file contains 249 fixup descriptions. ++ * This file contains 255 fixup descriptions. + * + * See README for more information. + * +@@ -267,6 +267,56 @@ static const char* apzAab_Darwin7_9_Long_Double_FuncsPatch[] = { + #endif /* __MATH__ */", + (char*)NULL }; + ++/* * * * * * * * * * * * * * * * * * * * * * * * * * ++ * ++ * Description of Darwin_Api_Availability fix ++ */ ++tSCC zDarwin_Api_AvailabilityName[] = ++ "darwin_api_availability"; ++ ++/* ++ * File name selection pattern ++ */ ++tSCC zDarwin_Api_AvailabilityList[] = ++ "os/availability.h\0"; ++/* ++ * Machine/OS name selection pattern ++ */ ++tSCC* apzDarwin_Api_AvailabilityMachs[] = { ++ "*-*-darwin*", ++ (const char*)NULL }; ++ ++/* ++ * content selection pattern - do fix if pattern found ++ */ ++tSCC zDarwin_Api_AvailabilitySelect0[] = ++ " *#define __API_AVAILABLE.*\n\ ++ *#define __API_DEPRECATED.*\n\ ++ *#define __API_DEPRECATED_WITH_REPLACEMENT.*\n\ ++ *#define __API_UNAVAILABLE.*\n"; ++ ++/* ++ * content bypass pattern - skip fix if pattern found ++ */ ++tSCC zDarwin_Api_AvailabilityBypass0[] = ++ "__IPHONE_OS_VERSION_MIN_REQUIRED"; ++ ++#define DARWIN_API_AVAILABILITY_TEST_CT 2 ++static tTestDesc aDarwin_Api_AvailabilityTests[] = { ++ { TT_NEGREP, zDarwin_Api_AvailabilityBypass0, (regex_t*)NULL }, ++ { TT_EGREP, zDarwin_Api_AvailabilitySelect0, (regex_t*)NULL }, }; ++ ++/* ++ * Fix Command Arguments for Darwin_Api_Availability ++ */ ++static const char* apzDarwin_Api_AvailabilityPatch[] = { ++ "format", ++ " #define API_AVAILABLE(...)\n\ ++ #define API_DEPRECATED(...)\n\ ++ #define API_DEPRECATED_WITH_REPLACEMENT(...)\n\ ++ #define API_UNAVAILABLE(...)\n", ++ (char*)NULL }; ++ + /* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Aab_Fd_Zero_Asm_Posix_Types_H fix +@@ -2598,7 +2648,7 @@ tSCC zDarwin_9_Long_Double_Funcs_2List[] = + * Machine/OS name selection pattern + */ + tSCC* apzDarwin_9_Long_Double_Funcs_2Machs[] = { +- "*-*-darwin7.9*", ++ "*-*-darwin*", + (const char*)NULL }; + + /* +@@ -2702,6 +2752,42 @@ static const char* apzDarwin_Gcc4_BreakagePatch[] = { + "((__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1))", + (char*)NULL }; + ++/* * * * * * * * * * * * * * * * * * * * * * * * * * ++ * ++ * Description of Darwin_Ll_Funcs_Avail fix ++ */ ++tSCC zDarwin_Ll_Funcs_AvailName[] = ++ "darwin_ll_funcs_avail"; ++ ++/* ++ * File name selection pattern ++ */ ++tSCC zDarwin_Ll_Funcs_AvailList[] = ++ "architecture/ppc/math.h\0architecture/i386/math.h\0"; ++/* ++ * Machine/OS name selection pattern ++ */ ++tSCC* apzDarwin_Ll_Funcs_AvailMachs[] = { ++ "*-*-darwin*", ++ (const char*)NULL }; ++ ++/* ++ * content selection pattern - do fix if pattern found ++ */ ++tSCC zDarwin_Ll_Funcs_AvailSelect0[] = ++ "#if[^_]*__STDC_VERSION__[^_]*__STDC_VERSION__[^1]*199901L[^_]*__STRICT_ANSI__[^_]*__GNUC__[^)]*"; ++ ++#define DARWIN_LL_FUNCS_AVAIL_TEST_CT 1 ++static tTestDesc aDarwin_Ll_Funcs_AvailTests[] = { ++ { TT_EGREP, zDarwin_Ll_Funcs_AvailSelect0, (regex_t*)NULL }, }; ++ ++/* ++ * Fix Command Arguments for Darwin_Ll_Funcs_Avail ++ */ ++static const char* apzDarwin_Ll_Funcs_AvailPatch[] = { sed_cmd_z, ++ "-e", "s/#if[^_]*__STDC_VERSION__[^_]*__STDC_VERSION__[^_]*199901L[^_]*__STRICT_ANSI__[^_]*__GNUC__[^\\)]*)/#if !(__DARWIN_NO_LONG_LONG)/", ++ (char*)NULL }; ++ + /* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Darwin_Longjmp_Noreturn fix +@@ -2864,6 +2950,86 @@ static const char* apzDarwin_Os_Trace_3Patch[] = { + #endif", + (char*)NULL }; + ++/* * * * * * * * * * * * * * * * * * * * * * * * * * ++ * ++ * Description of Darwin_Os_Base_1 fix ++ */ ++tSCC zDarwin_Os_Base_1Name[] = ++ "darwin_os_base_1"; ++ ++/* ++ * File name selection pattern ++ */ ++tSCC zDarwin_Os_Base_1List[] = ++ "os/base.h\0"; ++/* ++ * Machine/OS name selection pattern ++ */ ++tSCC* apzDarwin_Os_Base_1Machs[] = { ++ "*-*-darwin*", ++ (const char*)NULL }; ++ ++/* ++ * content selection pattern - do fix if pattern found ++ */ ++tSCC zDarwin_Os_Base_1Select0[] = ++ "#define __has_attribute.*\n\ ++#endif"; ++ ++#define DARWIN_OS_BASE_1_TEST_CT 1 ++static tTestDesc aDarwin_Os_Base_1Tests[] = { ++ { TT_EGREP, zDarwin_Os_Base_1Select0, (regex_t*)NULL }, }; ++ ++/* ++ * Fix Command Arguments for Darwin_Os_Base_1 ++ */ ++static const char* apzDarwin_Os_Base_1Patch[] = { ++ "format", ++ "%0\n\ ++#ifndef __has_extension\n\ ++#define __has_extension(x) 0\n\ ++#endif", ++ (char*)NULL }; ++ ++/* * * * * * * * * * * * * * * * * * * * * * * * * * ++ * ++ * Description of Darwin_Dispatch_Object_1 fix ++ */ ++tSCC zDarwin_Dispatch_Object_1Name[] = ++ "darwin_dispatch_object_1"; ++ ++/* ++ * File name selection pattern ++ */ ++tSCC zDarwin_Dispatch_Object_1List[] = ++ "dispatch/object.h\0"; ++/* ++ * Machine/OS name selection pattern ++ */ ++tSCC* apzDarwin_Dispatch_Object_1Machs[] = { ++ "*-*-darwin*", ++ (const char*)NULL }; ++ ++/* ++ * content selection pattern - do fix if pattern found ++ */ ++tSCC zDarwin_Dispatch_Object_1Select0[] = ++ "typedef void.*\\^dispatch_block_t.*"; ++ ++#define DARWIN_DISPATCH_OBJECT_1_TEST_CT 1 ++static tTestDesc aDarwin_Dispatch_Object_1Tests[] = { ++ { TT_EGREP, zDarwin_Dispatch_Object_1Select0, (regex_t*)NULL }, }; ++ ++/* ++ * Fix Command Arguments for Darwin_Dispatch_Object_1 ++ */ ++static const char* apzDarwin_Dispatch_Object_1Patch[] = { ++ "format", ++ "#if __BLOCKS__\n\ ++%0\n\ ++#endif", ++ (char*)NULL }; ++ + /* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Darwin_Private_Extern fix +@@ -3220,6 +3386,48 @@ static const char* apzDarwin_Stdint_7Patch[] = { + #endif", + (char*)NULL }; + ++/* * * * * * * * * * * * * * * * * * * * * * * * * * ++ * ++ * Description of Darwin_Ucred__Atomic fix ++ */ ++tSCC zDarwin_Ucred__AtomicName[] = ++ "darwin_ucred__Atomic"; ++ ++/* ++ * File name selection pattern ++ */ ++tSCC zDarwin_Ucred__AtomicList[] = ++ "sys/ucred.h\0"; ++/* ++ * Machine/OS name selection pattern ++ */ ++tSCC* apzDarwin_Ucred__AtomicMachs[] = { ++ "*-*-darwin*", ++ (const char*)NULL }; ++ ++/* ++ * content selection pattern - do fix if pattern found ++ */ ++tSCC zDarwin_Ucred__AtomicSelect0[] = ++ "_Atomic"; ++ ++#define DARWIN_UCRED__ATOMIC_TEST_CT 1 ++static tTestDesc aDarwin_Ucred__AtomicTests[] = { ++ { TT_EGREP, zDarwin_Ucred__AtomicSelect0, (regex_t*)NULL }, }; ++ ++/* ++ * Fix Command Arguments for Darwin_Ucred__Atomic ++ */ ++static const char* apzDarwin_Ucred__AtomicPatch[] = { ++ "wrap", ++ "#if (__STDC_VERSION__ < 201112L) || defined(__cplusplus)\n\ ++# define _Atomic volatile\n\ ++#endif\n", ++ "#if (__STDC_VERSION__ < 201112L) || defined(__cplusplus)\n\ ++# undef _Atomic\n\ ++#endif\n", ++ (char*)NULL }; ++ + /* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Dec_Intern_Asm fix +@@ -4887,6 +5095,55 @@ static const char* apzHpux_C99_Inttypes2Patch[] = { sed_cmd_z, + "-e", "s@^[ \t]*#[ \t]*define[ \t]*UINT16_C(__c)[ \t]*((unsigned short)(__c))[ \t]*$@#define UINT16_C(__c) (__c)@", + (char*)NULL }; + ++/* * * * * * * * * * * * * * * * * * * * * * * * * * ++ * ++ * Description of Hpux_C99_Inttypes3 fix ++ */ ++tSCC zHpux_C99_Inttypes3Name[] = ++ "hpux_c99_inttypes3"; ++ ++/* ++ * File name selection pattern ++ */ ++tSCC zHpux_C99_Inttypes3List[] = ++ "inttypes.h\0"; ++/* ++ * Machine/OS name selection pattern ++ */ ++tSCC* apzHpux_C99_Inttypes3Machs[] = { ++ "hppa*-hp-hpux11*", ++ (const char*)NULL }; ++ ++/* ++ * content selection pattern - do fix if pattern found ++ */ ++tSCC zHpux_C99_Inttypes3Select0[] = ++ "#define[ \t]INTPTR_MAX[ \t]*\n\ ++#define[ \t]UINTPTR_MAX[ \t]*\n"; ++ ++#define HPUX_C99_INTTYPES3_TEST_CT 1 ++static tTestDesc aHpux_C99_Inttypes3Tests[] = { ++ { TT_EGREP, zHpux_C99_Inttypes3Select0, (regex_t*)NULL }, }; ++ ++/* ++ * Fix Command Arguments for Hpux_C99_Inttypes3 ++ */ ++static const char* apzHpux_C99_Inttypes3Patch[] = { ++ "format", ++ "#undef SIZE_MAX\n\ ++#define SIZE_MAX __SIZE_MAX__\n\ ++#ifdef __INTPTR_MAX__\n\ ++# undef INTPTR_MAX\n\ ++# define INTPTR_MAX __INTPTR_MAX__\n\ ++# undef INTPTR_MIN\n\ ++# define INTPTR_MIN (-INTPTR_MAX - 1)\n\ ++#endif\n\ ++#ifdef __UINTPTR_MAX__\n\ ++# undef UINTPTR_MAX\n\ ++# define UINTPTR_MAX __UINTPTR_MAX__\n\ ++#endif\n", ++ (char*)NULL }; ++ + /* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Hpux_Ctype_Macros fix +@@ -10099,9 +10356,9 @@ static const char* apzX11_SprintfPatch[] = { + * + * List of all fixes + */ +-#define REGEX_COUNT 287 ++#define REGEX_COUNT 294 + #define MACH_LIST_SIZE_LIMIT 187 +-#define FIX_COUNT 249 ++#define FIX_COUNT 255 + + /* + * Enumerate the fixes +@@ -10110,6 +10367,7 @@ typedef enum { + AAB_AIX_STDIO_FIXIDX, + AAB_AIX_FCNTL_FIXIDX, + AAB_DARWIN7_9_LONG_DOUBLE_FUNCS_FIXIDX, ++ DARWIN_API_AVAILABILITY_FIXIDX, + AAB_FD_ZERO_ASM_POSIX_TYPES_H_FIXIDX, + AAB_FD_ZERO_GNU_TYPES_H_FIXIDX, + AAB_FD_ZERO_SELECTBITS_H_FIXIDX, +@@ -10171,10 +10429,13 @@ typedef enum { + DARWIN_9_LONG_DOUBLE_FUNCS_2_FIXIDX, + DARWIN_EXTERNC_FIXIDX, + DARWIN_GCC4_BREAKAGE_FIXIDX, ++ DARWIN_LL_FUNCS_AVAIL_FIXIDX, + DARWIN_LONGJMP_NORETURN_FIXIDX, + DARWIN_OS_TRACE_1_FIXIDX, + DARWIN_OS_TRACE_2_FIXIDX, + DARWIN_OS_TRACE_3_FIXIDX, ++ DARWIN_OS_BASE_1_FIXIDX, ++ DARWIN_DISPATCH_OBJECT_1_FIXIDX, + DARWIN_PRIVATE_EXTERN_FIXIDX, + DARWIN_STDINT_1_FIXIDX, + DARWIN_STDINT_2_FIXIDX, +@@ -10183,6 +10444,7 @@ typedef enum { + DARWIN_STDINT_5_FIXIDX, + DARWIN_STDINT_6_FIXIDX, + DARWIN_STDINT_7_FIXIDX, ++ DARWIN_UCRED__ATOMIC_FIXIDX, + DEC_INTERN_ASM_FIXIDX, + DJGPP_WCHAR_H_FIXIDX, + ECD_CURSOR_FIXIDX, +@@ -10224,6 +10486,7 @@ typedef enum { + HPUX_C99_INTPTR_FIXIDX, + HPUX_C99_INTTYPES_FIXIDX, + HPUX_C99_INTTYPES2_FIXIDX, ++ HPUX_C99_INTTYPES3_FIXIDX, + HPUX_CTYPE_MACROS_FIXIDX, + HPUX_EXTERN_ERRNO_FIXIDX, + HPUX_HTONL_FIXIDX, +@@ -10374,6 +10637,11 @@ tFixDesc fixDescList[ FIX_COUNT ] = { + AAB_DARWIN7_9_LONG_DOUBLE_FUNCS_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT, + aAab_Darwin7_9_Long_Double_FuncsTests, apzAab_Darwin7_9_Long_Double_FuncsPatch, 0 }, + ++ { zDarwin_Api_AvailabilityName, zDarwin_Api_AvailabilityList, ++ apzDarwin_Api_AvailabilityMachs, ++ DARWIN_API_AVAILABILITY_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, ++ aDarwin_Api_AvailabilityTests, apzDarwin_Api_AvailabilityPatch, 0 }, ++ + { zAab_Fd_Zero_Asm_Posix_Types_HName, zAab_Fd_Zero_Asm_Posix_Types_HList, + apzAab_Fd_Zero_Asm_Posix_Types_HMachs, + AAB_FD_ZERO_ASM_POSIX_TYPES_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT, +@@ -10679,6 +10947,11 @@ tFixDesc fixDescList[ FIX_COUNT ] = { + DARWIN_GCC4_BREAKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aDarwin_Gcc4_BreakageTests, apzDarwin_Gcc4_BreakagePatch, 0 }, + ++ { zDarwin_Ll_Funcs_AvailName, zDarwin_Ll_Funcs_AvailList, ++ apzDarwin_Ll_Funcs_AvailMachs, ++ DARWIN_LL_FUNCS_AVAIL_TEST_CT, FD_MACH_ONLY, ++ aDarwin_Ll_Funcs_AvailTests, apzDarwin_Ll_Funcs_AvailPatch, 0 }, ++ + { zDarwin_Longjmp_NoreturnName, zDarwin_Longjmp_NoreturnList, + apzDarwin_Longjmp_NoreturnMachs, + DARWIN_LONGJMP_NORETURN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, +@@ -10699,6 +10972,16 @@ tFixDesc fixDescList[ FIX_COUNT ] = { + DARWIN_OS_TRACE_3_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aDarwin_Os_Trace_3Tests, apzDarwin_Os_Trace_3Patch, 0 }, + ++ { zDarwin_Os_Base_1Name, zDarwin_Os_Base_1List, ++ apzDarwin_Os_Base_1Machs, ++ DARWIN_OS_BASE_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, ++ aDarwin_Os_Base_1Tests, apzDarwin_Os_Base_1Patch, 0 }, ++ ++ { zDarwin_Dispatch_Object_1Name, zDarwin_Dispatch_Object_1List, ++ apzDarwin_Dispatch_Object_1Machs, ++ DARWIN_DISPATCH_OBJECT_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, ++ aDarwin_Dispatch_Object_1Tests, apzDarwin_Dispatch_Object_1Patch, 0 }, ++ + { zDarwin_Private_ExternName, zDarwin_Private_ExternList, + apzDarwin_Private_ExternMachs, + DARWIN_PRIVATE_EXTERN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, +@@ -10739,6 +11022,11 @@ tFixDesc fixDescList[ FIX_COUNT ] = { + DARWIN_STDINT_7_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aDarwin_Stdint_7Tests, apzDarwin_Stdint_7Patch, 0 }, + ++ { zDarwin_Ucred__AtomicName, zDarwin_Ucred__AtomicList, ++ apzDarwin_Ucred__AtomicMachs, ++ DARWIN_UCRED__ATOMIC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, ++ aDarwin_Ucred__AtomicTests, apzDarwin_Ucred__AtomicPatch, 0 }, ++ + { zDec_Intern_AsmName, zDec_Intern_AsmList, + apzDec_Intern_AsmMachs, + DEC_INTERN_ASM_TEST_CT, FD_MACH_ONLY, +@@ -10944,6 +11232,11 @@ tFixDesc fixDescList[ FIX_COUNT ] = { + HPUX_C99_INTTYPES2_TEST_CT, FD_MACH_ONLY, + aHpux_C99_Inttypes2Tests, apzHpux_C99_Inttypes2Patch, 0 }, + ++ { zHpux_C99_Inttypes3Name, zHpux_C99_Inttypes3List, ++ apzHpux_C99_Inttypes3Machs, ++ HPUX_C99_INTTYPES3_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, ++ aHpux_C99_Inttypes3Tests, apzHpux_C99_Inttypes3Patch, 0 }, ++ + { zHpux_Ctype_MacrosName, zHpux_Ctype_MacrosList, + apzHpux_Ctype_MacrosMachs, + HPUX_CTYPE_MACROS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, +--- a/src/fixincludes/inclhack.def ++++ b/src/fixincludes/inclhack.def +@@ -194,6 +194,33 @@ fix = { + _EndOfHeader_; + }; + ++/* ++ * SDKs for 10.13 and 10.14 omit the definitions for API_AVAILABLE where ++ * __attribute__((availability)) is not supported. ++ */ ++fix = { ++ hackname = darwin_api_availability; ++ mach = "*-*-darwin*"; ++ files = os/availability.h; ++ bypass = "__IPHONE_OS_VERSION_MIN_REQUIRED"; ++ select = ++ " *#define __API_AVAILABLE.*\n" ++ " *#define __API_DEPRECATED.*\n" ++ " *#define __API_DEPRECATED_WITH_REPLACEMENT.*\n" ++ " *#define __API_UNAVAILABLE.*\n"; ++ c_fix = format; ++ c_fix_arg = ++ " #define API_AVAILABLE(...)\n" ++ " #define API_DEPRECATED(...)\n" ++ " #define API_DEPRECATED_WITH_REPLACEMENT(...)\n" ++ " #define API_UNAVAILABLE(...)\n"; ++ test_text = ++ "#define __API_AVAILABLE(...)\n" ++ "#define __API_DEPRECATED(...)\n" ++ "#define __API_DEPRECATED_WITH_REPLACEMENT(...)\n" ++ "#define __API_UNAVAILABLE(...)\n"; ++}; ++ + /* + * This fixes __FD_ZERO bug for linux 2.x.y (x <= 2 && y <= some n) + */ +@@ -1268,12 +1295,12 @@ fix = { + }; + + /* +- * For the AAB_darwin7_9_long_double_funcs fix to be useful, +- * you have to not use "" includes. ++ * For the AAB_darwin7_9_long_double_funcs fix (and later fixes for long long) ++ * to be useful, the main math.h must use <> and not "" includes. + */ + fix = { + hackname = darwin_9_long_double_funcs_2; +- mach = "*-*-darwin7.9*"; ++ mach = "*-*-darwin*"; + files = math.h; + select = '#include[ \t]+\"'; + c_fix = format; +@@ -1281,7 +1308,7 @@ fix = { + + c_fix_arg = '([ \t]*#[ \t]*include[ \t]+)"([a-z0-9/]+)\.h"'; + +- test_text = '#include "architecture/ppc/math.h"'; ++ test_text = '#include '; + }; + + /* +@@ -1324,6 +1351,22 @@ fix = { + "(__GNUC_MINOR__ >= 1)\n"; + }; + ++/* ++ * math.h hides the long long functions that are available on the system for ++ * 10.5 and 10.6 SDKs, we expect to use them in G++ without specifying a value ++ * for __STDC_VERSION__, or switching __STRICT_ANSI__ off. ++ */ ++fix = { ++ hackname = darwin_ll_funcs_avail; ++ mach = "*-*-darwin*"; ++ files = architecture/ppc/math.h, architecture/i386/math.h; ++ select = "#if[^_]*__STDC_VERSION__[^_]*__STDC_VERSION__[^1]*199901L[^_]*" ++ "__STRICT_ANSI__[^_]*__GNUC__[^\)]*"; ++ sed = "s/#if[^_]*__STDC_VERSION__[^_]*__STDC_VERSION__[^_]*199901L[^_]*" ++ "__STRICT_ANSI__[^_]*__GNUC__[^\\)]*\)/#if\ !\(__DARWIN_NO_LONG_LONG\)/"; ++ test_text = "#if\ !(__DARWIN_NO_LONG_LONG)"; ++}; ++ + /* + * Before Mac OS X 10.8 doesn't mark longjump noreturn. + */ +@@ -1395,6 +1438,49 @@ fix = { + _EOText_; + }; + ++/* ++ * In macOS 10.10 , doesn't have __has_extension guarded. ++ */ ++fix = { ++ hackname = darwin_os_base_1; ++ mach = "*-*-darwin*"; ++ files = os/base.h; ++ select = <<- OS_BASE_1_SEL ++#define __has_attribute.* ++#endif ++OS_BASE_1_SEL; ++ c_fix = format; ++ c_fix_arg = <<- OS_BASE_1_FIX ++%0 ++#ifndef __has_extension ++#define __has_extension(x) 0 ++#endif ++OS_BASE_1_FIX; ++ test_text = <<- OS_BASE_1_TEST ++#define __has_attribute(x) 0 ++#endif ++ ++#if __GNUC__ ++OS_BASE_1_TEST; ++}; ++ ++/* ++ * In macOS 10.10 , has unguarded block syntax. ++ */ ++fix = { ++ hackname = darwin_dispatch_object_1; ++ mach = "*-*-darwin*"; ++ files = dispatch/object.h; ++ select = "typedef void.*\\^dispatch_block_t.*"; ++ c_fix = format; ++ c_fix_arg = "#if __BLOCKS__\n%0\n#endif"; ++ test_text = <<- DISPATCH_OBJECT_1_TEST ++typedef void (^dispatch_block_t)(void); ++ ++__BEGIN_DECLS ++DISPATCH_OBJECT_1_TEST; ++}; ++ + /* + * __private_extern__ doesn't exist in FSF GCC. Even if it did, + * why would you ever put it in a system header file? +@@ -1592,6 +1678,25 @@ fix = { + "#define UINTMAX_C(v) (v ## ULL)"; + }; + ++/* The SDK included with XCode 10.2 has the file that uses the ++ C11 _Atomic keyword (exposing it to C++ code). The work-around here follows ++ the header in declaring the entity volatile when _Atomic is not available. ++*/ ++fix = { ++ hackname = darwin_ucred__Atomic; ++ mach = "*-*-darwin*"; ++ files = sys/ucred.h; ++ select = "_Atomic"; ++ c_fix = wrap; ++ c_fix_arg = "#if (__STDC_VERSION__ < 201112L) || defined(__cplusplus)\n" ++ "# define _Atomic volatile\n" ++ "#endif\n"; ++ c_fix_arg = "#if (__STDC_VERSION__ < 201112L) || defined(__cplusplus)\n" ++ "# undef _Atomic\n" ++ "#endif\n"; ++ test_text = ""; /* Don't provide this for wrap fixes. */ ++}; ++ + /* + * Fix on Digital UNIX V4.0: + * It contains a prototype for a DEC C internal asm() function, +@@ -2452,6 +2557,32 @@ fix = { + "# define UINT16_C(__c) ((unsigned short)(__c))\n"; + }; + ++/* ++ * Fix broken and missing defines in inttypes.h ++ */ ++fix = { ++ hackname = hpux_c99_inttypes3; ++ mach = "hppa*-hp-hpux11*"; ++ files = inttypes.h; ++ select = "#define[ \t]INTPTR_MAX[ \t]*\n" ++ "#define[ \t]UINTPTR_MAX[ \t]*\n"; ++ c_fix = format; ++ c_fix_arg = "#undef SIZE_MAX\n" ++ "#define SIZE_MAX __SIZE_MAX__\n" ++ "#ifdef __INTPTR_MAX__\n" ++ "# undef INTPTR_MAX\n" ++ "# define INTPTR_MAX __INTPTR_MAX__\n" ++ "# undef INTPTR_MIN\n" ++ "# define INTPTR_MIN (-INTPTR_MAX - 1)\n" ++ "#endif\n" ++ "#ifdef __UINTPTR_MAX__\n" ++ "# undef UINTPTR_MAX\n" ++ "# define UINTPTR_MAX __UINTPTR_MAX__\n" ++ "#endif\n"; ++ test_text = "#define INTPTR_MAX\n" ++ "#define UINTPTR_MAX\n"; ++}; ++ + /* + * Fix hpux broken ctype macros + */ +--- a/src/fixincludes/tests/base/architecture/ppc/math.h ++++ b/src/fixincludes/tests/base/architecture/ppc/math.h +@@ -12,3 +12,8 @@ + #if defined( BROKEN_NAN_CHECK ) + #if 1 + #endif /* BROKEN_NAN_CHECK */ ++ ++ ++#if defined( DARWIN_LL_FUNCS_AVAIL_CHECK ) ++#if !(__DARWIN_NO_LONG_LONG) ++#endif /* DARWIN_LL_FUNCS_AVAIL_CHECK */ +new file mode 100644 +--- /dev/null ++++ b/src/fixincludes/tests/base/dispatch/object.h +@@ -0,0 +1,18 @@ ++/* DO NOT EDIT THIS FILE. ++ ++ It has been auto-edited by fixincludes from: ++ ++ "fixinc/tests/inc/dispatch/object.h" ++ ++ This had to be done to correct non-standard usages in the ++ original, manufacturer supplied header file. */ ++ ++ ++ ++#if defined( DARWIN_DISPATCH_OBJECT_1_CHECK ) ++#if __BLOCKS__ ++typedef void (^dispatch_block_t)(void); ++#endif ++ ++__BEGIN_DECLS ++#endif /* DARWIN_DISPATCH_OBJECT_1_CHECK */ +--- a/src/fixincludes/tests/base/inttypes.h ++++ b/src/fixincludes/tests/base/inttypes.h +@@ -16,3 +16,20 @@ + #define UINT32_C(__c) __CONCAT__(__c,u) + + #endif /* HPUX_C99_INTTYPES_CHECK */ ++ ++ ++#if defined( HPUX_C99_INTTYPES3_CHECK ) ++#undef SIZE_MAX ++#define SIZE_MAX __SIZE_MAX__ ++#ifdef __INTPTR_MAX__ ++# undef INTPTR_MAX ++# define INTPTR_MAX __INTPTR_MAX__ ++# undef INTPTR_MIN ++# define INTPTR_MIN (-INTPTR_MAX - 1) ++#endif ++#ifdef __UINTPTR_MAX__ ++# undef UINTPTR_MAX ++# define UINTPTR_MAX __UINTPTR_MAX__ ++#endif ++ ++#endif /* HPUX_C99_INTTYPES3_CHECK */ +new file mode 100644 +--- /dev/null ++++ b/src/fixincludes/tests/base/os/availability.h +@@ -0,0 +1,18 @@ ++/* DO NOT EDIT THIS FILE. ++ ++ It has been auto-edited by fixincludes from: ++ ++ "fixinc/tests/inc/os/availability.h" ++ ++ This had to be done to correct non-standard usages in the ++ original, manufacturer supplied header file. */ ++ ++ ++ ++#if defined( DARWIN_API_AVAILABILITY_CHECK ) ++ #define API_AVAILABLE(...) ++ #define API_DEPRECATED(...) ++ #define API_DEPRECATED_WITH_REPLACEMENT(...) ++ #define API_UNAVAILABLE(...) ++ ++#endif /* DARWIN_API_AVAILABILITY_CHECK */ +new file mode 100644 +--- /dev/null ++++ b/src/fixincludes/tests/base/os/base.h +@@ -0,0 +1,20 @@ ++/* DO NOT EDIT THIS FILE. ++ ++ It has been auto-edited by fixincludes from: ++ ++ "fixinc/tests/inc/os/base.h" ++ ++ This had to be done to correct non-standard usages in the ++ original, manufacturer supplied header file. */ ++ ++ ++ ++#if defined( DARWIN_OS_BASE_1_CHECK ) ++#define __has_attribute(x) 0 ++#endif ++#ifndef __has_extension ++#define __has_extension(x) 0 ++#endif ++ ++#if __GNUC__ ++#endif /* DARWIN_OS_BASE_1_CHECK */ +--- a/src/gcc/BASE-VER ++++ b/src/gcc/BASE-VER +@@ -1 +1 @@ +-8.3.0 ++8.3.1 +--- a/src/gcc/ChangeLog ++++ b/src/gcc/ChangeLog +@@ -1,3 +1,2905 @@ ++2020-02-17 Richard Biener ++ ++ Backport from mainline ++ 2020-01-22 Richard Biener ++ ++ PR tree-optimization/93381 ++ * tree-ssa-structalias.c (find_func_aliases): Assume offsetting ++ throughout, handle all conversions the same. ++ ++2020-02-17 Richard Biener ++ ++ Backport from mainline ++ 2020-01-28 Richard Biener ++ ++ PR tree-optimization/93439 ++ * tree-parloops.c (create_loop_fn): Move clique bookkeeping... ++ * tree-cfg.c (move_sese_region_to_fn): ... here. ++ (verify_types_in_gimple_reference): Verify used cliques are ++ tracked. ++ ++2020-02-17 Richard Biener ++ ++ Backport from mainline ++ 2020-01-09 Richard Biener ++ ++ PR middle-end/93054 ++ * gimplify.c (gimplify_expr): Deal with NOP definitions. ++ ++2020-02-17 Richard Biener ++ ++ Backport from mainline ++ 2020-01-20 Richard Biener ++ ++ PR debug/92763 ++ * dwarf2out.c (prune_unused_types): Unconditionally mark ++ called function DIEs. ++ ++2020-02-17 Richard Biener ++ ++ Backport from mainline ++ 2019-11-29 Richard Biener ++ ++ PR tree-optimization/92704 ++ * tree-if-conv.c (combine_blocks): Deal with virtual PHIs ++ in loops performing only loads. ++ ++2020-02-17 Richard Biener ++ ++ Backport from mainline ++ 2019-11-27 Richard Biener ++ ++ PR middle-end/92674 ++ * tree-inline.c (expand_call_inline): Delay purging EH/abnormal ++ edges and instead record blocks in bitmap. ++ (gimple_expand_calls_inline): Adjust. ++ (fold_marked_statements): Delay EH cleanup until all folding is ++ done. ++ (optimize_inline_calls): Do EH/abnormal cleanup for calls after ++ inlining finished. ++ ++2020-02-14 Hongtao Liu ++ ++ PR target/93724 ++ * config/i386/avx512vbmi2intrin.h ++ (_mm512_shrdi_epi16, _mm512_mask_shrdi_epi16, ++ _mm512_maskz_shrdi_epi16, _mm512_shrdi_epi32, ++ _mm512_mask_shrdi_epi32, _mm512_maskz_shrdi_epi32, ++ _m512_shrdi_epi64, _m512_mask_shrdi_epi64, ++ _m512_maskz_shrdi_epi64, _mm512_shldi_epi16, ++ _mm512_mask_shldi_epi16, _mm512_maskz_shldi_epi16, ++ _mm512_shldi_epi32, _mm512_mask_shldi_epi32, ++ _mm512_maskz_shldi_epi32, _mm512_shldi_epi64, ++ _mm512_mask_shldi_epi64, _mm512_maskz_shldi_epi64): Fix typo ++ of lacking a closing parenthesis. ++ * config/i386/avx512vbmi2vlintrin.h ++ (_mm256_shrdi_epi16, _mm256_mask_shrdi_epi16, ++ _mm256_maskz_shrdi_epi16, _mm256_shrdi_epi32, ++ _mm256_mask_shrdi_epi32, _mm256_maskz_shrdi_epi32, ++ _m256_shrdi_epi64, _m256_mask_shrdi_epi64, ++ _m256_maskz_shrdi_epi64, _mm256_shldi_epi16, ++ _mm256_mask_shldi_epi16, _mm256_maskz_shldi_epi16, ++ _mm256_shldi_epi32, _mm256_mask_shldi_epi32, ++ _mm256_maskz_shldi_epi32, _mm256_shldi_epi64, ++ _mm256_mask_shldi_epi64, _mm256_maskz_shldi_epi64, ++ _mm_shrdi_epi16, _mm_mask_shrdi_epi16, ++ _mm_maskz_shrdi_epi16, _mm_shrdi_epi32, ++ _mm_mask_shrdi_epi32, _mm_maskz_shrdi_epi32, ++ _mm_shrdi_epi64, _mm_mask_shrdi_epi64, ++ _m_maskz_shrdi_epi64, _mm_shldi_epi16, ++ _mm_mask_shldi_epi16, _mm_maskz_shldi_epi16, ++ _mm_shldi_epi32, _mm_mask_shldi_epi32, ++ _mm_maskz_shldi_epi32, _mm_shldi_epi64, ++ _mm_mask_shldi_epi64, _mm_maskz_shldi_epi64): Ditto. ++ ++2020-02-15 Jakub Jelinek ++ ++ PR tree-optimization/93744 ++ * match.pd (((m1 >/=/<= m2) * d -> (m1 >/=/<= m2) ? d : 0): For ++ GENERIC, make sure @2 in the first and @1 in the other patterns has no ++ side-effects. ++ ++2020-02-14 Eric Botcazou ++ ++ PR target/93704 ++ * config/sparc/sparc.c (eligible_for_call_delay): Test HAVE_GNU_LD in ++ conjunction with TARGET_GNU_TLS in early return. ++ ++2020-02-14 Jakub Jelinek ++ ++ Backported from mainline ++ 2020-02-13 Jakub Jelinek ++ ++ PR target/93696 ++ * config/i386/avx512bitalgintrin.h (_mm512_mask_popcnt_epi8, ++ _mm512_mask_popcnt_epi16, _mm256_mask_popcnt_epi8, ++ _mm256_mask_popcnt_epi16, _mm_mask_popcnt_epi8, ++ _mm_mask_popcnt_epi16): Rename __B argument to __A and __A to __W, ++ pass __A to the builtin followed by __W instead of __A followed by ++ __B. ++ * config/i386/avx512vpopcntdqintrin.h (_mm512_mask_popcnt_epi32, ++ _mm512_mask_popcnt_epi64): Likewise. ++ * config/i386/avx512vpopcntdqvlintrin.h (_mm_mask_popcnt_epi32, ++ _mm256_mask_popcnt_epi32, _mm_mask_popcnt_epi64, ++ _mm256_mask_popcnt_epi64): Likewise. ++ ++ PR target/93673 ++ * config/i386/sse.md (k): Drop mode from last operand and ++ use const_0_to_255_operand predicate instead of immediate_operand. ++ (avx512dq_fpclass, ++ avx512dq_vmfpclass, ++ vgf2p8affineinvqb_, ++ vgf2p8affineqb_): Drop mode from ++ const_0_to_255_operand predicated operands. ++ ++ 2020-02-12 Jakub Jelinek ++ ++ PR target/93670 ++ * config/i386/sse.md (VI48F_256_DQ): New mode iterator. ++ (avx512vl_vextractf128): Use it instead of VI48F_256. Remove ++ TARGET_AVX512DQ from condition. ++ (vec_extract_lo_): Use ++ instead of in condition. If ++ TARGET_AVX512DQ is false, emit vextract*64x4 instead of ++ vextract*32x8. ++ (vec_extract_lo_): Drop ++ from condition. ++ ++ 2020-02-10 Jakub Jelinek ++ ++ PR target/93637 ++ * config/i386/sse.md (VI_256_AVX2): New mode iterator. ++ (vcond_mask_): Use it instead of VI_256. ++ Change condition from TARGET_AVX2 to TARGET_AVX. ++ ++ 2020-02-08 Uroš Bizjak ++ Jakub Jelinek ++ ++ PR target/65782 ++ * config/i386/i386.h (CALL_USED_REGISTERS): Make ++ xmm16-xmm31 call-used even in 64-bit ms-abi. ++ ++ 2020-02-06 Jakub Jelinek ++ ++ PR libgomp/93515 ++ * omp-low.c (use_pointer_for_field): For nested constructs, also ++ look for map clauses on target construct. ++ (scan_omp_1_stmt) : Bump temporarily ++ taskreg_nesting_level. ++ ++ 2020-02-05 Jakub Jelinek ++ ++ PR middle-end/93555 ++ * omp-simd-clone.c (expand_simd_clones): If simd_clone_mangle or ++ simd_clone_create failed when i == 0, adjust clone->nargs by ++ clone->inbranch. ++ ++ 2020-01-30 Jakub Jelinek ++ ++ PR middle-end/93505 ++ * combine.c (simplify_comparison) : Punt on out of range ++ rotate counts. ++ ++ 2020-01-23 Jakub Jelinek ++ ++ PR rtl-optimization/93402 ++ * postreload.c (reload_combine_recognize_pattern): Don't try to adjust ++ USE insns. ++ ++ 2020-01-22 Jakub Jelinek ++ ++ PR target/91298 ++ * output.h (assemble_name_resolve): Declare. ++ * varasm.c (assemble_name_resolve): New function. ++ (assemble_name): Use it. ++ * config/i386/i386.h (ASM_OUTPUT_SYMBOL_REF): Define. ++ ++ 2020-01-21 Jakub Jelinek ++ ++ PR target/93333 ++ * config/riscv/riscv.c (riscv_rtx_costs) : Verify ++ the last two operands are CONST_INT_P before using them as such. ++ ++ PR target/93073 ++ * config/rs6000/rs6000.c (rs6000_emit_cmove): If using fsel, punt for ++ compare_mode other than SFmode or DFmode. ++ ++ 2020-01-09 Jakub Jelinek ++ ++ PR inline-asm/93202 ++ * config/riscv/riscv.c (riscv_print_operand_reloc): Use ++ output_operand_lossage instead of gcc_unreachable. ++ * doc/md.texi (riscv f constraint): Fix typo. ++ ++ 2020-01-03 Jakub Jelinek ++ ++ PR rtl-optimization/93088 ++ * loop-iv.c (find_single_def_src): Punt after looking through ++ 128 reg copies for regs with single definitions. Move definitions ++ to first uses. ++ ++ 2020-01-02 Jakub Jelinek ++ ++ PR ipa/93087 ++ * predict.c (compute_function_frequency): Don't call ++ warn_function_cold on functions that already have cold attribute. ++ ++ 2019-12-14 Jakub Jelinek ++ ++ PR ipa/92357 ++ * ipa-fnsummary.c (ipa_fn_summary_write): Use ++ lto_symtab_encoder_iterator with lsei_start_function_in_partition and ++ lsei_next_function_in_partition instead of walking all cgraph nodes ++ in encoder. ++ ++ PR tree-optimization/92930 ++ * ipa-pure-const.c (special_builtin_state): Don't handle ++ BUILT_IN_APPLY. ++ ++ 2019-12-12 Jakub Jelinek ++ ++ PR target/92904 ++ * config/i386/i386.c (ix86_gimplify_va_arg): If need_intregs and ++ not need_temp, decrease alignment of the read because the GPR save ++ area only guarantees 8-byte alignment. ++ ++ 2019-12-11 Jakub Jelinek ++ ++ PR target/92723 ++ * tree-vect-patterns.c (vect_recog_rotate_pattern): If dt is not ++ vect_internal_def, use oprnd1 as is, without trying to cast it. ++ Formatting fix. ++ ++ 2019-11-27 Jakub Jelinek ++ ++ PR debug/92664 ++ * dwarf2out.c (lookup_filename): Use "" instead of "". ++ ++ 2019-11-23 Jakub Jelinek ++ ++ PR target/92615 ++ * config/i386/i386.c (ix86_md_asm_adjust): If dest_mode is ++ GET_MODE (dest), is not QImode, using ZERO_EXTEND and dest is not ++ register_operand, force x into register before storing it into dest. ++ Formatting fix. ++ ++2020-02-14 Richard Biener ++ ++ Backport from mainline ++ PR middle-end/93246 ++ * alias.c (record_component_aliases): Take superset to record ++ into, recurse for alias-set zero fields. ++ (record_component_aliases): New oveerload wrapping around the above. ++ ++2020-02-11 Tamar Christina ++ ++ Backport from mainline ++ 2020-01-31 Tamar Christina ++ ++ PR rtl-optimization/91838 ++ * simplify-rtx.c (simplify_binary_operation_1): Update LSHIFTRT case ++ to truncate if allowed or reject combination. ++ ++2020-01-27 Wilco Dijkstra ++ ++ PR target/92692 ++ * config/aarch64/aarch64.c (aarch64_split_compare_and_swap) ++ Add assert to ensure prolog has been emitted. ++ (aarch64_split_atomic_op): Likewise. ++ * config/aarch64/atomics.md (aarch64_compare_and_swap) ++ Use epilogue_completed rather than reload_completed. ++ (aarch64_atomic_exchange): Likewise. ++ (aarch64_atomic_): Likewise. ++ (atomic_nand): Likewise. ++ (aarch64_atomic_fetch_): Likewise. ++ (atomic_fetch_nand): Likewise. ++ (aarch64_atomic__fetch): Likewise. ++ (atomic_nand_fetch): Likewise. ++ ++2020-01-19 Eric S. Raymond ++ Sandra Loosemore ++ ++ Backport from mainline: ++ ++ 2020-01-19 Eric S. Raymond ++ ++ * doc/contribute.texi: Update for SVN -> Git transition. ++ * doc/install.texi: Likewise. ++ ++2020-01-15 Martin Liska ++ ++ Backport from mainline ++ 2019-04-14 Jan Hubicka ++ ++ PR lto/89358 ++ * ipa-devirt.c (skip_in_fields_list_p): New. ++ (odr_types_equivalent_p): Use it. ++ ++2020-01-10 Martin Jambor ++ ++ Backport from mainline ++ 2019-12-17 Martin Jambor ++ ++ PR ipa/92971 ++ * ipa-cp.c (cgraph_edge_brings_all_agg_vals_for_node): Fix ++ definition of values, release memory on exit. ++ ++2020-01-09 Martin Liska ++ ++ Backport from mainline ++ 2019-12-12 Jan Hubicka ++ ++ * ipa-prop.c (read_ipcp_transformation_info): Fix undefined ordering ++ of execution of function call parameters. ++ ++2020-01-08 Georg-Johann Lay ++ ++ Backport from 2020-01-08 trunk r279995. ++ ++ Add -nodevicespecs option for avr. ++ ++ PR target/93182 ++ * config/avr/avr.opt (-nodevicespecs): New driver option. ++ * config/avr/driver-avr.c (avr_devicespecs_file): Only issue ++ "-specs=device-specs/..." if that option is not set. ++ * doc/invoke.texi (AVR Options) <-nodevicespecs>: Document. ++ ++2020-01-06 John David Anglin ++ ++ * config/pa/pa.md: Revert change to use ordered_comparison_operator ++ instead of cmpib_comparison_operator in cmpib patterns. ++ * config/pa/predicates.md (cmpib_comparison_operator): Revert removal ++ of cmpib_comparison_operator. Revise comment. ++ ++2020-01-01 John David Anglin ++ ++ PR target/93111 ++ * config/pa/pa.md (scc): Use ordered_comparison_operator instead of ++ comparison_operator in B and S integer comparisons. Likewise, use ++ ordered_comparison_operator instead of cmpib_comparison_operator in ++ cmpib patterns. ++ * config/pa/predicates.md (cmpib_comparison_operator): Remove. ++ ++2019-12-28 Iain Sandoe ++ ++ Backport from mainline. ++ 2019-12-14 Iain Sandoe ++ ++ * config/darwin.h (DARWIN_EXTRA_SPECS): Add new ++ bundle spec. (DARWIN_BUNDLE1_SPEC): New. ++ (STARTFILE_SPEC): Use darwin bundle spec. ++ * config/rs6000/darwin.h (DARWIN_BUNDLE1_SPEC): New. ++ (DARWIN_DYLIB1_SPEC): Delete duplicate. ++ ++2019-12-20 Roman Zhuykov ++ ++ Backport from mainline ++ 2019-12-13 Roman Zhuykov ++ ++ PR rtl-optimization/92591 ++ * modulo-sched.c (ps_add_node_check_conflicts): Improve checking ++ for history > 0 case. ++ * params.def (sms-dfa-history): Limit to 16. ++ ++2019-12-19 Georg-Johann Lay ++ ++ Backport support for some AVR devices from avrxmega3 family ++ from SVN trunk r279309, r278387, r278389, r278478. ++ ++ PR target/92545 ++ * config/avr/avr-arch.h (avr_mcu_t) : New field. ++ * config/avr/avr-devices.c (avr_mcu_types): Adjust initializers. ++ * config/avr/avr-mcus.def (AVR_MCU): Add respective field. ++ * config/avr/gen-avr-mmcu-specs.c (print_mcu) ++ <*cpp, *cpp_mcu, *cpp_avrlibc, *link_pm_base_address>: Emit code ++ for spec definitions. ++ * config/avr/gen-avr-mmcu-texi.c: Rewrite. ++ * doc/avr-mmcu.texi: Regenerate. ++ ++2019-12-17 Andreas Krebbel ++ ++ Backport from mainline ++ 2019-12-16 Andreas Krebbel ++ ++ PR target/92950 ++ * config/s390/vector.md ("mov" for V_8): Replace lh, lhy, ++ and lhrl with llc. ++ ++2019-12-02 Wilco Dijkstra ++ ++ * config/aarch64/aarch64-cores.def (ares): Define. ++ (cortex-a76): Likewise. ++ (neoverse-n1): Likewise. ++ * config/aarch64/aarch64-tune.md: Regenerate. ++ * doc/invoke.texi (AArch64 Options): Document ares, cortex-a75 and ++ neoverse-n1. ++ ++2019-11-29 David Malcolm ++ ++ PR driver/89014 ++ * config/aarch64/driver-aarch64.c (host_detect_local_cpu): Fix ++ use-after-free of the result of ++ aarch64_get_extension_string_for_isa_flags. ++ ++2019-11-21 Jakub Jelinek ++ ++ PR tree-optimization/91355 ++ * tree-ssa-sink.c (select_best_block): Use >= rather than > ++ for early_bb scaled count with best_bb count comparison. ++ ++ Backported from mainline ++ 2019-11-20 Jakub Jelinek ++ ++ PR middle-end/90840 ++ * expmed.c (store_bit_field_1): Handle the case where op0 is not a MEM ++ and has a mode that doesn't have corresponding integral type. ++ ++ PR target/90867 ++ * config/i386/i386.c (ix86_valid_target_attribute_tree): Don't ++ clear opts->x_ix86_isa_flags{,2} here... ++ (ix86_valid_target_attribute_inner_p): ... but here when seeing ++ arch=. Also clear opts->x_ix86_isa_flags{,2}_explicit. ++ ++ PR c/90898 ++ * tree-ssa-ccp.c (insert_clobber_before_stack_restore): Remove ++ assertion. ++ (insert_clobbers_for_var): Fix a typo in function comment. ++ ++ 2019-11-19 Jakub Jelinek ++ ++ PR middle-end/91450 ++ * internal-fn.c (expand_mul_overflow): For s1 * s2 -> ur, if one ++ operand is negative and one non-negative, compare the non-negative ++ one against 0 rather than comparing s1 & s2 against 0. Otherwise, ++ don't compare (s1 & s2) == 0, but compare separately both s1 == 0 ++ and s2 == 0, unless one of them is known to be negative. Remove ++ tem2 variable, use tem where tem2 has been used before. ++ ++ 2019-11-08 Jakub Jelinek ++ ++ PR c++/92384 ++ * function.c (assign_parm_setup_block, assign_parm_setup_stack): Don't ++ copy TYPE_EMPTY_P arguments from data->entry_parm to data->stack_parm ++ slot. ++ (assign_parms): For TREE_ADDRESSABLE parms with TYPE_EMPTY_P type ++ force creation of a unique data.stack_parm slot. ++ ++ 2019-10-17 Jakub Jelinek ++ ++ PR tree-optimization/92056 ++ * tree-object-size.c (cond_expr_object_size): Return early if then_ ++ processing resulted in unknown size. ++ ++ 2019-09-07 Jakub Jelinek ++ ++ PR tree-optimization/91665 ++ * tree-vect-loop.c (vectorizable_reduction): Punt if base has type ++ incompatible with the type of PHI result. ++ ++ 2019-09-06 Jakub Jelinek ++ ++ * function.c (assign_parm_find_data_types): Use RECORD_OR_UNION_TYPE_P ++ before testing TYPE_TRANSPARENT_AGGR. ++ * calls.c (initialize_argument_information, load_register_parameters): ++ Likewise. ++ ++ 2019-09-05 Jakub Jelinek ++ ++ PR middle-end/91001 ++ PR middle-end/91105 ++ PR middle-end/91106 ++ * calls.c (load_register_parameters): For TYPE_TRANSPARENT_AGGR ++ types, use type of their first field instead of type of ++ args[i].tree_value. ++ ++ 2019-09-01 Jakub Jelinek ++ ++ PR middle-end/91623 ++ * optabs.c (expand_vec_cond_expr): If op0 is a VECTOR_CST and only ++ EQ_EXPR/NE_EXPR is supported, verify that op0 only contains ++ zeros or negative elements and use NE_EXPR instead of LT_EXPR against ++ zero vector. ++ ++2019-11-20 Peter Bergner ++ ++ Backport from mainline ++ 2019-11-07 Peter Bergner ++ ++ PR other/92090 ++ * config/rs6000/predicates.md (input_operand): Allow MODE_PARTIAL_INT ++ modes for integer constants. ++ ++2019-11-19 Eric Botcazou ++ ++ * doc/invoke.texi (-gno-internal-reset-location-views): Fix typo. ++ ++2019-11-14 Martin Liska ++ ++ Backport from mainline ++ 2019-11-14 Martin Liska ++ ++ PR target/92389 ++ * config/i386/i386.h: Add PTA_AVX512VPOPCNTDQ to ++ PTA_ICELAKE_CLIENT which is later interited by ++ PTA_ICELAKE_SERVER and PTA_TIGERLAKE. ++ ++2019-11-13 Dragan Mladjenovic ++ ++ Backport from mainline ++ * config/mips/mips.md (rotr3): Sanitize the constant argument ++ instead of asserting its value. ++ ++2019-11-11 H.J. Lu ++ ++ Backport from trunk: ++ PR target/87833 ++ * config/i386/intelmic-mkoffload.c (prepare_target_image): Put ++ -fPIC and -shared the last to create offload image. ++ ++2019-11-11 Thomas Schwinge ++ ++ Backport from trunk: ++ * gimplify.c (gimplify_scan_omp_clauses): Assert 'offset2' instead ++ of 'offset'. ++ ++ Backport from trunk: ++ * Makefile.in (LANG_CONFIGUREFRAGS): Define. ++ (config.status): Use/depend on it. ++ * configure.ac (all_lang_configurefrags): Track, 'AC_SUBST'. ++ * configure: Regenerate. ++ ++2019-11-09 John David Anglin ++ ++ Backport from mainline ++ 2019-11-07 John David Anglin ++ ++ * config/pa/pa.md (memory_barrier): Revise to use ldcw barriers. ++ Enhance comment. ++ (memory_barrier_coherent, memory_barrier_64, memory_barrier_32): New ++ insn patterns using ldcw instruction. ++ (memory_barrier): Remove insn pattern using sync instruction. ++ * config/pa/pa.opt (coherent-ldcw): New option. ++ (ordered): New option. ++ ++2019-11-08 Eric Botcazou ++ ++ PR target/92095 ++ * config/sparc/sparc-protos.h (output_load_pcrel_sym): Declare. ++ * config/sparc/sparc.c (sparc_cannot_force_const_mem): Revert latest ++ change. ++ (got_helper_needed): New static variable. ++ (output_load_pcrel_sym): New function. ++ (get_pc_thunk_name): Remove after inlining... ++ (load_got_register): ...here. Rework the initialization of the GOT ++ register and of the GOT helper. ++ (save_local_or_in_reg_p): Test the REGNO of the GOT register. ++ (sparc_file_end): Test got_helper_needed to decide whether the GOT ++ helper must be emitted. Use output_asm_insn instead of fprintf. ++ (sparc_init_pic_reg): In PIC mode, always initialize the PIC register ++ if optimization is enabled. ++ * config/sparc/sparc.md (load_pcrel_sym): Emit the assembly ++ by calling output_load_pcrel_sym. ++ ++2019-11-06 John David Anglin ++ ++ Backport from mainline ++ 2018-09-19 John David Anglin ++ ++ PR rtl-optimization/85458 ++ * config/pa/pa.c (pa_adjust_priority): Delete. ++ (TARGET_SCHED_ADJUST_PRIORITY): Delete define. ++ ++2019-11-05 Segher Boessenkool ++ ++ Backport from trunk ++ 2019-10-24 Segher Boessenkool ++ ++ * config/rs6000/altivec.md (altivec_vavgu): Rename to... ++ (uavg3_ceil): ... This. ++ (altivec_vavgs): Rename to... ++ (avg3_ceil): ... This. ++ * config/rs6000/rs6000-builtin.def (VAVGUB, VAVGSB, VAVGUH, VAVGSH, ++ VAVGUW, VAVGSW): Adjust. ++ ++2019-11-05 Segher Boessenkool ++ ++ Backport from trunk ++ 2019-10-26 Segher Boessenkool ++ ++ PR target/91289 ++ * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Don't add an ++ immediate to r0; use r11 instead. Save and restore r11 to r0 around ++ this. ++ ++2019-11-04 John David Anglin ++ ++ Backport from mainline ++ 2019-10-03 John David Anglin ++ ++ * config/pa/pa.h (MAX_PCREL17F_OFFSET): Adjust. ++ ++2019-11-04 John David Anglin ++ ++ Backport from mainline ++ 2019-10-03 John David Anglin ++ ++ * config/pa/pa.c (pa_output_call): Remove 64-bit sibcall sequence. ++ (pa_attr_length_call): Adjust length for 64-bit plabel sequence. ++ ++2019-11-04 John David Anglin ++ ++ Backport from mainline ++ 2019-10-12 John David Anglin ++ ++ * config/pa/pa.c (pa_output_call): Load descriptor address to register ++ %r22. Load function address before global pointer. ++ (pa_attr_length_indirect_call): Adjust length of inline versions of ++ $$dyncall. ++ (pa_output_indirect_call): Remove fast inline version of $$dyncall ++ before normal cases. Update inline $$dyncall sequences to preserve ++ function descriptor address in register %r22. ++ (TRAMPOLINE_CODE_SIZE): Adjust. ++ (pa_asm_trampoline_template): Revise 32-bit trampoline. Don't assume ++ register %r22 contains trampoline address. ++ (pa_trampoline_init): Adjust offsets. ++ (pa_trampoline_adjust_address): Likewise. ++ * config/pa/pa.h (TRAMPOLINE_SIZE): Adjust 32-bit size. ++ ++ 2019-10-17 John David Anglin ++ ++ * config/pa/pa.c (pa_output_indirect_call): Fix typos in last change. ++ ++2019-11-1 Delia Burduv ++ ++ Backport from trunk ++ 2019-02-20 Andre Vieira ++ ++ PR target/86487 ++ * lra-constraints.c(uses_hard_regs_p): Fix handling of ++ paradoxical SUBREGS. ++ ++2019-10-31 Iain Sandoe ++ ++ Backport from mainline ++ 2019-10-13 Iain Sandoe ++ ++ * config/darwin.c (machopic_indirection_name): Rework the ++ function to emit linker-visible symbols only for indirections ++ in the data section. Clean up the code and update comments. ++ ++2019-10-31 Iain Sandoe ++ ++ Backport from mainline ++ 2019-10-09 Iain Sandoe ++ ++ * config/darwin.c (darwin_override_options): Make the check for ++ Objective-C ABI version more specific for 64bit code. ++ ++ Backport from mainline ++ 2019-10-06 Iain Sandoe ++ ++ * config/darwin.c (darwin_override_options): Adjust objective-c ++ ABI version error messages to avoid punctuation and contracted ++ negations. ++ ++2019-10-31 Iain Sandoe ++ ++ Backport from mainline ++ 2019-07-03 Iain Sandoe ++ ++ * config/darwin.h (REAL_LIBGCC_SPEC): Adjust for earlier Darwin. ++ (STARTFILE_SPEC): Split crt3 into a separate spec. ++ (DARWIN_EXTRA_SPECS): Add crt2 and crt3 spec. ++ (DARWIN_CRT2_SPEC): New. ++ (DARWIN_CRT3_SPEC): New. ++ (MIN_LD64_OMIT_STUBS): Revise to 62.1. ++ * config/rs6000/darwin.h (DARWIN_CRT2_SPEC): Revise conditions. ++ (DARWIN_CRT3_SPEC): New. ++ ++2019-10-31 Iain Sandoe ++ ++ Backport from mainline ++ 2019-06-27 Iain Sandoe ++ ++ * config/rs6000/darwin.h (ENDFILE_SPEC): Correct whitespace in the ++ spec. ++ ++ Backport from mainline ++ 2019-06-25 Iain Sandoe ++ ++ * config/rs6000/darwin.h (ENDFILE_SPEC): New. ++ ++2019-10-31 Iain Sandoe ++ ++ Backport from mainline ++ 2019-06-18 Iain Sandoe ++ ++ * config/darwin.c (darwin_emit_unwind_label): New default to false. ++ (darwin_override_options): Set darwin_emit_unwind_label as needed. ++ ++2019-10-31 Iain Sandoe ++ ++ Backport from mainline ++ 2019-08-13 Iain Sandoe ++ ++ * config/darwin.c (machopic_indirect_call_target): Rename symbol stub ++ flag. ++ (darwin_override_options): Likewise. ++ * config/darwin.h: Likewise. ++ * config/darwin.opt: Likewise. ++ * config/i386/i386.c (output_pic_addr_const): Likewise. ++ * config/rs6000/darwin.h: Likewise. ++ * config/rs6000/rs6000.c (rs6000_call_darwin_1): Likewise. ++ * config/i386/darwin.h (TARGET_MACHO_PICSYM_STUBS): Rename to ... ++ ... this TARGET_MACHO_SYMBOL_STUBS. ++ (FUNCTION_PROFILER):Likewise. ++ * config/i386/i386.h: Likewise. ++ ++ Backport from mainline ++ 2019-06-16 Iain Sandoe ++ ++ * config/darwin.c (machopic_indirect_call_target): Use renamed ++ darwin_picsymbol_stubs to decide on output. ++ (darwin_override_options): Handle darwin_picsymbol_stubs. ++ * config/darwin.h (MIN_LD64_OMIT_STUBS): New. ++ (LD64_VERSION): Revise default. ++ * config/darwin.opt: (mpic-symbol-stubs): New option. ++ (darwin_picsymbol_stubs): New variable. ++ * config/i386/darwin.h (TARGET_MACHO_BRANCH_ISLANDS): ++ rename to TARGET_MACHO_PICSYM_STUBS. ++ * config/i386/i386.c (output_pic_addr_const): Likewise. ++ * config/i386/i386.h Likewise. ++ * config/rs6000/darwin.h: Likewise. ++ * config/rs6000/rs6000.c (rs6000_call_darwin_1): Use renamed ++ darwin_picsymbol_stubs. ++ ++2019-10-31 Iain Sandoe ++ ++ Backport from mainline ++ 2019-06-27 Iain Sandoe ++ ++ * config/rs6000/rs6000.c (darwin_rs6000_override_options): Honour ++ user-specified float mode choice for kernel mode code. ++ ++2019-10-31 Iain Sandoe ++ ++ Backport from mainline ++ 2019-06-23 Iain Sandoe ++ ++ * config/rs6000/darwin.h: Handle GCC target pragma. ++ ++2019-10-30 Dragan Mladjenovic ++ ++ Backport from mainline ++ 2019-07-09 Dragan Mladjenovic ++ ++ * cfgcleanup.c (old_insns_match_p): Check if used hard regs set is equal ++ for both call instructions. ++ ++2019-10-28 Iain Sandoe ++ ++ Backport from mainline ++ 2019-10-17 Iain Sandoe ++ ++ PR target/65342 ++ * config/rs6000/darwin.md (movdi_low, movsi_low_st): Delete. ++ (movdi_low_st): Delete. ++ * config/rs6000/rs6000.c ++ (darwin_rs6000_legitimate_lo_sum_const_p): New. ++ (mem_operand_gpr): Validate Mach-O LO_SUM cases separately. ++ * config/rs6000/rs6000.md (movsi_low): Delete. ++ ++2019-10-28 Iain Sandoe ++ ++ Backport from mainline ++ 2019-10-12 Iain Sandoe ++ ++ PR target/67183 ++ * config/darwin.c (machopic_indirection): New field to flag ++ non-lazy-symbol-pointers in the data section. ++ (machopic_indirection_name): Compute if an indirection should ++ appear in the data section. ++ (machopic_output_data_section_indirection): New callback split ++ from machopic_output_indirection. ++ (machopic_output_stub_indirection): Likewise. ++ (machopic_output_indirection): Retain the code for non-lazy ++ symbol pointers in their regular section. ++ (machopic_finish): Use the new callbacks to order the indirection ++ output. ++ ++2019-10-28 Iain Sandoe ++ ++ Backport from mainline ++ 2019-10-12 Iain Sandoe ++ ++ * config/darwin-protos.h (machopic_finish): Delete. ++ * config/darwin.c (machopic_finish): Make static. ++ ++ Backport from mainline ++ 2019-10-09 Iain Sandoe ++ ++ * config/darwin.c (machopic_indirect_data_reference): Set flag to ++ indicate that the new symbol is an indirection. ++ (machopic_indirect_call_target): Likewise. ++ * config/darwin.h (MACHO_SYMBOL_FLAG_INDIRECTION): New. ++ (MACHO_SYMBOL_INDIRECTION_P): New. ++ (MACHO_SYMBOL_FLAG_STATIC): Adjust bit number. ++ ++ Backport from mainline ++ 2019-10-08 Iain Sandoe ++ ++ * config/darwin.c (machopic_indirect_data_reference): Check for ++ required indirections before making direct access to defined ++ values. ++ (machopic_output_indirection): Place the indirected pointes for ++ required indirections into the non-lazy symbol pointers section. ++ (darwin_encode_section_info): ++ * config/darwin.h (MACHO_SYMBOL_FLAG_MUST_INDIRECT): New. ++ (MACHO_SYMBOL_MUST_INDIRECT_P): New. ++ ++ Backport from mainline ++ 2019-10-07 Iain Sandoe ++ ++ * config/darwin.c (machopic_output_indirection): Don't put ++ hidden symbol indirections into the .data section, use the ++ non-lazy symbol pointers section as normal. ++ (darwin_encode_section_info): Record if a symbol is hidden. ++ * config/darwin.h (MACHO_SYMBOL_FLAG_HIDDEN_VIS): New. ++ (MACHO_SYMBOL_HIDDEN_VIS_P): New. ++ ++ Backport from mainline ++ 2019-10-07 Iain Sandoe ++ ++ * config/darwin.c (machopic_symbol_defined_p): Use symbol flag ++ predicates instead of accessing bits directly. ++ (machopic_indirect_call_target): Likewise. ++ (machopic_output_indirection): Likewise. ++ (darwin_encode_section_info): Improve description. Use renamed ++ symbol flags. Use predicate macros for variables and functions. ++ * config/darwin.h: ++ Rename MACHO_SYMBOL_VARIABLE to MACHO_SYMBOL_FLAG_VARIABLE. ++ Rename MACHO_SYMBOL_DEFINED to MACHO_SYMBOL_FLAG_DEFINED. ++ Rename MACHO_SYMBOL_STATIC to MACHO_SYMBOL_FLAG_STATIC. ++ (MACHO_SYMBOL_VARIABLE_P): New. ++ (MACHO_SYMBOL_DEFINED_P):New. ++ (MACHO_SYMBOL_STATIC_P): New. ++ * config/i386/darwin.h (MACHO_SYMBOL_FLAG_VARIABLE): Delete. ++ (SYMBOL_FLAG_SUBT_DEP): New. ++ * config/rs6000/darwin.h (SYMBOL_FLAG_SUBT_DEP): New. ++ ++2019-10-28 Iain Sandoe ++ ++ Backport from mainline ++ 2019-10-05 Iain Sandoe ++ ++ PR target/59888 ++ * config/darwin.c (darwin_rodata_section): Add relocation flag, ++ choose const_data section for constants with relocations. ++ (machopic_select_section): Pass relocation flag to ++ darwin_rodata_section (). ++ ++2019-10-28 Iain Sandoe ++ ++ Backport from mainline ++ 2019-09-21 Iain Sandoe ++ ++ * config/darwin.c (machopic_legitimize_pic_address): Check ++ for lra, rather than reload. ++ ++2019-10-28 Peter Bergner ++ Jiufu Guo ++ ++ PR target/70010 ++ * config/rs6000/rs6000.c (rs6000_can_inline_p): Prohibit inlining if ++ the callee explicitly disables some isa_flags the caller is using. ++ ++2019-10-25 Iain Sandoe ++ ++ * config/rs6000/darwin.h (ASM_OUTPUT_MAX_SKIP_ALIGN):Guard ++ against out of range max skip or log values. ++ ++2019-10-25 Richard Earnshaw ++ ++ Backport from mainline ++ 2019-05-08 Mihail Ionescu ++ Richard Earnshaw ++ PR target/88167 ++ * config/arm/arm.c (thumb1_prologue_unused_call_clobbered_lo_regs): New ++ function. ++ (thumb1_epilogue_unused_call_clobbered_lo_regs): New function. ++ (thumb1_compute_save_core_reg_mask): Don't force a spare work ++ register if both the epilogue and prologue can use call-clobbered ++ regs. ++ (thumb1_unexpanded_epilogue): Use ++ thumb1_epilogue_unused_call_clobbered_lo_regs. Reverse the logic for ++ picking temporaries for restoring high regs to match that of the ++ prologue where possible. ++ (thumb1_expand_prologue): Add any usable call-clobbered low registers to ++ the list of work registers. Detect if the return address is still live ++ at the end of the prologue and avoid using it for a work register if so. ++ If the return address is not live, add LR to the list of pushable regs ++ after the first pass. ++ ++2019-10-23 Peter Bergner ++ ++ Backport from mainline ++ 2019-10-08 Tulio Magno Quites Machado Filho ++ ++ * config.gcc: Move -L usage from LINK_OS_EXTRA_SPEC32 and ++ LINK_OS_EXTRA_SPEC64 to MD_STARTFILE_PREFIX and ++ MD_STARTFILE_PREFIX_1 when using --with-advance-toolchain. ++ ++2019-10-23 Richard Biener ++ ++ Backport from mainline ++ 2019-10-17 Richard Biener ++ ++ PR debug/91887 ++ * dwarf2out.c (gen_formal_parameter_die): Also try to match ++ context_die against a DW_TAG_GNU_formal_parameter_pack parent. ++ ++ 2019-09-19 Richard Biener ++ ++ PR tree-optimization/91812 ++ * tree-ssa-phiprop.c (propagate_with_phi): Do not replace ++ volatile loads. ++ ++ 2019-09-17 Richard Biener ++ ++ PR debug/91772 ++ * dwarf2out.c (dwarf2out_late_global_decl): If early dwarf ++ was missing generate locations only once. ++ ++2019-10-23 Eric Botcazou ++ ++ PR tree-optimization/92131 ++ * tree-vrp.c (extract_range_from_plus_minus_expr): If the resulting ++ range would be symbolic, drop to varying for any explicit overflow ++ in the constant part or if neither range is a singleton. ++ ++2019-10-20 Iain Sandoe ++ ++ Backport from mainline ++ 2019-10-03 Iain Sandoe ++ ++ PR target/87243 ++ * config/darwin-driver.c (maybe_get_sysroot_from_sdkroot): New. ++ (darwin_driver_init): Use the sysroot provided by SDKROOT when that ++ is available and the user has not set one on the command line. ++ ++2019-10-20 Iain Sandoe ++ ++ Backport from mainline ++ 2019-07-03 Iain Sandoe ++ ++ * config/darwin.h (DRIVER_SELF_SPECS): Remove the linker cases. ++ (RDYNAMIC): Rename to, DARWIN_RDYNAMIC. ++ (DARWIN_PIE_SPEC, DARWIN_NOPIE_SPEC): Adjust to remove the Xlinker ++ clauses. ++ (LINK_COMMAND_SPEC_A): Add DARWIN_RDYNAMIC, DARWIN_PIE_SPEC and ++ DARWIN_NOPIE_SPEC. ++ ++ Backport from mainline ++ 2019-06-19 Iain Sandoe ++ ++ * config/darwin.h (DRIVER_SELF_SPECS): Add RDYNAMIC, DARWIN_PIE_SPEC ++ and DARWIN_NOPIE_SPEC. ++ (RDYNAMIC): New, modified from DARWIN_EXPORT_DYNAMIC. ++ (DARWIN_PIE_SPEC): Collate from darwin.h and darwin9.h. ++ (DARWIN_NOPIE_SPEC): Collate from darwin10.h. ++ (DARWIN_NOCOMPACT_UNWIND): New from darwin10.h ++ (DARWIN_EXPORT_DYNAMIC): Delete. ++ * config/darwin10.h (LINK_GCC_C_SEQUENCE_SPEC): Move no_compact_unwind ++ and pie options processing to darwin.h. ++ * config/darwin9.h (DARWIN_PIE_SPEC): Move pie processing to darwin.h ++ ++2019-10-18 Georg-Johann Lay ++ ++ Backport from 2019-10-18 trunk r277143. ++ ++ PR target/86040 ++ * config/avr/avr.c (avr_out_lpm): Do not shortcut-return. ++ ++2019-10-17 Segher Boessenkool ++ ++ Backport from trunk ++ 2019-03-15 Segher Boessenkool ++ ++ PR rtl-optimization/89721 ++ * lra-constraints (invariant_p): Return false if side_effects_p holds. ++ ++2019-10-17 Richard Earnshaw ++ ++ Backport from mainline ++ 2019-05-03 Richard Earnshaw ++ ++ PR target/89400 ++ * config/arm/arm.md (unaligned_loadsi): Add variant for thumb1. ++ Restrict 'all' variant to 32-bit configurations. ++ (unaligned_loadhiu): Likewise. ++ (unaligned_storehi): Likewise. ++ (unaligned_storesi): Likewise. ++ (unaligned_loadhis): Disable when compiling for thumb1. ++ ++2019-10-14 Will Schmidt ++ ++ Backport from trunk ++ 2019-09-26 Will Schmidt ++ ++ * config/rs6000/rs6000-builtin.def: (LVSL, LVSR, LVEBX, LVEHX, ++ LVEWX, LVXL, LVXL_V2DF, LVXL_V2DI, LVXL_V4SF, LVXL_V4SI, LVXL_V8HI, ++ LVXL_V16QI, LVX, LVX_V1TI, LVX_V2DF, LVX_V2DI, LVX_V4SF, LVX_V4SI, ++ LVX_V8HI, LVX_V16QI, LVLX, LVLXL, LVRX, LVRXL, LXSDX, LXVD2X_V1TI, ++ LXVD2X_V2DF, LXVD2X_V2DI, LXVDSX, LXVW4X_V4SF, LXVW4X_V4SI, ++ LXVW4X_V8HI, LXVW4X_V16QI, LD_ELEMREV_V1TI, LD_ELEMREV_V2DF, ++ LD_ELEMREV_V2DI, LD_ELEMREV_V4SF, LD_ELEMREV_V4SI, LD_ELEMREV_V8HI, ++ LD_ELEMREV_V16QI): Use the PURE attribute. ++ ++2019-10-10 Uroš Bizjak ++ ++ PR target/92022 ++ * config/alpha/alpha.c (alpha_handle_trap_shadows): Skip DEBUG_INSN. ++ ++2019-10-10 Oleg Endo ++ ++ Backport from mainline ++ 2019-10-10 Oleg Endo ++ ++ PR target/88630 ++ * config/sh/sh.h (TARGET_FPU_SH4_300): New macro. ++ * config/sh/sh.c (sh_option_override): Enable fsca and fsrra insns ++ also for TARGET_FPU_SH4_300. ++ (sh_emit_mode_set): Check for TARGET_FPU_SH4_300 instead of ++ TARGET_SH4_300. ++ * config/sh/sh.md (toggle_pr): Add TARGET_FPU_SH4_300 condition. ++ (negsf2): Expand to either negsf2_fpscr or negsf2_no_fpscr. ++ (*negsf2_i): Split into ... ++ (negsf2_fpscr, negsf2_no_fpscr): ... these new patterns. ++ (abssf2): Expand to either abssf2_fpsc or abssf2_no_fpsc. ++ (**abssf2_i): Split into ... ++ (abssf2_fpscr, abssf2_no_fpscr): ... these new patterns. ++ (negdf2): Expand to either negdf2_fpscr or negdf2_no_fpscr. ++ (*negdf2_i): Split into ... ++ (negdf2_fpscr, negdf2_no_fpscr): ... these new patterns. ++ (absdf2): Expand to either absdf2_fpscr or absdf2_no_fpsc. ++ (**abssf2_i): Split into ... ++ (absdf2_fpscr, absdf2_no_fpscr): ... these new patterns. ++ ++2019-10-07 Bill Schmidt ++ ++ Backport from mainline ++ 2019-10-01 Bill Schmidt ++ ++ PR target/91275 ++ * config/rs6000/rs6000-p8swap.c (rtx_is_swappable_p): Don't swap ++ vpmsumd. ++ ++2019-10-01 Oleg Endo ++ ++ Backport from mainline ++ ++ 2019-10-01 Oleg Endo ++ ++ PR target/88562 ++ * config/sh/sh.c (sh_extending_set_of_reg::use_as_extended_reg): Use ++ sh_check_add_incdec_notes to preserve REG_INC notes when replacing ++ a memory access insn. ++ ++2019-10-01 Kyrylo Tkachov ++ ++ Backport from mainline ++ 2019-09-24 Kyrylo Tkachov ++ ++ * config/aarch64/aarch64.md (mov): Don't call ++ aarch64_split_dimode_const_store on volatile MEM. ++ ++2019-10-01 Eric Botcazou ++ ++ PR target/91854 ++ Backport from mainline ++ 2019-09-20 Eric Botcazou ++ ++ PR target/91269 ++ * config/sparc/sparc.h (HARD_REGNO_CALLER_SAVE_MODE): Define. ++ ++2019-09-28 Oleg Endo ++ ++ Backport from mainline ++ 2019-09-28 Oleg Endo ++ ++ PR target/80672 ++ * config/sh/sh.c (parse_validate_atomic_model_option): Use ++ std::string::compare instead of std::string::find. ++ ++2019-09-28 Oleg Endo ++ ++ Backport from mainline ++ 2018-07-15 Jeff Law ++ ++ PR target/85993 ++ * config/sh/sh.c (output_mi_thunk): Remove dead conditional ++ block. ++ ++2019-09-26 Iain Sandoe ++ ++ Backport from mainline ++ 2019-06-16 Iain Sandoe ++ ++ * config/darwin.opt (prebind, noprebind, seglinkedit, ++ noseglinkedit): Add RejectNegative. ++ ++ Backport from mainline ++ 2019-06-14 Iain Sandoe ++ ++ * config/darwin.opt: Add RejectNegative where needed, reorder ++ and add minimal functional descriptions. ++ ++2019-09-25 Kyrylo Tkachov ++ ++ Backport from mainline ++ 2019-08-22 Kyrylo Tkachov ++ ++ * config/arm/arm_acle.h: Use arch=armv8-a+crc+simd pragma for CRC32 ++ intrinsics if __ARM_FP. ++ Use __ARM_FEATURE_CRC32 ifdef guard. ++ ++2019-09-23 Max Filippov ++ ++ Backport from mainline ++ 2019-06-18 Max Filippov ++ ++ * config/xtensa/xtensa.c (xtensa_expand_prologue): Add stack ++ pointer adjustment for the case of no callee-saved registers and ++ stack frame bigger than 128 bytes. ++ ++2019-09-20 John David Anglin ++ ++ * config/pa/pa.c (pa_trampoline_init): Remove spurious extended ++ character. ++ ++2019-09-20 Andreas Krebbel ++ ++ Backport from mainline ++ 2019-06-06 Andreas Krebbel ++ ++ PR rtl-optimization/88751 ++ * ira.c (ira): Use the number of the actually referenced registers ++ when calculating the threshold. ++ ++2019-09-11 Eric Botcazou ++ ++ PR rtl-optimization/89795 ++ * rtlanal.c (nonzero_bits1) : Do not propagate results from ++ inner REGs to paradoxical SUBREGs if WORD_REGISTER_OPERATIONS is set. ++ ++2019-09-09 Jakub Jelinek ++ ++ PR target/87853 ++ * config/i386/emmintrin.h (_mm_cmpeq_epi8): Use casts to __v16qi ++ instead of __v16qs. ++ ++ PR target/91704 ++ * config/i386/avxintrin.h (__v32qs): New typedef. ++ * config/i386/avx2intrin.h (_mm256_cmpgt_epi8): Use casts to __v32qs ++ instead of __v32qi. ++ ++2019-09-04 Wilco Dijkstra ++ ++ Backport from mainline ++ 2019-08-13 Wilco Dijkstra ++ ++ PR target/81800 ++ * gcc/config/aarch64/aarch64.md (lrint): Disable lrint pattern if GPF ++ operand is larger than a long int. ++ ++2019-09-03 Iain Sandoe ++ ++ Backport from mainline ++ 2019-08-23 Iain Sandoe ++ ++ PR pch/61250 ++ * ggc-page.c (ggc_pch_read): Read the ggc_pch_ondisk structure ++ and issue any diagnostics needed before collecting the pre-PCH ++ state. ++ ++2019-09-01 Eric Botcazou ++ ++ PR target/91472 ++ * config/sparc/sparc.c (sparc_cannot_force_const_mem): Return true ++ during LRA/reload in PIC mode if the PIC register hasn't been used yet. ++ (sparc_pic_register_p): Test reload_in_progress for consistency's sake. ++ ++2019-08-30 Richard Biener ++ ++ Backport from mainline ++ 2019-06-21 Richard Biener ++ ++ PR tree-optimization/90930 ++ * tree-ssa-reassoc.c (rewrite_expr_tree_parallel): Set visited ++ flag on new stmts to avoid re-processing them. ++ ++ 2019-05-27 Richard Biener ++ ++ PR tree-optimization/90637 ++ * tree-ssa-sink.c (statement_sink_location): Honor the ++ computed sink location for single-uses. ++ ++2019-08-30 Richard Biener ++ ++ Backport from mainline ++ 2019-07-08 Richard Biener ++ ++ PR tree-optimization/91108 ++ * tree-ssa-sccvn.c: Include builtins.h. ++ (vn_reference_lookup_3): Use only alignment constraints to ++ verify same-valued store disambiguation. ++ ++2019-08-30 Segher Boessenkool ++ ++ Backport from trunk ++ 2019-08-22 Segher Boessenkool ++ ++ PR target/91481 ++ * config/rs6000/rs6000.md (unspec): Delete UNSPEC_DARN, UNSPEC_DARN_32, ++ and UNSPEC_DARN_RAW. ++ (unspecv): New enumerator values UNSPECV_DARN, UNSPECV_DARN_32, and ++ UNSPECV_DARN_RAW. ++ (darn_32): Use an unspec_volatile, and UNSPECV_DARN_32. ++ (darn_raw): Use an unspec_volatile, and UNSPECV_DARN_RAW. ++ (darn): Use an unspec_volatile, and UNSPECV_DARN. ++ ++2019-08-30 Segher Boessenkool ++ ++ Backport from trunk ++ 2019-08-22 Segher Boessenkool ++ ++ * config/rs6000/altivec.md (unspec): Delete UNSPEC_DARN, UNSPEC_DARN_32, ++ UNSPEC_DARN_RAW, UNSPEC_CMPRB, UNSPEC_CMPRB2, UNSPEC_CMPEQB; move to... ++ * config/rs6000/rs6000.md (unspec): ... here. ++ * config/rs6000/altivec.md (darn_32, darn_raw, darn, cmprb, ++ *cmprb_internal, setb_signed, setb_unsigned, cmprb2, *cmprb2_internal, ++ cmpeqb, *cmpeqb_internal): Delete, move to... ++ * config/rs6000/rs6000.md (darn_32, darn_raw, darn, cmprb, ++ *cmprb_internal, setb_signed, setb_unsigned, cmprb2, *cmprb2_internal, ++ cmpeqb, *cmpeqb_internal): ... here. ++ ++2019-08-30 Richard Biener ++ ++ Backport from mainline ++ 2019-01-07 Richard Sandiford ++ ++ PR middle-end/88567 ++ * tree-vect-loop.c (get_initial_defs_for_reduction): Pass the ++ output vector directly to duplicate_and_interleave instead of ++ going through a temporary. Postpone insertion of ctor_seq to ++ the end of the loop. ++ ++ 2018-12-04 Richard Biener ++ ++ PR tree-optimization/88315 ++ * tree-vect-loop.c (get_initial_defs_for_reduction): Simplify ++ and fix initialization vector for SAD and DOT_PROD SLP reductions. ++ ++2019-08-30 Richard Biener ++ ++ Backport from mainline ++ 2019-06-18 Richard Biener ++ ++ PR debug/90900 ++ * cfgexpand.c (expand_debug_expr): Treat NOTE_P DECL_RTL ++ as if optimized away. ++ ++ 2019-04-29 Richard Biener ++ ++ PR tree-optimization/90278 ++ * tree-ssa-forwprop.c (pass_forwprop::execute): Transfer/clean ++ EH on comparison simplification. ++ ++ 2019-04-25 Richard Biener ++ ++ PR middle-end/90194 ++ * match.pd: Add pattern to simplify view-conversion of an ++ empty constructor. ++ ++2019-08-30 Richard Biener ++ ++ Backport from mainline ++ 2019-08-12 Richard Biener ++ ++ PR lto/91375 ++ * tree.c (free_lang_data_in_type): Do not free TYPE_BINFO dependent on ++ flag_devirtualize. ++ ++ 2019-07-31 Richard Biener ++ ++ PR tree-optimization/91293 ++ * tree-vect-slp.c (vect_build_slp_tree_2): Do not swap operands ++ of reduction stmts. ++ ++ 2019-07-31 Richard Biener ++ ++ PR tree-optimization/91280 ++ * tree-ssa-structalias.c (get_constraint_for_component_ref): ++ Decompose MEM_REF manually for offset handling. ++ ++ 2019-07-19 Richard Biener ++ ++ PR tree-optimization/91200 ++ * tree-ssa-phiopt.c (cond_store_replacement): Check we have ++ no PHI nodes in middle-bb. ++ ++ 2019-07-15 Richard Biener ++ ++ PR middle-end/91162 ++ * tree-cfg.c (move_block_to_fn): When releasing a virtual PHI ++ node make sure to replace all uses with something valid. ++ ++ 2019-07-11 Richard Biener ++ ++ PR middle-end/91131 ++ * gimplify.c (gimplify_compound_literal_expr): Force a temporary ++ when the object is volatile and we have not cleared it even though ++ there are no nonzero elements. ++ ++ 2019-07-10 Richard Biener ++ ++ PR tree-optimization/91126 ++ * tree-ssa-sccvn.c (vn_reference_lookup_3): Adjust ++ native encoding offset for BYTES_BIG_ENDIAN. ++ ++2019-08-30 Richard Biener ++ ++ * lto-streamer.h (LTO_minor_version): Bump. ++ ++ Backport from mainline ++ 2019-05-06 Richard Biener ++ ++ PR tree-optimization/90328 ++ * tree-data-ref.h (dr_may_alias_p): Pass in the actual loop nest. ++ * tree-data-ref.c (dr_may_alias_p): Check whether the clique ++ is valid in the loop nest before using it. ++ (initialize_data_dependence_relation): Adjust. ++ * graphite-scop-detection.c (build_alias_set): Pass the SCOP enclosing ++ loop as loop-nest to dr_may_alias_p. ++ ++ 2019-03-08 Richard Biener ++ ++ PR middle-end/89578 ++ * cfgloop.h (struct loop): Add owned_clique field. ++ * cfgloopmanip.c (copy_loop_info): Copy it. ++ * tree-cfg.c (gimple_duplicate_bb): Do not remap owned_clique ++ cliques. ++ * tree-inline.c (copy_loops): Remap owned_clique. ++ * lto-streamer-in.c (input_cfg): Stream owned_clique. ++ * lto-streamer-out.c (output_cfg): Likewise. ++ ++ 2019-02-22 Richard Biener ++ ++ PR tree-optimization/87609 ++ * tree-cfg.c (gimple_duplicate_bb): Only remap inlined cliques. ++ ++ 2019-02-22 Richard Biener ++ ++ PR middle-end/87609 ++ * cfghooks.h (dependence_hash): New typedef. ++ (struct copy_bb_data): New type. ++ (cfg_hooks::duplicate_block): Adjust to take a copy_bb_data argument. ++ (duplicate_block): Likewise. ++ * cfghooks.c (duplicate_block): Pass down copy_bb_data. ++ (copy_bbs): Create and pass down copy_bb_data. ++ * cfgrtl.c (cfg_layout_duplicate_bb): Adjust. ++ (rtl_duplicate_bb): Likewise. ++ * tree-cfg.c (gimple_duplicate_bb): If the copy_bb_data arg is not NULL ++ remap dependence info. ++ ++ 2019-02-22 Richard Biener ++ ++ PR tree-optimization/87609 ++ * tree-core.h (tree_base): Document special clique values. ++ * tree-inline.c (remap_dependence_clique): Do not use the ++ special clique value of one. ++ (maybe_set_dependence_info): Use clique one. ++ (clear_dependence_clique): New callback. ++ (compute_dependence_clique): Clear clique one from all refs ++ before assigning it (again). ++ ++2019-08-30 Bin Cheng ++ ++ Backport from mainline ++ 2019-07-18 Bin Cheng ++ ++ PR tree-optimization/91137 ++ * tree-ssa-loop-ivopts.c (struct ivopts_data): New field. ++ (tree_ssa_iv_optimize_init, alloc_iv, tree_ssa_iv_optimize_finalize): ++ Init, use and fini the above new field. ++ (determine_base_object_1): New function. ++ (determine_base_object): Reimplement using walk_tree. ++ ++2019-08-30 Richard Biener ++ ++ Backport from mainline ++ 2019-04-09 Richard Sandiford ++ ++ * tree-vect-data-refs.c (vect_get_smallest_scalar_type): Always ++ use gimple_expr_type for load and store calls. Skip over the ++ condition argument in a conditional internal function. ++ Protect use of TREE_INT_CST_LOW. ++ ++ 2019-04-08 Richard Biener ++ ++ PR tree-optimization/90006 ++ * tree-vect-data-refs.c (vect_get_smallest_scalar_type): Handle ++ calls like lrint. ++ ++ 2019-04-01 Bin Cheng ++ ++ PR tree-optimization/89725 ++ * tree-chrec.c (chrec_contains_symbols): New parameter. Handle outer ++ loop's chrec as invariant symbol. ++ * tree-chrec.h (chrec_contains_symbols): New parameter. ++ * tree-data-ref.c (analyze_miv_subscript): Pass new argument. ++ (build_classic_dist_vector_1, add_other_self_distances): Bypass access ++ function of loops not in DDR's loop_nest. ++ ++ 2019-03-26 Bin Cheng ++ ++ PR tree-optimization/81740 ++ * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): ++ In case of outer loop vectorization, check for backward dependence ++ at the inner loop if outer loop dependence is reversed. ++ ++2019-08-30 Richard Biener ++ ++ Backport from mainline ++ 2019-04-24 Richard Biener ++ ++ PR middle-end/90213 ++ * gimple-fold.c (fold_const_aggregate_ref_1): Do multiplication ++ by size and BITS_PER_UNIT on poly-wide-ints. ++ ++ 2019-04-11 Richard Biener ++ ++ PR tree-optimization/90020 ++ * tree-ssa-sccvn.c (vn_reference_may_trap): New function. ++ * tree-ssa-sccvn.h (vn_reference_may_trap): Declare. ++ * tree-ssa-pre.c (compute_avail): Use it to not put ++ possibly trapping references after a call that might not ++ return into EXP_GEN. ++ * gcse.c (compute_hash_table_work): Do not elide ++ marking a block containing a call if the call might not ++ return. ++ ++2019-08-29 Iain Sandoe ++ ++ Backport from mainline ++ 2019-07-24 Iain Sandoe ++ ++ PR bootstrap/87030 ++ * config/i386/darwin.h (REAL_LIBGCC_SPEC): Revert change from r273749. ++ ++ PR bootstrap/87030 ++ * config/i386/darwin.h (REAL_LIBGCC_SPEC): Move from here... ++ * config/i386/darwin32-biarch.h .. to here. ++ * config/i386/darwin64-biarch.h: Adjust comments. ++ * config/rs6000/darwin32-biarch.h: Likewise. ++ * config/rs6000/darwin64-biarch.h: Likewise. ++ * config.gcc: Missed commit from r273746 ++ (*-*-darwin*): Don't include CPU t-darwin here. ++ (i[34567]86-*-darwin*): Adjust to use biarch files. Produce ++ an error message if i686-darwin configuration is attempted for ++ Darwin >= 18. ++ ++ Backport from mainline ++ 2019-07-23 Iain Sandoe ++ ++ PR bootstrap/87030 ++ * config.gcc (*-*-darwin*): Don't include CPU t-darwin here. ++ (i[34567]86-*-darwin*): Adjust to use biarch files. Produce ++ an error message if i686-darwin configuration is attempted for ++ Darwin >= 18. ++ (x86_64-*-darwin*): Switch to single multilib for Darwin >= 18. ++ (powerpc-*-darwin*): Use biarch files where needed. ++ (powerpc64-*-darwin*): Likewise. ++ * config/i386/darwin.h (REAL_LIBGCC_SPEC): Move to new biarch file. ++ (DARWIN_ARCH_SPEC, DARWIN_SUBARCH_SPEC): Revise for default single ++ arch case. ++ * config/i386/darwin32-biarch.h: New. ++ * config/i386/darwin64.h: Rename. ++ * gcc/config/i386/darwin64-biarch.h: To this. ++ * config/i386/t-darwin: Rename. ++ * gcc/config/i386/t-darwin32-biarch: To this. ++ * config/i386/t-darwin64: Rename. ++ * gcc/config/i386/t-darwin64-biarch: To this. ++ * config/rs6000/darwin32-biarch.h: New. ++ * config/rs6000/darwin64.h: Rename. ++ * config/rs6000/darwin64-biarch.h: To this. ++ (DARWIN_ARCH_SPEC, DARWIN_SUBARCH_SPEC): Revise for default single ++ arch case. ++ * config/rs6000/t-darwin8: Rename. ++ * config/rs6000/t-darwin32-biarch: To this. ++ * config/rs6000/t-darwin64 Rename. ++ * config/rs6000/t-darwin64-biarch: To this. ++ ++2019-08-29 Jakub Jelinek ++ ++ Backported from mainline ++ 2019-07-30 Jakub Jelinek ++ ++ PR target/91150 ++ * config/i386/i386.c (expand_vec_perm_blend): Change mask type ++ from unsigned to unsigned HOST_WIDE_INT. For E_V64QImode cast ++ comparison to unsigned HOST_WIDE_INT before shifting it left. ++ ++ 2019-07-04 Jakub Jelinek ++ ++ PR middle-end/78884 ++ * gimplify.c (struct gimplify_omp_ctx): Add add_safelen1 member. ++ (gimplify_bind_expr): If seeing TREE_ADDRESSABLE VLA inside of simd ++ loop body, set ctx->add_safelen1 instead of making it GOVD_PRIVATE. ++ (gimplify_adjust_omp_clauses): Add safelen (1) clause if ++ ctx->add_safelen1 is set. ++ ++ PR rtl-optimization/90756 ++ * explow.c (promote_ssa_mode): Always use TYPE_MODE, don't bypass it ++ for VECTOR_TYPE_P. ++ ++ 2019-06-12 Jakub Jelinek ++ ++ PR c/90760 ++ * symtab.c (symtab_node::set_section): Allow being called on aliases ++ as long as they aren't analyzed yet. ++ ++ 2019-06-05 Jakub Jelinek ++ ++ PR debug/90733 ++ * var-tracking.c (vt_expand_loc_callback): Don't create raw subregs ++ with VOIDmode inner operands. ++ ++ 2019-04-19 Jakub Jelinek ++ ++ PR middle-end/90139 ++ * tree-outof-ssa.c (get_temp_reg): If reg_mode is BLKmode, return ++ assign_temp instead of gen_reg_rtx. ++ ++2019-08-27 Iain Sandoe ++ ++ Backport from mainline ++ 2019-07-07 Iain Sandoe ++ ++ * config/darwin.c (darwin_override_options): Make a final check on PIC ++ options. ++ ++2019-08-27 Iain Sandoe ++ ++ Backport from mainline ++ 2019-07-07 Iain Sandoe ++ * config/darwin.c (darwin_override_options): Don't jam symbol stubs ++ on for kernel code. ++ ++2019-08-27 Iain Sandoe ++ ++ Backport from mainline ++ 2019-06-27 Iain Sandoe ++ ++ * config/rs6000/rs6000.c (darwin_rs6000_override_options): Do not ++ use longcall for 64b code. ++ ++2019-08-27 Iain Sandoe ++ ++ Backport from mainline ++ 2019-08-18 Iain Sandoe ++ ++ * config/rs6000/darwin.h (TARGET_OS_CPP_BUILTINS): Add asserts ++ for cpu and machine. Factor 64/32b builtins. ++ ++ Backport from mainline ++ 2019-06-23 Iain Sandoe ++ ++ * config/rs6000/darwin.h: (__PPC__, __PPC64__): New. ++ ++2019-08-25 Iain Sandoe ++ ++ Backport from mainline ++ 2019-06-19 Iain Sandoe ++ ++ * config/darwin-driver.c (darwin_driver_init): Fix off-by-one errors ++ in computing the number of options to be moved. ++ ++ Backport from mainline ++ 2019-06-13 Iain Sandoe ++ ++ * config/darwin-driver.c (validate_macosx_version_min): New. ++ (darwin_default_min_version): Cleanup and validate supplied version. ++ (darwin_driver_init): Likewise and push cleaned version into opts. ++ ++2019-08-25 Uroš Bizjak ++ ++ PR target/91533 ++ Backport from mainline ++ 2019-06-30 Uroš Bizjak ++ ++ * config/i386/sse.md (ssse3_abs2): Rename from abs2. ++ * config/i386/i386-builtin.def (__builtin_ia32_pabsb): ++ Use CODE_FOR_ssse3_absv8qi2. ++ (__builtin_ia32_pabsw): Use CODE_FOR_ssse3_absv4hi2. ++ (__builtin_ia32_pabsd): Use CODE_FOR_ssse3_absv2si2. ++ ++2019-08-23 Mihailo Stojanovic ++ ++ Backport from mainline ++ 2019-08-23 Mihailo Stojanovic ++ ++ * config/mips/mips.md (mips_get_fcsr, *mips_get_fcsr): Use SI ++ machine mode for unspec_volatile operand. ++ ++2019-08-22 Iain Sandoe ++ ++ Backport from mainline ++ 2018-12-23 Iain Sandoe ++ ++ * config/i386/darwin.h (TARGET_ASM_OUTPUT_IDENT): New. ++ ++2019-08-22 Iain Sandoe ++ ++ Backport from mainline ++ 2019-05-31 Iain Sandoe ++ ++ * config/i386/darwin.h (ASM_OUTPUT_MAX_SKIP_ALIGN): New. ++ ++2019-08-22 Iain Sandoe ++ ++ Backport from mainline ++ 2019-05-18 Iain Sandoe ++ ++ * config/darwin-c.c (darwin_register_objc_includes): Do not ++ prepend the sysroot when building gnu-runtime header search ++ paths. ++ ++2019-08-22 Iain Sandoe ++ ++ Backport from mainline ++ 2019-05-18 Iain Sandoe ++ ++ * config/darwin.c (darwin_file_end): Use switch_to_section () ++ instead of direct output of the asm. ++ ++2019-08-20 Eric Botcazou ++ ++ PR rtl-optimization/91347 ++ * dse.c (scan_insn): Call add_wild_read for non-const/memset tail calls ++ before reload if HARD_FRAME_POINTER_IS_ARG_POINTER. ++ ++2019-08-16 Iain Sandoe ++ ++ Backport from mainline ++ 2019-04-21 Iain Sandoe ++ ++ * config/rs6000/rs6000.md (group_end_nop): Emit insn register ++ names using operand format, rather than hard-wired. ++ (speculation_barrier): Likewise. ++ ++2019-08-14 Iain Sandoe ++ ++ Backport from mainline ++ 2018-08-22 Iain Sandoe ++ ++ * config/darwin.h (LINK_COMMAND_SPEC_A): Update lto options ++ to match gcc/gcc.c. ++ ++2019-08-05 Kito Cheng ++ ++ Backport from mainline ++ 2019-08-05 Kito Cheng ++ ++ * config/riscv/riscv.c (riscv_promote_function_mode): New. ++ (TARGET_PROMOTE_FUNCTION_MODE): Use riscv_promote_function_mode. ++ ++2019-08-04 Segher Boessenkool ++ ++ Backport from trunk ++ 2019-05-02 Segher Boessenkool ++ ++ * config/rs6000/rs6000.c (rs6000_dbx_register_number): Return the ++ correct numbers for TFHAR, TFIAR, TEXASR. ++ ++2019-07-23 Matthew Beliveau ++ ++ Backported from mainline ++ 2019-07-16 Jeff Law ++ ++ PR rtl-optimization/91173 ++ * tree-ssa-address.c (addr_for_mem_ref): If the base is an ++ SSA_NAME with a constant value, fold its value into the offset ++ and clear the base before calling gen_addr_rtx. ++ * g++.dg/pr91173.C: New test. ++ ++2019-07-23 Richard Biener ++ ++ PR debug/91231 ++ * lto-streamer-in.c (input_function): Drop inline-entry markers ++ that ended up with an unknown location block. ++ ++2019-07-22 Martin Liska ++ ++ Backport from mainline ++ 2019-07-22 Martin Liska ++ ++ PR driver/91172 ++ * opts-common.c (decode_cmdline_option): Decode ++ argument of -Werror and check it for a wrong language. ++ * opts-global.c (complain_wrong_lang): Remove such case. ++ ++2019-07-21 Richard Sandiford ++ ++ Backport from mainline ++ 2019-07-10 Richard Sandiford ++ ++ * fold-const.c (fold_relational_const): Fix folding of ++ vector-to-scalar NE_EXPRs. ++ (test_vector_folding): Add more tests. ++ ++2019-07-19 Jason Merrill ++ ++ PR c++/82081 - tail call optimization breaks noexcept ++ * tree-tailcall.c (find_tail_calls): Don't turn a call from a ++ nothrow function to a might-throw function into a tail call. ++ ++2019-07-16 Wilco Dijkstra ++ ++ Backport from mainline ++ PR target/89222 ++ * config/arm/arm.md (movsi): Use targetm.cannot_force_const_mem ++ to decide when to split off a non-zero offset from a symbol. ++ * config/arm/arm.c (arm_cannot_force_const_mem): Disallow offsets ++ in function symbols. ++ ++2019-07-16 Wilco Dijkstra ++ ++ Backport from mainline ++ 2019-02-13 Wilco Dijkstra ++ PR target/89190 ++ * config/arm/arm.c (ldm_stm_operation_p) Set ++ addr_reg_in_reglist correctly for first register. ++ (load_multiple_sequence): Remove dead base check. ++ (gen_ldm_seq): Correctly set write_back for Thumb-1. ++ ++2019-07-15 Andreas Krebbel ++ ++ Backport from mainline ++ 2019-07-01 Andreas Krebbel ++ ++ * config/s390/vector.md: Fix shift count operand printing. ++ ++2019-07-15 Wilco Dijkstra ++ ++ Backport from mainline ++ 2019-01-23 Bin Cheng ++ Steve Ellcey ++ ++ PR target/85711 ++ * recog.c (address_operand): Return false on wrong mode for address. ++ (constrain_operands): Check for mode with 'p' constraint. ++ ++2019-07-12 Eric Botcazou ++ ++ PR rtl-optimization/91136 ++ * df-core.c (ACCESSING REFS): Fix typos in comment. ++ * resource.c (mark_target_live_reg): Add artificial defs that occur at ++ the beginning of the block to the initial set of live registers. ++ ++2019-07-04 Martin Liska ++ ++ Backport from mainline ++ 2019-07-03 Martin Liska ++ ++ PR middle-end/90899 ++ * multiple_target.c (create_dispatcher_calls): Add to comdat ++ group only if set for ifunc. ++ ++2019-06-28 Jeff Law ++ ++ Backport from mainline ++ 2019-06-21 Jeff Law ++ ++ PR tree-optimization/90949 ++ * tree-ssa-copy.c (fini_copy_prop): Use reset_flow_sensitive_info. ++ * tree-ssanames.c (reset_flow_sensitive_info): Reset non-null state. ++ ++2019-06-26 Martin Jambor ++ ++ Backport from mainline ++ 2019-06-25 Martin Jambor ++ ++ PR ipa/90939 ++ * ipa-cp.c (ipcp_bits_lattice::meet_with): Remove assert. ++ ++2019-06-26 Rainer Orth ++ ++ Backport from mainline ++ 2019-06-17 Rainer Orth ++ ++ * configure.ac (ld_vers) <*-*-solaris2*>: Remove support for ++ alternative Solaris 11.4 format. ++ * configure: Regenerate. ++ ++2019-06-16 Jeff Law ++ ++ Backport from mainline ++ 2019-06-16 Prachi Godbole ++ Robert Suchanek ++ * config/mips/mips.c (mips_expand_builtin_insn): Swap the 1st ++ and 3rd operands of the fmadd/fmsub/maddv builtin. ++ ++2019-06-16 John David Anglin ++ ++ PR middle-end/64242 ++ * config/pa/pa.md (nonlocal_goto): Restore frame pointer last. Add ++ frame clobbers and schedule block. ++ (builtin_longjmp): Likewise. ++ ++2019-06-11 Jakub Jelinek ++ ++ PR target/90811 ++ * config/nvptx/nvptx.c (nvptx_output_softstack_switch): Use and.b%d ++ instead of and.u%d. ++ ++2019-06-07 John David Anglin ++ ++ PR target/90751 ++ * config/pa/pa-linux.h (ASM_DECLARE_FUNCTION_NAME): Update comment. ++ Call pa_output_function_label. ++ (TARGET_ASM_FUNCTION_PROLOGUE): define. ++ * config/pa/pa-protos.h (pa_output_function_label): Declare. ++ * config/pa/pa.c (pa_output_function_prologue): Add ATTRIBUTE_UNUSED ++ to declaration. ++ (pa_linux_output_function_prologue): Declare. ++ (TARGET_ASM_FUNCTION_PROLOGUE): Delete define. ++ (pa_output_function_label): New. ++ (pa_output_function_prologue): Revise to use pa_output_function_label. ++ (pa_linux_output_function_prologue): New. ++ * config/pa/pa.h (TARGET_ASM_FUNCTION_PROLOGUE): Define. ++ ++2019-06-07 Iain Sandoe ++ ++ Backport from mainline. ++ 2019-05-12 Iain Sandoe ++ ++ PR target/82920 ++ * config/i386/darwin.h (CC1_SPEC): Report -mx32 as an error for ++ Darwin. ++ ++2019-06-07 Iain Sandoe ++ ++ Backport from mainline. ++ 2019-05-12 Iain Sandoe ++ ++ PR target/82920 ++ * config/i386/i386.c (ix86_output_jmp_thunk_or_indirect): New. ++ (ix86_output_indirect_branch_via_reg): Use output mechanism ++ accounting for __USER_LABEL_PREFIX__. ++ (ix86_output_indirect_branch_via_push): Likewise. ++ (ix86_output_function_return): Likewise. ++ (ix86_output_indirect_function_return): Likewise. ++ ++2019-05-30 Jakub Jelinek ++ ++ * tree-predcom.c (is_inv_store_elimination_chain): Fix a typo - lenght ++ to length. ++ ++2019-05-29 Jakub Jelinek ++ ++ PR fortran/90329 ++ * lto-streamer.h (LTO_minor_version): Bump to 2. ++ ++ Backported from mainline ++ 2019-05-16 Jakub Jelinek ++ ++ PR fortran/90329 ++ * tree-core.h (struct tree_decl_common): Document ++ decl_nonshareable_flag for PARM_DECLs. ++ * tree.h (DECL_HIDDEN_STRING_LENGTH): Define. ++ * calls.c (expand_call): Don't try tail call if caller ++ has any DECL_HIDDEN_STRING_LENGTH PARM_DECLs that are or might be ++ passed on the stack and callee needs to pass any arguments on the ++ stack. ++ * tree-streamer-in.c (unpack_ts_decl_common_value_fields): Use ++ else if instead of series of mutually exclusive ifs. Handle ++ DECL_HIDDEN_STRING_LENGTH for PARM_DECLs. ++ * tree-streamer-out.c (pack_ts_decl_common_value_fields): Likewise. ++ ++2019-05-28 John David Anglin ++ ++ * config/pa/pa.c (hppa_profile_hook): Remove offset adjustment. ++ ++2019-05-27 Eric Botcazou ++ ++ * dwarf2out.c (resolve_args_picking_1): Deal with DW_OP_GNU_addr_index ++ and DW_OP_GNU_const_index opcodes. ++ ++2019-05-24 John David Anglin ++ ++ PR target/90530 ++ * config/pa/pa.c (pa_can_change_mode_class): Accept mode changes from ++ DImode to SImode in floating-point registers on 64-bit target. ++ * config/pa/pa.md (umulsidi3): Change nonimmediate_operand to ++ register_operand in xmpyu patterns. ++ ++2019-05-24 Martin Liska ++ ++ Backport from mainline ++ 2019-05-23 Martin Liska ++ ++ PR sanitizer/90570 ++ * gimplify.c (gimplify_target_expr): Skip TREE_STATIC target ++ expression similarly to gimplify_decl_expr. ++ ++2019-05-23 Uroš Bizjak ++ ++ Backport from mainline ++ 2019-05-21 Uroš Bizjak ++ ++ * config/i386/cpuid.h (__cpuid): For 32bit targets, zero ++ %ebx and %ecx bafore calling cpuid with leaf 1 or ++ non-constant leaf argument. ++ ++ 2019-05-21 Uroš Bizjak ++ ++ PR target/90547 ++ * config/i386/i386.md (anddi_1 to andsi_1_zext splitter): ++ Avoid calling gen_lowpart with CONST operand. ++ ++2019-05-21 Sebastian Huber ++ ++ Backported from mainline ++ 2019-05-16 Sebastian Huber ++ ++ * config/arm/t-rtems: Replace ARMv7-M multilibs with Cortex-M ++ multilibs. ++ ++2019-05-20 Jeff Law ++ ++ Backport from mainline ++ 2019-05-17 Dragan Mladjenovic ++ ++ * config/mips/mips.c (mips_dwarf_frame_reg_mode): Replace ++ TARGET_FLOAT64 with !TARGET_FLOAT32, thus handling both fp64 ++ and fpxx modes. ++ ++2019-05-16 Kelvin Nilsen ++ ++ Backport from mainline. ++ 2019-05-07 Kelvin Nilsen ++ ++ PR target/89765 ++ * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): ++ In handling of ALTIVEC_BUILTIN_VEC_INSERT, use modular arithmetic ++ to compute vector element selector for both constant and variable ++ operands. ++ ++2019-05-15 David Edelsohn ++ ++ Backport from mainline ++ 2019-04-11 David Edelsohn ++ * xcoffout.h (xcoff_private_rodata_section_name): Declare. ++ * xcoffout.c (xcoff_private_rodata_section_name): Define. ++ * config/rs6000/rs6000.c (rs6000_xcoff_asm_init_sections): Create ++ read_only_private_data_section using coff_private_rodata_section_name. ++ (rs6000_xcoff_file_start): Generate coff_private_rodata_section_name. ++ ++ 2018-12-04 David Edelsohn ++ 2018-12-13 David Edelsohn ++ PR target/61976 ++ * config/rs6000/rs6000.c (rs6000_function_arg): Don't pass aggregates ++ in FPRs on AIX. Ensure type is non-NULL. ++ (rs6000_arg_partial_bytes): Same. ++ ++2019-05-14 Martin Liska ++ ++ Backport from mainline ++ 2019-05-13 Martin Liska ++ ++ PR gcov-profile/90380 ++ * gcov.c (handle_cycle): Do not support zero cycle count, ++ it should not be possible. ++ (path_contains_zero_cycle_arc): New function. ++ (circuit): Ignore zero cycle arc counts. ++ ++2019-05-14 Martin Liska ++ ++ Backport from mainline ++ 2019-05-13 Martin Liska ++ ++ PR gcov-profile/90380 ++ * gcov.c (enum loop_type): Remove the enum and ++ the operator. ++ (handle_cycle): Assert that we should not reach ++ a negative count. ++ (circuit): Use loop_found instead of a tri-state loop_type. ++ (get_cycles_count): Do not handle NEGATIVE_LOOP as it can't ++ happen. ++ ++2019-05-11 Andreas Tobler ++ ++ Backport from mainline. ++ 2019-04-25 Andreas Tobler ++ ++ * config/i386/freebsd64.h: Add bits for 32-bit multilib support. ++ * config/i386/t-freebsd64: New file. ++ * config.gcc: Add the t-freebsd64 for multilib support. ++ ++2019-05-08 Kelvin Nilsen ++ ++ Backport from mainline. ++ 2019-05-06 Kelvin Nilsen ++ ++ PR target/89424 ++ * config/rs6000/rs6000.c (rs6000_expand_vector_extract): Add ++ handling of V1TImode. ++ ++2019-05-06 Richard Biener ++ ++ PR bootstrap/90359 ++ Backport from mainline ++ 2019-03-11 Jakub Jelinek ++ ++ PR middle-end/89655 ++ PR bootstrap/89656 ++ * vr-values.c (vr_values::update_value_range): If ++ old_vr->varying_p (), don't update it, make new_vr also VARYING ++ and return false. ++ ++2019-05-03 Richard Biener ++ ++ Backport from mainline ++ 2019-03-14 Richard Biener ++ ++ PR middle-end/89698 ++ * fold-const.c (operand_equal_p): For INDIRECT_REF check ++ that the access types are similar. ++ ++ 2019-03-07 Richard Biener ++ ++ PR tree-optimization/89595 ++ * tree-ssa-dom.c (dom_opt_dom_walker::optimize_stmt): Take ++ stmt iterator as reference, take boolean output parameter to ++ indicate whether the stmt was removed and thus the iterator ++ already advanced. ++ (dom_opt_dom_walker::before_dom_children): Re-iterate over ++ stmts created by folding. ++ ++ 2019-03-14 Richard Biener ++ ++ PR tree-optimization/89710 ++ * tree-ssa-loop-ch.c (should_duplicate_loop_header_p): Use ++ safe_dyn_cast. ++ ++ 2019-04-15 Richard Biener ++ ++ PR tree-optimization/90071 ++ * tree-ssa-reassoc.c (init_range_entry): Do not pick up ++ abnormal operands from def stmts. ++ ++ 2018-08-20 Bernd Edlinger ++ ++ PR target/86984 ++ * expr.c (expand_assignment): Assert that bitpos is positive. ++ (store_field): Likewise ++ (expand_expr_real_1): Make sure that bitpos is positive. ++ * config/alpha/alpha.h (CONSTANT_ADDRESS_P): Avoid signed ++ integer overflow. ++ ++ 2019-03-14 Richard Biener ++ ++ PR target/89711 ++ * config/i386/i386.c (make_resolver_func): Properly set ++ DECL_CONTEXT on the RESULT_DECL. ++ * config/rs6000/rs6000.c (make_resolver_func): Likewise. ++ ++2019-04-30 Jakub Jelinek ++ ++ Backported from mainline ++ 2019-04-24 Jakub Jelinek ++ ++ PR target/90193 ++ * rtl.c (classify_insn): Return JUMP_INSN for asm goto. ++ * emit-rtl.c (try_split): Copy over REG_LABEL_TARGET. ++ ++ PR target/90187 ++ * config/i386/i386.c (ix86_expand_sse_fp_minmax): Force if_true into ++ a register if both if_true and if_false are MEMs. ++ ++ PR tree-optimization/90208 ++ * tree-cfg.c (remove_bb): Move forced labels from removed bbs ++ after labels of new_bb, not before them. ++ ++ 2019-04-16 Jakub Jelinek ++ ++ PR rtl-optimization/90082 ++ * dce.c (can_delete_call): New function. ++ (deletable_insn_p, mark_insn): Use it. ++ ++ PR tree-optimization/90090 ++ * tree-ssa-math-opts.c (is_division_by): Ignore divisions that can ++ throw internally. ++ (is_division_by_square): Likewise. Formatting fix. ++ ++ 2019-04-12 Jakub Jelinek ++ ++ PR rtl-optimization/89965 ++ * dce.c: Include rtl-iter.h. ++ (struct check_argument_load_data): New type. ++ (check_argument_load): New function. ++ (find_call_stack_args): Check for loads from stack slots still tracked ++ in sp_bytes and punt if any is found. ++ ++ PR c/89946 ++ * varasm.c (assemble_start_function): Don't use tree_fits_uhwi_p ++ and gcc_unreachable if it fails, just call tree_to_uhwi which ++ verifies that too. Test TREE_CHAIN instead of list_length > 1. ++ Start warning message with a lower-case letter. Formatting fixes. ++ ++ PR rtl-optimization/90026 ++ * cfgcleanup.c (try_optimize_cfg): When removing empty bb with no ++ successors, look for BARRIERs inside of the whole BB_FOOTER chain ++ rather than just at the start of it. If e->src BB_FOOTER is not NULL ++ in cfglayout mode, use emit_barrier_after_bb. ++ ++ 2019-04-11 Jakub Jelinek ++ ++ PR rtl-optimization/89965 ++ * dce.c (sp_based_mem_offset): New function. ++ (find_call_stack_args): Use sp_based_mem_offset. ++ ++ 2019-04-10 Jakub Jelinek ++ ++ PR c++/90010 ++ * gimple-ssa-sprintf.c (target_to_host): Fix handling of targstr ++ with strlen in between hostsz-3 and hostsz-1 inclusive when no ++ translation is needed, and when translation is needed, only append ++ ... if the string length is hostsz or more bytes long. Avoid using ++ strncpy or strcat. ++ ++ 2019-04-09 Jakub Jelinek ++ ++ PR tree-optimization/89998 ++ * gimple-ssa-sprintf.c (try_substitute_return_value): Use lhs type ++ instead of integer_type_node if possible, don't add ranges if return ++ type is not compatible with int. ++ * gimple-fold.c (gimple_fold_builtin_sprintf, ++ gimple_fold_builtin_snprintf): Use lhs type instead of hardcoded ++ integer_type_node. ++ ++ 2019-03-29 Jakub Jelinek ++ ++ PR c/89872 ++ * gimplify.c (gimplify_compound_literal_expr): Don't optimize a ++ non-addressable complit into its initializer if it is volatile. ++ ++ 2019-03-28 Jakub Jelinek ++ ++ PR middle-end/89621 ++ * tree-inline.h (struct copy_body_data): Add ++ dont_remap_vla_if_no_change flag. ++ * tree-inline.c (remap_type_3, remap_type_2): New functions. ++ (remap_type): Don't remap vla types if id->dont_remap_vla_if_no_change ++ and remap_type_2 returns false. ++ * omp-low.c (new_omp_context): Set ctx->cb.dont_remap_vla_if_no_change. ++ ++ 2019-03-20 Jakub Jelinek ++ ++ PR target/89752 ++ * lra-constraints.c (process_alt_operands) : For BLKmode, don't ++ update this_alternative nor this_alternative_set. ++ ++ 2019-03-19 Jakub Jelinek ++ ++ PR rtl-optimization/89768 ++ * loop-unroll.c (unroll_loop_constant_iterations): Use gen_int_mode ++ instead of GEN_INT. ++ (unroll_loop_runtime_iterations): Likewise. ++ ++ PR target/89752 ++ * gimplify.c (gimplify_asm_expr): For output argument with ++ TREE_ADDRESSABLE type, clear allows_reg if it allows memory, otherwise ++ diagnose error. ++ ++ PR target/89726 ++ * config/i386/i386.c (ix86_expand_floorceildf_32): In ceil ++ compensation use x2 += 1 instead of x2 -= -1 and when honoring ++ signed zeros, do another copysign after the compensation. ++ ++ 2019-03-15 Jakub Jelinek ++ ++ PR debug/89704 ++ * dwarf2out.c (add_const_value_attribute): Return false for MINUS, ++ SIGN_EXTEND and ZERO_EXTEND. ++ ++ 2019-03-14 Jakub Jelinek ++ ++ PR ipa/89684 ++ * multiple_target.c (create_dispatcher_calls): Change ++ references_to_redirect from vector of ipa_ref * to vector of ipa_ref. ++ In the node->iterate_referring loop, push *ref rather than ref, call ++ ref->remove_reference () and always pass 0 to iterate_referring. ++ ++ PR rtl-optimization/89679 ++ * expmed.c (expand_mult_const): Don't add a REG_EQUAL note if it ++ would contain a paradoxical SUBREG. ++ ++ PR tree-optimization/89703 ++ * tree-ssa-strlen.c (valid_builtin_call): Punt if stmt call types ++ aren't compatible also with builtin_decl_explicit. Check pure ++ or non-pure status of BUILT_IN_STR{{,N}CMP,N{LEN,{CAT,CPY}{,_CHK}}} ++ and BUILT_IN_STPNCPY{,_CHK}. ++ ++ 2019-03-13 Jakub Jelinek ++ ++ PR debug/89498 ++ * dwarf2out.c (size_of_die): For dw_val_class_view_list always use ++ DWARF_OFFSET_SIZE. ++ (value_format): For dw_val_class_view_list never use DW_FORM_loclistx. ++ ++ PR middle-end/88588 ++ * omp-simd-clone.c (ipa_simd_modify_stmt_ops): Handle PHI args. ++ (ipa_simd_modify_function_body): Handle PHIs. ++ ++ 2019-03-12 Jakub Jelinek ++ ++ PR middle-end/89663 ++ * builtins.c (expand_builtin_int_roundingfn, ++ expand_builtin_int_roundingfn_2): Return NULL_RTX instead of ++ gcc_unreachable if validate_arglist fails. ++ ++ 2019-03-09 Jakub Jelinek ++ ++ PR c/88568 ++ * attribs.c (handle_dll_attribute): Don't clear TREE_STATIC for ++ dllimport on VAR_DECLs with RECORD_TYPE or UNION_TYPE DECL_CONTEXT. ++ ++ 2019-03-05 Jakub Jelinek ++ ++ PR target/89587 ++ * config/rs6000/t-linux (MULTIARCH_DIRNAME): Set to non-empty only ++ if_multiarch. ++ ++ PR middle-end/89590 ++ * builtins.c (maybe_emit_free_warning): Punt if free doesn't have ++ exactly one argument. ++ ++ 2019-02-28 Jakub Jelinek ++ ++ PR c/89520 ++ * convert.c (convert_to_real_1, convert_to_integer_1): Punt for ++ builtins if they don't have a single scalar floating point argument. ++ Formatting fixes. ++ ++ 2019-02-20 Jakub Jelinek ++ ++ PR middle-end/89412 ++ * expr.c (expand_assignment): If result is a MEM, use change_address ++ instead of simplify_gen_subreg. ++ ++ 2019-02-20 Jakub Jelinek ++ David Malcolm ++ ++ PR middle-end/89091 ++ * fold-const.c (decode_field_reference): Return NULL_TREE if ++ lang_hooks.types.type_for_size returns NULL. Check it before ++ overwriting *exp_. Use return NULL_TREE instead of return 0. ++ ++ 2019-02-20 Jakub Jelinek ++ ++ PR middle-end/88074 ++ PR middle-end/89415 ++ * toplev.c (do_compile): Double the emin/emax exponents to workaround ++ buggy mpc_norm. ++ ++ 2019-02-19 Richard Biener ++ ++ PR middle-end/88074 ++ * toplev.c (do_compile): Initialize mpfr's exponent range ++ based on available float modes. ++ ++2019-04-30 Ramana Radhakrishnan ++ ++ Backport from mainline. ++ 2019-04-30 Ramana Radhakrishnan ++ PR target/86538 ++ * config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): ++ Define __ARM_FEATURE_ATOMICS. ++ ++2019-04-30 Srinath Parvathaneni ++ ++ Backport from mainline ++ 2018-12-11 Richard Earnshaw ++ ++ PR target/37369 ++ * config/aarch64/iterators.md (sizem1): Add sizes for ++ SFmode and DFmode. ++ (Vbtype): Add SFmode mapping. ++ * config/aarch64/aarch64.md (copysigndf3, copysignsf3): Delete. ++ (copysign3): New expand pattern. ++ (copysign3_insn): New insn pattern. ++ ++2019-04-29 Richard Sandiford ++ ++ Backport from mainline: ++ 2019-01-25 Richard Sandiford ++ ++ PR middle-end/89037 ++ * varasm.c (output_constructor_bitfield): Use wi::extract_uhwi ++ instead of accessing TREE_INT_CST_ELT directly. ++ ++2019-04-29 Richard Sandiford ++ ++ Backport from mainline: ++ 2018-08-23 Richard Sandiford ++ ++ PR target/85910 ++ * config/aarch64/aarch64.c (aarch64_expand_vec_perm_const_1): Fix ++ aarch64_evpc_tbl guard. ++ ++2019-04-29 Richard Sandiford ++ ++ Backport from mainline: ++ 2019-03-08 Richard Sandiford ++ ++ PR debug/89631 ++ * dwarf2cfi.c (dwarf2out_frame_debug_expr): Use CONST_POLY_INT ++ instead of POLY_INT_CST. ++ ++2019-04-26 Roman Zhuykov ++ ++ Backport from mainline ++ 2019-04-23 Roman Zhuykov ++ ++ PR rtl-optimization/87979 ++ * modulo-sched.c (sms_schedule): Start ii value "mii" should ++ not equal zero. ++ ++ PR rtl-optimization/84032 ++ * modulo-sched.c (ps_insn_find_column): Change condition so that ++ branch will always be the last insn in a row inside partial ++ schedule. ++ ++2019-04-19 Pat Haugen ++ ++ Backport from mainline: ++ 2019-04-16 Pat Haugen ++ ++ PR target/84369 ++ * config/rs6000/power9.md: Add store forwarding bypass. ++ ++2019-04-17 Martin Jambor ++ ++ Backport from mainline ++ 2019-03-10 Martin Jambor ++ ++ PR tree-optimization/85762 ++ PR tree-optimization/87008 ++ PR tree-optimization/85459 ++ * tree-sra.c (contains_vce_or_bfcref_p): New parameter, set the bool ++ it points to if there is a type changing MEM_REF. Adjust all callers. ++ (build_accesses_from_assign): Disable total scalarization if ++ contains_vce_or_bfcref_p returns true through the new parameter, for ++ both rhs and lhs. ++ ++2019-04-17 Kelvin Nilsen ++ ++ Backport from mainline ++ 2019-03-15 Kelvin Nilsen ++ ++ PR target/87532 ++ * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): ++ When handling vec_extract, use modular arithmetic to allow ++ constant selectors greater than vector length. ++ * config/rs6000/rs6000.c (rs6000_expand_vector_extract): Allow ++ V1TImode vectors to have constant selector values greater than 0. ++ Use modular arithmetic to compute vector index. ++ (rs6000_split_vec_extract_var): Use modular arithmetic to compute ++ index for in-memory vectors. Correct code generation for ++ in-register vectors. Use inner mode of vector rather than mode of ++ destination for move instruction. ++ (altivec_expand_vec_ext_builtin): Use modular arithmetic to ++ compute index. ++ ++ 2019-04-12 Kelvin Nilsen ++ ++ PR target/87532 ++ * config/rs6000/vsx.md (*vsx_extract__mode_var): ++ Use QI inner mode with V16QI vector mode. ++ ++2019-04-15 Martin Jambor ++ ++ Backport from mainline ++ 2019-04-15 Martin Jambor ++ ++ PR ipa/89693 ++ * cgraph.c (clone_of_p): Loop over clone chain for each step in ++ the thunk chain. ++ ++2019-04-15 Martin Liska ++ ++ Backport from mainline ++ 2019-01-18 Martin Liska ++ Richard Biener ++ ++ PR middle-end/88587 ++ * cgraph.h (create_version_clone_with_body): Add new argument ++ with attributes. ++ * cgraphclones.c (cgraph_node::create_version_clone): Add ++ DECL_ATTRIBUTES to a newly created decl. And call ++ valid_attribute_p so that proper cl_target_optimization_node ++ is set for the newly created declaration. ++ * multiple_target.c (create_target_clone): Set DECL_ATTRIBUTES ++ for declaration. ++ (expand_target_clones): Do not call valid_attribute_p, it must ++ be already done. ++ * tree-inline.c (copy_decl_for_dup_finish): Reset mode for ++ vector types. ++ ++2019-04-11 Richard Biener ++ ++ PR tree-optimization/90018 ++ * tree-vect-data-refs.c (vect_preserves_scalar_order_p): ++ Test both SLP and interleaving variants. ++ ++2019-04-10 Matthew Malcomson ++ ++ PR target/90024 ++ * config/arm/arm.c (neon_valid_immediate): Disallow VOIDmode parameter. ++ * config/arm/constraints.md (Dm, DN, Dn): Split previous Dn constraint ++ into three. ++ * config/arm/neon.md (*neon_mov): Account for TImode and DImode ++ differences directly. ++ (*smax3_neon, vashl3, vashr3_imm): Use Dm constraint. ++ ++2019-04-07 Uroš Bizjak ++ ++ PR target/89945 ++ * config/i386/i386.md (anddi_1 to andsi_1_zext splitter): ++ Avoid calling gen_lowpart with SYMBOL_REF and LABEL_REF operand. ++ ++2019-04-04 Martin Sebor ++ ++ PR middle-end/89934 ++ * gimple-ssa-warn-restrict.c (builtin_access::builtin_access): Bail ++ out if the number of arguments is less than expected. ++ ++2019-04-03 Richard Biener ++ ++ PR lto/89896 ++ * lto-wrapper.c (run_gcc): Avoid implicit rules making ++ the all target phony. ++ ++2019-04-02 Uroš Bizjak ++ ++ PR target/89902 ++ PR target/89903 ++ * config/i386/i386.c (dimode_scalar_to_vector_candidate_p): ++ Return false for variable DImode shifts. ++ (dimode_scalar_chain::compute_convert_gain): Do not handle ++ register count operand in variable DImode shifts. ++ (dimode_scalar_chain::make_vector_copies): Remove support to copy ++ count argument of a variable shift instruction to a vector register. ++ (dimode_scalar_chain::convert_reg): Remove support to convert ++ count argument of a variable shift instruction. ++ ++2019-03-29 Kugan Vivekanandarajah ++ ++ Backport from mainline ++ 2019-03-29 Kugan Vivekanandarajah ++ Eric Botcazou ++ ++ PR rtl-optimization/89862 ++ * rtl.h (word_register_operation_p): Exclude CONST_INT from operations ++ that operates on the full registers for WORD_REGISTER_OPERATIONS ++ architectures. ++ ++2019-03-28 Uroš Bizjak ++ ++ PR target/89848 ++ * config/i386/i386.c (dimode_scalar_chain::make_vector_copies): ++ Also process XEXP (src, 0) of a shift insn. ++ ++2019-03-28 Martin Liska ++ ++ Backport from mainline ++ 2018-11-05 Martin Liska ++ ++ PR web/87829 ++ * doc/invoke.texi: Remove options that are ++ not disabled with -Os. ++ ++2019-03-26 Uroš Bizjak ++ ++ PR target/89827 ++ * config/i386/i386.c (dimode_scalar_chain::convert_reg): ++ Also process XEXP (src, 0) of a shift insn. ++ ++2019-03-25 Andreas Krebbel ++ ++ Backport from mainline ++ 2019-03-20 Andreas Krebbel ++ ++ 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 ++ ++ Backport from mainline ++ 2019-03-22 Bill Schmidt ++ ++ * config/rs6000/mmintrin.h (_mm_sub_pi32): Fix typo. ++ ++2019-03-21 Bill Schmidt ++ ++ Backport from mainline ++ 2019-03-08 Bill Schmidt ++ ++ * config/rs6000/rs6000-p8swap.c (rs6000_analyze_swaps): Rebuild ++ ud- and du-chains between phases. ++ ++2019-03-19 Richard Biener ++ ++ PR debug/88389 ++ * opts.c (finish_options): Disable -gsplit-dwarf when doing LTO. ++ ++2019-03-19 Eric Botcazou ++ ++ 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 ++ ++ 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 ++ ++ Backport from mainline ++ 2019-03-18 Martin Jambor ++ ++ 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 ++ ++ Backport from mainline ++ 2019-03-14 H.J. Lu ++ ++ 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_gatherpfsf_mask): Prepend ++ "%M2" to opcode. ++ (*avx512pf_gatherpfdf_mask): Likewise. ++ (*avx512pf_scatterpfsf_mask): Likewise. ++ (*avx512pf_scatterpfdf_mask): Likewise. ++ (*avx2_gathersi): Prepend "%M3" to opcode. ++ (*avx2_gathersi_2): Prepend "%M2" to opcode. ++ (*avx2_gatherdi): Prepend "%M3" to opcode. ++ (*avx2_gatherdi_2): Prepend "%M2" to opcode. ++ (*avx2_gatherdi_3): Prepend "%M3" to opcode. ++ (*avx2_gatherdi_4): Prepend "%M2" to opcode.` ++ (*avx512f_gathersi): Prepend "%M4" to opcode. ++ (*avx512f_gathersi_2): Prepend "%M3" to opcode. ++ (*avx512f_gatherdi): Prepend "%M4" to opcode. ++ (*avx512f_gatherdi_2): Prepend "%M3" to opcode. ++ (*avx512f_scattersi): Prepend "%M0" to opcode. ++ (*avx512f_scatterdi): Likewise. ++ ++2019-03-15 Richard Biener ++ ++ Backport from mainline ++ 2018-11-30 Jakub Jelinek ++ ++ 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 ++ ++ PR other/89712 ++ * doc/invoke.texi: Remove -fdump-class-hierarchy option. ++ ++2019-03-14 Martin Jambor ++ ++ Backport from mainline ++ 2019-03-07 Martin Jambor ++ ++ PR lto/87525 ++ * ipa-cp.c (perform_estimation_of_a_value): Account zero time benefit ++ for extern inline functions. ++ ++2019-03-14 Richard Biener ++ ++ 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 ++ ++ PR target/85860 ++ * lra-constraints.c (inherit_in_ebb): Update ++ potential_reload_hard_regs along with live_hard_regs. ++ ++2019-03-14 Richard Biener ++ ++ Backport from mainline ++ 2019-03-13 Richard Biener ++ ++ PR middle-end/89677 ++ * tree-scalar-evolution.c (simplify_peeled_chrec): Do not ++ throw FP expressions at tree-affine. ++ ++ 2019-03-01 Richard Biener ++ ++ 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 ++ ++ 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 ++ ++ Backport from mainline ++ 2019-03-11 Andreas Krebbel ++ ++ * config/s390/s390.c (s390_expand_builtin): Do the copy_to_reg not ++ only on the else branch. ++ ++2019-03-13 Andreas Krebbel ++ ++ Backport from mainline ++ 2019-02-07 Andreas Krebbel ++ ++ * 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 ++ ++ 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 ++ ++ Backport from mainline ++ 2019-03-08 Andre Vieira ++ ++ * config/arm/arm.h (TARGET_FP16_TO_DOUBLE): Add TARGET_VFP_DOUBLE ++ requirement. ++ ++2019-03-11 Eric Botcazou ++ ++ PR rtl-optimization/89588 ++ * loop-unroll.c (decide_unroll_constant_iterations): Make guard for ++ explicit unrolling factor more robust. ++ ++2019-03-11 Martin Liska ++ ++ Backport from mainline ++ 2019-03-08 Martin Liska ++ ++ PR target/86952 ++ * config/i386/i386.c (ix86_option_override_internal): Disable ++ jump tables when retpolines are used. ++ ++2019-03-11 Martin Liska ++ ++ Backport from mainline ++ 2019-02-11 David Malcolm ++ ++ PR lto/88147 ++ * input.c (selftest::test_line_offset_overflow): New selftest. ++ (selftest::input_c_tests): Call it. ++ ++2019-03-08 Martin Jambor ++ ++ Backport from mainline ++ 2019-03-07 Martin Jambor ++ ++ 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 ++ ++ Backport from trunk. ++ 2019-02-25 Tamar Christina ++ ++ 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 ++ ++ Backport from trunk. ++ 2019-02-28 Tamar Christina ++ ++ 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 ++ ++ Backport of r268834 from mainline to gcc-8-branch. ++ 2019-02-13 Xiong Hu Luo ++ ++ * 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_, crypto__): 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) ++ : 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 ++ ++ Backport from mainline ++ 2019-02-26 Richard Biener ++ ++ 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 ++ ++ PR target/89517 ++ * config/aarch64/aarch64-option-extensions.def (fp, simd, crypto, ++ fp16): Collapse line. ++ ++2019-03-01 Richard Biener ++ ++ Backport from mainline ++ 2019-03-01 Jakub Jelinek ++ ++ PR bootstrap/89539 ++ * dwarf2out.c (output_comdat_type_unit): Add ATTRIBUTE_UNUSED to ++ early_lto_debug argument. ++ ++ 2019-02-27 Richard Biener ++ ++ PR debug/88878 ++ * dwarf2out.c (use_debug_types): Disable when in_lto_p. ++ ++ 2019-02-27 Richard Biener ++ ++ 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 ++ ++ 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 ++ ++ PR tree-optimization/89536 ++ * tree-ssa-dom.c (edge_info::derive_equivalences) : Test ++ only whether bit #0 of the value is 0 instead of the entire value. ++ ++2019-02-28 Li Jia He ++ ++ Backport from trunk ++ 2019-02-20 Li Jia He ++ ++ PR target/88100 ++ * gcc/config/rs6000/rs6000.c (rs6000_gimple_fold_builtin) ++ : Don't convert the operand before ++ range checking it. ++ ++2019-02-27 Uroš Bizjak ++ ++ 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 (rsqrt2): Ditto. ++ ++2019-02-27 Jakub Jelinek ++ ++ Backported from mainline ++ 2019-02-18 Jakub Jelinek ++ ++ 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 ++ ++ Backport from mainline ++ 2019-02-19 Eric Botcazou ++ ++ * rtlanal.c (get_initial_register_offset): Fall back to the estimate ++ as long as the epilogue isn't completed. ++ ++2019-02-26 Eric Botcazou ++ ++ * tree-ssa-dom.c (edge_info::derive_equivalences) : Fix ++ and move around comment. ++ : Likewise. ++ : Add specific handling for boolean types. ++ ++2019-02-24 Alan Modra ++ ++ PR target/89271 ++ * config/rs6000/rs6000.md (_ split): Check for an int ++ output reg on add insn. ++ (tf_ split): Likewise. Match predicates with insn. ++ ++2019-02-22 Jakub Jelinek ++ ++ * BASE-VER: Set to 8.3.1. ++ + 2019-02-22 Release Manager + + * GCC 8.3.0 released. +@@ -568,7 +3470,7 @@ + + Backport from mainline + 2018-11-20 Richard Biener +- ++ + PR tree-optimization/88105 + * tree-ssa-dom.c (pass_dominator::execute): Do not walk + backedges. +--- a/src/gcc/DATESTAMP ++++ b/src/gcc/DATESTAMP +@@ -1 +1 @@ +-20190222 ++20200218 +--- a/src/gcc/Makefile.in ++++ b/src/gcc/Makefile.in +@@ -1114,6 +1114,7 @@ endif + # Support for additional languages (other than C). + # C can be supported this way too (leave for later). + ++LANG_CONFIGUREFRAGS = @all_lang_configurefrags@ + LANG_MAKEFRAGS = @all_lang_makefrags@ + + # Used by gcc/jit/Make-lang.in +@@ -1877,7 +1878,7 @@ cstamp-h: config.in config.status + # Really, really stupid make features, such as SUN's KEEP_STATE, may force + # a target to build even if it is up-to-date. So we must verify that + # config.status does not exist before failing. +-config.status: $(srcdir)/configure $(srcdir)/config.gcc ++config.status: $(srcdir)/configure $(srcdir)/config.gcc $(LANG_CONFIGUREFRAGS) + @if [ ! -f config.status ] ; then \ + echo You must configure gcc. Look at http://gcc.gnu.org/install/ for details.; \ + false; \ +--- a/src/gcc/ada/ChangeLog ++++ b/src/gcc/ada/ChangeLog +@@ -1,3 +1,111 @@ ++2019-11-25 Eric Botcazou ++ ++ PR ada/92575 ++ * expect.c (__gnat_expect_poll [VMS, HPUX]): Fix typo. ++ ++2019-10-12 Eric Botcazou ++ ++ PR ada/91995 ++ * sem_ch8.adb (Chain_Use_Clause): Remove second argument in calls ++ to Defining_Entity. ++ * sem_elab.adb (Find_Unit_Entity): Likewise. Deal with N_Subunit ++ here in lieu of in Defining_Entity. ++ * sem_spark.adb (Check_Callable_Body): Likewise. ++ (Check_Package_Body): Likewise. ++ * sem_util.ads (Defining_Entity): Remove 2nd and 3th parameters. ++ * sem_util.adb (Defining_Entity): Remove 2nd and 3th parameters, ++ and adjust accordingly. Deal with N_Compilation_Unit. ++ ++2019-10-11 Eric Botcazou ++ ++ * gcc-interface/decl.c (annotate_value) : Really test the ++ sign of the value when deciding to build a NEGATE_EXPR. ++ : Remove redundant line. ++ : Do the negation here. ++ ++2019-09-23 Eric Botcazou ++ ++ * gcc-interface/trans.c (Attribute_to_gnu): Test Can_Use_Internal_Rep ++ on the underlying type of the node. ++ (Call_to_gnu): Likewise with the type of the prefix. ++ ++2019-09-01 Iain Sandoe ++ ++ Backport from mainline. ++ 2019-07-02 Iain Sandoe ++ ++ * libgnat/system-darwin-ppc.ads: Set Stack_Check_Probes True for ++ PPC Darwin. ++ ++2019-08-05 Iain Sandoe ++ ++ Backport from mainline. ++ 2019-06-30 Iain Sandoe ++ ++ * gnatlink.adb (Link_Step): Push -shared-libgcc explicitly, when it ++ is the target default (unless overidden by the static flag). ++ When the user has put an instance of shared/static-libgcc do not push ++ a duplicate of this. ++ ++2019-06-29 Eric Botcazou ++ ++ * gcc-interface/decl.c (gnat_to_gnu_entity): Beep up comment on SAVED, ++ and tweak comment on the assertion about the scopes of Itypes. Do not ++ skip the regular processing for Itypes that are E_Record_Subtype with ++ a Cloned_Subtype. Get the Cloned_Subtype for every E_Record_Subtype ++ if the type is dummy and hasn't got its own freeze node. ++ : Save again the DECL of the Cloned_Subtype, if any. ++ : Save again the DECL of the equivalent type. ++ (Gigi_Equivalent_Type) : New case. ++ ++2019-06-29 Eric Botcazou ++ ++ * gcc-interface/trans.c (mark_visited_r): Set TYPE_SIZES_GIMPLIFIED on ++ the main variant of a type, if any. ++ ++2019-06-29 Eric Botcazou ++ ++ * gcc-interface/decl.c (set_nonaliased_component_on_array_type): Add ++ missing guard for the presence of TYPE_CANONICAL. ++ (set_reverse_storage_order_on_array_type): Likewise. ++ ++2019-06-17 Arnaud Charlet ++ ++ PR ada/80590 ++ * exp_ch9.adb (Expand_N_Delay_Relative_Statement): Swap the two ++ conditions to avoid a unnecessary exception propagation in the default ++ case. ++ ++2019-05-28 Eric Botcazou ++ ++ * gcc-interface/trans.c (walk_nesting_tree): New static function. ++ (finalize_nrv): Use it to walk the entire nesting tree. ++ ++2019-05-27 Eric Botcazou ++ ++ * gcc-interface/utils.c (maybe_pad_type): Issue the warning for the ++ specific case of component types preferably. ++ ++2019-05-27 Eric Botcazou ++ ++ * gcc-interface/trans.c (Call_to_gnu): Use the unpadded type when ++ putting back an intermediate conversion the type of the actuals. ++ ++2019-05-07 Rainer Orth ++ ++ * gcc-interface/Makefile.in (install-gcc-specs): Use foreach. ++ Honor DESTDIR. ++ ++2019-02-23 Eric Botcazou ++ ++ PR ada/89349 ++ Backport from mainline ++ 2018-05-25 Arnaud Charlet ++ ++ * 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. +--- a/src/gcc/ada/exp_ch9.adb ++++ b/src/gcc/ada/exp_ch9.adb +@@ -8144,18 +8144,17 @@ package body Exp_Ch9 is + Proc : Entity_Id; + + begin +- -- Try to use System.Relative_Delays.Delay_For only if available. This +- -- is the implementation used on restricted platforms when Ada.Calendar +- -- is not available. ++ -- Try to use Ada.Calendar.Delays.Delay_For if available. + +- if RTE_Available (RO_RD_Delay_For) then +- Proc := RTE (RO_RD_Delay_For); ++ if RTE_Available (RO_CA_Delay_For) then ++ Proc := RTE (RO_CA_Delay_For); + +- -- Otherwise, use Ada.Calendar.Delays.Delay_For and emit an error +- -- message if not available. ++ -- Otherwise, use System.Relative_Delays.Delay_For and emit an error ++ -- message if not available. This is the implementation used on ++ -- restricted platforms when Ada.Calendar is not available. + + else +- Proc := RTE (RO_CA_Delay_For); ++ Proc := RTE (RO_RD_Delay_For); + end if; + + Rewrite (N, +--- a/src/gcc/ada/expect.c ++++ b/src/gcc/ada/expect.c +@@ -265,7 +265,7 @@ __gnat_expect_poll (int *fd, + if ((status & 1) != 1) + { + ready = -1; +- dead_process = i + 1; ++ *dead_process = i + 1; + return ready; + } + } +@@ -450,7 +450,7 @@ __gnat_expect_poll (int *fd, + if (ei.request == TIOCCLOSE) + { + ioctl (fd[i], TIOCREQSET, &ei); +- dead_process = i + 1; ++ *dead_process = i + 1; + return -1; + } + +--- a/src/gcc/ada/gcc-interface/Makefile.in ++++ b/src/gcc/ada/gcc-interface/Makefile.in +@@ -2285,9 +2285,8 @@ gnatlink-re: ../stamp-tools gnatmake-re + install-gcc-specs: + # Install all the requested GCC spec files. + +- for f in $(GCC_SPEC_FILES); do \ +- $(INSTALL_DATA_DATE) $(srcdir)/ada/$$f $(libsubdir)/; \ +- done ++ $(foreach f,$(GCC_SPEC_FILES), \ ++ $(INSTALL_DATA_DATE) $(srcdir)/ada/$(f) $(DESTDIR)$(libsubdir)/;) + + install-gnatlib: ../stamp-gnatlib-$(RTSDIR) install-gcc-specs + $(RMDIR) $(DESTDIR)$(ADA_RTL_OBJ_DIR) +--- a/src/gcc/ada/gcc-interface/decl.c ++++ b/src/gcc/ada/gcc-interface/decl.c +@@ -295,7 +295,10 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, bool definition) + tree gnu_size = NULL_TREE; + /* Contains the GCC name to be used for the GCC node. */ + tree gnu_entity_name; +- /* True if we have already saved gnu_decl as a GNAT association. */ ++ /* True if we have already saved gnu_decl as a GNAT association. This can ++ also be used to purposely avoid making such an association but this use ++ case ought not to be applied to types because it can break the deferral ++ mechanism implemented for access types. */ + bool saved = false; + /* True if we incremented defer_incomplete_level. */ + bool this_deferred = false; +@@ -312,14 +315,11 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, bool definition) + + /* Since a use of an Itype is a definition, process it as such if it is in + the main unit, except for E_Access_Subtype because it's actually a use +- of its base type, and for E_Record_Subtype with cloned subtype because +- it's actually a use of the cloned subtype, see below. */ ++ of its base type, see below. */ + if (!definition + && is_type + && Is_Itype (gnat_entity) +- && !(kind == E_Access_Subtype +- || (kind == E_Record_Subtype +- && Present (Cloned_Subtype (gnat_entity)))) ++ && Ekind (gnat_entity) != E_Access_Subtype + && !present_gnu_tree (gnat_entity) + && In_Extended_Main_Code_Unit (gnat_entity)) + { +@@ -362,7 +362,7 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, bool definition) + } + + /* This abort means the Itype has an incorrect scope, i.e. that its +- scope does not correspond to the subprogram it is declared in. */ ++ scope does not correspond to the subprogram it is first used in. */ + gcc_unreachable (); + } + +@@ -371,7 +371,9 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, bool definition) + In that case, we will abort below when we try to save a new GCC tree + for this object. We also need to handle the case of getting a dummy + type when a Full_View exists but be careful so as not to trigger its +- premature elaboration. */ ++ premature elaboration. Likewise for a cloned subtype without its own ++ freeze node, which typically happens when a generic gets instantiated ++ on an incomplete or private type. */ + if ((!definition || (is_type && imported_p)) + && present_gnu_tree (gnat_entity)) + { +@@ -385,7 +387,23 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, bool definition) + || No (Freeze_Node (Full_View (gnat_entity))))) + { + gnu_decl +- = gnat_to_gnu_entity (Full_View (gnat_entity), NULL_TREE, false); ++ = gnat_to_gnu_entity (Full_View (gnat_entity), NULL_TREE, ++ false); ++ save_gnu_tree (gnat_entity, NULL_TREE, false); ++ save_gnu_tree (gnat_entity, gnu_decl, false); ++ } ++ ++ if (TREE_CODE (gnu_decl) == TYPE_DECL ++ && TYPE_IS_DUMMY_P (TREE_TYPE (gnu_decl)) ++ && Ekind (gnat_entity) == E_Record_Subtype ++ && No (Freeze_Node (gnat_entity)) ++ && Present (Cloned_Subtype (gnat_entity)) ++ && (present_gnu_tree (Cloned_Subtype (gnat_entity)) ++ || No (Freeze_Node (Cloned_Subtype (gnat_entity))))) ++ { ++ gnu_decl ++ = gnat_to_gnu_entity (Cloned_Subtype (gnat_entity), NULL_TREE, ++ false); + save_gnu_tree (gnat_entity, NULL_TREE, false); + save_gnu_tree (gnat_entity, gnu_decl, false); + } +@@ -3367,13 +3385,13 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, bool definition) + case E_Record_Subtype: + /* If Cloned_Subtype is Present it means this record subtype has + identical layout to that type or subtype and we should use +- that GCC type for this one. The front end guarantees that ++ that GCC type for this one. The front-end guarantees that + the component list is shared. */ + if (Present (Cloned_Subtype (gnat_entity))) + { + gnu_decl = gnat_to_gnu_entity (Cloned_Subtype (gnat_entity), + NULL_TREE, false); +- saved = true; ++ maybe_present = true; + break; + } + +@@ -3787,8 +3805,8 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, bool definition) + case E_Access_Subtype: + /* We treat this as identical to its base type; any constraint is + meaningful only to the front-end. */ +- gnu_decl = gnat_to_gnu_entity (Etype (gnat_entity), NULL_TREE, false); +- saved = true; ++ gnu_decl = gnat_to_gnu_entity (gnat_equiv_type, NULL_TREE, false); ++ maybe_present = true; + + /* The designated subtype must be elaborated as well, if it does + not have its own freeze node. But designated subtypes created +@@ -4974,6 +4992,10 @@ Gigi_Equivalent_Type (Entity_Id gnat_entity) + gnat_equiv = Equivalent_Type (gnat_entity); + break; + ++ case E_Access_Subtype: ++ gnat_equiv = Etype (gnat_entity); ++ break; ++ + case E_Class_Wide_Type: + gnat_equiv = Root_Type (gnat_entity); + break; +@@ -6065,7 +6087,8 @@ static void + set_nonaliased_component_on_array_type (tree type) + { + TYPE_NONALIASED_COMPONENT (type) = 1; +- TYPE_NONALIASED_COMPONENT (TYPE_CANONICAL (type)) = 1; ++ if (TYPE_CANONICAL (type)) ++ TYPE_NONALIASED_COMPONENT (TYPE_CANONICAL (type)) = 1; + } + + /* Set TYPE_REVERSE_STORAGE_ORDER on an array type built by means of +@@ -6075,7 +6098,8 @@ static void + set_reverse_storage_order_on_array_type (tree type) + { + TYPE_REVERSE_STORAGE_ORDER (type) = 1; +- TYPE_REVERSE_STORAGE_ORDER (TYPE_CANONICAL (type)) = 1; ++ if (TYPE_CANONICAL (type)) ++ TYPE_REVERSE_STORAGE_ORDER (TYPE_CANONICAL (type)) = 1; + } + + /* Return true if DISCR1 and DISCR2 represent the same discriminant. */ +@@ -8083,9 +8107,8 @@ annotate_value (tree gnu_size) + { + case INTEGER_CST: + /* For negative values, build NEGATE_EXPR of the opposite. Such values +- can appear for discriminants in expressions for variants. Note that, +- sizetype being unsigned, we don't directly use tree_int_cst_sgn. */ +- if (tree_int_cst_sign_bit (gnu_size)) ++ can appear for discriminants in expressions for variants. */ ++ if (tree_int_cst_sgn (gnu_size) < 0) + { + tree t = wide_int_to_tree (sizetype, -wi::to_wide (gnu_size)); + tcode = Negate_Expr; +@@ -8163,9 +8186,8 @@ annotate_value (tree gnu_size) + && tree_int_cst_sign_bit (TREE_OPERAND (gnu_size, 1))) + { + tcode = Minus_Expr; +- ops[0] = annotate_value (TREE_OPERAND (gnu_size, 0)); +- wide_int op1 = -wi::to_wide (TREE_OPERAND (gnu_size, 1)); +- ops[1] = annotate_value (wide_int_to_tree (sizetype, op1)); ++ wide_int wop1 = -wi::to_wide (TREE_OPERAND (gnu_size, 1)); ++ ops[1] = annotate_value (wide_int_to_tree (sizetype, wop1)); + break; + } + +@@ -8206,9 +8228,9 @@ annotate_value (tree gnu_size) + Such values can appear in expressions with aligning patterns. */ + if (TREE_CODE (TREE_OPERAND (gnu_size, 1)) == INTEGER_CST) + { +- wide_int op1 = wi::sext (wi::to_wide (TREE_OPERAND (gnu_size, 1)), +- TYPE_PRECISION (sizetype)); +- ops[1] = annotate_value (wide_int_to_tree (sizetype, op1)); ++ wide_int wop1 = -wi::to_wide (TREE_OPERAND (gnu_size, 1)); ++ tree op1 = wide_int_to_tree (sizetype, wop1); ++ ops[1] = annotate_value (build1 (NEGATE_EXPR, sizetype, op1)); + } + break; + +--- a/src/gcc/ada/gcc-interface/trans.c ++++ b/src/gcc/ada/gcc-interface/trans.c +@@ -1720,32 +1720,29 @@ Attribute_to_gnu (Node_Id gnat_node, tree *gnu_result_type_p, int attribute) + /* For other address attributes applied to a nested function, + find an inner ADDR_EXPR and annotate it so that we can issue + a useful warning with -Wtrampolines. */ +- else if (TREE_CODE (TREE_TYPE (gnu_prefix)) == FUNCTION_TYPE) ++ else if (TREE_CODE (TREE_TYPE (gnu_prefix)) == FUNCTION_TYPE ++ && (gnu_expr = remove_conversions (gnu_result, false)) ++ && TREE_CODE (gnu_expr) == ADDR_EXPR ++ && decl_function_context (TREE_OPERAND (gnu_expr, 0))) + { +- gnu_expr = remove_conversions (gnu_result, false); ++ set_expr_location_from_node (gnu_expr, gnat_node); + +- if (TREE_CODE (gnu_expr) == ADDR_EXPR +- && decl_function_context (TREE_OPERAND (gnu_expr, 0))) +- { +- set_expr_location_from_node (gnu_expr, gnat_node); +- +- /* Also check the inlining status. */ +- check_inlining_for_nested_subprog (TREE_OPERAND (gnu_expr, 0)); +- +- /* Moreover, for 'Access or 'Unrestricted_Access with non- +- foreign-compatible representation, mark the ADDR_EXPR so +- that we can build a descriptor instead of a trampoline. */ +- if ((attribute == Attr_Access +- || attribute == Attr_Unrestricted_Access) +- && targetm.calls.custom_function_descriptors > 0 +- && Can_Use_Internal_Rep (Etype (gnat_node))) +- FUNC_ADDR_BY_DESCRIPTOR (gnu_expr) = 1; +- +- /* Otherwise, we need to check that we are not violating the +- No_Implicit_Dynamic_Code restriction. */ +- else if (targetm.calls.custom_function_descriptors != 0) +- Check_Implicit_Dynamic_Code_Allowed (gnat_node); +- } ++ /* Also check the inlining status. */ ++ check_inlining_for_nested_subprog (TREE_OPERAND (gnu_expr, 0)); ++ ++ /* Moreover, for 'Access or 'Unrestricted_Access with non- ++ foreign-compatible representation, mark the ADDR_EXPR so ++ that we can build a descriptor instead of a trampoline. */ ++ if ((attribute == Attr_Access ++ || attribute == Attr_Unrestricted_Access) ++ && targetm.calls.custom_function_descriptors > 0 ++ && Can_Use_Internal_Rep (Underlying_Type (Etype (gnat_node)))) ++ FUNC_ADDR_BY_DESCRIPTOR (gnu_expr) = 1; ++ ++ /* Otherwise, we need to check that we are not violating the ++ No_Implicit_Dynamic_Code restriction. */ ++ else if (targetm.calls.custom_function_descriptors != 0) ++ Check_Implicit_Dynamic_Code_Allowed (gnat_node); + } + break; + +@@ -3534,6 +3531,20 @@ finalize_nrv_unc_r (tree *tp, int *walk_subtrees, void *data) + return NULL_TREE; + } + ++/* Apply FUNC to all the sub-trees of nested functions in NODE. FUNC is called ++ with the DATA and the address of each sub-tree. If FUNC returns a non-NULL ++ value, the traversal is stopped. */ ++ ++static void ++walk_nesting_tree (struct cgraph_node *node, walk_tree_fn func, void *data) ++{ ++ for (node = node->nested; node; node = node->next_nested) ++ { ++ walk_tree_without_duplicates (&DECL_SAVED_TREE (node->decl), func, data); ++ walk_nesting_tree (node, func, data); ++ } ++} ++ + /* Finalize the Named Return Value optimization for FNDECL. The NRV bitmap + contains the candidates for Named Return Value and OTHER is a list of + the other return values. GNAT_RET is a representative return node. */ +@@ -3541,7 +3552,6 @@ finalize_nrv_unc_r (tree *tp, int *walk_subtrees, void *data) + static void + finalize_nrv (tree fndecl, bitmap nrv, vec *other, Node_Id gnat_ret) + { +- struct cgraph_node *node; + struct nrv_data data; + walk_tree_fn func; + unsigned int i; +@@ -3562,10 +3572,7 @@ finalize_nrv (tree fndecl, bitmap nrv, vec *other, Node_Id gnat_ret + return; + + /* Prune also the candidates that are referenced by nested functions. */ +- node = cgraph_node::get_create (fndecl); +- for (node = node->nested; node; node = node->next_nested) +- walk_tree_without_duplicates (&DECL_SAVED_TREE (node->decl), prune_nrv_r, +- &data); ++ walk_nesting_tree (cgraph_node::get_create (fndecl), prune_nrv_r, &data); + if (bitmap_empty_p (nrv)) + return; + +@@ -4308,7 +4315,8 @@ Call_to_gnu (Node_Id gnat_node, tree *gnu_result_type_p, tree gnu_target, + /* If the access type doesn't require foreign-compatible representation, + be prepared for descriptors. */ + if (targetm.calls.custom_function_descriptors > 0 +- && Can_Use_Internal_Rep (Etype (Prefix (Name (gnat_node))))) ++ && Can_Use_Internal_Rep ++ (Underlying_Type (Etype (Prefix (Name (gnat_node)))))) + by_descriptor = true; + } + else if (Nkind (Name (gnat_node)) == N_Attribute_Reference) +@@ -4575,7 +4583,7 @@ Call_to_gnu (Node_Id gnat_node, tree *gnu_result_type_p, tree gnu_target, + since the parent is a procedure call, so put it back here. Note that + we might have a dummy type here if the actual is the dereference of a + pointer to it, but that's OK if the formal is passed by reference. */ +- tree gnu_actual_type = gnat_to_gnu_type (Etype (gnat_actual)); ++ tree gnu_actual_type = get_unpadded_type (Etype (gnat_actual)); + if (TYPE_IS_DUMMY_P (gnu_actual_type)) + gcc_assert (is_true_formal_parm && DECL_BY_REF_P (gnu_formal)); + else if (suppress_type_conversion +@@ -8167,8 +8175,9 @@ mark_visited_r (tree *tp, int *walk_subtrees, void *data ATTRIBUTE_UNUSED) + else if (!TYPE_IS_DUMMY_P (t)) + TREE_VISITED (t) = 1; + ++ /* The test in gimplify_type_sizes is on the main variant. */ + if (TYPE_P (t)) +- TYPE_SIZES_GIMPLIFIED (t) = 1; ++ TYPE_SIZES_GIMPLIFIED (TYPE_MAIN_VARIANT (t)) = 1; + + return NULL_TREE; + } +--- a/src/gcc/ada/gcc-interface/utils.c ++++ b/src/gcc/ada/gcc-interface/utils.c +@@ -1519,14 +1519,14 @@ built: + generated for some other corresponding source entity. */ + if (Comes_From_Source (gnat_entity)) + { +- if (Present (gnat_error_node)) +- post_error_ne_tree ("{^ }bits of & unused?", +- gnat_error_node, gnat_entity, +- size_diffop (size, orig_size)); +- else if (is_component_type) ++ if (is_component_type) + post_error_ne_tree ("component of& padded{ by ^ bits}?", + gnat_entity, gnat_entity, + size_diffop (size, orig_size)); ++ else if (Present (gnat_error_node)) ++ post_error_ne_tree ("{^ }bits of & unused?", ++ gnat_error_node, gnat_entity, ++ size_diffop (size, orig_size)); + } + } + +--- a/src/gcc/ada/gnatlink.adb ++++ b/src/gcc/ada/gnatlink.adb +@@ -1882,6 +1882,7 @@ begin + Clean_Link_Option_Set : declare + J : Natural; + Shared_Libgcc_Seen : Boolean := False; ++ Static_Libgcc_Seen : Boolean := False; + + begin + J := Linker_Options.First; +@@ -1903,7 +1904,7 @@ begin + end if; + end if; + +- -- Remove duplicate -shared-libgcc switch ++ -- Remove duplicate -shared-libgcc switches + + if Linker_Options.Table (J).all = Shared_Libgcc_String then + if Shared_Libgcc_Seen then +@@ -1917,6 +1918,20 @@ begin + end if; + end if; + ++ -- Remove duplicate -static-libgcc switches ++ ++ if Linker_Options.Table (J).all = Static_Libgcc_String then ++ if Static_Libgcc_Seen then ++ Linker_Options.Table (J .. Linker_Options.Last - 1) := ++ Linker_Options.Table (J + 1 .. Linker_Options.Last); ++ Linker_Options.Decrement_Last; ++ Num_Args := Num_Args - 1; ++ ++ else ++ Static_Libgcc_Seen := True; ++ end if; ++ end if; ++ + -- Here we just check for a canonical form that matches the + -- pragma Linker_Options set in the NT runtime. + +@@ -1948,14 +1963,27 @@ begin + -- libgcc, if gcc is not called with -shared-libgcc, call it + -- with -static-libgcc, as there are some platforms where one + -- of these two switches is compulsory to link. ++ -- Don't push extra switches if we already saw one. + + if Shared_Libgcc_Default = 'T' + and then not Shared_Libgcc_Seen ++ and then not Static_Libgcc_Seen + then + Linker_Options.Increment_Last; + Linker_Options.Table (Linker_Options.Last) := Static_Libgcc; + Num_Args := Num_Args + 1; + end if; ++ ++ -- Likewise, the reverse. ++ ++ if Shared_Libgcc_Default = 'H' ++ and then not Static_Libgcc_Seen ++ and then not Shared_Libgcc_Seen ++ then ++ Linker_Options.Increment_Last; ++ Linker_Options.Table (Linker_Options.Last) := Shared_Libgcc; ++ Num_Args := Num_Args + 1; ++ end if; + end if; + end Clean_Link_Option_Set; + +--- a/src/gcc/ada/libgnat/system-darwin-ppc.ads ++++ b/src/gcc/ada/libgnat/system-darwin-ppc.ads +@@ -158,7 +158,7 @@ private + Preallocated_Stacks : constant Boolean := False; + Signed_Zeros : constant Boolean := True; + Stack_Check_Default : constant Boolean := False; +- Stack_Check_Probes : constant Boolean := False; ++ Stack_Check_Probes : constant Boolean := True; + Stack_Check_Limits : constant Boolean := False; + Support_Aggregates : constant Boolean := True; + Support_Atomic_Primitives : constant Boolean := Word_Size = 64; +--- a/src/gcc/ada/osint.adb ++++ b/src/gcc/ada/osint.adb +@@ -250,8 +250,7 @@ package body Osint is + 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, +--- a/src/gcc/ada/osint.ads ++++ b/src/gcc/ada/osint.ads +@@ -255,10 +255,26 @@ package Osint is + -- 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 @@ private + -- 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; +--- a/src/gcc/ada/sem_ch8.adb ++++ b/src/gcc/ada/sem_ch8.adb +@@ -4259,16 +4259,14 @@ package body Sem_Ch8 is + + -- Common case for compilation unit + +- elsif Defining_Entity (N => Parent (N), +- Empty_On_Errors => True) = Current_Scope +- then ++ elsif Defining_Entity (Parent (N)) = Current_Scope then + null; + + else + -- If declaration appears in some other scope, it must be in some + -- parent unit when compiling a child. + +- Pack := Defining_Entity (Parent (N), Empty_On_Errors => True); ++ Pack := Defining_Entity (Parent (N)); + + if not In_Open_Scopes (Pack) then + null; +--- a/src/gcc/ada/sem_elab.adb ++++ b/src/gcc/ada/sem_elab.adb +@@ -5544,13 +5544,23 @@ package body Sem_Elab is + N_Procedure_Instantiation) + and then Nkind (Context) = N_Compilation_Unit + then +- return +- Related_Instance (Defining_Entity (N, Concurrent_Subunit => True)); ++ return Related_Instance (Defining_Entity (N)); ++ ++ -- The unit denotes a concurrent body acting as a subunit. Such bodies ++ -- are generally rewritten into null statements. The proper entity is ++ -- that of the "original node". ++ ++ elsif Nkind (N) = N_Subunit ++ and then Nkind (Proper_Body (N)) = N_Null_Statement ++ and then Nkind_In (Original_Node (Proper_Body (N)), N_Protected_Body, ++ N_Task_Body) ++ then ++ return Defining_Entity (Original_Node (Proper_Body (N))); + + -- Otherwise the proper entity is the defining entity + + else +- return Defining_Entity (N, Concurrent_Subunit => True); ++ return Defining_Entity (N); + end if; + end Find_Unit_Entity; + +--- a/src/gcc/ada/sem_spark.adb ++++ b/src/gcc/ada/sem_spark.adb +@@ -971,7 +971,7 @@ package body Sem_SPARK is + + if Present (SPARK_Pragma (Defining_Entity (Body_N))) then + if Get_SPARK_Mode_From_Annotation +- (SPARK_Pragma (Defining_Entity (Body_N, False))) /= Opt.On ++ (SPARK_Pragma (Defining_Entity (Body_N))) /= Opt.On + then + return; + end if; +@@ -2379,7 +2379,7 @@ package body Sem_SPARK is + CorSp : Node_Id; + + begin +- if Present (SPARK_Pragma (Defining_Entity (Pack, False))) then ++ if Present (SPARK_Pragma (Defining_Entity (Pack))) then + if Get_SPARK_Mode_From_Annotation + (SPARK_Pragma (Defining_Entity (Pack))) /= Opt.On + then +--- a/src/gcc/ada/sem_util.adb ++++ b/src/gcc/ada/sem_util.adb +@@ -5714,11 +5714,7 @@ package body Sem_Util is + -- Defining_Entity -- + --------------------- + +- function Defining_Entity +- (N : Node_Id; +- Empty_On_Errors : Boolean := False; +- Concurrent_Subunit : Boolean := False) return Entity_Id +- is ++ function Defining_Entity (N : Node_Id) return Entity_Id is + begin + case Nkind (N) is + when N_Abstract_Subprogram_Declaration +@@ -5769,24 +5765,11 @@ package body Sem_Util is + => + return Defining_Identifier (N); + +- when N_Subunit => +- declare +- Bod : constant Node_Id := Proper_Body (N); +- Orig_Bod : constant Node_Id := Original_Node (Bod); +- +- begin +- -- Retrieve the entity of the original protected or task body +- -- if requested by the caller. ++ when N_Compilation_Unit => ++ return Defining_Entity (Unit (N)); + +- if Concurrent_Subunit +- and then Nkind (Bod) = N_Null_Statement +- and then Nkind_In (Orig_Bod, N_Protected_Body, N_Task_Body) +- then +- return Defining_Entity (Orig_Bod); +- else +- return Defining_Entity (Bod); +- end if; +- end; ++ when N_Subunit => ++ return Defining_Entity (Proper_Body (N)); + + when N_Function_Instantiation + | N_Function_Specification +@@ -5812,14 +5795,10 @@ package body Sem_Util is + -- can continue semantic analysis. + + elsif Nam = Error then +- if Empty_On_Errors then +- return Empty; +- else +- Err := Make_Temporary (Sloc (N), 'T'); +- Set_Defining_Unit_Name (N, Err); ++ Err := Make_Temporary (Sloc (N), 'T'); ++ Set_Defining_Unit_Name (N, Err); + +- return Err; +- end if; ++ return Err; + + -- If not an entity, get defining identifier + +@@ -5834,11 +5813,7 @@ package body Sem_Util is + return Entity (Identifier (N)); + + when others => +- if Empty_On_Errors then +- return Empty; +- else +- raise Program_Error; +- end if; ++ raise Program_Error; + end case; + end Defining_Entity; + +--- a/src/gcc/ada/sem_util.ads ++++ b/src/gcc/ada/sem_util.ads +@@ -543,10 +543,7 @@ package Sem_Util is + -- in the case of a descendant of a generic formal type (returns Int'Last + -- instead of 0). + +- function Defining_Entity +- (N : Node_Id; +- Empty_On_Errors : Boolean := False; +- Concurrent_Subunit : Boolean := False) return Entity_Id; ++ function Defining_Entity (N : Node_Id) return Entity_Id; + -- Given a declaration N, returns the associated defining entity. If the + -- declaration has a specification, the entity is obtained from the + -- specification. If the declaration has a defining unit name, then the +@@ -557,22 +554,6 @@ package Sem_Util is + -- local entities declared during loop expansion. These entities need + -- debugging information, generated through Qualify_Entity_Names, and + -- the loop declaration must be placed in the table Name_Qualify_Units. +- -- +- -- Set flag Empty_On_Error to change the behavior of this routine as +- -- follows: +- -- +- -- * True - A declaration that lacks a defining entity returns Empty. +- -- A node that does not allow for a defining entity returns Empty. +- -- +- -- * False - A declaration that lacks a defining entity is given a new +- -- internally generated entity which is subsequently returned. A node +- -- that does not allow for a defining entity raises Program_Error. +- -- +- -- The former semantics is appropriate for the back end; the latter +- -- semantics is appropriate for the front end. +- -- +- -- Set flag Concurrent_Subunit to handle rewritings of concurrent bodies +- -- which act as subunits. Such bodies are generally rewritten as null. + + function Denotes_Discriminant + (N : Node_Id; +--- a/src/gcc/alias.c ++++ b/src/gcc/alias.c +@@ -1194,15 +1194,14 @@ record_alias_subset (alias_set_type superset, alias_set_type subset) + } + } + +-/* Record that component types of TYPE, if any, are part of that type for ++/* Record that component types of TYPE, if any, are part of SUPERSET for + aliasing purposes. For record types, we only record component types + for fields that are not marked non-addressable. For array types, we + only record the component type if it is not marked non-aliased. */ + + void +-record_component_aliases (tree type) ++record_component_aliases (tree type, alias_set_type superset) + { +- alias_set_type superset = get_alias_set (type); + tree field; + + if (superset == 0) +@@ -1252,7 +1251,21 @@ record_component_aliases (tree type) + == get_alias_set (TREE_TYPE (field))); + } + +- record_alias_subset (superset, get_alias_set (t)); ++ alias_set_type set = get_alias_set (t); ++ record_alias_subset (superset, set); ++ /* If the field has alias-set zero make sure to still record ++ any componets of it. This makes sure that for ++ struct A { ++ struct B { ++ int i; ++ char c[4]; ++ } b; ++ }; ++ in C++ even though 'B' has alias-set zero because ++ TYPE_TYPELESS_STORAGE is set, 'A' has the alias-set of ++ 'int' as subset. */ ++ if (set == 0) ++ record_component_aliases (t, superset); + } + break; + +@@ -1268,6 +1281,19 @@ record_component_aliases (tree type) + } + } + ++/* Record that component types of TYPE, if any, are part of that type for ++ aliasing purposes. For record types, we only record component types ++ for fields that are not marked non-addressable. For array types, we ++ only record the component type if it is not marked non-aliased. */ ++ ++void ++record_component_aliases (tree type) ++{ ++ alias_set_type superset = get_alias_set (type); ++ record_component_aliases (type, superset); ++} ++ ++ + /* Allocate an alias set for use in storing and reading from the varargs + spill area. */ + +--- a/src/gcc/attribs.c ++++ b/src/gcc/attribs.c +@@ -1685,8 +1685,11 @@ handle_dll_attribute (tree * pnode, tree name, tree args, int flags, + a function global scope, unless declared static. */ + if (current_function_decl != NULL_TREE && !TREE_STATIC (node)) + TREE_PUBLIC (node) = 1; +- /* Clear TREE_STATIC because DECL_EXTERNAL is set. */ +- TREE_STATIC (node) = 0; ++ /* Clear TREE_STATIC because DECL_EXTERNAL is set, unless ++ it is a C++ static data member. */ ++ if (DECL_CONTEXT (node) == NULL_TREE ++ || !RECORD_OR_UNION_TYPE_P (DECL_CONTEXT (node))) ++ TREE_STATIC (node) = 0; + } + + if (*no_add_attrs == false) +--- a/src/gcc/builtins.c ++++ b/src/gcc/builtins.c +@@ -2560,7 +2560,7 @@ expand_builtin_int_roundingfn (tree exp, rtx target) + tree arg; + + if (!validate_arglist (exp, REAL_TYPE, VOID_TYPE)) +- gcc_unreachable (); ++ return NULL_RTX; + + arg = CALL_EXPR_ARG (exp, 0); + +@@ -2696,7 +2696,7 @@ expand_builtin_int_roundingfn_2 (tree exp, rtx target) + enum built_in_function fallback_fn = BUILT_IN_NONE; + + if (!validate_arglist (exp, REAL_TYPE, VOID_TYPE)) +- gcc_unreachable (); ++ return NULL_RTX; + + arg = CALL_EXPR_ARG (exp, 0); + +@@ -10088,6 +10088,9 @@ maybe_emit_sprintf_chk_warning (tree exp, enum built_in_function fcode) + static void + maybe_emit_free_warning (tree exp) + { ++ if (call_expr_nargs (exp) != 1) ++ return; ++ + tree arg = CALL_EXPR_ARG (exp, 0); + + STRIP_NOPS (arg); +--- a/src/gcc/c-family/ChangeLog ++++ b/src/gcc/c-family/ChangeLog +@@ -1,3 +1,63 @@ ++2020-02-14 Jakub Jelinek ++ ++ Backported from mainline ++ 2019-11-26 Jakub Jelinek ++ ++ PR c++/61414 ++ * c-attribs.c (handle_mode_attribute): Add mode attribute to ++ ENUMERAL_TYPEs. ++ ++2019-09-03 Iain Sandoe ++ ++ Backport from mainline ++ 2019-08-23 Iain Sandoe ++ ++ PR pch/61250 ++ * c-lex.c (c_lex_with_flags): Don't call ++ c_common_no_more_pch () from here. ++ ++2019-08-30 Richard Biener ++ ++ Backport from mainline ++ 2019-05-15 Richard Biener ++ ++ PR c/90474 ++ * c-common.c (c_common_mark_addressable_vec): Also mark ++ a COMPOUND_LITERAL_EXPR_DECL addressable similar to ++ c_mark_addressable. ++ ++2019-08-29 Jakub Jelinek ++ ++ Backported from mainline ++ 2019-06-25 Jakub Jelinek ++ ++ PR sanitizer/90954 ++ * c-omp.c (c_finish_omp_atomic): Allow tree_invariant_p in addition ++ to SAVE_EXPR in first operand of a COMPOUND_EXPR. ++ ++2019-05-22 Eric Botcazou ++ ++ Backport from mainline ++ 2018-05-10 Eric Botcazou ++ ++ PR c++/85400 ++ * c-attribs.c (handle_visibility_attribute): Do not set no_add_attrs. ++ ++2019-04-30 Jakub Jelinek ++ ++ Backported from mainline ++ 2019-04-12 Jakub Jelinek ++ ++ PR c/89946 ++ * c-attribs.c (handle_patchable_function_entry_attribute): Add ++ function comment. Warn if arguments of the attribute are not positive ++ integer constants. ++ ++2019-04-09 Eric Botcazou ++ ++ * c-ada-spec.c (print_destructor): Deal with deleting destructors. ++ (dump_ada_declaration) : Likewise. ++ + 2019-02-22 Release Manager + + * GCC 8.3.0 released. +--- a/src/gcc/c-family/c-ada-spec.c ++++ b/src/gcc/c-family/c-ada-spec.c +@@ -2686,6 +2686,8 @@ print_destructor (pretty_printer *buffer, tree t, tree type) + tree decl_name = DECL_NAME (TYPE_NAME (type)); + + pp_string (buffer, "Delete_"); ++ if (strncmp (IDENTIFIER_POINTER (DECL_NAME (t)), "__dt_del", 8) == 0) ++ pp_string (buffer, "And_Free_"); + pp_ada_tree_identifier (buffer, decl_name, t, 0, false); + } + +@@ -2937,9 +2939,10 @@ dump_ada_declaration (pretty_printer *buffer, tree t, tree type, int spc) + if (DECL_ARTIFICIAL (t)) + return 0; + +- /* Only consider constructors/destructors for complete objects. */ ++ /* Only consider complete constructors and deleting destructors. */ + if (strncmp (IDENTIFIER_POINTER (decl_name), "__ct_comp", 9) != 0 +- && strncmp (IDENTIFIER_POINTER (decl_name), "__dt_comp", 9) != 0) ++ && strncmp (IDENTIFIER_POINTER (decl_name), "__dt_comp", 9) != 0 ++ && strncmp (IDENTIFIER_POINTER (decl_name), "__dt_del", 8) != 0) + return 0; + } + +--- a/src/gcc/c-family/c-attribs.c ++++ b/src/gcc/c-family/c-attribs.c +@@ -1650,6 +1650,7 @@ handle_mode_attribute (tree *node, tree name, tree args, + typefm = make_signed_type (TYPE_PRECISION (typefm)); + TREE_TYPE (typefm) = type; + } ++ *no_add_attrs = false; + } + else if (VECTOR_MODE_P (mode) + ? TREE_CODE (type) != TREE_CODE (TREE_TYPE (typefm)) +@@ -2310,14 +2311,13 @@ handle_visibility_attribute (tree *node, tree name, tree args, + + static tree + handle_tls_model_attribute (tree *node, tree name, tree args, +- int ARG_UNUSED (flags), bool *no_add_attrs) ++ int ARG_UNUSED (flags), ++ bool *ARG_UNUSED (no_add_attrs)) + { + tree id; + tree decl = *node; + enum tls_model kind; + +- *no_add_attrs = true; +- + if (!VAR_P (decl) || !DECL_THREAD_LOCAL_P (decl)) + { + warning (OPT_Wattributes, "%qE attribute ignored", name); +@@ -3562,9 +3562,28 @@ handle_fallthrough_attribute (tree *, tree name, tree, int, + return NULL_TREE; + } + ++/* Handle a "patchable_function_entry" attributes; arguments as in ++ struct attribute_spec.handler. */ ++ + static tree +-handle_patchable_function_entry_attribute (tree *, tree, tree, int, bool *) ++handle_patchable_function_entry_attribute (tree *, tree name, tree args, ++ int, bool *no_add_attrs) + { +- /* Nothing to be done here. */ ++ for (; args; args = TREE_CHAIN (args)) ++ { ++ tree val = TREE_VALUE (args); ++ if (val && TREE_CODE (val) != IDENTIFIER_NODE ++ && TREE_CODE (val) != FUNCTION_DECL) ++ val = default_conversion (val); ++ ++ if (!tree_fits_uhwi_p (val)) ++ { ++ warning (OPT_Wattributes, ++ "%qE attribute argument %qE is not an integer constant", ++ name, val); ++ *no_add_attrs = true; ++ return NULL_TREE; ++ } ++ } + return NULL_TREE; + } +--- a/src/gcc/c-family/c-common.c ++++ b/src/gcc/c-family/c-common.c +@@ -6440,6 +6440,8 @@ c_common_mark_addressable_vec (tree t) + return; + if (!VAR_P (t) || !DECL_HARD_REGISTER (t)) + TREE_ADDRESSABLE (t) = 1; ++ if (TREE_CODE (t) == COMPOUND_LITERAL_EXPR) ++ TREE_ADDRESSABLE (COMPOUND_LITERAL_EXPR_DECL (t)) = 1; + } + + +--- a/src/gcc/c-family/c-lex.c ++++ b/src/gcc/c-family/c-lex.c +@@ -392,7 +392,6 @@ enum cpp_ttype + c_lex_with_flags (tree *value, location_t *loc, unsigned char *cpp_flags, + int lex_flags) + { +- static bool no_more_pch; + const cpp_token *tok; + enum cpp_ttype type; + unsigned char add_flags = 0; +@@ -626,12 +625,6 @@ c_lex_with_flags (tree *value, location_t *loc, unsigned char *cpp_flags, + if (cpp_flags) + *cpp_flags = tok->flags | add_flags; + +- if (!no_more_pch) +- { +- no_more_pch = true; +- c_common_no_more_pch (); +- } +- + timevar_pop (TV_CPP); + + return type; +--- a/src/gcc/c-family/c-omp.c ++++ b/src/gcc/c-family/c-omp.c +@@ -300,7 +300,7 @@ c_finish_omp_atomic (location_t loc, enum tree_code code, + if (TREE_CODE (x) == COMPOUND_EXPR) + { + pre = TREE_OPERAND (x, 0); +- gcc_assert (TREE_CODE (pre) == SAVE_EXPR); ++ gcc_assert (TREE_CODE (pre) == SAVE_EXPR || tree_invariant_p (pre)); + x = TREE_OPERAND (x, 1); + } + gcc_assert (TREE_CODE (x) == MODIFY_EXPR); +--- a/src/gcc/c/ChangeLog ++++ b/src/gcc/c/ChangeLog +@@ -1,3 +1,105 @@ ++2020-02-14 Jakub Jelinek ++ ++ Backported from mainline ++ 2020-02-13 Jakub Jelinek ++ ++ PR c/93576 ++ * c-decl.c (grokdeclarator): If this_size_varies, only push size into ++ *expr if it has side effects. ++ ++2020-01-22 Joseph Myers ++ ++ Backport from mainline: ++ 2020-01-22 Joseph Myers ++ ++ PR c/93348 ++ * c-typeck.c (build_c_cast): Call remove_c_maybe_const_expr on ++ argument with integer operands. ++ ++2020-01-15 Joseph Myers ++ ++ Backport from mainline: ++ 2020-01-15 Joseph Myers ++ ++ PR c/93072 ++ * c-decl.c (pushdecl): Use TREE_PUBLIC, not DECL_EXTERNAL, to ++ determine whether to set DECL_CONTEXT. ++ ++2020-01-14 Joseph Myers ++ ++ Backport from mainline: ++ 2020-01-13 Joseph Myers ++ ++ PR c/93241 ++ * c-typeck.c (build_c_cast): Check for expressions with integer ++ operands that can occur in an unevaluated part of an integer ++ constant expression and call note_integer_operands as needed. ++ ++2019-11-21 Jakub Jelinek ++ ++ Backported from mainline ++ 2019-08-09 Jakub Jelinek ++ ++ PR c/91401 ++ * c-parser.c (c_parser_omp_clause_dist_schedule): Fix up typos in the ++ check_no_duplicate_clause call. Comment it out, instead emit a ++ warning for duplicate dist_schedule clauses. ++ ++2019-09-03 Iain Sandoe ++ ++ Backport from mainline. ++ 2019-08-23 Iain Sandoe ++ ++ PR pch/61250 ++ * c-parser.c (c_parse_file): Call c_common_no_more_pch () ++ after determining that the first token is not ++ PRAGMA_GCC_PCH_PREPROCESS. ++ ++2019-08-29 Jakub Jelinek ++ ++ Backported from mainline ++ 2019-04-26 Jakub Jelinek ++ ++ PR debug/90197 ++ * c-tree.h (c_finish_loop): Add 2 further location_t arguments. ++ * c-parser.c (c_parser_while_statement): Adjust c_finish_loop caller. ++ (c_parser_do_statement): Likewise. ++ (c_parser_for_statement): Likewise. Formatting fixes. ++ * c-typeck.c (c_finish_loop): Add COND_LOCUS and INCR_LOCUS arguments, ++ emit DEBUG_BEGIN_STMTs if needed. ++ ++2019-07-21 Richard Sandiford ++ ++ Backport from mainline ++ 2019-07-18 Richard Sandiford ++ ++ PR c/53633 ++ * c-decl.c (finish_function): Check targetm.warn_func_return ++ before issuing a -Wreturn-type warning. ++ ++2019-04-30 Jakub Jelinek ++ ++ Backported from mainline ++ 2019-04-19 Jakub Jelinek ++ ++ PR c++/90108 ++ * c-decl.c (merge_decls): If remove is main variant and ++ DECL_ORIGINAL_TYPE is some other type, remove a DECL_ORIGINAL_TYPE ++ variant that has newdecl as TYPE_NAME if any. ++ ++ 2019-04-12 Jakub Jelinek ++ ++ PR c/89933 ++ * c-decl.c (merge_decls): When newdecl's type is its main variant, ++ don't try to remove it from the variant list, but instead assert ++ it has no variants. ++ ++ 2019-03-19 Jakub Jelinek ++ ++ PR c/89734 ++ * c-decl.c (grokdeclarator): Call c_build_qualified_type on function ++ return type even if quals_used is 0. Formatting fixes. ++ + 2019-02-22 Release Manager + + * GCC 8.3.0 released. +--- a/src/gcc/c/c-decl.c ++++ b/src/gcc/c/c-decl.c +@@ -2352,13 +2352,33 @@ merge_decls (tree newdecl, tree olddecl, tree newtype, tree oldtype) + if (TYPE_NAME (TREE_TYPE (newdecl)) == newdecl) + { + tree remove = TREE_TYPE (newdecl); +- for (tree t = TYPE_MAIN_VARIANT (remove); ; +- t = TYPE_NEXT_VARIANT (t)) +- if (TYPE_NEXT_VARIANT (t) == remove) +- { +- TYPE_NEXT_VARIANT (t) = TYPE_NEXT_VARIANT (remove); +- break; +- } ++ if (TYPE_MAIN_VARIANT (remove) == remove) ++ { ++ gcc_assert (TYPE_NEXT_VARIANT (remove) == NULL_TREE); ++ /* If remove is the main variant, no need to remove that ++ from the list. One of the DECL_ORIGINAL_TYPE ++ variants, e.g. created for aligned attribute, might still ++ refer to the newdecl TYPE_DECL though, so remove that one ++ in that case. */ ++ if (DECL_ORIGINAL_TYPE (newdecl) ++ && DECL_ORIGINAL_TYPE (newdecl) != remove) ++ for (tree t = TYPE_MAIN_VARIANT (DECL_ORIGINAL_TYPE (newdecl)); ++ t; t = TYPE_MAIN_VARIANT (t)) ++ if (TYPE_NAME (TYPE_NEXT_VARIANT (t)) == newdecl) ++ { ++ TYPE_NEXT_VARIANT (t) ++ = TYPE_NEXT_VARIANT (TYPE_NEXT_VARIANT (t)); ++ break; ++ } ++ } ++ else ++ for (tree t = TYPE_MAIN_VARIANT (remove); ; ++ t = TYPE_NEXT_VARIANT (t)) ++ if (TYPE_NEXT_VARIANT (t) == remove) ++ { ++ TYPE_NEXT_VARIANT (t) = TYPE_NEXT_VARIANT (remove); ++ break; ++ } + } + } + +@@ -2864,7 +2884,7 @@ pushdecl (tree x) + unless they have initializers (which generate code). */ + if (current_function_decl + && (!VAR_OR_FUNCTION_DECL_P (x) +- || DECL_INITIAL (x) || !DECL_EXTERNAL (x))) ++ || DECL_INITIAL (x) || !TREE_PUBLIC (x))) + DECL_CONTEXT (x) = current_function_decl; + + /* Anonymous decls are just inserted in the scope. */ +@@ -6207,11 +6227,14 @@ grokdeclarator (const struct c_declarator *declarator, + } + if (this_size_varies) + { +- if (*expr) +- *expr = build2 (COMPOUND_EXPR, TREE_TYPE (size), +- *expr, size); +- else +- *expr = size; ++ if (TREE_SIDE_EFFECTS (size)) ++ { ++ if (*expr) ++ *expr = build2 (COMPOUND_EXPR, TREE_TYPE (size), ++ *expr, size); ++ else ++ *expr = size; ++ } + *expr_const_operands &= size_maybe_const; + } + } +@@ -6436,10 +6459,12 @@ grokdeclarator (const struct c_declarator *declarator, + quals_used &= TYPE_QUAL_ATOMIC; + if (quals_used && VOID_TYPE_P (type) && really_funcdef) + pedwarn (specs_loc, 0, +- "function definition has qualified void return type"); ++ "function definition has qualified void " ++ "return type"); + else + warning_at (specs_loc, OPT_Wignored_qualifiers, +- "type qualifiers ignored on function return type"); ++ "type qualifiers ignored on function " ++ "return type"); + + /* Ensure an error for restrict on invalid types; the + DR#423 resolution is not entirely clear about +@@ -6449,8 +6474,7 @@ grokdeclarator (const struct c_declarator *declarator, + && (!POINTER_TYPE_P (type) + || !C_TYPE_OBJECT_OR_INCOMPLETE_P (TREE_TYPE (type)))) + error_at (loc, "invalid use of %"); +- if (quals_used) +- type = c_build_qualified_type (type, quals_used); ++ type = c_build_qualified_type (type, quals_used); + } + type_quals = TYPE_UNQUALIFIED; + +@@ -9485,7 +9509,8 @@ finish_function (void) + && !C_FUNCTION_IMPLICIT_INT (fndecl) + /* Normally, with -Wreturn-type, flow will complain, but we might + optimize out static functions. */ +- && !TREE_PUBLIC (fndecl)) ++ && !TREE_PUBLIC (fndecl) ++ && targetm.warn_func_return (fndecl)) + { + warning (OPT_Wreturn_type, + "no return statement in function returning non-void"); +--- a/src/gcc/c/c-parser.c ++++ b/src/gcc/c/c-parser.c +@@ -5933,7 +5933,8 @@ c_parser_while_statement (c_parser *parser, bool ivdep, unsigned short unroll, + location_t loc_after_labels; + bool open_brace = c_parser_next_token_is (parser, CPP_OPEN_BRACE); + body = c_parser_c99_block_statement (parser, if_p, &loc_after_labels); +- c_finish_loop (loc, cond, NULL, body, c_break_label, c_cont_label, true); ++ c_finish_loop (loc, loc, cond, UNKNOWN_LOCATION, NULL, body, ++ c_break_label, c_cont_label, true); + add_stmt (c_end_compound_stmt (loc, block, flag_isoc99)); + c_parser_maybe_reclassify_token (parser); + +@@ -5978,6 +5979,7 @@ c_parser_do_statement (c_parser *parser, bool ivdep, unsigned short unroll) + c_break_label = save_break; + new_cont = c_cont_label; + c_cont_label = save_cont; ++ location_t cond_loc = c_parser_peek_token (parser)->location; + cond = c_parser_paren_condition (parser); + if (ivdep && cond != error_mark_node) + cond = build3 (ANNOTATE_EXPR, TREE_TYPE (cond), cond, +@@ -5991,7 +5993,8 @@ c_parser_do_statement (c_parser *parser, bool ivdep, unsigned short unroll) + build_int_cst (integer_type_node, unroll)); + if (!c_parser_require (parser, CPP_SEMICOLON, "expected %<;%>")) + c_parser_skip_to_end_of_block_or_statement (parser); +- c_finish_loop (loc, cond, NULL, body, new_break, new_cont, false); ++ c_finish_loop (loc, cond_loc, cond, UNKNOWN_LOCATION, NULL, body, ++ new_break, new_cont, false); + add_stmt (c_end_compound_stmt (loc, block, flag_isoc99)); + } + +@@ -6064,7 +6067,9 @@ c_parser_for_statement (c_parser *parser, bool ivdep, unsigned short unroll, + /* Silence the bogus uninitialized warning. */ + tree collection_expression = NULL; + location_t loc = c_parser_peek_token (parser)->location; +- location_t for_loc = c_parser_peek_token (parser)->location; ++ location_t for_loc = loc; ++ location_t cond_loc = UNKNOWN_LOCATION; ++ location_t incr_loc = UNKNOWN_LOCATION; + bool is_foreach_statement = false; + gcc_assert (c_parser_next_token_is_keyword (parser, RID_FOR)); + token_indent_info for_tinfo +@@ -6098,7 +6103,8 @@ c_parser_for_statement (c_parser *parser, bool ivdep, unsigned short unroll, + c_parser_consume_token (parser); + is_foreach_statement = true; + if (check_for_loop_decls (for_loc, true) == NULL_TREE) +- c_parser_error (parser, "multiple iterating variables in fast enumeration"); ++ c_parser_error (parser, "multiple iterating variables in " ++ "fast enumeration"); + } + else + check_for_loop_decls (for_loc, flag_isoc99); +@@ -6128,7 +6134,8 @@ c_parser_for_statement (c_parser *parser, bool ivdep, unsigned short unroll, + c_parser_consume_token (parser); + is_foreach_statement = true; + if (check_for_loop_decls (for_loc, true) == NULL_TREE) +- c_parser_error (parser, "multiple iterating variables in fast enumeration"); ++ c_parser_error (parser, "multiple iterating variables in " ++ "fast enumeration"); + } + else + check_for_loop_decls (for_loc, flag_isoc99); +@@ -6150,15 +6157,18 @@ c_parser_for_statement (c_parser *parser, bool ivdep, unsigned short unroll, + c_parser_consume_token (parser); + is_foreach_statement = true; + if (! lvalue_p (init_expression)) +- c_parser_error (parser, "invalid iterating variable in fast enumeration"); +- object_expression = c_fully_fold (init_expression, false, NULL); ++ c_parser_error (parser, "invalid iterating variable in " ++ "fast enumeration"); ++ object_expression ++ = c_fully_fold (init_expression, false, NULL); + } + else + { + ce = convert_lvalue_to_rvalue (loc, ce, true, false); + init_expression = ce.value; + c_finish_expr_stmt (loc, init_expression); +- c_parser_skip_until_found (parser, CPP_SEMICOLON, "expected %<;%>"); ++ c_parser_skip_until_found (parser, CPP_SEMICOLON, ++ "expected %<;%>"); + } + } + } +@@ -6167,18 +6177,19 @@ c_parser_for_statement (c_parser *parser, bool ivdep, unsigned short unroll, + gcc_assert (!parser->objc_could_be_foreach_context); + if (!is_foreach_statement) + { ++ cond_loc = c_parser_peek_token (parser)->location; + if (c_parser_next_token_is (parser, CPP_SEMICOLON)) + { + if (ivdep) + { +- c_parser_error (parser, "missing loop condition in loop with " +- "% pragma"); ++ c_parser_error (parser, "missing loop condition in loop " ++ "with % pragma"); + cond = error_mark_node; + } + else if (unroll) + { +- c_parser_error (parser, "missing loop condition in loop with " +- "% pragma"); ++ c_parser_error (parser, "missing loop condition in loop " ++ "with % pragma"); + cond = error_mark_node; + } + else +@@ -6207,11 +6218,13 @@ c_parser_for_statement (c_parser *parser, bool ivdep, unsigned short unroll, + /* Parse the increment expression (the third expression in a + for-statement). In the case of a foreach-statement, this is + the expression that follows the 'in'. */ ++ loc = incr_loc = c_parser_peek_token (parser)->location; + if (c_parser_next_token_is (parser, CPP_CLOSE_PAREN)) + { + if (is_foreach_statement) + { +- c_parser_error (parser, "missing collection in fast enumeration"); ++ c_parser_error (parser, ++ "missing collection in fast enumeration"); + collection_expression = error_mark_node; + } + else +@@ -6220,8 +6233,8 @@ c_parser_for_statement (c_parser *parser, bool ivdep, unsigned short unroll, + else + { + if (is_foreach_statement) +- collection_expression = c_fully_fold (c_parser_expression (parser).value, +- false, NULL); ++ collection_expression ++ = c_fully_fold (c_parser_expression (parser).value, false, NULL); + else + { + struct c_expr ce = c_parser_expression (parser); +@@ -6244,10 +6257,14 @@ c_parser_for_statement (c_parser *parser, bool ivdep, unsigned short unroll, + body = c_parser_c99_block_statement (parser, if_p, &loc_after_labels); + + if (is_foreach_statement) +- objc_finish_foreach_loop (loc, object_expression, collection_expression, body, c_break_label, c_cont_label); ++ objc_finish_foreach_loop (for_loc, object_expression, ++ collection_expression, body, c_break_label, ++ c_cont_label); + else +- c_finish_loop (loc, cond, incr, body, c_break_label, c_cont_label, true); +- add_stmt (c_end_compound_stmt (loc, block, flag_isoc99 || c_dialect_objc ())); ++ c_finish_loop (for_loc, cond_loc, cond, incr_loc, incr, body, ++ c_break_label, c_cont_label, true); ++ add_stmt (c_end_compound_stmt (for_loc, block, ++ flag_isoc99 || c_dialect_objc ())); + c_parser_maybe_reclassify_token (parser); + + token_indent_info next_tinfo +@@ -13832,7 +13849,10 @@ c_parser_omp_clause_dist_schedule (c_parser *parser, tree list) + c_parser_skip_until_found (parser, CPP_CLOSE_PAREN, + "expected %<,%> or %<)%>"); + +- check_no_duplicate_clause (list, OMP_CLAUSE_SCHEDULE, "schedule"); ++ /* check_no_duplicate_clause (list, OMP_CLAUSE_DIST_SCHEDULE, ++ "dist_schedule"); */ ++ if (omp_find_clause (list, OMP_CLAUSE_DIST_SCHEDULE)) ++ warning_at (loc, 0, "too many %qs clauses", "dist_schedule"); + if (t == error_mark_node) + return list; + +@@ -18461,6 +18481,8 @@ c_parse_file (void) + + if (c_parser_peek_token (&tparser)->pragma_kind == PRAGMA_GCC_PCH_PREPROCESS) + c_parser_pragma_pch_preprocess (&tparser); ++ else ++ c_common_no_more_pch (); + + the_parser = ggc_alloc (); + *the_parser = tparser; +--- a/src/gcc/c/c-tree.h ++++ b/src/gcc/c/c-tree.h +@@ -684,7 +684,8 @@ extern int c_types_compatible_p (tree, tree); + extern tree c_begin_compound_stmt (bool); + extern tree c_end_compound_stmt (location_t, tree, bool); + extern void c_finish_if_stmt (location_t, tree, tree, tree); +-extern void c_finish_loop (location_t, tree, tree, tree, tree, tree, bool); ++extern void c_finish_loop (location_t, location_t, tree, location_t, tree, ++ tree, tree, tree, bool); + extern tree c_begin_stmt_expr (void); + extern tree c_finish_stmt_expr (location_t, tree); + extern tree c_process_expr_stmt (location_t, tree); +--- a/src/gcc/c/c-typeck.c ++++ b/src/gcc/c/c-typeck.c +@@ -5538,10 +5538,14 @@ build_c_cast (location_t loc, tree type, tree expr) + { + tree value; + ++ bool int_operands = EXPR_INT_CONST_OPERANDS (expr); ++ + if (TREE_CODE (expr) == EXCESS_PRECISION_EXPR) + expr = TREE_OPERAND (expr, 0); + + value = expr; ++ if (int_operands) ++ value = remove_c_maybe_const_expr (value); + + if (type == error_mark_node || expr == error_mark_node) + return error_mark_node; +@@ -5772,6 +5776,14 @@ build_c_cast (location_t loc, tree type, tree expr) + || TREE_CODE (expr) == COMPLEX_CST))) + value = build1 (NOP_EXPR, type, value); + ++ /* If the expression has integer operands and so can occur in an ++ unevaluated part of an integer constant expression, ensure the ++ return value reflects this. */ ++ if (int_operands ++ && INTEGRAL_TYPE_P (type) ++ && !EXPR_INT_CONST_OPERANDS (value)) ++ value = note_integer_operands (value); ++ + protected_set_expr_location (value, loc); + return value; + } +@@ -10528,11 +10540,14 @@ c_finish_if_stmt (location_t if_locus, tree cond, tree then_block, + the beginning of the loop. COND is the loop condition. COND_IS_FIRST + is false for DO loops. INCR is the FOR increment expression. BODY is + the statement controlled by the loop. BLAB is the break label. CLAB is +- the continue label. Everything is allowed to be NULL. */ ++ the continue label. Everything is allowed to be NULL. ++ COND_LOCUS is the location of the loop condition, INCR_LOCUS is the ++ location of the FOR increment expression. */ + + void +-c_finish_loop (location_t start_locus, tree cond, tree incr, tree body, +- tree blab, tree clab, bool cond_is_first) ++c_finish_loop (location_t start_locus, location_t cond_locus, tree cond, ++ location_t incr_locus, tree incr, tree body, tree blab, ++ tree clab, bool cond_is_first) + { + tree entry = NULL, exit = NULL, t; + +@@ -10574,12 +10589,8 @@ c_finish_loop (location_t start_locus, tree cond, tree incr, tree body, + } + + t = build_and_jump (&blab); +- if (cond_is_first) +- exit = fold_build3_loc (start_locus, +- COND_EXPR, void_type_node, cond, exit, t); +- else +- exit = fold_build3_loc (input_location, +- COND_EXPR, void_type_node, cond, exit, t); ++ exit = fold_build3_loc (cond_is_first ? start_locus : input_location, ++ COND_EXPR, void_type_node, cond, exit, t); + } + else + { +@@ -10600,9 +10611,23 @@ c_finish_loop (location_t start_locus, tree cond, tree incr, tree body, + if (clab) + add_stmt (build1 (LABEL_EXPR, void_type_node, clab)); + if (incr) +- add_stmt (incr); ++ { ++ if (MAY_HAVE_DEBUG_MARKER_STMTS && incr_locus != UNKNOWN_LOCATION) ++ { ++ t = build0 (DEBUG_BEGIN_STMT, void_type_node); ++ SET_EXPR_LOCATION (t, incr_locus); ++ add_stmt (t); ++ } ++ add_stmt (incr); ++ } + if (entry) + add_stmt (entry); ++ if (MAY_HAVE_DEBUG_MARKER_STMTS && cond_locus != UNKNOWN_LOCATION) ++ { ++ t = build0 (DEBUG_BEGIN_STMT, void_type_node); ++ SET_EXPR_LOCATION (t, cond_locus); ++ add_stmt (t); ++ } + if (exit) + add_stmt (exit); + if (blab) +--- a/src/gcc/calls.c ++++ b/src/gcc/calls.c +@@ -2078,8 +2078,7 @@ initialize_argument_information (int num_actuals ATTRIBUTE_UNUSED, + /* If TYPE is a transparent union or record, pass things the way + we would pass the first field of the union or record. We have + already verified that the modes are the same. */ +- if ((TREE_CODE (type) == UNION_TYPE || TREE_CODE (type) == RECORD_TYPE) +- && TYPE_TRANSPARENT_AGGR (type)) ++ if (RECORD_OR_UNION_TYPE_P (type) && TYPE_TRANSPARENT_AGGR (type)) + type = TREE_TYPE (first_field (type)); + + /* Decide where to pass this arg. +@@ -2873,6 +2872,9 @@ load_register_parameters (struct arg_data *args, int num_actuals, + poly_int64 size = 0; + HOST_WIDE_INT const_size = 0; + rtx_insn *before_arg = get_last_insn (); ++ tree type = TREE_TYPE (args[i].tree_value); ++ if (RECORD_OR_UNION_TYPE_P (type) && TYPE_TRANSPARENT_AGGR (type)) ++ type = TREE_TYPE (first_field (type)); + /* Set non-negative if we must move a word at a time, even if + just one word (e.g, partial == 4 && mode == DFmode). Set + to -1 if we just use a normal move insn. This value can be +@@ -2885,11 +2887,11 @@ load_register_parameters (struct arg_data *args, int num_actuals, + gcc_assert (partial % UNITS_PER_WORD == 0); + nregs = partial / UNITS_PER_WORD; + } +- else if (TYPE_MODE (TREE_TYPE (args[i].tree_value)) == BLKmode) ++ else if (TYPE_MODE (type) == BLKmode) + { + /* Variable-sized parameters should be described by a + PARALLEL instead. */ +- const_size = int_size_in_bytes (TREE_TYPE (args[i].tree_value)); ++ const_size = int_size_in_bytes (type); + gcc_assert (const_size >= 0); + nregs = (const_size + (UNITS_PER_WORD - 1)) / UNITS_PER_WORD; + size = const_size; +@@ -3016,8 +3018,7 @@ load_register_parameters (struct arg_data *args, int num_actuals, + if (GET_CODE (reg) == PARALLEL) + use_group_regs (call_fusage, reg); + else if (nregs == -1) +- use_reg_mode (call_fusage, reg, +- TYPE_MODE (TREE_TYPE (args[i].tree_value))); ++ use_reg_mode (call_fusage, reg, TYPE_MODE (type)); + else if (nregs > 0) + use_regs (call_fusage, REGNO (reg), nregs); + } +@@ -3754,6 +3755,28 @@ expand_call (tree exp, rtx target, int ignore) + || dbg_cnt (tail_call) == false) + try_tail_call = 0; + ++ /* Workaround buggy C/C++ wrappers around Fortran routines with ++ character(len=constant) arguments if the hidden string length arguments ++ are passed on the stack; if the callers forget to pass those arguments, ++ attempting to tail call in such routines leads to stack corruption. ++ Avoid tail calls in functions where at least one such hidden string ++ length argument is passed (partially or fully) on the stack in the ++ caller and the callee needs to pass any arguments on the stack. ++ See PR90329. */ ++ if (try_tail_call && maybe_ne (args_size.constant, 0)) ++ for (tree arg = DECL_ARGUMENTS (current_function_decl); ++ arg; arg = DECL_CHAIN (arg)) ++ if (DECL_HIDDEN_STRING_LENGTH (arg) && DECL_INCOMING_RTL (arg)) ++ { ++ subrtx_iterator::array_type array; ++ FOR_EACH_SUBRTX (iter, array, DECL_INCOMING_RTL (arg), NONCONST) ++ if (MEM_P (*iter)) ++ { ++ try_tail_call = 0; ++ break; ++ } ++ } ++ + /* If the user has marked the function as requiring tail-call + optimization, attempt it. */ + if (must_tail_call) +--- a/src/gcc/cfgcleanup.c ++++ b/src/gcc/cfgcleanup.c +@@ -53,6 +53,7 @@ along with GCC; see the file COPYING3. If not see + #include "dce.h" + #include "dbgcnt.h" + #include "rtl-iter.h" ++#include "regs.h" + + #define FORWARDER_BLOCK_P(BB) ((BB)->flags & BB_FORWARDER_BLOCK) + +@@ -1217,6 +1218,14 @@ old_insns_match_p (int mode ATTRIBUTE_UNUSED, rtx_insn *i1, rtx_insn *i2) + } + } + } ++ ++ HARD_REG_SET i1_used, i2_used; ++ ++ get_call_reg_set_usage (i1, &i1_used, call_used_reg_set); ++ get_call_reg_set_usage (i2, &i2_used, call_used_reg_set); ++ ++ if (!hard_reg_set_equal_p (i1_used, i2_used)) ++ return dir_none; + } + + /* If both i1 and i2 are frame related, verify all the CFA notes +@@ -2705,23 +2714,23 @@ try_optimize_cfg (int mode) + + if (current_ir_type () == IR_RTL_CFGLAYOUT) + { +- if (BB_FOOTER (b) +- && BARRIER_P (BB_FOOTER (b))) ++ rtx_insn *insn; ++ for (insn = BB_FOOTER (b); ++ insn; insn = NEXT_INSN (insn)) ++ if (BARRIER_P (insn)) ++ break; ++ if (insn) + FOR_EACH_EDGE (e, ei, b->preds) +- if ((e->flags & EDGE_FALLTHRU) +- && BB_FOOTER (e->src) == NULL) ++ if ((e->flags & EDGE_FALLTHRU)) + { +- if (BB_FOOTER (b)) ++ if (BB_FOOTER (b) ++ && BB_FOOTER (e->src) == NULL) + { + BB_FOOTER (e->src) = BB_FOOTER (b); + BB_FOOTER (b) = NULL; + } + else +- { +- start_sequence (); +- BB_FOOTER (e->src) = emit_barrier (); +- end_sequence (); +- } ++ emit_barrier_after_bb (e->src); + } + } + else +--- a/src/gcc/cfgexpand.c ++++ b/src/gcc/cfgexpand.c +@@ -4323,7 +4323,11 @@ expand_debug_expr (tree exp) + op0 = DECL_RTL_IF_SET (exp); + + /* This decl was probably optimized away. */ +- if (!op0) ++ if (!op0 ++ /* At least label RTXen are sometimes replaced by ++ NOTE_INSN_DELETED_LABEL. Any notes here are not ++ handled by copy_rtx. */ ++ || NOTE_P (op0)) + { + if (!VAR_P (exp) + || DECL_EXTERNAL (exp) +--- a/src/gcc/cfghooks.c ++++ b/src/gcc/cfghooks.c +@@ -1066,7 +1066,7 @@ can_duplicate_block_p (const_basic_block bb) + AFTER. */ + + basic_block +-duplicate_block (basic_block bb, edge e, basic_block after) ++duplicate_block (basic_block bb, edge e, basic_block after, copy_bb_data *id) + { + edge s, n; + basic_block new_bb; +@@ -1082,7 +1082,7 @@ duplicate_block (basic_block bb, edge e, basic_block after) + + gcc_checking_assert (can_duplicate_block_p (bb)); + +- new_bb = cfg_hooks->duplicate_block (bb); ++ new_bb = cfg_hooks->duplicate_block (bb, id); + if (after) + move_block_after (new_bb, after); + +@@ -1337,6 +1337,7 @@ copy_bbs (basic_block *bbs, unsigned n, basic_block *new_bbs, + unsigned i, j; + basic_block bb, new_bb, dom_bb; + edge e; ++ copy_bb_data id; + + /* Mark the blocks to be copied. This is used by edge creation hooks + to decide whether to reallocate PHI nodes capacity to avoid reallocating +@@ -1349,7 +1350,7 @@ copy_bbs (basic_block *bbs, unsigned n, basic_block *new_bbs, + { + /* Duplicate. */ + bb = bbs[i]; +- new_bb = new_bbs[i] = duplicate_block (bb, NULL, after); ++ new_bb = new_bbs[i] = duplicate_block (bb, NULL, after, &id); + after = new_bb; + if (bb->loop_father) + { +--- a/src/gcc/cfghooks.h ++++ b/src/gcc/cfghooks.h +@@ -54,6 +54,19 @@ struct profile_record + bool run; + }; + ++typedef int_hash dependence_hash; ++ ++/* Optional data for duplicate_block. */ ++ ++struct copy_bb_data ++{ ++ copy_bb_data() : dependence_map (NULL) {} ++ ~copy_bb_data () { delete dependence_map; } ++ ++ /* A map from the copied BBs dependence info cliques to ++ equivalents in the BBs duplicated to. */ ++ hash_map *dependence_map; ++}; + + struct cfg_hooks + { +@@ -112,7 +125,7 @@ struct cfg_hooks + bool (*can_duplicate_block_p) (const_basic_block a); + + /* Duplicate block A. */ +- basic_block (*duplicate_block) (basic_block a); ++ basic_block (*duplicate_block) (basic_block a, copy_bb_data *); + + /* Higher level functions representable by primitive operations above if + we didn't have some oddities in RTL and Tree representations. */ +@@ -227,7 +240,8 @@ extern void tidy_fallthru_edges (void); + extern void predict_edge (edge e, enum br_predictor predictor, int probability); + extern bool predicted_by_p (const_basic_block bb, enum br_predictor predictor); + extern bool can_duplicate_block_p (const_basic_block); +-extern basic_block duplicate_block (basic_block, edge, basic_block); ++extern basic_block duplicate_block (basic_block, edge, basic_block, ++ copy_bb_data * = NULL); + extern bool block_ends_with_call_p (basic_block bb); + extern bool empty_block_p (basic_block); + extern basic_block split_block_before_cond_jump (basic_block); +--- a/src/gcc/cfgloop.h ++++ b/src/gcc/cfgloop.h +@@ -227,6 +227,10 @@ struct GTY ((chain_next ("%h.next"))) loop { + Other values means unroll with the given unrolling factor. */ + unsigned short unroll; + ++ /* If this loop was inlined the main clique of the callee which does ++ not need remapping when copying the loop body. */ ++ unsigned short owned_clique; ++ + /* For SIMD loops, this is a unique identifier of the loop, referenced + by IFN_GOMP_SIMD_VF, IFN_GOMP_SIMD_LANE and IFN_GOMP_SIMD_LAST_LANE + builtins. */ +--- a/src/gcc/cfgloopmanip.c ++++ b/src/gcc/cfgloopmanip.c +@@ -1019,6 +1019,7 @@ copy_loop_info (struct loop *loop, struct loop *target) + target->warned_aggressive_loop_optimizations + |= loop->warned_aggressive_loop_optimizations; + target->in_oacc_kernels_region = loop->in_oacc_kernels_region; ++ target->owned_clique = loop->owned_clique; + } + + /* Copies copy of LOOP as subloop of TARGET loop, placing newly +--- a/src/gcc/cfgrtl.c ++++ b/src/gcc/cfgrtl.c +@@ -4233,7 +4233,7 @@ duplicate_insn_chain (rtx_insn *from, rtx_insn *to) + /* Create a duplicate of the basic block BB. */ + + static basic_block +-cfg_layout_duplicate_bb (basic_block bb) ++cfg_layout_duplicate_bb (basic_block bb, copy_bb_data *) + { + rtx_insn *insn; + basic_block new_bb; +@@ -5059,9 +5059,9 @@ rtl_can_remove_branch_p (const_edge e) + } + + static basic_block +-rtl_duplicate_bb (basic_block bb) ++rtl_duplicate_bb (basic_block bb, copy_bb_data *id) + { +- bb = cfg_layout_duplicate_bb (bb); ++ bb = cfg_layout_duplicate_bb (bb, id); + bb->aux = NULL; + return bb; + } +--- a/src/gcc/cgraph.c ++++ b/src/gcc/cgraph.c +@@ -3007,42 +3007,55 @@ cgraph_node::collect_callers (void) + 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) + { +- bool skipped_thunk = false; + node = node->ultimate_alias_target (); + node2 = node2->ultimate_alias_target (); + ++ if (node2->clone_of == node ++ || node2->former_clone_of == node->decl) ++ return true; ++ ++ if (!node->thunk.thunk_p && !node->former_thunk_p ()) ++ { ++ while (node2 && node->decl != node2->decl) ++ node2 = node2->clone_of; ++ return node2 != NULL; ++ } ++ + /* 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; +- } + +- if (skipped_thunk) +- { + if (!node2->clone.args_to_skip + || !bitmap_bit_p (node2->clone.args_to_skip, 0)) + return false; + if (node2->former_clone_of == node->decl) + return true; +- else if (!node2->clone_of) +- return false; ++ ++ cgraph_node *n2 = node2; ++ while (n2 && node->decl != n2->decl) ++ n2 = n2->clone_of; ++ if (n2) ++ return true; + } + +- while (node != node2 && node2) +- node2 = node2->clone_of; +- return node2 != NULL; ++ return false; + } + + /* Verify edge count and frequency. */ +--- a/src/gcc/cgraph.h ++++ b/src/gcc/cgraph.h +@@ -997,12 +997,17 @@ public: + If non-NULL BLOCK_TO_COPY determine what basic blocks to copy. + If non_NULL NEW_ENTRY determine new entry BB of the clone. + ++ If TARGET_ATTRIBUTES is non-null, when creating a new declaration, ++ add the attributes to DECL_ATTRIBUTES. And call valid_attribute_p ++ that will promote value of the attribute DECL_FUNCTION_SPECIFIC_TARGET ++ of the declaration. ++ + Return the new version's cgraph node. */ + cgraph_node *create_version_clone_with_body + (vec redirect_callers, + vec *tree_map, bitmap args_to_skip, + bool skip_return, bitmap bbs_to_copy, basic_block new_entry_block, +- const char *clone_name); ++ const char *clone_name, tree target_attributes = NULL_TREE); + + /* Insert a new cgraph_function_version_info node into cgraph_fnver_htab + corresponding to cgraph_node. */ +@@ -1258,6 +1263,9 @@ public: + 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 +2866,16 @@ cgraph_node::has_gimple_body_p (void) + 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); \ +--- a/src/gcc/cgraphclones.c ++++ b/src/gcc/cgraphclones.c +@@ -938,6 +938,11 @@ cgraph_node::create_version_clone (tree new_decl, + If non-NULL BLOCK_TO_COPY determine what basic blocks to copy. + If non_NULL NEW_ENTRY determine new entry BB of the clone. + ++ If TARGET_ATTRIBUTES is non-null, when creating a new declaration, ++ add the attributes to DECL_ATTRIBUTES. And call valid_attribute_p ++ that will promote value of the attribute DECL_FUNCTION_SPECIFIC_TARGET ++ of the declaration. ++ + Return the new version's cgraph node. */ + + cgraph_node * +@@ -945,7 +950,7 @@ cgraph_node::create_version_clone_with_body + (vec redirect_callers, + vec *tree_map, bitmap args_to_skip, + bool skip_return, bitmap bbs_to_copy, basic_block new_entry_block, +- const char *suffix) ++ const char *suffix, tree target_attributes) + { + tree old_decl = decl; + cgraph_node *new_version_node = NULL; +@@ -968,6 +973,19 @@ cgraph_node::create_version_clone_with_body + SET_DECL_ASSEMBLER_NAME (new_decl, DECL_NAME (new_decl)); + SET_DECL_RTL (new_decl, NULL); + ++ if (target_attributes) ++ { ++ DECL_ATTRIBUTES (new_decl) = target_attributes; ++ ++ location_t saved_loc = input_location; ++ tree v = TREE_VALUE (target_attributes); ++ input_location = DECL_SOURCE_LOCATION (new_decl); ++ bool r = targetm.target_option.valid_attribute_p (new_decl, NULL, v, 0); ++ input_location = saved_loc; ++ if (!r) ++ return NULL; ++ } ++ + /* When the old decl was a con-/destructor make sure the clone isn't. */ + DECL_STATIC_CONSTRUCTOR (new_decl) = 0; + DECL_STATIC_DESTRUCTOR (new_decl) = 0; +--- a/src/gcc/combine.c ++++ b/src/gcc/combine.c +@@ -12318,7 +12318,8 @@ simplify_comparison (enum rtx_code code, rtx *pop0, rtx *pop1) + bit. This will be converted into a ZERO_EXTRACT. */ + if (const_op == 0 && sign_bit_comparison_p + && CONST_INT_P (XEXP (op0, 1)) +- && mode_width <= HOST_BITS_PER_WIDE_INT) ++ && mode_width <= HOST_BITS_PER_WIDE_INT ++ && UINTVAL (XEXP (op0, 1)) < mode_width) + { + op0 = simplify_and_const_int (NULL_RTX, mode, XEXP (op0, 0), + (HOST_WIDE_INT_1U +--- a/src/gcc/common/config/aarch64/aarch64-common.c ++++ b/src/gcc/common/config/aarch64/aarch64-common.c +@@ -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 @@ aarch64_handle_option (struct gcc_options *opts, + } + } + +-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,15 +122,28 @@ struct aarch64_option_extension + 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, 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} ++ {NULL, 0, 0, 0, false} + }; + + struct processor_name_to_arch +@@ -232,6 +245,76 @@ aarch64_parse_extension (const char *str, unsigned long *isa_flags) + 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,26 +328,97 @@ aarch64_get_extension_string_for_isa_flags (unsigned long isa_flags, + 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 + to be printed before +no. */ ++ 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 @@ aarch64_rewrite_mcpu (int argc, const char **argv) + return aarch64_rewrite_selected_cpu (argv[argc - 1]); + } + ++struct gcc_targetm_common targetm_common = TARGETM_COMMON_INITIALIZER; ++ + #undef AARCH64_CPU_NAME_LENGTH + +--- a/src/gcc/config.gcc ++++ b/src/gcc/config.gcc +@@ -647,7 +647,7 @@ x86_cpus="generic intel" + # Common parts for widely ported systems. + case ${target} in + *-*-darwin*) +- tmake_file="t-darwin ${cpu_type}/t-darwin" ++ tmake_file="t-darwin " + tm_file="${tm_file} darwin.h" + case ${target} in + *-*-darwin9*) +@@ -1479,16 +1479,25 @@ hppa[12]*-*-hpux11*) + dwarf2=no + fi + ;; ++i[34567]86-*-darwin1[89]*) ++ echo "Error: 32bit target is not supported after Darwin17" 1>&2 ++ ;; + i[34567]86-*-darwin*) + need_64bit_isa=yes + # Baseline choice for a machine that allows m64 support. + with_cpu=${with_cpu:-core2} ++ tmake_file="${tmake_file} ${cpu_type}/t-darwin32-biarch t-slibgcc" ++ tm_file="${tm_file} ${cpu_type}/darwin32-biarch.h" ++ ;; ++x86_64-*-darwin1[89]* | x86_64-*-darwin2[01]*) ++ # Only 64b from now ++ with_cpu=${with_cpu:-core2} + tmake_file="${tmake_file} t-slibgcc" + ;; + x86_64-*-darwin*) + with_cpu=${with_cpu:-core2} +- tmake_file="${tmake_file} ${cpu_type}/t-darwin64 t-slibgcc" +- tm_file="${tm_file} ${cpu_type}/darwin64.h" ++ tmake_file="${tmake_file} ${cpu_type}/t-darwin64-biarch t-slibgcc" ++ tm_file="${tm_file} ${cpu_type}/darwin64-biarch.h" + ;; + i[34567]86-*-elfiamcu) + tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/iamcu.h" +@@ -2386,16 +2395,23 @@ pdp11-*-*) + # extra_headers= + # ;; + powerpc-*-darwin*) +- extra_options="${extra_options} rs6000/darwin.opt" ++ extra_options="${extra_options} ${cpu_type}/darwin.opt" + case ${target} in +- *-darwin1[0-9]* | *-darwin[8-9]*) +- tmake_file="${tmake_file} rs6000/t-darwin8" +- tm_file="${tm_file} rs6000/darwin8.h" ++ *-darwin1[0-9]* | *-darwin9*) ++ tmake_file="${tmake_file} ${cpu_type}/t-darwin32-biarch" ++ tm_file="${tm_file} ${cpu_type}/darwin32-biarch.h" ++ ;; ++ *-darwin8*) ++ tmake_file="${tmake_file} ${cpu_type}/t-darwin32-biarch" ++ tm_file="${tm_file} ${cpu_type}/darwin32-biarch.h" ++ tm_file="${tm_file} ${cpu_type}/darwin8.h" + ;; + *-darwin7*) +- tm_file="${tm_file} rs6000/darwin7.h" ++ tm_file="${tm_file} ${cpu_type}/darwin7.h" + ;; +- *-darwin[0-6]*) ++ *-darwin[456]*) ++ # Earlier - ingle arch, with 32b only ++ # OS X 10.0, the first edition is Darwin4 + ;; + esac + tmake_file="${tmake_file} t-slibgcc" +@@ -2403,8 +2419,8 @@ powerpc-*-darwin*) + ;; + powerpc64-*-darwin*) + extra_options="${extra_options} ${cpu_type}/darwin.opt" +- tmake_file="${tmake_file} ${cpu_type}/t-darwin64 t-slibgcc" +- tm_file="${tm_file} ${cpu_type}/darwin8.h ${cpu_type}/darwin64.h" ++ tmake_file="${tmake_file} ${cpu_type}/t-darwin64-biarch t-slibgcc" ++ tm_file="${tm_file} ${cpu_type}/darwin64-biarch.h" + extra_headers=altivec.h + ;; + powerpc*-*-freebsd*) +@@ -4447,14 +4463,12 @@ case "${target}" in + echo "#undef LINK_OS_EXTRA_SPEC32" + echo "#define LINK_OS_EXTRA_SPEC32" \ + "\"%(link_os_new_dtags)" \ +- "-rpath $prefix/lib -rpath $at/lib" \ +- "-L $prefix/lib -L $at/lib\"" ++ "-rpath $prefix/lib -rpath $at/lib\"" + echo + echo "#undef LINK_OS_EXTRA_SPEC64" + echo "#define LINK_OS_EXTRA_SPEC64" \ + "\"%(link_os_new_dtags)" \ +- "-rpath $prefix/lib64 -rpath $at/lib64" \ +- "-L $prefix/lib64 -L $at/lib64\"" ++ "-rpath $prefix/lib64 -rpath $at/lib64\"" + echo + echo "#undef LINK_OS_NEW_DTAGS_SPEC" + echo "#define LINK_OS_NEW_DTAGS_SPEC" \ +@@ -4467,7 +4481,10 @@ case "${target}" in + echo "#define MD_EXEC_PREFIX \"$at/bin/\"" + echo + echo "#undef MD_STARTFILE_PREFIX" +- echo "#define MD_STARTFILE_PREFIX \"$at/lib/\"") \ ++ echo "#define MD_STARTFILE_PREFIX \"$prefix/lib/\"" ++ echo ++ echo "#undef MD_STARTFILE_PREFIX_1" ++ echo "#define MD_STARTFILE_PREFIX_1 \"$at/lib/\"") \ + > advance-toolchain.h + else + echo "Unknown advance-toolchain $with_advance_toolchain" +@@ -4676,7 +4693,10 @@ case ${target} in + ;; + i[34567]86-*-dragonfly* | x86_64-*-dragonfly*) + ;; +- i[34567]86-*-freebsd* | x86_64-*-freebsd*) ++ i[34567]86-*-freebsd*) ++ ;; ++ x86_64-*-freebsd*) ++ tmake_file="${tmake_file} i386/t-freebsd64" + ;; + ia64*-*-linux*) + ;; +--- a/src/gcc/config/aarch64/aarch64-c.c ++++ b/src/gcc/config/aarch64/aarch64-c.c +@@ -146,6 +146,7 @@ aarch64_update_cpp_builtins (cpp_reader *pfile) + builtin_define_with_int_value ("__ARM_FEATURE_SVE_BITS", bits); + } + ++ aarch64_def_or_undef (TARGET_LSE, "__ARM_FEATURE_ATOMICS", pfile); + aarch64_def_or_undef (TARGET_AES, "__ARM_FEATURE_AES", pfile); + aarch64_def_or_undef (TARGET_SHA2, "__ARM_FEATURE_SHA2", pfile); + aarch64_def_or_undef (TARGET_SHA3, "__ARM_FEATURE_SHA3", pfile); +--- a/src/gcc/config/aarch64/aarch64-cores.def ++++ b/src/gcc/config/aarch64/aarch64-cores.def +@@ -85,6 +85,9 @@ AARCH64_CORE("thunderx2t99", thunderx2t99, thunderx2t99, 8_1A, AARCH64_FL_FOR + /* ARM ('A') cores. */ + AARCH64_CORE("cortex-a55", cortexa55, cortexa53, 8_2A, AARCH64_FL_FOR_ARCH8_2 | AARCH64_FL_F16 | AARCH64_FL_RCPC | AARCH64_FL_DOTPROD, cortexa53, 0x41, 0xd05, -1) + AARCH64_CORE("cortex-a75", cortexa75, cortexa57, 8_2A, AARCH64_FL_FOR_ARCH8_2 | AARCH64_FL_F16 | AARCH64_FL_RCPC | AARCH64_FL_DOTPROD, cortexa73, 0x41, 0xd0a, -1) ++AARCH64_CORE("cortex-a76", cortexa76, cortexa57, 8_2A, AARCH64_FL_FOR_ARCH8_2 | AARCH64_FL_F16 | AARCH64_FL_RCPC | AARCH64_FL_DOTPROD, cortexa72, 0x41, 0xd0b, -1) ++AARCH64_CORE("ares", ares, cortexa57, 8_2A, AARCH64_FL_FOR_ARCH8_2 | AARCH64_FL_F16 | AARCH64_FL_RCPC | AARCH64_FL_DOTPROD, cortexa72, 0x41, 0xd0c, -1) ++AARCH64_CORE("neoverse-n1", neoversen1,cortexa57, 8_2A, AARCH64_FL_FOR_ARCH8_2 | AARCH64_FL_F16 | AARCH64_FL_RCPC | AARCH64_FL_DOTPROD, cortexa72, 0x41, 0xd0c, -1) + + /* ARMv8.3-A Architecture Processors. */ + +--- a/src/gcc/config/aarch64/aarch64-option-extensions.def ++++ b/src/gcc/config/aarch64/aarch64-option-extensions.def +@@ -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) +- +- 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. */ ++ 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. ++ - 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 +--- a/src/gcc/config/aarch64/aarch64-tune.md ++++ b/src/gcc/config/aarch64/aarch64-tune.md +@@ -1,5 +1,5 @@ + ;; -*- buffer-read-only: t -*- + ;; Generated automatically by gentune.sh from aarch64-cores.def + (define_attr "tune" +- "cortexa35,cortexa53,cortexa57,cortexa72,cortexa73,thunderx,thunderxt88p1,thunderxt88,thunderxt81,thunderxt83,xgene1,falkor,qdf24xx,exynosm1,thunderx2t99p1,vulcan,thunderx2t99,cortexa55,cortexa75,saphira,cortexa57cortexa53,cortexa72cortexa53,cortexa73cortexa35,cortexa73cortexa53,cortexa75cortexa55" ++ "cortexa35,cortexa53,cortexa57,cortexa72,cortexa73,thunderx,thunderxt88p1,thunderxt88,thunderxt81,thunderxt83,xgene1,falkor,qdf24xx,exynosm1,thunderx2t99p1,vulcan,thunderx2t99,cortexa55,cortexa75,cortexa76,ares,neoversen1,saphira,cortexa57cortexa53,cortexa72cortexa53,cortexa73cortexa35,cortexa73cortexa53,cortexa75cortexa55" + (const (symbol_ref "((enum attr_tune) aarch64_tune)"))) +--- a/src/gcc/config/aarch64/aarch64.c ++++ b/src/gcc/config/aarch64/aarch64.c +@@ -14336,6 +14336,9 @@ aarch64_gen_atomic_cas (rtx rval, rtx mem, + void + aarch64_split_compare_and_swap (rtx operands[]) + { ++ /* Split after prolog/epilog to avoid interactions with shrinkwrapping. */ ++ gcc_assert (epilogue_completed); ++ + rtx rval, mem, oldval, newval, scratch; + machine_mode mode; + bool is_weak; +@@ -14680,6 +14683,9 @@ void + aarch64_split_atomic_op (enum rtx_code code, rtx old_out, rtx new_out, rtx mem, + rtx value, rtx model_rtx, rtx cond) + { ++ /* Split after prolog/epilog to avoid interactions with shrinkwrapping. */ ++ gcc_assert (epilogue_completed); ++ + machine_mode mode = GET_MODE (mem); + machine_mode wmode = (mode == DImode ? DImode : SImode); + const enum memmodel model = memmodel_from_int (INTVAL (model_rtx)); +@@ -15623,7 +15629,7 @@ aarch64_expand_vec_perm_const_1 (struct expand_vec_perm_d *d) + return true; + if (d->vec_flags == VEC_SVE_DATA) + return aarch64_evpc_sve_tbl (d); +- else if (d->vec_flags == VEC_SVE_DATA) ++ else if (d->vec_flags == VEC_ADVSIMD) + return aarch64_evpc_tbl (d); + } + return false; +--- a/src/gcc/config/aarch64/aarch64.md ++++ b/src/gcc/config/aarch64/aarch64.md +@@ -189,6 +189,7 @@ + UNSPEC_CLASTB + UNSPEC_FADDA + UNSPEC_REV_SUBREG ++ UNSPEC_COPYSIGN + ]) + + (define_c_enum "unspecv" [ +@@ -974,8 +975,8 @@ + (match_operand:GPI 1 "general_operand" ""))] + "" + " +- if (MEM_P (operands[0]) && CONST_INT_P (operands[1]) +- && mode == DImode ++ if (MEM_P (operands[0]) && !MEM_VOLATILE_P (operands[0]) ++ && CONST_INT_P (operands[1]) && mode == DImode + && aarch64_split_dimode_const_store (operands[0], operands[1])) + DONE; + +@@ -5412,7 +5413,7 @@ + [(match_operand:GPI 0 "register_operand") + (match_operand:GPF 1 "register_operand")] + "TARGET_FLOAT +- && ((GET_MODE_SIZE (mode) <= GET_MODE_SIZE (mode)) ++ && ((GET_MODE_BITSIZE (mode) <= LONG_TYPE_SIZE) + || !flag_trapping_math || flag_fp_int_builtin_inexact)" + { + rtx cvt = gen_reg_rtx (mode); +@@ -5427,49 +5428,48 @@ + ;; LDR d2, #(1 << 63) + ;; BSL v2.8b, [y], [x] + ;; +-;; or another, equivalent, sequence using one of BSL/BIT/BIF. +-;; aarch64_simd_bsldf will select the best suited of these instructions +-;; to generate based on register allocation, and knows how to partially +-;; constant fold based on the values of X and Y, so expand through that. +- +-(define_expand "copysigndf3" +- [(match_operand:DF 0 "register_operand") +- (match_operand:DF 1 "register_operand") +- (match_operand:DF 2 "register_operand")] ++;; or another, equivalent, sequence using one of BSL/BIT/BIF. Because ++;; we expect these operations to nearly always operate on ++;; floating-point values, we do not want the operation to be ++;; simplified into a bit-field insert operation that operates on the ++;; integer side, since typically that would involve three inter-bank ++;; register copies. As we do not expect copysign to be followed by ++;; other logical operations on the result, it seems preferable to keep ++;; this as an unspec operation, rather than exposing the underlying ++;; logic to the compiler. ++ ++(define_expand "copysign3" ++ [(match_operand:GPF 0 "register_operand") ++ (match_operand:GPF 1 "register_operand") ++ (match_operand:GPF 2 "register_operand")] + "TARGET_FLOAT && TARGET_SIMD" + { +- rtx mask = gen_reg_rtx (DImode); +- emit_move_insn (mask, GEN_INT (HOST_WIDE_INT_1U << 63)); +- emit_insn (gen_aarch64_simd_bsldf (operands[0], mask, +- operands[2], operands[1])); ++ rtx bitmask = gen_reg_rtx (mode); ++ emit_move_insn (bitmask, GEN_INT (HOST_WIDE_INT_M1U ++ << (GET_MODE_BITSIZE (mode) - 1))); ++ emit_insn (gen_copysign3_insn (operands[0], operands[1], operands[2], ++ bitmask)); + DONE; + } + ) + +-;; As above, but we must first get to a 64-bit value if we wish to use +-;; aarch64_simd_bslv2sf. +- +-(define_expand "copysignsf3" +- [(match_operand:SF 0 "register_operand") +- (match_operand:SF 1 "register_operand") +- (match_operand:SF 2 "register_operand")] ++(define_insn "copysign3_insn" ++ [(set (match_operand:GPF 0 "register_operand" "=w,w,w,r") ++ (unspec:GPF [(match_operand:GPF 1 "register_operand" "w,0,w,r") ++ (match_operand:GPF 2 "register_operand" "w,w,0,0") ++ (match_operand: 3 "register_operand" ++ "0,w,w,X")] ++ UNSPEC_COPYSIGN))] + "TARGET_FLOAT && TARGET_SIMD" +-{ +- rtx v_bitmask = gen_reg_rtx (V2SImode); +- +- /* Juggle modes to get us in to a vector mode for BSL. */ +- rtx op1 = lowpart_subreg (DImode, operands[1], SFmode); +- rtx op2 = lowpart_subreg (V2SFmode, operands[2], SFmode); +- rtx tmp = gen_reg_rtx (V2SFmode); +- emit_move_insn (v_bitmask, +- aarch64_simd_gen_const_vector_dup (V2SImode, +- HOST_WIDE_INT_M1U << 31)); +- emit_insn (gen_aarch64_simd_bslv2sf (tmp, v_bitmask, op2, op1)); +- emit_move_insn (operands[0], lowpart_subreg (SFmode, tmp, V2SFmode)); +- DONE; +-} ++ "@ ++ bsl\\t%0., %2., %1. ++ bit\\t%0., %2., %3. ++ bif\\t%0., %1., %3. ++ bfxil\\t%0, %1, #0, " ++ [(set_attr "type" "neon_bsl,neon_bsl,neon_bsl,bfm")] + ) + ++ + ;; For xorsign (x, y), we want to generate: + ;; + ;; LDR d2, #1<<63 +--- a/src/gcc/config/aarch64/atomics.md ++++ b/src/gcc/config/aarch64/atomics.md +@@ -53,7 +53,7 @@ + (clobber (match_scratch:SI 7 "=&r"))] + "" + "#" +- "&& reload_completed" ++ "&& epilogue_completed" + [(const_int 0)] + { + aarch64_split_compare_and_swap (operands); +@@ -77,7 +77,7 @@ + (clobber (match_scratch:SI 7 "=&r"))] + "" + "#" +- "&& reload_completed" ++ "&& epilogue_completed" + [(const_int 0)] + { + aarch64_split_compare_and_swap (operands); +@@ -169,7 +169,7 @@ + (clobber (match_scratch:SI 4 "=&r"))] + "" + "#" +- "&& reload_completed" ++ "&& epilogue_completed" + [(const_int 0)] + { + aarch64_split_atomic_op (SET, operands[0], NULL, operands[1], +@@ -230,7 +230,7 @@ + (clobber (match_scratch:SI 4 "=&r"))] + "" + "#" +- "&& reload_completed" ++ "&& epilogue_completed" + [(const_int 0)] + { + aarch64_split_atomic_op (, NULL, operands[3], operands[0], +@@ -271,7 +271,7 @@ + (clobber (match_scratch:SI 4 "=&r"))] + "" + "#" +- "&& reload_completed" ++ "&& epilogue_completed" + [(const_int 0)] + { + aarch64_split_atomic_op (NOT, NULL, operands[3], operands[0], +@@ -317,7 +317,7 @@ + (clobber (match_scratch:SI 5 "=&r"))] + "" + "#" +- "&& reload_completed" ++ "&& epilogue_completed" + [(const_int 0)] + { + aarch64_split_atomic_op (, operands[0], operands[4], operands[1], +@@ -361,7 +361,7 @@ + (clobber (match_scratch:SI 5 "=&r"))] + "" + "#" +- "&& reload_completed" ++ "&& epilogue_completed" + [(const_int 0)] + { + aarch64_split_atomic_op (NOT, operands[0], operands[4], operands[1], +@@ -408,7 +408,7 @@ + (clobber (match_scratch:SI 4 "=&r"))] + "" + "#" +- "&& reload_completed" ++ "&& epilogue_completed" + [(const_int 0)] + { + aarch64_split_atomic_op (, NULL, operands[0], operands[1], +@@ -455,7 +455,7 @@ + (clobber (match_scratch:SI 4 "=&r"))] + "" + "#" +- "&& reload_completed" ++ "&& epilogue_completed" + [(const_int 0)] + { + aarch64_split_atomic_op (NOT, NULL, operands[0], operands[1], +--- a/src/gcc/config/aarch64/driver-aarch64.c ++++ b/src/gcc/config/aarch64/driver-aarch64.c +@@ -36,7 +36,8 @@ struct aarch64_arch_extension + 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[] = + { +@@ -178,7 +179,6 @@ host_detect_local_cpu (int argc, const char **argv) + unsigned int variants[2] = { ALL_VARIANTS, ALL_VARIANTS }; + unsigned int n_variants = 0; + bool processed_exts = false; +- const char *ext_string = ""; + unsigned long extension_flags = 0; + unsigned long default_flags = 0; + +@@ -249,27 +249,35 @@ host_detect_local_cpu (int argc, const char **argv) + { + 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. */ + enabled = false; + break; + } +- p = strtok (NULL, " "); ++ if (*end == '\0') ++ break; ++ p = end + 1; + } ++ while (1); + + if (enabled) + extension_flags |= aarch64_extensions[i].flag; +@@ -348,23 +356,24 @@ host_detect_local_cpu (int argc, const char **argv) + if (tune) + return res; + +- ext_string +- = aarch64_get_extension_string_for_isa_flags (extension_flags, +- default_flags).c_str (); +- +- res = concat (res, ext_string, NULL); ++ { ++ std::string extension ++ = aarch64_get_extension_string_for_isa_flags (extension_flags, ++ default_flags); ++ res = concat (res, extension.c_str (), NULL); ++ } + + return res; + + 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; + } + } + +--- a/src/gcc/config/aarch64/iterators.md ++++ b/src/gcc/config/aarch64/iterators.md +@@ -578,7 +578,8 @@ + (define_mode_attr sizen [(QI "8") (HI "16") (SI "32") (DI "64")]) + + ;; Give the ordinal of the MSB in the mode +-(define_mode_attr sizem1 [(QI "#7") (HI "#15") (SI "#31") (DI "#63")]) ++(define_mode_attr sizem1 [(QI "#7") (HI "#15") (SI "#31") (DI "#63") ++ (HF "#15") (SF "#31") (DF "#63")]) + + ;; Attribute to describe constants acceptable in logical operations + (define_mode_attr lconst [(SI "K") (DI "L")]) +@@ -664,7 +665,7 @@ + (V8HF "16b") (V2SF "8b") + (V4SF "16b") (V2DF "16b") + (DI "8b") (DF "8b") +- (SI "8b")]) ++ (SI "8b") (SF "8b")]) + + ;; Define element mode for each vector mode. + (define_mode_attr VEL [(V8QI "QI") (V16QI "QI") (VNx16QI "QI") +--- a/src/gcc/config/alpha/alpha.c ++++ b/src/gcc/config/alpha/alpha.c +@@ -8835,6 +8835,9 @@ alpha_handle_trap_shadows (void) + case CODE_LABEL: + goto close_shadow; + ++ case DEBUG_INSN: ++ break; ++ + default: + gcc_unreachable (); + } +--- a/src/gcc/config/alpha/alpha.h ++++ b/src/gcc/config/alpha/alpha.h +@@ -678,7 +678,7 @@ enum reg_class { + + #define CONSTANT_ADDRESS_P(X) \ + (CONST_INT_P (X) \ +- && (unsigned HOST_WIDE_INT) (INTVAL (X) + 0x8000) < 0x10000) ++ && (UINTVAL (X) + 0x8000) < 0x10000) + + /* The macros REG_OK_FOR..._P assume that the arg is a REG rtx + and check its validity for a certain class. +--- a/src/gcc/config/arm/arm.c ++++ b/src/gcc/config/arm/arm.c +@@ -8879,11 +8879,16 @@ static bool + arm_cannot_force_const_mem (machine_mode mode ATTRIBUTE_UNUSED, rtx x) + { + rtx base, offset; ++ split_const (x, &base, &offset); + +- if (ARM_OFFSETS_MUST_BE_WITHIN_SECTIONS_P) ++ if (SYMBOL_REF_P (base)) + { +- split_const (x, &base, &offset); +- if (GET_CODE (base) == SYMBOL_REF ++ /* Function symbols cannot have an offset due to the Thumb bit. */ ++ if ((SYMBOL_REF_FLAGS (base) & SYMBOL_FLAG_FUNCTION) ++ && INTVAL (offset) != 0) ++ return true; ++ ++ if (ARM_OFFSETS_MUST_BE_WITHIN_SECTIONS_P + && !offset_within_block_p (base, INTVAL (offset))) + return true; + } +@@ -11930,8 +11935,7 @@ neon_valid_immediate (rtx op, machine_mode mode, int inverse, + else + { + n_elts = 1; +- if (mode == VOIDmode) +- mode = DImode; ++ gcc_assert (mode != VOIDmode); + } + + innersize = GET_MODE_UNIT_SIZE (mode); +@@ -13095,6 +13099,9 @@ ldm_stm_operation_p (rtx op, bool load, machine_mode mode, + if (load && (REGNO (reg) == SP_REGNUM) && (REGNO (addr) != SP_REGNUM)) + return false; + ++ if (regno == REGNO (addr)) ++ addr_reg_in_reglist = true; ++ + for (; i < count; i++) + { + elt = XVECEXP (op, 0, i); +@@ -13289,7 +13296,6 @@ load_multiple_sequence (rtx *operands, int nops, int *regs, int *saved_order, + int unsorted_regs[MAX_LDM_STM_OPS]; + HOST_WIDE_INT unsorted_offsets[MAX_LDM_STM_OPS]; + int order[MAX_LDM_STM_OPS]; +- rtx base_reg_rtx = NULL; + int base_reg = -1; + int i, ldm_case; + +@@ -13334,7 +13340,6 @@ load_multiple_sequence (rtx *operands, int nops, int *regs, int *saved_order, + if (i == 0) + { + base_reg = REGNO (reg); +- base_reg_rtx = reg; + if (TARGET_THUMB1 && base_reg > LAST_LO_REGNUM) + return 0; + } +@@ -13393,10 +13398,6 @@ load_multiple_sequence (rtx *operands, int nops, int *regs, int *saved_order, + *load_offset = unsorted_offsets[order[0]]; + } + +- if (TARGET_THUMB1 +- && !peep2_reg_dead_p (nops, base_reg_rtx)) +- return 0; +- + if (unsorted_offsets[order[0]] == 0) + ldm_case = 1; /* ldmia */ + else if (TARGET_ARM && unsorted_offsets[order[0]] == 4) +@@ -13772,9 +13773,17 @@ gen_ldm_seq (rtx *operands, int nops, bool sort_regs) + + if (TARGET_THUMB1) + { +- gcc_assert (peep2_reg_dead_p (nops, base_reg_rtx)); + gcc_assert (ldm_case == 1 || ldm_case == 5); +- write_back = TRUE; ++ ++ /* Thumb-1 ldm uses writeback except if the base is loaded. */ ++ write_back = true; ++ for (i = 0; i < nops; i++) ++ if (base_reg == regs[i]) ++ write_back = false; ++ ++ /* Ensure the base is dead if it is updated. */ ++ if (write_back && !peep2_reg_dead_p (nops, base_reg_rtx)) ++ return false; + } + + if (ldm_case == 5) +@@ -13782,8 +13791,7 @@ gen_ldm_seq (rtx *operands, int nops, bool sort_regs) + rtx newbase = TARGET_THUMB1 ? base_reg_rtx : gen_rtx_REG (SImode, regs[0]); + emit_insn (gen_addsi3 (newbase, base_reg_rtx, GEN_INT (offset))); + offset = 0; +- if (!TARGET_THUMB1) +- base_reg_rtx = newbase; ++ base_reg_rtx = newbase; + } + + for (i = 0; i < nops; i++) +@@ -19508,6 +19516,35 @@ arm_compute_save_core_reg_mask (void) + return save_reg_mask; + } + ++/* Return a mask for the call-clobbered low registers that are unused ++ at the end of the prologue. */ ++static unsigned long ++thumb1_prologue_unused_call_clobbered_lo_regs (void) ++{ ++ unsigned long mask = 0; ++ ++ for (int reg = 0; reg <= LAST_LO_REGNUM; reg++) ++ if (!callee_saved_reg_p (reg) ++ && !REGNO_REG_SET_P (df_get_live_out (ENTRY_BLOCK_PTR_FOR_FN (cfun)), ++ reg)) ++ mask |= 1 << reg; ++ return mask; ++} ++ ++/* Similarly for the start of the epilogue. */ ++static unsigned long ++thumb1_epilogue_unused_call_clobbered_lo_regs (void) ++{ ++ unsigned long mask = 0; ++ ++ for (int reg = 0; reg <= LAST_LO_REGNUM; reg++) ++ if (!callee_saved_reg_p (reg) ++ && !REGNO_REG_SET_P (df_get_live_in (EXIT_BLOCK_PTR_FOR_FN (cfun)), ++ reg)) ++ mask |= 1 << reg; ++ return mask; ++} ++ + /* Compute a bit mask of which core registers need to be + saved on the stack for the current function. */ + static unsigned long +@@ -19539,10 +19576,19 @@ thumb1_compute_save_core_reg_mask (void) + if (mask & 0xff || thumb_force_lr_save ()) + mask |= (1 << LR_REGNUM); + +- /* Make sure we have a low work register if we need one. +- We will need one if we are going to push a high register, +- but we are not currently intending to push a low register. */ ++ bool call_clobbered_scratch ++ = (thumb1_prologue_unused_call_clobbered_lo_regs () ++ && thumb1_epilogue_unused_call_clobbered_lo_regs ()); ++ ++ /* Make sure we have a low work register if we need one. We will ++ need one if we are going to push a high register, but we are not ++ currently intending to push a low register. However if both the ++ prologue and epilogue have a spare call-clobbered low register, ++ then we won't need to find an additional work register. It does ++ not need to be the same register in the prologue and ++ epilogue. */ + if ((mask & 0xff) == 0 ++ && !call_clobbered_scratch + && ((mask & 0x0f00) || TARGET_BACKTRACE)) + { + /* Use thumb_find_work_register to choose which register +@@ -24768,12 +24814,7 @@ thumb1_unexpanded_epilogue (void) + unsigned long mask = live_regs_mask & 0xff; + int next_hi_reg; + +- /* The available low registers depend on the size of the value we are +- returning. */ +- if (size <= 12) +- mask |= 1 << 3; +- if (size <= 8) +- mask |= 1 << 2; ++ mask |= thumb1_epilogue_unused_call_clobbered_lo_regs (); + + if (mask == 0) + /* Oh dear! We have no low registers into which we can pop +@@ -24781,7 +24822,7 @@ thumb1_unexpanded_epilogue (void) + internal_error + ("no low registers available for popping high registers"); + +- for (next_hi_reg = 8; next_hi_reg < 13; next_hi_reg++) ++ for (next_hi_reg = 12; next_hi_reg > LAST_LO_REGNUM; next_hi_reg--) + if (live_regs_mask & (1 << next_hi_reg)) + break; + +@@ -24789,7 +24830,7 @@ thumb1_unexpanded_epilogue (void) + { + /* Find lo register(s) into which the high register(s) can + be popped. */ +- for (regno = 0; regno <= LAST_LO_REGNUM; regno++) ++ for (regno = LAST_LO_REGNUM; regno >= 0; regno--) + { + if (mask & (1 << regno)) + high_regs_pushed--; +@@ -24797,20 +24838,22 @@ thumb1_unexpanded_epilogue (void) + break; + } + +- mask &= (2 << regno) - 1; /* A noop if regno == 8 */ ++ if (high_regs_pushed == 0 && regno >= 0) ++ mask &= ~((1 << regno) - 1); + + /* Pop the values into the low register(s). */ + thumb_pop (asm_out_file, mask); + + /* Move the value(s) into the high registers. */ +- for (regno = 0; regno <= LAST_LO_REGNUM; regno++) ++ for (regno = LAST_LO_REGNUM; regno >= 0; regno--) + { + if (mask & (1 << regno)) + { + asm_fprintf (asm_out_file, "\tmov\t%r, %r\n", next_hi_reg, + regno); + +- for (next_hi_reg++; next_hi_reg < 13; next_hi_reg++) ++ for (next_hi_reg--; next_hi_reg > LAST_LO_REGNUM; ++ next_hi_reg--) + if (live_regs_mask & (1 << next_hi_reg)) + break; + } +@@ -25192,10 +25235,20 @@ thumb1_expand_prologue (void) + break; + + /* Here we need to mask out registers used for passing arguments +- even if they can be pushed. This is to avoid using them to stash the high +- registers. Such kind of stash may clobber the use of arguments. */ ++ even if they can be pushed. This is to avoid using them to ++ stash the high registers. Such kind of stash may clobber the ++ use of arguments. */ + pushable_regs = l_mask & (~arg_regs_mask); +- if (lr_needs_saving) ++ pushable_regs |= thumb1_prologue_unused_call_clobbered_lo_regs (); ++ ++ /* Normally, LR can be used as a scratch register once it has been ++ saved; but if the function examines its own return address then ++ the value is still live and we need to avoid using it. */ ++ bool return_addr_live ++ = REGNO_REG_SET_P (df_get_live_out (ENTRY_BLOCK_PTR_FOR_FN (cfun)), ++ LR_REGNUM); ++ ++ if (lr_needs_saving || return_addr_live) + pushable_regs &= ~(1 << LR_REGNUM); + + if (pushable_regs == 0) +@@ -25236,6 +25289,11 @@ thumb1_expand_prologue (void) + push_mask |= 1 << LR_REGNUM; + real_regs_mask |= 1 << LR_REGNUM; + lr_needs_saving = false; ++ /* If the return address is not live at this point, we ++ can add LR to the list of registers that we can use ++ for pushes. */ ++ if (!return_addr_live) ++ pushable_regs |= 1 << LR_REGNUM; + } + + insn = thumb1_emit_multi_reg_push (push_mask, real_regs_mask); +--- a/src/gcc/config/arm/arm.h ++++ b/src/gcc/config/arm/arm.h +@@ -191,7 +191,7 @@ extern tree arm_fp16_type_node; + /* 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)) +--- a/src/gcc/config/arm/arm.md ++++ b/src/gcc/config/arm/arm.md +@@ -4448,62 +4448,78 @@ + ; ARMv6+ unaligned load/store instructions (used for packed structure accesses). + + (define_insn "unaligned_loadsi" +- [(set (match_operand:SI 0 "s_register_operand" "=l,r") +- (unspec:SI [(match_operand:SI 1 "memory_operand" "Uw,m")] ++ [(set (match_operand:SI 0 "s_register_operand" "=l,l,r") ++ (unspec:SI [(match_operand:SI 1 "memory_operand" "m,Uw,m")] + UNSPEC_UNALIGNED_LOAD))] + "unaligned_access" +- "ldr%?\t%0, %1\t@ unaligned" +- [(set_attr "arch" "t2,any") +- (set_attr "length" "2,4") +- (set_attr "predicable" "yes") +- (set_attr "predicable_short_it" "yes,no") ++ "@ ++ ldr\t%0, %1\t@ unaligned ++ ldr%?\t%0, %1\t@ unaligned ++ ldr%?\t%0, %1\t@ unaligned" ++ [(set_attr "arch" "t1,t2,32") ++ (set_attr "length" "2,2,4") ++ (set_attr "predicable" "no,yes,yes") ++ (set_attr "predicable_short_it" "no,yes,no") + (set_attr "type" "load_4")]) + ++;; The 16-bit Thumb1 variant of ldrsh requires two registers in the ++;; address (there's no immediate format). That's tricky to support ++;; here and we don't really need this pattern for that case, so only ++;; enable for 32-bit ISAs. + (define_insn "unaligned_loadhis" + [(set (match_operand:SI 0 "s_register_operand" "=r") + (sign_extend:SI + (unspec:HI [(match_operand:HI 1 "memory_operand" "Uh")] + UNSPEC_UNALIGNED_LOAD)))] +- "unaligned_access" ++ "unaligned_access && TARGET_32BIT" + "ldrsh%?\t%0, %1\t@ unaligned" + [(set_attr "predicable" "yes") + (set_attr "type" "load_byte")]) + + (define_insn "unaligned_loadhiu" +- [(set (match_operand:SI 0 "s_register_operand" "=l,r") ++ [(set (match_operand:SI 0 "s_register_operand" "=l,l,r") + (zero_extend:SI +- (unspec:HI [(match_operand:HI 1 "memory_operand" "Uw,m")] ++ (unspec:HI [(match_operand:HI 1 "memory_operand" "m,Uw,m")] + UNSPEC_UNALIGNED_LOAD)))] + "unaligned_access" +- "ldrh%?\t%0, %1\t@ unaligned" +- [(set_attr "arch" "t2,any") +- (set_attr "length" "2,4") +- (set_attr "predicable" "yes") +- (set_attr "predicable_short_it" "yes,no") ++ "@ ++ ldrh\t%0, %1\t@ unaligned ++ ldrh%?\t%0, %1\t@ unaligned ++ ldrh%?\t%0, %1\t@ unaligned" ++ [(set_attr "arch" "t1,t2,32") ++ (set_attr "length" "2,2,4") ++ (set_attr "predicable" "no,yes,yes") ++ (set_attr "predicable_short_it" "no,yes,no") + (set_attr "type" "load_byte")]) + + (define_insn "unaligned_storesi" +- [(set (match_operand:SI 0 "memory_operand" "=Uw,m") +- (unspec:SI [(match_operand:SI 1 "s_register_operand" "l,r")] ++ [(set (match_operand:SI 0 "memory_operand" "=m,Uw,m") ++ (unspec:SI [(match_operand:SI 1 "s_register_operand" "l,l,r")] + UNSPEC_UNALIGNED_STORE))] + "unaligned_access" +- "str%?\t%1, %0\t@ unaligned" +- [(set_attr "arch" "t2,any") +- (set_attr "length" "2,4") +- (set_attr "predicable" "yes") +- (set_attr "predicable_short_it" "yes,no") ++ "@ ++ str\t%1, %0\t@ unaligned ++ str%?\t%1, %0\t@ unaligned ++ str%?\t%1, %0\t@ unaligned" ++ [(set_attr "arch" "t1,t2,32") ++ (set_attr "length" "2,2,4") ++ (set_attr "predicable" "no,yes,yes") ++ (set_attr "predicable_short_it" "no,yes,no") + (set_attr "type" "store_4")]) + + (define_insn "unaligned_storehi" +- [(set (match_operand:HI 0 "memory_operand" "=Uw,m") +- (unspec:HI [(match_operand:HI 1 "s_register_operand" "l,r")] ++ [(set (match_operand:HI 0 "memory_operand" "=m,Uw,m") ++ (unspec:HI [(match_operand:HI 1 "s_register_operand" "l,l,r")] + UNSPEC_UNALIGNED_STORE))] + "unaligned_access" +- "strh%?\t%1, %0\t@ unaligned" +- [(set_attr "arch" "t2,any") +- (set_attr "length" "2,4") +- (set_attr "predicable" "yes") +- (set_attr "predicable_short_it" "yes,no") ++ "@ ++ strh\t%1, %0\t@ unaligned ++ strh%?\t%1, %0\t@ unaligned ++ strh%?\t%1, %0\t@ unaligned" ++ [(set_attr "arch" "t1,t2,32") ++ (set_attr "length" "2,2,4") ++ (set_attr "predicable" "no,yes,yes") ++ (set_attr "predicable_short_it" "no,yes,no") + (set_attr "type" "store_4")]) + + +@@ -5976,52 +5992,29 @@ + } + } + +- if (ARM_OFFSETS_MUST_BE_WITHIN_SECTIONS_P) ++ split_const (operands[1], &base, &offset); ++ if (INTVAL (offset) != 0 ++ && targetm.cannot_force_const_mem (SImode, operands[1])) + { +- split_const (operands[1], &base, &offset); +- if (GET_CODE (base) == SYMBOL_REF +- && !offset_within_block_p (base, INTVAL (offset))) +- { +- tmp = can_create_pseudo_p () ? gen_reg_rtx (SImode) : operands[0]; +- emit_move_insn (tmp, base); +- emit_insn (gen_addsi3 (operands[0], tmp, offset)); +- DONE; +- } ++ tmp = can_create_pseudo_p () ? gen_reg_rtx (SImode) : operands[0]; ++ emit_move_insn (tmp, base); ++ emit_insn (gen_addsi3 (operands[0], tmp, offset)); ++ DONE; + } + ++ tmp = can_create_pseudo_p () ? NULL_RTX : operands[0]; ++ + /* Recognize the case where operand[1] is a reference to thread-local +- data and load its address to a register. */ ++ data and load its address to a register. Offsets have been split off ++ already. */ + if (arm_tls_referenced_p (operands[1])) +- { +- rtx tmp = operands[1]; +- rtx addend = NULL; +- +- if (GET_CODE (tmp) == CONST && GET_CODE (XEXP (tmp, 0)) == PLUS) +- { +- addend = XEXP (XEXP (tmp, 0), 1); +- tmp = XEXP (XEXP (tmp, 0), 0); +- } +- +- gcc_assert (GET_CODE (tmp) == SYMBOL_REF); +- gcc_assert (SYMBOL_REF_TLS_MODEL (tmp) != 0); +- +- tmp = legitimize_tls_address (tmp, +- !can_create_pseudo_p () ? operands[0] : 0); +- if (addend) +- { +- tmp = gen_rtx_PLUS (SImode, tmp, addend); +- tmp = force_operand (tmp, operands[0]); +- } +- operands[1] = tmp; +- } ++ operands[1] = legitimize_tls_address (operands[1], tmp); + else if (flag_pic + && (CONSTANT_P (operands[1]) + || symbol_mentioned_p (operands[1]) + || label_mentioned_p (operands[1]))) +- operands[1] = legitimize_pic_address (operands[1], SImode, +- (!can_create_pseudo_p () +- ? operands[0] +- : 0)); ++ operands[1] = ++ legitimize_pic_address (operands[1], SImode, tmp); + } + " + ) +--- a/src/gcc/config/arm/arm_acle.h ++++ b/src/gcc/config/arm/arm_acle.h +@@ -174,8 +174,12 @@ __arm_mrrc2 (const unsigned int __coproc, const unsigned int __opc1, + #endif /* (!__thumb__ || __thumb2__) && __ARM_ARCH >= 4. */ + + #pragma GCC push_options +-#if __ARM_ARCH >= 8 ++#ifdef __ARM_FEATURE_CRC32 ++#ifdef __ARM_FP ++#pragma GCC target ("arch=armv8-a+crc+simd") ++#else + #pragma GCC target ("arch=armv8-a+crc") ++#endif + + __extension__ static __inline uint32_t __attribute__ ((__always_inline__)) + __crc32b (uint32_t __a, uint8_t __b) +@@ -235,7 +239,7 @@ __crc32cd (uint32_t __a, uint64_t __b) + } + #endif + +-#endif /* __ARM_ARCH >= 8. */ ++#endif /* __ARM_FEATURE_CRC32 */ + #pragma GCC pop_options + + #ifdef __cplusplus +--- a/src/gcc/config/arm/constraints.md ++++ b/src/gcc/config/arm/constraints.md +@@ -31,7 +31,8 @@ + ;; 'H' was previously used for FPA. + + ;; The following multi-letter normal constraints have been used: +-;; in ARM/Thumb-2 state: Da, Db, Dc, Dd, Dn, Dl, DL, Do, Dv, Dy, Di, Dt, Dp, Dz ++;; in ARM/Thumb-2 state: Da, Db, Dc, Dd, Dn, DN, Dm, Dl, DL, Do, Dv, Dy, Di, ++;; Dt, Dp, Dz + ;; in Thumb-1 state: Pa, Pb, Pc, Pd, Pe + ;; in Thumb-2 state: Pj, PJ, Ps, Pt, Pu, Pv, Pw, Px, Py + ;; in all states: Pf +@@ -294,14 +295,28 @@ + (and (match_code "const_double,const_int") + (match_test "TARGET_32BIT && arm_const_double_by_immediates (op)"))) + +-(define_constraint "Dn" ++(define_constraint "Dm" + "@internal +- In ARM/Thumb-2 state a const_vector or const_int which can be loaded with a +- Neon vmov immediate instruction." +- (and (match_code "const_vector,const_int") ++ In ARM/Thumb-2 state a const_vector which can be loaded with a Neon vmov ++ immediate instruction." ++ (and (match_code "const_vector") + (match_test "TARGET_32BIT + && imm_for_neon_mov_operand (op, GET_MODE (op))"))) + ++(define_constraint "Dn" ++ "@internal ++ In ARM/Thumb-2 state a DImode const_int which can be loaded with a Neon vmov ++ immediate instruction." ++ (and (match_code "const_int") ++ (match_test "TARGET_32BIT && imm_for_neon_mov_operand (op, DImode)"))) ++ ++(define_constraint "DN" ++ "@internal ++ In ARM/Thumb-2 state a TImode const_int which can be loaded with a Neon vmov ++ immediate instruction." ++ (and (match_code "const_int") ++ (match_test "TARGET_32BIT && imm_for_neon_mov_operand (op, TImode)"))) ++ + (define_constraint "Dl" + "@internal + In ARM/Thumb-2 state a const_vector which can be used with a Neon vorr or +--- a/src/gcc/config/arm/neon.md ++++ b/src/gcc/config/arm/neon.md +@@ -25,14 +25,14 @@ + + (define_insn "*neon_mov" + [(set (match_operand:VDX 0 "nonimmediate_operand" +- "=w,Un,w, w, ?r,?w,?r,?r, ?Us") ++ "=w,Un,w, w, w, ?r,?w,?r,?r, ?Us") + (match_operand:VDX 1 "general_operand" +- " w,w, Dn,Uni, w, r, r, Usi,r"))] ++ " w,w, Dm,Dn,Uni, w, r, r, Usi,r"))] + "TARGET_NEON + && (register_operand (operands[0], mode) + || register_operand (operands[1], mode))" + { +- if (which_alternative == 2) ++ if (which_alternative == 2 || which_alternative == 3) + { + int width, is_valid; + static char templ[40]; +@@ -53,31 +53,32 @@ + switch (which_alternative) + { + case 0: return "vmov\t%P0, %P1 @ "; +- case 1: case 3: return output_move_neon (operands); +- case 2: gcc_unreachable (); +- case 4: return "vmov\t%Q0, %R0, %P1 @ "; +- case 5: return "vmov\t%P0, %Q1, %R1 @ "; ++ case 1: case 4: return output_move_neon (operands); ++ case 2: case 3: gcc_unreachable (); ++ case 5: return "vmov\t%Q0, %R0, %P1 @ "; ++ case 6: return "vmov\t%P0, %Q1, %R1 @ "; + default: return output_move_double (operands, true, NULL); + } + } + [(set_attr "type" "neon_move,neon_store1_1reg,neon_move,\ +- neon_load1_1reg, neon_to_gp,neon_from_gp,mov_reg,\ +- neon_load1_2reg, neon_store1_2reg") +- (set_attr "length" "4,4,4,4,4,4,8,8,8") +- (set_attr "arm_pool_range" "*,*,*,1020,*,*,*,1020,*") +- (set_attr "thumb2_pool_range" "*,*,*,1018,*,*,*,1018,*") +- (set_attr "neg_pool_range" "*,*,*,1004,*,*,*,1004,*")]) ++ neon_move,neon_load1_1reg, neon_to_gp,\ ++ neon_from_gp,mov_reg,neon_load1_2reg,\ ++ neon_store1_2reg") ++ (set_attr "length" "4,4,4,4,4,4,4,8,8,8") ++ (set_attr "arm_pool_range" "*,*,*,*,1020,*,*,*,1020,*") ++ (set_attr "thumb2_pool_range" "*,*,*,*,1018,*,*,*,1018,*") ++ (set_attr "neg_pool_range" "*,*,*,*,1004,*,*,*,1004,*")]) + + (define_insn "*neon_mov" + [(set (match_operand:VQXMOV 0 "nonimmediate_operand" +- "=w,Un,w, w, ?r,?w,?r,?r, ?Us") ++ "=w,Un,w, w, w, ?r,?w,?r,?r, ?Us") + (match_operand:VQXMOV 1 "general_operand" +- " w,w, Dn,Uni, w, r, r, Usi, r"))] ++ " w,w, Dm,DN,Uni, w, r, r, Usi, r"))] + "TARGET_NEON + && (register_operand (operands[0], mode) + || register_operand (operands[1], mode))" + { +- if (which_alternative == 2) ++ if (which_alternative == 2 || which_alternative == 3) + { + int width, is_valid; + static char templ[40]; +@@ -98,20 +99,20 @@ + switch (which_alternative) + { + case 0: return "vmov\t%q0, %q1 @ "; +- case 1: case 3: return output_move_neon (operands); +- case 2: gcc_unreachable (); +- case 4: return "vmov\t%Q0, %R0, %e1 @ \;vmov\t%J0, %K0, %f1"; +- case 5: return "vmov\t%e0, %Q1, %R1 @ \;vmov\t%f0, %J1, %K1"; ++ case 1: case 4: return output_move_neon (operands); ++ case 2: case 3: gcc_unreachable (); ++ case 5: return "vmov\t%Q0, %R0, %e1 @ \;vmov\t%J0, %K0, %f1"; ++ case 6: return "vmov\t%e0, %Q1, %R1 @ \;vmov\t%f0, %J1, %K1"; + default: return output_move_quad (operands); + } + } + [(set_attr "type" "neon_move_q,neon_store2_2reg_q,neon_move_q,\ +- neon_load2_2reg_q,neon_to_gp_q,neon_from_gp_q,\ +- mov_reg,neon_load1_4reg,neon_store1_4reg") +- (set_attr "length" "4,8,4,8,8,8,16,8,16") +- (set_attr "arm_pool_range" "*,*,*,1020,*,*,*,1020,*") +- (set_attr "thumb2_pool_range" "*,*,*,1018,*,*,*,1018,*") +- (set_attr "neg_pool_range" "*,*,*,996,*,*,*,996,*")]) ++ neon_move_q,neon_load2_2reg_q,neon_to_gp_q,\ ++ neon_from_gp_q,mov_reg,neon_load1_4reg,neon_store1_4reg") ++ (set_attr "length" "4,8,4,4,8,8,8,16,8,16") ++ (set_attr "arm_pool_range" "*,*,*,*,1020,*,*,*,1020,*") ++ (set_attr "thumb2_pool_range" "*,*,*,*,1018,*,*,*,1018,*") ++ (set_attr "neg_pool_range" "*,*,*,*,996,*,*,*,996,*")]) + + /* We define these mov expanders to match the standard mov$a optab to prevent + the mid-end from trying to do a subreg for these modes which is the most +@@ -1033,7 +1034,7 @@ + (define_insn "vashl3" + [(set (match_operand:VDQIW 0 "s_register_operand" "=w,w") + (ashift:VDQIW (match_operand:VDQIW 1 "s_register_operand" "w,w") +- (match_operand:VDQIW 2 "imm_lshift_or_reg_neon" "w,Dn")))] ++ (match_operand:VDQIW 2 "imm_lshift_or_reg_neon" "w,Dm")))] + "TARGET_NEON" + { + switch (which_alternative) +@@ -1052,7 +1053,7 @@ + (define_insn "vashr3_imm" + [(set (match_operand:VDQIW 0 "s_register_operand" "=w") + (ashiftrt:VDQIW (match_operand:VDQIW 1 "s_register_operand" "w") +- (match_operand:VDQIW 2 "imm_for_neon_rshift_operand" "Dn")))] ++ (match_operand:VDQIW 2 "imm_for_neon_rshift_operand" "Dm")))] + "TARGET_NEON" + { + return neon_output_shift_immediate ("vshr", 's', &operands[2], +@@ -1065,7 +1066,7 @@ + (define_insn "vlshr3_imm" + [(set (match_operand:VDQIW 0 "s_register_operand" "=w") + (lshiftrt:VDQIW (match_operand:VDQIW 1 "s_register_operand" "w") +- (match_operand:VDQIW 2 "imm_for_neon_rshift_operand" "Dn")))] ++ (match_operand:VDQIW 2 "imm_for_neon_rshift_operand" "Dm")))] + "TARGET_NEON" + { + return neon_output_shift_immediate ("vshr", 'u', &operands[2], +--- a/src/gcc/config/arm/t-rtems ++++ b/src/gcc/config/arm/t-rtems +@@ -17,8 +17,8 @@ MULTILIB_DIRNAMES += eb + MULTILIB_OPTIONS += mthumb + MULTILIB_DIRNAMES += thumb + +-MULTILIB_OPTIONS += march=armv5te+fp/march=armv6-m/march=armv7-a/march=armv7-a+simd/march=armv7-r/march=armv7-r+fp/march=armv7-m/march=armv7e-m+fp/march=armv7e-m+fp.dp +-MULTILIB_DIRNAMES += armv5te+fp armv6-m armv7-a armv7-a+simd armv7-r armv7-r+fp armv7-m armv7e-m+fp armv7e-m+fp.dp ++MULTILIB_OPTIONS += march=armv5te+fp/march=armv6-m/march=armv7-a/march=armv7-a+simd/march=armv7-r/march=armv7-r+fp/mcpu=cortex-m3/mcpu=cortex-m4/mcpu=cortex-m4+nofp/mcpu=cortex-m7 ++MULTILIB_DIRNAMES += armv5te+fp armv6-m armv7-a armv7-a+simd armv7-r armv7-r+fp cortex-m3 cortex-m4 cortex-m4+nofp cortex-m7 + + MULTILIB_OPTIONS += mfloat-abi=hard + MULTILIB_DIRNAMES += hard +@@ -31,7 +31,8 @@ MULTILIB_REQUIRED += mthumb/march=armv7-a+simd/mfloat-abi=hard + MULTILIB_REQUIRED += mthumb/march=armv7-a + MULTILIB_REQUIRED += mthumb/march=armv7-r+fp/mfloat-abi=hard + MULTILIB_REQUIRED += mthumb/march=armv7-r +-MULTILIB_REQUIRED += mthumb/march=armv7e-m+fp/mfloat-abi=hard +-MULTILIB_REQUIRED += mthumb/march=armv7e-m+fp.dp/mfloat-abi=hard +-MULTILIB_REQUIRED += mthumb/march=armv7-m ++MULTILIB_REQUIRED += mthumb/mcpu=cortex-m3 ++MULTILIB_REQUIRED += mthumb/mcpu=cortex-m4/mfloat-abi=hard ++MULTILIB_REQUIRED += mthumb/mcpu=cortex-m4+nofp ++MULTILIB_REQUIRED += mthumb/mcpu=cortex-m7/mfloat-abi=hard + MULTILIB_REQUIRED += mthumb +--- a/src/gcc/config/avr/avr-arch.h ++++ b/src/gcc/config/avr/avr-arch.h +@@ -126,6 +126,9 @@ typedef struct + + /* Flash size in bytes. */ + int flash_size; ++ ++ /* Offset where flash is seen in the RAM address space. */ ++ int flash_pm_offset; + } avr_mcu_t; + + /* AVR device specific features. +--- a/src/gcc/config/avr/avr-devices.c ++++ b/src/gcc/config/avr/avr-devices.c +@@ -76,7 +76,7 @@ avr_texinfo[] = + "the @code{MOVW} instruction." }, + { ARCH_AVR3, + "``Classic'' devices with 16@tie{}KiB up to 64@tie{}KiB of " +- " program memory." }, ++ "program memory." }, + { ARCH_AVR31, + "``Classic'' devices with 128@tie{}KiB of program memory." }, + { ARCH_AVR35, +@@ -117,12 +117,12 @@ avr_texinfo[] = + const avr_mcu_t + avr_mcu_types[] = + { +-#define AVR_MCU(NAME, ARCH, DEV_ATTRIBUTE, MACRO, DATA_SEC, TEXT_SEC, FLASH_SIZE)\ +- { NAME, ARCH, DEV_ATTRIBUTE, MACRO, DATA_SEC, TEXT_SEC, FLASH_SIZE }, ++#define AVR_MCU(NAME, ARCH, DEV_ATTRIBUTE, MACRO, DATA_SEC, TEXT_SEC, FLASH_SIZE, PMOFF) \ ++ { NAME, ARCH, DEV_ATTRIBUTE, MACRO, DATA_SEC, TEXT_SEC, FLASH_SIZE, PMOFF }, + #include "avr-mcus.def" + #undef AVR_MCU + /* End of list. */ +- { NULL, ARCH_UNKNOWN, AVR_ISA_NONE, NULL, 0, 0, 0 } ++ { NULL, ARCH_UNKNOWN, AVR_ISA_NONE, NULL, 0, 0, 0, 0 } + }; + + +--- a/src/gcc/config/avr/avr-mcus.def ++++ b/src/gcc/config/avr/avr-mcus.def +@@ -23,7 +23,6 @@ + + This will regenerate / update the following source files: + +- - $(srcdir)/config/avr/t-multilib + - $(srcdir)/doc/avr-mmcu.texi + + After that, rebuild everything and check-in the new sources to the repo. +@@ -36,338 +35,364 @@ + + Before including this file, define a macro: + +- AVR_MCU (NAME, ARCH, DEV_ATTRIBUTE, MACRO, DATA_SEC, N_FLASH) ++ AVR_MCU (NAME, ARCH, ATTR, MACRO, TDATA, TTEXT, FLASH_SIZE, PM_OFFSET) + + where the arguments are the fields of avr_mcu_t: + +- NAME Name of the device as specified by -mmcu=. Also +- used by DRIVER_SELF_SPECS and gen-avr-mmcu-specs.c for +- - the name of the device specific specs file +- in -specs=device-specs/spec- +- - the name of the startup file crt.o +- - to link the device library by means of -l ++ NAME Name of the device as specified by -mmcu=. Also ++ used by DRIVER_SELF_SPECS and gen-avr-mmcu-specs.c for ++ - the name of the device specific specs file ++ in -specs=device-specs/spec- ++ - the name of the startup file crt.o ++ - the name of the device library to be linked with -l + +- ARCH Specifies the multilib variant together with AVR_SHORT_SP ++ ARCH Specifies the multilib variant together with AVR_SHORT_SP + +- DEV_ATTRIBUTE Specifies the device specific features +- - additional ISA, short SP, errata skip etc., ++ ATTR Specifies the device specific features ++ - additional ISA, short SP, errata skip etc., + +- MACRO If NULL, this is a core and not a device. If non-NULL, +- supply respective built-in macro. ++ MACRO If NULL, this is a core and not a device. If non-NULL, ++ supply respective built-in macro. + +- DATA_START First address of SRAM, used in -Tdata=. ++ TDATA First address of SRAM, used in -Tdata=. + +- TEXT_START First address of Flash, used in -Ttext=. ++ TTEXT First address of Flash, used in -Ttext=. + +- FLASH_SIZE Flash size in bytes. ++ FLASH_SIZE ++ Flash size in bytes. ++ ++ PM_OFFSET ++ Either 0x0 or the offset where flash memory is mirrored ++ into the RAM address space accessible by LD, LDD and LDS. ++ This is only needed if that value deviates from the ++ value for the respective device family. + + "avr2" must be first for the "0" default to work as intended. */ + + /* Classic, <= 8K. */ +-AVR_MCU ("avr2", ARCH_AVR2, AVR_ERRATA_SKIP, NULL, 0x0060, 0x0, 0x60000) ++AVR_MCU ("avr2", ARCH_AVR2, AVR_ERRATA_SKIP, NULL, 0x0060, 0x0, 0x60000, 0) + +-AVR_MCU ("at90s2313", ARCH_AVR2, AVR_SHORT_SP, "__AVR_AT90S2313__", 0x0060, 0x0, 0x800) +-AVR_MCU ("at90s2323", ARCH_AVR2, AVR_SHORT_SP, "__AVR_AT90S2323__", 0x0060, 0x0, 0x800) +-AVR_MCU ("at90s2333", ARCH_AVR2, AVR_SHORT_SP, "__AVR_AT90S2333__", 0x0060, 0x0, 0x800) +-AVR_MCU ("at90s2343", ARCH_AVR2, AVR_SHORT_SP, "__AVR_AT90S2343__", 0x0060, 0x0, 0x800) +-AVR_MCU ("attiny22", ARCH_AVR2, AVR_SHORT_SP, "__AVR_ATtiny22__", 0x0060, 0x0, 0x800) +-AVR_MCU ("attiny26", ARCH_AVR2, AVR_SHORT_SP, "__AVR_ATtiny26__", 0x0060, 0x0, 0x800) +-AVR_MCU ("at90s4414", ARCH_AVR2, AVR_ISA_NONE, "__AVR_AT90S4414__", 0x0060, 0x0, 0x1000) +-AVR_MCU ("at90s4433", ARCH_AVR2, AVR_SHORT_SP, "__AVR_AT90S4433__", 0x0060, 0x0, 0x1000) +-AVR_MCU ("at90s4434", ARCH_AVR2, AVR_ISA_NONE, "__AVR_AT90S4434__", 0x0060, 0x0, 0x1000) +-AVR_MCU ("at90s8515", ARCH_AVR2, AVR_ERRATA_SKIP, "__AVR_AT90S8515__", 0x0060, 0x0, 0x2000) +-AVR_MCU ("at90c8534", ARCH_AVR2, AVR_ISA_NONE, "__AVR_AT90C8534__", 0x0060, 0x0, 0x2000) +-AVR_MCU ("at90s8535", ARCH_AVR2, AVR_ISA_NONE, "__AVR_AT90S8535__", 0x0060, 0x0, 0x2000) ++AVR_MCU ("at90s2313", ARCH_AVR2, AVR_SHORT_SP, "__AVR_AT90S2313__", 0x0060, 0x0, 0x800, 0) ++AVR_MCU ("at90s2323", ARCH_AVR2, AVR_SHORT_SP, "__AVR_AT90S2323__", 0x0060, 0x0, 0x800, 0) ++AVR_MCU ("at90s2333", ARCH_AVR2, AVR_SHORT_SP, "__AVR_AT90S2333__", 0x0060, 0x0, 0x800, 0) ++AVR_MCU ("at90s2343", ARCH_AVR2, AVR_SHORT_SP, "__AVR_AT90S2343__", 0x0060, 0x0, 0x800, 0) ++AVR_MCU ("attiny22", ARCH_AVR2, AVR_SHORT_SP, "__AVR_ATtiny22__", 0x0060, 0x0, 0x800, 0) ++AVR_MCU ("attiny26", ARCH_AVR2, AVR_SHORT_SP, "__AVR_ATtiny26__", 0x0060, 0x0, 0x800, 0) ++AVR_MCU ("at90s4414", ARCH_AVR2, AVR_ISA_NONE, "__AVR_AT90S4414__", 0x0060, 0x0, 0x1000, 0) ++AVR_MCU ("at90s4433", ARCH_AVR2, AVR_SHORT_SP, "__AVR_AT90S4433__", 0x0060, 0x0, 0x1000, 0) ++AVR_MCU ("at90s4434", ARCH_AVR2, AVR_ISA_NONE, "__AVR_AT90S4434__", 0x0060, 0x0, 0x1000, 0) ++AVR_MCU ("at90s8515", ARCH_AVR2, AVR_ERRATA_SKIP, "__AVR_AT90S8515__", 0x0060, 0x0, 0x2000, 0) ++AVR_MCU ("at90c8534", ARCH_AVR2, AVR_ISA_NONE, "__AVR_AT90C8534__", 0x0060, 0x0, 0x2000, 0) ++AVR_MCU ("at90s8535", ARCH_AVR2, AVR_ISA_NONE, "__AVR_AT90S8535__", 0x0060, 0x0, 0x2000, 0) + /* Classic + MOVW, <= 8K. */ +-AVR_MCU ("avr25", ARCH_AVR25, AVR_ISA_NONE, NULL, 0x0060, 0x0, 0x2000) +-AVR_MCU ("ata5272", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATA5272__", 0x0100, 0x0, 0x2000) +-AVR_MCU ("ata6616c", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATA6616C__", 0x0100, 0x0, 0x2000) +-AVR_MCU ("attiny13", ARCH_AVR25, AVR_SHORT_SP, "__AVR_ATtiny13__", 0x0060, 0x0, 0x400) +-AVR_MCU ("attiny13a", ARCH_AVR25, AVR_SHORT_SP, "__AVR_ATtiny13A__", 0x0060, 0x0, 0x400) +-AVR_MCU ("attiny2313", ARCH_AVR25, AVR_SHORT_SP, "__AVR_ATtiny2313__", 0x0060, 0x0, 0x800) +-AVR_MCU ("attiny2313a", ARCH_AVR25, AVR_SHORT_SP, "__AVR_ATtiny2313A__", 0x0060, 0x0, 0x800) +-AVR_MCU ("attiny24", ARCH_AVR25, AVR_SHORT_SP, "__AVR_ATtiny24__", 0x0060, 0x0, 0x800) +-AVR_MCU ("attiny24a", ARCH_AVR25, AVR_SHORT_SP, "__AVR_ATtiny24A__", 0x0060, 0x0, 0x800) +-AVR_MCU ("attiny4313", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny4313__", 0x0060, 0x0, 0x1000) +-AVR_MCU ("attiny44", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny44__", 0x0060, 0x0, 0x1000) +-AVR_MCU ("attiny44a", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny44A__", 0x0060, 0x0, 0x1000) +-AVR_MCU ("attiny441", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny441__", 0x0100, 0x0, 0x1000) +-AVR_MCU ("attiny84", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny84__", 0x0060, 0x0, 0x2000) +-AVR_MCU ("attiny84a", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny84A__", 0x0060, 0x0, 0x2000) +-AVR_MCU ("attiny25", ARCH_AVR25, AVR_SHORT_SP, "__AVR_ATtiny25__", 0x0060, 0x0, 0x800) +-AVR_MCU ("attiny45", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny45__", 0x0060, 0x0, 0x1000) +-AVR_MCU ("attiny85", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny85__", 0x0060, 0x0, 0x2000) +-AVR_MCU ("attiny261", ARCH_AVR25, AVR_SHORT_SP, "__AVR_ATtiny261__", 0x0060, 0x0, 0x800) +-AVR_MCU ("attiny261a", ARCH_AVR25, AVR_SHORT_SP, "__AVR_ATtiny261A__", 0x0060, 0x0, 0x800) +-AVR_MCU ("attiny461", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny461__", 0x0060, 0x0, 0x1000) +-AVR_MCU ("attiny461a", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny461A__", 0x0060, 0x0, 0x1000) +-AVR_MCU ("attiny861", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny861__", 0x0060, 0x0, 0x2000) +-AVR_MCU ("attiny861a", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny861A__", 0x0060, 0x0, 0x2000) +-AVR_MCU ("attiny43u", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny43U__", 0x0060, 0x0, 0x1000) +-AVR_MCU ("attiny87", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny87__", 0x0100, 0x0, 0x2000) +-AVR_MCU ("attiny48", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny48__", 0x0100, 0x0, 0x1000) +-AVR_MCU ("attiny88", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny88__", 0x0100, 0x0, 0x2000) +-AVR_MCU ("attiny828", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny828__", 0x0100, 0x0, 0x2000) +-AVR_MCU ("attiny841", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny841__", 0x0100, 0x0, 0x2000) +-AVR_MCU ("at86rf401", ARCH_AVR25, AVR_ISA_NONE, "__AVR_AT86RF401__", 0x0060, 0x0, 0x800) ++AVR_MCU ("avr25", ARCH_AVR25, AVR_ISA_NONE, NULL, 0x0060, 0x0, 0x2000, 0) ++AVR_MCU ("ata5272", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATA5272__", 0x0100, 0x0, 0x2000, 0) ++AVR_MCU ("ata6616c", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATA6616C__", 0x0100, 0x0, 0x2000, 0) ++AVR_MCU ("attiny13", ARCH_AVR25, AVR_SHORT_SP, "__AVR_ATtiny13__", 0x0060, 0x0, 0x400, 0) ++AVR_MCU ("attiny13a", ARCH_AVR25, AVR_SHORT_SP, "__AVR_ATtiny13A__", 0x0060, 0x0, 0x400, 0) ++AVR_MCU ("attiny2313", ARCH_AVR25, AVR_SHORT_SP, "__AVR_ATtiny2313__", 0x0060, 0x0, 0x800, 0) ++AVR_MCU ("attiny2313a", ARCH_AVR25, AVR_SHORT_SP, "__AVR_ATtiny2313A__", 0x0060, 0x0, 0x800, 0) ++AVR_MCU ("attiny24", ARCH_AVR25, AVR_SHORT_SP, "__AVR_ATtiny24__", 0x0060, 0x0, 0x800, 0) ++AVR_MCU ("attiny24a", ARCH_AVR25, AVR_SHORT_SP, "__AVR_ATtiny24A__", 0x0060, 0x0, 0x800, 0) ++AVR_MCU ("attiny4313", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny4313__", 0x0060, 0x0, 0x1000, 0) ++AVR_MCU ("attiny44", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny44__", 0x0060, 0x0, 0x1000, 0) ++AVR_MCU ("attiny44a", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny44A__", 0x0060, 0x0, 0x1000, 0) ++AVR_MCU ("attiny441", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny441__", 0x0100, 0x0, 0x1000, 0) ++AVR_MCU ("attiny84", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny84__", 0x0060, 0x0, 0x2000, 0) ++AVR_MCU ("attiny84a", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny84A__", 0x0060, 0x0, 0x2000, 0) ++AVR_MCU ("attiny25", ARCH_AVR25, AVR_SHORT_SP, "__AVR_ATtiny25__", 0x0060, 0x0, 0x800, 0) ++AVR_MCU ("attiny45", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny45__", 0x0060, 0x0, 0x1000, 0) ++AVR_MCU ("attiny85", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny85__", 0x0060, 0x0, 0x2000, 0) ++AVR_MCU ("attiny261", ARCH_AVR25, AVR_SHORT_SP, "__AVR_ATtiny261__", 0x0060, 0x0, 0x800, 0) ++AVR_MCU ("attiny261a", ARCH_AVR25, AVR_SHORT_SP, "__AVR_ATtiny261A__", 0x0060, 0x0, 0x800, 0) ++AVR_MCU ("attiny461", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny461__", 0x0060, 0x0, 0x1000, 0) ++AVR_MCU ("attiny461a", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny461A__", 0x0060, 0x0, 0x1000, 0) ++AVR_MCU ("attiny861", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny861__", 0x0060, 0x0, 0x2000, 0) ++AVR_MCU ("attiny861a", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny861A__", 0x0060, 0x0, 0x2000, 0) ++AVR_MCU ("attiny43u", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny43U__", 0x0060, 0x0, 0x1000, 0) ++AVR_MCU ("attiny87", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny87__", 0x0100, 0x0, 0x2000, 0) ++AVR_MCU ("attiny48", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny48__", 0x0100, 0x0, 0x1000, 0) ++AVR_MCU ("attiny88", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny88__", 0x0100, 0x0, 0x2000, 0) ++AVR_MCU ("attiny828", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny828__", 0x0100, 0x0, 0x2000, 0) ++AVR_MCU ("attiny841", ARCH_AVR25, AVR_ISA_NONE, "__AVR_ATtiny841__", 0x0100, 0x0, 0x2000, 0) ++AVR_MCU ("at86rf401", ARCH_AVR25, AVR_ISA_NONE, "__AVR_AT86RF401__", 0x0060, 0x0, 0x800, 0) + /* Classic, > 8K, <= 64K. */ +-AVR_MCU ("avr3", ARCH_AVR3, AVR_ISA_NONE, NULL, 0x0060, 0x0, 0x6000) +-AVR_MCU ("at43usb355", ARCH_AVR3, AVR_ISA_NONE, "__AVR_AT43USB355__", 0x0060, 0x0, 0x6000) +-AVR_MCU ("at76c711", ARCH_AVR3, AVR_ISA_NONE, "__AVR_AT76C711__", 0x0060, 0x0, 0x4000) ++AVR_MCU ("avr3", ARCH_AVR3, AVR_ISA_NONE, NULL, 0x0060, 0x0, 0x6000, 0) ++AVR_MCU ("at43usb355", ARCH_AVR3, AVR_ISA_NONE, "__AVR_AT43USB355__", 0x0060, 0x0, 0x6000, 0) ++AVR_MCU ("at76c711", ARCH_AVR3, AVR_ISA_NONE, "__AVR_AT76C711__", 0x0060, 0x0, 0x4000, 0) + /* Classic, == 128K. */ +-AVR_MCU ("avr31", ARCH_AVR31, AVR_ERRATA_SKIP, NULL, 0x0060, 0x0, 0x20000) +-AVR_MCU ("atmega103", ARCH_AVR31, AVR_ERRATA_SKIP, "__AVR_ATmega103__", 0x0060, 0x0, 0x20000) +-AVR_MCU ("at43usb320", ARCH_AVR31, AVR_ISA_NONE, "__AVR_AT43USB320__", 0x0060, 0x0, 0x10000) ++AVR_MCU ("avr31", ARCH_AVR31, AVR_ERRATA_SKIP, NULL, 0x0060, 0x0, 0x20000, 0) ++AVR_MCU ("atmega103", ARCH_AVR31, AVR_ERRATA_SKIP, "__AVR_ATmega103__", 0x0060, 0x0, 0x20000, 0) ++AVR_MCU ("at43usb320", ARCH_AVR31, AVR_ISA_NONE, "__AVR_AT43USB320__", 0x0060, 0x0, 0x10000, 0) + /* Classic + MOVW + JMP/CALL. */ +-AVR_MCU ("avr35", ARCH_AVR35, AVR_ISA_NONE, NULL, 0x0100, 0x0, 0x4000) +-AVR_MCU ("ata5505", ARCH_AVR35, AVR_ISA_NONE, "__AVR_ATA5505__", 0x0100, 0x0, 0x4000) +-AVR_MCU ("ata6617c", ARCH_AVR35, AVR_ISA_NONE, "__AVR_ATA6617C__", 0x0100, 0x0, 0x4000) +-AVR_MCU ("ata664251", ARCH_AVR35, AVR_ISA_NONE, "__AVR_ATA664251__", 0x0100, 0x0, 0x4000) +-AVR_MCU ("at90usb82", ARCH_AVR35, AVR_ISA_NONE, "__AVR_AT90USB82__", 0x0100, 0x0, 0x2000) +-AVR_MCU ("at90usb162", ARCH_AVR35, AVR_ISA_NONE, "__AVR_AT90USB162__", 0x0100, 0x0, 0x4000) +-AVR_MCU ("atmega8u2", ARCH_AVR35, AVR_ISA_NONE, "__AVR_ATmega8U2__", 0x0100, 0x0, 0x2000) +-AVR_MCU ("atmega16u2", ARCH_AVR35, AVR_ISA_NONE, "__AVR_ATmega16U2__", 0x0100, 0x0, 0x4000) +-AVR_MCU ("atmega32u2", ARCH_AVR35, AVR_ISA_NONE, "__AVR_ATmega32U2__", 0x0100, 0x0, 0x8000) +-AVR_MCU ("attiny167", ARCH_AVR35, AVR_ISA_NONE, "__AVR_ATtiny167__", 0x0100, 0x0, 0x4000) +-AVR_MCU ("attiny1634", ARCH_AVR35, AVR_ISA_NONE, "__AVR_ATtiny1634__", 0x0100, 0x0, 0x4000) ++AVR_MCU ("avr35", ARCH_AVR35, AVR_ISA_NONE, NULL, 0x0100, 0x0, 0x4000, 0) ++AVR_MCU ("ata5505", ARCH_AVR35, AVR_ISA_NONE, "__AVR_ATA5505__", 0x0100, 0x0, 0x4000, 0) ++AVR_MCU ("ata6617c", ARCH_AVR35, AVR_ISA_NONE, "__AVR_ATA6617C__", 0x0100, 0x0, 0x4000, 0) ++AVR_MCU ("ata664251", ARCH_AVR35, AVR_ISA_NONE, "__AVR_ATA664251__", 0x0100, 0x0, 0x4000, 0) ++AVR_MCU ("at90usb82", ARCH_AVR35, AVR_ISA_NONE, "__AVR_AT90USB82__", 0x0100, 0x0, 0x2000, 0) ++AVR_MCU ("at90usb162", ARCH_AVR35, AVR_ISA_NONE, "__AVR_AT90USB162__", 0x0100, 0x0, 0x4000, 0) ++AVR_MCU ("atmega8u2", ARCH_AVR35, AVR_ISA_NONE, "__AVR_ATmega8U2__", 0x0100, 0x0, 0x2000, 0) ++AVR_MCU ("atmega16u2", ARCH_AVR35, AVR_ISA_NONE, "__AVR_ATmega16U2__", 0x0100, 0x0, 0x4000, 0) ++AVR_MCU ("atmega32u2", ARCH_AVR35, AVR_ISA_NONE, "__AVR_ATmega32U2__", 0x0100, 0x0, 0x8000, 0) ++AVR_MCU ("attiny167", ARCH_AVR35, AVR_ISA_NONE, "__AVR_ATtiny167__", 0x0100, 0x0, 0x4000, 0) ++AVR_MCU ("attiny1634", ARCH_AVR35, AVR_ISA_NONE, "__AVR_ATtiny1634__", 0x0100, 0x0, 0x4000, 0) + /* Enhanced, <= 8K. */ +-AVR_MCU ("avr4", ARCH_AVR4, AVR_ISA_NONE, NULL, 0x0060, 0x0, 0x2000) +-AVR_MCU ("ata6285", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATA6285__", 0x0100, 0x0, 0x2000) +-AVR_MCU ("ata6286", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATA6286__", 0x0100, 0x0, 0x2000) +-AVR_MCU ("ata6289", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATA6289__", 0x0100, 0x0, 0x2000) +-AVR_MCU ("ata6612c", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATA6612C__", 0x0100, 0x0, 0x2000) +-AVR_MCU ("atmega8", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATmega8__", 0x0060, 0x0, 0x2000) +-AVR_MCU ("atmega8a", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATmega8A__", 0x0060, 0x0, 0x2000) +-AVR_MCU ("atmega48", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATmega48__", 0x0100, 0x0, 0x1000) +-AVR_MCU ("atmega48a", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATmega48A__", 0x0100, 0x0, 0x1000) +-AVR_MCU ("atmega48p", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATmega48P__", 0x0100, 0x0, 0x1000) +-AVR_MCU ("atmega48pa", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATmega48PA__", 0x0100, 0x0, 0x1000) +-AVR_MCU ("atmega48pb", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATmega48PB__", 0x0100, 0x0, 0x1000) +-AVR_MCU ("atmega88", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATmega88__", 0x0100, 0x0, 0x2000) +-AVR_MCU ("atmega88a", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATmega88A__", 0x0100, 0x0, 0x2000) +-AVR_MCU ("atmega88p", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATmega88P__", 0x0100, 0x0, 0x2000) +-AVR_MCU ("atmega88pa", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATmega88PA__", 0x0100, 0x0, 0x2000) +-AVR_MCU ("atmega88pb", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATmega88PB__", 0x0100, 0x0, 0x2000) +-AVR_MCU ("atmega8515", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATmega8515__", 0x0060, 0x0, 0x2000) +-AVR_MCU ("atmega8535", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATmega8535__", 0x0060, 0x0, 0x2000) +-AVR_MCU ("atmega8hva", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATmega8HVA__", 0x0100, 0x0, 0x2000) +-AVR_MCU ("at90pwm1", ARCH_AVR4, AVR_ISA_NONE, "__AVR_AT90PWM1__", 0x0100, 0x0, 0x2000) +-AVR_MCU ("at90pwm2", ARCH_AVR4, AVR_ISA_NONE, "__AVR_AT90PWM2__", 0x0100, 0x0, 0x2000) +-AVR_MCU ("at90pwm2b", ARCH_AVR4, AVR_ISA_NONE, "__AVR_AT90PWM2B__", 0x0100, 0x0, 0x2000) +-AVR_MCU ("at90pwm3", ARCH_AVR4, AVR_ISA_NONE, "__AVR_AT90PWM3__", 0x0100, 0x0, 0x2000) +-AVR_MCU ("at90pwm3b", ARCH_AVR4, AVR_ISA_NONE, "__AVR_AT90PWM3B__", 0x0100, 0x0, 0x2000) +-AVR_MCU ("at90pwm81", ARCH_AVR4, AVR_ISA_NONE, "__AVR_AT90PWM81__", 0x0100, 0x0, 0x2000) ++AVR_MCU ("avr4", ARCH_AVR4, AVR_ISA_NONE, NULL, 0x0060, 0x0, 0x2000, 0) ++AVR_MCU ("ata6285", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATA6285__", 0x0100, 0x0, 0x2000, 0) ++AVR_MCU ("ata6286", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATA6286__", 0x0100, 0x0, 0x2000, 0) ++AVR_MCU ("ata6289", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATA6289__", 0x0100, 0x0, 0x2000, 0) ++AVR_MCU ("ata6612c", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATA6612C__", 0x0100, 0x0, 0x2000, 0) ++AVR_MCU ("atmega8", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATmega8__", 0x0060, 0x0, 0x2000, 0) ++AVR_MCU ("atmega8a", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATmega8A__", 0x0060, 0x0, 0x2000, 0) ++AVR_MCU ("atmega48", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATmega48__", 0x0100, 0x0, 0x1000, 0) ++AVR_MCU ("atmega48a", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATmega48A__", 0x0100, 0x0, 0x1000, 0) ++AVR_MCU ("atmega48p", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATmega48P__", 0x0100, 0x0, 0x1000, 0) ++AVR_MCU ("atmega48pa", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATmega48PA__", 0x0100, 0x0, 0x1000, 0) ++AVR_MCU ("atmega48pb", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATmega48PB__", 0x0100, 0x0, 0x1000, 0) ++AVR_MCU ("atmega88", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATmega88__", 0x0100, 0x0, 0x2000, 0) ++AVR_MCU ("atmega88a", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATmega88A__", 0x0100, 0x0, 0x2000, 0) ++AVR_MCU ("atmega88p", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATmega88P__", 0x0100, 0x0, 0x2000, 0) ++AVR_MCU ("atmega88pa", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATmega88PA__", 0x0100, 0x0, 0x2000, 0) ++AVR_MCU ("atmega88pb", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATmega88PB__", 0x0100, 0x0, 0x2000, 0) ++AVR_MCU ("atmega8515", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATmega8515__", 0x0060, 0x0, 0x2000, 0) ++AVR_MCU ("atmega8535", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATmega8535__", 0x0060, 0x0, 0x2000, 0) ++AVR_MCU ("atmega8hva", ARCH_AVR4, AVR_ISA_NONE, "__AVR_ATmega8HVA__", 0x0100, 0x0, 0x2000, 0) ++AVR_MCU ("at90pwm1", ARCH_AVR4, AVR_ISA_NONE, "__AVR_AT90PWM1__", 0x0100, 0x0, 0x2000, 0) ++AVR_MCU ("at90pwm2", ARCH_AVR4, AVR_ISA_NONE, "__AVR_AT90PWM2__", 0x0100, 0x0, 0x2000, 0) ++AVR_MCU ("at90pwm2b", ARCH_AVR4, AVR_ISA_NONE, "__AVR_AT90PWM2B__", 0x0100, 0x0, 0x2000, 0) ++AVR_MCU ("at90pwm3", ARCH_AVR4, AVR_ISA_NONE, "__AVR_AT90PWM3__", 0x0100, 0x0, 0x2000, 0) ++AVR_MCU ("at90pwm3b", ARCH_AVR4, AVR_ISA_NONE, "__AVR_AT90PWM3B__", 0x0100, 0x0, 0x2000, 0) ++AVR_MCU ("at90pwm81", ARCH_AVR4, AVR_ISA_NONE, "__AVR_AT90PWM81__", 0x0100, 0x0, 0x2000, 0) + /* Enhanced, > 8K, <= 64K. */ +-AVR_MCU ("avr5", ARCH_AVR5, AVR_ISA_NONE, NULL, 0x0060, 0x0, 0x4000) +-AVR_MCU ("ata5702m322", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATA5702M322__", 0x0200, 0x0, 0x10000) +-AVR_MCU ("ata5782", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATA5782__", 0x0200, 0x8000, 0xd000) +-AVR_MCU ("ata5790", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATA5790__", 0x0100, 0x0, 0x4000) +-AVR_MCU ("ata5790n", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATA5790N__", 0x0100, 0x0, 0x4000) +-AVR_MCU ("ata5791", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATA5791__", 0x0100, 0x0, 0x4000) +-AVR_MCU ("ata5795", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATA5795__", 0x0100, 0x0, 0x2000) +-AVR_MCU ("ata5831", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATA5831__", 0x0200, 0x8000, 0xd000) +-AVR_MCU ("ata6613c", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATA6613C__", 0x0100, 0x0, 0x4000) +-AVR_MCU ("ata6614q", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATA6614Q__", 0x0100, 0x0, 0x8000) +-AVR_MCU ("ata8210", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATA8210__", 0x0200, 0x8000, 0xd000) +-AVR_MCU ("ata8510", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATA8510__", 0x0200, 0x8000, 0xd000) +-AVR_MCU ("atmega16", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega16__", 0x0060, 0x0, 0x4000) +-AVR_MCU ("atmega16a", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega16A__", 0x0060, 0x0, 0x4000) +-AVR_MCU ("atmega161", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega161__", 0x0060, 0x0, 0x4000) +-AVR_MCU ("atmega162", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega162__", 0x0100, 0x0, 0x4000) +-AVR_MCU ("atmega163", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega163__", 0x0060, 0x0, 0x4000) +-AVR_MCU ("atmega164a", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega164A__", 0x0100, 0x0, 0x4000) +-AVR_MCU ("atmega164p", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega164P__", 0x0100, 0x0, 0x4000) +-AVR_MCU ("atmega164pa", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega164PA__", 0x0100, 0x0, 0x4000) +-AVR_MCU ("atmega165", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega165__", 0x0100, 0x0, 0x4000) +-AVR_MCU ("atmega165a", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega165A__", 0x0100, 0x0, 0x4000) +-AVR_MCU ("atmega165p", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega165P__", 0x0100, 0x0, 0x4000) +-AVR_MCU ("atmega165pa", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega165PA__", 0x0100, 0x0, 0x4000) +-AVR_MCU ("atmega168", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega168__", 0x0100, 0x0, 0x4000) +-AVR_MCU ("atmega168a", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega168A__", 0x0100, 0x0, 0x4000) +-AVR_MCU ("atmega168p", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega168P__", 0x0100, 0x0, 0x4000) +-AVR_MCU ("atmega168pa", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega168PA__", 0x0100, 0x0, 0x4000) +-AVR_MCU ("atmega168pb", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega168PB__", 0x0100, 0x0, 0x4000) +-AVR_MCU ("atmega169", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega169__", 0x0100, 0x0, 0x4000) +-AVR_MCU ("atmega169a", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega169A__", 0x0100, 0x0, 0x4000) +-AVR_MCU ("atmega169p", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega169P__", 0x0100, 0x0, 0x4000) +-AVR_MCU ("atmega169pa", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega169PA__", 0x0100, 0x0, 0x4000) +-AVR_MCU ("atmega16hvb", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega16HVB__", 0x0100, 0x0, 0x4000) +-AVR_MCU ("atmega16hvbrevb", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega16HVBREVB__", 0x0100, 0x0, 0x4000) +-AVR_MCU ("atmega16m1", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega16M1__", 0x0100, 0x0, 0x4000) +-AVR_MCU ("atmega16u4", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega16U4__", 0x0100, 0x0, 0x4000) +-AVR_MCU ("atmega32a", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega32A__", 0x0060, 0x0, 0x8000) +-AVR_MCU ("atmega32", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega32__", 0x0060, 0x0, 0x8000) +-AVR_MCU ("atmega323", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega323__", 0x0060, 0x0, 0x8000) +-AVR_MCU ("atmega324a", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega324A__", 0x0100, 0x0, 0x8000) +-AVR_MCU ("atmega324p", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega324P__", 0x0100, 0x0, 0x8000) +-AVR_MCU ("atmega324pa", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega324PA__", 0x0100, 0x0, 0x8000) +-AVR_MCU ("atmega325", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega325__", 0x0100, 0x0, 0x8000) +-AVR_MCU ("atmega325a", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega325A__", 0x0100, 0x0, 0x8000) +-AVR_MCU ("atmega325p", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega325P__", 0x0100, 0x0, 0x8000) +-AVR_MCU ("atmega325pa", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega325PA__", 0x0100, 0x0, 0x8000) +-AVR_MCU ("atmega3250", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega3250__", 0x0100, 0x0, 0x8000) +-AVR_MCU ("atmega3250a", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega3250A__", 0x0100, 0x0, 0x8000) +-AVR_MCU ("atmega3250p", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega3250P__", 0x0100, 0x0, 0x8000) +-AVR_MCU ("atmega3250pa", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega3250PA__", 0x0100, 0x0, 0x8000) +-AVR_MCU ("atmega328", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega328__", 0x0100, 0x0, 0x8000) +-AVR_MCU ("atmega328p", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega328P__", 0x0100, 0x0, 0x8000) +-AVR_MCU ("atmega328pb", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega328PB__", 0x0100, 0x0, 0x8000) +-AVR_MCU ("atmega329", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega329__", 0x0100, 0x0, 0x8000) +-AVR_MCU ("atmega329a", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega329A__", 0x0100, 0x0, 0x8000) +-AVR_MCU ("atmega329p", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega329P__", 0x0100, 0x0, 0x8000) +-AVR_MCU ("atmega329pa", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega329PA__", 0x0100, 0x0, 0x8000) +-AVR_MCU ("atmega3290", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega3290__", 0x0100, 0x0, 0x8000) +-AVR_MCU ("atmega3290a", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega3290A__", 0x0100, 0x0, 0x8000) +-AVR_MCU ("atmega3290p", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega3290P__", 0x0100, 0x0, 0x8000) +-AVR_MCU ("atmega3290pa", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega3290PA__", 0x0100, 0x0, 0x8000) +-AVR_MCU ("atmega32c1", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega32C1__", 0x0100, 0x0, 0x8000) +-AVR_MCU ("atmega32m1", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega32M1__", 0x0100, 0x0, 0x8000) +-AVR_MCU ("atmega32u4", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega32U4__", 0x0100, 0x0, 0x8000) +-AVR_MCU ("atmega32u6", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega32U6__", 0x0100, 0x0, 0x8000) +-AVR_MCU ("atmega406", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega406__", 0x0100, 0x0, 0xa000) +-AVR_MCU ("atmega64", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega64__", 0x0100, 0x0, 0x10000) +-AVR_MCU ("atmega64a", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega64A__", 0x0100, 0x0, 0x10000) +-AVR_MCU ("atmega640", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega640__", 0x0200, 0x0, 0x10000) +-AVR_MCU ("atmega644", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega644__", 0x0100, 0x0, 0x10000) +-AVR_MCU ("atmega644a", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega644A__", 0x0100, 0x0, 0x10000) +-AVR_MCU ("atmega644p", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega644P__", 0x0100, 0x0, 0x10000) +-AVR_MCU ("atmega644pa", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega644PA__", 0x0100, 0x0, 0x10000) +-AVR_MCU ("atmega645", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega645__", 0x0100, 0x0, 0x10000) +-AVR_MCU ("atmega645a", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega645A__", 0x0100, 0x0, 0x10000) +-AVR_MCU ("atmega645p", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega645P__", 0x0100, 0x0, 0x10000) +-AVR_MCU ("atmega6450", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega6450__", 0x0100, 0x0, 0x10000) +-AVR_MCU ("atmega6450a", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega6450A__", 0x0100, 0x0, 0x10000) +-AVR_MCU ("atmega6450p", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega6450P__", 0x0100, 0x0, 0x10000) +-AVR_MCU ("atmega649", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega649__", 0x0100, 0x0, 0x10000) +-AVR_MCU ("atmega649a", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega649A__", 0x0100, 0x0, 0x10000) +-AVR_MCU ("atmega649p", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega649P__", 0x0100, 0x0, 0x10000) +-AVR_MCU ("atmega6490", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega6490__", 0x0100, 0x0, 0x10000) +-AVR_MCU ("atmega16hva", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega16HVA__", 0x0100, 0x0, 0x4000) +-AVR_MCU ("atmega16hva2", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega16HVA2__", 0x0100, 0x0, 0x4000) +-AVR_MCU ("atmega32hvb", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega32HVB__", 0x0100, 0x0, 0x8000) +-AVR_MCU ("atmega6490a", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega6490A__", 0x0100, 0x0, 0x10000) +-AVR_MCU ("atmega6490p", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega6490P__", 0x0100, 0x0, 0x10000) +-AVR_MCU ("atmega64c1", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega64C1__", 0x0100, 0x0, 0x10000) +-AVR_MCU ("atmega64m1", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega64M1__", 0x0100, 0x0, 0x10000) +-AVR_MCU ("atmega64hve", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega64HVE__", 0x0100, 0x0, 0x10000) +-AVR_MCU ("atmega64hve2", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega64HVE2__", 0x0100, 0x0, 0x10000) +-AVR_MCU ("atmega64rfr2", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega64RFR2__", 0x0200, 0x0, 0x10000) +-AVR_MCU ("atmega644rfr2", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega644RFR2__", 0x0200, 0x0, 0x10000) +-AVR_MCU ("atmega32hvbrevb", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega32HVBREVB__", 0x0100, 0x0, 0x8000) +-AVR_MCU ("at90can32", ARCH_AVR5, AVR_ISA_NONE, "__AVR_AT90CAN32__", 0x0100, 0x0, 0x8000) +-AVR_MCU ("at90can64", ARCH_AVR5, AVR_ISA_NONE, "__AVR_AT90CAN64__", 0x0100, 0x0, 0x10000) +-AVR_MCU ("at90pwm161", ARCH_AVR5, AVR_ISA_NONE, "__AVR_AT90PWM161__", 0x0100, 0x0, 0x4000) +-AVR_MCU ("at90pwm216", ARCH_AVR5, AVR_ISA_NONE, "__AVR_AT90PWM216__", 0x0100, 0x0, 0x4000) +-AVR_MCU ("at90pwm316", ARCH_AVR5, AVR_ISA_NONE, "__AVR_AT90PWM316__", 0x0100, 0x0, 0x4000) +-AVR_MCU ("at90scr100", ARCH_AVR5, AVR_ISA_NONE, "__AVR_AT90SCR100__", 0x0100, 0x0, 0x10000) +-AVR_MCU ("at90usb646", ARCH_AVR5, AVR_ISA_NONE, "__AVR_AT90USB646__", 0x0100, 0x0, 0x10000) +-AVR_MCU ("at90usb647", ARCH_AVR5, AVR_ISA_NONE, "__AVR_AT90USB647__", 0x0100, 0x0, 0x10000) +-AVR_MCU ("at94k", ARCH_AVR5, AVR_ISA_NONE, "__AVR_AT94K__", 0x0060, 0x0, 0x8000) +-AVR_MCU ("m3000", ARCH_AVR5, AVR_ISA_NONE, "__AVR_M3000__", 0x1000, 0x0, 0x10000) ++AVR_MCU ("avr5", ARCH_AVR5, AVR_ISA_NONE, NULL, 0x0060, 0x0, 0x4000, 0) ++AVR_MCU ("ata5702m322", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATA5702M322__", 0x0200, 0x0, 0x10000, 0) ++AVR_MCU ("ata5782", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATA5782__", 0x0200, 0x8000, 0xd000, 0) ++AVR_MCU ("ata5790", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATA5790__", 0x0100, 0x0, 0x4000, 0) ++AVR_MCU ("ata5790n", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATA5790N__", 0x0100, 0x0, 0x4000, 0) ++AVR_MCU ("ata5791", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATA5791__", 0x0100, 0x0, 0x4000, 0) ++AVR_MCU ("ata5795", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATA5795__", 0x0100, 0x0, 0x2000, 0) ++AVR_MCU ("ata5831", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATA5831__", 0x0200, 0x8000, 0xd000, 0) ++AVR_MCU ("ata6613c", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATA6613C__", 0x0100, 0x0, 0x4000, 0) ++AVR_MCU ("ata6614q", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATA6614Q__", 0x0100, 0x0, 0x8000, 0) ++AVR_MCU ("ata8210", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATA8210__", 0x0200, 0x8000, 0xd000, 0) ++AVR_MCU ("ata8510", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATA8510__", 0x0200, 0x8000, 0xd000, 0) ++AVR_MCU ("atmega16", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega16__", 0x0060, 0x0, 0x4000, 0) ++AVR_MCU ("atmega16a", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega16A__", 0x0060, 0x0, 0x4000, 0) ++AVR_MCU ("atmega161", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega161__", 0x0060, 0x0, 0x4000, 0) ++AVR_MCU ("atmega162", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega162__", 0x0100, 0x0, 0x4000, 0) ++AVR_MCU ("atmega163", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega163__", 0x0060, 0x0, 0x4000, 0) ++AVR_MCU ("atmega164a", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega164A__", 0x0100, 0x0, 0x4000, 0) ++AVR_MCU ("atmega164p", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega164P__", 0x0100, 0x0, 0x4000, 0) ++AVR_MCU ("atmega164pa", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega164PA__", 0x0100, 0x0, 0x4000, 0) ++AVR_MCU ("atmega165", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega165__", 0x0100, 0x0, 0x4000, 0) ++AVR_MCU ("atmega165a", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega165A__", 0x0100, 0x0, 0x4000, 0) ++AVR_MCU ("atmega165p", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega165P__", 0x0100, 0x0, 0x4000, 0) ++AVR_MCU ("atmega165pa", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega165PA__", 0x0100, 0x0, 0x4000, 0) ++AVR_MCU ("atmega168", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega168__", 0x0100, 0x0, 0x4000, 0) ++AVR_MCU ("atmega168a", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega168A__", 0x0100, 0x0, 0x4000, 0) ++AVR_MCU ("atmega168p", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega168P__", 0x0100, 0x0, 0x4000, 0) ++AVR_MCU ("atmega168pa", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega168PA__", 0x0100, 0x0, 0x4000, 0) ++AVR_MCU ("atmega168pb", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega168PB__", 0x0100, 0x0, 0x4000, 0) ++AVR_MCU ("atmega169", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega169__", 0x0100, 0x0, 0x4000, 0) ++AVR_MCU ("atmega169a", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega169A__", 0x0100, 0x0, 0x4000, 0) ++AVR_MCU ("atmega169p", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega169P__", 0x0100, 0x0, 0x4000, 0) ++AVR_MCU ("atmega169pa", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega169PA__", 0x0100, 0x0, 0x4000, 0) ++AVR_MCU ("atmega16hvb", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega16HVB__", 0x0100, 0x0, 0x4000, 0) ++AVR_MCU ("atmega16hvbrevb", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega16HVBREVB__", 0x0100, 0x0, 0x4000, 0) ++AVR_MCU ("atmega16m1", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega16M1__", 0x0100, 0x0, 0x4000, 0) ++AVR_MCU ("atmega16u4", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega16U4__", 0x0100, 0x0, 0x4000, 0) ++AVR_MCU ("atmega32a", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega32A__", 0x0060, 0x0, 0x8000, 0) ++AVR_MCU ("atmega32", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega32__", 0x0060, 0x0, 0x8000, 0) ++AVR_MCU ("atmega323", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega323__", 0x0060, 0x0, 0x8000, 0) ++AVR_MCU ("atmega324a", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega324A__", 0x0100, 0x0, 0x8000, 0) ++AVR_MCU ("atmega324p", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega324P__", 0x0100, 0x0, 0x8000, 0) ++AVR_MCU ("atmega324pa", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega324PA__", 0x0100, 0x0, 0x8000, 0) ++AVR_MCU ("atmega325", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega325__", 0x0100, 0x0, 0x8000, 0) ++AVR_MCU ("atmega325a", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega325A__", 0x0100, 0x0, 0x8000, 0) ++AVR_MCU ("atmega325p", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega325P__", 0x0100, 0x0, 0x8000, 0) ++AVR_MCU ("atmega325pa", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega325PA__", 0x0100, 0x0, 0x8000, 0) ++AVR_MCU ("atmega3250", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega3250__", 0x0100, 0x0, 0x8000, 0) ++AVR_MCU ("atmega3250a", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega3250A__", 0x0100, 0x0, 0x8000, 0) ++AVR_MCU ("atmega3250p", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega3250P__", 0x0100, 0x0, 0x8000, 0) ++AVR_MCU ("atmega3250pa", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega3250PA__", 0x0100, 0x0, 0x8000, 0) ++AVR_MCU ("atmega328", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega328__", 0x0100, 0x0, 0x8000, 0) ++AVR_MCU ("atmega328p", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega328P__", 0x0100, 0x0, 0x8000, 0) ++AVR_MCU ("atmega328pb", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega328PB__", 0x0100, 0x0, 0x8000, 0) ++AVR_MCU ("atmega329", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega329__", 0x0100, 0x0, 0x8000, 0) ++AVR_MCU ("atmega329a", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega329A__", 0x0100, 0x0, 0x8000, 0) ++AVR_MCU ("atmega329p", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega329P__", 0x0100, 0x0, 0x8000, 0) ++AVR_MCU ("atmega329pa", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega329PA__", 0x0100, 0x0, 0x8000, 0) ++AVR_MCU ("atmega3290", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega3290__", 0x0100, 0x0, 0x8000, 0) ++AVR_MCU ("atmega3290a", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega3290A__", 0x0100, 0x0, 0x8000, 0) ++AVR_MCU ("atmega3290p", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega3290P__", 0x0100, 0x0, 0x8000, 0) ++AVR_MCU ("atmega3290pa", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega3290PA__", 0x0100, 0x0, 0x8000, 0) ++AVR_MCU ("atmega32c1", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega32C1__", 0x0100, 0x0, 0x8000, 0) ++AVR_MCU ("atmega32m1", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega32M1__", 0x0100, 0x0, 0x8000, 0) ++AVR_MCU ("atmega32u4", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega32U4__", 0x0100, 0x0, 0x8000, 0) ++AVR_MCU ("atmega32u6", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega32U6__", 0x0100, 0x0, 0x8000, 0) ++AVR_MCU ("atmega406", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega406__", 0x0100, 0x0, 0xa000, 0) ++AVR_MCU ("atmega64", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega64__", 0x0100, 0x0, 0x10000, 0) ++AVR_MCU ("atmega64a", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega64A__", 0x0100, 0x0, 0x10000, 0) ++AVR_MCU ("atmega640", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega640__", 0x0200, 0x0, 0x10000, 0) ++AVR_MCU ("atmega644", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega644__", 0x0100, 0x0, 0x10000, 0) ++AVR_MCU ("atmega644a", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega644A__", 0x0100, 0x0, 0x10000, 0) ++AVR_MCU ("atmega644p", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega644P__", 0x0100, 0x0, 0x10000, 0) ++AVR_MCU ("atmega644pa", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega644PA__", 0x0100, 0x0, 0x10000, 0) ++AVR_MCU ("atmega645", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega645__", 0x0100, 0x0, 0x10000, 0) ++AVR_MCU ("atmega645a", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega645A__", 0x0100, 0x0, 0x10000, 0) ++AVR_MCU ("atmega645p", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega645P__", 0x0100, 0x0, 0x10000, 0) ++AVR_MCU ("atmega6450", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega6450__", 0x0100, 0x0, 0x10000, 0) ++AVR_MCU ("atmega6450a", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega6450A__", 0x0100, 0x0, 0x10000, 0) ++AVR_MCU ("atmega6450p", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega6450P__", 0x0100, 0x0, 0x10000, 0) ++AVR_MCU ("atmega649", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega649__", 0x0100, 0x0, 0x10000, 0) ++AVR_MCU ("atmega649a", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega649A__", 0x0100, 0x0, 0x10000, 0) ++AVR_MCU ("atmega649p", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega649P__", 0x0100, 0x0, 0x10000, 0) ++AVR_MCU ("atmega6490", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega6490__", 0x0100, 0x0, 0x10000, 0) ++AVR_MCU ("atmega16hva", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega16HVA__", 0x0100, 0x0, 0x4000, 0) ++AVR_MCU ("atmega16hva2", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega16HVA2__", 0x0100, 0x0, 0x4000, 0) ++AVR_MCU ("atmega32hvb", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega32HVB__", 0x0100, 0x0, 0x8000, 0) ++AVR_MCU ("atmega6490a", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega6490A__", 0x0100, 0x0, 0x10000, 0) ++AVR_MCU ("atmega6490p", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega6490P__", 0x0100, 0x0, 0x10000, 0) ++AVR_MCU ("atmega64c1", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega64C1__", 0x0100, 0x0, 0x10000, 0) ++AVR_MCU ("atmega64m1", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega64M1__", 0x0100, 0x0, 0x10000, 0) ++AVR_MCU ("atmega64hve", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega64HVE__", 0x0100, 0x0, 0x10000, 0) ++AVR_MCU ("atmega64hve2", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega64HVE2__", 0x0100, 0x0, 0x10000, 0) ++AVR_MCU ("atmega64rfr2", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega64RFR2__", 0x0200, 0x0, 0x10000, 0) ++AVR_MCU ("atmega644rfr2", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega644RFR2__", 0x0200, 0x0, 0x10000, 0) ++AVR_MCU ("atmega32hvbrevb", ARCH_AVR5, AVR_ISA_NONE, "__AVR_ATmega32HVBREVB__", 0x0100, 0x0, 0x8000, 0) ++AVR_MCU ("at90can32", ARCH_AVR5, AVR_ISA_NONE, "__AVR_AT90CAN32__", 0x0100, 0x0, 0x8000, 0) ++AVR_MCU ("at90can64", ARCH_AVR5, AVR_ISA_NONE, "__AVR_AT90CAN64__", 0x0100, 0x0, 0x10000, 0) ++AVR_MCU ("at90pwm161", ARCH_AVR5, AVR_ISA_NONE, "__AVR_AT90PWM161__", 0x0100, 0x0, 0x4000, 0) ++AVR_MCU ("at90pwm216", ARCH_AVR5, AVR_ISA_NONE, "__AVR_AT90PWM216__", 0x0100, 0x0, 0x4000, 0) ++AVR_MCU ("at90pwm316", ARCH_AVR5, AVR_ISA_NONE, "__AVR_AT90PWM316__", 0x0100, 0x0, 0x4000, 0) ++AVR_MCU ("at90scr100", ARCH_AVR5, AVR_ISA_NONE, "__AVR_AT90SCR100__", 0x0100, 0x0, 0x10000, 0) ++AVR_MCU ("at90usb646", ARCH_AVR5, AVR_ISA_NONE, "__AVR_AT90USB646__", 0x0100, 0x0, 0x10000, 0) ++AVR_MCU ("at90usb647", ARCH_AVR5, AVR_ISA_NONE, "__AVR_AT90USB647__", 0x0100, 0x0, 0x10000, 0) ++AVR_MCU ("at94k", ARCH_AVR5, AVR_ISA_NONE, "__AVR_AT94K__", 0x0060, 0x0, 0x8000, 0) ++AVR_MCU ("m3000", ARCH_AVR5, AVR_ISA_NONE, "__AVR_M3000__", 0x1000, 0x0, 0x10000, 0) + /* Enhanced, == 128K. */ +-AVR_MCU ("avr51", ARCH_AVR51, AVR_ISA_NONE, NULL, 0x0100, 0x0, 0x20000) +-AVR_MCU ("atmega128", ARCH_AVR51, AVR_ISA_NONE, "__AVR_ATmega128__", 0x0100, 0x0, 0x20000) +-AVR_MCU ("atmega128a", ARCH_AVR51, AVR_ISA_NONE, "__AVR_ATmega128A__", 0x0100, 0x0, 0x20000) +-AVR_MCU ("atmega1280", ARCH_AVR51, AVR_ISA_NONE, "__AVR_ATmega1280__", 0x0200, 0x0, 0x20000) +-AVR_MCU ("atmega1281", ARCH_AVR51, AVR_ISA_NONE, "__AVR_ATmega1281__", 0x0200, 0x0, 0x20000) +-AVR_MCU ("atmega1284", ARCH_AVR51, AVR_ISA_NONE, "__AVR_ATmega1284__", 0x0100, 0x0, 0x20000) +-AVR_MCU ("atmega1284p", ARCH_AVR51, AVR_ISA_NONE, "__AVR_ATmega1284P__", 0x0100, 0x0, 0x20000) +-AVR_MCU ("atmega128rfa1", ARCH_AVR51, AVR_ISA_NONE, "__AVR_ATmega128RFA1__", 0x0200, 0x0, 0x20000) +-AVR_MCU ("atmega128rfr2", ARCH_AVR51, AVR_ISA_NONE, "__AVR_ATmega128RFR2__", 0x0200, 0x0, 0x20000) +-AVR_MCU ("atmega1284rfr2", ARCH_AVR51, AVR_ISA_NONE, "__AVR_ATmega1284RFR2__", 0x0200, 0x0, 0x20000) +-AVR_MCU ("at90can128", ARCH_AVR51, AVR_ISA_NONE, "__AVR_AT90CAN128__", 0x0100, 0x0, 0x20000) +-AVR_MCU ("at90usb1286", ARCH_AVR51, AVR_ISA_NONE, "__AVR_AT90USB1286__", 0x0100, 0x0, 0x20000) +-AVR_MCU ("at90usb1287", ARCH_AVR51, AVR_ISA_NONE, "__AVR_AT90USB1287__", 0x0100, 0x0, 0x20000) ++AVR_MCU ("avr51", ARCH_AVR51, AVR_ISA_NONE, NULL, 0x0100, 0x0, 0x20000, 0) ++AVR_MCU ("atmega128", ARCH_AVR51, AVR_ISA_NONE, "__AVR_ATmega128__", 0x0100, 0x0, 0x20000, 0) ++AVR_MCU ("atmega128a", ARCH_AVR51, AVR_ISA_NONE, "__AVR_ATmega128A__", 0x0100, 0x0, 0x20000, 0) ++AVR_MCU ("atmega1280", ARCH_AVR51, AVR_ISA_NONE, "__AVR_ATmega1280__", 0x0200, 0x0, 0x20000, 0) ++AVR_MCU ("atmega1281", ARCH_AVR51, AVR_ISA_NONE, "__AVR_ATmega1281__", 0x0200, 0x0, 0x20000, 0) ++AVR_MCU ("atmega1284", ARCH_AVR51, AVR_ISA_NONE, "__AVR_ATmega1284__", 0x0100, 0x0, 0x20000, 0) ++AVR_MCU ("atmega1284p", ARCH_AVR51, AVR_ISA_NONE, "__AVR_ATmega1284P__", 0x0100, 0x0, 0x20000, 0) ++AVR_MCU ("atmega128rfa1", ARCH_AVR51, AVR_ISA_NONE, "__AVR_ATmega128RFA1__", 0x0200, 0x0, 0x20000, 0) ++AVR_MCU ("atmega128rfr2", ARCH_AVR51, AVR_ISA_NONE, "__AVR_ATmega128RFR2__", 0x0200, 0x0, 0x20000, 0) ++AVR_MCU ("atmega1284rfr2", ARCH_AVR51, AVR_ISA_NONE, "__AVR_ATmega1284RFR2__", 0x0200, 0x0, 0x20000, 0) ++AVR_MCU ("at90can128", ARCH_AVR51, AVR_ISA_NONE, "__AVR_AT90CAN128__", 0x0100, 0x0, 0x20000, 0) ++AVR_MCU ("at90usb1286", ARCH_AVR51, AVR_ISA_NONE, "__AVR_AT90USB1286__", 0x0100, 0x0, 0x20000, 0) ++AVR_MCU ("at90usb1287", ARCH_AVR51, AVR_ISA_NONE, "__AVR_AT90USB1287__", 0x0100, 0x0, 0x20000, 0) + /* 3-Byte PC. */ +-AVR_MCU ("avr6", ARCH_AVR6, AVR_ISA_NONE, NULL, 0x0200, 0x0, 0x40000) +-AVR_MCU ("atmega2560", ARCH_AVR6, AVR_ISA_NONE, "__AVR_ATmega2560__", 0x0200, 0x0, 0x40000) +-AVR_MCU ("atmega2561", ARCH_AVR6, AVR_ISA_NONE, "__AVR_ATmega2561__", 0x0200, 0x0, 0x40000) +-AVR_MCU ("atmega256rfr2", ARCH_AVR6, AVR_ISA_NONE, "__AVR_ATmega256RFR2__", 0x0200, 0x0, 0x40000) +-AVR_MCU ("atmega2564rfr2", ARCH_AVR6, AVR_ISA_NONE, "__AVR_ATmega2564RFR2__", 0x0200, 0x0, 0x40000) ++AVR_MCU ("avr6", ARCH_AVR6, AVR_ISA_NONE, NULL, 0x0200, 0x0, 0x40000, 0) ++AVR_MCU ("atmega2560", ARCH_AVR6, AVR_ISA_NONE, "__AVR_ATmega2560__", 0x0200, 0x0, 0x40000, 0) ++AVR_MCU ("atmega2561", ARCH_AVR6, AVR_ISA_NONE, "__AVR_ATmega2561__", 0x0200, 0x0, 0x40000, 0) ++AVR_MCU ("atmega256rfr2", ARCH_AVR6, AVR_ISA_NONE, "__AVR_ATmega256RFR2__", 0x0200, 0x0, 0x40000, 0) ++AVR_MCU ("atmega2564rfr2", ARCH_AVR6, AVR_ISA_NONE, "__AVR_ATmega2564RFR2__", 0x0200, 0x0, 0x40000, 0) + /* Xmega, 16K <= Flash < 64K, RAM <= 64K */ +-AVR_MCU ("avrxmega2", ARCH_AVRXMEGA2, AVR_ISA_NONE, NULL, 0x2000, 0x0, 0x9000) +-AVR_MCU ("atxmega8e5", ARCH_AVRXMEGA2, AVR_ISA_NONE, "__AVR_ATxmega8E5__", 0x2000, 0x0, 0x2800) +-AVR_MCU ("atxmega16a4", ARCH_AVRXMEGA2, AVR_ISA_NONE, "__AVR_ATxmega16A4__", 0x2000, 0x0, 0x5000) +-AVR_MCU ("atxmega16d4", ARCH_AVRXMEGA2, AVR_ISA_NONE, "__AVR_ATxmega16D4__", 0x2000, 0x0, 0x5000) +-AVR_MCU ("atxmega16e5", ARCH_AVRXMEGA2, AVR_ISA_NONE, "__AVR_ATxmega16E5__", 0x2000, 0x0, 0x5000) +-AVR_MCU ("atxmega32a4", ARCH_AVRXMEGA2, AVR_ISA_NONE, "__AVR_ATxmega32A4__", 0x2000, 0x0, 0x9000) +-AVR_MCU ("atxmega32c3", ARCH_AVRXMEGA2, AVR_ISA_RMW, "__AVR_ATxmega32C3__", 0x2000, 0x0, 0x9000) +-AVR_MCU ("atxmega32d3", ARCH_AVRXMEGA2, AVR_ISA_NONE, "__AVR_ATxmega32D3__", 0x2000, 0x0, 0x9000) +-AVR_MCU ("atxmega32d4", ARCH_AVRXMEGA2, AVR_ISA_NONE, "__AVR_ATxmega32D4__", 0x2000, 0x0, 0x9000) +-AVR_MCU ("atxmega16a4u", ARCH_AVRXMEGA2, AVR_ISA_RMW, "__AVR_ATxmega16A4U__", 0x2000, 0x0, 0x5000) +-AVR_MCU ("atxmega16c4", ARCH_AVRXMEGA2, AVR_ISA_RMW, "__AVR_ATxmega16C4__", 0x2000, 0x0, 0x5000) +-AVR_MCU ("atxmega32a4u", ARCH_AVRXMEGA2, AVR_ISA_RMW, "__AVR_ATxmega32A4U__", 0x2000, 0x0, 0x9000) +-AVR_MCU ("atxmega32c4", ARCH_AVRXMEGA2, AVR_ISA_RMW, "__AVR_ATxmega32C4__", 0x2000, 0x0, 0x9000) +-AVR_MCU ("atxmega32e5", ARCH_AVRXMEGA2, AVR_ISA_NONE, "__AVR_ATxmega32E5__", 0x2000, 0x0, 0x9000) ++AVR_MCU ("avrxmega2", ARCH_AVRXMEGA2, AVR_ISA_NONE, NULL, 0x2000, 0x0, 0x9000, 0) ++AVR_MCU ("atxmega8e5", ARCH_AVRXMEGA2, AVR_ISA_NONE, "__AVR_ATxmega8E5__", 0x2000, 0x0, 0x2800, 0) ++AVR_MCU ("atxmega16a4", ARCH_AVRXMEGA2, AVR_ISA_NONE, "__AVR_ATxmega16A4__", 0x2000, 0x0, 0x5000, 0) ++AVR_MCU ("atxmega16d4", ARCH_AVRXMEGA2, AVR_ISA_NONE, "__AVR_ATxmega16D4__", 0x2000, 0x0, 0x5000, 0) ++AVR_MCU ("atxmega16e5", ARCH_AVRXMEGA2, AVR_ISA_NONE, "__AVR_ATxmega16E5__", 0x2000, 0x0, 0x5000, 0) ++AVR_MCU ("atxmega32a4", ARCH_AVRXMEGA2, AVR_ISA_NONE, "__AVR_ATxmega32A4__", 0x2000, 0x0, 0x9000, 0) ++AVR_MCU ("atxmega32c3", ARCH_AVRXMEGA2, AVR_ISA_RMW, "__AVR_ATxmega32C3__", 0x2000, 0x0, 0x9000, 0) ++AVR_MCU ("atxmega32d3", ARCH_AVRXMEGA2, AVR_ISA_NONE, "__AVR_ATxmega32D3__", 0x2000, 0x0, 0x9000, 0) ++AVR_MCU ("atxmega32d4", ARCH_AVRXMEGA2, AVR_ISA_NONE, "__AVR_ATxmega32D4__", 0x2000, 0x0, 0x9000, 0) ++AVR_MCU ("atxmega16a4u", ARCH_AVRXMEGA2, AVR_ISA_RMW, "__AVR_ATxmega16A4U__", 0x2000, 0x0, 0x5000, 0) ++AVR_MCU ("atxmega16c4", ARCH_AVRXMEGA2, AVR_ISA_RMW, "__AVR_ATxmega16C4__", 0x2000, 0x0, 0x5000, 0) ++AVR_MCU ("atxmega32a4u", ARCH_AVRXMEGA2, AVR_ISA_RMW, "__AVR_ATxmega32A4U__", 0x2000, 0x0, 0x9000, 0) ++AVR_MCU ("atxmega32c4", ARCH_AVRXMEGA2, AVR_ISA_RMW, "__AVR_ATxmega32C4__", 0x2000, 0x0, 0x9000, 0) ++AVR_MCU ("atxmega32e5", ARCH_AVRXMEGA2, AVR_ISA_NONE, "__AVR_ATxmega32E5__", 0x2000, 0x0, 0x9000, 0) + /* Xmega, Flash + RAM < 64K, flash visible in RAM address space */ +-AVR_MCU ("avrxmega3", ARCH_AVRXMEGA3, AVR_ISA_NONE, NULL, 0x3f00, 0x0, 0x8000) +-AVR_MCU ("attiny212", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATtiny212__", 0x3f80, 0x0, 0x800) +-AVR_MCU ("attiny214", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATtiny214__", 0x3f80, 0x0, 0x800) +-AVR_MCU ("attiny412", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATtiny412__", 0x3f00, 0x0, 0x1000) +-AVR_MCU ("attiny414", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATtiny414__", 0x3f00, 0x0, 0x1000) +-AVR_MCU ("attiny416", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATtiny416__", 0x3f00, 0x0, 0x1000) +-AVR_MCU ("attiny417", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATtiny417__", 0x3f00, 0x0, 0x1000) +-AVR_MCU ("attiny814", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATtiny814__", 0x3e00, 0x0, 0x2000) +-AVR_MCU ("attiny816", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATtiny816__", 0x3e00, 0x0, 0x2000) +-AVR_MCU ("attiny817", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATtiny817__", 0x3e00, 0x0, 0x2000) +-AVR_MCU ("attiny1614", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_ATtiny1614__", 0x3800, 0x0, 0x4000) +-AVR_MCU ("attiny1616", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_ATtiny1616__", 0x3800, 0x0, 0x4000) +-AVR_MCU ("attiny1617", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_ATtiny1617__", 0x3800, 0x0, 0x4000) +-AVR_MCU ("attiny3214", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_ATtiny3214__", 0x3800, 0x0, 0x8000) +-AVR_MCU ("attiny3216", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_ATtiny3216__", 0x3800, 0x0, 0x8000) +-AVR_MCU ("attiny3217", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_ATtiny3217__", 0x3800, 0x0, 0x8000) ++AVR_MCU ("avrxmega3", ARCH_AVRXMEGA3, AVR_ISA_NONE, NULL, 0x3f00, 0x0, 0x8000, 0) ++AVR_MCU ("attiny202", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATtiny202__", 0x3f80, 0x0, 0x800, 0x8000) ++AVR_MCU ("attiny204", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATtiny204__", 0x3f80, 0x0, 0x800, 0x8000) ++AVR_MCU ("attiny402", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATtiny402__", 0x3f00, 0x0, 0x1000, 0x8000) ++AVR_MCU ("attiny404", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATtiny404__", 0x3f00, 0x0, 0x1000, 0x8000) ++AVR_MCU ("attiny406", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATtiny406__", 0x3f00, 0x0, 0x1000, 0x8000) ++AVR_MCU ("attiny804", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATtiny804__", 0x3e00, 0x0, 0x2000, 0x8000) ++AVR_MCU ("attiny806", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATtiny806__", 0x3e00, 0x0, 0x2000, 0x8000) ++AVR_MCU ("attiny807", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATtiny807__", 0x3e00, 0x0, 0x2000, 0x8000) ++AVR_MCU ("attiny1604", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_ATtiny1604__", 0x3c00, 0x0, 0x4000, 0x8000) ++AVR_MCU ("attiny1606", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_ATtiny1606__", 0x3c00, 0x0, 0x4000, 0x8000) ++AVR_MCU ("attiny1607", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_ATtiny1607__", 0x3c00, 0x0, 0x4000, 0x8000) ++AVR_MCU ("attiny212", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATtiny212__", 0x3f80, 0x0, 0x800, 0x8000) ++AVR_MCU ("attiny214", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATtiny214__", 0x3f80, 0x0, 0x800, 0x8000) ++AVR_MCU ("attiny412", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATtiny412__", 0x3f00, 0x0, 0x1000, 0x8000) ++AVR_MCU ("attiny414", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATtiny414__", 0x3f00, 0x0, 0x1000, 0x8000) ++AVR_MCU ("attiny416", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATtiny416__", 0x3f00, 0x0, 0x1000, 0x8000) ++AVR_MCU ("attiny417", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATtiny417__", 0x3f00, 0x0, 0x1000, 0x8000) ++AVR_MCU ("attiny814", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATtiny814__", 0x3e00, 0x0, 0x2000, 0x8000) ++AVR_MCU ("attiny816", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATtiny816__", 0x3e00, 0x0, 0x2000, 0x8000) ++AVR_MCU ("attiny817", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATtiny817__", 0x3e00, 0x0, 0x2000, 0x8000) ++AVR_MCU ("attiny1614", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_ATtiny1614__", 0x3800, 0x0, 0x4000, 0x8000) ++AVR_MCU ("attiny1616", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_ATtiny1616__", 0x3800, 0x0, 0x4000, 0x8000) ++AVR_MCU ("attiny1617", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_ATtiny1617__", 0x3800, 0x0, 0x4000, 0x8000) ++AVR_MCU ("attiny3214", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_ATtiny3214__", 0x3800, 0x0, 0x8000, 0x8000) ++AVR_MCU ("attiny3216", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_ATtiny3216__", 0x3800, 0x0, 0x8000, 0x8000) ++AVR_MCU ("attiny3217", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_ATtiny3217__", 0x3800, 0x0, 0x8000, 0x8000) ++AVR_MCU ("atmega808", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATmega808__", 0x3c00, 0x0, 0x2000, 0x4000) ++AVR_MCU ("atmega809", ARCH_AVRXMEGA3, AVR_ISA_RCALL, "__AVR_ATmega809__", 0x3c00, 0x0, 0x2000, 0x4000) ++AVR_MCU ("atmega1608", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_ATmega1608__", 0x3800, 0x0, 0x4000, 0x4000) ++AVR_MCU ("atmega1609", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_ATmega1609__", 0x3800, 0x0, 0x4000, 0x4000) ++AVR_MCU ("atmega3208", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_ATmega3208__", 0x3800, 0x0, 0x8000, 0x4000) ++AVR_MCU ("atmega3209", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_ATmega3209__", 0x3800, 0x0, 0x8000, 0x4000) ++AVR_MCU ("atmega4808", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_ATmega4808__", 0x2800, 0x0, 0xc000, 0x4000) ++AVR_MCU ("atmega4809", ARCH_AVRXMEGA3, AVR_ISA_NONE, "__AVR_ATmega4809__", 0x2800, 0x0, 0xc000, 0x4000) + /* Xmega, 64K < Flash <= 128K, RAM <= 64K */ +-AVR_MCU ("avrxmega4", ARCH_AVRXMEGA4, AVR_ISA_NONE, NULL, 0x2000, 0x0, 0x11000) +-AVR_MCU ("atxmega64a3", ARCH_AVRXMEGA4, AVR_ISA_NONE, "__AVR_ATxmega64A3__", 0x2000, 0x0, 0x11000) +-AVR_MCU ("atxmega64d3", ARCH_AVRXMEGA4, AVR_ISA_NONE, "__AVR_ATxmega64D3__", 0x2000, 0x0, 0x11000) +-AVR_MCU ("atxmega64a3u", ARCH_AVRXMEGA4, AVR_ISA_RMW, "__AVR_ATxmega64A3U__", 0x2000, 0x0, 0x11000) +-AVR_MCU ("atxmega64a4u", ARCH_AVRXMEGA4, AVR_ISA_RMW, "__AVR_ATxmega64A4U__", 0x2000, 0x0, 0x11000) +-AVR_MCU ("atxmega64b1", ARCH_AVRXMEGA4, AVR_ISA_RMW, "__AVR_ATxmega64B1__", 0x2000, 0x0, 0x11000) +-AVR_MCU ("atxmega64b3", ARCH_AVRXMEGA4, AVR_ISA_RMW, "__AVR_ATxmega64B3__", 0x2000, 0x0, 0x11000) +-AVR_MCU ("atxmega64c3", ARCH_AVRXMEGA4, AVR_ISA_RMW, "__AVR_ATxmega64C3__", 0x2000, 0x0, 0x11000) +-AVR_MCU ("atxmega64d4", ARCH_AVRXMEGA4, AVR_ISA_NONE, "__AVR_ATxmega64D4__", 0x2000, 0x0, 0x11000) ++AVR_MCU ("avrxmega4", ARCH_AVRXMEGA4, AVR_ISA_NONE, NULL, 0x2000, 0x0, 0x11000, 0) ++AVR_MCU ("atxmega64a3", ARCH_AVRXMEGA4, AVR_ISA_NONE, "__AVR_ATxmega64A3__", 0x2000, 0x0, 0x11000, 0) ++AVR_MCU ("atxmega64d3", ARCH_AVRXMEGA4, AVR_ISA_NONE, "__AVR_ATxmega64D3__", 0x2000, 0x0, 0x11000, 0) ++AVR_MCU ("atxmega64a3u", ARCH_AVRXMEGA4, AVR_ISA_RMW, "__AVR_ATxmega64A3U__", 0x2000, 0x0, 0x11000, 0) ++AVR_MCU ("atxmega64a4u", ARCH_AVRXMEGA4, AVR_ISA_RMW, "__AVR_ATxmega64A4U__", 0x2000, 0x0, 0x11000, 0) ++AVR_MCU ("atxmega64b1", ARCH_AVRXMEGA4, AVR_ISA_RMW, "__AVR_ATxmega64B1__", 0x2000, 0x0, 0x11000, 0) ++AVR_MCU ("atxmega64b3", ARCH_AVRXMEGA4, AVR_ISA_RMW, "__AVR_ATxmega64B3__", 0x2000, 0x0, 0x11000, 0) ++AVR_MCU ("atxmega64c3", ARCH_AVRXMEGA4, AVR_ISA_RMW, "__AVR_ATxmega64C3__", 0x2000, 0x0, 0x11000, 0) ++AVR_MCU ("atxmega64d4", ARCH_AVRXMEGA4, AVR_ISA_NONE, "__AVR_ATxmega64D4__", 0x2000, 0x0, 0x11000, 0) + /* Xmega, 64K < Flash <= 128K, RAM > 64K */ +-AVR_MCU ("avrxmega5", ARCH_AVRXMEGA5, AVR_ISA_NONE, NULL, 0x2000, 0x0, 0x11000) +-AVR_MCU ("atxmega64a1", ARCH_AVRXMEGA5, AVR_ISA_NONE, "__AVR_ATxmega64A1__", 0x2000, 0x0, 0x11000) +-AVR_MCU ("atxmega64a1u", ARCH_AVRXMEGA5, AVR_ISA_RMW, "__AVR_ATxmega64A1U__", 0x2000, 0x0, 0x11000) ++AVR_MCU ("avrxmega5", ARCH_AVRXMEGA5, AVR_ISA_NONE, NULL, 0x2000, 0x0, 0x11000, 0) ++AVR_MCU ("atxmega64a1", ARCH_AVRXMEGA5, AVR_ISA_NONE, "__AVR_ATxmega64A1__", 0x2000, 0x0, 0x11000, 0) ++AVR_MCU ("atxmega64a1u", ARCH_AVRXMEGA5, AVR_ISA_RMW, "__AVR_ATxmega64A1U__", 0x2000, 0x0, 0x11000, 0) + /* Xmega, 128K < Flash, RAM <= 64K */ +-AVR_MCU ("avrxmega6", ARCH_AVRXMEGA6, AVR_ISA_NONE, NULL, 0x2000, 0x0, 0x60000) +-AVR_MCU ("atxmega128a3", ARCH_AVRXMEGA6, AVR_ISA_NONE, "__AVR_ATxmega128A3__", 0x2000, 0x0, 0x22000) +-AVR_MCU ("atxmega128d3", ARCH_AVRXMEGA6, AVR_ISA_NONE, "__AVR_ATxmega128D3__", 0x2000, 0x0, 0x22000) +-AVR_MCU ("atxmega192a3", ARCH_AVRXMEGA6, AVR_ISA_NONE, "__AVR_ATxmega192A3__", 0x2000, 0x0, 0x32000) +-AVR_MCU ("atxmega192d3", ARCH_AVRXMEGA6, AVR_ISA_NONE, "__AVR_ATxmega192D3__", 0x2000, 0x0, 0x32000) +-AVR_MCU ("atxmega256a3", ARCH_AVRXMEGA6, AVR_ISA_NONE, "__AVR_ATxmega256A3__", 0x2000, 0x0, 0x42000) +-AVR_MCU ("atxmega256a3b", ARCH_AVRXMEGA6, AVR_ISA_NONE, "__AVR_ATxmega256A3B__", 0x2000, 0x0, 0x42000) +-AVR_MCU ("atxmega256a3bu", ARCH_AVRXMEGA6, AVR_ISA_NONE, "__AVR_ATxmega256A3BU__", 0x2000, 0x0, 0x42000) +-AVR_MCU ("atxmega256d3", ARCH_AVRXMEGA6, AVR_ISA_NONE, "__AVR_ATxmega256D3__", 0x2000, 0x0, 0x42000) +-AVR_MCU ("atxmega128a3u", ARCH_AVRXMEGA6, AVR_ISA_RMW, "__AVR_ATxmega128A3U__", 0x2000, 0x0, 0x22000) +-AVR_MCU ("atxmega128b1", ARCH_AVRXMEGA6, AVR_ISA_RMW, "__AVR_ATxmega128B1__", 0x2000, 0x0, 0x22000) +-AVR_MCU ("atxmega128b3", ARCH_AVRXMEGA6, AVR_ISA_RMW, "__AVR_ATxmega128B3__", 0x2000, 0x0, 0x22000) +-AVR_MCU ("atxmega128c3", ARCH_AVRXMEGA6, AVR_ISA_RMW, "__AVR_ATxmega128C3__", 0x2000, 0x0, 0x22000) +-AVR_MCU ("atxmega128d4", ARCH_AVRXMEGA6, AVR_ISA_NONE, "__AVR_ATxmega128D4__", 0x2000, 0x0, 0x22000) +-AVR_MCU ("atxmega192a3u", ARCH_AVRXMEGA6, AVR_ISA_RMW, "__AVR_ATxmega192A3U__", 0x2000, 0x0, 0x32000) +-AVR_MCU ("atxmega192c3", ARCH_AVRXMEGA6, AVR_ISA_RMW, "__AVR_ATxmega192C3__", 0x2000, 0x0, 0x32000) +-AVR_MCU ("atxmega256a3u", ARCH_AVRXMEGA6, AVR_ISA_RMW, "__AVR_ATxmega256A3U__", 0x2000, 0x0, 0x42000) +-AVR_MCU ("atxmega256c3", ARCH_AVRXMEGA6, AVR_ISA_RMW, "__AVR_ATxmega256C3__", 0x2000, 0x0, 0x42000) +-AVR_MCU ("atxmega384c3", ARCH_AVRXMEGA6, AVR_ISA_RMW, "__AVR_ATxmega384C3__", 0x2000, 0x0, 0x62000) +-AVR_MCU ("atxmega384d3", ARCH_AVRXMEGA6, AVR_ISA_NONE, "__AVR_ATxmega384D3__", 0x2000, 0x0, 0x62000) ++AVR_MCU ("avrxmega6", ARCH_AVRXMEGA6, AVR_ISA_NONE, NULL, 0x2000, 0x0, 0x60000, 0) ++AVR_MCU ("atxmega128a3", ARCH_AVRXMEGA6, AVR_ISA_NONE, "__AVR_ATxmega128A3__", 0x2000, 0x0, 0x22000, 0) ++AVR_MCU ("atxmega128d3", ARCH_AVRXMEGA6, AVR_ISA_NONE, "__AVR_ATxmega128D3__", 0x2000, 0x0, 0x22000, 0) ++AVR_MCU ("atxmega192a3", ARCH_AVRXMEGA6, AVR_ISA_NONE, "__AVR_ATxmega192A3__", 0x2000, 0x0, 0x32000, 0) ++AVR_MCU ("atxmega192d3", ARCH_AVRXMEGA6, AVR_ISA_NONE, "__AVR_ATxmega192D3__", 0x2000, 0x0, 0x32000, 0) ++AVR_MCU ("atxmega256a3", ARCH_AVRXMEGA6, AVR_ISA_NONE, "__AVR_ATxmega256A3__", 0x2000, 0x0, 0x42000, 0) ++AVR_MCU ("atxmega256a3b", ARCH_AVRXMEGA6, AVR_ISA_NONE, "__AVR_ATxmega256A3B__", 0x2000, 0x0, 0x42000, 0) ++AVR_MCU ("atxmega256a3bu", ARCH_AVRXMEGA6, AVR_ISA_NONE, "__AVR_ATxmega256A3BU__", 0x2000, 0x0, 0x42000, 0) ++AVR_MCU ("atxmega256d3", ARCH_AVRXMEGA6, AVR_ISA_NONE, "__AVR_ATxmega256D3__", 0x2000, 0x0, 0x42000, 0) ++AVR_MCU ("atxmega128a3u", ARCH_AVRXMEGA6, AVR_ISA_RMW, "__AVR_ATxmega128A3U__", 0x2000, 0x0, 0x22000, 0) ++AVR_MCU ("atxmega128b1", ARCH_AVRXMEGA6, AVR_ISA_RMW, "__AVR_ATxmega128B1__", 0x2000, 0x0, 0x22000, 0) ++AVR_MCU ("atxmega128b3", ARCH_AVRXMEGA6, AVR_ISA_RMW, "__AVR_ATxmega128B3__", 0x2000, 0x0, 0x22000, 0) ++AVR_MCU ("atxmega128c3", ARCH_AVRXMEGA6, AVR_ISA_RMW, "__AVR_ATxmega128C3__", 0x2000, 0x0, 0x22000, 0) ++AVR_MCU ("atxmega128d4", ARCH_AVRXMEGA6, AVR_ISA_NONE, "__AVR_ATxmega128D4__", 0x2000, 0x0, 0x22000, 0) ++AVR_MCU ("atxmega192a3u", ARCH_AVRXMEGA6, AVR_ISA_RMW, "__AVR_ATxmega192A3U__", 0x2000, 0x0, 0x32000, 0) ++AVR_MCU ("atxmega192c3", ARCH_AVRXMEGA6, AVR_ISA_RMW, "__AVR_ATxmega192C3__", 0x2000, 0x0, 0x32000, 0) ++AVR_MCU ("atxmega256a3u", ARCH_AVRXMEGA6, AVR_ISA_RMW, "__AVR_ATxmega256A3U__", 0x2000, 0x0, 0x42000, 0) ++AVR_MCU ("atxmega256c3", ARCH_AVRXMEGA6, AVR_ISA_RMW, "__AVR_ATxmega256C3__", 0x2000, 0x0, 0x42000, 0) ++AVR_MCU ("atxmega384c3", ARCH_AVRXMEGA6, AVR_ISA_RMW, "__AVR_ATxmega384C3__", 0x2000, 0x0, 0x62000, 0) ++AVR_MCU ("atxmega384d3", ARCH_AVRXMEGA6, AVR_ISA_NONE, "__AVR_ATxmega384D3__", 0x2000, 0x0, 0x62000, 0) + /* Xmega, 128K < Flash, RAM > 64K RAM. */ +-AVR_MCU ("avrxmega7", ARCH_AVRXMEGA7, AVR_ISA_NONE, NULL, 0x2000, 0x0, 0x22000) +-AVR_MCU ("atxmega128a1", ARCH_AVRXMEGA7, AVR_ISA_NONE, "__AVR_ATxmega128A1__", 0x2000, 0x0, 0x22000) +-AVR_MCU ("atxmega128a1u", ARCH_AVRXMEGA7, AVR_ISA_RMW, "__AVR_ATxmega128A1U__", 0x2000, 0x0, 0x22000) +-AVR_MCU ("atxmega128a4u", ARCH_AVRXMEGA7, AVR_ISA_RMW, "__AVR_ATxmega128A4U__", 0x2000, 0x0, 0x22000) ++AVR_MCU ("avrxmega7", ARCH_AVRXMEGA7, AVR_ISA_NONE, NULL, 0x2000, 0x0, 0x22000, 0) ++AVR_MCU ("atxmega128a1", ARCH_AVRXMEGA7, AVR_ISA_NONE, "__AVR_ATxmega128A1__", 0x2000, 0x0, 0x22000, 0) ++AVR_MCU ("atxmega128a1u", ARCH_AVRXMEGA7, AVR_ISA_RMW, "__AVR_ATxmega128A1U__", 0x2000, 0x0, 0x22000, 0) ++AVR_MCU ("atxmega128a4u", ARCH_AVRXMEGA7, AVR_ISA_RMW, "__AVR_ATxmega128A4U__", 0x2000, 0x0, 0x22000, 0) + /* Tiny family */ +-AVR_MCU ("avrtiny", ARCH_AVRTINY, AVR_ISA_NONE, NULL, 0x0040, 0x0, 0x400) +-AVR_MCU ("attiny4", ARCH_AVRTINY, AVR_ISA_LDS, "__AVR_ATtiny4__", 0x0040, 0x0, 0x200) +-AVR_MCU ("attiny5", ARCH_AVRTINY, AVR_ISA_LDS, "__AVR_ATtiny5__", 0x0040, 0x0, 0x200) +-AVR_MCU ("attiny9", ARCH_AVRTINY, AVR_ISA_LDS, "__AVR_ATtiny9__", 0x0040, 0x0, 0x400) +-AVR_MCU ("attiny10", ARCH_AVRTINY, AVR_ISA_LDS, "__AVR_ATtiny10__", 0x0040, 0x0, 0x400) +-AVR_MCU ("attiny20", ARCH_AVRTINY, AVR_ISA_LDS, "__AVR_ATtiny20__", 0x0040, 0x0, 0x800) +-AVR_MCU ("attiny40", ARCH_AVRTINY, AVR_ISA_NONE, "__AVR_ATtiny40__", 0x0040, 0x0, 0x1000) ++AVR_MCU ("avrtiny", ARCH_AVRTINY, AVR_ISA_NONE, NULL, 0x0040, 0x0, 0x400, 0) ++AVR_MCU ("attiny4", ARCH_AVRTINY, AVR_ISA_LDS, "__AVR_ATtiny4__", 0x0040, 0x0, 0x200, 0) ++AVR_MCU ("attiny5", ARCH_AVRTINY, AVR_ISA_LDS, "__AVR_ATtiny5__", 0x0040, 0x0, 0x200, 0) ++AVR_MCU ("attiny9", ARCH_AVRTINY, AVR_ISA_LDS, "__AVR_ATtiny9__", 0x0040, 0x0, 0x400, 0) ++AVR_MCU ("attiny10", ARCH_AVRTINY, AVR_ISA_LDS, "__AVR_ATtiny10__", 0x0040, 0x0, 0x400, 0) ++AVR_MCU ("attiny20", ARCH_AVRTINY, AVR_ISA_LDS, "__AVR_ATtiny20__", 0x0040, 0x0, 0x800, 0) ++AVR_MCU ("attiny40", ARCH_AVRTINY, AVR_ISA_NONE, "__AVR_ATtiny40__", 0x0040, 0x0, 0x1000, 0) + /* Assembler only. */ +-AVR_MCU ("avr1", ARCH_AVR1, AVR_ISA_NONE, NULL, 0x0060, 0x0, 0x400) +-AVR_MCU ("at90s1200", ARCH_AVR1, AVR_ISA_NONE, "__AVR_AT90S1200__", 0x0060, 0x0, 0x400) +-AVR_MCU ("attiny11", ARCH_AVR1, AVR_ISA_NONE, "__AVR_ATtiny11__", 0x0060, 0x0, 0x400) +-AVR_MCU ("attiny12", ARCH_AVR1, AVR_ISA_NONE, "__AVR_ATtiny12__", 0x0060, 0x0, 0x400) +-AVR_MCU ("attiny15", ARCH_AVR1, AVR_ISA_NONE, "__AVR_ATtiny15__", 0x0060, 0x0, 0x400) +-AVR_MCU ("attiny28", ARCH_AVR1, AVR_ISA_NONE, "__AVR_ATtiny28__", 0x0060, 0x0, 0x800) ++AVR_MCU ("avr1", ARCH_AVR1, AVR_ISA_NONE, NULL, 0x0060, 0x0, 0x400, 0) ++AVR_MCU ("at90s1200", ARCH_AVR1, AVR_ISA_NONE, "__AVR_AT90S1200__", 0x0060, 0x0, 0x400, 0) ++AVR_MCU ("attiny11", ARCH_AVR1, AVR_ISA_NONE, "__AVR_ATtiny11__", 0x0060, 0x0, 0x400, 0) ++AVR_MCU ("attiny12", ARCH_AVR1, AVR_ISA_NONE, "__AVR_ATtiny12__", 0x0060, 0x0, 0x400, 0) ++AVR_MCU ("attiny15", ARCH_AVR1, AVR_ISA_NONE, "__AVR_ATtiny15__", 0x0060, 0x0, 0x400, 0) ++AVR_MCU ("attiny28", ARCH_AVR1, AVR_ISA_NONE, "__AVR_ATtiny28__", 0x0060, 0x0, 0x800, 0) +--- a/src/gcc/config/avr/avr.c ++++ b/src/gcc/config/avr/avr.c +@@ -3797,13 +3797,14 @@ avr_out_lpm (rtx_insn *insn, rtx *op, int *plen) + gcc_unreachable(); + + case 1: +- return avr_asm_len ("%4lpm %0,%a2", xop, plen, 1); ++ avr_asm_len ("%4lpm %0,%a2", xop, plen, 1); ++ break; + + case 2: + if (REGNO (dest) == REG_Z) +- return avr_asm_len ("%4lpm %5,%a2+" CR_TAB +- "%4lpm %B0,%a2" CR_TAB +- "mov %A0,%5", xop, plen, 3); ++ avr_asm_len ("%4lpm %5,%a2+" CR_TAB ++ "%4lpm %B0,%a2" CR_TAB ++ "mov %A0,%5", xop, plen, 3); + else + { + avr_asm_len ("%4lpm %A0,%a2+" CR_TAB +@@ -3832,9 +3833,9 @@ avr_out_lpm (rtx_insn *insn, rtx *op, int *plen) + "%4lpm %B0,%a2+", xop, plen, 2); + + if (REGNO (dest) == REG_Z - 2) +- return avr_asm_len ("%4lpm %5,%a2+" CR_TAB +- "%4lpm %C0,%a2" CR_TAB +- "mov %D0,%5", xop, plen, 3); ++ avr_asm_len ("%4lpm %5,%a2+" CR_TAB ++ "%4lpm %C0,%a2" CR_TAB ++ "mov %D0,%5", xop, plen, 3); + else + { + avr_asm_len ("%4lpm %C0,%a2+" CR_TAB +--- a/src/gcc/config/avr/avr.opt ++++ b/src/gcc/config/avr/avr.opt +@@ -118,3 +118,7 @@ Assume that all data in static storage can be accessed by LDS / STS. This optio + nodevicelib + Driver Target Report RejectNegative + Do not link against the device-specific library lib.a. ++ ++nodevicespecs ++Driver Target Report RejectNegative ++Do not use the device-specific specs file device-specs/specs-. +--- a/src/gcc/config/avr/driver-avr.c ++++ b/src/gcc/config/avr/driver-avr.c +@@ -26,8 +26,8 @@ along with GCC; see the file COPYING3. If not see + #include "diagnostic.h" + #include "tm.h" + +-// Remove -nodevicelib from the command line if not needed +-#define X_NODEVLIB "%\n" + "#\n" + "# will include the desired device header. For ATmega8A the supplement\n" +- "# to *cpp would read\n" ++ "# to *cpp_avrlibc would read\n" + "#\n" + "# -D__AVR_DEV_LIB_NAME__=m8a\n" + "\n"; +@@ -140,6 +132,14 @@ print_mcu (const avr_mcu_t *mcu) + bool rcall = (mcu->dev_attribute & AVR_ISA_RCALL); + bool is_arch = mcu->macro == NULL; + bool is_device = ! is_arch; ++ int flash_pm_offset = 0; ++ ++ if (arch->flash_pm_offset ++ && mcu->flash_pm_offset ++ && mcu->flash_pm_offset != arch->flash_pm_offset) ++ { ++ flash_pm_offset = mcu->flash_pm_offset; ++ } + + if (is_arch + && (ARCH_AVR2 == arch_id +@@ -253,7 +253,11 @@ print_mcu (const avr_mcu_t *mcu) + + fprintf (f, "*link_relax:\n\t%s\n\n", LINK_RELAX_SPEC); + +- fprintf (f, "*link_arch:\n\t%s\n\n", LINK_ARCH_SPEC); ++ fprintf (f, "*link_arch:\n\t%s", LINK_ARCH_SPEC); ++ if (is_device ++ && flash_pm_offset) ++ fprintf (f, " --defsym=__RODATA_PM_OFFSET__=0x%x", flash_pm_offset); ++ fprintf (f, "\n\n"); + + if (is_device) + { +@@ -281,10 +285,26 @@ print_mcu (const avr_mcu_t *mcu) + + #if defined (WITH_AVRLIBC) + fprintf (f, "%s\n", help_dev_lib_name); ++ ++ fprintf (f, "*cpp_avrlibc:\n"); ++ fprintf (f, "\t-D__AVR_DEVICE_NAME__=%s", mcu->name); ++ fprintf (f, "\n\n"); + #endif // WITH_AVRLIBC + ++ fprintf (f, "*cpp_mcu:\n"); ++ fprintf (f, "\t-D%s", mcu->macro); ++ if (flash_pm_offset) ++ { ++ fprintf (f, " -U__AVR_PM_BASE_ADDRESS__"); ++ fprintf (f, " -D__AVR_PM_BASE_ADDRESS__=0x%x", flash_pm_offset); ++ } ++ fprintf (f, "\n\n"); ++ + fprintf (f, "*cpp:\n"); +- fprintf (f, "\t-D%s -D__AVR_DEVICE_NAME__=%s", mcu->macro, mcu->name); ++ fprintf (f, "\t%%(cpp_mcu)"); ++#if defined (WITH_AVRLIBC) ++ fprintf (f, " %%(cpp_avrlibc)"); ++#endif // WITH_AVRLIBC + fprintf (f, "\n\n"); + } + +--- a/src/gcc/config/avr/gen-avr-mmcu-texi.c ++++ b/src/gcc/config/avr/gen-avr-mmcu-texi.c +@@ -25,8 +25,8 @@ + + #include "avr-devices.c" + +-static const char* +-mcu_name[sizeof avr_mcu_types / sizeof avr_mcu_types[0]]; ++static const avr_mcu_t* ++mcus[sizeof avr_mcu_types / sizeof avr_mcu_types[0]]; + + static int letter (char c) + { +@@ -38,25 +38,84 @@ static int digit (char c) + return c >= '0' && c <= '9'; + } + ++static int ++str_prefix_p (const char *str, const char *prefix) ++{ ++ return strncmp (str, prefix, strlen (prefix)) == 0; ++} ++ ++ ++/* Used by string comparator to group MCUs by their ++ name prefix like "attiny" or "atmega". */ ++ ++static int ++c_prefix (const char *str) ++{ ++ static const char *const prefixes[] = ++ { ++ "attiny", "atmega", "atxmega", "ata", "at90" ++ }; ++ ++ int i, n = (int) (sizeof (prefixes) / sizeof (*prefixes)); ++ ++ for (i = 0; i < n; i++) ++ if (str_prefix_p (str, prefixes[i])) ++ return i; ++ ++ return n; ++} ++ ++ ++/* If A starts a group of digits, return their value as a number. */ ++ ++static int ++c_number (const char *a) ++{ ++ int val = 0; ++ ++ if (digit (*a) && ! digit (*(a-1))) ++ { ++ while (digit (*a)) ++ val = 10 * val + (*a++) - '0'; ++ } ++ ++ return val; ++} ++ ++ ++/* Compare two MCUs and order them for easy lookup. */ ++ + static int + comparator (const void *va, const void *vb) + { +- const char *a = *(const char* const*) va; +- const char *b = *(const char* const*) vb; ++ const avr_mcu_t *mcu_a = *(const avr_mcu_t* const*) va; ++ const avr_mcu_t *mcu_b = *(const avr_mcu_t* const*) vb; ++ const char *a = mcu_a->name; ++ const char *b = mcu_b->name; ++ ++ // First, group MCUs according to their pure-letter prefix. ++ ++ int c = c_prefix (a) - c_prefix (b); ++ if (c) ++ return c; ++ ++ // Second, if their prefixes are the same, group according to ++ // their flash size. ++ ++ c = (int) mcu_a->flash_size - (int) mcu_b->flash_size; ++ if (c) ++ return c; ++ ++ // Third, group according to aligned groups of digits. + + while (*a && *b) + { +- /* Make letters smaller than digits so that `atmega16a' follows +- `atmega16' without `atmega161' etc. between them. */ +- +- if (letter (*a) && digit (*b)) +- return -1; +- +- if (digit (*a) && letter (*b)) +- return 1; ++ c = c_number (a) - c_number (b); ++ if (c) ++ return c; + + if (*a != *b) +- return *a - *b; ++ return *a - *b; + + a++; + b++; +@@ -74,21 +133,21 @@ print_mcus (size_t n_mcus) + if (!n_mcus) + return; + +- qsort (mcu_name, n_mcus, sizeof (char*), comparator); ++ qsort (mcus, n_mcus, sizeof (avr_mcu_t*), comparator); + + printf ("@*@var{mcu}@tie{}="); + + for (i = 0; i < n_mcus; i++) + { +- printf (" @code{%s}%s", mcu_name[i], i == n_mcus-1 ? ".\n\n" : ","); ++ printf (" @code{%s}%s", mcus[i]->name, i == n_mcus-1 ? ".\n\n" : ","); + +- if (i && !strcmp (mcu_name[i], mcu_name[i-1])) +- { +- /* Sanity-check: Fail on devices that are present more than once. */ ++ if (i && !strcmp (mcus[i]->name, mcus[i-1]->name)) ++ { ++ // Sanity-check: Fail on devices that are present more than once. + +- duplicate = 1; +- fprintf (stderr, "error: duplicate device: %s\n", mcu_name[i]); +- } ++ duplicate = 1; ++ fprintf (stderr, "error: duplicate device: %s\n", mcus[i]->name); ++ } + } + + if (duplicate) +@@ -104,13 +163,13 @@ int main (void) + printf ("@c Copyright (C) 2012-2018 Free Software Foundation, Inc.\n"); + printf ("@c This is part of the GCC manual.\n"); + printf ("@c For copying conditions, see the file " +- "gcc/doc/include/fdl.texi.\n\n"); ++ "gcc/doc/include/fdl.texi.\n\n"); + + printf ("@c This file is generated automatically using\n"); + printf ("@c gcc/config/avr/gen-avr-mmcu-texi.c from:\n"); +- printf ("@c gcc/config/avr/avr-arch.h\n"); +- printf ("@c gcc/config/avr/avr-devices.c\n"); +- printf ("@c gcc/config/avr/avr-mcus.def\n\n"); ++ printf ("@c gcc/config/avr/avr-arch.h\n"); ++ printf ("@c gcc/config/avr/avr-devices.c\n"); ++ printf ("@c gcc/config/avr/avr-mcus.def\n\n"); + + printf ("@c Please do not edit manually.\n\n"); + +@@ -119,22 +178,21 @@ int main (void) + for (mcu = avr_mcu_types; mcu->name; mcu++) + { + if (mcu->macro == NULL) +- { +- arch_id = mcu->arch_id; +- +- /* Start a new architecture: Flush the MCUs collected so far. */ ++ { ++ arch_id = mcu->arch_id; + +- print_mcus (n_mcus); +- n_mcus = 0; ++ // Start a new architecture: Flush the MCUs collected so far. ++ print_mcus (n_mcus); ++ n_mcus = 0; + +- for (i = 0; i < sizeof (avr_texinfo) / sizeof (*avr_texinfo); i++) +- if (arch_id == avr_texinfo[i].arch_id) +- printf ("@item %s\n%s\n", mcu->name, avr_texinfo[i].texinfo); +- } ++ for (i = 0; i < sizeof (avr_texinfo) / sizeof (*avr_texinfo); i++) ++ if (arch_id == avr_texinfo[i].arch_id) ++ printf ("@item %s\n%s\n", mcu->name, avr_texinfo[i].texinfo); ++ } + else if (arch_id == (enum avr_arch_id) mcu->arch_id) +- { +- mcu_name[n_mcus++] = mcu->name; +- } ++ { ++ mcus[n_mcus++] = mcu; ++ } + } + + print_mcus (n_mcus); +--- a/src/gcc/config/darwin-c.c ++++ b/src/gcc/config/darwin-c.c +@@ -463,41 +463,32 @@ static const char *framework_defaults [] = + /* Register the GNU objective-C runtime include path if STDINC. */ + + void +-darwin_register_objc_includes (const char *sysroot, const char *iprefix, +- int stdinc) ++darwin_register_objc_includes (const char *sysroot ATTRIBUTE_UNUSED, ++ const char *iprefix, int stdinc) + { +- const char *fname; +- size_t len; +- /* We do not do anything if we do not want the standard includes. */ +- if (!stdinc) +- return; +- +- fname = GCC_INCLUDE_DIR "-gnu-runtime"; +- +- /* Register the GNU OBJC runtime include path if we are compiling OBJC +- with GNU-runtime. */ ++ /* If we want standard includes; Register the GNU OBJC runtime include ++ path if we are compiling OBJC with GNU-runtime. ++ This path is compiler-relative, we don't want to prepend the sysroot ++ since it's not expected to find the headers there. */ + +- if (c_dialect_objc () && !flag_next_runtime) ++ if (stdinc && c_dialect_objc () && !flag_next_runtime) + { ++ const char *fname = GCC_INCLUDE_DIR "-gnu-runtime"; + char *str; +- /* See if our directory starts with the standard prefix. ++ size_t len; ++ ++ /* See if our directory starts with the standard prefix. + "Translate" them, i.e. replace /usr/local/lib/gcc... with + IPREFIX and search them first. */ +- if (iprefix && (len = cpp_GCC_INCLUDE_DIR_len) != 0 && !sysroot ++ if (iprefix && (len = cpp_GCC_INCLUDE_DIR_len) != 0 + && !strncmp (fname, cpp_GCC_INCLUDE_DIR, len)) + { + str = concat (iprefix, fname + len, NULL); +- /* FIXME: wrap the headers for C++awareness. */ +- add_path (str, INC_SYSTEM, /*c++aware=*/false, false); ++ add_path (str, INC_SYSTEM, /*c++aware=*/true, false); + } + +- /* Should this directory start with the sysroot? */ +- if (sysroot) +- str = concat (sysroot, fname, NULL); +- else +- str = update_path (fname, ""); +- +- add_path (str, INC_SYSTEM, /*c++aware=*/false, false); ++ str = update_path (fname, ""); ++ add_path (str, INC_SYSTEM, /*c++aware=*/true, false); + } + } + +--- a/src/gcc/config/darwin-driver.c ++++ b/src/gcc/config/darwin-driver.c +@@ -26,6 +26,91 @@ along with GCC; see the file COPYING3. If not see + #include "opts.h" + #include "diagnostic-core.h" + ++/* Validate a version string (either given on the command line or, perhaps ++ as MACOSX_DEPLOYMENT_TARGET). ++ ++ The specs %version-compare() function doesn't accept leading '0' on ++ numbers so strip them out. Do sanity checking here too. ++ ++ Return: ++ * original string means it was OK and we didn't want to change it. ++ * new string means it was OK but we rewrote it to avoid possible format ++ problems. ++ * NULL means we didn't like what we saw. ++*/ ++ ++static const char * ++validate_macosx_version_min (const char *version_str) ++{ ++ size_t version_len; ++ unsigned long major, minor, tiny = 0; ++ char *end; ++ const char *old_version = version_str; ++ bool need_rewrite = false; ++ ++ version_len = strlen (version_str); ++ if (version_len < 4) /* The minimum would be 10.x */ ++ return NULL; ++ ++ /* Version string must consist of digits and periods only. */ ++ if (strspn (version_str, "0123456789.") != version_len) ++ return NULL; ++ ++ if (!ISDIGIT (version_str[0]) || !ISDIGIT (version_str[version_len - 1])) ++ return NULL; ++ ++ if (version_str[0] == '0') ++ need_rewrite = true; ++ ++ major = strtoul (version_str, &end, 10); ++ version_str = end + ((*end == '.') ? 1 : 0); ++ ++ if (major != 10) /* So far .. all MacOS 10 ... */ ++ return NULL; ++ ++ /* Version string components must be present and numeric. */ ++ if (!ISDIGIT (version_str[0])) ++ return NULL; ++ ++ /* If we have one or more leading zeros on a component, then rewrite the ++ version string. */ ++ if (version_str[0] == '0' && version_str[1] != '\0' ++ && version_str[1] != '.') ++ need_rewrite = true; ++ ++ minor = strtoul (version_str, &end, 10); ++ version_str = end + ((*end == '.') ? 1 : 0); ++ if (minor > 99) ++ return NULL; ++ ++ /* If 'tiny' is present it must be numeric. */ ++ if (*end != '\0' && !ISDIGIT (version_str[0])) ++ return NULL; ++ ++ /* If we have one or more leading zeros on a component, then rewrite the ++ version string. */ ++ if (*end != '\0' && version_str[0] == '0' ++ && version_str[1] != '\0') ++ need_rewrite = true; ++ ++ tiny = strtoul (version_str, &end, 10); ++ if (tiny > 99) ++ return NULL; ++ ++ /* Version string must contain no more than three tokens. */ ++ if (*end != '\0') ++ return NULL; ++ ++ if (need_rewrite) ++ { ++ char *new_version; ++ asprintf (&new_version, "10.%lu.%lu", minor, tiny); ++ return new_version; ++ } ++ ++ return old_version; ++} ++ + #ifndef CROSS_DIRECTORY_STRUCTURE + #include + #include "xregex.h" +@@ -114,16 +199,39 @@ darwin_default_min_version (void) + + if (new_flag != NULL) + { +- size_t len = strlen (new_flag); +- if (len > 128) { /* Arbitrary limit, number should be like xx.yy.zz */ +- warning (0, "couldn%'t understand version %s\n", new_flag); +- return NULL; +- } +- new_flag = xstrndup (new_flag, len); ++ const char *checked = validate_macosx_version_min (new_flag); ++ if (checked == NULL) ++ { ++ warning (0, "couldn%'t understand version %s\n", new_flag); ++ return NULL; ++ } ++ new_flag = xstrndup (checked, strlen (checked)); + } + return new_flag; + } + ++/* See if we can find the sysroot from the SDKROOT environment variable. */ ++ ++static const char * ++maybe_get_sysroot_from_sdkroot () ++{ ++ const char *maybe_sysroot = getenv ("SDKROOT"); ++ ++ /* We'll use the same rules as the clang driver, for compatibility. ++ 1) The path must be absolute ++ 2) Ignore "/", that is the default anyway and we do not want the ++ sysroot semantics to be applied to it. ++ 3) It must exist (actually, we'll check it's readable too). */ ++ ++ if (maybe_sysroot == NULL ++ || *maybe_sysroot != '/' ++ || strlen (maybe_sysroot) == 1 ++ || access (maybe_sysroot, R_OK) == -1) ++ return NULL; ++ ++ return xstrndup (maybe_sysroot, strlen (maybe_sysroot)); ++} ++ + /* Translate -filelist and -framework options in *DECODED_OPTIONS + (size *DECODED_OPTIONS_COUNT) to use -Xlinker so that they are + considered to be linker inputs in the case that no other inputs are +@@ -148,6 +256,7 @@ darwin_driver_init (unsigned int *decoded_options_count, + bool appendM64 = false; + const char *vers_string = NULL; + bool seen_version_min = false; ++ bool seen_sysroot_p = false; + + for (i = 1; i < *decoded_options_count; i++) + { +@@ -175,7 +284,7 @@ darwin_driver_init (unsigned int *decoded_options_count, + if (*decoded_options_count > i) { + memmove (*decoded_options + i, + *decoded_options + i + 1, +- ((*decoded_options_count - i) ++ ((*decoded_options_count - i - 1) + * sizeof (struct cl_decoded_option))); + } + --i; +@@ -209,7 +318,29 @@ darwin_driver_init (unsigned int *decoded_options_count, + + case OPT_mmacosx_version_min_: + seen_version_min = true; +- vers_string = xstrndup ((*decoded_options)[i].arg, 32); ++ vers_string = ++ validate_macosx_version_min ((*decoded_options)[i].arg); ++ if (vers_string == NULL) ++ warning (0, "%qs is not valid for %\n", ++ (*decoded_options)[i].arg); ++ else if (vers_string == (*decoded_options)[i].arg) ++ vers_string = xstrndup ((*decoded_options)[i].arg, 32); ++ /* Now we've examined it, and verified/re-written, put it to ++ one side and append later. */ ++ if (*decoded_options_count > i) { ++ memmove (*decoded_options + i, ++ *decoded_options + i + 1, ++ ((*decoded_options_count - i - 1) ++ * sizeof (struct cl_decoded_option))); ++ } ++ --i; ++ --*decoded_options_count; ++ break; ++ ++ case OPT__sysroot_: ++ case OPT_isysroot: ++ seen_sysroot_p = true; ++ break; + + default: + break; +@@ -272,26 +403,40 @@ darwin_driver_init (unsigned int *decoded_options_count, + &(*decoded_options)[*decoded_options_count - 1]); + } + +- /* We will need to know the OS X version we're trying to build for here +- so that we can figure out the mechanism and source for the sysroot to +- be used. */ +- if (! seen_version_min && *decoded_options_count > 1) ++ if (! seen_sysroot_p) + { +- /* Not set by the User, try to figure it out. */ +- vers_string = darwin_default_min_version (); +- if (vers_string != NULL) ++ /* We will pick up an SDKROOT if we didn't specify a sysroot and treat ++ it as overriding any configure-time --with-sysroot. */ ++ const char *sdkroot = maybe_get_sysroot_from_sdkroot (); ++ if (sdkroot) + { + ++*decoded_options_count; + *decoded_options = XRESIZEVEC (struct cl_decoded_option, + *decoded_options, + *decoded_options_count); +- generate_option (OPT_mmacosx_version_min_, vers_string, 1, CL_DRIVER, +- &(*decoded_options)[*decoded_options_count - 1]); ++ generate_option (OPT__sysroot_, sdkroot, 1, CL_DRIVER, ++ &(*decoded_options)[*decoded_options_count - 1]); + } + } +- /* Create and push the major version for assemblers that need it. */ ++ ++ /* We will need to know the OS X version we're trying to build for here ++ so that we can figure out the mechanism and source for the sysroot to ++ be used. */ ++ if (! seen_version_min && *decoded_options_count > 1) ++ /* Not set by the User, try to figure it out. */ ++ vers_string = darwin_default_min_version (); ++ ++ /* Create and push a cleaned up version, plus the major version for ++ assemblers and other cases that need it. */ + if (vers_string != NULL) + { ++ ++*decoded_options_count; ++ *decoded_options = XRESIZEVEC (struct cl_decoded_option, ++ *decoded_options, ++ *decoded_options_count); ++ generate_option (OPT_mmacosx_version_min_, vers_string, 1, CL_DRIVER, ++ &(*decoded_options)[*decoded_options_count - 1]); ++ + char *asm_major = NULL; + const char *first_period = strchr(vers_string, '.'); + if (first_period != NULL) +--- a/src/gcc/config/darwin-protos.h ++++ b/src/gcc/config/darwin-protos.h +@@ -53,8 +53,6 @@ extern void darwin_set_default_type_attributes (tree); + + #endif /* TREE_CODE */ + +-extern void machopic_finish (FILE *); +- + extern int machopic_reloc_rw_mask (void); + extern section *machopic_select_section (tree, int, unsigned HOST_WIDE_INT); + +--- a/src/gcc/config/darwin.c ++++ b/src/gcc/config/darwin.c +@@ -74,15 +74,9 @@ along with GCC; see the file COPYING3. If not see + setting the second word in the .non_lazy_symbol_pointer data + structure to symbol. See indirect_data for the code that handles + the extra indirection, and machopic_output_indirection and its use +- of MACHO_SYMBOL_STATIC for the code that handles @code{static} ++ of MACHO_SYMBOL_FLAG_STATIC for the code that handles @code{static} + symbol indirection. */ + +-/* For darwin >= 9 (OSX 10.5) the linker is capable of making the necessary +- branch islands and we no longer need to emit darwin stubs. +- However, if we are generating code for earlier systems (or for use in the +- kernel) the stubs might still be required, and this will be set true. */ +-int darwin_emit_branch_islands = false; +- + typedef struct GTY(()) cdtor_record { + rtx symbol; + int priority; /* [con/de]structor priority */ +@@ -104,6 +98,10 @@ int generating_for_darwin_version ; + for weak or single-definition items. */ + static bool ld_uses_coal_sects = false; + ++/* Very old (ld_classic) linkers need a symbol to mark the start of ++ each FDE. */ ++static bool ld_needs_eh_markers = false; ++ + /* Section names. */ + section * darwin_sections[NUM_DARWIN_SECTIONS]; + +@@ -249,7 +247,7 @@ name_needs_quotes (const char *name) + int + machopic_symbol_defined_p (rtx sym_ref) + { +- if (SYMBOL_REF_FLAGS (sym_ref) & MACHO_SYMBOL_FLAG_DEFINED) ++ if (MACHO_SYMBOL_DEFINED_P (sym_ref)) + return true; + + /* If a symbol references local and is not an extern to this +@@ -258,7 +256,7 @@ machopic_symbol_defined_p (rtx sym_ref) + { + /* If the symbol references a variable and the variable is a + common symbol, then this symbol is not defined. */ +- if (SYMBOL_REF_FLAGS (sym_ref) & MACHO_SYMBOL_FLAG_VARIABLE) ++ if (MACHO_SYMBOL_VARIABLE_P (sym_ref)) + { + tree decl = SYMBOL_REF_DECL (sym_ref); + if (!decl) +@@ -454,6 +452,13 @@ typedef struct GTY ((for_user)) machopic_indirection + bool stub_p; + /* True iff this stub or pointer has been referenced. */ + bool used; ++ /* True iff a non-lazy symbol pointer should be emitted into the .data ++ section, rather than the non-lazy symbol pointers section. The cases ++ for which this occurred seem to have been unintentional, and later ++ toolchains emit all of the indirections to the 'usual' section. We ++ are keeping this in case it is necessary to preserve compatibility with ++ older toolchains. */ ++ bool nlsp_in_data_section; + } machopic_indirection; + + struct indirection_hasher : ggc_ptr_hash +@@ -488,7 +493,7 @@ indirection_hasher::equal (machopic_indirection *s, const char *k) + /* Return the name of the non-lazy pointer (if STUB_P is false) or + stub (if STUB_B is true) corresponding to the given name. + +- If we have a situation like: ++ PR71767 - If we have a situation like: + + global_weak_symbol: + .... +@@ -497,36 +502,22 @@ Lnon_weak_local: + + ld64 will be unable to split this into two atoms (because the "L" makes + the second symbol 'invisible'). This means that legitimate direct accesses +- to the second symbol will appear to be non-allowed direct accesses to an +- atom of type weak, global which are not allowed. +- +- To avoid this, we make the indirections have a leading 'l' (lower-case L) +- which has a special meaning: linker can see this and use it to determine +- atoms, but it is not placed into the final symbol table. ++ to the second symbol will appear to be direct accesses to an atom of type ++ weak, global which are not allowed. + +- The implementation here is somewhat heavy-handed in that it will also mark +- indirections to the __IMPORT,__pointers section the same way which is +- really unnecessary, since ld64 _can_ split those into atoms as they are +- fixed size. FIXME: determine if this is a penalty worth extra code to +- fix. ++ To avoid this, we make any data-section indirections have a leading 'l' ++ (lower-case L) which has a special meaning: linker can see this and use ++ it to determine atoms, but it is not placed into the final symbol table. + ++ Symbols in the non-lazy symbol pointers section (or stubs) do not have this ++ problem because ld64 already knows the size of each entry. + */ + + const char * + machopic_indirection_name (rtx sym_ref, bool stub_p) + { +- char *buffer; + const char *name = XSTR (sym_ref, 0); +- size_t namelen = strlen (name); +- machopic_indirection *p; +- bool needs_quotes; +- const char *suffix; +- char L_or_l = 'L'; +- const char *prefix = user_label_prefix; +- const char *quote = ""; +- tree id; +- +- id = maybe_get_identifier (name); ++ tree id = maybe_get_identifier (name); + if (id) + { + tree id_orig = id; +@@ -534,43 +525,47 @@ machopic_indirection_name (rtx sym_ref, bool stub_p) + while (IDENTIFIER_TRANSPARENT_ALIAS (id)) + id = TREE_CHAIN (id); + if (id != id_orig) +- { +- name = IDENTIFIER_POINTER (id); +- namelen = strlen (name); +- } ++ name = IDENTIFIER_POINTER (id); + } + ++ const char *prefix = user_label_prefix; ++ /* If we are emitting the label 'verbatim' then omit the U_L_P and count ++ the name without the leading '*'. */ + if (name[0] == '*') + { + prefix = ""; + ++name; +- --namelen; +- } +- +- needs_quotes = name_needs_quotes (name); +- if (needs_quotes) +- { +- quote = "\""; + } + +- if (stub_p) +- suffix = STUB_SUFFIX; +- else +- { +- suffix = NON_LAZY_POINTER_SUFFIX; +- /* Let the linker see this. */ +- L_or_l = 'l'; +- } +- +- buffer = XALLOCAVEC (char, 2 /* strlen ("&L") or ("&l") */ +- + strlen (prefix) +- + namelen +- + strlen (suffix) +- + 2 * strlen (quote) +- + 1 /* '\0' */); ++ /* Here we are undoing a number of causes that placed some indirections ++ (apparently erroneously) into the .data section. Specifically, some ++ symbols that are ABI mandated indirections and some hidden symbols ++ were being placed there - which cause difficulties with later ++ versions of ld64. Iff (after these checks) some symbol still gets an ++ indirection in the data section, we want to adjust the indirection ++ name to be linker visible to deal with PR71767 (notes above). */ ++ bool nlsp_in_data_section = ++ ! MACHO_SYMBOL_MUST_INDIRECT_P (sym_ref) ++ && ! MACHO_SYMBOL_HIDDEN_VIS_P (sym_ref) ++ && (machopic_symbol_defined_p (sym_ref) || SYMBOL_REF_LOCAL_P (sym_ref)) ++ && ! indirect_data (sym_ref); ++ ++ const char *suffix = stub_p ? STUB_SUFFIX : NON_LAZY_POINTER_SUFFIX; ++ /* If the indirection is in the data section, let the linker see it. */ ++ char L_or_l = (!stub_p && nlsp_in_data_section) ? 'l' : 'L'; ++ /* We have mangled symbols with spaces and punctuation which typically ++ need surrounding in quotes for the assembler to consume them. */ ++ const char *quote = name_needs_quotes (name) ? "\"" : ""; ++ char *buffer = XALLOCAVEC (char, 2 /* strlen ("&L") or ("&l") */ ++ + strlen (prefix) ++ + strlen (name) ++ + strlen (suffix) ++ + 2 * strlen (quote) ++ + 1 /* '\0' */); + + /* Construct the name of the non-lazy pointer or stub. */ +- sprintf (buffer, "&%s%c%s%s%s%s", quote, L_or_l, prefix, name, suffix, quote); ++ sprintf (buffer, "&%s%c%s%s%s%s", quote, L_or_l, prefix, name, ++ suffix, quote); + + if (!machopic_indirections) + machopic_indirections = hash_table::create_ggc (37); +@@ -579,10 +574,9 @@ machopic_indirection_name (rtx sym_ref, bool stub_p) + = machopic_indirections->find_slot_with_hash (buffer, + htab_hash_string (buffer), + INSERT); ++ machopic_indirection *p; + if (*slot) +- { +- p = *slot; +- } ++ p = *slot; + else + { + p = ggc_alloc (); +@@ -590,6 +584,7 @@ machopic_indirection_name (rtx sym_ref, bool stub_p) + p->ptr_name = xstrdup (buffer); + p->stub_p = stub_p; + p->used = false; ++ p->nlsp_in_data_section = nlsp_in_data_section; + *slot = p; + } + +@@ -665,7 +660,7 @@ machopic_indirect_data_reference (rtx orig, rtx reg) + /* some other cpu -- writeme! */ + gcc_unreachable (); + } +- else if (defined) ++ else if (defined && ! MACHO_SYMBOL_MUST_INDIRECT_P (orig)) + { + rtx offset = NULL; + if (DARWIN_PPC || HAVE_lo_sum) +@@ -707,6 +702,7 @@ machopic_indirect_data_reference (rtx orig, rtx reg) + machopic_indirection_name (orig, /*stub_p=*/false))); + + SYMBOL_REF_DATA (ptr_ref) = SYMBOL_REF_DATA (orig); ++ SYMBOL_REF_FLAGS (ptr_ref) |= MACHO_SYMBOL_FLAG_INDIRECTION; + + ptr_ref = gen_const_mem (Pmode, ptr_ref); + machopic_define_symbol (ptr_ref); +@@ -789,7 +785,7 @@ machopic_indirect_data_reference (rtx orig, rtx reg) + rtx + machopic_indirect_call_target (rtx target) + { +- if (! darwin_emit_branch_islands) ++ if (! darwin_symbol_stubs) + return target; + + if (GET_CODE (target) != MEM) +@@ -797,8 +793,7 @@ machopic_indirect_call_target (rtx target) + + if (MACHOPIC_INDIRECT + && GET_CODE (XEXP (target, 0)) == SYMBOL_REF +- && !(SYMBOL_REF_FLAGS (XEXP (target, 0)) +- & MACHO_SYMBOL_FLAG_DEFINED)) ++ && ! MACHO_SYMBOL_DEFINED_P (XEXP (target, 0))) + { + rtx sym_ref = XEXP (target, 0); + const char *stub_name = machopic_indirection_name (sym_ref, +@@ -807,6 +802,7 @@ machopic_indirect_call_target (rtx target) + + XEXP (target, 0) = gen_rtx_SYMBOL_REF (mode, stub_name); + SYMBOL_REF_DATA (XEXP (target, 0)) = SYMBOL_REF_DATA (sym_ref); ++ SYMBOL_REF_FLAGS (XEXP (target, 0)) |= MACHO_SYMBOL_FLAG_INDIRECTION; + MEM_READONLY_P (target) = 1; + MEM_NOTRAP_P (target) = 1; + } +@@ -844,7 +840,7 @@ machopic_legitimize_pic_address (rtx orig, machine_mode mode, rtx reg) + { + if (reg == 0) + { +- gcc_assert (!reload_in_progress); ++ gcc_assert (!lra_in_progress); + reg = gen_reg_rtx (Pmode); + } + +@@ -928,7 +924,7 @@ machopic_legitimize_pic_address (rtx orig, machine_mode mode, rtx reg) + emit_use (gen_rtx_REG (Pmode, PIC_OFFSET_TABLE_REGNUM)); + #endif + +- if (reload_in_progress) ++ if (lra_in_progress) + df_set_regs_ever_live (REGNO (pic), true); + pic_ref = gen_rtx_PLUS (Pmode, pic, + machopic_gen_offset (XEXP (orig, 0))); +@@ -952,7 +948,7 @@ machopic_legitimize_pic_address (rtx orig, machine_mode mode, rtx reg) + + if (reg == 0) + { +- gcc_assert (!reload_in_progress); ++ gcc_assert (!lra_in_progress); + reg = gen_reg_rtx (Pmode); + } + +@@ -998,7 +994,7 @@ machopic_legitimize_pic_address (rtx orig, machine_mode mode, rtx reg) + #if 0 + emit_use (pic_offset_table_rtx); + #endif +- if (reload_in_progress) ++ if (lra_in_progress) + df_set_regs_ever_live (REGNO (pic), true); + pic_ref = gen_rtx_PLUS (Pmode, + pic, +@@ -1075,129 +1071,160 @@ machopic_legitimize_pic_address (rtx orig, machine_mode mode, rtx reg) + return pic_ref; + } + +-/* Output the stub or non-lazy pointer in *SLOT, if it has been used. +- DATA is the FILE* for assembly output. Called from +- htab_traverse. */ ++/* Callbacks to output the stub or non-lazy pointers. ++ Each works on the item in *SLOT,if it has been used. ++ DATA is the FILE* for assembly output. ++ Called from htab_traverses, invoked from machopic_finish(). */ + + int +-machopic_output_indirection (machopic_indirection **slot, FILE *asm_out_file) ++machopic_output_data_section_indirection (machopic_indirection **slot, ++ FILE *asm_out_file) + { + machopic_indirection *p = *slot; +- rtx symbol; +- const char *sym_name; +- const char *ptr_name; + +- if (!p->used) ++ if (!p->used || !p->nlsp_in_data_section) + return 1; + +- symbol = p->symbol; +- sym_name = XSTR (symbol, 0); +- ptr_name = p->ptr_name; ++ rtx symbol = p->symbol; ++ /* The original symbol name. */ ++ const char *sym_name = XSTR (symbol, 0); ++ /* The name of the indirection symbol. */ ++ const char *ptr_name = p->ptr_name; + +- if (p->stub_p) +- { +- char *sym; +- char *stub; +- tree id; ++ switch_to_section (data_section); ++ assemble_align (GET_MODE_ALIGNMENT (Pmode)); ++ assemble_label (asm_out_file, ptr_name); ++ assemble_integer (gen_rtx_SYMBOL_REF (Pmode, sym_name), ++ GET_MODE_SIZE (Pmode), ++ GET_MODE_ALIGNMENT (Pmode), 1); + +- id = maybe_get_identifier (sym_name); +- if (id) +- { +- tree id_orig = id; ++ return 1; ++} + +- while (IDENTIFIER_TRANSPARENT_ALIAS (id)) +- id = TREE_CHAIN (id); +- if (id != id_orig) +- sym_name = IDENTIFIER_POINTER (id); +- } ++int ++machopic_output_stub_indirection (machopic_indirection **slot, ++ FILE *asm_out_file) ++{ ++ machopic_indirection *p = *slot; + +- sym = XALLOCAVEC (char, strlen (sym_name) + 2); +- if (sym_name[0] == '*' || sym_name[0] == '&') +- strcpy (sym, sym_name + 1); +- else if (sym_name[0] == '-' || sym_name[0] == '+') +- strcpy (sym, sym_name); +- else +- sprintf (sym, "%s%s", user_label_prefix, sym_name); ++ if (!p->used || !p->stub_p) ++ return 1; + +- stub = XALLOCAVEC (char, strlen (ptr_name) + 2); +- if (ptr_name[0] == '*' || ptr_name[0] == '&') +- strcpy (stub, ptr_name + 1); +- else +- sprintf (stub, "%s%s", user_label_prefix, ptr_name); ++ rtx symbol = p->symbol; ++ /* The original symbol name. */ ++ const char *sym_name = XSTR (symbol, 0); ++ /* The name of the stub symbol. */ ++ const char *ptr_name = p->ptr_name; + +- machopic_output_stub (asm_out_file, sym, stub); +- } +- else if (! indirect_data (symbol) +- && (machopic_symbol_defined_p (symbol) +- || SYMBOL_REF_LOCAL_P (symbol))) ++ tree id = maybe_get_identifier (sym_name); ++ if (id) + { +- switch_to_section (data_section); +- assemble_align (GET_MODE_ALIGNMENT (Pmode)); +- assemble_label (asm_out_file, ptr_name); +- assemble_integer (gen_rtx_SYMBOL_REF (Pmode, sym_name), +- GET_MODE_SIZE (Pmode), +- GET_MODE_ALIGNMENT (Pmode), 1); ++ tree id_orig = id; ++ ++ while (IDENTIFIER_TRANSPARENT_ALIAS (id)) ++ id = TREE_CHAIN (id); ++ if (id != id_orig) ++ sym_name = IDENTIFIER_POINTER (id); + } ++ ++ char *sym = XALLOCAVEC (char, strlen (sym_name) + 2); ++ if (sym_name[0] == '*' || sym_name[0] == '&') ++ strcpy (sym, sym_name + 1); ++ else if (sym_name[0] == '-' || sym_name[0] == '+') ++ strcpy (sym, sym_name); + else +- { +- rtx init = const0_rtx; ++ sprintf (sym, "%s%s", user_label_prefix, sym_name); ++ ++ char *stub = XALLOCAVEC (char, strlen (ptr_name) + 2); ++ if (ptr_name[0] == '*' || ptr_name[0] == '&') ++ strcpy (stub, ptr_name + 1); ++ else ++ sprintf (stub, "%s%s", user_label_prefix, ptr_name); + +- switch_to_section (darwin_sections[machopic_nl_symbol_ptr_section]); ++ machopic_output_stub (asm_out_file, sym, stub); + +- /* Mach-O symbols are passed around in code through indirect +- references and the original symbol_ref hasn't passed through +- the generic handling and reference-catching in +- output_operand, so we need to manually mark weak references +- as such. */ +- if (SYMBOL_REF_WEAK (symbol)) ++ return 1; ++} ++ ++int ++machopic_output_indirection (machopic_indirection **slot, FILE *asm_out_file) ++{ ++ machopic_indirection *p = *slot; ++ ++ if (!p->used || p->stub_p || p->nlsp_in_data_section) ++ return 1; ++ ++ rtx symbol = p->symbol; ++ /* The original symbol name. */ ++ const char *sym_name = XSTR (symbol, 0); ++ /* The nonlazy-stub symbol name. */ ++ const char *ptr_name = p->ptr_name; ++ ++ switch_to_section (darwin_sections[machopic_nl_symbol_ptr_section]); ++ ++ /* Mach-O symbols are passed around in code through indirect references and ++ the original symbol_ref hasn't passed through the generic handling and ++ reference-catching in output_operand, so we need to manually mark weak ++ references as such. */ ++ ++ if (SYMBOL_REF_WEAK (symbol)) ++ { ++ tree decl = SYMBOL_REF_DECL (symbol); ++ gcc_checking_assert (DECL_P (decl)); ++ ++ if (decl != NULL_TREE ++ && DECL_EXTERNAL (decl) && TREE_PUBLIC (decl) ++ /* Handle only actual external-only definitions, not ++ e.g. extern inline code or variables for which ++ storage has been allocated. */ ++ && !TREE_STATIC (decl)) + { +- tree decl = SYMBOL_REF_DECL (symbol); +- gcc_assert (DECL_P (decl)); +- +- if (decl != NULL_TREE +- && DECL_EXTERNAL (decl) && TREE_PUBLIC (decl) +- /* Handle only actual external-only definitions, not +- e.g. extern inline code or variables for which +- storage has been allocated. */ +- && !TREE_STATIC (decl)) +- { +- fputs ("\t.weak_reference ", asm_out_file); +- assemble_name (asm_out_file, sym_name); +- fputc ('\n', asm_out_file); +- } ++ fputs ("\t.weak_reference ", asm_out_file); ++ assemble_name (asm_out_file, sym_name); ++ fputc ('\n', asm_out_file); + } ++ } + +- assemble_name (asm_out_file, ptr_name); +- fprintf (asm_out_file, ":\n"); ++ assemble_name (asm_out_file, ptr_name); ++ fprintf (asm_out_file, ":\n"); + +- fprintf (asm_out_file, "\t.indirect_symbol "); +- assemble_name (asm_out_file, sym_name); +- fprintf (asm_out_file, "\n"); ++ fprintf (asm_out_file, "\t.indirect_symbol "); ++ assemble_name (asm_out_file, sym_name); ++ fprintf (asm_out_file, "\n"); + +- /* Variables that are marked with MACHO_SYMBOL_STATIC need to +- have their symbol name instead of 0 in the second entry of +- the non-lazy symbol pointer data structure when they are +- defined. This allows the runtime to rebind newer instances +- of the translation unit with the original instance of the +- symbol. */ ++ /* Variables that are marked with MACHO_SYMBOL_FLAG_STATIC need to ++ have their symbol name instead of 0 in the second entry of ++ the non-lazy symbol pointer data structure when they are ++ defined. This allows the runtime to rebind newer instances ++ of the translation unit with the original instance of the ++ symbol. */ + +- if ((SYMBOL_REF_FLAGS (symbol) & MACHO_SYMBOL_STATIC) +- && machopic_symbol_defined_p (symbol)) +- init = gen_rtx_SYMBOL_REF (Pmode, sym_name); ++ rtx init = const0_rtx; ++ if (MACHO_SYMBOL_STATIC_P (symbol) && machopic_symbol_defined_p (symbol)) ++ init = gen_rtx_SYMBOL_REF (Pmode, sym_name); + +- assemble_integer (init, GET_MODE_SIZE (Pmode), +- GET_MODE_ALIGNMENT (Pmode), 1); +- } ++ assemble_integer (init, GET_MODE_SIZE (Pmode), ++ GET_MODE_ALIGNMENT (Pmode), 1); + + return 1; + } + +-void ++static void + machopic_finish (FILE *asm_out_file) + { +- if (machopic_indirections) +- machopic_indirections +- ->traverse_noresize (asm_out_file); ++ if (!machopic_indirections) ++ return; ++ ++ /* First output an symbol indirections that have been placed into .data ++ (we don't expect these now). */ ++ machopic_indirections->traverse_noresize ++ (asm_out_file); ++ ++ machopic_indirections->traverse_noresize ++ (asm_out_file); ++ ++ machopic_indirections->traverse_noresize ++ (asm_out_file); + } + + int +@@ -1212,25 +1239,51 @@ machopic_operand_p (rtx op) + && XINT (XEXP (op, 0), 1) == UNSPEC_MACHOPIC_OFFSET); + } + +-/* This function records whether a given name corresponds to a defined +- or undefined function or variable, for machopic_classify_ident to +- use later. */ ++/* This function: ++ computes and caches a series of flags that characterise the symbol's ++ properties that affect Mach-O code gen (including accidental cases ++ from older toolchains). ++ ++ TODO: ++ Here we also need to do enough analysis to determine if a symbol's ++ name needs to be made linker-visible. This is more tricky - since ++ it depends on whether we've previously seen a global weak definition ++ in the same section. ++ */ + + void +-darwin_encode_section_info (tree decl, rtx rtl, int first ATTRIBUTE_UNUSED) ++darwin_encode_section_info (tree decl, rtx rtl, int first) + { +- rtx sym_ref; ++ /* Careful not to prod global register variables. */ ++ if (!MEM_P (rtl)) ++ return; + +- /* Do the standard encoding things first. */ ++ /* Do the standard encoding things first; this sets: ++ SYMBOL_FLAG_FUNCTION, ++ SYMBOL_FLAG_LOCAL, (binds_local_p) ++ TLS_MODEL, SYMBOL_FLAG_SMALL ++ SYMBOL_FLAG_EXTERNAL. */ + default_encode_section_info (decl, rtl, first); + +- if (TREE_CODE (decl) != FUNCTION_DECL && TREE_CODE (decl) != VAR_DECL) ++ if (! VAR_OR_FUNCTION_DECL_P (decl)) + return; + +- sym_ref = XEXP (rtl, 0); +- if (TREE_CODE (decl) == VAR_DECL) ++ rtx sym_ref = XEXP (rtl, 0); ++ if (VAR_P (decl)) + SYMBOL_REF_FLAGS (sym_ref) |= MACHO_SYMBOL_FLAG_VARIABLE; + ++ /* Only really common if there's no initialiser. */ ++ bool really_common_p = (DECL_COMMON (decl) ++ && (DECL_INITIAL (decl) == NULL ++ || (!in_lto_p ++ && DECL_INITIAL (decl) == error_mark_node))); ++ ++ /* For Darwin, if we have specified visibility and it's not the default ++ that's counted 'hidden'. */ ++ if (DECL_VISIBILITY_SPECIFIED (decl) ++ && DECL_VISIBILITY (decl) != VISIBILITY_DEFAULT) ++ SYMBOL_REF_FLAGS (sym_ref) |= MACHO_SYMBOL_FLAG_HIDDEN_VIS; ++ + if (!DECL_EXTERNAL (decl) + && (!TREE_PUBLIC (decl) || !DECL_WEAK (decl)) + && ! lookup_attribute ("weakref", DECL_ATTRIBUTES (decl)) +@@ -1241,7 +1294,13 @@ darwin_encode_section_info (tree decl, rtx rtl, int first ATTRIBUTE_UNUSED) + SYMBOL_REF_FLAGS (sym_ref) |= MACHO_SYMBOL_FLAG_DEFINED; + + if (! TREE_PUBLIC (decl)) +- SYMBOL_REF_FLAGS (sym_ref) |= MACHO_SYMBOL_STATIC; ++ SYMBOL_REF_FLAGS (sym_ref) |= MACHO_SYMBOL_FLAG_STATIC; ++ ++ /* Short cut check for Darwin 'must indirect' rules. */ ++ if (really_common_p ++ || (DECL_WEAK (decl) && ! MACHO_SYMBOL_HIDDEN_VIS_P (sym_ref)) ++ || lookup_attribute ("weakref", DECL_ATTRIBUTES (decl))) ++ SYMBOL_REF_FLAGS (sym_ref) |= MACHO_SYMBOL_FLAG_MUST_INDIRECT; + } + + void +@@ -1258,12 +1317,13 @@ darwin_mark_decl_preserved (const char *name) + } + + static section * +-darwin_rodata_section (int use_coal, bool zsize) ++darwin_rodata_section (int use_coal, bool zsize, int reloc) + { + return (use_coal + ? darwin_sections[const_coal_section] + : (zsize ? darwin_sections[zobj_const_section] +- : darwin_sections[const_section])); ++ : reloc ? darwin_sections[const_data_section] ++ : darwin_sections[const_section])); + } + + static section * +@@ -1556,7 +1616,7 @@ machopic_select_section (tree decl, + + case SECCAT_RODATA: + case SECCAT_SRODATA: +- base_section = darwin_rodata_section (use_coal, zsize); ++ base_section = darwin_rodata_section (use_coal, zsize, reloc); + break; + + case SECCAT_RODATA_MERGE_STR: +@@ -2092,11 +2152,11 @@ darwin_emit_unwind_label (FILE *file, tree decl, int for_eh, int empty) + static int invok_count = 0; + static tree last_fun_decl = NULL_TREE; + +- /* We use the linker to emit the .eh labels for Darwin 9 and above. */ +- if (! for_eh || generating_for_darwin_version >= 9) ++ /* Modern linkers can produce distinct FDEs without compiler support. */ ++ if (! for_eh || ! ld_needs_eh_markers) + return; + +- /* FIXME: This only works when the eh for all sections of a function is ++ /* FIXME: This only works when the eh for all sections of a function are + emitted at the same time. If that changes, we would need to use a lookup + table of some form to determine what to do. Also, we should emit the + unadorned label for the partition containing the public label for a +@@ -2945,12 +3005,10 @@ darwin_file_end (void) + if (flag_objc_abi >= 2) + { + flags = 16; +- output_section_asm_op +- (darwin_sections[objc2_image_info_section]->unnamed.data); ++ switch_to_section (darwin_sections[objc2_image_info_section]); + } + else +- output_section_asm_op +- (darwin_sections[objc_image_info_section]->unnamed.data); ++ switch_to_section (darwin_sections[objc_image_info_section]); + + ASM_OUTPUT_ALIGN (asm_out_file, 2); + fputs ("L_OBJC_ImageInfo:\n", asm_out_file); +@@ -3156,17 +3214,19 @@ darwin_override_options (void) + : (generating_for_darwin_version >= 9) ? 1 + : 0); + +- /* Objective-C family ABI 2 is only valid for next/m64 at present. */ + if (global_options_set.x_flag_objc_abi && flag_next_runtime) + { +- if (TARGET_64BIT && global_options.x_flag_objc_abi < 2) +- error_at (UNKNOWN_LOCATION, "%<-fobjc-abi-version%> >= 2 must be" +- " used for %<-m64%> targets with" +- " %<-fnext-runtime%>"); +- if (!TARGET_64BIT && global_options.x_flag_objc_abi >= 2) +- error_at (UNKNOWN_LOCATION, "%<-fobjc-abi-version%> >= 2 is not" +- " supported on %<-m32%> targets with" +- " %<-fnext-runtime%>"); ++ if (TARGET_64BIT && global_options.x_flag_objc_abi != 2) ++ /* The Objective-C family ABI 2 is the only valid version NeXT/m64. */ ++ error_at (UNKNOWN_LOCATION, ++ "%<-fobjc-abi-version%> 2 must be used for 64 bit targets" ++ " with %<-fnext-runtime%>"); ++ else if (!TARGET_64BIT && global_options.x_flag_objc_abi >= 2) ++ /* ABI versions 0 and 1 are the only valid versions NeXT/m32. */ ++ error_at (UNKNOWN_LOCATION, ++ "%<-fobjc-abi-version%> %d is not supported for 32 bit" ++ " targets with %<-fnext-runtime%>", ++ global_options.x_flag_objc_abi); + } + + /* Don't emit DWARF3/4 unless specifically selected. This is a +@@ -3242,8 +3302,6 @@ darwin_override_options (void) + /* so no tables either.. */ + flag_unwind_tables = 0; + flag_asynchronous_unwind_tables = 0; +- /* We still need to emit branch islands for kernel context. */ +- darwin_emit_branch_islands = true; + } + + if (flag_var_tracking_uninit == 0 +@@ -3253,6 +3311,8 @@ darwin_override_options (void) + && write_symbols == DWARF2_DEBUG) + flag_var_tracking_uninit = flag_var_tracking; + ++ /* Final check on PCI options; for Darwin these are not dependent on the PIE ++ ones, although PIE does require PIC to support it. */ + if (MACHO_DYNAMIC_NO_PIC_P) + { + if (flag_pic) +@@ -3261,17 +3321,52 @@ darwin_override_options (void) + " %<-fpie%> or %<-fPIE%>"); + flag_pic = 0; + } +- else if (flag_pic == 1) ++ else if (flag_pic == 1 ++ || (flag_pic == 0 && !(flag_mkernel || flag_apple_kext))) + { +- /* Darwin's -fpic is -fPIC. */ ++ /* Darwin's -fpic is -fPIC. ++ We only support "static" code in the kernel and kernel exts. */ + flag_pic = 2; + } + +- /* It is assumed that branch island stubs are needed for earlier systems. */ +- if (generating_for_darwin_version < 9) +- darwin_emit_branch_islands = true; +- else +- emit_aligned_common = true; /* Later systems can support aligned common. */ ++ /* Linkers >= ld64-62.1 (at least) are capable of making the necessary PIC ++ indirections and we no longer need to emit pic symbol stubs. ++ However, if we are generating code for earlier ones (or for use in the ++ kernel) the stubs might still be required, and this will be set true. ++ If the user sets it on or off - then that takes precedence. ++ ++ Linkers that don't need stubs, don't need the EH symbol markers either. ++ */ ++ ++ if (!global_options_set.x_darwin_symbol_stubs) ++ { ++ if (darwin_target_linker) ++ { ++ if (strverscmp (darwin_target_linker, MIN_LD64_OMIT_STUBS) < 0) ++ { ++ darwin_symbol_stubs = true; ++ ld_needs_eh_markers = true; ++ } ++ } ++ else if (generating_for_darwin_version < 9) ++ { ++ /* If we don't know the linker version and we're targeting an old ++ system, we know no better than to assume the use of an earlier ++ linker. */ ++ darwin_symbol_stubs = true; ++ ld_needs_eh_markers = true; ++ } ++ } ++ else if (DARWIN_X86 && darwin_symbol_stubs && TARGET_64BIT) ++ { ++ inform (input_location, ++ "%<-msymbol-stubs%> is not required for 64b code (ignored)"); ++ darwin_symbol_stubs = false; ++ } ++ ++ if (generating_for_darwin_version >= 9) ++ /* Later systems can support aligned common. */ ++ emit_aligned_common = true; + + /* The c_dialect...() macros are not available to us here. */ + darwin_running_cxx = (strstr (lang_hooks.name, "C++") != 0); +--- a/src/gcc/config/darwin.h ++++ b/src/gcc/config/darwin.h +@@ -129,6 +129,24 @@ extern GTY(()) int darwin_ms_struct; + "%{gsplit-dwarf:%ngsplit-dwarf is not supported on this platform } \ + %= 10.5 mmacosx-version-min= -pie) }} " ++ ++#define DARWIN_NOPIE_SPEC \ ++"%{no-pie|fno-pie|fno-PIE: \ ++ %:version-compare(>= 10.7 mmacosx-version-min= -no_pie) }" ++ + #define DARWIN_CC1_SPEC \ + "%{findirect-virtual-calls: -fapple-kext} %= 10.6 mmacosx-version-min= -no_compact_unwind) " ++ ++/* In Darwin linker specs we can put -lcrt0.o and ld will search the library ++ path for crt0.o or -lcrtx.a and it will search for for libcrtx.a. As for ++ other ports, we can also put xxx.{o,a}%s and get the appropriate complete ++ startfile absolute directory. This latter point is important when we want ++ to override ld's rule of .dylib being found ahead of .a and the user wants ++ the convenience library to be linked. */ ++ ++/* The LINK_COMMAND spec is mostly a clone of the standard LINK_COMMAND_SPEC, ++ plus precomp, libtool, and fat build additions. + + In general, random Darwin linker flags should go into LINK_SPEC + instead of LINK_COMMAND_SPEC. The command spec is better for + specifying the handling of options understood by generic Unix + linkers, and for positional arguments like libraries. */ + +-#if LD64_HAS_EXPORT_DYNAMIC +-#define DARWIN_EXPORT_DYNAMIC " %{rdynamic:-export_dynamic}" +-#else +-#define DARWIN_EXPORT_DYNAMIC " %{rdynamic: %nrdynamic is not supported}" +-#endif +- + #define LINK_COMMAND_SPEC_A \ + "%{!fdump=*:%{!fsyntax-only:%{!c:%{!M:%{!MM:%{!E:%{!S:\ + %(linker)" \ + LINK_PLUGIN_SPEC \ + "%{flto*:% 10.5 mmacosx-version-min= -lgcc_s.10.4) \ ++ shared-libgcc|fexceptions|fobjc-exceptions|fgnu-runtime: \ ++ %:version-compare(!> 10.3.9 mmacosx-version-min= -lgcc_eh) \ ++ %:version-compare(>< 10.3.9 10.5 mmacosx-version-min= -lgcc_s.10.4) \ + %:version-compare(>< 10.5 10.6 mmacosx-version-min= -lgcc_s.10.5) \ +- %:version-compare(!> 10.5 mmacosx-version-min= -lgcc_ext.10.4) \ ++ %:version-compare(>< 10.3.9 10.5 mmacosx-version-min= -lgcc_ext.10.4) \ + %:version-compare(>= 10.5 mmacosx-version-min= -lgcc_ext.10.5) \ + -lgcc ; \ + :%:version-compare(>< 10.3.9 10.5 mmacosx-version-min= -lgcc_s.10.4) \ + %:version-compare(>< 10.5 10.6 mmacosx-version-min= -lgcc_s.10.5) \ +- %:version-compare(!> 10.5 mmacosx-version-min= -lgcc_ext.10.4) \ ++ %:version-compare(>< 10.3.9 10.5 mmacosx-version-min= -lgcc_ext.10.4) \ + %:version-compare(>= 10.5 mmacosx-version-min= -lgcc_ext.10.5) \ + -lgcc }" + +-/* We specify crt0.o as -lcrt0.o so that ld will search the library path. +- +- crt3.o provides __cxa_atexit on systems that don't have it. Since +- it's only used with C++, which requires passing -shared-libgcc, key +- off that to avoid unnecessarily adding a destructor to every +- powerpc program built. */ ++/* We specify crt0.o as -lcrt0.o so that ld will search the library path. */ + + #undef STARTFILE_SPEC + #define STARTFILE_SPEC \ +- "%{Zdynamiclib: %(darwin_dylib1) %{fgnu-tm: -lcrttms.o}} \ +- %{!Zdynamiclib:%{Zbundle:%{!static: \ +- %:version-compare(< 10.6 mmacosx-version-min= -lbundle1.o) \ +- %{fgnu-tm: -lcrttms.o}}} \ ++"%{Zdynamiclib: %(darwin_dylib1) %{fgnu-tm: -lcrttms.o}} \ ++ %{!Zdynamiclib:%{Zbundle:%(darwin_bundle1)} \ + %{!Zbundle:%{pg:%{static:-lgcrt0.o} \ + %{!static:%{object:-lgcrt0.o} \ + %{!object:%{preload:-lgcrt0.o} \ +@@ -380,7 +407,7 @@ extern GTY(()) int darwin_ms_struct; + %{!object:%{preload:-lcrt0.o} \ + %{!preload: %(darwin_crt1) \ + %(darwin_crt2)}}}}}} \ +- %{shared-libgcc:%:version-compare(< 10.5 mmacosx-version-min= crt3.o%s)}" ++ %(darwin_crt3)" + + /* We want a destructor last in the list. */ + #define TM_DESTRUCTOR "%{fgnu-tm: -lcrttme.o}" +@@ -388,11 +415,10 @@ extern GTY(()) int darwin_ms_struct; + + #define DARWIN_EXTRA_SPECS \ + { "darwin_crt1", DARWIN_CRT1_SPEC }, \ +- { "darwin_dylib1", DARWIN_DYLIB1_SPEC }, +- +-#define DARWIN_DYLIB1_SPEC \ +- "%:version-compare(!> 10.5 mmacosx-version-min= -ldylib1.o) \ +- %:version-compare(>< 10.5 10.6 mmacosx-version-min= -ldylib1.10.5.o)" ++ { "darwin_crt2", DARWIN_CRT2_SPEC }, \ ++ { "darwin_crt3", DARWIN_CRT3_SPEC }, \ ++ { "darwin_dylib1", DARWIN_DYLIB1_SPEC }, \ ++ { "darwin_bundle1", DARWIN_BUNDLE1_SPEC }, + + #define DARWIN_CRT1_SPEC \ + "%:version-compare(!> 10.5 mmacosx-version-min= -lcrt1.o) \ +@@ -400,6 +426,24 @@ extern GTY(()) int darwin_ms_struct; + %:version-compare(>< 10.6 10.8 mmacosx-version-min= -lcrt1.10.6.o) \ + %{fgnu-tm: -lcrttms.o}" + ++#define DARWIN_CRT2_SPEC "" ++ ++/* crt3.o provides __cxa_atexit on systems that don't have it (and a fix ++ up for faulty versions on 10.4). Since it's only used with C++, which ++ requires passing -shared-libgcc, key off that to avoid unnecessarily ++ adding a destructor to every program built for 10.4 or earlier. */ ++ ++#define DARWIN_CRT3_SPEC \ ++"%{shared-libgcc:%:version-compare(< 10.5 mmacosx-version-min= crt3.o%s)}" ++ ++#define DARWIN_DYLIB1_SPEC \ ++ "%:version-compare(!> 10.5 mmacosx-version-min= -ldylib1.o) \ ++ %:version-compare(>< 10.5 10.6 mmacosx-version-min= -ldylib1.10.5.o)" ++ ++#define DARWIN_BUNDLE1_SPEC \ ++"%{!static:%:version-compare(< 10.6 mmacosx-version-min= -lbundle1.o) \ ++ %{fgnu-tm: -lcrttms.o}}" ++ + #ifdef HAVE_AS_MMACOSX_VERSION_MIN_OPTION + /* Emit macosx version (but only major). */ + #define ASM_MMACOSX_VERSION_MIN_SPEC \ +@@ -765,21 +809,52 @@ extern GTY(()) section * darwin_sections[NUM_DARWIN_SECTIONS]; + #undef TARGET_ASM_MARK_DECL_PRESERVED + #define TARGET_ASM_MARK_DECL_PRESERVED darwin_mark_decl_preserved + +-/* Set on a symbol with SYMBOL_FLAG_FUNCTION or +- MACHO_SYMBOL_FLAG_VARIABLE to indicate that the function or +- variable has been defined in this translation unit. +- When porting Mach-O to new architectures you need to make +- sure these aren't clobbered by the backend. */ ++/* Any port using this header needs to define the first available ++ subtarget symbol bit: SYMBOL_FLAG_SUBT_DEP. */ + +-#define MACHO_SYMBOL_FLAG_VARIABLE (SYMBOL_FLAG_MACH_DEP) +-#define MACHO_SYMBOL_FLAG_DEFINED ((SYMBOL_FLAG_MACH_DEP) << 1) ++/* Is a variable. */ ++#define MACHO_SYMBOL_FLAG_VARIABLE (SYMBOL_FLAG_SUBT_DEP) ++#define MACHO_SYMBOL_VARIABLE_P(RTX) \ ++ ((SYMBOL_REF_FLAGS (RTX) & MACHO_SYMBOL_FLAG_VARIABLE) != 0) ++ ++/* Set on a symbol that must be indirected, even when there is a ++ definition in the TU. The ABI mandates that common symbols are so ++ indirected, as are weak. If 'fix-and-continue' is operational then ++ data symbols might also be. */ ++ ++#define MACHO_SYMBOL_FLAG_MUST_INDIRECT ((SYMBOL_FLAG_SUBT_DEP) << 1) ++#define MACHO_SYMBOL_MUST_INDIRECT_P(RTX) \ ++ ((SYMBOL_REF_FLAGS (RTX) & MACHO_SYMBOL_FLAG_MUST_INDIRECT) != 0) ++ ++/* Set on a symbol with SYMBOL_FLAG_FUNCTION or MACHO_SYMBOL_FLAG_VARIABLE ++ to indicate that the function or variable is considered defined in this ++ translation unit. */ ++ ++#define MACHO_SYMBOL_FLAG_DEFINED ((SYMBOL_FLAG_SUBT_DEP) << 2) ++#define MACHO_SYMBOL_DEFINED_P(RTX) \ ++ ((SYMBOL_REF_FLAGS (RTX) & MACHO_SYMBOL_FLAG_DEFINED) != 0) ++ ++/* Set on a symbol that has specified non-default visibility. */ ++ ++#define MACHO_SYMBOL_FLAG_HIDDEN_VIS ((SYMBOL_FLAG_SUBT_DEP) << 3) ++#define MACHO_SYMBOL_HIDDEN_VIS_P(RTX) \ ++ ((SYMBOL_REF_FLAGS (RTX) & MACHO_SYMBOL_FLAG_HIDDEN_VIS) != 0) ++ ++/* Set on a symbol that is a pic stub or symbol indirection (i.e. the ++ L_xxxxx${stub,non_lazy_ptr,lazy_ptr}. */ ++ ++#define MACHO_SYMBOL_FLAG_INDIRECTION ((SYMBOL_FLAG_SUBT_DEP) << 5) ++#define MACHO_SYMBOL_INDIRECTION_P(RTX) \ ++ ((SYMBOL_REF_FLAGS (RTX) & MACHO_SYMBOL_FLAG_INDIRECTION) != 0) + + /* Set on a symbol to indicate when fix-and-continue style code + generation is being used and the symbol refers to a static symbol + that should be rebound from new instances of a translation unit to + the original instance of the data. */ + +-#define MACHO_SYMBOL_STATIC ((SYMBOL_FLAG_MACH_DEP) << 2) ++#define MACHO_SYMBOL_FLAG_STATIC ((SYMBOL_FLAG_SUBT_DEP) << 6) ++#define MACHO_SYMBOL_STATIC_P(RTX) \ ++ ((SYMBOL_REF_FLAGS (RTX) & MACHO_SYMBOL_FLAG_STATIC) != 0) + + /* Symbolic names for various things we might know about a symbol. */ + +@@ -972,8 +1047,12 @@ extern void darwin_driver_init (unsigned int *,struct cl_decoded_option **); + _tested_ version known to support this so far. */ + #define MIN_LD64_NO_COAL_SECTS "236.4" + ++/* From at least version 62.1, ld64 can build symbol indirection stubs as ++ needed, and there is no need for the compiler to emit them. */ ++#define MIN_LD64_OMIT_STUBS "85.2" ++ + #ifndef LD64_VERSION +-#define LD64_VERSION "85.2" ++#define LD64_VERSION "62.1" + #else + #define DEF_LD64 LD64_VERSION + #endif +--- a/src/gcc/config/darwin.opt ++++ b/src/gcc/config/darwin.opt +@@ -18,240 +18,382 @@ + ; along with GCC; see the file COPYING3. If not see + ; . + +-; Various linker options have a -Z added so that they can get to specs +-; processing without interference. Note that an option name with a +-; prefix that matches another option name, that also takes an +-; argument, being mapped to a -Z linker option, needs to be modified +-; so the prefix is different, otherwise a '*' after the shorter option +-; will match with the longer one. ++; We have a lot of Driver options, many of which are obsolete or very very ++; rarely used so, to keep this file easier to manage: ++ ++; Please place all Non-driver options first (in alphabetical order), followed ++; by Driver-only options. ++ ++; Non-driver options. ++ ++dependency-file ++C ObjC C++ ObjC++ Separate Alias(MF) MissingArgError(missing filename after %qs) ++ ++fapple-kext ++Target Report C++ Var(flag_apple_kext) ++Generate code for darwin loadable kernel extensions. ++ ++iframework ++Target RejectNegative C ObjC C++ ObjC++ Joined Separate ++-iframework Add to the end of the system framework include path. ++ ++mconstant-cfstrings ++Target Report Var(darwin_constant_cfstrings) Init(1) ++Generate compile-time CFString objects. ++ ++Wnonportable-cfstrings ++Target Report Var(darwin_warn_nonportable_cfstrings) Init(1) Warning ++Warn if constant CFString objects contain non-portable characters. ++ ++; Use new-style pic stubs if this is true, x86 only so far. ++matt-stubs ++Target Report Var(darwin_macho_att_stub) Init(1) ++Generate AT&T-style stubs for Mach-O. ++ ++mdynamic-no-pic ++Target Common Report Mask(MACHO_DYNAMIC_NO_PIC) ++Generate code suitable for executables (NOT shared libs). ++ ++mfix-and-continue ++Target Report Var(darwin_fix_and_continue) ++Generate code suitable for fast turn around debugging. ++ ++mkernel ++Target Report Var(flag_mkernel) ++Generate code for the kernel or loadable kernel extensions. ++ ++; The Init here is for the convenience of GCC developers, so that cc1 ++; and cc1plus don't crash if no -mmacosx-version-min is passed. The ++; driver will always pass a -mmacosx-version-min, so in normal use the ++; Init is never used. ++mmacosx-version-min= ++Target RejectNegative Joined Report Var(darwin_macosx_version_min) Init(DEF_MIN_OSX_VERSION) ++The earliest MacOS X version on which this program will run. ++ ++; Really, only relevant to PowerPC which has a 4 byte bool by default. ++mone-byte-bool ++Target RejectNegative Report Var(darwin_one_byte_bool) ++Set sizeof(bool) to 1. ++ ++msymbol-stubs ++Target Report Var(darwin_symbol_stubs) Init(0) ++Force generation of external symbol indirection stubs. ++ ++; Some code-gen may be improved / adjusted if the linker is sufficiently modern. ++mtarget-linker= ++Target RejectNegative Joined Report Alias(mtarget-linker) ++ ++mtarget-linker ++Target RejectNegative Joined Separate Report Var(darwin_target_linker) Init(LD64_VERSION) ++The version of ld64 in use for this toolchain. ++ ++; Driver options. + + all_load +-Driver Alias(Zall_load) ++Driver RejectNegative Alias(Zall_load) ++Loads all members of archive libraries + + allowable_client +-Driver Separate Alias(Zallowable_client) ++Driver RejectNegative Separate Alias(Zallowable_client) ++-allowable_client The output dylib is private to the client(s) named + + arch + Driver RejectNegative Separate ++-arch Specify that the output file should be generated for architecture \"name\" + + arch_errors_fatal +-Driver Alias(Zarch_errors_fatal) ++Driver RejectNegative Alias(Zarch_errors_fatal) ++Mismatches between file architecture and the \"-arch\" are errors instead of warnings + + asm_macosx_version_min= + Driver RejectNegative Joined ++The earliest MacOS X version on which this program will run (formatted for the assembler) + + bind_at_load +-Driver Alias(Zbind_at_load) ++Driver RejectNegative Alias(Zbind_at_load) ++Produce an output file that will bind symbols on load, rather than lazily. + + bundle +-Driver Alias(Zbundle) ++Driver RejectNegative Alias(Zbundle) ++Produce a Mach-O bundle (file type MH_BUNDLE) + + bundle_loader +-Driver Separate Alias(Zbundle_loader) ++Driver RejectNegative Separate Alias(Zbundle_loader) ++-bundle_loader Treat \"executable\" (that will be loading this bundle) as if it was one of the dynamic libraries the bundle is linked against for symbol resolution + +-dead_strip +-Driver Alias(Zdead_strip) ++client_name ++Driver RejectNegative Separate ++-client_name Enable the executable being built to link against a private dylib (using allowable_client) + +-dependency-file +-C ObjC C++ ObjC++ Separate Alias(MF) MissingArgError(missing filename after %qs) ++compatibility_version ++Driver RejectNegative Separate ++-compatibility_version Set the minimum version for the client interface. Clients must record a greater number than this or the binding will fail at runtime ++ ++current_version ++Driver RejectNegative Separate ++-current_version Set the current version for the library. ++ ++dead_strip ++Driver RejectNegative Alias(Zdead_strip) ++Remove code and data that is unreachable from any exported symbol (including the entry point) + + dylib_file + Driver Separate Alias(Zdylib_file) + + dylinker +-Driver ++Driver RejectNegative ++Produce a Mach-O dylinker (file type MH_DYLINKER), only used for building dyld. ++ ++dylinker_install_name ++Driver RejectNegative Separate ++-dylinker_install_name Only used for building dyld. + + dynamic +-Driver Alias(Zdynamic) ++Driver RejectNegative Alias(Zdynamic) ++The default (and opposite of -static), implied by user mode executables, shared libraries and bundles. + + dynamiclib +-Driver Alias(Zdynamiclib) ++Driver RejectNegative Alias(Zdynamiclib) ++Produce a Mach-O shared library (file type MH_DYLIB), synonym for -shared + + exported_symbols_list +-Driver Separate Alias(Zexported_symbols_list) ++Driver RejectNegative Separate Alias(Zexported_symbols_list) ++-exported_symbols_list Global symbols in \"filename\" will be exported from the linked output file, any symbols not mentioned will be treated as hidden. + + filelist + Driver RejectNegative Separate ++Supply a list of objects to be linked from a file, rather than the command line + + findirect-virtual-calls + Driver RejectNegative ++Used for generating code for some older kernel revisions. + + flat_namespace + Driver RejectNegative Alias(Zflat_namespace) ++Ignore the normal two-level namespace; resolve symbols in command line order and do not record which library provided the resolved symbol. + + force_cpusubtype_ALL + Driver RejectNegative Alias(Zforce_cpusubtype_ALL) ++For the assembler (and linker) permit any architecture sub-variant to be used without error. + + force_flat_namespace + Driver RejectNegative Alias(Zforce_flat_namespace) ++Set the output object such that, on loading, dyld will ignore any two-level information and resolve symbols in the discovery order for loaded libs. + + framework + Driver RejectNegative Separate ++-framework The linker should search for the named framework in the framework search path. + + fterminated-vtables + Driver RejectNegative ++Used for generating code for some older kernel revisions. + + gfull + Driver RejectNegative ++Abbreviation for \"-g -fno-eliminate-unused-debug-symbols\" + + gused + Driver RejectNegative ++Abbreviation for \"-g -feliminate-unused-debug-symbols\" + + headerpad_max_install_names +-Driver ++Driver RejectNegative ++Automatically adds space for longer path names in load commands (up to MAXPATHLEN) + + image_base +-Driver Separate Alias(Zimage_base) ++Driver RejectNegative Separate Alias(Zimage_base) ++-image_base
Choose a base address for a dylib or bundle. + + init +-Driver Separate Alias(Zinit) ++Driver RejectNegative Separate Alias(Zinit) ++-init The symbol \"symbol_name\" will be used as the first initialiser for a dylib. + + install_name +-Driver Separate Alias(Zinstall_name) ++Driver RejectNegative Separate Alias(Zinstall_name) ++-install_name Set the install name for a dylib. + + keep_private_externs +-Driver +- +-mconstant-cfstrings +-Target Report Var(darwin_constant_cfstrings) Init(1) +-Generate compile-time CFString objects. ++Driver RejectNegative ++Usually \"private extern\" (hidden) symbols are made local when linking, this command suppresses that such that they remain exported. + + multi_module + Driver RejectNegative Alias(Zmulti_module) ++(Obsolete after 10.4) Multi modules are ignored at runtime since MacOS 10.4 + + multiply_defined + Driver RejectNegative Separate Alias(Zmultiply_defined) ++(Obsolete after 10.4) -multiply_defined Provided a mechanism for warning about symbols defined in multiple dylibs. + + multiply_defined_unused + Driver RejectNegative Separate Alias(Zmultiplydefinedunused) ++(Obsolete after 10.4) -multiply_defined_unused Provided a mechanism for warning about symbols defined in the current executable also being defined in linked dylibs. + + no_dead_strip_inits_and_terms +-Driver Alias(Zno_dead_strip_inits_and_terms) ++Driver RejectNegative Alias(Zno_dead_strip_inits_and_terms) ++(Obsolete) The linker never dead strips these items, so the option is not needed. + + nofixprebinding +-Driver ++Driver RejectNegative ++(Obsolete after 10.3.9) Set MH_NOPREFIXBINDING, in an exectuable. + + nomultidefs +-Driver ++Driver RejectNegative ++(Obsolete after 10.4) Set MH_NOMULTIDEFS in an umbrella framework. + + noprebind +-Driver ++Driver RejectNegative Negative(prebind) ++(Obsolete) LD_PREBIND is no longer supported. + + noseglinkedit +-Driver ++Driver RejectNegative Negative(seglinkedit) ++(Obsolete) This is the default. + + object +-Driver ++Driver RejectNegative ++ ++pagezero_size ++Driver RejectNegative Separate ++-pagezero_size size Allows setting the page 0 size to 4kb for certain special cases. + + prebind +-Driver ++Driver RejectNegative Negative(noprebind) ++(Obsolete) LD_PREBIND is no longer supported. + + prebind_all_twolevel_modules +-Driver ++Driver RejectNegative ++(Obsolete) LD_PREBIND is no longer supported. + + preload +-Driver ++Driver RejectNegative ++Produces a Mach-O file suitable for embedded/ROM use. + + private_bundle +-Driver ++Driver RejectNegative ++(Obsolete) Allowed linking to proceed with \"-flat_namespace\" when a linked bundle contained a symbol also exported from the main executable. + + pthread +-Driver ++Driver RejectNegative + + rdynamic +-Driver ++Driver RejectNegative ++Synonym for \"-export-dynamic\" for linker versions that support it. ++ ++read_only_relocs ++Driver RejectNegative Separate ++-read_only_relocs This will allow relocs in read-only pages (not advisable). ++ ++sectalign ++Driver RejectNegative Separate Args(3) ++-sectalign Set section \"sectname\" in segment \"segname\" to have alignment \"value\" which must be an integral power of two expressed in hexadecimal form. ++ ++sectcreate ++Driver RejectNegative Separate Args(3) ++-sectcreate Create section \"sectname\" in segment \"segname\" from the contents of \"file\". ++ ++sectobjectsymbols ++Driver RejectNegative Separate Args(2) ++(Obsolete) -sectobjectsymbols Setting a local symbol at the start of a section is no longer supported. ++ ++sectorder ++Driver RejectNegative Separate Args(3) ++(Obsolete) -sectorder orderfile Replaced by a more general option \"-order_file\". + + seg_addr_table +-Driver Separate Alias(Zseg_addr_table) ++Driver RejectNegative Separate Alias(Zseg_addr_table) ++-seg_addr_table Specify the base addresses for dynamic libraries, \"file\" contains a line for each library. + ++; This is only usable by the ld_classic linker. + seg_addr_table_filename +-Driver Separate Alias(Zfn_seg_addr_table_filename) ++Driver RejectNegative Separate Alias(Zfn_seg_addr_table_filename) ++(Obsolete, ld_classic only) -seg_addr_table_filename ++ ++seg1addr ++Driver RejectNegative Separate ++Synonym for \"image_base\" + + segaddr +-Driver Separate Args(2) Alias(Zsegaddr) ++Driver RejectNegative Separate Args(2) Alias(Zsegaddr) ++-segaddr
Set the base address of segment \"name\" to \"address\" which must be aligned to a page boundary (currently 4kb). ++ ++; This is only usable by the ld_classic linker. ++segcreate ++Driver RejectNegative Separate Args(3) ++(Obsolete, ld_classic only) -sectcreate segname sectname file + + seglinkedit +-Driver ++Driver RejectNegative Negative(noseglinkedit) ++(Obsolete) Object files with LINKEDIT sections are no longer supported. ++ ++segprot ++Driver RejectNegative Separate Args(3) ++-segprot max_prot init_prot The protection values are \"r\", \"w\", \"x\" or \"-\" the latter meaning \"no access\". + + segs_read_only_addr +-Driver Separate Alias(Zsegs_read_only_addr) ++Driver RejectNegative Separate Alias(Zsegs_read_only_addr) ++-segs_read_only_addr address Allows specifying the address of the read only portion of a dylib. + + segs_read_write_addr +-Driver Separate Alias(Zsegs_read_write_addr) ++Driver RejectNegative Separate Alias(Zsegs_read_write_addr) ++-segs_read_write_addr address Allows specifying the address of the read/write portion of a dylib. + + single_module +-Driver Alias(Zsingle_module) ++Driver RejectNegative Alias(Zsingle_module) ++(Obsolete) This is the default. ++ ++sub_library ++Driver RejectNegative Separate ++-sub_library Library named \"name\" will be re-exported (only useful for dylibs). ++ ++sub_umbrella ++Driver RejectNegative Separate ++-sub_umbrella Framework named \"name\" will be re-exported (only useful for dylibs). + + twolevel_namespace +-Driver ++Driver RejectNegative ++This is the default + + twolevel_namespace_hints +-Driver ++Driver RejectNegative ++Specifies content that can speed up dynamic loading when the binaries are unchanged. + + umbrella +-Driver Separate Alias(Zumbrella) ++Driver RejectNegative Separate Alias(Zumbrella) ++-umbrella The specified framework will be re-exported. ++ ++undefined ++Driver RejectNegative Separate ++-undefined Specify the handling for undefined symbols (default is error). + + unexported_symbols_list +-Driver Separate Alias(Zunexported_symbols_list) ++Driver RejectNegative Separate Alias(Zunexported_symbols_list) ++-unexported_symbols_list Don't export global symbols listed in filename. + + weak_reference_mismatches +-Driver Separate Alias(Zweak_reference_mismatches) ++Driver RejectNegative Separate Alias(Zweak_reference_mismatches) ++-weak_reference_mismatches Specifies what to do if a symbol import conflicts between file (weak in one and not in another) the default is to treat the symbol as non-weak. + + whatsloaded +-Driver ++Driver RejectNegative ++Logs the object files the linker loads + + whyload +-Driver ++Driver RejectNegative ++Logs which symbol(s) caused an object to be loaded. ++ ++;(Obsolete, ignored) Strip symbols starting with "L", this is the default. ++X ++Driver RejectNegative + + y +-Driver Joined ++Driver RejectNegative Joined ++(Obsolete, ignored) Old support similar to whyload. + + Mach +-Driver +- +-Wnonportable-cfstrings +-Target Report Var(darwin_warn_nonportable_cfstrings) Init(1) Warning +-Warn if constant CFString objects contain non-portable characters. +- +-; Use new-style pic stubs if this is true, x86 only so far. +-matt-stubs +-Target Report Var(darwin_macho_att_stub) Init(1) +-Generate AT&T-style stubs for Mach-O. +- +-mdynamic-no-pic +-Target Common Report Mask(MACHO_DYNAMIC_NO_PIC) +-Generate code suitable for executables (NOT shared libs). +- +-mfix-and-continue +-Target Report Var(darwin_fix_and_continue) +-Generate code suitable for fast turn around debugging. +- +-; The Init here is for the convenience of GCC developers, so that cc1 +-; and cc1plus don't crash if no -mmacosx-version-min is passed. The +-; driver will always pass a -mmacosx-version-min, so in normal use the +-; Init is never used. +-mmacosx-version-min= +-Target Joined Report Var(darwin_macosx_version_min) Init(DEF_MIN_OSX_VERSION) +-The earliest MacOS X version on which this program will run. +- +-mone-byte-bool +-Target RejectNegative Report Var(darwin_one_byte_bool) +-Set sizeof(bool) to 1. +- +-fapple-kext +-Target Report C++ Var(flag_apple_kext) +-Generate code for darwin loadable kernel extensions. +- +-mkernel +-Target Report Var(flag_mkernel) +-Generate code for the kernel or loadable kernel extensions. +- +-iframework +-Target RejectNegative C ObjC C++ ObjC++ Joined Separate +--iframework Add to the end of the system framework include path. ++Driver RejectNegative ++(Obsolete and unhandled by ld64, ignored) ld should produce an executable (only handled by ld_classic). + +-X +-Driver ++;; These are not "real" options, but placeholders used to hide the real options ++;; from generic options processing... FIXME: they can be eliminated now. + + Zall_load + Driver +@@ -343,62 +485,3 @@ Driver Separate + Zweak_reference_mismatches + Driver Separate + +-client_name +-Driver Separate +- +-compatibility_version +-Driver Separate +- +-current_version +-Driver Separate +- +-dylinker_install_name +-Driver Separate +- +-pagezero_size +-Driver Separate +- +-read_only_relocs +-Driver Separate +- +-sectalign +-Driver Separate Args(3) +- +-sectcreate +-Driver Separate Args(3) +- +-sectobjectsymbols +-Driver Separate Args(2) +- +-sectorder +-Driver Separate Args(3) +- +-seg1addr +-Driver Separate +- +-segcreate +-Driver Separate Args(3) +- +-segprot +-Driver Separate Args(3) +- +-segs_read_only_addr +-Driver Separate +- +-segs_read_write_addr +-Driver Separate +- +-sub_library +-Driver Separate +- +-sub_umbrella +-Driver Separate +- +-; Certain aspects of code-gen may be improved / adjusted if the version of ld64 +-; is sufficiently modern. +-mtarget-linker +-Target RejectNegative Joined Separate Report Var(darwin_target_linker) Init(LD64_VERSION) +-The version of ld64 in use for this toolchain. +- +-undefined +-Driver Separate +--- a/src/gcc/config/darwin10.h ++++ b/src/gcc/config/darwin10.h +@@ -18,17 +18,13 @@ You should have received a copy of the GNU General Public License + along with GCC; see the file COPYING3. If not see + . */ + +-/* Fix PR41260 by passing -no_compact_unwind on darwin10 and later until +- unwinder in libSystem is fixed to digest new epilog unwinding notes. ++/* Fix PR47558 by linking against libSystem ahead of libgcc_ext. */ + +- Fix PR47558 by linking against libSystem ahead of libgcc_ext. */ + #undef LINK_GCC_C_SEQUENCE_SPEC + #define LINK_GCC_C_SEQUENCE_SPEC \ +-"%:version-compare(>= 10.6 mmacosx-version-min= -no_compact_unwind) \ +- %{!static:%{!static-libgcc: \ +- %:version-compare(>= 10.6 mmacosx-version-min= -lSystem) } } \ +- %{fno-pic|fno-PIC|fno-pie|fno-PIE|fapple-kext|mkernel|static|mdynamic-no-pic: \ +- %:version-compare(>= 10.7 mmacosx-version-min= -no_pie) } %G %L" ++"%{!static:%{!static-libgcc: \ ++ %:version-compare(>= 10.6 mmacosx-version-min= -lSystem) } } \ ++ %G %L" + + #undef DEF_MIN_OSX_VERSION + #define DEF_MIN_OSX_VERSION "10.6" +--- a/src/gcc/config/darwin9.h ++++ b/src/gcc/config/darwin9.h +@@ -35,12 +35,6 @@ along with GCC; see the file COPYING3. If not see + /* Tell collect2 to run dsymutil for us as necessary. */ + #define COLLECT_RUN_DSYMUTIL 1 + +-#undef DARWIN_PIE_SPEC +-#define DARWIN_PIE_SPEC \ +- "%{fpie|pie|fPIE: \ +- %{mdynamic-no-pic: %n'-mdynamic-no-pic' overrides '-pie', '-fpie' or '-fPIE'; \ +- :-pie}}" +- + /* Only ask as for debug data if the debug style is stabs (since as doesn't + yet generate dwarf.) */ + +--- a/src/gcc/config/i386/avx2intrin.h ++++ b/src/gcc/config/i386/avx2intrin.h +@@ -258,7 +258,7 @@ extern __inline __m256i + __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) + _mm256_cmpgt_epi8 (__m256i __A, __m256i __B) + { +- return (__m256i) ((__v32qi)__A > (__v32qi)__B); ++ return (__m256i) ((__v32qs)__A > (__v32qs)__B); + } + + extern __inline __m256i +--- a/src/gcc/config/i386/avx512bitalgintrin.h ++++ b/src/gcc/config/i386/avx512bitalgintrin.h +@@ -61,10 +61,10 @@ _mm512_popcnt_epi16 (__m512i __A) + + extern __inline __m512i + __attribute__((__gnu_inline__, __always_inline__, __artificial__)) +-_mm512_mask_popcnt_epi8 (__m512i __A, __mmask64 __U, __m512i __B) ++_mm512_mask_popcnt_epi8 (__m512i __W, __mmask64 __U, __m512i __A) + { + return (__m512i) __builtin_ia32_vpopcountb_v64qi_mask ((__v64qi) __A, +- (__v64qi) __B, ++ (__v64qi) __W, + (__mmask64) __U); + } + +@@ -79,10 +79,10 @@ _mm512_maskz_popcnt_epi8 (__mmask64 __U, __m512i __A) + } + extern __inline __m512i + __attribute__((__gnu_inline__, __always_inline__, __artificial__)) +-_mm512_mask_popcnt_epi16 (__m512i __A, __mmask32 __U, __m512i __B) ++_mm512_mask_popcnt_epi16 (__m512i __W, __mmask32 __U, __m512i __A) + { + return (__m512i) __builtin_ia32_vpopcountw_v32hi_mask ((__v32hi) __A, +- (__v32hi) __B, ++ (__v32hi) __W, + (__mmask32) __U); + } + +@@ -127,10 +127,10 @@ _mm512_mask_bitshuffle_epi64_mask (__mmask64 __M, __m512i __A, __m512i __B) + + extern __inline __m256i + __attribute__((__gnu_inline__, __always_inline__, __artificial__)) +-_mm256_mask_popcnt_epi8 (__m256i __A, __mmask32 __U, __m256i __B) ++_mm256_mask_popcnt_epi8 (__m256i __W, __mmask32 __U, __m256i __A) + { + return (__m256i) __builtin_ia32_vpopcountb_v32qi_mask ((__v32qi) __A, +- (__v32qi) __B, ++ (__v32qi) __W, + (__mmask32) __U); + } + +@@ -222,10 +222,10 @@ _mm_popcnt_epi16 (__m128i __A) + + extern __inline __m256i + __attribute__((__gnu_inline__, __always_inline__, __artificial__)) +-_mm256_mask_popcnt_epi16 (__m256i __A, __mmask16 __U, __m256i __B) ++_mm256_mask_popcnt_epi16 (__m256i __W, __mmask16 __U, __m256i __A) + { + return (__m256i) __builtin_ia32_vpopcountw_v16hi_mask ((__v16hi) __A, +- (__v16hi) __B, ++ (__v16hi) __W, + (__mmask16) __U); + } + +@@ -241,10 +241,10 @@ _mm256_maskz_popcnt_epi16 (__mmask16 __U, __m256i __A) + + extern __inline __m128i + __attribute__((__gnu_inline__, __always_inline__, __artificial__)) +-_mm_mask_popcnt_epi8 (__m128i __A, __mmask16 __U, __m128i __B) ++_mm_mask_popcnt_epi8 (__m128i __W, __mmask16 __U, __m128i __A) + { + return (__m128i) __builtin_ia32_vpopcountb_v16qi_mask ((__v16qi) __A, +- (__v16qi) __B, ++ (__v16qi) __W, + (__mmask16) __U); + } + +@@ -259,10 +259,10 @@ _mm_maskz_popcnt_epi8 (__mmask16 __U, __m128i __A) + } + extern __inline __m128i + __attribute__((__gnu_inline__, __always_inline__, __artificial__)) +-_mm_mask_popcnt_epi16 (__m128i __A, __mmask8 __U, __m128i __B) ++_mm_mask_popcnt_epi16 (__m128i __W, __mmask8 __U, __m128i __A) + { + return (__m128i) __builtin_ia32_vpopcountw_v8hi_mask ((__v8hi) __A, +- (__v8hi) __B, ++ (__v8hi) __W, + (__mmask8) __U); + } + +--- a/src/gcc/config/i386/avx512vbmi2intrin.h ++++ b/src/gcc/config/i386/avx512vbmi2intrin.h +@@ -151,50 +151,68 @@ _mm512_maskz_shldi_epi64 (__mmask8 __A, __m512i __B, __m512i __C, int __D) + #else + #define _mm512_shrdi_epi16(A, B, C) \ + ((__m512i) __builtin_ia32_vpshrd_v32hi ((__v32hi)(__m512i)(A), \ +- (__v32hi)(__m512i)(B),(int)(C)) ++ (__v32hi)(__m512i)(B),(int)(C))) + #define _mm512_shrdi_epi32(A, B, C) \ + ((__m512i) __builtin_ia32_vpshrd_v16si ((__v16si)(__m512i)(A), \ +- (__v16si)(__m512i)(B),(int)(C)) ++ (__v16si)(__m512i)(B),(int)(C))) + #define _mm512_mask_shrdi_epi32(A, B, C, D, E) \ + ((__m512i) __builtin_ia32_vpshrd_v16si_mask ((__v16si)(__m512i)(C), \ +- (__v16si)(__m512i)(D), (int)(E), (__v16si)(__m512i)(A),(__mmask16)(B)) ++ (__v16si)(__m512i)(D), \ ++ (int)(E), \ ++ (__v16si)(__m512i)(A), \ ++ (__mmask16)(B))) + #define _mm512_maskz_shrdi_epi32(A, B, C, D) \ +- ((__m512i) __builtin_ia32_vpshrd_v16si_mask ((__v16si)(__m512i)(B), \ +- (__v16si)(__m512i)(C),(int)(D), \ +- (__v16si)(__m512i)_mm512_setzero_si512 (), (__mmask16)(A)) ++ ((__m512i) \ ++ __builtin_ia32_vpshrd_v16si_mask ((__v16si)(__m512i)(B), \ ++ (__v16si)(__m512i)(C),(int)(D), \ ++ (__v16si)(__m512i)_mm512_setzero_si512 (), \ ++ (__mmask16)(A))) + #define _mm512_shrdi_epi64(A, B, C) \ + ((__m512i) __builtin_ia32_vpshrd_v8di ((__v8di)(__m512i)(A), \ +- (__v8di)(__m512i)(B),(int)(C)) ++ (__v8di)(__m512i)(B),(int)(C))) + #define _mm512_mask_shrdi_epi64(A, B, C, D, E) \ + ((__m512i) __builtin_ia32_vpshrd_v8di_mask ((__v8di)(__m512i)(C), \ +- (__v8di)(__m512i)(D), (int)(E), (__v8di)(__m512i)(A),(__mmask8)(B)) ++ (__v8di)(__m512i)(D), (int)(E), \ ++ (__v8di)(__m512i)(A), \ ++ (__mmask8)(B))) + #define _mm512_maskz_shrdi_epi64(A, B, C, D) \ +- ((__m512i) __builtin_ia32_vpshrd_v8di_mask ((__v8di)(__m512i)(B), \ +- (__v8di)(__m512i)(C),(int)(D), \ +- (__v8di)(__m512i)_mm512_setzero_si512 (), (__mmask8)(A)) ++ ((__m512i) \ ++ __builtin_ia32_vpshrd_v8di_mask ((__v8di)(__m512i)(B), \ ++ (__v8di)(__m512i)(C),(int)(D), \ ++ (__v8di)(__m512i)_mm512_setzero_si512 (), \ ++ (__mmask8)(A))) + #define _mm512_shldi_epi16(A, B, C) \ + ((__m512i) __builtin_ia32_vpshld_v32hi ((__v32hi)(__m512i)(A), \ +- (__v32hi)(__m512i)(B),(int)(C)) ++ (__v32hi)(__m512i)(B),(int)(C))) + #define _mm512_shldi_epi32(A, B, C) \ +- ((__m512i) __builtin_ia32_vpshld_v16si ((__v16si)(__m512i)(A), \ +- (__v16si)(__m512i)(B),(int)(C)) ++ ((__m512i) __builtin_ia32_vpshld_v16si ((__v16si)(__m512i)(A), \ ++ (__v16si)(__m512i)(B),(int)(C))) + #define _mm512_mask_shldi_epi32(A, B, C, D, E) \ + ((__m512i) __builtin_ia32_vpshld_v16si_mask ((__v16si)(__m512i)(C), \ +- (__v16si)(__m512i)(D), (int)(E), (__v16si)(__m512i)(A),(__mmask16)(B)) ++ (__v16si)(__m512i)(D), \ ++ (int)(E), \ ++ (__v16si)(__m512i)(A), \ ++ (__mmask16)(B))) + #define _mm512_maskz_shldi_epi32(A, B, C, D) \ +- ((__m512i) __builtin_ia32_vpshld_v16si_mask ((__v16si)(__m512i)(B), \ +- (__v16si)(__m512i)(C),(int)(D), \ +- (__v16si)(__m512i)_mm512_setzero_si512 (), (__mmask16)(A)) ++ ((__m512i) \ ++ __builtin_ia32_vpshld_v16si_mask ((__v16si)(__m512i)(B), \ ++ (__v16si)(__m512i)(C),(int)(D), \ ++ (__v16si)(__m512i)_mm512_setzero_si512 (), \ ++ (__mmask16)(A))) + #define _mm512_shldi_epi64(A, B, C) \ + ((__m512i) __builtin_ia32_vpshld_v8di ((__v8di)(__m512i)(A), \ +- (__v8di)(__m512i)(B),(int)(C)) ++ (__v8di)(__m512i)(B), (int)(C))) + #define _mm512_mask_shldi_epi64(A, B, C, D, E) \ + ((__m512i) __builtin_ia32_vpshld_v8di_mask ((__v8di)(__m512i)(C), \ +- (__v8di)(__m512i)(D), (int)(E), (__v8di)(__m512i)(A),(__mmask8)(B)) ++ (__v8di)(__m512i)(D), (int)(E), \ ++ (__v8di)(__m512i)(A), \ ++ (__mmask8)(B))) + #define _mm512_maskz_shldi_epi64(A, B, C, D) \ +- ((__m512i) __builtin_ia32_vpshld_v8di_mask ((__v8di)(__m512i)(B), \ +- (__v8di)(__m512i)(C),(int)(D), \ +- (__v8di)(__m512i)_mm512_setzero_si512 (), (__mmask8)(A)) ++ ((__m512i) \ ++ __builtin_ia32_vpshld_v8di_mask ((__v8di)(__m512i)(B), \ ++ (__v8di)(__m512i)(C),(int)(D), \ ++ (__v8di)(__m512i)_mm512_setzero_si512 (), \ ++ (__mmask8)(A))) + #endif + + extern __inline __m512i +@@ -474,18 +492,28 @@ _mm512_maskz_shldi_epi16 (__mmask32 __A, __m512i __B, __m512i __C, int __D) + #else + #define _mm512_mask_shrdi_epi16(A, B, C, D, E) \ + ((__m512i) __builtin_ia32_vpshrd_v32hi_mask ((__v32hi)(__m512i)(C), \ +- (__v32hi)(__m512i)(D), (int)(E), (__v32hi)(__m512i)(A),(__mmask32)(B)) ++ (__v32hi)(__m512i)(D), \ ++ (int)(E), \ ++ (__v32hi)(__m512i)(A), \ ++ (__mmask32)(B))) + #define _mm512_maskz_shrdi_epi16(A, B, C, D) \ +- ((__m512i) __builtin_ia32_vpshrd_v32hi_mask ((__v32hi)(__m512i)(B), \ +- (__v32hi)(__m512i)(C),(int)(D), \ +- (__v32hi)(__m512i)_mm512_setzero_si512 (), (__mmask32)(A)) ++ ((__m512i) \ ++ __builtin_ia32_vpshrd_v32hi_mask ((__v32hi)(__m512i)(B), \ ++ (__v32hi)(__m512i)(C),(int)(D), \ ++ (__v32hi)(__m512i)_mm512_setzero_si512 (), \ ++ (__mmask32)(A))) + #define _mm512_mask_shldi_epi16(A, B, C, D, E) \ + ((__m512i) __builtin_ia32_vpshld_v32hi_mask ((__v32hi)(__m512i)(C), \ +- (__v32hi)(__m512i)(D), (int)(E), (__v32hi)(__m512i)(A),(__mmask32)(B)) ++ (__v32hi)(__m512i)(D), \ ++ (int)(E), \ ++ (__v32hi)(__m512i)(A), \ ++ (__mmask32)(B))) + #define _mm512_maskz_shldi_epi16(A, B, C, D) \ +- ((__m512i) __builtin_ia32_vpshld_v32hi_mask ((__v32hi)(__m512i)(B), \ +- (__v32hi)(__m512i)(C),(int)(D), \ +- (__v32hi)(__m512i)_mm512_setzero_si512 (), (__mmask32)(A)) ++ ((__m512i) \ ++ __builtin_ia32_vpshld_v32hi_mask ((__v32hi)(__m512i)(B), \ ++ (__v32hi)(__m512i)(C),(int)(D), \ ++ (__v32hi)(__m512i)_mm512_setzero_si512 (), \ ++ (__mmask32)(A))) + #endif + + extern __inline __m512i +--- a/src/gcc/config/i386/avx512vbmi2vlintrin.h ++++ b/src/gcc/config/i386/avx512vbmi2vlintrin.h +@@ -498,124 +498,175 @@ _mm_shldi_epi64 (__m128i __A, __m128i __B, int __C) + #else + #define _mm256_shrdi_epi16(A, B, C) \ + ((__m256i) __builtin_ia32_vpshrd_v16hi ((__v16hi)(__m256i)(A), \ +- (__v16hi)(__m256i)(B),(int)(C)) ++ (__v16hi)(__m256i)(B),(int)(C))) + #define _mm256_mask_shrdi_epi16(A, B, C, D, E) \ + ((__m256i) __builtin_ia32_vpshrd_v16hi_mask ((__v16hi)(__m256i)(C), \ +- (__v16hi)(__m256i)(D), (int)(E), (__v16hi)(__m256i)(A),(__mmask16)(B)) ++ (__v16hi)(__m256i)(D), \ ++ (int)(E), \ ++ (__v16hi)(__m256i)(A), \ ++ (__mmask16)(B))) + #define _mm256_maskz_shrdi_epi16(A, B, C, D) \ +- ((__m256i) __builtin_ia32_vpshrd_v16hi_mask ((__v16hi)(__m256i)(B), \ +- (__v16hi)(__m256i)(C),(int)(D), \ +- (__v16hi)(__m256i)_mm256_setzero_si256 (), (__mmask16)(A)) ++ ((__m256i) \ ++ __builtin_ia32_vpshrd_v16hi_mask ((__v16hi)(__m256i)(B), \ ++ (__v16hi)(__m256i)(C),(int)(D), \ ++ (__v16hi)(__m256i)_mm256_setzero_si256 (), \ ++ (__mmask16)(A))) + #define _mm256_shrdi_epi32(A, B, C) \ + ((__m256i) __builtin_ia32_vpshrd_v8si ((__v8si)(__m256i)(A), \ +- (__v8si)(__m256i)(B),(int)(C)) ++ (__v8si)(__m256i)(B),(int)(C))) + #define _mm256_mask_shrdi_epi32(A, B, C, D, E) \ + ((__m256i) __builtin_ia32_vpshrd_v8si_mask ((__v8si)(__m256i)(C), \ +- (__v8si)(__m256i)(D), (int)(E), (__v8si)(__m256i)(A),(__mmask8)(B)) ++ (__v8si)(__m256i)(D), \ ++ (int)(E), \ ++ (__v8si)(__m256i)(A), \ ++ (__mmask8)(B))) + #define _mm256_maskz_shrdi_epi32(A, B, C, D) \ +- ((__m256i) __builtin_ia32_vpshrd_v8si_mask ((__v8si)(__m256i)(B), \ +- (__v8si)(__m256i)(C),(int)(D), \ +- (__v8si)(__m256i)_mm256_setzero_si256 (), (__mmask8)(A)) ++ ((__m256i) \ ++ __builtin_ia32_vpshrd_v8si_mask ((__v8si)(__m256i)(B), \ ++ (__v8si)(__m256i)(C),(int)(D), \ ++ (__v8si)(__m256i)_mm256_setzero_si256 (), \ ++ (__mmask8)(A))) + #define _mm256_shrdi_epi64(A, B, C) \ + ((__m256i) __builtin_ia32_vpshrd_v4di ((__v4di)(__m256i)(A), \ +- (__v4di)(__m256i)(B),(int)(C)) ++ (__v4di)(__m256i)(B),(int)(C))) + #define _mm256_mask_shrdi_epi64(A, B, C, D, E) \ + ((__m256i) __builtin_ia32_vpshrd_v4di_mask ((__v4di)(__m256i)(C), \ +- (__v4di)(__m256i)(D), (int)(E), (__v4di)(__m256i)(A),(__mmask8)(B)) ++ (__v4di)(__m256i)(D), (int)(E), \ ++ (__v4di)(__m256i)(A), \ ++ (__mmask8)(B))) + #define _mm256_maskz_shrdi_epi64(A, B, C, D) \ +- ((__m256i) __builtin_ia32_vpshrd_v4di_mask ((__v4di)(__m256i)(B), \ +- (__v4di)(__m256i)(C),(int)(D), \ +- (__v4di)(__m256i)_mm256_setzero_si256 (), (__mmask8)(A)) ++ ((__m256i) \ ++ __builtin_ia32_vpshrd_v4di_mask ((__v4di)(__m256i)(B), \ ++ (__v4di)(__m256i)(C),(int)(D), \ ++ (__v4di)(__m256i)_mm256_setzero_si256 (), \ ++ (__mmask8)(A))) + #define _mm_shrdi_epi16(A, B, C) \ + ((__m128i) __builtin_ia32_vpshrd_v8hi ((__v8hi)(__m128i)(A), \ +- (__v8hi)(__m128i)(B),(int)(C)) ++ (__v8hi)(__m128i)(B),(int)(C))) + #define _mm_mask_shrdi_epi16(A, B, C, D, E) \ + ((__m128i) __builtin_ia32_vpshrd_v8hi_mask ((__v8hi)(__m128i)(C), \ +- (__v8hi)(__m128i)(D), (int)(E), (__v8hi)(__m128i)(A),(__mmask8)(B)) ++ (__v8hi)(__m128i)(D), (int)(E), \ ++ (__v8hi)(__m128i)(A), \ ++ (__mmask8)(B))) + #define _mm_maskz_shrdi_epi16(A, B, C, D) \ +- ((__m128i) __builtin_ia32_vpshrd_v8hi_mask ((__v8hi)(__m128i)(B), \ +- (__v8hi)(__m128i)(C),(int)(D), \ +- (__v8hi)(__m128i)_mm_setzero_si128 (), (__mmask8)(A)) ++ ((__m128i) \ ++ __builtin_ia32_vpshrd_v8hi_mask ((__v8hi)(__m128i)(B), \ ++ (__v8hi)(__m128i)(C),(int)(D), \ ++ (__v8hi)(__m128i)_mm_setzero_si128 (), \ ++ (__mmask8)(A))) + #define _mm_shrdi_epi32(A, B, C) \ + ((__m128i) __builtin_ia32_vpshrd_v4si ((__v4si)(__m128i)(A), \ +- (__v4si)(__m128i)(B),(int)(C)) ++ (__v4si)(__m128i)(B),(int)(C))) + #define _mm_mask_shrdi_epi32(A, B, C, D, E) \ +- ((__m128i) __builtin_ia32_vpshrd_v4si_mask ((__v4si)(__m128i)(C), \ +- (__v4si)(__m128i)(D), (int)(E), (__v4si)(__m128i)(A),(__mmask8)(B)) ++ ((__m128i) __builtin_ia32_vpshrd_v4si_mask ((__v4si)(__m128i)(C), \ ++ (__v4si)(__m128i)(D), (int)(E), \ ++ (__v4si)(__m128i)(A), \ ++ (__mmask8)(B))) + #define _mm_maskz_shrdi_epi32(A, B, C, D) \ +- ((__m128i) __builtin_ia32_vpshrd_v4si_mask ((__v4si)(__m128i)(B), \ +- (__v4si)(__m128i)(C),(int)(D), \ +- (__v4si)(__m128i)_mm_setzero_si128 (), (__mmask8)(A)) ++ ((__m128i) \ ++ __builtin_ia32_vpshrd_v4si_mask ((__v4si)(__m128i)(B), \ ++ (__v4si)(__m128i)(C),(int)(D), \ ++ (__v4si)(__m128i)_mm_setzero_si128 (), \ ++ (__mmask8)(A))) + #define _mm_shrdi_epi64(A, B, C) \ + ((__m128i) __builtin_ia32_vpshrd_v2di ((__v2di)(__m128i)(A), \ +- (__v2di)(__m128i)(B),(int)(C)) ++ (__v2di)(__m128i)(B),(int)(C))) + #define _mm_mask_shrdi_epi64(A, B, C, D, E) \ + ((__m128i) __builtin_ia32_vpshrd_v2di_mask ((__v2di)(__m128i)(C), \ +- (__v2di)(__m128i)(D), (int)(E), (__v2di)(__m128i)(A),(__mmask8)(B)) ++ (__v2di)(__m128i)(D), (int)(E), \ ++ (__v2di)(__m128i)(A), \ ++ (__mmask8)(B))) + #define _mm_maskz_shrdi_epi64(A, B, C, D) \ +- ((__m128i) __builtin_ia32_vpshrd_v2di_mask ((__v2di)(__m128i)(B), \ +- (__v2di)(__m128i)(C),(int)(D), \ +- (__v2di)(__m128i)_mm_setzero_si128 (), (__mmask8)(A)) ++ ((__m128i) \ ++ __builtin_ia32_vpshrd_v2di_mask ((__v2di)(__m128i)(B), \ ++ (__v2di)(__m128i)(C),(int)(D), \ ++ (__v2di)(__m128i)_mm_setzero_si128 (), \ ++ (__mmask8)(A))) + #define _mm256_shldi_epi16(A, B, C) \ + ((__m256i) __builtin_ia32_vpshld_v16hi ((__v16hi)(__m256i)(A), \ +- (__v16hi)(__m256i)(B),(int)(C)) ++ (__v16hi)(__m256i)(B),(int)(C))) + #define _mm256_mask_shldi_epi16(A, B, C, D, E) \ + ((__m256i) __builtin_ia32_vpshld_v16hi_mask ((__v16hi)(__m256i)(C), \ +- (__v16hi)(__m256i)(D), (int)(E), (__v16hi)(__m256i)(A),(__mmask16)(B)) ++ (__v16hi)(__m256i)(D), \ ++ (int)(E), \ ++ (__v16hi)(__m256i)(A), \ ++ (__mmask16)(B))) + #define _mm256_maskz_shldi_epi16(A, B, C, D) \ +- ((__m256i) __builtin_ia32_vpshld_v16hi_mask ((__v16hi)(__m256i)(B), \ +- (__v16hi)(__m256i)(C),(int)(D), \ +- (__v16hi)(__m256i)_mm256_setzero_si256 (), (__mmask16)(A)) ++ ((__m256i) \ ++ __builtin_ia32_vpshld_v16hi_mask ((__v16hi)(__m256i)(B), \ ++ (__v16hi)(__m256i)(C),(int)(D), \ ++ (__v16hi)(__m256i)_mm256_setzero_si256 (), \ ++ (__mmask16)(A))) + #define _mm256_shldi_epi32(A, B, C) \ + ((__m256i) __builtin_ia32_vpshld_v8si ((__v8si)(__m256i)(A), \ +- (__v8si)(__m256i)(B),(int)(C)) ++ (__v8si)(__m256i)(B),(int)(C))) + #define _mm256_mask_shldi_epi32(A, B, C, D, E) \ + ((__m256i) __builtin_ia32_vpshld_v8si_mask ((__v8si)(__m256i)(C), \ +- (__v8si)(__m256i)(D), (int)(E), (__v8si)(__m256i)(A),(__mmask8)(B)) ++ (__v8si)(__m256i)(D), (int)(E), \ ++ (__v8si)(__m256i)(A), \ ++ (__mmask8)(B))) + #define _mm256_maskz_shldi_epi32(A, B, C, D) \ +- ((__m256i) __builtin_ia32_vpshld_v8si_mask ((__v8si)(__m256i)(B), \ +- (__v8si)(__m256i)(C),(int)(D), \ +- (__v8si)(__m256i)_mm256_setzero_si256 (), (__mmask8)(A)) ++ ((__m256i) \ ++ __builtin_ia32_vpshld_v8si_mask ((__v8si)(__m256i)(B), \ ++ (__v8si)(__m256i)(C),(int)(D), \ ++ (__v8si)(__m256i)_mm256_setzero_si256 (), \ ++ (__mmask8)(A))) + #define _mm256_shldi_epi64(A, B, C) \ + ((__m256i) __builtin_ia32_vpshld_v4di ((__v4di)(__m256i)(A), \ +- (__v4di)(__m256i)(B),(int)(C)) ++ (__v4di)(__m256i)(B),(int)(C))) + #define _mm256_mask_shldi_epi64(A, B, C, D, E) \ + ((__m256i) __builtin_ia32_vpshld_v4di_mask ((__v4di)(__m256i)(C), \ +- (__v4di)(__m256i)(D), (int)(E), (__v4di)(__m256i)(A),(__mmask8)(B)) ++ (__v4di)(__m256i)(D), (int)(E), \ ++ (__v4di)(__m256i)(A), \ ++ (__mmask8)(B))) + #define _mm256_maskz_shldi_epi64(A, B, C, D) \ +- ((__m256i) __builtin_ia32_vpshld_v4di_mask ((__v4di)(__m256i)(B), \ +- (__v4di)(__m256i)(C),(int)(D), \ +- (__v4di)(__m256i)_mm256_setzero_si256 (), (__mmask8)(A)) ++ ((__m256i) \ ++ __builtin_ia32_vpshld_v4di_mask ((__v4di)(__m256i)(B), \ ++ (__v4di)(__m256i)(C),(int)(D), \ ++ (__v4di)(__m256i)_mm256_setzero_si256 (), \ ++ (__mmask8)(A))) + #define _mm_shldi_epi16(A, B, C) \ + ((__m128i) __builtin_ia32_vpshld_v8hi ((__v8hi)(__m128i)(A), \ +- (__v8hi)(__m128i)(B),(int)(C)) ++ (__v8hi)(__m128i)(B),(int)(C))) + #define _mm_mask_shldi_epi16(A, B, C, D, E) \ + ((__m128i) __builtin_ia32_vpshld_v8hi_mask ((__v8hi)(__m128i)(C), \ +- (__v8hi)(__m128i)(D), (int)(E), (__v8hi)(__m128i)(A),(__mmask8)(B)) ++ (__v8hi)(__m128i)(D), (int)(E), \ ++ (__v8hi)(__m128i)(A), \ ++ (__mmask8)(B))) + #define _mm_maskz_shldi_epi16(A, B, C, D) \ +- ((__m128i) __builtin_ia32_vpshld_v8hi_mask ((__v8hi)(__m128i)(B), \ +- (__v8hi)(__m128i)(C),(int)(D), \ +- (__v8hi)(__m128i)_mm_setzero_si128 (), (__mmask8)(A)) ++ ((__m128i) \ ++ __builtin_ia32_vpshld_v8hi_mask ((__v8hi)(__m128i)(B), \ ++ (__v8hi)(__m128i)(C),(int)(D), \ ++ (__v8hi)(__m128i)_mm_setzero_si128 (), \ ++ (__mmask8)(A))) + #define _mm_shldi_epi32(A, B, C) \ + ((__m128i) __builtin_ia32_vpshld_v4si ((__v4si)(__m128i)(A), \ +- (__v4si)(__m128i)(B),(int)(C)) ++ (__v4si)(__m128i)(B),(int)(C))) + #define _mm_mask_shldi_epi32(A, B, C, D, E) \ + ((__m128i) __builtin_ia32_vpshld_v4si_mask ((__v4si)(__m128i)(C), \ +- (__v4si)(__m128i)(D), (int)(E), (__v4si)(__m128i)(A),(__mmask8)(B)) ++ (__v4si)(__m128i)(D), (int)(E), \ ++ (__v4si)(__m128i)(A), \ ++ (__mmask8)(B))) + #define _mm_maskz_shldi_epi32(A, B, C, D) \ +- ((__m128i) __builtin_ia32_vpshld_v4si_mask ((__v4si)(__m128i)(B), \ +- (__v4si)(__m128i)(C),(int)(D), \ +- (__v4si)(__m128i)_mm_setzero_si128 (), (__mmask8)(A)) ++ ((__m128i) \ ++ __builtin_ia32_vpshld_v4si_mask ((__v4si)(__m128i)(B), \ ++ (__v4si)(__m128i)(C),(int)(D), \ ++ (__v4si)(__m128i)_mm_setzero_si128 (), \ ++ (__mmask8)(A))) + #define _mm_shldi_epi64(A, B, C) \ + ((__m128i) __builtin_ia32_vpshld_v2di ((__v2di)(__m128i)(A), \ +- (__v2di)(__m128i)(B),(int)(C)) ++ (__v2di)(__m128i)(B),(int)(C))) + #define _mm_mask_shldi_epi64(A, B, C, D, E) \ + ((__m128i) __builtin_ia32_vpshld_v2di_mask ((__v2di)(__m128i)(C), \ +- (__v2di)(__m128i)(D), (int)(E), (__v2di)(__m128i)(A),(__mmask8)(B)) ++ (__v2di)(__m128i)(D), (int)(E), \ ++ (__v2di)(__m128i)(A), \ ++ (__mmask8)(B))) + #define _mm_maskz_shldi_epi64(A, B, C, D) \ +- ((__m128i) __builtin_ia32_vpshld_v2di_mask ((__v2di)(__m128i)(B), \ +- (__v2di)(__m128i)(C),(int)(D), \ +- (__v2di)(__m128i)_mm_setzero_si128 (), (__mmask8)(A)) ++ ((__m128i) \ ++ __builtin_ia32_vpshld_v2di_mask ((__v2di)(__m128i)(B), \ ++ (__v2di)(__m128i)(C),(int)(D), \ ++ (__v2di)(__m128i)_mm_setzero_si128 (), \ ++ (__mmask8)(A))) + #endif + + extern __inline __m256i +--- a/src/gcc/config/i386/avx512vpopcntdqintrin.h ++++ b/src/gcc/config/i386/avx512vpopcntdqintrin.h +@@ -43,10 +43,10 @@ _mm512_popcnt_epi32 (__m512i __A) + + extern __inline __m512i + __attribute__((__gnu_inline__, __always_inline__, __artificial__)) +-_mm512_mask_popcnt_epi32 (__m512i __A, __mmask16 __U, __m512i __B) ++_mm512_mask_popcnt_epi32 (__m512i __W, __mmask16 __U, __m512i __A) + { + return (__m512i) __builtin_ia32_vpopcountd_v16si_mask ((__v16si) __A, +- (__v16si) __B, ++ (__v16si) __W, + (__mmask16) __U); + } + +@@ -69,10 +69,10 @@ _mm512_popcnt_epi64 (__m512i __A) + + extern __inline __m512i + __attribute__((__gnu_inline__, __always_inline__, __artificial__)) +-_mm512_mask_popcnt_epi64 (__m512i __A, __mmask8 __U, __m512i __B) ++_mm512_mask_popcnt_epi64 (__m512i __W, __mmask8 __U, __m512i __A) + { + return (__m512i) __builtin_ia32_vpopcountq_v8di_mask ((__v8di) __A, +- (__v8di) __B, ++ (__v8di) __W, + (__mmask8) __U); + } + +--- a/src/gcc/config/i386/avx512vpopcntdqvlintrin.h ++++ b/src/gcc/config/i386/avx512vpopcntdqvlintrin.h +@@ -43,10 +43,10 @@ _mm_popcnt_epi32 (__m128i __A) + + extern __inline __m128i + __attribute__((__gnu_inline__, __always_inline__, __artificial__)) +-_mm_mask_popcnt_epi32 (__m128i __A, __mmask16 __U, __m128i __B) ++_mm_mask_popcnt_epi32 (__m128i __W, __mmask16 __U, __m128i __A) + { + return (__m128i) __builtin_ia32_vpopcountd_v4si_mask ((__v4si) __A, +- (__v4si) __B, ++ (__v4si) __W, + (__mmask16) __U); + } + +@@ -69,10 +69,10 @@ _mm256_popcnt_epi32 (__m256i __A) + + extern __inline __m256i + __attribute__((__gnu_inline__, __always_inline__, __artificial__)) +-_mm256_mask_popcnt_epi32 (__m256i __A, __mmask16 __U, __m256i __B) ++_mm256_mask_popcnt_epi32 (__m256i __W, __mmask16 __U, __m256i __A) + { + return (__m256i) __builtin_ia32_vpopcountd_v8si_mask ((__v8si) __A, +- (__v8si) __B, ++ (__v8si) __W, + (__mmask16) __U); + } + +@@ -95,10 +95,10 @@ _mm_popcnt_epi64 (__m128i __A) + + extern __inline __m128i + __attribute__((__gnu_inline__, __always_inline__, __artificial__)) +-_mm_mask_popcnt_epi64 (__m128i __A, __mmask8 __U, __m128i __B) ++_mm_mask_popcnt_epi64 (__m128i __W, __mmask8 __U, __m128i __A) + { + return (__m128i) __builtin_ia32_vpopcountq_v2di_mask ((__v2di) __A, +- (__v2di) __B, ++ (__v2di) __W, + (__mmask8) __U); + } + +@@ -121,10 +121,10 @@ _mm256_popcnt_epi64 (__m256i __A) + + extern __inline __m256i + __attribute__((__gnu_inline__, __always_inline__, __artificial__)) +-_mm256_mask_popcnt_epi64 (__m256i __A, __mmask8 __U, __m256i __B) ++_mm256_mask_popcnt_epi64 (__m256i __W, __mmask8 __U, __m256i __A) + { + return (__m256i) __builtin_ia32_vpopcountq_v4di_mask ((__v4di) __A, +- (__v4di) __B, ++ (__v4di) __W, + (__mmask8) __U); + } + +@@ -144,4 +144,3 @@ _mm256_maskz_popcnt_epi64 (__mmask8 __U, __m256i __A) + #endif /* __DISABLE_AVX512VPOPCNTDQVL__ */ + + #endif /* _AVX512VPOPCNTDQVLINTRIN_H_INCLUDED */ +- +--- a/src/gcc/config/i386/avxintrin.h ++++ b/src/gcc/config/i386/avxintrin.h +@@ -47,6 +47,7 @@ typedef unsigned int __v8su __attribute__ ((__vector_size__ (32))); + typedef short __v16hi __attribute__ ((__vector_size__ (32))); + typedef unsigned short __v16hu __attribute__ ((__vector_size__ (32))); + typedef char __v32qi __attribute__ ((__vector_size__ (32))); ++typedef signed char __v32qs __attribute__ ((__vector_size__ (32))); + typedef unsigned char __v32qu __attribute__ ((__vector_size__ (32))); + + /* The Intel API is flexible enough that we must allow aliasing with other +--- a/src/gcc/config/i386/cpuid.h ++++ b/src/gcc/config/i386/cpuid.h +@@ -178,10 +178,27 @@ + #define signature_VORTEX_ecx 0x436f5320 + #define signature_VORTEX_edx 0x36387865 + ++#ifndef __x86_64__ ++/* At least one cpu (Winchip 2) does not set %ebx and %ecx ++ for cpuid leaf 1. Forcibly zero the two registers before ++ calling cpuid as a precaution. */ ++#define __cpuid(level, a, b, c, d) \ ++ do { \ ++ if (__builtin_constant_p (level) && (level) != 1) \ ++ __asm__ ("cpuid\n\t" \ ++ : "=a" (a), "=b" (b), "=c" (c), "=d" (d) \ ++ : "0" (level)); \ ++ else \ ++ __asm__ ("cpuid\n\t" \ ++ : "=a" (a), "=b" (b), "=c" (c), "=d" (d) \ ++ : "0" (level), "1" (0), "2" (0)); \ ++ } while (0) ++#else + #define __cpuid(level, a, b, c, d) \ + __asm__ ("cpuid\n\t" \ + : "=a" (a), "=b" (b), "=c" (c), "=d" (d) \ + : "0" (level)) ++#endif + + #define __cpuid_count(level, count, a, b, c, d) \ + __asm__ ("cpuid\n\t" \ +--- a/src/gcc/config/i386/darwin.h ++++ b/src/gcc/config/i386/darwin.h +@@ -47,12 +47,13 @@ along with GCC; see the file COPYING3. If not see + image. + Therefore, for 64b exes at least, we must use the libunwind implementation, + even when static-libgcc is specified. We put libSystem first so that +- unwinder symbols are satisfied from there. */ ++ unwinder symbols are satisfied from there. ++ We default to 64b for single-arch builds, so apply this unconditionally. */ + #undef REAL_LIBGCC_SPEC + #define REAL_LIBGCC_SPEC \ + "%{static-libgcc|static: \ +- %{m64:%:version-compare(>= 10.6 mmacosx-version-min= -lSystem)} \ +- -lgcc_eh -lgcc; \ ++ %:version-compare(>= 10.6 mmacosx-version-min= -lSystem) \ ++ -lgcc_eh -lgcc; \ + shared-libgcc|fexceptions|fgnu-runtime: \ + %:version-compare(!> 10.5 mmacosx-version-min= -lgcc_s.10.4) \ + %:version-compare(>< 10.5 10.6 mmacosx-version-min= -lgcc_s.10.5) \ +@@ -88,14 +89,12 @@ along with GCC; see the file COPYING3. If not see + #undef WCHAR_TYPE_SIZE + #define WCHAR_TYPE_SIZE 32 + +-/* Generate branch islands stubs if this is true. */ +-extern int darwin_emit_branch_islands; +- +-#undef TARGET_MACHO_BRANCH_ISLANDS +-#define TARGET_MACHO_BRANCH_ISLANDS darwin_emit_branch_islands ++/* Generate pic symbol indirection stubs if this is true. */ ++#undef TARGET_MACHO_SYMBOL_STUBS ++#define TARGET_MACHO_SYMBOL_STUBS (darwin_symbol_stubs) + + /* For compatibility with OSX system tools, use the new style of pic stub +- if this is set. */ ++ if this is set (default). */ + #undef MACHOPIC_ATT_STUB + #define MACHOPIC_ATT_STUB (darwin_macho_att_stub) + +@@ -130,7 +129,8 @@ extern int darwin_emit_branch_islands; + #undef CC1_SPEC + #define CC1_SPEC "%(cc1_cpu) \ + %{!mkernel:%{!static:%{!mdynamic-no-pic:-fPIC}}} \ +- %{g: %{!fno-eliminate-unused-debug-symbols: -feliminate-unused-debug-symbols }} " \ ++ %{g: %{!fno-eliminate-unused-debug-symbols: -feliminate-unused-debug-symbols }} \ ++ %{mx32:%eDarwin is not an mx32 platform}" \ + DARWIN_CC1_SPEC + + #undef ASM_SPEC +@@ -138,9 +138,6 @@ extern int darwin_emit_branch_islands; + " ASM_OPTIONS " -force_cpusubtype_ALL \ + %{static}" ASM_MMACOSX_VERSION_MIN_SPEC + +-#define DARWIN_ARCH_SPEC "%{m64:x86_64;:i386}" +-#define DARWIN_SUBARCH_SPEC DARWIN_ARCH_SPEC +- + #undef ENDFILE_SPEC + #define ENDFILE_SPEC \ + "%{Ofast|ffast-math|funsafe-math-optimizations:crtfastmath.o%s} \ +@@ -148,12 +145,15 @@ extern int darwin_emit_branch_islands; + %{mpc64:crtprec64.o%s} \ + %{mpc80:crtprec80.o%s}" TM_DESTRUCTOR + ++/* We default to x86_64 for single-arch builds, bi-arch overrides. */ ++#define DARWIN_ARCH_SPEC "x86_64" ++ + #undef SUBTARGET_EXTRA_SPECS + #define SUBTARGET_EXTRA_SPECS \ + DARWIN_EXTRA_SPECS \ +- { "darwin_arch", DARWIN_ARCH_SPEC }, \ ++ { "darwin_arch", DARWIN_ARCH_SPEC }, \ + { "darwin_crt2", "" }, \ +- { "darwin_subarch", DARWIN_SUBARCH_SPEC }, ++ { "darwin_subarch", DARWIN_ARCH_SPEC }, + + /* The Darwin assembler mostly follows AT&T syntax. */ + #undef ASSEMBLER_DIALECT +@@ -219,19 +219,36 @@ extern int darwin_emit_branch_islands; + } \ + } while (0) + ++#ifdef HAVE_GAS_MAX_SKIP_P2ALIGN ++#define ASM_OUTPUT_MAX_SKIP_ALIGN(FILE,LOG,MAX_SKIP) \ ++ do { \ ++ if ((LOG) != 0) { \ ++ if ((MAX_SKIP) == 0 || (MAX_SKIP) >= (1 << (LOG)) - 1) \ ++ fprintf ((FILE), "\t.p2align %d\n", (LOG)); \ ++ else \ ++ fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP)); \ ++ } \ ++ } while (0) ++#endif ++ ++/* Darwin x86 assemblers support the .ident directive. */ ++ ++#undef TARGET_ASM_OUTPUT_IDENT ++#define TARGET_ASM_OUTPUT_IDENT default_asm_output_ident_directive ++ + /* Darwin profiling -- call mcount. */ + #undef FUNCTION_PROFILER + #define FUNCTION_PROFILER(FILE, LABELNO) \ +- do { \ +- if (TARGET_MACHO_BRANCH_ISLANDS \ +- && MACHOPIC_INDIRECT && !TARGET_64BIT) \ +- { \ +- const char *name = machopic_mcount_stub_name (); \ +- fprintf (FILE, "\tcall %s\n", name+1); /* skip '&' */ \ +- machopic_validate_stub_or_non_lazy_ptr (name); \ +- } \ +- else fprintf (FILE, "\tcall mcount\n"); \ +- } while (0) ++ do { \ ++ if (TARGET_MACHO_SYMBOL_STUBS \ ++ && MACHOPIC_INDIRECT && !TARGET_64BIT) \ ++ { \ ++ const char *name = machopic_mcount_stub_name (); \ ++ fprintf (FILE, "\tcall %s\n", name+1); /* skip '&' */ \ ++ machopic_validate_stub_or_non_lazy_ptr (name); \ ++ } \ ++ else fprintf (FILE, "\tcall mcount\n"); \ ++ } while (0) + + #define C_COMMON_OVERRIDE_OPTIONS \ + do { \ +@@ -304,10 +321,8 @@ do { \ + } \ + } + +-/* This needs to move since i386 uses the first flag and other flags are +- used in Mach-O. */ +-#undef MACHO_SYMBOL_FLAG_VARIABLE +-#define MACHO_SYMBOL_FLAG_VARIABLE ((SYMBOL_FLAG_MACH_DEP) << 3) ++/* First available SYMBOL flag bit for use by subtargets. */ ++#define SYMBOL_FLAG_SUBT_DEP (SYMBOL_FLAG_MACH_DEP << 5) + + #undef MACHOPIC_NL_SYMBOL_PTR_SECTION + #define MACHOPIC_NL_SYMBOL_PTR_SECTION \ +new file mode 100644 +--- /dev/null ++++ b/src/gcc/config/i386/darwin32-biarch.h +@@ -0,0 +1,58 @@ ++/* Target definitions for i386 running Darwin with a 32b host and supporting ++ a 64b multilib. ++ Copyright (C) 2019 Free Software Foundation, Inc. ++ ++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 ++. */ ++ ++#undef DARWIN_ARCH_SPEC ++#define DARWIN_ARCH_SPEC "%{m64:x86_64;:i386}" ++ ++/* WORKAROUND pr80556: ++ For x86_64 Darwin10 and later, the unwinder is in libunwind (redirected ++ from libSystem). This doesn't use the keymgr (see keymgr.c) and therefore ++ the calls that libgcc makes to obtain the KEYMGR_GCC3_DW2_OBJ_LIST are not ++ updated to include new images, and might not even be valid for a single ++ image. ++ Therefore, for 64b exes at least, we must use the libunwind implementation, ++ even when static-libgcc is specified. We put libSystem first so that ++ unwinder symbols are satisfied from there. */ ++#undef REAL_LIBGCC_SPEC ++#define REAL_LIBGCC_SPEC \ ++ "%{static-libgcc|static: \ ++ %{m64:%:version-compare(>= 10.6 mmacosx-version-min= -lSystem)} \ ++ -lgcc_eh -lgcc; \ ++ shared-libgcc|fexceptions|fgnu-runtime: \ ++ %:version-compare(!> 10.5 mmacosx-version-min= -lgcc_s.10.4) \ ++ %:version-compare(>< 10.5 10.6 mmacosx-version-min= -lgcc_s.10.5) \ ++ %:version-compare(!> 10.5 mmacosx-version-min= -lgcc_ext.10.4) \ ++ %:version-compare(>= 10.5 mmacosx-version-min= -lgcc_ext.10.5) \ ++ -lgcc ; \ ++ :%:version-compare(>< 10.3.9 10.5 mmacosx-version-min= -lgcc_s.10.4) \ ++ %:version-compare(>< 10.5 10.6 mmacosx-version-min= -lgcc_s.10.5) \ ++ %:version-compare(!> 10.5 mmacosx-version-min= -lgcc_ext.10.4) \ ++ %:version-compare(>= 10.5 mmacosx-version-min= -lgcc_ext.10.5) \ ++ -lgcc }" ++ ++#undef DARWIN_SUBARCH_SPEC ++#define DARWIN_SUBARCH_SPEC DARWIN_ARCH_SPEC ++ ++#undef SUBTARGET_EXTRA_SPECS ++#define SUBTARGET_EXTRA_SPECS \ ++ DARWIN_EXTRA_SPECS \ ++ { "darwin_arch", DARWIN_ARCH_SPEC }, \ ++ { "darwin_crt2", "" }, \ ++ { "darwin_subarch", DARWIN_SUBARCH_SPEC }, +new file mode 100644 +--- /dev/null ++++ b/src/gcc/config/i386/darwin64-biarch.h +@@ -0,0 +1,59 @@ ++/* Target definitions for x86_64 running Darwin with a 64b host supporting a ++ 32b multilib. ++ Copyright (C) 2006-2019 Free Software Foundation, Inc. ++ Contributed by Apple Computer Inc. ++ ++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 ++. */ ++ ++#undef DARWIN_ARCH_SPEC ++#define DARWIN_ARCH_SPEC "%{m32:i386;:x86_64}" ++ ++/* WORKAROUND pr80556: ++ For x86_64 Darwin10 and later, the unwinder is in libunwind (redirected ++ from libSystem). This doesn't use the keymgr (see keymgr.c) and therefore ++ the calls that libgcc makes to obtain the KEYMGR_GCC3_DW2_OBJ_LIST are not ++ updated to include new images, and might not even be valid for a single ++ image. ++ Therefore, for 64b exes at least, we must use the libunwind implementation, ++ even when static-libgcc is specified. We put libSystem first so that ++ unwinder symbols are satisfied from there. */ ++#undef REAL_LIBGCC_SPEC ++#define REAL_LIBGCC_SPEC \ ++ "%{static-libgcc|static: \ ++ %{!m32:%:version-compare(>= 10.6 mmacosx-version-min= -lSystem)} \ ++ -lgcc_eh -lgcc; \ ++ shared-libgcc|fexceptions|fgnu-runtime: \ ++ %:version-compare(!> 10.5 mmacosx-version-min= -lgcc_s.10.4) \ ++ %:version-compare(>< 10.5 10.6 mmacosx-version-min= -lgcc_s.10.5) \ ++ %:version-compare(!> 10.5 mmacosx-version-min= -lgcc_ext.10.4) \ ++ %:version-compare(>= 10.5 mmacosx-version-min= -lgcc_ext.10.5) \ ++ -lgcc ; \ ++ :%:version-compare(>< 10.3.9 10.5 mmacosx-version-min= -lgcc_s.10.4) \ ++ %:version-compare(>< 10.5 10.6 mmacosx-version-min= -lgcc_s.10.5) \ ++ %:version-compare(!> 10.5 mmacosx-version-min= -lgcc_ext.10.4) \ ++ %:version-compare(>= 10.5 mmacosx-version-min= -lgcc_ext.10.5) \ ++ -lgcc }" ++ ++#undef DARWIN_SUBARCH_SPEC ++#define DARWIN_SUBARCH_SPEC DARWIN_ARCH_SPEC ++ ++#undef SUBTARGET_EXTRA_SPECS ++#define SUBTARGET_EXTRA_SPECS \ ++ DARWIN_EXTRA_SPECS \ ++ { "darwin_arch", DARWIN_ARCH_SPEC }, \ ++ { "darwin_crt2", "" }, \ ++ { "darwin_subarch", DARWIN_SUBARCH_SPEC }, +deleted file mode 100644 +--- a/src/gcc/config/i386/darwin64.h ++++ /dev/null +@@ -1,58 +0,0 @@ +-/* Target definitions for x86_64 running Darwin. +- Copyright (C) 2006-2018 Free Software Foundation, Inc. +- Contributed by Apple Computer Inc. +- +-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 +-. */ +- +-#undef DARWIN_ARCH_SPEC +-#define DARWIN_ARCH_SPEC "%{m32:i386;:x86_64}" +- +-/* WORKAROUND pr80556: +- For x86_64 Darwin10 and later, the unwinder is in libunwind (redirected +- from libSystem). This doesn't use the keymgr (see keymgr.c) and therefore +- the calls that libgcc makes to obtain the KEYMGR_GCC3_DW2_OBJ_LIST are not +- updated to include new images, and might not even be valid for a single +- image. +- Therefore, for 64b exes at least, we must use the libunwind implementation, +- even when static-libgcc is specified. We put libSystem first so that +- unwinder symbols are satisfied from there. */ +-#undef REAL_LIBGCC_SPEC +-#define REAL_LIBGCC_SPEC \ +- "%{static-libgcc|static: \ +- %{!m32:%:version-compare(>= 10.6 mmacosx-version-min= -lSystem)} \ +- -lgcc_eh -lgcc; \ +- shared-libgcc|fexceptions|fgnu-runtime: \ +- %:version-compare(!> 10.5 mmacosx-version-min= -lgcc_s.10.4) \ +- %:version-compare(>< 10.5 10.6 mmacosx-version-min= -lgcc_s.10.5) \ +- %:version-compare(!> 10.5 mmacosx-version-min= -lgcc_ext.10.4) \ +- %:version-compare(>= 10.5 mmacosx-version-min= -lgcc_ext.10.5) \ +- -lgcc ; \ +- :%:version-compare(>< 10.3.9 10.5 mmacosx-version-min= -lgcc_s.10.4) \ +- %:version-compare(>< 10.5 10.6 mmacosx-version-min= -lgcc_s.10.5) \ +- %:version-compare(!> 10.5 mmacosx-version-min= -lgcc_ext.10.4) \ +- %:version-compare(>= 10.5 mmacosx-version-min= -lgcc_ext.10.5) \ +- -lgcc }" +- +-#undef DARWIN_SUBARCH_SPEC +-#define DARWIN_SUBARCH_SPEC DARWIN_ARCH_SPEC +- +-#undef SUBTARGET_EXTRA_SPECS +-#define SUBTARGET_EXTRA_SPECS \ +- DARWIN_EXTRA_SPECS \ +- { "darwin_arch", DARWIN_ARCH_SPEC }, \ +- { "darwin_crt2", "" }, \ +- { "darwin_subarch", DARWIN_SUBARCH_SPEC }, +--- a/src/gcc/config/i386/emmintrin.h ++++ b/src/gcc/config/i386/emmintrin.h +@@ -1296,7 +1296,7 @@ _mm_xor_si128 (__m128i __A, __m128i __B) + extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) + _mm_cmpeq_epi8 (__m128i __A, __m128i __B) + { +- return (__m128i) ((__v16qs)__A == (__v16qs)__B); ++ return (__m128i) ((__v16qi)__A == (__v16qi)__B); + } + + extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) +--- a/src/gcc/config/i386/freebsd64.h ++++ b/src/gcc/config/i386/freebsd64.h +@@ -31,7 +31,7 @@ along with GCC; see the file COPYING3. If not see + + #undef LINK_SPEC + #define LINK_SPEC "\ +- %{m32:-m elf_i386_fbsd} \ ++ %{m32:-m elf_i386_fbsd}%{!m32:-m elf_x86_64_fbsd} \ + %{p:%nconsider using '-pg' instead of '-p' with gprof(1)} \ + %{v:-V} \ + %{assert*} %{R*} %{rpath*} %{defsym*} \ +@@ -42,3 +42,6 @@ along with GCC; see the file COPYING3. If not see + -dynamic-linker %(fbsd_dynamic_linker) } \ + %{static:-Bstatic}} \ + %{symbolic:-Bsymbolic}" ++ ++#undef MULTILIB_DEFAULTS ++#define MULTILIB_DEFAULTS { "m64" } +--- a/src/gcc/config/i386/i386-builtin.def ++++ b/src/gcc/config/i386/i386-builtin.def +@@ -806,11 +806,11 @@ BDESC (OPTION_MASK_ISA_SSE3, CODE_FOR_sse3_hsubv2df3, "__builtin_ia32_hsubpd", I + + /* SSSE3 */ + BDESC (OPTION_MASK_ISA_SSSE3, CODE_FOR_absv16qi2, "__builtin_ia32_pabsb128", IX86_BUILTIN_PABSB128, UNKNOWN, (int) V16QI_FTYPE_V16QI) +-BDESC (OPTION_MASK_ISA_SSSE3 | OPTION_MASK_ISA_MMX, CODE_FOR_absv8qi2, "__builtin_ia32_pabsb", IX86_BUILTIN_PABSB, UNKNOWN, (int) V8QI_FTYPE_V8QI) ++BDESC (OPTION_MASK_ISA_SSSE3 | OPTION_MASK_ISA_MMX, CODE_FOR_ssse3_absv8qi2, "__builtin_ia32_pabsb", IX86_BUILTIN_PABSB, UNKNOWN, (int) V8QI_FTYPE_V8QI) + BDESC (OPTION_MASK_ISA_SSSE3, CODE_FOR_absv8hi2, "__builtin_ia32_pabsw128", IX86_BUILTIN_PABSW128, UNKNOWN, (int) V8HI_FTYPE_V8HI) +-BDESC (OPTION_MASK_ISA_SSSE3 | OPTION_MASK_ISA_MMX, CODE_FOR_absv4hi2, "__builtin_ia32_pabsw", IX86_BUILTIN_PABSW, UNKNOWN, (int) V4HI_FTYPE_V4HI) ++BDESC (OPTION_MASK_ISA_SSSE3 | OPTION_MASK_ISA_MMX, CODE_FOR_ssse3_absv4hi2, "__builtin_ia32_pabsw", IX86_BUILTIN_PABSW, UNKNOWN, (int) V4HI_FTYPE_V4HI) + BDESC (OPTION_MASK_ISA_SSSE3, CODE_FOR_absv4si2, "__builtin_ia32_pabsd128", IX86_BUILTIN_PABSD128, UNKNOWN, (int) V4SI_FTYPE_V4SI) +-BDESC (OPTION_MASK_ISA_SSSE3 | OPTION_MASK_ISA_MMX, CODE_FOR_absv2si2, "__builtin_ia32_pabsd", IX86_BUILTIN_PABSD, UNKNOWN, (int) V2SI_FTYPE_V2SI) ++BDESC (OPTION_MASK_ISA_SSSE3 | OPTION_MASK_ISA_MMX, CODE_FOR_ssse3_absv2si2, "__builtin_ia32_pabsd", IX86_BUILTIN_PABSD, UNKNOWN, (int) V2SI_FTYPE_V2SI) + + BDESC (OPTION_MASK_ISA_SSSE3, CODE_FOR_ssse3_phaddwv8hi3, "__builtin_ia32_phaddw128", IX86_BUILTIN_PHADDW128, UNKNOWN, (int) V8HI_FTYPE_V8HI_V8HI) + BDESC (OPTION_MASK_ISA_SSSE3 | OPTION_MASK_ISA_MMX, CODE_FOR_ssse3_phaddwv4hi3, "__builtin_ia32_phaddw", IX86_BUILTIN_PHADDW, UNKNOWN, (int) V4HI_FTYPE_V4HI_V4HI) +--- a/src/gcc/config/i386/i386.c ++++ b/src/gcc/config/i386/i386.c +@@ -1024,16 +1024,8 @@ dimode_scalar_to_vector_candidate_p (rtx_insn *insn) + + case ASHIFT: + case LSHIFTRT: +- if (!REG_P (XEXP (src, 1)) +- && (!SUBREG_P (XEXP (src, 1)) +- || SUBREG_BYTE (XEXP (src, 1)) != 0 +- || !REG_P (SUBREG_REG (XEXP (src, 1)))) +- && (!CONST_INT_P (XEXP (src, 1)) +- || !IN_RANGE (INTVAL (XEXP (src, 1)), 0, 63))) +- return false; +- +- if (GET_MODE (XEXP (src, 1)) != QImode +- && !CONST_INT_P (XEXP (src, 1))) ++ if (!CONST_INT_P (XEXP (src, 1)) ++ || !IN_RANGE (INTVAL (XEXP (src, 1)), 0, 63)) + return false; + break; + +@@ -1630,15 +1622,10 @@ dimode_scalar_chain::compute_convert_gain () + { + if (CONST_INT_P (XEXP (src, 0))) + gain -= vector_const_cost (XEXP (src, 0)); +- if (CONST_INT_P (XEXP (src, 1))) +- { +- gain += ix86_cost->shift_const; +- if (INTVAL (XEXP (src, 1)) >= 32) +- gain -= COSTS_N_INSNS (1); +- } +- else +- /* Additional gain for omitting two CMOVs. */ +- gain += ix86_cost->shift_var + COSTS_N_INSNS (2); ++ ++ gain += ix86_cost->shift_const; ++ if (INTVAL (XEXP (src, 1)) >= 32) ++ gain -= COSTS_N_INSNS (1); + } + else if (GET_CODE (src) == PLUS + || GET_CODE (src) == MINUS +@@ -1754,60 +1741,14 @@ dimode_scalar_chain::make_vector_copies (unsigned regno) + { + rtx reg = regno_reg_rtx[regno]; + rtx vreg = gen_reg_rtx (DImode); +- bool count_reg = false; + df_ref ref; + + for (ref = DF_REG_DEF_CHAIN (regno); ref; ref = DF_REF_NEXT_REG (ref)) + if (!bitmap_bit_p (insns, DF_REF_INSN_UID (ref))) + { +- df_ref use; +- +- /* Detect the count register of a shift instruction. */ +- for (use = DF_REG_USE_CHAIN (regno); use; use = DF_REF_NEXT_REG (use)) +- if (bitmap_bit_p (insns, DF_REF_INSN_UID (use))) +- { +- rtx_insn *insn = DF_REF_INSN (use); +- rtx def_set = single_set (insn); +- +- gcc_assert (def_set); +- +- rtx src = SET_SRC (def_set); +- +- if ((GET_CODE (src) == ASHIFT +- || GET_CODE (src) == ASHIFTRT +- || GET_CODE (src) == LSHIFTRT) +- && !CONST_INT_P (XEXP (src, 1)) +- && reg_or_subregno (XEXP (src, 1)) == regno) +- count_reg = true; +- } +- + start_sequence (); +- if (count_reg) +- { +- rtx qreg = gen_lowpart (QImode, reg); +- rtx tmp = gen_reg_rtx (SImode); +- +- if (TARGET_ZERO_EXTEND_WITH_AND +- && optimize_function_for_speed_p (cfun)) +- { +- emit_move_insn (tmp, const0_rtx); +- emit_insn (gen_movstrictqi +- (gen_lowpart (QImode, tmp), qreg)); +- } +- else +- emit_insn (gen_rtx_SET +- (tmp, gen_rtx_ZERO_EXTEND (SImode, qreg))); + +- if (!TARGET_INTER_UNIT_MOVES_TO_VEC) +- { +- rtx slot = assign_386_stack_local (SImode, SLOT_STV_TEMP); +- emit_move_insn (slot, tmp); +- tmp = copy_rtx (slot); +- } +- +- emit_insn (gen_zero_extendsidi2 (vreg, tmp)); +- } +- else if (!TARGET_INTER_UNIT_MOVES_TO_VEC) ++ if (!TARGET_INTER_UNIT_MOVES_TO_VEC) + { + rtx tmp = assign_386_stack_local (DImode, SLOT_STV_TEMP); + emit_move_insn (adjust_address (tmp, SImode, 0), +@@ -1855,22 +1796,8 @@ dimode_scalar_chain::make_vector_copies (unsigned regno) + if (bitmap_bit_p (insns, DF_REF_INSN_UID (ref))) + { + rtx_insn *insn = DF_REF_INSN (ref); +- if (count_reg) +- { +- rtx def_set = single_set (insn); +- gcc_assert (def_set); + +- rtx src = SET_SRC (def_set); +- +- if ((GET_CODE (src) == ASHIFT +- || GET_CODE (src) == ASHIFTRT +- || GET_CODE (src) == LSHIFTRT) +- && !CONST_INT_P (XEXP (src, 1)) +- && reg_or_subregno (XEXP (src, 1)) == regno) +- XEXP (src, 1) = vreg; +- } +- else +- replace_with_subreg_in_insn (insn, reg, vreg); ++ replace_with_subreg_in_insn (insn, reg, vreg); + + if (dump_file) + fprintf (dump_file, " Replaced r%d with r%d in insn %d\n", +@@ -1973,42 +1900,7 @@ dimode_scalar_chain::convert_reg (unsigned regno) + rtx src = SET_SRC (def_set); + rtx dst = SET_DEST (def_set); + +- if ((GET_CODE (src) == ASHIFT +- || GET_CODE (src) == ASHIFTRT +- || GET_CODE (src) == LSHIFTRT) +- && !CONST_INT_P (XEXP (src, 1)) +- && reg_or_subregno (XEXP (src, 1)) == regno) +- { +- rtx tmp2 = gen_reg_rtx (V2DImode); +- +- start_sequence (); +- +- if (TARGET_SSE4_1) +- emit_insn (gen_sse4_1_zero_extendv2qiv2di2 +- (tmp2, gen_rtx_SUBREG (V16QImode, reg, 0))); +- else +- { +- rtx vec_cst +- = gen_rtx_CONST_VECTOR (V2DImode, +- gen_rtvec (2, GEN_INT (0xff), +- const0_rtx)); +- vec_cst +- = validize_mem (force_const_mem (V2DImode, vec_cst)); +- +- emit_insn (gen_rtx_SET +- (tmp2, +- gen_rtx_AND (V2DImode, +- gen_rtx_SUBREG (V2DImode, reg, 0), +- vec_cst))); +- } +- rtx_insn *seq = get_insns (); +- end_sequence (); +- +- emit_insn_before (seq, insn); +- +- XEXP (src, 1) = gen_rtx_SUBREG (DImode, tmp2, 0); +- } +- else if (!MEM_P (dst) || !REG_P (src)) ++ if (!MEM_P (dst) || !REG_P (src)) + replace_with_subreg_in_insn (insn, reg, reg); + + bitmap_clear_bit (conv, INSN_UID (insn)); +@@ -3488,7 +3380,7 @@ ix86_option_override_internal (bool main_args_p, + | PTA_AVX512VBMI | PTA_AVX512IFMA | PTA_SHA; + const wide_int_bitmask PTA_ICELAKE_CLIENT = PTA_CANNONLAKE | PTA_AVX512VNNI + | PTA_GFNI | PTA_VAES | PTA_AVX512VBMI2 | PTA_VPCLMULQDQ | PTA_AVX512BITALG +- | PTA_RDPID | PTA_CLWB; ++ | PTA_RDPID | PTA_CLWB | PTA_AVX512VPOPCNTDQ; + const wide_int_bitmask PTA_ICELAKE_SERVER = PTA_ICELAKE_CLIENT | PTA_PCONFIG + | PTA_WBNOINVD; + const wide_int_bitmask PTA_KNL = PTA_BROADWELL | PTA_AVX512PF | PTA_AVX512ER +@@ -4958,6 +4850,12 @@ ix86_option_override_internal (bool main_args_p, + 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; + } + +@@ -5552,7 +5450,25 @@ ix86_valid_target_attribute_inner_p (tree args, char *p_strings[], + ret = false; + } + else +- p_strings[opt] = xstrdup (p + opt_len); ++ { ++ p_strings[opt] = xstrdup (p + opt_len); ++ if (opt == IX86_FUNCTION_SPECIFIC_ARCH) ++ { ++ /* If arch= is set, clear all bits in x_ix86_isa_flags, ++ except for ISA_64BIT, ABI_64, ABI_X32, and CODE16 ++ and all bits in x_ix86_isa_flags2. */ ++ opts->x_ix86_isa_flags &= (OPTION_MASK_ISA_64BIT ++ | OPTION_MASK_ABI_64 ++ | OPTION_MASK_ABI_X32 ++ | OPTION_MASK_CODE16); ++ opts->x_ix86_isa_flags_explicit &= (OPTION_MASK_ISA_64BIT ++ | OPTION_MASK_ABI_64 ++ | OPTION_MASK_ABI_X32 ++ | OPTION_MASK_CODE16); ++ opts->x_ix86_isa_flags2 = 0; ++ opts->x_ix86_isa_flags2_explicit = 0; ++ } ++ } + } + + else if (type == ix86_opt_enum) +@@ -5627,18 +5543,8 @@ ix86_valid_target_attribute_tree (tree args, + /* If we are using the default tune= or arch=, undo the string assigned, + and use the default. */ + if (option_strings[IX86_FUNCTION_SPECIFIC_ARCH]) +- { +- opts->x_ix86_arch_string +- = ggc_strdup (option_strings[IX86_FUNCTION_SPECIFIC_ARCH]); +- +- /* If arch= is set, clear all bits in x_ix86_isa_flags, +- except for ISA_64BIT, ABI_64, ABI_X32, and CODE16. */ +- opts->x_ix86_isa_flags &= (OPTION_MASK_ISA_64BIT +- | OPTION_MASK_ABI_64 +- | OPTION_MASK_ABI_X32 +- | OPTION_MASK_CODE16); +- opts->x_ix86_isa_flags2 = 0; +- } ++ opts->x_ix86_arch_string ++ = ggc_strdup (option_strings[IX86_FUNCTION_SPECIFIC_ARCH]); + else if (!orig_arch_specified) + opts->x_ix86_arch_string = NULL; + +@@ -10099,6 +10005,7 @@ ix86_gimplify_va_arg (tree valist, tree type, gimple_seq *pre_p, + tree ptrtype; + machine_mode nat_mode; + unsigned int arg_boundary; ++ unsigned int type_align; + + /* Only 64bit target needs something special. */ + if (is_va_list_char_pointer (TREE_TYPE (valist))) +@@ -10156,6 +10063,7 @@ ix86_gimplify_va_arg (tree valist, tree type, gimple_seq *pre_p, + /* Pull the value out of the saved registers. */ + + addr = create_tmp_var (ptr_type_node, "addr"); ++ type_align = TYPE_ALIGN (type); + + if (container) + { +@@ -10326,6 +10234,9 @@ ix86_gimplify_va_arg (tree valist, tree type, gimple_seq *pre_p, + t = build2 (PLUS_EXPR, TREE_TYPE (gpr), gpr, + build_int_cst (TREE_TYPE (gpr), needed_intregs * 8)); + gimplify_assign (gpr, t, pre_p); ++ /* The GPR save area guarantees only 8-byte alignment. */ ++ if (!need_temp) ++ type_align = MIN (type_align, 64); + } + + if (needed_sseregs) +@@ -10370,6 +10281,7 @@ ix86_gimplify_va_arg (tree valist, tree type, gimple_seq *pre_p, + if (container) + gimple_seq_add_stmt (pre_p, gimple_build_label (lab_over)); + ++ type = build_aligned_type (type, type_align); + ptrtype = build_pointer_type_for_mode (type, ptr_mode, true); + addr = fold_convert (ptrtype, addr); + +@@ -17313,7 +17225,7 @@ output_pic_addr_const (FILE *file, rtx x, int code) + break; + + case SYMBOL_REF: +- if (TARGET_64BIT || ! TARGET_MACHO_BRANCH_ISLANDS) ++ if (TARGET_64BIT || ! TARGET_MACHO_SYMBOL_STUBS) + output_addr_const (file, x); + else + { +@@ -18121,6 +18033,7 @@ print_reg (rtx x, int code, FILE *file) + ; -- 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 +18581,26 @@ ix86_print_operand (FILE *file, rtx x, int code) + 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); +@@ -24062,6 +23995,8 @@ ix86_expand_sse_fp_minmax (rtx dest, enum rtx_code code, rtx cmp_op0, + else + { + code = is_min ? SMIN : SMAX; ++ if (MEM_P (if_true) && MEM_P (if_false)) ++ if_true = force_reg (mode, if_true); + tmp = gen_rtx_fmt_ee (code, mode, if_true, if_false); + } + +@@ -28757,6 +28692,25 @@ ix86_nopic_noplt_attribute_p (rtx call_op) + return false; + } + ++/* Helper to output the jmp/call. */ ++static void ++ix86_output_jmp_thunk_or_indirect (const char *thunk_name, ++ enum indirect_thunk_prefix need_prefix, ++ const int regno) ++{ ++ if (thunk_name != NULL) ++ { ++ if (need_prefix == indirect_thunk_prefix_bnd) ++ fprintf (asm_out_file, "\tbnd jmp\t"); ++ else ++ fprintf (asm_out_file, "\tjmp\t"); ++ assemble_name (asm_out_file, thunk_name); ++ putc ('\n', asm_out_file); ++ } ++ else ++ output_indirect_thunk (need_prefix, regno); ++} ++ + /* Output indirect branch via a call and return thunk. CALL_OP is a + register which contains the branch target. XASM is the assembly + template for CALL_OP. Branch is a tail call if SIBCALL_P is true. +@@ -28798,25 +28752,17 @@ ix86_output_indirect_branch_via_reg (rtx call_op, bool sibcall_p) + thunk_name = NULL; + + if (sibcall_p) +- { +- if (thunk_name != NULL) +- { +- if (need_prefix == indirect_thunk_prefix_bnd) +- fprintf (asm_out_file, "\tbnd jmp\t%s\n", thunk_name); +- else +- fprintf (asm_out_file, "\tjmp\t%s\n", thunk_name); +- } +- else +- output_indirect_thunk (need_prefix, regno); +- } ++ ix86_output_jmp_thunk_or_indirect (thunk_name, need_prefix, regno); + else + { + if (thunk_name != NULL) + { + if (need_prefix == indirect_thunk_prefix_bnd) +- fprintf (asm_out_file, "\tbnd call\t%s\n", thunk_name); ++ fprintf (asm_out_file, "\tbnd call\t"); + else +- fprintf (asm_out_file, "\tcall\t%s\n", thunk_name); ++ fprintf (asm_out_file, "\tcall\t"); ++ assemble_name (asm_out_file, thunk_name); ++ putc ('\n', asm_out_file); + return; + } + +@@ -28840,15 +28786,7 @@ ix86_output_indirect_branch_via_reg (rtx call_op, bool sibcall_p) + + ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, indirectlabel1); + +- if (thunk_name != NULL) +- { +- if (need_prefix == indirect_thunk_prefix_bnd) +- fprintf (asm_out_file, "\tbnd jmp\t%s\n", thunk_name); +- else +- fprintf (asm_out_file, "\tjmp\t%s\n", thunk_name); +- } +- else +- output_indirect_thunk (need_prefix, regno); ++ ix86_output_jmp_thunk_or_indirect (thunk_name, need_prefix, regno); + + ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, indirectlabel2); + +@@ -28913,15 +28851,7 @@ ix86_output_indirect_branch_via_push (rtx call_op, const char *xasm, + if (sibcall_p) + { + output_asm_insn (push_buf, &call_op); +- if (thunk_name != NULL) +- { +- if (need_prefix == indirect_thunk_prefix_bnd) +- fprintf (asm_out_file, "\tbnd jmp\t%s\n", thunk_name); +- else +- fprintf (asm_out_file, "\tjmp\t%s\n", thunk_name); +- } +- else +- output_indirect_thunk (need_prefix, regno); ++ ix86_output_jmp_thunk_or_indirect (thunk_name, need_prefix, regno); + } + else + { +@@ -28980,15 +28910,7 @@ ix86_output_indirect_branch_via_push (rtx call_op, const char *xasm, + + output_asm_insn (push_buf, &call_op); + +- if (thunk_name != NULL) +- { +- if (need_prefix == indirect_thunk_prefix_bnd) +- fprintf (asm_out_file, "\tbnd jmp\t%s\n", thunk_name); +- else +- fprintf (asm_out_file, "\tjmp\t%s\n", thunk_name); +- } +- else +- output_indirect_thunk (need_prefix, regno); ++ ix86_output_jmp_thunk_or_indirect (thunk_name, need_prefix, regno); + + ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, indirectlabel2); + +@@ -29057,13 +28979,15 @@ ix86_output_function_return (bool long_p) + if (need_prefix == indirect_thunk_prefix_bnd) + { + indirect_return_bnd_needed |= need_thunk; +- fprintf (asm_out_file, "\tbnd jmp\t%s\n", thunk_name); ++ fprintf (asm_out_file, "\tbnd jmp\t"); + } + else + { + indirect_return_needed |= need_thunk; +- fprintf (asm_out_file, "\tjmp\t%s\n", thunk_name); ++ fprintf (asm_out_file, "\tjmp\t"); + } ++ assemble_name (asm_out_file, thunk_name); ++ putc ('\n', asm_out_file); + } + else + output_indirect_thunk (need_prefix, INVALID_REGNUM); +@@ -29104,7 +29028,7 @@ ix86_output_indirect_function_return (rtx ret_op) + indirect_return_via_cx_bnd = true; + indirect_thunks_bnd_used |= 1 << CX_REG; + } +- fprintf (asm_out_file, "\tbnd jmp\t%s\n", thunk_name); ++ fprintf (asm_out_file, "\tbnd jmp\t"); + } + else + { +@@ -29113,8 +29037,10 @@ ix86_output_indirect_function_return (rtx ret_op) + indirect_return_via_cx = true; + indirect_thunks_used |= 1 << CX_REG; + } +- fprintf (asm_out_file, "\tjmp\t%s\n", thunk_name); ++ fprintf (asm_out_file, "\tjmp\t"); + } ++ assemble_name (asm_out_file, thunk_name); ++ putc ('\n', asm_out_file); + } + else + output_indirect_thunk (need_prefix, regno); +@@ -32923,6 +32849,7 @@ make_resolver_func (const tree default_decl, + } + /* Build result decl and add to function_decl. */ + t = build_decl (UNKNOWN_LOCATION, RESULT_DECL, NULL_TREE, ptr_type_node); ++ DECL_CONTEXT (t) = decl; + DECL_ARTIFICIAL (t) = 1; + DECL_IGNORED_P (t) = 1; + DECL_RESULT (decl) = t; +@@ -39641,7 +39568,7 @@ ix86_vectorize_builtin_scatter (const_tree vectype, + 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); +@@ -44853,11 +44780,15 @@ ix86_md_asm_adjust (vec &outputs, vec &/*inputs*/, + { + x = force_reg (dest_mode, const0_rtx); + +- emit_insn (gen_movstrictqi +- (gen_lowpart (QImode, x), destqi)); ++ emit_insn (gen_movstrictqi (gen_lowpart (QImode, x), destqi)); + } + else +- x = gen_rtx_ZERO_EXTEND (dest_mode, destqi); ++ { ++ x = gen_rtx_ZERO_EXTEND (dest_mode, destqi); ++ if (dest_mode == GET_MODE (dest) ++ && !register_operand (dest, GET_MODE (dest))) ++ x = force_reg (dest_mode, x); ++ } + } + + if (dest_mode != GET_MODE (dest)) +@@ -45705,8 +45636,10 @@ ix86_expand_floorceildf_32 (rtx operand0, rtx operand1, bool do_floor) + x2 -= 1; + Compensate. Ceil: + if (x2 < x) +- x2 -= -1; +- return x2; ++ x2 += 1; ++ if (HONOR_SIGNED_ZEROS (mode)) ++ x2 = copysign (x2, x); ++ return x2; + */ + machine_mode mode = GET_MODE (operand0); + rtx xa, TWO52, tmp, one, res, mask; +@@ -45732,17 +45665,16 @@ ix86_expand_floorceildf_32 (rtx operand0, rtx operand1, bool do_floor) + /* xa = copysign (xa, operand1) */ + ix86_sse_copysign_to_positive (xa, xa, res, mask); + +- /* generate 1.0 or -1.0 */ +- one = force_reg (mode, +- const_double_from_real_value (do_floor +- ? dconst1 : dconstm1, mode)); ++ /* generate 1.0 */ ++ one = force_reg (mode, const_double_from_real_value (dconst1, mode)); + + /* Compensate: xa = xa - (xa > operand1 ? 1 : 0) */ + tmp = ix86_expand_sse_compare_mask (UNGT, xa, res, !do_floor); + emit_insn (gen_rtx_SET (tmp, gen_rtx_AND (mode, one, tmp))); +- /* We always need to subtract here to preserve signed zero. */ +- tmp = expand_simple_binop (mode, MINUS, ++ tmp = expand_simple_binop (mode, do_floor ? MINUS : PLUS, + xa, tmp, NULL_RTX, 0, OPTAB_DIRECT); ++ if (!do_floor && HONOR_SIGNED_ZEROS (mode)) ++ ix86_sse_copysign_to_positive (tmp, tmp, res, mask); + emit_move_insn (res, tmp); + + emit_label (label); +@@ -46379,7 +46311,8 @@ static bool + expand_vec_perm_blend (struct expand_vec_perm_d *d) + { + machine_mode mmode, vmode = d->vmode; +- unsigned i, mask, nelt = d->nelt; ++ unsigned i, nelt = d->nelt; ++ unsigned HOST_WIDE_INT mask; + rtx target, op0, op1, maskop, x; + rtx rperm[32], vperm; + +@@ -46433,7 +46366,7 @@ expand_vec_perm_blend (struct expand_vec_perm_d *d) + case E_V16SImode: + case E_V8DImode: + for (i = 0; i < nelt; ++i) +- mask |= (d->perm[i] >= nelt) << i; ++ mask |= ((unsigned HOST_WIDE_INT) (d->perm[i] >= nelt)) << i; + break; + + case E_V2DImode: +@@ -50999,7 +50932,7 @@ ix86_float_exceptions_rounding_supported_p (void) + 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 +50940,7 @@ ix86_float_exceptions_rounding_supported_p (void) + 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 +50975,7 @@ ix86_atomic_assign_expand_fenv (tree *hold, tree *clear, tree *update) + 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 +51332,7 @@ ix86_excess_precision (enum excess_precision_type type) + 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; +--- a/src/gcc/config/i386/i386.h ++++ b/src/gcc/config/i386/i386.h +@@ -621,7 +621,7 @@ extern tree x86_mfence; + /* Replace MACH-O, ifdefs by in-line tests, where possible. + (a) Macros defined in config/i386/darwin.h */ + #define TARGET_MACHO 0 +-#define TARGET_MACHO_BRANCH_ISLANDS 0 ++#define TARGET_MACHO_SYMBOL_STUBS 0 + #define MACHOPIC_ATT_STUB 0 + /* (b) Macros defined in config/darwin.h */ + #define MACHO_DYNAMIC_NO_PIC_P 0 +@@ -1062,9 +1062,9 @@ extern const char *host_detect_local_cpu (int argc, const char **argv); + /*xmm8,xmm9,xmm10,xmm11,xmm12,xmm13,xmm14,xmm15*/ \ + 6, 6, 6, 6, 6, 6, 6, 6, \ + /*xmm16,xmm17,xmm18,xmm19,xmm20,xmm21,xmm22,xmm23*/ \ +- 6, 6, 6, 6, 6, 6, 6, 6, \ ++ 1, 1, 1, 1, 1, 1, 1, 1, \ + /*xmm24,xmm25,xmm26,xmm27,xmm28,xmm29,xmm30,xmm31*/ \ +- 6, 6, 6, 6, 6, 6, 6, 6, \ ++ 1, 1, 1, 1, 1, 1, 1, 1, \ + /* k0, k1, k2, k3, k4, k5, k6, k7*/ \ + 1, 1, 1, 1, 1, 1, 1, 1, \ + /* b0, b1, b2, b3*/ \ +@@ -2227,6 +2227,31 @@ extern int const svr4_dbx_register_map[FIRST_PSEUDO_REGISTER]; + #define ASM_OUTPUT_FUNCTION_LABEL(FILE, NAME, DECL) \ + ix86_asm_output_function_label ((FILE), (NAME), (DECL)) + ++/* A C statement (sans semicolon) to output a reference to SYMBOL_REF SYM. ++ If not defined, assemble_name will be used to output the name of the ++ symbol. This macro may be used to modify the way a symbol is referenced ++ depending on information encoded by TARGET_ENCODE_SECTION_INFO. */ ++ ++#ifndef ASM_OUTPUT_SYMBOL_REF ++#define ASM_OUTPUT_SYMBOL_REF(FILE, SYM) \ ++ do { \ ++ const char *name \ ++ = assemble_name_resolve (XSTR (x, 0)); \ ++ /* In -masm=att wrap identifiers that start with $ \ ++ into parens. */ \ ++ if (ASSEMBLER_DIALECT == ASM_ATT \ ++ && name[0] == '$' \ ++ && user_label_prefix[0] == '\0') \ ++ { \ ++ fputc ('(', (FILE)); \ ++ assemble_name_raw ((FILE), name); \ ++ fputc (')', (FILE)); \ ++ } \ ++ else \ ++ assemble_name_raw ((FILE), name); \ ++ } while (0) ++#endif ++ + /* Under some conditions we need jump tables in the text section, + because the assembler cannot handle label differences between + sections. This is the case for x86_64 on Mach-O for example. */ +--- a/src/gcc/config/i386/i386.md ++++ b/src/gcc/config/i386/i386.md +@@ -8942,7 +8942,24 @@ + [(parallel [(set (match_dup 0) + (zero_extend:DI (and:SI (match_dup 1) (match_dup 2)))) + (clobber (reg:CC FLAGS_REG))])] +- "operands[2] = gen_lowpart (SImode, operands[2]);") ++{ ++ if (GET_CODE (operands[2]) == SYMBOL_REF ++ || GET_CODE (operands[2]) == LABEL_REF) ++ { ++ operands[2] = shallow_copy_rtx (operands[2]); ++ PUT_MODE (operands[2], SImode); ++ } ++ else if (GET_CODE (operands[2]) == CONST) ++ { ++ /* (const:DI (plus:DI (symbol_ref:DI ("...")) (const_int N))) */ ++ operands[2] = copy_rtx (operands[2]); ++ PUT_MODE (operands[2], SImode); ++ PUT_MODE (XEXP (operands[2], 0), SImode); ++ PUT_MODE (XEXP (XEXP (operands[2], 0), 0), SImode); ++ } ++ else ++ operands[2] = gen_lowpart (SImode, operands[2]); ++}) + + ;; See comment for addsi_1_zext why we do use nonimmediate_operand + (define_insn "*andsi_1_zext" +--- a/src/gcc/config/i386/intelmic-mkoffload.c ++++ b/src/gcc/config/i386/intelmic-mkoffload.c +@@ -453,8 +453,6 @@ prepare_target_image (const char *target_compiler, int argc, char **argv) + if (verbose) + obstack_ptr_grow (&argv_obstack, "-v"); + obstack_ptr_grow (&argv_obstack, "-xlto"); +- obstack_ptr_grow (&argv_obstack, "-shared"); +- obstack_ptr_grow (&argv_obstack, "-fPIC"); + obstack_ptr_grow (&argv_obstack, opt1); + for (int i = 1; i < argc; i++) + { +@@ -466,6 +464,9 @@ prepare_target_image (const char *target_compiler, int argc, char **argv) + if (!out_obj_filename) + fatal_error (input_location, "output file not specified"); + obstack_ptr_grow (&argv_obstack, opt2); ++ /* NB: Put -fPIC and -shared the last to create shared library. */ ++ obstack_ptr_grow (&argv_obstack, "-fPIC"); ++ obstack_ptr_grow (&argv_obstack, "-shared"); + obstack_ptr_grow (&argv_obstack, "-o"); + obstack_ptr_grow (&argv_obstack, target_so_filename); + compile_for_target (&argv_obstack); +--- a/src/gcc/config/i386/sse.md ++++ b/src/gcc/config/i386/sse.md +@@ -1537,7 +1537,7 @@ + [(set (match_operand:SWI1248_AVX512BWDQ 0 "register_operand" "=k") + (any_lshift:SWI1248_AVX512BWDQ + (match_operand:SWI1248_AVX512BWDQ 1 "register_operand" "k") +- (match_operand:QI 2 "immediate_operand" "n"))) ++ (match_operand 2 "const_0_to_255_operand" "n"))) + (unspec [(const_int 0)] UNSPEC_MASKOP)] + "TARGET_AVX512F" + "k\t{%2, %1, %0|%0, %1, %2}" +@@ -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, true); + DONE; +@@ -3075,13 +3075,19 @@ + (match_operand: 3 "register_operand")))] + "TARGET_AVX512BW") + ++;; As vcondv4div4df and vcondv8siv8sf are enabled already with TARGET_AVX, ++;; and their condition can be folded late into a constant, we need to ++;; support vcond_mask_v4div4di and vcond_mask_v8siv8si for TARGET_AVX. ++(define_mode_iterator VI_256_AVX2 [(V32QI "TARGET_AVX2") (V16HI "TARGET_AVX2") ++ V8SI V4DI]) ++ + (define_expand "vcond_mask_" +- [(set (match_operand:VI_256 0 "register_operand") +- (vec_merge:VI_256 +- (match_operand:VI_256 1 "nonimmediate_operand") +- (match_operand:VI_256 2 "vector_move_operand") ++ [(set (match_operand:VI_256_AVX2 0 "register_operand") ++ (vec_merge:VI_256_AVX2 ++ (match_operand:VI_256_AVX2 1 "nonimmediate_operand") ++ (match_operand:VI_256_AVX2 2 "vector_move_operand") + (match_operand: 3 "register_operand")))] +- "TARGET_AVX2" ++ "TARGET_AVX" + { + ix86_expand_sse_movcc (operands[0], operands[3], + operands[1], operands[2]); +@@ -7599,13 +7605,16 @@ + (set_attr "prefix" "evex") + (set_attr "mode" "")]) + ++(define_mode_iterator VI48F_256_DQ ++ [V8SI V8SF (V4DI "TARGET_AVX512DQ") (V4DF "TARGET_AVX512DQ")]) ++ + (define_expand "avx512vl_vextractf128" + [(match_operand: 0 "nonimmediate_operand") +- (match_operand:VI48F_256 1 "register_operand") ++ (match_operand:VI48F_256_DQ 1 "register_operand") + (match_operand:SI 2 "const_0_to_1_operand") + (match_operand: 3 "vector_move_operand") + (match_operand:QI 4 "register_operand")] +- "TARGET_AVX512DQ && TARGET_AVX512VL" ++ "TARGET_AVX512VL" + { + rtx (*insn)(rtx, rtx, rtx, rtx); + rtx dest = operands[0]; +@@ -7673,14 +7682,19 @@ + (const_int 4) (const_int 5) + (const_int 6) (const_int 7)])))] + "TARGET_AVX512F +- && ++ && + && ( || !(MEM_P (operands[0]) && MEM_P (operands[1])))" + { + if ( + || (!TARGET_AVX512VL + && !REG_P (operands[0]) + && EXT_REX_SSE_REG_P (operands[1]))) +- return "vextract32x8\t{$0x0, %1, %0|%0, %1, 0x0}"; ++ { ++ if (TARGET_AVX512DQ) ++ return "vextract32x8\t{$0x0, %1, %0|%0, %1, 0x0}"; ++ else ++ return "vextract64x4\t{$0x0, %1, %0|%0, %1, 0x0}"; ++ } + else + return "#"; + } +@@ -7790,7 +7804,7 @@ + (parallel [(const_int 0) (const_int 1) + (const_int 2) (const_int 3)])))] + "TARGET_AVX +- && && ++ && + && ( || !(MEM_P (operands[0]) && MEM_P (operands[1])))" + { + if () +@@ -15172,7 +15186,7 @@ + } + }) + +-(define_insn "abs2" ++(define_insn "ssse3_abs2" + [(set (match_operand:MMXMODEI 0 "register_operand" "=y") + (abs:MMXMODEI + (match_operand:MMXMODEI 1 "nonimmediate_operand" "ym")))] +@@ -16271,9 +16285,9 @@ + case 3: + /* %X5 so that we don't emit any *WORD PTR for -masm=intel, as + gas changed what it requires incompatibly. */ +- return "vgatherpf0ps\t{%5%{%0%}|%X5%{%0%}}"; ++ return "%M2vgatherpf0ps\t{%5%{%0%}|%X5%{%0%}}"; + case 2: +- return "vgatherpf1ps\t{%5%{%0%}|%X5%{%0%}}"; ++ return "%M2vgatherpf1ps\t{%5%{%0%}|%X5%{%0%}}"; + default: + gcc_unreachable (); + } +@@ -16318,9 +16332,9 @@ + case 3: + /* %X5 so that we don't emit any *WORD PTR for -masm=intel, as + gas changed what it requires incompatibly. */ +- return "vgatherpf0pd\t{%5%{%0%}|%X5%{%0%}}"; ++ return "%M2vgatherpf0pd\t{%5%{%0%}|%X5%{%0%}}"; + case 2: +- return "vgatherpf1pd\t{%5%{%0%}|%X5%{%0%}}"; ++ return "%M2vgatherpf1pd\t{%5%{%0%}|%X5%{%0%}}"; + default: + gcc_unreachable (); + } +@@ -16366,10 +16380,10 @@ + case 7: + /* %X5 so that we don't emit any *WORD PTR for -masm=intel, as + gas changed what it requires incompatibly. */ +- return "vscatterpf0ps\t{%5%{%0%}|%X5%{%0%}}"; ++ return "%M2vscatterpf0ps\t{%5%{%0%}|%X5%{%0%}}"; + case 2: + case 6: +- return "vscatterpf1ps\t{%5%{%0%}|%X5%{%0%}}"; ++ return "%M2vscatterpf1ps\t{%5%{%0%}|%X5%{%0%}}"; + default: + gcc_unreachable (); + } +@@ -16415,10 +16429,10 @@ + case 7: + /* %X5 so that we don't emit any *WORD PTR for -masm=intel, as + gas changed what it requires incompatibly. */ +- return "vscatterpf0pd\t{%5%{%0%}|%X5%{%0%}}"; ++ return "%M2vscatterpf0pd\t{%5%{%0%}|%X5%{%0%}}"; + case 2: + case 6: +- return "vscatterpf1pd\t{%5%{%0%}|%X5%{%0%}}"; ++ return "%M2vscatterpf1pd\t{%5%{%0%}|%X5%{%0%}}"; + default: + gcc_unreachable (); + } +@@ -19157,7 +19171,7 @@ + UNSPEC_GATHER)) + (clobber (match_scratch:VEC_GATHER_MODE 1 "=&x"))] + "TARGET_AVX2" +- "vgatherd\t{%1, %7, %0|%0, %7, %1}" ++ "%M3vgatherd\t{%1, %7, %0|%0, %7, %1}" + [(set_attr "type" "ssemov") + (set_attr "prefix" "vex") + (set_attr "mode" "")]) +@@ -19177,7 +19191,7 @@ + UNSPEC_GATHER)) + (clobber (match_scratch:VEC_GATHER_MODE 1 "=&x"))] + "TARGET_AVX2" +- "vgatherd\t{%1, %6, %0|%0, %6, %1}" ++ "%M2vgatherd\t{%1, %6, %0|%0, %6, %1}" + [(set_attr "type" "ssemov") + (set_attr "prefix" "vex") + (set_attr "mode" "")]) +@@ -19218,7 +19232,7 @@ + UNSPEC_GATHER)) + (clobber (match_scratch:VEC_GATHER_MODE 1 "=&x"))] + "TARGET_AVX2" +- "vgatherq\t{%5, %7, %2|%2, %7, %5}" ++ "%M3vgatherq\t{%5, %7, %2|%2, %7, %5}" + [(set_attr "type" "ssemov") + (set_attr "prefix" "vex") + (set_attr "mode" "")]) +@@ -19240,8 +19254,8 @@ + "TARGET_AVX2" + { + if (mode != mode) +- return "vgatherq\t{%4, %6, %x0|%x0, %6, %4}"; +- return "vgatherq\t{%4, %6, %0|%0, %6, %4}"; ++ return "%M2vgatherq\t{%4, %6, %x0|%x0, %6, %4}"; ++ return "%M2vgatherq\t{%4, %6, %0|%0, %6, %4}"; + } + [(set_attr "type" "ssemov") + (set_attr "prefix" "vex") +@@ -19265,7 +19279,7 @@ + (const_int 2) (const_int 3)]))) + (clobber (match_scratch:VI4F_256 1 "=&x"))] + "TARGET_AVX2" +- "vgatherq\t{%5, %7, %0|%0, %7, %5}" ++ "%M3vgatherq\t{%5, %7, %0|%0, %7, %5}" + [(set_attr "type" "ssemov") + (set_attr "prefix" "vex") + (set_attr "mode" "")]) +@@ -19288,7 +19302,7 @@ + (const_int 2) (const_int 3)]))) + (clobber (match_scratch:VI4F_256 1 "=&x"))] + "TARGET_AVX2" +- "vgatherq\t{%4, %6, %0|%0, %6, %4}" ++ "%M2vgatherq\t{%4, %6, %0|%0, %6, %4}" + [(set_attr "type" "ssemov") + (set_attr "prefix" "vex") + (set_attr "mode" "")]) +@@ -19328,7 +19342,7 @@ + "TARGET_AVX512F" + ;; %X6 so that we don't emit any *WORD PTR for -masm=intel, as + ;; gas changed what it requires incompatibly. +- "vgatherd\t{%6, %0%{%2%}|%0%{%2%}, %X6}" ++ "%M4vgatherd\t{%6, %0%{%2%}|%0%{%2%}, %X6}" + [(set_attr "type" "ssemov") + (set_attr "prefix" "evex") + (set_attr "mode" "")]) +@@ -19349,7 +19363,7 @@ + "TARGET_AVX512F" + ;; %X5 so that we don't emit any *WORD PTR for -masm=intel, as + ;; gas changed what it requires incompatibly. +- "vgatherd\t{%5, %0%{%1%}|%0%{%1%}, %X5}" ++ "%M3vgatherd\t{%5, %0%{%1%}|%0%{%1%}, %X5}" + [(set_attr "type" "ssemov") + (set_attr "prefix" "evex") + (set_attr "mode" "")]) +@@ -19390,7 +19404,7 @@ + "TARGET_AVX512F" + ;; %X6 so that we don't emit any *WORD PTR for -masm=intel, as + ;; gas changed what it requires incompatibly. +- "vgatherq\t{%6, %1%{%2%}|%1%{%2%}, %X6}" ++ "%M4vgatherq\t{%6, %1%{%2%}|%1%{%2%}, %X6}" + [(set_attr "type" "ssemov") + (set_attr "prefix" "evex") + (set_attr "mode" "")]) +@@ -19415,11 +19429,11 @@ + if (mode != mode) + { + if ( != 64) +- return "vgatherq\t{%5, %x0%{%1%}|%x0%{%1%}, %X5}"; ++ return "%M3vgatherq\t{%5, %x0%{%1%}|%x0%{%1%}, %X5}"; + else +- return "vgatherq\t{%5, %t0%{%1%}|%t0%{%1%}, %X5}"; ++ return "%M3vgatherq\t{%5, %t0%{%1%}|%t0%{%1%}, %X5}"; + } +- return "vgatherq\t{%5, %0%{%1%}|%0%{%1%}, %X5}"; ++ return "%M3vgatherq\t{%5, %0%{%1%}|%0%{%1%}, %X5}"; + } + [(set_attr "type" "ssemov") + (set_attr "prefix" "evex") +@@ -19458,7 +19472,7 @@ + "TARGET_AVX512F" + ;; %X5 so that we don't emit any *WORD PTR for -masm=intel, as + ;; gas changed what it requires incompatibly. +- "vscatterd\t{%3, %5%{%1%}|%X5%{%1%}, %3}" ++ "%M0vscatterd\t{%3, %5%{%1%}|%X5%{%1%}, %3}" + [(set_attr "type" "ssemov") + (set_attr "prefix" "evex") + (set_attr "mode" "")]) +@@ -19496,7 +19510,7 @@ + "TARGET_AVX512F" + ;; %X5 so that we don't emit any *WORD PTR for -masm=intel, as + ;; gas changed what it requires incompatibly. +- "vscatterq\t{%3, %5%{%1%}|%X5%{%1%}, %3}" ++ "%M0vscatterq\t{%3, %5%{%1%}|%X5%{%1%}, %3}" + [(set_attr "type" "ssemov") + (set_attr "prefix" "evex") + (set_attr "mode" "")]) +@@ -19636,7 +19650,7 @@ + [(set (match_operand: 0 "register_operand" "=Yk") + (unspec: + [(match_operand:VF_AVX512VL 1 "register_operand" "v") +- (match_operand:QI 2 "const_0_to_255_operand" "n")] ++ (match_operand 2 "const_0_to_255_operand" "n")] + UNSPEC_FPCLASS))] + "TARGET_AVX512DQ" + "vfpclass\t{%2, %1, %0|%0, %1, %2}"; +@@ -19650,7 +19664,7 @@ + (and: + (unspec: + [(match_operand:VF_128 1 "register_operand" "v") +- (match_operand:QI 2 "const_0_to_255_operand" "n")] ++ (match_operand 2 "const_0_to_255_operand" "n")] + UNSPEC_FPCLASS) + (const_int 1)))] + "TARGET_AVX512DQ" +@@ -20255,7 +20269,7 @@ + (unspec:VI1_AVX512F + [(match_operand:VI1_AVX512F 1 "register_operand" "%0,x,v") + (match_operand:VI1_AVX512F 2 "nonimmediate_operand" "xBm,xm,vm") +- (match_operand:QI 3 "const_0_to_255_operand" "n,n,n")] ++ (match_operand 3 "const_0_to_255_operand" "n,n,n")] + UNSPEC_GF2P8AFFINEINV))] + "TARGET_GFNI" + "@ +@@ -20273,7 +20287,7 @@ + (unspec:VI1_AVX512F + [(match_operand:VI1_AVX512F 1 "register_operand" "%0,x,v") + (match_operand:VI1_AVX512F 2 "nonimmediate_operand" "xBm,xm,vm") +- (match_operand:QI 3 "const_0_to_255_operand" "n,n,n")] ++ (match_operand 3 "const_0_to_255_operand" "n,n,n")] + UNSPEC_GF2P8AFFINE))] + "TARGET_GFNI" + "@ +deleted file mode 100644 +--- a/src/gcc/config/i386/t-darwin ++++ /dev/null +@@ -1,2 +0,0 @@ +-MULTILIB_OPTIONS = m64 +-MULTILIB_DIRNAMES = x86_64 +new file mode 100644 +--- /dev/null ++++ b/src/gcc/config/i386/t-darwin32-biarch +@@ -0,0 +1,2 @@ ++MULTILIB_OPTIONS = m64 ++MULTILIB_DIRNAMES = x86_64 +deleted file mode 100644 +--- a/src/gcc/config/i386/t-darwin64 ++++ /dev/null +@@ -1,2 +0,0 @@ +-MULTILIB_OPTIONS = m32 +-MULTILIB_DIRNAMES = i386 +new file mode 100644 +--- /dev/null ++++ b/src/gcc/config/i386/t-darwin64-biarch +@@ -0,0 +1,2 @@ ++MULTILIB_OPTIONS = m32 ++MULTILIB_DIRNAMES = i386 +new file mode 100644 +--- /dev/null ++++ b/src/gcc/config/i386/t-freebsd64 +@@ -0,0 +1,30 @@ ++# Copyright (C) 2019 Free Software Foundation, Inc. ++# ++# 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 ++# . ++ ++# The 32-bit libraries are found in /usr/lib32 ++ ++# To support i386 and x86-64, the directory structrue ++# should be: ++# ++# /lib has x86-64 libraries. ++# /lib32 has i386 libraries. ++# ++ ++MULTILIB_OPTIONS = m32 ++MULTILIB_DIRNAMES = 32 ++MULTILIB_OSDIRNAMES = ../lib32 +--- a/src/gcc/config/mips/mips.c ++++ b/src/gcc/config/mips/mips.c +@@ -9532,7 +9532,7 @@ mips_dwarf_frame_reg_mode (int regno) + { + machine_mode mode = default_dwarf_frame_reg_mode (regno); + +- if (FP_REG_P (regno) && mips_abi == ABI_32 && TARGET_FLOAT64) ++ if (FP_REG_P (regno) && mips_abi == ABI_32 && !TARGET_FLOAT32) + mode = SImode; + + return mode; +@@ -16788,6 +16788,19 @@ mips_expand_builtin_insn (enum insn_code icode, unsigned int nops, + std::swap (ops[1], ops[2]); + break; + ++ case CODE_FOR_msa_maddv_b: ++ case CODE_FOR_msa_maddv_h: ++ case CODE_FOR_msa_maddv_w: ++ case CODE_FOR_msa_maddv_d: ++ case CODE_FOR_msa_fmadd_w: ++ case CODE_FOR_msa_fmadd_d: ++ case CODE_FOR_msa_fmsub_w: ++ case CODE_FOR_msa_fmsub_d: ++ /* fma(a, b, c) results into (a * b + c), however builtin_msa_fmadd expects ++ it to be (a + b * c). Swap the 1st and 3rd operands. */ ++ std::swap (ops[1], ops[3]); ++ break; ++ + case CODE_FOR_msa_slli_b: + case CODE_FOR_msa_slli_h: + case CODE_FOR_msa_slli_w: +--- a/src/gcc/config/mips/mips.md ++++ b/src/gcc/config/mips/mips.md +@@ -5772,8 +5772,8 @@ + "ISA_HAS_ROR" + { + if (CONST_INT_P (operands[2])) +- gcc_assert (INTVAL (operands[2]) >= 0 +- && INTVAL (operands[2]) < GET_MODE_BITSIZE (mode)); ++ operands[2] = GEN_INT (INTVAL (operands[2]) ++ & (GET_MODE_BITSIZE (mode) - 1)); + + return "ror\t%0,%1,%2"; + } +@@ -7502,7 +7502,7 @@ + ;; __builtin_mips_get_fcsr: move the FCSR into operand 0. + (define_expand "mips_get_fcsr" + [(set (match_operand:SI 0 "register_operand") +- (unspec_volatile [(const_int 0)] UNSPEC_GET_FCSR))] ++ (unspec_volatile:SI [(const_int 0)] UNSPEC_GET_FCSR))] + "TARGET_HARD_FLOAT_ABI" + { + if (TARGET_MIPS16) +@@ -7514,7 +7514,7 @@ + + (define_insn "*mips_get_fcsr" + [(set (match_operand:SI 0 "register_operand" "=d") +- (unspec_volatile [(const_int 0)] UNSPEC_GET_FCSR))] ++ (unspec_volatile:SI [(const_int 0)] UNSPEC_GET_FCSR))] + "TARGET_HARD_FLOAT" + "cfc1\t%0,$31") + +--- a/src/gcc/config/nvptx/nvptx.c ++++ b/src/gcc/config/nvptx/nvptx.c +@@ -1377,7 +1377,7 @@ nvptx_output_softstack_switch (FILE *file, bool entering, + fputs (";\n", file); + if (!CONST_INT_P (size) || UINTVAL (align) > GET_MODE_SIZE (DImode)) + fprintf (file, +- "\t\tand.u%d %%r%d, %%r%d, -" HOST_WIDE_INT_PRINT_DEC ";\n", ++ "\t\tand.b%d %%r%d, %%r%d, -" HOST_WIDE_INT_PRINT_DEC ";\n", + bits, regno, regno, UINTVAL (align)); + } + if (cfun->machine->has_softstack) +--- a/src/gcc/config/pa/pa-linux.h ++++ b/src/gcc/config/pa/pa-linux.h +@@ -101,7 +101,7 @@ along with GCC; see the file COPYING3. If not see + + /* FIXME: Hacked from the one so that we avoid multiple + labels in a function declaration (since pa.c seems determined to do +- it differently) */ ++ it differently). */ + + #undef ASM_DECLARE_FUNCTION_NAME + #define ASM_DECLARE_FUNCTION_NAME(FILE, NAME, DECL) \ +@@ -109,9 +109,14 @@ along with GCC; see the file COPYING3. If not see + { \ + ASM_OUTPUT_TYPE_DIRECTIVE (FILE, NAME, "function"); \ + ASM_DECLARE_RESULT (FILE, DECL_RESULT (DECL)); \ ++ pa_output_function_label (FILE); \ + } \ + while (0) + ++/* Output function prologue for linux. */ ++#undef TARGET_ASM_FUNCTION_PROLOGUE ++#define TARGET_ASM_FUNCTION_PROLOGUE pa_linux_output_function_prologue ++ + /* As well as globalizing the label, we need to encode the label + to ensure a plabel is generated in an indirect call. */ + +--- a/src/gcc/config/pa/pa-protos.h ++++ b/src/gcc/config/pa/pa-protos.h +@@ -108,5 +108,6 @@ extern void pa_asm_output_aligned_local (FILE *, const char *, + extern void pa_hpux_asm_output_external (FILE *, tree, const char *); + extern HOST_WIDE_INT pa_initial_elimination_offset (int, int); + extern HOST_WIDE_INT pa_function_arg_size (machine_mode, const_tree); ++extern void pa_output_function_label (FILE *); + + extern const int pa_magic_milli[]; +--- a/src/gcc/config/pa/pa.c ++++ b/src/gcc/config/pa/pa.c +@@ -118,11 +118,11 @@ static void set_reg_plus_d (int, int, HOST_WIDE_INT, int); + static rtx pa_function_value (const_tree, const_tree, bool); + static rtx pa_libcall_value (machine_mode, const_rtx); + static bool pa_function_value_regno_p (const unsigned int); +-static void pa_output_function_prologue (FILE *); ++static void pa_output_function_prologue (FILE *) ATTRIBUTE_UNUSED; ++static void pa_linux_output_function_prologue (FILE *) ATTRIBUTE_UNUSED; + static void update_total_code_bytes (unsigned int); + static void pa_output_function_epilogue (FILE *); + static int pa_adjust_cost (rtx_insn *, int, rtx_insn *, int, unsigned int); +-static int pa_adjust_priority (rtx_insn *, int); + static int pa_issue_rate (void); + static int pa_reloc_rw_mask (void); + static void pa_som_asm_init_sections (void) ATTRIBUTE_UNUSED; +@@ -263,8 +263,6 @@ static size_t n_deferred_plabels = 0; + #undef TARGET_ASM_INTEGER + #define TARGET_ASM_INTEGER pa_assemble_integer + +-#undef TARGET_ASM_FUNCTION_PROLOGUE +-#define TARGET_ASM_FUNCTION_PROLOGUE pa_output_function_prologue + #undef TARGET_ASM_FUNCTION_EPILOGUE + #define TARGET_ASM_FUNCTION_EPILOGUE pa_output_function_epilogue + +@@ -280,8 +278,6 @@ static size_t n_deferred_plabels = 0; + + #undef TARGET_SCHED_ADJUST_COST + #define TARGET_SCHED_ADJUST_COST pa_adjust_cost +-#undef TARGET_SCHED_ADJUST_PRIORITY +-#define TARGET_SCHED_ADJUST_PRIORITY pa_adjust_priority + #undef TARGET_SCHED_ISSUE_RATE + #define TARGET_SCHED_ISSUE_RATE pa_issue_rate + +@@ -3842,16 +3838,10 @@ pa_compute_frame_size (poly_int64 size, int *fregs_live) + & ~(PREFERRED_STACK_BOUNDARY / BITS_PER_UNIT - 1)); + } + +-/* On HP-PA, move-double insns between fpu and cpu need an 8-byte block +- of memory. If any fpu reg is used in the function, we allocate +- such a block here, at the bottom of the frame, just in case it's needed. ++/* Output function label, and associated .PROC and .CALLINFO statements. */ + +- If this function is a leaf procedure, then we may choose not +- to do a "save" insn. The decision about whether or not +- to do this is made in regclass.c. */ +- +-static void +-pa_output_function_prologue (FILE *file) ++void ++pa_output_function_label (FILE *file) + { + /* The function's label and associated .PROC must never be + separated and must be output *after* any profiling declarations +@@ -3897,7 +3887,22 @@ pa_output_function_prologue (FILE *file) + fprintf (file, ",ENTRY_FR=%d", fr_saved + 11); + + fputs ("\n\t.ENTRY\n", file); ++} + ++/* Output function prologue. */ ++ ++static void ++pa_output_function_prologue (FILE *file) ++{ ++ pa_output_function_label (file); ++ remove_useless_addtr_insns (0); ++} ++ ++/* The label is output by ASM_DECLARE_FUNCTION_NAME on linux. */ ++ ++static void ++pa_linux_output_function_prologue (FILE *file ATTRIBUTE_UNUSED) ++{ + remove_useless_addtr_insns (0); + } + +@@ -4569,10 +4574,6 @@ output_deferred_profile_counters (void) + void + hppa_profile_hook (int label_no) + { +- /* We use SImode for the address of the function in both 32 and +- 64-bit code to avoid having to provide DImode versions of the +- lcla2 and load_offset_label_address insn patterns. */ +- rtx reg = gen_reg_rtx (SImode); + rtx_code_label *label_rtx = gen_label_rtx (); + int reg_parm_stack_space = REG_PARM_STACK_SPACE (NULL_TREE); + rtx arg_bytes, begin_label_rtx, mcount, sym; +@@ -4604,18 +4605,13 @@ hppa_profile_hook (int label_no) + if (!use_mcount_pcrel_call) + { + /* The address of the function is loaded into %r25 with an instruction- +- relative sequence that avoids the use of relocations. The sequence +- is split so that the load_offset_label_address instruction can +- occupy the delay slot of the call to _mcount. */ ++ relative sequence that avoids the use of relocations. We use SImode ++ for the address of the function in both 32 and 64-bit code to avoid ++ having to provide DImode versions of the lcla2 pattern. */ + if (TARGET_PA_20) +- emit_insn (gen_lcla2 (reg, label_rtx)); ++ emit_insn (gen_lcla2 (gen_rtx_REG (SImode, 25), label_rtx)); + else +- emit_insn (gen_lcla1 (reg, label_rtx)); +- +- emit_insn (gen_load_offset_label_address (gen_rtx_REG (SImode, 25), +- reg, +- begin_label_rtx, +- label_rtx)); ++ emit_insn (gen_lcla1 (gen_rtx_REG (SImode, 25), label_rtx)); + } + + if (!NO_DEFERRED_PROFILE_COUNTERS) +@@ -4992,37 +4988,6 @@ pa_adjust_cost (rtx_insn *insn, int dep_type, rtx_insn *dep_insn, int cost, + } + } + +-/* Adjust scheduling priorities. We use this to try and keep addil +- and the next use of %r1 close together. */ +-static int +-pa_adjust_priority (rtx_insn *insn, int priority) +-{ +- rtx set = single_set (insn); +- rtx src, dest; +- if (set) +- { +- src = SET_SRC (set); +- dest = SET_DEST (set); +- if (GET_CODE (src) == LO_SUM +- && symbolic_operand (XEXP (src, 1), VOIDmode) +- && ! read_only_operand (XEXP (src, 1), VOIDmode)) +- priority >>= 3; +- +- else if (GET_CODE (src) == MEM +- && GET_CODE (XEXP (src, 0)) == LO_SUM +- && symbolic_operand (XEXP (XEXP (src, 0), 1), VOIDmode) +- && ! read_only_operand (XEXP (XEXP (src, 0), 1), VOIDmode)) +- priority >>= 1; +- +- else if (GET_CODE (dest) == MEM +- && GET_CODE (XEXP (dest, 0)) == LO_SUM +- && symbolic_operand (XEXP (XEXP (dest, 0), 1), VOIDmode) +- && ! read_only_operand (XEXP (XEXP (dest, 0), 1), VOIDmode)) +- priority >>= 3; +- } +- return priority; +-} +- + /* The 700 can only issue a single insn at a time. + The 7XXX processors can issue two insns at a time. + The 8000 can issue 4 insns at a time. */ +@@ -7888,7 +7853,7 @@ pa_attr_length_call (rtx_insn *insn, int sibcall) + + /* 64-bit plabel sequence. */ + else if (TARGET_64BIT && !local_call) +- length += sibcall ? 28 : 24; ++ length += 24; + + /* non-pic long absolute branch sequence. */ + else if ((TARGET_LONG_ABS_CALL || local_call) && !flag_pic) +@@ -7960,38 +7925,24 @@ pa_output_call (rtx_insn *insn, rtx call_dest, int sibcall) + xoperands[0] = pa_get_deferred_plabel (call_dest); + xoperands[1] = gen_label_rtx (); + +- /* If this isn't a sibcall, we put the load of %r27 into the +- delay slot. We can't do this in a sibcall as we don't +- have a second call-clobbered scratch register available. +- We don't need to do anything when generating fast indirect +- calls. */ +- if (seq_length != 0 && !sibcall) ++ /* Put the load of %r27 into the delay slot. We don't need to ++ do anything when generating fast indirect calls. */ ++ if (seq_length != 0) + { + final_scan_insn (NEXT_INSN (insn), asm_out_file, + optimize, 0, NULL); + + /* Now delete the delay insn. */ + SET_INSN_DELETED (NEXT_INSN (insn)); +- seq_length = 0; + } + + output_asm_insn ("addil LT'%0,%%r27", xoperands); + output_asm_insn ("ldd RT'%0(%%r1),%%r1", xoperands); + output_asm_insn ("ldd 0(%%r1),%%r1", xoperands); +- +- if (sibcall) +- { +- output_asm_insn ("ldd 24(%%r1),%%r27", xoperands); +- output_asm_insn ("ldd 16(%%r1),%%r1", xoperands); +- output_asm_insn ("bve (%%r1)", xoperands); +- } +- else +- { +- output_asm_insn ("ldd 16(%%r1),%%r2", xoperands); +- output_asm_insn ("bve,l (%%r2),%%r2", xoperands); +- output_asm_insn ("ldd 24(%%r1),%%r27", xoperands); +- seq_length = 1; +- } ++ output_asm_insn ("ldd 16(%%r1),%%r2", xoperands); ++ output_asm_insn ("bve,l (%%r2),%%r2", xoperands); ++ output_asm_insn ("ldd 24(%%r1),%%r27", xoperands); ++ seq_length = 1; + } + else + { +@@ -8084,20 +8035,22 @@ pa_output_call (rtx_insn *insn, rtx call_dest, int sibcall) + { + output_asm_insn ("addil LT'%0,%%r19", xoperands); + output_asm_insn ("ldw RT'%0(%%r1),%%r1", xoperands); +- output_asm_insn ("ldw 0(%%r1),%%r1", xoperands); ++ output_asm_insn ("ldw 0(%%r1),%%r22", xoperands); + } + else + { + output_asm_insn ("addil LR'%0-$global$,%%r27", + xoperands); +- output_asm_insn ("ldw RR'%0-$global$(%%r1),%%r1", ++ output_asm_insn ("ldw RR'%0-$global$(%%r1),%%r22", + xoperands); + } + +- output_asm_insn ("bb,>=,n %%r1,30,.+16", xoperands); +- output_asm_insn ("depi 0,31,2,%%r1", xoperands); +- output_asm_insn ("ldw 4(%%sr0,%%r1),%%r19", xoperands); +- output_asm_insn ("ldw 0(%%sr0,%%r1),%%r1", xoperands); ++ output_asm_insn ("bb,>=,n %%r22,30,.+16", xoperands); ++ output_asm_insn ("depi 0,31,2,%%r22", xoperands); ++ /* Should this be an ordered load to ensure the target ++ address is loaded before the global pointer? */ ++ output_asm_insn ("ldw 0(%%r22),%%r1", xoperands); ++ output_asm_insn ("ldw 4(%%r22),%%r19", xoperands); + + if (!sibcall && !TARGET_PA_20) + { +@@ -8190,10 +8143,6 @@ pa_attr_length_indirect_call (rtx_insn *insn) + if (TARGET_PORTABLE_RUNTIME) + return 16; + +- /* Inline version of $$dyncall. */ +- if ((TARGET_NO_SPACE_REGS || TARGET_PA_20) && !optimize_size) +- return 20; +- + if (!TARGET_LONG_CALLS + && ((TARGET_PA_20 && !TARGET_SOM && distance < 7600000) + || distance < MAX_PCREL17F_OFFSET)) +@@ -8203,12 +8152,15 @@ pa_attr_length_indirect_call (rtx_insn *insn) + if (!flag_pic) + return 12; + +- /* Inline version of $$dyncall. */ +- if (TARGET_NO_SPACE_REGS || TARGET_PA_20) +- return 20; +- ++ /* Inline versions of $$dyncall. */ + if (!optimize_size) +- return 36; ++ { ++ if (TARGET_NO_SPACE_REGS) ++ return 28; ++ ++ if (TARGET_PA_20) ++ return 32; ++ } + + /* Long PIC pc-relative call. */ + return 20; +@@ -8246,22 +8198,6 @@ pa_output_indirect_call (rtx_insn *insn, rtx call_dest) + return "blr %%r0,%%r2\n\tbv,n %%r0(%%r31)"; + } + +- /* Maybe emit a fast inline version of $$dyncall. */ +- if ((TARGET_NO_SPACE_REGS || TARGET_PA_20) && !optimize_size) +- { +- output_asm_insn ("bb,>=,n %%r22,30,.+12\n\t" +- "ldw 2(%%r22),%%r19\n\t" +- "ldw -2(%%r22),%%r22", xoperands); +- pa_output_arg_descriptor (insn); +- if (TARGET_NO_SPACE_REGS) +- { +- if (TARGET_PA_20) +- return "bve,l,n (%%r22),%%r2\n\tnop"; +- return "ble 0(%%sr4,%%r22)\n\tcopy %%r31,%%r2"; +- } +- return "bve,l (%%r22),%%r2\n\tstw %%r2,-24(%%sp)"; +- } +- + /* Now the normal case -- we can reach $$dyncall directly or + we're sure that we can get there via a long-branch stub. + +@@ -8290,35 +8226,40 @@ pa_output_indirect_call (rtx_insn *insn, rtx call_dest) + return "ble R'$$dyncall(%%sr4,%%r2)\n\tcopy %%r31,%%r2"; + } + +- /* Maybe emit a fast inline version of $$dyncall. The long PIC +- pc-relative call sequence is five instructions. The inline PA 2.0 +- version of $$dyncall is also five instructions. The PA 1.X versions +- are longer but still an overall win. */ +- if (TARGET_NO_SPACE_REGS || TARGET_PA_20 || !optimize_size) ++ /* The long PIC pc-relative call sequence is five instructions. So, ++ let's use an inline version of $$dyncall when the calling sequence ++ has a roughly similar number of instructions and we are not optimizing ++ for size. We need two instructions to load the return pointer plus ++ the $$dyncall implementation. */ ++ if (!optimize_size) + { +- output_asm_insn ("bb,>=,n %%r22,30,.+12\n\t" +- "ldw 2(%%r22),%%r19\n\t" +- "ldw -2(%%r22),%%r22", xoperands); + if (TARGET_NO_SPACE_REGS) + { + pa_output_arg_descriptor (insn); +- if (TARGET_PA_20) +- return "bve,l,n (%%r22),%%r2\n\tnop"; +- return "ble 0(%%sr4,%%r22)\n\tcopy %%r31,%%r2"; ++ output_asm_insn ("bl .+8,%%r2\n\t" ++ "ldo 20(%%r2),%%r2\n\t" ++ "extru,<> %%r22,30,1,%%r0\n\t" ++ "bv,n %%r0(%%r22)\n\t" ++ "ldw -2(%%r22),%%r21\n\t" ++ "bv %%r0(%%r21)\n\t" ++ "ldw 2(%%r22),%%r19", xoperands); ++ return ""; + } + if (TARGET_PA_20) + { + pa_output_arg_descriptor (insn); +- return "bve,l (%%r22),%%r2\n\tstw %%r2,-24(%%sp)"; ++ output_asm_insn ("bl .+8,%%r2\n\t" ++ "ldo 24(%%r2),%%r2\n\t" ++ "stw %%r2,-24(%%sp)\n\t" ++ "extru,<> %r22,30,1,%%r0\n\t" ++ "bve,n (%%r22)\n\t" ++ "ldw -2(%%r22),%%r21\n\t" ++ "bve (%%r21)\n\t" ++ "ldw 2(%%r22),%%r19", xoperands); ++ return ""; + } +- output_asm_insn ("bl .+8,%%r2\n\t" +- "ldo 16(%%r2),%%r2\n\t" +- "ldsid (%%r22),%%r1\n\t" +- "mtsp %%r1,%%sr0", xoperands); +- pa_output_arg_descriptor (insn); +- return "be 0(%%sr0,%%r22)\n\tstw %%r2,-24(%%sp)"; + } +- ++ + /* We need a long PIC call to $$dyncall. */ + xoperands[0] = gen_rtx_SYMBOL_REF (Pmode, "$$dyncall"); + xoperands[1] = gen_rtx_REG (Pmode, 2); +@@ -10039,10 +9980,11 @@ pa_can_change_mode_class (machine_mode from, machine_mode to, + /* There is no way to load QImode or HImode values directly from memory + to a FP register. SImode loads to the FP registers are not zero + extended. On the 64-bit target, this conflicts with the definition +- of LOAD_EXTEND_OP. Thus, we can't allow changing between modes with +- different sizes in the floating-point registers. */ ++ of LOAD_EXTEND_OP. Thus, we reject all mode changes in the FP registers ++ except for DImode to SImode on the 64-bit target. It is handled by ++ register renaming in pa_print_operand. */ + if (MAYBE_FP_REG_CLASS_P (rclass)) +- return false; ++ return TARGET_64BIT && from == DImode && to == SImode; + + /* TARGET_HARD_REGNO_MODE_OK places modes with sizes larger than a word + in specific sets of registers. Thus, we cannot allow changing +@@ -10076,7 +10018,7 @@ pa_modes_tieable_p (machine_mode mode1, machine_mode mode2) + + /* Length in units of the trampoline instruction code. */ + +-#define TRAMPOLINE_CODE_SIZE (TARGET_64BIT ? 24 : (TARGET_PA_20 ? 32 : 40)) ++#define TRAMPOLINE_CODE_SIZE (TARGET_64BIT ? 24 : (TARGET_PA_20 ? 36 : 48)) + + + /* Output assembler code for a block containing the constant parts +@@ -10097,27 +10039,46 @@ pa_asm_trampoline_template (FILE *f) + { + if (!TARGET_64BIT) + { +- fputs ("\tldw 36(%r22),%r21\n", f); +- fputs ("\tbb,>=,n %r21,30,.+16\n", f); +- if (ASSEMBLER_DIALECT == 0) +- fputs ("\tdepi 0,31,2,%r21\n", f); +- else +- fputs ("\tdepwi 0,31,2,%r21\n", f); +- fputs ("\tldw 4(%r21),%r19\n", f); +- fputs ("\tldw 0(%r21),%r21\n", f); + if (TARGET_PA_20) + { +- fputs ("\tbve (%r21)\n", f); +- fputs ("\tldw 40(%r22),%r29\n", f); ++ fputs ("\tmfia %r20\n", f); ++ fputs ("\tldw 48(%r20),%r22\n", f); ++ fputs ("\tcopy %r22,%r21\n", f); ++ fputs ("\tbb,>=,n %r22,30,.+16\n", f); ++ fputs ("\tdepwi 0,31,2,%r22\n", f); ++ fputs ("\tldw 0(%r22),%r21\n", f); ++ fputs ("\tldw 4(%r22),%r19\n", f); ++ fputs ("\tbve (%r21)\n", f); ++ fputs ("\tldw 52(%r1),%r29\n", f); ++ fputs ("\t.word 0\n", f); + fputs ("\t.word 0\n", f); + fputs ("\t.word 0\n", f); + } + else + { ++ if (ASSEMBLER_DIALECT == 0) ++ { ++ fputs ("\tbl .+8,%r20\n", f); ++ fputs ("\tdepi 0,31,2,%r20\n", f); ++ } ++ else ++ { ++ fputs ("\tb,l .+8,%r20\n", f); ++ fputs ("\tdepwi 0,31,2,%r20\n", f); ++ } ++ fputs ("\tldw 40(%r20),%r22\n", f); ++ fputs ("\tcopy %r22,%r21\n", f); ++ fputs ("\tbb,>=,n %r22,30,.+16\n", f); ++ if (ASSEMBLER_DIALECT == 0) ++ fputs ("\tdepi 0,31,2,%r22\n", f); ++ else ++ fputs ("\tdepwi 0,31,2,%r22\n", f); ++ fputs ("\tldw 0(%r22),%r21\n", f); ++ fputs ("\tldw 4(%r22),%r19\n", f); + fputs ("\tldsid (%r21),%r1\n", f); + fputs ("\tmtsp %r1,%sr0\n", f); +- fputs ("\tbe 0(%sr0,%r21)\n", f); +- fputs ("\tldw 40(%r22),%r29\n", f); ++ fputs ("\tbe 0(%sr0,%r21)\n", f); ++ fputs ("\tldw 44(%r20),%r29\n", f); + } + fputs ("\t.word 0\n", f); + fputs ("\t.word 0\n", f); +@@ -10131,11 +10092,11 @@ pa_asm_trampoline_template (FILE *f) + fputs ("\t.dword 0\n", f); + fputs ("\t.dword 0\n", f); + fputs ("\tmfia %r31\n", f); +- fputs ("\tldd 24(%r31),%r1\n", f); +- fputs ("\tldd 24(%r1),%r27\n", f); +- fputs ("\tldd 16(%r1),%r1\n", f); +- fputs ("\tbve (%r1)\n", f); ++ fputs ("\tldd 24(%r31),%r27\n", f); + fputs ("\tldd 32(%r31),%r31\n", f); ++ fputs ("\tldd 16(%r27),%r1\n", f); ++ fputs ("\tbve (%r1)\n", f); ++ fputs ("\tldd 24(%r27),%r27\n", f); + fputs ("\t.dword 0 ; fptr\n", f); + fputs ("\t.dword 0 ; static link\n", f); + } +@@ -10145,10 +10106,10 @@ pa_asm_trampoline_template (FILE *f) + FNADDR is an RTX for the address of the function's pure code. + CXT is an RTX for the static chain value for the function. + +- Move the function address to the trampoline template at offset 36. +- Move the static chain value to trampoline template at offset 40. +- Move the trampoline address to trampoline template at offset 44. +- Move r19 to trampoline template at offset 48. The latter two ++ Move the function address to the trampoline template at offset 48. ++ Move the static chain value to trampoline template at offset 52. ++ Move the trampoline address to trampoline template at offset 56. ++ Move r19 to trampoline template at offset 60. The latter two + words create a plabel for the indirect call to the trampoline. + + A similar sequence is used for the 64-bit port but the plabel is +@@ -10174,15 +10135,15 @@ pa_trampoline_init (rtx m_tramp, tree fndecl, rtx chain_value) + + if (!TARGET_64BIT) + { +- tmp = adjust_address (m_tramp, Pmode, 36); ++ tmp = adjust_address (m_tramp, Pmode, 48); + emit_move_insn (tmp, fnaddr); +- tmp = adjust_address (m_tramp, Pmode, 40); ++ tmp = adjust_address (m_tramp, Pmode, 52); + emit_move_insn (tmp, chain_value); + + /* Create a fat pointer for the trampoline. */ +- tmp = adjust_address (m_tramp, Pmode, 44); ++ tmp = adjust_address (m_tramp, Pmode, 56); + emit_move_insn (tmp, r_tramp); +- tmp = adjust_address (m_tramp, Pmode, 48); ++ tmp = adjust_address (m_tramp, Pmode, 60); + emit_move_insn (tmp, gen_rtx_REG (Pmode, 19)); + + /* fdc and fic only use registers for the address to flush, +@@ -10234,20 +10195,20 @@ pa_trampoline_init (rtx m_tramp, tree fndecl, rtx chain_value) + } + + #ifdef HAVE_ENABLE_EXECUTE_STACK +-  emit_library_call (gen_rtx_SYMBOL_REF (Pmode, "__enable_execute_stack"), ++ emit_library_call (gen_rtx_SYMBOL_REF (Pmode, "__enable_execute_stack"), + LCT_NORMAL, VOIDmode, XEXP (m_tramp, 0), Pmode); + #endif + } + + /* Perform any machine-specific adjustment in the address of the trampoline. + ADDR contains the address that was passed to pa_trampoline_init. +- Adjust the trampoline address to point to the plabel at offset 44. */ ++ Adjust the trampoline address to point to the plabel at offset 56. */ + + static rtx + pa_trampoline_adjust_address (rtx addr) + { + if (!TARGET_64BIT) +- addr = memory_address (Pmode, plus_constant (Pmode, addr, 46)); ++ addr = memory_address (Pmode, plus_constant (Pmode, addr, 58)); + return addr; + } + +--- a/src/gcc/config/pa/pa.h ++++ b/src/gcc/config/pa/pa.h +@@ -689,7 +689,7 @@ extern int may_call_alloca; + + /* Length in units of the trampoline for entering a nested function. */ + +-#define TRAMPOLINE_SIZE (TARGET_64BIT ? 72 : 52) ++#define TRAMPOLINE_SIZE (TARGET_64BIT ? 72 : 64) + + /* Alignment required by the trampoline. */ + +@@ -1293,12 +1293,14 @@ do { \ + #endif + + /* The maximum offset in bytes for a PA 1.X pc-relative call to the +- head of the preceding stub table. The selected offsets have been +- chosen so that approximately one call stub is allocated for every +- 86.7 instructions. A long branch stub is two instructions when +- not generating PIC code. For HP-UX and ELF targets, PIC stubs are +- seven and four instructions, respectively. */ +-#define MAX_PCREL17F_OFFSET \ +- (flag_pic ? (TARGET_HPUX ? 198164 : 221312) : 240000) ++ head of the preceding stub table. A long branch stub is two or three ++ instructions for non-PIC and PIC, respectively. Import stubs are ++ seven and five instructions for HP-UX and ELF targets, respectively. ++ The default stub group size for ELF targets is 217856 bytes. ++ FIXME: We need an option to set the maximum offset. */ ++#define MAX_PCREL17F_OFFSET (TARGET_HPUX ? 198164 : 217856) + + #define NEED_INDICATE_EXEC_STACK 0 ++ ++/* Output default function prologue for hpux. */ ++#define TARGET_ASM_FUNCTION_PROLOGUE pa_output_function_prologue +--- a/src/gcc/config/pa/pa.md ++++ b/src/gcc/config/pa/pa.md +@@ -765,7 +765,7 @@ + + (define_insn "scc" + [(set (match_operand:SI 0 "register_operand" "=r") +- (match_operator:SI 3 "comparison_operator" ++ (match_operator:SI 3 "ordered_comparison_operator" + [(match_operand:SI 1 "reg_or_0_operand" "rM") + (match_operand:SI 2 "arith11_operand" "rI")]))] + "" +@@ -775,7 +775,7 @@ + + (define_insn "" + [(set (match_operand:DI 0 "register_operand" "=r") +- (match_operator:DI 3 "comparison_operator" ++ (match_operator:DI 3 "ordered_comparison_operator" + [(match_operand:DI 1 "reg_or_0_operand" "rM") + (match_operand:DI 2 "arith11_operand" "rI")]))] + "TARGET_64BIT" +@@ -785,10 +785,10 @@ + + (define_insn "iorscc" + [(set (match_operand:SI 0 "register_operand" "=r") +- (ior:SI (match_operator:SI 3 "comparison_operator" ++ (ior:SI (match_operator:SI 3 "ordered_comparison_operator" + [(match_operand:SI 1 "reg_or_0_operand" "rM") + (match_operand:SI 2 "arith11_operand" "rI")]) +- (match_operator:SI 6 "comparison_operator" ++ (match_operator:SI 6 "ordered_comparison_operator" + [(match_operand:SI 4 "reg_or_0_operand" "rM") + (match_operand:SI 5 "arith11_operand" "rI")])))] + "" +@@ -798,10 +798,10 @@ + + (define_insn "" + [(set (match_operand:DI 0 "register_operand" "=r") +- (ior:DI (match_operator:DI 3 "comparison_operator" ++ (ior:DI (match_operator:DI 3 "ordered_comparison_operator" + [(match_operand:DI 1 "reg_or_0_operand" "rM") + (match_operand:DI 2 "arith11_operand" "rI")]) +- (match_operator:DI 6 "comparison_operator" ++ (match_operator:DI 6 "ordered_comparison_operator" + [(match_operand:DI 4 "reg_or_0_operand" "rM") + (match_operand:DI 5 "arith11_operand" "rI")])))] + "TARGET_64BIT" +@@ -813,7 +813,7 @@ + ;; from an scc insn (negscc and incscc). + (define_insn "negscc" + [(set (match_operand:SI 0 "register_operand" "=r") +- (neg:SI (match_operator:SI 3 "comparison_operator" ++ (neg:SI (match_operator:SI 3 "ordered_comparison_operator" + [(match_operand:SI 1 "reg_or_0_operand" "rM") + (match_operand:SI 2 "arith11_operand" "rI")])))] + "" +@@ -823,7 +823,7 @@ + + (define_insn "" + [(set (match_operand:DI 0 "register_operand" "=r") +- (neg:DI (match_operator:DI 3 "comparison_operator" ++ (neg:DI (match_operator:DI 3 "ordered_comparison_operator" + [(match_operand:DI 1 "reg_or_0_operand" "rM") + (match_operand:DI 2 "arith11_operand" "rI")])))] + "TARGET_64BIT" +@@ -904,7 +904,7 @@ + + (define_insn "incscc" + [(set (match_operand:SI 0 "register_operand" "=r,r") +- (plus:SI (match_operator:SI 4 "comparison_operator" ++ (plus:SI (match_operator:SI 4 "ordered_comparison_operator" + [(match_operand:SI 2 "register_operand" "r,r") + (match_operand:SI 3 "arith11_operand" "rI,rI")]) + (match_operand:SI 1 "register_operand" "0,?r")))] +@@ -917,7 +917,7 @@ + + (define_insn "" + [(set (match_operand:DI 0 "register_operand" "=r,r") +- (plus:DI (match_operator:DI 4 "comparison_operator" ++ (plus:DI (match_operator:DI 4 "ordered_comparison_operator" + [(match_operand:DI 2 "register_operand" "r,r") + (match_operand:DI 3 "arith11_operand" "rI,rI")]) + (match_operand:DI 1 "register_operand" "0,?r")))] +@@ -1062,7 +1062,7 @@ + (define_insn "decscc" + [(set (match_operand:SI 0 "register_operand" "=r,r") + (minus:SI (match_operand:SI 1 "register_operand" "0,?r") +- (match_operator:SI 4 "comparison_operator" ++ (match_operator:SI 4 "ordered_comparison_operator" + [(match_operand:SI 2 "register_operand" "r,r") + (match_operand:SI 3 "arith11_operand" "rI,rI")])))] + "" +@@ -1075,7 +1075,7 @@ + (define_insn "" + [(set (match_operand:DI 0 "register_operand" "=r,r") + (minus:DI (match_operand:DI 1 "register_operand" "0,?r") +- (match_operator:DI 4 "comparison_operator" ++ (match_operator:DI 4 "ordered_comparison_operator" + [(match_operand:DI 2 "register_operand" "r,r") + (match_operand:DI 3 "arith11_operand" "rI,rI")])))] + "TARGET_64BIT" +@@ -1242,7 +1242,7 @@ + (define_expand "movsicc" + [(set (match_operand:SI 0 "register_operand" "") + (if_then_else:SI +- (match_operand 1 "comparison_operator" "") ++ (match_operand 1 "ordered_comparison_operator" "") + (match_operand:SI 2 "reg_or_cint_move_operand" "") + (match_operand:SI 3 "reg_or_cint_move_operand" "")))] + "" +@@ -1264,7 +1264,7 @@ + (define_insn "" + [(set (match_operand:SI 0 "register_operand" "=r,r,r,r") + (if_then_else:SI +- (match_operator 2 "comparison_operator" ++ (match_operator 2 "ordered_comparison_operator" + [(match_operand:SI 3 "register_operand" "r,r,r,r") + (match_operand:SI 4 "arith11_operand" "rI,rI,rI,rI")]) + (match_operand:SI 1 "reg_or_cint_move_operand" "0,J,N,K") +@@ -1281,7 +1281,7 @@ + (define_insn "" + [(set (match_operand:SI 0 "register_operand" "=r,r,r,r,r,r,r,r") + (if_then_else:SI +- (match_operator 5 "comparison_operator" ++ (match_operator 5 "ordered_comparison_operator" + [(match_operand:SI 3 "register_operand" "r,r,r,r,r,r,r,r") + (match_operand:SI 4 "arith11_operand" "rI,rI,rI,rI,rI,rI,rI,rI")]) + (match_operand:SI 1 "reg_or_cint_move_operand" "0,0,0,0,r,J,N,K") +@@ -1302,7 +1302,7 @@ + (define_expand "movdicc" + [(set (match_operand:DI 0 "register_operand" "") + (if_then_else:DI +- (match_operand 1 "comparison_operator" "") ++ (match_operand 1 "ordered_comparison_operator" "") + (match_operand:DI 2 "reg_or_cint_move_operand" "") + (match_operand:DI 3 "reg_or_cint_move_operand" "")))] + "TARGET_64BIT" +@@ -1318,7 +1318,7 @@ + (define_insn "" + [(set (match_operand:DI 0 "register_operand" "=r,r,r,r,r") + (if_then_else:DI +- (match_operator 2 "comparison_operator" ++ (match_operator 2 "ordered_comparison_operator" + [(match_operand:DI 3 "register_operand" "r,r,r,r,r") + (match_operand:DI 4 "arith11_operand" "rI,rI,rI,rI,rI")]) + (match_operand:DI 1 "reg_or_cint_move_operand" "0,r,J,N,K") +@@ -1336,7 +1336,7 @@ + (define_insn "" + [(set (match_operand:DI 0 "register_operand" "=r,r,r,r,r,r,r,r") + (if_then_else:DI +- (match_operator 5 "comparison_operator" ++ (match_operator 5 "ordered_comparison_operator" + [(match_operand:DI 3 "register_operand" "r,r,r,r,r,r,r,r") + (match_operand:DI 4 "arith11_operand" "rI,rI,rI,rI,rI,rI,rI,rI")]) + (match_operand:DI 1 "reg_or_cint_move_operand" "0,0,0,0,r,J,N,K") +@@ -1413,7 +1413,7 @@ + (define_insn "" + [(set (pc) + (if_then_else +- (match_operator 3 "comparison_operator" ++ (match_operator 3 "ordered_comparison_operator" + [(match_operand:SI 1 "reg_or_0_operand" "rM") + (match_operand:SI 2 "arith5_operand" "rL")]) + (label_ref (match_operand 0 "" "")) +@@ -1442,7 +1442,7 @@ + (define_insn "" + [(set (pc) + (if_then_else +- (match_operator 3 "comparison_operator" ++ (match_operator 3 "ordered_comparison_operator" + [(match_operand:SI 1 "reg_or_0_operand" "rM") + (match_operand:SI 2 "arith5_operand" "rL")]) + (pc) +@@ -1469,7 +1469,7 @@ + (define_insn "" + [(set (pc) + (if_then_else +- (match_operator 3 "comparison_operator" ++ (match_operator 3 "ordered_comparison_operator" + [(match_operand:DI 1 "reg_or_0_operand" "rM") + (match_operand:DI 2 "reg_or_0_operand" "rM")]) + (label_ref (match_operand 0 "" "")) +@@ -1498,7 +1498,7 @@ + (define_insn "" + [(set (pc) + (if_then_else +- (match_operator 3 "comparison_operator" ++ (match_operator 3 "ordered_comparison_operator" + [(match_operand:DI 1 "reg_or_0_operand" "rM") + (match_operand:DI 2 "reg_or_0_operand" "rM")]) + (pc) +@@ -5319,8 +5319,8 @@ + + (define_insn "umulsidi3" + [(set (match_operand:DI 0 "register_operand" "=f") +- (mult:DI (zero_extend:DI (match_operand:SI 1 "nonimmediate_operand" "f")) +- (zero_extend:DI (match_operand:SI 2 "nonimmediate_operand" "f"))))] ++ (mult:DI (zero_extend:DI (match_operand:SI 1 "register_operand" "f")) ++ (zero_extend:DI (match_operand:SI 2 "register_operand" "f"))))] + "TARGET_PA_11 && ! TARGET_DISABLE_FPREGS && ! TARGET_SOFT_FLOAT" + "xmpyu %1,%2,%0" + [(set_attr "type" "fpmuldbl") +@@ -5328,7 +5328,7 @@ + + (define_insn "" + [(set (match_operand:DI 0 "register_operand" "=f") +- (mult:DI (zero_extend:DI (match_operand:SI 1 "nonimmediate_operand" "f")) ++ (mult:DI (zero_extend:DI (match_operand:SI 1 "register_operand" "f")) + (match_operand:DI 2 "uint32_operand" "f")))] + "TARGET_PA_11 && ! TARGET_DISABLE_FPREGS && ! TARGET_SOFT_FLOAT && !TARGET_64BIT" + "xmpyu %1,%R2,%0" +@@ -5337,7 +5337,7 @@ + + (define_insn "" + [(set (match_operand:DI 0 "register_operand" "=f") +- (mult:DI (zero_extend:DI (match_operand:SI 1 "nonimmediate_operand" "f")) ++ (mult:DI (zero_extend:DI (match_operand:SI 1 "register_operand" "f")) + (match_operand:DI 2 "uint32_operand" "f")))] + "TARGET_PA_11 && ! TARGET_DISABLE_FPREGS && ! TARGET_SOFT_FLOAT && TARGET_64BIT" + "xmpyu %1,%2R,%0" +@@ -6904,21 +6904,24 @@ + rtx stack = operands[2]; + rtx fp = operands[3]; + +- lab = copy_to_reg (lab); +- + emit_clobber (gen_rtx_MEM (BLKmode, gen_rtx_SCRATCH (VOIDmode))); + emit_clobber (gen_rtx_MEM (BLKmode, hard_frame_pointer_rtx)); + +- /* Restore the frame pointer. The virtual_stack_vars_rtx is saved +- instead of the hard_frame_pointer_rtx in the save area. As a +- result, an extra instruction is needed to adjust for the offset +- of the virtual stack variables and the hard frame pointer. */ +- if (GET_CODE (fp) != REG) +- fp = force_reg (Pmode, fp); +- emit_move_insn (hard_frame_pointer_rtx, plus_constant (Pmode, fp, -8)); ++ lab = copy_to_reg (lab); + ++ /* Restore the stack and frame pointers. The virtual_stack_vars_rtx ++ is saved instead of the hard_frame_pointer_rtx in the save area. ++ As a result, an extra instruction is needed to adjust for the offset ++ of the virtual stack variables and the hard frame pointer. */ ++ fp = copy_to_reg (fp); + emit_stack_restore (SAVE_NONLOCAL, stack); + ++ /* Ensure the frame pointer move is not optimized. */ ++ emit_insn (gen_blockage ()); ++ emit_clobber (hard_frame_pointer_rtx); ++ emit_clobber (frame_pointer_rtx); ++ emit_move_insn (hard_frame_pointer_rtx, plus_constant (Pmode, fp, -8)); ++ + emit_use (hard_frame_pointer_rtx); + emit_use (stack_pointer_rtx); + +@@ -8695,23 +8698,26 @@ add,l %2,%3,%3\;bv,n %%r0(%3)" + emit_clobber (gen_rtx_MEM (BLKmode, gen_rtx_SCRATCH (VOIDmode))); + emit_clobber (gen_rtx_MEM (BLKmode, hard_frame_pointer_rtx)); + +- /* Restore the frame pointer. The virtual_stack_vars_rtx is saved +- instead of the hard_frame_pointer_rtx in the save area. We need +- to adjust for the offset between these two values. */ +- if (GET_CODE (fp) != REG) +- fp = force_reg (Pmode, fp); +- emit_move_insn (hard_frame_pointer_rtx, plus_constant (Pmode, fp, -8)); +- +- /* This bit is the same as expand_builtin_longjmp. */ +- emit_stack_restore (SAVE_NONLOCAL, stack); +- emit_use (hard_frame_pointer_rtx); +- emit_use (stack_pointer_rtx); +- + /* Load the label we are jumping through into r1 so that we know + where to look for it when we get back to setjmp's function for + restoring the gp. */ + emit_move_insn (pv, lab); + ++ /* Restore the stack and frame pointers. The virtual_stack_vars_rtx ++ is saved instead of the hard_frame_pointer_rtx in the save area. ++ We need to adjust for the offset between these two values. */ ++ fp = copy_to_reg (fp); ++ emit_stack_restore (SAVE_NONLOCAL, stack); ++ ++ /* Ensure the frame pointer move is not optimized. */ ++ emit_insn (gen_blockage ()); ++ emit_clobber (hard_frame_pointer_rtx); ++ emit_clobber (frame_pointer_rtx); ++ emit_move_insn (hard_frame_pointer_rtx, plus_constant (Pmode, fp, -8)); ++ ++ emit_use (hard_frame_pointer_rtx); ++ emit_use (stack_pointer_rtx); ++ + /* Prevent the insns above from being scheduled into the delay slot + of the interspace jump because the space register could change. */ + emit_insn (gen_blockage ()); +@@ -9056,7 +9062,7 @@ add,l %2,%3,%3\;bv,n %%r0(%3)" + (define_insn "decrement_and_branch_until_zero" + [(set (pc) + (if_then_else +- (match_operator 2 "comparison_operator" ++ (match_operator 2 "ordered_comparison_operator" + [(plus:SI + (match_operand:SI 0 "reg_before_reload_operand" "+!r,!*f,*Q") + (match_operand:SI 1 "int5_operand" "L,L,L")) +@@ -10085,23 +10091,55 @@ add,l %2,%3,%3\;bv,n %%r0(%3)" + (set_attr "length" "4,16")]) + + ;; PA 2.0 hardware supports out-of-order execution of loads and stores, so +-;; we need a memory barrier to enforce program order for memory references. +-;; Since we want PA 1.x code to be PA 2.0 compatible, we also need the +-;; barrier when generating PA 1.x code. ++;; we need memory barriers to enforce program order for memory references ++;; when the TLB and PSW O bits are not set. We assume all PA 2.0 systems ++;; are weakly ordered since neither HP-UX or Linux set the PSW O bit. Since ++;; we want PA 1.x code to be PA 2.0 compatible, we also need barriers when ++;; generating PA 1.x code even though all PA 1.x systems are strongly ordered. ++ ++;; When barriers are needed, we use a strongly ordered ldcw instruction as ++;; the barrier. Most PA 2.0 targets are cache coherent. In that case, we ++;; can use the coherent cache control hint and avoid aligning the ldcw ++;; address. In spite of its description, it is not clear that the sync ++;; instruction works as a barrier. + + (define_expand "memory_barrier" +- [(set (match_dup 0) +- (unspec:BLK [(match_dup 0)] UNSPEC_MEMORY_BARRIER))] ++ [(parallel ++ [(set (match_dup 0) (unspec:BLK [(match_dup 0)] UNSPEC_MEMORY_BARRIER)) ++ (clobber (match_dup 1))])] + "" + { +- operands[0] = gen_rtx_MEM (BLKmode, gen_rtx_SCRATCH (Pmode)); ++ /* We don't need a barrier if the target uses ordered memory references. */ ++ if (TARGET_ORDERED) ++ FAIL; ++ operands[1] = gen_reg_rtx (Pmode); ++ operands[0] = gen_rtx_MEM (BLKmode, operands[1]); + MEM_VOLATILE_P (operands[0]) = 1; + }) + +-(define_insn "*memory_barrier" ++(define_insn "*memory_barrier_coherent" + [(set (match_operand:BLK 0 "" "") +- (unspec:BLK [(match_dup 0)] UNSPEC_MEMORY_BARRIER))] +- "" +- "sync" ++ (unspec:BLK [(match_dup 0)] UNSPEC_MEMORY_BARRIER)) ++ (clobber (match_operand 1 "pmode_register_operand" "=r"))] ++ "TARGET_PA_20 && TARGET_COHERENT_LDCW" ++ "ldcw,co 0(%%sp),%1" + [(set_attr "type" "binary") + (set_attr "length" "4")]) ++ ++(define_insn "*memory_barrier_64" ++ [(set (match_operand:BLK 0 "" "") ++ (unspec:BLK [(match_dup 0)] UNSPEC_MEMORY_BARRIER)) ++ (clobber (match_operand 1 "pmode_register_operand" "=&r"))] ++ "TARGET_64BIT" ++ "ldo 15(%%sp),%1\n\tdepd %%r0,63,3,%1\n\tldcw 0(%1),%1" ++ [(set_attr "type" "binary") ++ (set_attr "length" "12")]) ++ ++(define_insn "*memory_barrier_32" ++ [(set (match_operand:BLK 0 "" "") ++ (unspec:BLK [(match_dup 0)] UNSPEC_MEMORY_BARRIER)) ++ (clobber (match_operand 1 "pmode_register_operand" "=&r"))] ++ "" ++ "ldo 15(%%sp),%1\n\t{dep|depw} %%r0,31,3,%1\n\tldcw 0(%1),%1" ++ [(set_attr "type" "binary") ++ (set_attr "length" "12")]) +--- a/src/gcc/config/pa/pa.opt ++++ b/src/gcc/config/pa/pa.opt +@@ -45,6 +45,10 @@ mcaller-copies + Target Report Mask(CALLER_COPIES) + Caller copies function arguments passed by hidden reference. + ++mcoherent-ldcw ++Target Report Var(TARGET_COHERENT_LDCW) Init(1) ++Use ldcw/ldcd coherent cache-control hint. ++ + mdisable-fpregs + Target Report Mask(DISABLE_FPREGS) + Disable FP regs. +@@ -90,6 +94,10 @@ mno-space-regs + Target RejectNegative Report Mask(NO_SPACE_REGS) + Disable space regs. + ++mordered ++Target Report Var(TARGET_ORDERED) Init(0) ++Assume memory references are ordered and barriers are not needed. ++ + mpa-risc-1-0 + Target RejectNegative + Generate PA1.0 code. +--- a/src/gcc/config/pa/predicates.md ++++ b/src/gcc/config/pa/predicates.md +@@ -662,8 +662,8 @@ + (and (match_code "symbol_ref") + (match_test "SYMBOL_REF_TLS_MODEL (op) == TLS_MODEL_LOCAL_EXEC"))) + +-;; True iff this is a comparison operator. This allows the use of +-;; MATCH_OPERATOR to recognize all the branch insns. ++;; True iff OP is an operator suitable for use in a double-word cmpib ++;; instruction. + + (define_predicate "cmpib_comparison_operator" + (match_code "eq,ne,lt,le,leu,gt,gtu,ge")) +--- a/src/gcc/config/riscv/riscv.c ++++ b/src/gcc/config/riscv/riscv.c +@@ -1515,7 +1515,10 @@ riscv_rtx_costs (rtx x, machine_mode mode, int outer_code, int opno ATTRIBUTE_UN + + case ZERO_EXTRACT: + /* This is an SImode shift. */ +- if (outer_code == SET && (INTVAL (XEXP (x, 2)) > 0) ++ if (outer_code == SET ++ && CONST_INT_P (XEXP (x, 1)) ++ && CONST_INT_P (XEXP (x, 2)) ++ && (INTVAL (XEXP (x, 2)) > 0) + && (INTVAL (XEXP (x, 1)) + INTVAL (XEXP (x, 2)) == 32)) + { + *total = COSTS_N_INSNS (SINGLE_SHIFT_COST); +@@ -2932,7 +2935,8 @@ riscv_print_operand_reloc (FILE *file, rtx op, bool hi_reloc) + break; + + default: +- gcc_unreachable (); ++ output_operand_lossage ("invalid use of '%%%c'", hi_reloc ? 'h' : 'R'); ++ return; + } + + fprintf (file, "%s(", reloc); +@@ -4389,6 +4393,32 @@ riscv_constant_alignment (const_tree exp, HOST_WIDE_INT align) + return align; + } + ++/* Implement TARGET_PROMOTE_FUNCTION_MODE. */ ++ ++/* This function is equivalent to default_promote_function_mode_always_promote ++ except that it returns a promoted mode even if type is NULL_TREE. This is ++ needed by libcalls which have no type (only a mode) such as fixed conversion ++ routines that take a signed or unsigned char/short/int argument and convert ++ it to a fixed type. */ ++ ++static machine_mode ++riscv_promote_function_mode (const_tree type ATTRIBUTE_UNUSED, ++ machine_mode mode, ++ int *punsignedp ATTRIBUTE_UNUSED, ++ const_tree fntype ATTRIBUTE_UNUSED, ++ int for_return ATTRIBUTE_UNUSED) ++{ ++ int unsignedp; ++ ++ if (type != NULL_TREE) ++ return promote_mode (type, mode, punsignedp); ++ ++ unsignedp = *punsignedp; ++ PROMOTE_MODE (mode, unsignedp, type); ++ *punsignedp = unsignedp; ++ return mode; ++} ++ + /* Initialize the GCC target structure. */ + #undef TARGET_ASM_ALIGNED_HI_OP + #define TARGET_ASM_ALIGNED_HI_OP "\t.half\t" +@@ -4430,7 +4460,7 @@ riscv_constant_alignment (const_tree exp, HOST_WIDE_INT align) + #define TARGET_EXPAND_BUILTIN_VA_START riscv_va_start + + #undef TARGET_PROMOTE_FUNCTION_MODE +-#define TARGET_PROMOTE_FUNCTION_MODE default_promote_function_mode_always_promote ++#define TARGET_PROMOTE_FUNCTION_MODE riscv_promote_function_mode + + #undef TARGET_RETURN_IN_MEMORY + #define TARGET_RETURN_IN_MEMORY riscv_return_in_memory +--- a/src/gcc/config/rs6000/altivec.h ++++ b/src/gcc/config/rs6000/altivec.h +@@ -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__ +--- a/src/gcc/config/rs6000/altivec.md ++++ b/src/gcc/config/rs6000/altivec.md +@@ -80,9 +80,6 @@ + UNSPEC_VUPKHPX + UNSPEC_VUPKLPX + UNSPEC_CONVERT_4F32_8I16 +- UNSPEC_DARN +- UNSPEC_DARN_32 +- UNSPEC_DARN_RAW + UNSPEC_DST + UNSPEC_DSTT + UNSPEC_DSTST +@@ -161,9 +158,6 @@ + UNSPEC_BCDADD + UNSPEC_BCDSUB + UNSPEC_BCD_OVERFLOW +- UNSPEC_CMPRB +- UNSPEC_CMPRB2 +- UNSPEC_CMPEQB + UNSPEC_VRLMI + UNSPEC_VRLNM + ]) +@@ -581,7 +575,7 @@ + [(set_attr "type" "vecsimple")]) + + ;; +-(define_insn "altivec_vavgu" ++(define_insn "uavg3_ceil" + [(set (match_operand:VI 0 "register_operand" "=v") + (unspec:VI [(match_operand:VI 1 "register_operand" "v") + (match_operand:VI 2 "register_operand" "v")] +@@ -590,7 +584,7 @@ + "vavgu %0,%1,%2" + [(set_attr "type" "vecsimple")]) + +-(define_insn "altivec_vavgs" ++(define_insn "avg3_ceil" + [(set (match_operand:VI 0 "register_operand" "=v") + (unspec:VI [(match_operand:VI 1 "register_operand" "v") + (match_operand:VI 2 "register_operand" "v")] +@@ -4317,223 +4311,6 @@ + [(set_attr "length" "4") + (set_attr "type" "vecsimple")]) + +-(define_insn "darn_32" +- [(set (match_operand:SI 0 "register_operand" "=r") +- (unspec:SI [(const_int 0)] UNSPEC_DARN_32))] +- "TARGET_P9_MISC" +- "darn %0,0" +- [(set_attr "type" "integer")]) +- +-(define_insn "darn_raw" +- [(set (match_operand:DI 0 "register_operand" "=r") +- (unspec:DI [(const_int 0)] UNSPEC_DARN_RAW))] +- "TARGET_P9_MISC && TARGET_64BIT" +- "darn %0,2" +- [(set_attr "type" "integer")]) +- +-(define_insn "darn" +- [(set (match_operand:DI 0 "register_operand" "=r") +- (unspec:DI [(const_int 0)] UNSPEC_DARN))] +- "TARGET_P9_MISC && TARGET_64BIT" +- "darn %0,1" +- [(set_attr "type" "integer")]) +- +-;; Test byte within range. +-;; +-;; The bytes of operand 1 are organized as xx:xx:xx:vv, where xx +-;; represents a byte whose value is ignored in this context and +-;; vv, the least significant byte, holds the byte value that is to +-;; be tested for membership within the range specified by operand 2. +-;; The bytes of operand 2 are organized as xx:xx:hi:lo. +-;; +-;; Return in target register operand 0 a value of 1 if lo <= vv and +-;; vv <= hi. Otherwise, set register operand 0 to 0. +-;; +-;; Though the instructions to which this expansion maps operate on +-;; 64-bit registers, the current implementation only operates on +-;; SI-mode operands as the high-order bits provide no information +-;; that is not already available in the low-order bits. To avoid the +-;; costs of data widening operations, future enhancements might allow +-;; DI mode for operand 0 and/or might allow operand 1 to be QI mode. +-(define_expand "cmprb" +- [(set (match_dup 3) +- (unspec:CC [(match_operand:SI 1 "gpc_reg_operand" "r") +- (match_operand:SI 2 "gpc_reg_operand" "r")] +- UNSPEC_CMPRB)) +- (set (match_operand:SI 0 "gpc_reg_operand" "=r") +- (if_then_else:SI (lt (match_dup 3) +- (const_int 0)) +- (const_int -1) +- (if_then_else (gt (match_dup 3) +- (const_int 0)) +- (const_int 1) +- (const_int 0))))] +- "TARGET_P9_MISC" +-{ +- operands[3] = gen_reg_rtx (CCmode); +-}) +- +-;; The bytes of operand 1 are organized as xx:xx:xx:vv, where xx +-;; represents a byte whose value is ignored in this context and +-;; vv, the least significant byte, holds the byte value that is to +-;; be tested for membership within the range specified by operand 2. +-;; The bytes of operand 2 are organized as xx:xx:hi:lo. +-;; +-;; Set bit 1 (the GT bit, 0x4) of CR register operand 0 to 1 if +-;; lo <= vv and vv <= hi. Otherwise, set the GT bit to 0. The other +-;; 3 bits of the target CR register are all set to 0. +-(define_insn "*cmprb_internal" +- [(set (match_operand:CC 0 "cc_reg_operand" "=y") +- (unspec:CC [(match_operand:SI 1 "gpc_reg_operand" "r") +- (match_operand:SI 2 "gpc_reg_operand" "r")] +- UNSPEC_CMPRB))] +- "TARGET_P9_MISC" +- "cmprb %0,0,%1,%2" +- [(set_attr "type" "logical")]) +- +-;; Set operand 0 register to -1 if the LT bit (0x8) of condition +-;; register operand 1 is on. Otherwise, set operand 0 register to 1 +-;; if the GT bit (0x4) of condition register operand 1 is on. +-;; Otherwise, set operand 0 to 0. Note that the result stored into +-;; register operand 0 is non-zero iff either the LT or GT bits are on +-;; within condition register operand 1. +-(define_insn "setb_signed" +- [(set (match_operand:SI 0 "gpc_reg_operand" "=r") +- (if_then_else:SI (lt (match_operand:CC 1 "cc_reg_operand" "y") +- (const_int 0)) +- (const_int -1) +- (if_then_else (gt (match_dup 1) +- (const_int 0)) +- (const_int 1) +- (const_int 0))))] +- "TARGET_P9_MISC" +- "setb %0,%1" +- [(set_attr "type" "logical")]) +- +-(define_insn "setb_unsigned" +- [(set (match_operand:SI 0 "gpc_reg_operand" "=r") +- (if_then_else:SI (ltu (match_operand:CCUNS 1 "cc_reg_operand" "y") +- (const_int 0)) +- (const_int -1) +- (if_then_else (gtu (match_dup 1) +- (const_int 0)) +- (const_int 1) +- (const_int 0))))] +- "TARGET_P9_MISC" +- "setb %0,%1" +- [(set_attr "type" "logical")]) +- +-;; Test byte within two ranges. +-;; +-;; The bytes of operand 1 are organized as xx:xx:xx:vv, where xx +-;; represents a byte whose value is ignored in this context and +-;; vv, the least significant byte, holds the byte value that is to +-;; be tested for membership within the range specified by operand 2. +-;; The bytes of operand 2 are organized as hi_1:lo_1:hi_2:lo_2. +-;; +-;; Return in target register operand 0 a value of 1 if (lo_1 <= vv and +-;; vv <= hi_1) or if (lo_2 <= vv and vv <= hi_2). Otherwise, set register +-;; operand 0 to 0. +-;; +-;; Though the instructions to which this expansion maps operate on +-;; 64-bit registers, the current implementation only operates on +-;; SI-mode operands as the high-order bits provide no information +-;; that is not already available in the low-order bits. To avoid the +-;; costs of data widening operations, future enhancements might allow +-;; DI mode for operand 0 and/or might allow operand 1 to be QI mode. +-(define_expand "cmprb2" +- [(set (match_dup 3) +- (unspec:CC [(match_operand:SI 1 "gpc_reg_operand" "r") +- (match_operand:SI 2 "gpc_reg_operand" "r")] +- UNSPEC_CMPRB2)) +- (set (match_operand:SI 0 "gpc_reg_operand" "=r") +- (if_then_else:SI (lt (match_dup 3) +- (const_int 0)) +- (const_int -1) +- (if_then_else (gt (match_dup 3) +- (const_int 0)) +- (const_int 1) +- (const_int 0))))] +- "TARGET_P9_MISC" +-{ +- operands[3] = gen_reg_rtx (CCmode); +-}) +- +-;; The bytes of operand 1 are organized as xx:xx:xx:vv, where xx +-;; represents a byte whose value is ignored in this context and +-;; vv, the least significant byte, holds the byte value that is to +-;; be tested for membership within the ranges specified by operand 2. +-;; The bytes of operand 2 are organized as hi_1:lo_1:hi_2:lo_2. +-;; +-;; Set bit 1 (the GT bit, 0x4) of CR register operand 0 to 1 if +-;; (lo_1 <= vv and vv <= hi_1) or if (lo_2 <= vv and vv <= hi_2). +-;; Otherwise, set the GT bit to 0. The other 3 bits of the target +-;; CR register are all set to 0. +-(define_insn "*cmprb2_internal" +- [(set (match_operand:CC 0 "cc_reg_operand" "=y") +- (unspec:CC [(match_operand:SI 1 "gpc_reg_operand" "r") +- (match_operand:SI 2 "gpc_reg_operand" "r")] +- UNSPEC_CMPRB2))] +- "TARGET_P9_MISC" +- "cmprb %0,1,%1,%2" +- [(set_attr "type" "logical")]) +- +-;; Test byte membership within set of 8 bytes. +-;; +-;; The bytes of operand 1 are organized as xx:xx:xx:vv, where xx +-;; represents a byte whose value is ignored in this context and +-;; vv, the least significant byte, holds the byte value that is to +-;; be tested for membership within the set specified by operand 2. +-;; The bytes of operand 2 are organized as e0:e1:e2:e3:e4:e5:e6:e7. +-;; +-;; Return in target register operand 0 a value of 1 if vv equals one +-;; of the values e0, e1, e2, e3, e4, e5, e6, or e7. Otherwise, set +-;; register operand 0 to 0. Note that the 8 byte values held within +-;; operand 2 need not be unique. +-;; +-;; Though the instructions to which this expansion maps operate on +-;; 64-bit registers, the current implementation requires that operands +-;; 0 and 1 have mode SI as the high-order bits provide no information +-;; that is not already available in the low-order bits. To avoid the +-;; costs of data widening operations, future enhancements might allow +-;; DI mode for operand 0 and/or might allow operand 1 to be QI mode. +-(define_expand "cmpeqb" +- [(set (match_dup 3) +- (unspec:CC [(match_operand:SI 1 "gpc_reg_operand" "r") +- (match_operand:DI 2 "gpc_reg_operand" "r")] +- UNSPEC_CMPEQB)) +- (set (match_operand:SI 0 "gpc_reg_operand" "=r") +- (if_then_else:SI (lt (match_dup 3) +- (const_int 0)) +- (const_int -1) +- (if_then_else (gt (match_dup 3) +- (const_int 0)) +- (const_int 1) +- (const_int 0))))] +- "TARGET_P9_MISC && TARGET_64BIT" +-{ +- operands[3] = gen_reg_rtx (CCmode); +-}) +- +-;; The bytes of operand 1 are organized as xx:xx:xx:vv, where xx +-;; represents a byte whose value is ignored in this context and +-;; vv, the least significant byte, holds the byte value that is to +-;; be tested for membership within the set specified by operand 2. +-;; The bytes of operand 2 are organized as e0:e1:e2:e3:e4:e5:e6:e7. +-;; +-;; Set bit 1 (the GT bit, 0x4) of CR register operand 0 to 1 if vv +-;; equals one of the values e0, e1, e2, e3, e4, e5, e6, or e7. Otherwise, +-;; set the GT bit to zero. The other 3 bits of the target CR register +-;; are all set to 0. +-(define_insn "*cmpeqb_internal" +- [(set (match_operand:CC 0 "cc_reg_operand" "=y") +- (unspec:CC [(match_operand:SI 1 "gpc_reg_operand" "r") +- (match_operand:DI 2 "gpc_reg_operand" "r")] +- UNSPEC_CMPEQB))] +- "TARGET_P9_MISC && TARGET_64BIT" +- "cmpeqb %0,%1,%2" +- [(set_attr "type" "logical")]) +- + (define_expand "bcd_" + [(parallel [(set (reg:CCFP CR6_REGNO) + (compare:CCFP +--- a/src/gcc/config/rs6000/crypto.md ++++ b/src/gcc/config/rs6000/crypto.md +@@ -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_" +- [(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__" ++ [(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" + " %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_" ++ [(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" +--- a/src/gcc/config/rs6000/darwin.h ++++ b/src/gcc/config/rs6000/darwin.h +@@ -53,17 +53,28 @@ + #define TARGET_OS_CPP_BUILTINS() \ + do \ + { \ +- if (!TARGET_64BIT) builtin_define ("__ppc__"); \ +- if (TARGET_64BIT) builtin_define ("__ppc64__"); \ + builtin_define ("__POWERPC__"); \ ++ builtin_define ("__PPC__"); \ ++ if (TARGET_64BIT) \ ++ { \ ++ builtin_define ("__ppc64__"); \ ++ builtin_define ("__PPC64__"); \ ++ builtin_define ("__powerpc64__"); \ ++ builtin_assert ("cpu=powerpc64"); \ ++ builtin_assert ("machine=powerpc64"); \ ++ } \ ++ else \ ++ { \ ++ builtin_define ("__ppc__"); \ ++ builtin_define_std ("PPC"); \ ++ builtin_assert ("cpu=powerpc"); \ ++ builtin_assert ("machine=powerpc"); \ ++ } \ + builtin_define ("__NATURAL_ALIGNMENT__"); \ + darwin_cpp_builtins (pfile); \ + } \ + while (0) + +-/* Generate branch islands stubs if this is true. */ +-extern int darwin_emit_branch_islands; +- + #define SUBTARGET_OVERRIDE_OPTIONS darwin_rs6000_override_options () + + #define C_COMMON_OVERRIDE_OPTIONS do { \ +@@ -98,11 +109,10 @@ extern int darwin_emit_branch_islands; + % 10.5 mmacosx-version-min= -lcrt1.o) \ ++ %:version-compare(>< 10.5 10.7 mmacosx-version-min= -lcrt1.10.5.o) \ ++ %{fgnu-tm: -lcrttms.o}" ++ ++/* crt2.o is at least partially required for 10.3.x and earlier. ++ It deals with registration of the unwind frames, where this is not ++ automatically provided by the system. So we need it for any case that ++ might use exceptions. */ ++#undef DARWIN_CRT2_SPEC + #define DARWIN_CRT2_SPEC \ +- "%{!m64:%:version-compare(!> 10.4 mmacosx-version-min= crt2.o%s)}" ++"%{!m64:%{shared-libgcc|static-libstdc++|fexceptions|fobjc-exceptions|fgnu-runtime: \ ++ %:version-compare(!> 10.4 mmacosx-version-min= crt2.o%s) \ ++ }}" ++ ++/* crt3 deals with providing cxa_atexit on earlier systems (or fixing it up, ++ for broken versions). It's only needed for c++ code, so we can make it ++ conditional on shared-libgcc since that's forced on for c++. */ ++#undef DARWIN_CRT3_SPEC ++#define DARWIN_CRT3_SPEC \ ++"%{!m64:%{shared-libgcc|static-libstdc++: \ ++ %:version-compare(>< 10.4 10.5 mmacosx-version-min= crt3.o%s) \ ++ %:version-compare(!> 10.4 mmacosx-version-min= crt3_2.o%s) \ ++ }}" ++ ++/* As for crt1, we need to force the dylib crt for 10.6. */ ++#undef DARWIN_DYLIB1_SPEC ++#define DARWIN_DYLIB1_SPEC \ ++ "%:version-compare(!> 10.5 mmacosx-version-min= -ldylib1.o) \ ++ %:version-compare(>< 10.5 10.7 mmacosx-version-min= -ldylib1.10.5.o)" ++ ++/* Likewise, the bundle crt. */ ++#undef DARWIN_BUNDLE1_SPEC ++#define DARWIN_BUNDLE1_SPEC \ ++"%{!static:%:version-compare(< 10.7 mmacosx-version-min= -lbundle1.o) \ ++ %{fgnu-tm: -lcrttms.o}}" ++ ++/* The PPC regs save/restore functions are leaves and could, conceivably ++ be used by the tm destructor. */ ++#undef ENDFILE_SPEC ++#define ENDFILE_SPEC TM_DESTRUCTOR " -lef_ppc" + + #undef SUBTARGET_EXTRA_SPECS + #define SUBTARGET_EXTRA_SPECS \ +@@ -265,9 +315,9 @@ extern int darwin_emit_branch_islands; + /* This is supported in cctools 465 and later. The macro test + above prevents using it in earlier build environments. */ + #define ASM_OUTPUT_MAX_SKIP_ALIGN(FILE,LOG,MAX_SKIP) \ +- if ((LOG) != 0) \ ++ if ((LOG) > 0) \ + { \ +- if ((MAX_SKIP) == 0) \ ++ if ((MAX_SKIP) <= 0) \ + fprintf ((FILE), "\t.p2align %d\n", (LOG)); \ + else \ + fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP)); \ +@@ -382,6 +432,7 @@ extern int darwin_emit_branch_islands; + do \ + { \ + DARWIN_REGISTER_TARGET_PRAGMAS(); \ ++ targetm.target_option.pragma_parse = rs6000_pragma_target_parse; \ + targetm.resolve_overloaded_builtin = altivec_resolve_overloaded_builtin; \ + } \ + while (0) +@@ -441,6 +492,9 @@ do { \ + this will need to be modified similar to the x86 case. */ + #define TARGET_FOLD_BUILTIN SUBTARGET_FOLD_BUILTIN + ++/* First available SYMBOL flag bit for use by subtargets. */ ++#define SYMBOL_FLAG_SUBT_DEP (SYMBOL_FLAG_MACH_DEP) ++ + /* Use standard DWARF numbering for DWARF debugging information. */ + #define RS6000_USE_DWARF_NUMBERING + +--- a/src/gcc/config/rs6000/darwin.md ++++ b/src/gcc/config/rs6000/darwin.md +@@ -137,38 +137,6 @@ You should have received a copy of the GNU General Public License + [(set_attr "type" "store") + (set_attr "length" "4")]) + +-;; 64-bit MachO load/store support +-(define_insn "movdi_low" +- [(set (match_operand:DI 0 "gpc_reg_operand" "=r,*!d") +- (mem:DI (lo_sum:DI (match_operand:DI 1 "gpc_reg_operand" "b,b") +- (match_operand 2 "" ""))))] +- "TARGET_MACHO && TARGET_64BIT" +- "@ +- ld %0,lo16(%2)(%1) +- lfd %0,lo16(%2)(%1)" +- [(set_attr "type" "load") +- (set_attr "length" "4")]) +- +-(define_insn "movsi_low_st" +- [(set (mem:SI (lo_sum:SI (match_operand:SI 1 "gpc_reg_operand" "b") +- (match_operand 2 "" ""))) +- (match_operand:SI 0 "gpc_reg_operand" "r"))] +- "TARGET_MACHO && ! TARGET_64BIT" +- "stw %0,lo16(%2)(%1)" +- [(set_attr "type" "store") +- (set_attr "length" "4")]) +- +-(define_insn "movdi_low_st" +- [(set (mem:DI (lo_sum:DI (match_operand:DI 1 "gpc_reg_operand" "b,b") +- (match_operand 2 "" ""))) +- (match_operand:DI 0 "gpc_reg_operand" "r,*!d"))] +- "TARGET_MACHO && TARGET_64BIT" +- "@ +- std %0,lo16(%2)(%1) +- stfd %0,lo16(%2)(%1)" +- [(set_attr "type" "store") +- (set_attr "length" "4")]) +- + ;; Mach-O PIC trickery. + (define_expand "macho_high" + [(set (match_operand 0 "") +new file mode 100644 +--- /dev/null ++++ b/src/gcc/config/rs6000/darwin32-biarch.h +@@ -0,0 +1,49 @@ ++/* Target definitions for PowerPC running Darwin (Mac OS X) for a 32b host ++ with a 64b miultilib. ++ Copyright (C) 2019 Free Software Foundation, Inc. ++ ++ 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 ++ . */ ++ ++#undef DARWIN_ARCH_SPEC ++#define DARWIN_ARCH_SPEC "%{m64:ppc64;:ppc}" ++ ++#undef DARWIN_SUBARCH_SPEC ++#define DARWIN_SUBARCH_SPEC " \ ++ %{m64: ppc64} \ ++ %{!m64: \ ++ %{mcpu=601:ppc601; \ ++ mcpu=603:ppc603; \ ++ mcpu=603e:ppc603; \ ++ mcpu=604:ppc604; \ ++ mcpu=604e:ppc604e; \ ++ mcpu=740:ppc750; \ ++ mcpu=750:ppc750; \ ++ mcpu=G3:ppc750; \ ++ mcpu=7400:ppc7400; \ ++ mcpu=G4:ppc7400; \ ++ mcpu=7450:ppc7450; \ ++ mcpu=970:ppc970; \ ++ mcpu=power4:ppc970; \ ++ mcpu=G5:ppc970; \ ++ :ppc}}" ++ ++#undef SUBTARGET_EXTRA_SPECS ++#define SUBTARGET_EXTRA_SPECS \ ++ DARWIN_EXTRA_SPECS \ ++ { "darwin_arch", DARWIN_ARCH_SPEC }, \ ++ { "darwin_crt2", DARWIN_CRT2_SPEC }, \ ++ { "darwin_subarch", DARWIN_SUBARCH_SPEC }, +new file mode 100644 +--- /dev/null ++++ b/src/gcc/config/rs6000/darwin64-biarch.h +@@ -0,0 +1,38 @@ ++/* Target definitions for PowerPC64 running Darwin (Mac OS X) for a 64b host ++ supporting a 32b multilib. ++ Copyright (C) 2006-2019 Free Software Foundation, Inc. ++ Contributed by Apple Computer Inc. ++ ++ 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 ++ . */ ++ ++#undef TARGET_DEFAULT ++#define TARGET_DEFAULT (MASK_POWERPC64 | MASK_64BIT \ ++ | MASK_MULTIPLE | MASK_PPC_GFXOPT) ++ ++#undef DARWIN_ARCH_SPEC ++#define DARWIN_ARCH_SPEC "%{m32:ppc;:ppc64}" ++ ++/* Actually, there's really only 970 as an active option. */ ++#undef DARWIN_SUBARCH_SPEC ++#define DARWIN_SUBARCH_SPEC DARWIN_ARCH_SPEC ++ ++#undef SUBTARGET_EXTRA_SPECS ++#define SUBTARGET_EXTRA_SPECS \ ++ DARWIN_EXTRA_SPECS \ ++ { "darwin_arch", DARWIN_ARCH_SPEC }, \ ++ { "darwin_crt2", "" }, \ ++ { "darwin_subarch", DARWIN_SUBARCH_SPEC }, +deleted file mode 100644 +--- a/src/gcc/config/rs6000/darwin64.h ++++ /dev/null +@@ -1,32 +0,0 @@ +-/* Target definitions for PowerPC running Darwin (Mac OS X). +- Copyright (C) 2006-2018 Free Software Foundation, Inc. +- Contributed by Apple Computer Inc. +- +- 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 +- . */ +- +-#undef TARGET_DEFAULT +-#define TARGET_DEFAULT (MASK_POWERPC64 | MASK_64BIT \ +- | MASK_MULTIPLE | MASK_PPC_GFXOPT) +- +-#undef DARWIN_ARCH_SPEC +-#define DARWIN_ARCH_SPEC "%{m32:ppc;:ppc64}" +- +-#undef DARWIN_SUBARCH_SPEC +-#define DARWIN_SUBARCH_SPEC DARWIN_ARCH_SPEC +- +-#undef DARWIN_CRT2_SPEC +-#define DARWIN_CRT2_SPEC "" +--- a/src/gcc/config/rs6000/mmintrin.h ++++ b/src/gcc/config/rs6000/mmintrin.h +@@ -581,7 +581,7 @@ _mm_sub_pi32 (__m64 __m1, __m64 __m2) + 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__)) +--- a/src/gcc/config/rs6000/power9.md ++++ b/src/gcc/config/rs6000/power9.md +@@ -236,6 +236,9 @@ + (eq_attr "cpu" "power9")) + "DU_super_power9,LSU_pair_power9") + ++; Store forwarding latency is 6 ++(define_bypass 6 "power9-*store*" "power9-*load*") ++ + (define_insn_reservation "power9-larx" 4 + (and (eq_attr "type" "load_l") + (eq_attr "cpu" "power9")) +--- a/src/gcc/config/rs6000/predicates.md ++++ b/src/gcc/config/rs6000/predicates.md +@@ -1085,8 +1085,7 @@ + return 1; + + /* Allow any integer constant. */ +- if (GET_MODE_CLASS (mode) == MODE_INT +- && CONST_SCALAR_INT_P (op)) ++ if (SCALAR_INT_MODE_P (mode) && CONST_SCALAR_INT_P (op)) + return 1; + + /* Allow easy vector constants. */ +--- a/src/gcc/config/rs6000/rs6000-builtin.def ++++ b/src/gcc/config/rs6000/rs6000-builtin.def +@@ -1048,12 +1048,12 @@ BU_ALTIVEC_2 (VADDUWS, "vadduws", CONST, altivec_vadduws) + BU_ALTIVEC_2 (VADDSWS, "vaddsws", CONST, altivec_vaddsws) + BU_ALTIVEC_2 (VAND, "vand", CONST, andv4si3) + BU_ALTIVEC_2 (VANDC, "vandc", CONST, andcv4si3) +-BU_ALTIVEC_2 (VAVGUB, "vavgub", CONST, altivec_vavgub) +-BU_ALTIVEC_2 (VAVGSB, "vavgsb", CONST, altivec_vavgsb) +-BU_ALTIVEC_2 (VAVGUH, "vavguh", CONST, altivec_vavguh) +-BU_ALTIVEC_2 (VAVGSH, "vavgsh", CONST, altivec_vavgsh) +-BU_ALTIVEC_2 (VAVGUW, "vavguw", CONST, altivec_vavguw) +-BU_ALTIVEC_2 (VAVGSW, "vavgsw", CONST, altivec_vavgsw) ++BU_ALTIVEC_2 (VAVGUB, "vavgub", CONST, uavgv16qi3_ceil) ++BU_ALTIVEC_2 (VAVGSB, "vavgsb", CONST, avgv16qi3_ceil) ++BU_ALTIVEC_2 (VAVGUH, "vavguh", CONST, uavgv8hi3_ceil) ++BU_ALTIVEC_2 (VAVGSH, "vavgsh", CONST, avgv8hi3_ceil) ++BU_ALTIVEC_2 (VAVGUW, "vavguw", CONST, uavgv4si3_ceil) ++BU_ALTIVEC_2 (VAVGSW, "vavgsw", CONST, avgv4si3_ceil) + BU_ALTIVEC_2 (VCFUX, "vcfux", CONST, altivec_vcfux) + BU_ALTIVEC_2 (VCFSX, "vcfsx", CONST, altivec_vcfsx) + BU_ALTIVEC_2 (VCMPBFP, "vcmpbfp", CONST, altivec_vcmpbfp) +@@ -1223,26 +1223,26 @@ BU_ALTIVEC_X (MTVSCR, "mtvscr", MISC) + BU_ALTIVEC_X (MFVSCR, "mfvscr", MISC) + BU_ALTIVEC_X (DSSALL, "dssall", MISC) + BU_ALTIVEC_X (DSS, "dss", MISC) +-BU_ALTIVEC_X (LVSL, "lvsl", MEM) +-BU_ALTIVEC_X (LVSR, "lvsr", MEM) +-BU_ALTIVEC_X (LVEBX, "lvebx", MEM) +-BU_ALTIVEC_X (LVEHX, "lvehx", MEM) +-BU_ALTIVEC_X (LVEWX, "lvewx", MEM) +-BU_ALTIVEC_X (LVXL, "lvxl", MEM) +-BU_ALTIVEC_X (LVXL_V2DF, "lvxl_v2df", MEM) +-BU_ALTIVEC_X (LVXL_V2DI, "lvxl_v2di", MEM) +-BU_ALTIVEC_X (LVXL_V4SF, "lvxl_v4sf", MEM) +-BU_ALTIVEC_X (LVXL_V4SI, "lvxl_v4si", MEM) +-BU_ALTIVEC_X (LVXL_V8HI, "lvxl_v8hi", MEM) +-BU_ALTIVEC_X (LVXL_V16QI, "lvxl_v16qi", MEM) +-BU_ALTIVEC_X (LVX, "lvx", MEM) +-BU_ALTIVEC_X (LVX_V1TI, "lvx_v1ti", MEM) +-BU_ALTIVEC_X (LVX_V2DF, "lvx_v2df", MEM) +-BU_ALTIVEC_X (LVX_V2DI, "lvx_v2di", MEM) +-BU_ALTIVEC_X (LVX_V4SF, "lvx_v4sf", MEM) +-BU_ALTIVEC_X (LVX_V4SI, "lvx_v4si", MEM) +-BU_ALTIVEC_X (LVX_V8HI, "lvx_v8hi", MEM) +-BU_ALTIVEC_X (LVX_V16QI, "lvx_v16qi", MEM) ++BU_ALTIVEC_X (LVSL, "lvsl", PURE) ++BU_ALTIVEC_X (LVSR, "lvsr", PURE) ++BU_ALTIVEC_X (LVEBX, "lvebx", PURE) ++BU_ALTIVEC_X (LVEHX, "lvehx", PURE) ++BU_ALTIVEC_X (LVEWX, "lvewx", PURE) ++BU_ALTIVEC_X (LVXL, "lvxl", PURE) ++BU_ALTIVEC_X (LVXL_V2DF, "lvxl_v2df", PURE) ++BU_ALTIVEC_X (LVXL_V2DI, "lvxl_v2di", PURE) ++BU_ALTIVEC_X (LVXL_V4SF, "lvxl_v4sf", PURE) ++BU_ALTIVEC_X (LVXL_V4SI, "lvxl_v4si", PURE) ++BU_ALTIVEC_X (LVXL_V8HI, "lvxl_v8hi", PURE) ++BU_ALTIVEC_X (LVXL_V16QI, "lvxl_v16qi", PURE) ++BU_ALTIVEC_X (LVX, "lvx", PURE) ++BU_ALTIVEC_X (LVX_V1TI, "lvx_v1ti", PURE) ++BU_ALTIVEC_X (LVX_V2DF, "lvx_v2df", PURE) ++BU_ALTIVEC_X (LVX_V2DI, "lvx_v2di", PURE) ++BU_ALTIVEC_X (LVX_V4SF, "lvx_v4sf", PURE) ++BU_ALTIVEC_X (LVX_V4SI, "lvx_v4si", PURE) ++BU_ALTIVEC_X (LVX_V8HI, "lvx_v8hi", PURE) ++BU_ALTIVEC_X (LVX_V16QI, "lvx_v16qi", PURE) + BU_ALTIVEC_X (STVX, "stvx", MEM) + BU_ALTIVEC_X (STVX_V2DF, "stvx_v2df", MEM) + BU_ALTIVEC_X (STVX_V2DI, "stvx_v2di", MEM) +@@ -1250,10 +1250,10 @@ BU_ALTIVEC_X (STVX_V4SF, "stvx_v4sf", MEM) + BU_ALTIVEC_X (STVX_V4SI, "stvx_v4si", MEM) + BU_ALTIVEC_X (STVX_V8HI, "stvx_v8hi", MEM) + BU_ALTIVEC_X (STVX_V16QI, "stvx_v16qi", MEM) +-BU_ALTIVEC_C (LVLX, "lvlx", MEM) +-BU_ALTIVEC_C (LVLXL, "lvlxl", MEM) +-BU_ALTIVEC_C (LVRX, "lvrx", MEM) +-BU_ALTIVEC_C (LVRXL, "lvrxl", MEM) ++BU_ALTIVEC_C (LVLX, "lvlx", PURE) ++BU_ALTIVEC_C (LVLXL, "lvlxl", PURE) ++BU_ALTIVEC_C (LVRX, "lvrx", PURE) ++BU_ALTIVEC_C (LVRXL, "lvrxl", PURE) + BU_ALTIVEC_X (STVEBX, "stvebx", MEM) + BU_ALTIVEC_X (STVEHX, "stvehx", MEM) + BU_ALTIVEC_X (STVEWX, "stvewx", MEM) +@@ -1764,15 +1764,15 @@ BU_VSX_P (XVCMPGEDP_P, "xvcmpgedp_p", CONST, vector_ge_v2df_p) + BU_VSX_P (XVCMPGTDP_P, "xvcmpgtdp_p", CONST, vector_gt_v2df_p) + + /* VSX builtins that are handled as special cases. */ +-BU_VSX_X (LXSDX, "lxsdx", MEM) +-BU_VSX_X (LXVD2X_V1TI, "lxvd2x_v1ti", MEM) +-BU_VSX_X (LXVD2X_V2DF, "lxvd2x_v2df", MEM) +-BU_VSX_X (LXVD2X_V2DI, "lxvd2x_v2di", MEM) +-BU_VSX_X (LXVDSX, "lxvdsx", MEM) +-BU_VSX_X (LXVW4X_V4SF, "lxvw4x_v4sf", MEM) +-BU_VSX_X (LXVW4X_V4SI, "lxvw4x_v4si", MEM) +-BU_VSX_X (LXVW4X_V8HI, "lxvw4x_v8hi", MEM) +-BU_VSX_X (LXVW4X_V16QI, "lxvw4x_v16qi", MEM) ++BU_VSX_X (LXSDX, "lxsdx", PURE) ++BU_VSX_X (LXVD2X_V1TI, "lxvd2x_v1ti", PURE) ++BU_VSX_X (LXVD2X_V2DF, "lxvd2x_v2df", PURE) ++BU_VSX_X (LXVD2X_V2DI, "lxvd2x_v2di", PURE) ++BU_VSX_X (LXVDSX, "lxvdsx", PURE) ++BU_VSX_X (LXVW4X_V4SF, "lxvw4x_v4sf", PURE) ++BU_VSX_X (LXVW4X_V4SI, "lxvw4x_v4si", PURE) ++BU_VSX_X (LXVW4X_V8HI, "lxvw4x_v8hi", PURE) ++BU_VSX_X (LXVW4X_V16QI, "lxvw4x_v16qi", PURE) + BU_VSX_X (STXSDX, "stxsdx", MEM) + BU_VSX_X (STXVD2X_V1TI, "stxvd2x_v1ti", MEM) + BU_VSX_X (STXVD2X_V2DF, "stxvd2x_v2df", MEM) +@@ -1781,13 +1781,13 @@ BU_VSX_X (STXVW4X_V4SF, "stxvw4x_v4sf", MEM) + BU_VSX_X (STXVW4X_V4SI, "stxvw4x_v4si", MEM) + BU_VSX_X (STXVW4X_V8HI, "stxvw4x_v8hi", MEM) + BU_VSX_X (STXVW4X_V16QI, "stxvw4x_v16qi", MEM) +-BU_VSX_X (LD_ELEMREV_V1TI, "ld_elemrev_v1ti", MEM) +-BU_VSX_X (LD_ELEMREV_V2DF, "ld_elemrev_v2df", MEM) +-BU_VSX_X (LD_ELEMREV_V2DI, "ld_elemrev_v2di", MEM) +-BU_VSX_X (LD_ELEMREV_V4SF, "ld_elemrev_v4sf", MEM) +-BU_VSX_X (LD_ELEMREV_V4SI, "ld_elemrev_v4si", MEM) +-BU_VSX_X (LD_ELEMREV_V8HI, "ld_elemrev_v8hi", MEM) +-BU_VSX_X (LD_ELEMREV_V16QI, "ld_elemrev_v16qi", MEM) ++BU_VSX_X (LD_ELEMREV_V1TI, "ld_elemrev_v1ti", PURE) ++BU_VSX_X (LD_ELEMREV_V2DF, "ld_elemrev_v2df", PURE) ++BU_VSX_X (LD_ELEMREV_V2DI, "ld_elemrev_v2di", PURE) ++BU_VSX_X (LD_ELEMREV_V4SF, "ld_elemrev_v4sf", PURE) ++BU_VSX_X (LD_ELEMREV_V4SI, "ld_elemrev_v4si", PURE) ++BU_VSX_X (LD_ELEMREV_V8HI, "ld_elemrev_v8hi", PURE) ++BU_VSX_X (LD_ELEMREV_V16QI, "ld_elemrev_v16qi", PURE) + BU_VSX_X (ST_ELEMREV_V1TI, "st_elemrev_v1ti", MEM) + BU_VSX_X (ST_ELEMREV_V2DF, "st_elemrev_v2df", MEM) + BU_VSX_X (ST_ELEMREV_V2DI, "st_elemrev_v2di", MEM) +@@ -2442,13 +2442,22 @@ BU_P9_OVERLOAD_2 (CMPRB2, "byte_in_either_range") + BU_P9_OVERLOAD_2 (CMPEQB, "byte_in_set") + + /* 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) +--- a/src/gcc/config/rs6000/rs6000-c.c ++++ b/src/gcc/config/rs6000/rs6000-c.c +@@ -6605,12 +6605,14 @@ altivec_resolve_overloaded_builtin (location_t loc, tree fndecl, + + arg2 = fold_for_warn (arg2); + +- /* If the second argument is an integer constant, if the value is in +- the expected range, generate the built-in code if we can. We need +- 64-bit and direct move to extract the small integer vectors. */ +- if (TREE_CODE (arg2) == INTEGER_CST +- && wi::ltu_p (wi::to_wide (arg2), nunits)) ++ /* If the second argument is an integer constant, generate ++ the built-in code if we can. We need 64-bit and direct ++ move to extract the small integer vectors. */ ++ if (TREE_CODE (arg2) == INTEGER_CST) + { ++ wide_int selector = wi::to_wide (arg2); ++ selector = wi::umod_trunc (selector, nunits); ++ arg2 = wide_int_to_tree (TREE_TYPE (arg2), selector); + switch (mode) + { + default: +@@ -6785,11 +6787,13 @@ altivec_resolve_overloaded_builtin (location_t loc, tree fndecl, + /* If we can use the VSX xxpermdi instruction, use that for insert. */ + mode = TYPE_MODE (arg1_type); + if ((mode == V2DFmode || mode == V2DImode) && VECTOR_UNIT_VSX_P (mode) +- && TREE_CODE (arg2) == INTEGER_CST +- && wi::ltu_p (wi::to_wide (arg2), 2)) ++ && TREE_CODE (arg2) == INTEGER_CST) + { ++ wide_int selector = wi::to_wide (arg2); ++ selector = wi::umod_trunc (selector, 2); + tree call = NULL_TREE; + ++ arg2 = wide_int_to_tree (TREE_TYPE (arg2), selector); + if (mode == V2DFmode) + call = rs6000_builtin_decls[VSX_BUILTIN_VEC_SET_V2DF]; + else if (mode == V2DImode) +@@ -6801,11 +6805,12 @@ altivec_resolve_overloaded_builtin (location_t loc, tree fndecl, + return build_call_expr (call, 3, arg1, arg0, arg2); + } + else if (mode == V1TImode && VECTOR_UNIT_VSX_P (mode) +- && TREE_CODE (arg2) == INTEGER_CST +- && wi::eq_p (wi::to_wide (arg2), 0)) ++ && TREE_CODE (arg2) == INTEGER_CST) + { + tree call = rs6000_builtin_decls[VSX_BUILTIN_VEC_SET_V1TI]; ++ wide_int selector = wi::zero(32); + ++ arg2 = wide_int_to_tree (TREE_TYPE (arg2), selector); + /* Note, __builtin_vec_insert_ has vector and scalar types + reversed. */ + return build_call_expr (call, 3, arg1, arg0, arg2); +@@ -6813,10 +6818,13 @@ altivec_resolve_overloaded_builtin (location_t loc, tree fndecl, + + /* Build *(((arg1_inner_type*)&(vector type){arg1})+arg2) = arg0. */ + arg1_inner_type = TREE_TYPE (arg1_type); +- arg2 = build_binary_op (loc, BIT_AND_EXPR, arg2, +- build_int_cst (TREE_TYPE (arg2), +- TYPE_VECTOR_SUBPARTS (arg1_type) +- - 1), 0); ++ if (TYPE_VECTOR_SUBPARTS (arg1_type) == 1) ++ arg2 = build_int_cst (TREE_TYPE (arg2), 0); ++ else ++ arg2 = build_binary_op (loc, BIT_AND_EXPR, arg2, ++ build_int_cst (TREE_TYPE (arg2), ++ TYPE_VECTOR_SUBPARTS (arg1_type) ++ - 1), 0); + decl = build_decl (loc, VAR_DECL, NULL_TREE, arg1_type); + DECL_EXTERNAL (decl) = 0; + TREE_PUBLIC (decl) = 0; +--- a/src/gcc/config/rs6000/rs6000-p8swap.c ++++ b/src/gcc/config/rs6000/rs6000-p8swap.c +@@ -792,6 +792,11 @@ rtx_is_swappable_p (rtx op, unsigned int *special) + case UNSPEC_REDUC_PLUS: + case UNSPEC_REDUC: + return 1; ++ case UNSPEC_VPMSUM: ++ /* vpmsumd is not swappable, but vpmsum[bhw] are. */ ++ if (GET_MODE (op) == V2DImode) ++ return 0; ++ break; + } + } + +@@ -2317,7 +2322,14 @@ rs6000_analyze_swaps (function *fun) + + /* 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 ()); +--- a/src/gcc/config/rs6000/rs6000.c ++++ b/src/gcc/config/rs6000/rs6000.c +@@ -3880,10 +3880,22 @@ darwin_rs6000_override_options (void) + rs6000_isa_flags |= OPTION_MASK_POWERPC64; + warning (0, "%qs requires PowerPC64 architecture, enabling", "-m64"); + } ++ ++ /* The linkers [ld64] that support 64Bit do not need the JBSR longcall ++ optimisation, and will not work with the most generic case (where the ++ symbol is undefined external, but there is no symbl stub). */ ++ if (TARGET_64BIT) ++ rs6000_default_long_calls = 0; ++ ++ /* ld_classic is (so far) still used for kernel (static) code, and supports ++ the JBSR longcall / branch islands. */ + if (flag_mkernel) + { + rs6000_default_long_calls = 1; +- rs6000_isa_flags |= OPTION_MASK_SOFT_FLOAT; ++ ++ /* Allow a kext author to do -mkernel -mhard-float. */ ++ if (! (rs6000_isa_flags_explicit & OPTION_MASK_SOFT_FLOAT)) ++ rs6000_isa_flags |= OPTION_MASK_SOFT_FLOAT; + } + + /* Make -m64 imply -maltivec. Darwin's 64-bit ABI includes +@@ -7374,7 +7386,6 @@ rs6000_expand_vector_extract (rtx target, rtx vec, rtx elt) + default: + break; + case E_V1TImode: +- gcc_assert (INTVAL (elt) == 0 && inner_mode == TImode); + emit_move_insn (target, gen_lowpart (TImode, vec)); + break; + case E_V2DFmode: +@@ -7425,6 +7436,10 @@ rs6000_expand_vector_extract (rtx target, rtx vec, rtx elt) + + switch (mode) + { ++ case E_V1TImode: ++ emit_move_insn (target, gen_lowpart (TImode, vec)); ++ return; ++ + case E_V2DFmode: + emit_insn (gen_vsx_extract_v2df_var (target, vec, elt)); + return; +@@ -7454,18 +7469,32 @@ rs6000_expand_vector_extract (rtx target, rtx vec, rtx elt) + } + } + +- gcc_assert (CONST_INT_P (elt)); +- + /* Allocate mode-sized buffer. */ + mem = assign_stack_temp (mode, GET_MODE_SIZE (mode)); + + emit_move_insn (mem, vec); ++ if (CONST_INT_P (elt)) ++ { ++ int modulo_elt = INTVAL (elt) % GET_MODE_NUNITS (mode); + +- /* Add offset to field within buffer matching vector element. */ +- mem = adjust_address_nv (mem, inner_mode, +- INTVAL (elt) * GET_MODE_SIZE (inner_mode)); ++ /* Add offset to field within buffer matching vector element. */ ++ mem = adjust_address_nv (mem, inner_mode, ++ modulo_elt * GET_MODE_SIZE (inner_mode)); ++ emit_move_insn (target, adjust_address_nv (mem, inner_mode, 0)); ++ } ++ else ++ { ++ unsigned int ele_size = GET_MODE_SIZE (inner_mode); ++ rtx num_ele_m1 = GEN_INT (GET_MODE_NUNITS (mode) - 1); ++ rtx new_addr = gen_reg_rtx (Pmode); + +- emit_move_insn (target, adjust_address_nv (mem, inner_mode, 0)); ++ elt = gen_rtx_AND (Pmode, elt, num_ele_m1); ++ if (ele_size > 1) ++ elt = gen_rtx_MULT (Pmode, elt, GEN_INT (ele_size)); ++ new_addr = gen_rtx_PLUS (Pmode, XEXP (mem, 0), elt); ++ new_addr = change_address (mem, inner_mode, new_addr); ++ emit_move_insn (target, new_addr); ++ } + } + + /* Helper function to return the register number of a RTX. */ +@@ -7646,7 +7675,7 @@ rs6000_split_vec_extract_var (rtx dest, rtx src, rtx element, rtx tmp_gpr, + rtx tmp_altivec) + { + machine_mode mode = GET_MODE (src); +- machine_mode scalar_mode = GET_MODE (dest); ++ machine_mode scalar_mode = GET_MODE_INNER (GET_MODE (src)); + unsigned scalar_size = GET_MODE_SIZE (scalar_mode); + int byte_shift = exact_log2 (scalar_size); + +@@ -7657,6 +7686,10 @@ rs6000_split_vec_extract_var (rtx dest, rtx src, rtx element, rtx tmp_gpr, + systems. */ + if (MEM_P (src)) + { ++ int num_elements = GET_MODE_NUNITS (mode); ++ rtx num_ele_m1 = GEN_INT (num_elements - 1); ++ ++ emit_insn (gen_anddi3 (element, element, num_ele_m1)); + gcc_assert (REG_P (tmp_gpr)); + emit_move_insn (dest, rs6000_adjust_vec_address (dest, src, element, + tmp_gpr, scalar_mode)); +@@ -7665,7 +7698,9 @@ rs6000_split_vec_extract_var (rtx dest, rtx src, rtx element, rtx tmp_gpr, + + else if (REG_P (src) || SUBREG_P (src)) + { +- int bit_shift = byte_shift + 3; ++ int num_elements = GET_MODE_NUNITS (mode); ++ int bits_in_element = mode_to_bits (GET_MODE_INNER (mode)); ++ int bit_shift = 7 - exact_log2 (num_elements); + rtx element2; + int dest_regno = regno_or_subregno (dest); + int src_regno = regno_or_subregno (src); +@@ -7741,7 +7776,7 @@ rs6000_split_vec_extract_var (rtx dest, rtx src, rtx element, rtx tmp_gpr, + { + if (!VECTOR_ELT_ORDER_BIG) + { +- rtx num_ele_m1 = GEN_INT (GET_MODE_NUNITS (mode) - 1); ++ rtx num_ele_m1 = GEN_INT (num_elements - 1); + + emit_insn (gen_anddi3 (tmp_gpr, element, num_ele_m1)); + emit_insn (gen_subdi3 (tmp_gpr, num_ele_m1, tmp_gpr)); +@@ -7799,8 +7834,8 @@ rs6000_split_vec_extract_var (rtx dest, rtx src, rtx element, rtx tmp_gpr, + emit_insn (gen_vsx_vslo_v2di (tmp_altivec_di, src_v2di, + tmp_altivec)); + emit_move_insn (tmp_gpr_di, tmp_altivec_di); +- emit_insn (gen_ashrdi3 (tmp_gpr_di, tmp_gpr_di, +- GEN_INT (64 - (8 * scalar_size)))); ++ emit_insn (gen_lshrdi3 (tmp_gpr_di, tmp_gpr_di, ++ GEN_INT (64 - bits_in_element))); + return; + } + +@@ -8223,6 +8258,101 @@ address_offset (rtx op) + return NULL_RTX; + } + ++/* This tests that a lo_sum {constant, symbol, symbol+offset} is valid for ++ the mode. If we can't find (or don't know) the alignment of the symbol ++ we assume (optimistically) that it's sufficiently aligned [??? maybe we ++ should be pessimistic]. Offsets are validated in the same way as for ++ reg + offset. */ ++static bool ++darwin_rs6000_legitimate_lo_sum_const_p (rtx x, machine_mode mode) ++{ ++ if (GET_CODE (x) == CONST) ++ x = XEXP (x, 0); ++ ++ if (GET_CODE (x) == UNSPEC && XINT (x, 1) == UNSPEC_MACHOPIC_OFFSET) ++ x = XVECEXP (x, 0, 0); ++ ++ rtx sym = NULL_RTX; ++ unsigned HOST_WIDE_INT offset = 0; ++ ++ if (GET_CODE (x) == PLUS) ++ { ++ sym = XEXP (x, 0); ++ if (! SYMBOL_REF_P (sym)) ++ return false; ++ if (!CONST_INT_P (XEXP (x, 1))) ++ return false; ++ offset = INTVAL (XEXP (x, 1)); ++ } ++ else if (SYMBOL_REF_P (x)) ++ sym = x; ++ else if (CONST_INT_P (x)) ++ offset = INTVAL (x); ++ else if (GET_CODE (x) == LABEL_REF) ++ offset = 0; // We assume code labels are Pmode aligned ++ else ++ return false; // not sure what we have here. ++ ++ /* If we don't know the alignment of the thing to which the symbol refers, ++ we assume optimistically it is "enough". ++ ??? maybe we should be pessimistic instead. */ ++ unsigned align = 0; ++ ++ if (sym) ++ { ++ tree decl = SYMBOL_REF_DECL (sym); ++#if TARGET_MACHO ++ if (MACHO_SYMBOL_INDIRECTION_P (sym)) ++ /* The decl in an indirection symbol is the original one, which might ++ be less aligned than the indirection. Our indirections are always ++ pointer-aligned. */ ++ ; ++ else ++#endif ++ if (decl && DECL_ALIGN (decl)) ++ align = DECL_ALIGN_UNIT (decl); ++ } ++ ++ unsigned int extra = 0; ++ switch (mode) ++ { ++ case E_DFmode: ++ case E_DDmode: ++ case E_DImode: ++ /* If we are using VSX scalar loads, restrict ourselves to reg+reg ++ addressing. */ ++ if (VECTOR_MEM_VSX_P (mode)) ++ return false; ++ ++ if (!TARGET_POWERPC64) ++ extra = 4; ++ else if ((offset & 3) || (align & 3)) ++ return false; ++ break; ++ ++ case E_TFmode: ++ case E_IFmode: ++ case E_KFmode: ++ case E_TDmode: ++ case E_TImode: ++ case E_PTImode: ++ extra = 8; ++ if (!TARGET_POWERPC64) ++ extra = 12; ++ else if ((offset & 3) || (align & 3)) ++ return false; ++ break; ++ ++ default: ++ break; ++ } ++ ++ /* We only care if the access(es) would cause a change to the high part. */ ++ offset = ((offset & 0xffff) ^ 0x8000) - 0x8000; ++ return IN_RANGE (offset, -(HOST_WIDE_INT_1 << 15), ++ (HOST_WIDE_INT_1 << 15) - 1 - extra); ++} ++ + /* Return true if the MEM operand is a memory operand suitable for use + with a (full width, possibly multiple) gpr load/store. On + powerpc64 this means the offset must be divisible by 4. +@@ -8257,7 +8387,13 @@ mem_operand_gpr (rtx op, machine_mode mode) + && legitimate_indirect_address_p (XEXP (addr, 0), false)) + return true; + +- /* Don't allow non-offsettable addresses. See PRs 83969 and 84279. */ ++ /* We need to look through Mach-O PIC unspecs to determine if a lo_sum is ++ really OK. Doing this early avoids teaching all the other machinery ++ about them. */ ++ if (TARGET_MACHO && GET_CODE (addr) == LO_SUM) ++ return darwin_rs6000_legitimate_lo_sum_const_p (XEXP (addr, 1), mode); ++ ++ /* Only allow offsettable addresses. See PRs 83969 and 84279. */ + if (!rs6000_offsettable_memref_p (op, mode, false)) + return false; + +@@ -12592,7 +12728,9 @@ rs6000_function_arg (cumulative_args_t cum_v, machine_mode mode, + if (elt_mode == TDmode && (cum->fregno % 2) == 1) + cum->fregno++; + +- if (USE_FP_FOR_ARG_P (cum, elt_mode)) ++ if (USE_FP_FOR_ARG_P (cum, elt_mode) ++ && !(TARGET_AIX && !TARGET_ELF ++ && type != NULL && AGGREGATE_TYPE_P (type))) + { + rtx rvec[GP_ARG_NUM_REG + AGGR_ARG_NUM_REG + 1]; + rtx r, off; +@@ -12728,7 +12866,9 @@ rs6000_arg_partial_bytes (cumulative_args_t cum_v, machine_mode mode, + + align_words = rs6000_parm_start (mode, type, cum->words); + +- if (USE_FP_FOR_ARG_P (cum, elt_mode)) ++ if (USE_FP_FOR_ARG_P (cum, elt_mode) ++ && !(TARGET_AIX && !TARGET_ELF ++ && type != NULL && AGGREGATE_TYPE_P (type))) + { + unsigned long n_fpreg = (GET_MODE_SIZE (elt_mode) + 7) >> 3; + +@@ -15417,9 +15557,17 @@ altivec_expand_vec_ext_builtin (tree exp, rtx target) + op0 = expand_normal (arg0); + op1 = expand_normal (arg1); + +- /* Call get_element_number to validate arg1 if it is a constant. */ + if (TREE_CODE (arg1) == INTEGER_CST) +- (void) get_element_number (TREE_TYPE (arg0), arg1); ++ { ++ unsigned HOST_WIDE_INT elt; ++ unsigned HOST_WIDE_INT size = TYPE_VECTOR_SUBPARTS (TREE_TYPE (arg0)); ++ unsigned int truncated_selector; ++ /* Even if !tree_fits_uhwi_p (arg1)), TREE_INT_CST_LOW (arg0) ++ returns low-order bits of INTEGER_CST for modulo indexing. */ ++ elt = TREE_INT_CST_LOW (arg1); ++ truncated_selector = elt % size; ++ op1 = GEN_INT (truncated_selector); ++ } + + tmode = TYPE_MODE (TREE_TYPE (TREE_TYPE (arg0))); + mode0 = TYPE_MODE (TREE_TYPE (arg0)); +@@ -16765,23 +16913,13 @@ rs6000_gimple_fold_builtin (gimple_stmt_iterator *gsi) + 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); + + /* 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 +18399,7 @@ builtin_function_type (machine_mode mode_ret, machine_mode mode_arg0, + { + /* 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 +18415,13 @@ builtin_function_type (machine_mode mode_ret, machine_mode mode_arg0, + 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: +@@ -21883,7 +22026,7 @@ print_operand (FILE *file, rtx x, int code) + { + const char *name = XSTR (x, 0); + #if TARGET_MACHO +- if (darwin_emit_branch_islands ++ if (darwin_symbol_stubs + && MACHOPIC_INDIRECT + && machopic_classify_symbol (x) == MACHOPIC_UNDEFINED_FUNCTION) + name = machopic_indirection_name (x, /*stub_p=*/true); +@@ -23408,6 +23551,11 @@ rs6000_emit_cmove (rtx dest, rtx op, rtx true_cond, rtx false_cond) + + /* At this point we know we can use fsel. */ + ++ /* Don't allow compare_mode other than SFmode or DFmode, for others there ++ is no fsel instruction. */ ++ if (compare_mode != SFmode && compare_mode != DFmode) ++ return 0; ++ + /* Reduce the comparison to a comparison against zero. */ + if (! is_against_zero) + { +@@ -25996,10 +26144,14 @@ rs6000_emit_allocate_stack (HOST_WIDE_INT size, rtx copy_reg, int copy_off) + stack_limit_rtx, + GEN_INT (size))); + +- emit_insn (gen_elf_high (tmp_reg, toload)); +- emit_insn (gen_elf_low (tmp_reg, tmp_reg, toload)); +- emit_insn (gen_cond_trap (LTU, stack_reg, tmp_reg, +- const0_rtx)); ++ /* We cannot use r0 with elf_low. Lamely solve this problem by ++ moving registers around. */ ++ rtx r11_reg = gen_rtx_REG (Pmode, 11); ++ emit_move_insn (tmp_reg, r11_reg); ++ emit_insn (gen_elf_high (r11_reg, toload)); ++ emit_insn (gen_elf_low (r11_reg, r11_reg, toload)); ++ emit_insn (gen_cond_trap (LTU, stack_reg, r11_reg, const0_rtx)); ++ emit_move_insn (r11_reg, tmp_reg); + } + else + warning (0, "stack limit expression is not supported"); +@@ -33632,7 +33784,7 @@ output_call (rtx_insn *insn, rtx *operands, int dest_operand_number, + int cookie_operand_number) + { + static char buf[256]; +- if (darwin_emit_branch_islands ++ if (darwin_symbol_stubs + && GET_CODE (operands[dest_operand_number]) == SYMBOL_REF + && (INTVAL (operands[cookie_operand_number]) & CALL_LONG)) + { +@@ -34192,6 +34344,10 @@ rs6000_xcoff_asm_init_sections (void) + rs6000_xcoff_output_readwrite_section_asm_op, + &xcoff_private_data_section_name); + ++ read_only_private_data_section ++ = get_unnamed_section (0, rs6000_xcoff_output_readonly_section_asm_op, ++ &xcoff_private_rodata_section_name); ++ + tls_data_section + = get_unnamed_section (SECTION_TLS, + rs6000_xcoff_output_tls_section_asm_op, +@@ -34202,10 +34358,6 @@ rs6000_xcoff_asm_init_sections (void) + rs6000_xcoff_output_tls_section_asm_op, + &xcoff_private_data_section_name); + +- read_only_private_data_section +- = get_unnamed_section (0, rs6000_xcoff_output_readonly_section_asm_op, +- &xcoff_private_data_section_name); +- + toc_section + = get_unnamed_section (0, rs6000_xcoff_output_toc_section_asm_op, NULL); + +@@ -34386,6 +34538,8 @@ rs6000_xcoff_file_start (void) + main_input_filename, ".bss_"); + rs6000_gen_section_name (&xcoff_private_data_section_name, + main_input_filename, ".rw_"); ++ rs6000_gen_section_name (&xcoff_private_rodata_section_name, ++ main_input_filename, ".rop_"); + rs6000_gen_section_name (&xcoff_read_only_section_name, + main_input_filename, ".ro_"); + rs6000_gen_section_name (&xcoff_tls_data_section_name, +@@ -36605,10 +36759,20 @@ rs6000_init_dwarf_reg_sizes_extra (tree address) + unsigned int + rs6000_dbx_register_number (unsigned int regno, unsigned int format) + { +- /* Except for the above, we use the internal number for non-DWARF +- debug information, and also for .eh_frame. */ ++ /* We use the GCC 7 (and before) internal number for non-DWARF debug ++ information, and also for .eh_frame. */ + if ((format == 0 && write_symbols != DWARF2_DEBUG) || format == 2) +- return regno; ++ { ++ /* Translate the regnos to their numbers in GCC 7 (and before). */ ++ if (regno == TFHAR_REGNO) ++ regno = 114; ++ else if (regno == TFIAR_REGNO) ++ regno = 115; ++ else if (regno == TEXASR_REGNO) ++ regno = 116; ++ ++ return regno; ++ } + + /* On some platforms, we use the standard DWARF register + numbering for .debug_info and .debug_frame. */ +@@ -36635,6 +36799,12 @@ rs6000_dbx_register_number (unsigned int regno, unsigned int format) + return 356; + if (regno == VSCR_REGNO) + return 67; ++ if (regno == TFHAR_REGNO) ++ return 228; ++ if (regno == TFIAR_REGNO) ++ return 229; ++ if (regno == TEXASR_REGNO) ++ return 230; + #endif + return regno; + } +@@ -37840,6 +38010,7 @@ make_resolver_func (const tree default_decl, + + /* Build result decl and add to function_decl. */ + tree t = build_decl (UNKNOWN_LOCATION, RESULT_DECL, NULL_TREE, ptr_type_node); ++ DECL_CONTEXT (t) = decl; + DECL_ARTIFICIAL (t) = 1; + DECL_IGNORED_P (t) = 1; + DECL_RESULT (decl) = t; +@@ -38061,25 +38232,31 @@ rs6000_can_inline_p (tree caller, tree callee) + tree caller_tree = DECL_FUNCTION_SPECIFIC_TARGET (caller); + tree callee_tree = DECL_FUNCTION_SPECIFIC_TARGET (callee); + +- /* If callee has no option attributes, then it is ok to inline. */ ++ /* If the callee has no option attributes, then it is ok to inline. */ + if (!callee_tree) + ret = true; + +- /* If caller has no option attributes, but callee does then it is not ok to +- inline. */ +- else if (!caller_tree) +- ret = false; +- + else + { +- struct cl_target_option *caller_opts = TREE_TARGET_OPTION (caller_tree); ++ HOST_WIDE_INT caller_isa; + struct cl_target_option *callee_opts = TREE_TARGET_OPTION (callee_tree); ++ HOST_WIDE_INT callee_isa = callee_opts->x_rs6000_isa_flags; ++ HOST_WIDE_INT explicit_isa = callee_opts->x_rs6000_isa_flags_explicit; + +- /* Callee's options should a subset of the caller's, i.e. a vsx function +- can inline an altivec function but a non-vsx function can't inline a +- vsx function. */ +- if ((caller_opts->x_rs6000_isa_flags & callee_opts->x_rs6000_isa_flags) +- == callee_opts->x_rs6000_isa_flags) ++ /* If the caller has option attributes, then use them. ++ Otherwise, use the command line options. */ ++ if (caller_tree) ++ caller_isa = TREE_TARGET_OPTION (caller_tree)->x_rs6000_isa_flags; ++ else ++ caller_isa = rs6000_isa_flags; ++ ++ /* The callee's options must be a subset of the caller's options, i.e. ++ a vsx function may inline an altivec function, but a no-vsx function ++ must not inline a vsx function. However, for those options that the ++ callee has explicitly enabled or disabled, then we must enforce that ++ the callee's and caller's options match exactly; see PR70010. */ ++ if (((caller_isa & callee_isa) == callee_isa) ++ && (caller_isa & explicit_isa) == (callee_isa & explicit_isa)) + ret = true; + } + +--- a/src/gcc/config/rs6000/rs6000.md ++++ b/src/gcc/config/rs6000/rs6000.md +@@ -136,6 +136,9 @@ + UNSPEC_LSQ + UNSPEC_FUSION_GPR + UNSPEC_STACK_CHECK ++ UNSPEC_CMPRB ++ UNSPEC_CMPRB2 ++ UNSPEC_CMPEQB + UNSPEC_FUSION_P9 + UNSPEC_FUSION_ADDIS + UNSPEC_ADD_ROUND_TO_ODD +@@ -162,6 +165,9 @@ + UNSPECV_EH_RR ; eh_reg_restore + UNSPECV_ISYNC ; isync instruction + UNSPECV_MFTB ; move from time base ++ UNSPECV_DARN ; darn 1 (deliver a random number) ++ UNSPECV_DARN_32 ; darn 2 ++ UNSPECV_DARN_RAW ; darn 0 + UNSPECV_NLGR ; non-local goto receiver + UNSPECV_MFFS ; Move from FPSCR + UNSPECV_MTFSF ; Move to FPSCR Fields +@@ -6692,14 +6698,6 @@ + ;; do the load 16-bits at a time. We could do this by loading from memory, + ;; and this is even supposed to be faster, but it is simpler not to get + ;; integers in the TOC. +-(define_insn "movsi_low" +- [(set (match_operand:SI 0 "gpc_reg_operand" "=r") +- (mem:SI (lo_sum:SI (match_operand:SI 1 "gpc_reg_operand" "b") +- (match_operand 2 "" ""))))] +- "TARGET_MACHO && ! TARGET_64BIT" +- "lwz %0,lo16(%2)(%1)" +- [(set_attr "type" "load") +- (set_attr "length" "4")]) + + ;; MR LA LWZ LFIWZX LXSIWZX + ;; STW STFIWX STXSIWX LI LIS +@@ -12594,15 +12592,18 @@ + [(unspec [(const_int 0)] UNSPEC_GRP_END_NOP)] + "" + { +- if (rs6000_tune == PROCESSOR_POWER6) +- return "ori 1,1,0"; +- return "ori 2,2,0"; ++ operands[0] = gen_rtx_REG (Pmode, ++ rs6000_tune == PROCESSOR_POWER6 ? 1 : 2); ++ return "ori %0,%0,0"; + }) + + (define_insn "rs6000_speculation_barrier" + [(unspec_volatile:BLK [(const_int 0)] UNSPECV_SPEC_BARRIER)] + "" +- "ori 31,31,0") ++{ ++ operands[0] = gen_rtx_REG (Pmode, 31); ++ return "ori %0,%0,0"; ++}) + + ;; Define the subtract-one-and-jump insns, starting with the template + ;; so loop.c knows what to generate. +@@ -12699,7 +12700,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)) ++ if (int_reg_operand (operands[0], mode)) + emit_insn (gen_add3 (operands[0], operands[1], constm1_rtx)); + else + { +@@ -12768,7 +12769,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 +12802,7 @@ + else + emit_insn (gen_cceq_ior_compare_complement (operands[9], andexpr, ctrcmpcc, + operands[8], cccmp, ccin)); +- if (gpc_reg_operand (operands[0], mode)) ++ if (int_reg_operand (ctrout, mode)) + emit_insn (gen_add3 (ctrout, ctr, constm1_rtx)); + else + { +@@ -14597,7 +14598,225 @@ + "xscmpuqp %0,%1,%2" + [(set_attr "type" "veccmp") + (set_attr "size" "128")]) ++ ++;; Miscellaneous ISA 3.0 (power9) instructions + ++(define_insn "darn_32" ++ [(set (match_operand:SI 0 "register_operand" "=r") ++ (unspec_volatile:SI [(const_int 0)] UNSPECV_DARN_32))] ++ "TARGET_P9_MISC" ++ "darn %0,0" ++ [(set_attr "type" "integer")]) ++ ++(define_insn "darn_raw" ++ [(set (match_operand:DI 0 "register_operand" "=r") ++ (unspec_volatile:DI [(const_int 0)] UNSPECV_DARN_RAW))] ++ "TARGET_P9_MISC && TARGET_64BIT" ++ "darn %0,2" ++ [(set_attr "type" "integer")]) ++ ++(define_insn "darn" ++ [(set (match_operand:DI 0 "register_operand" "=r") ++ (unspec_volatile:DI [(const_int 0)] UNSPECV_DARN))] ++ "TARGET_P9_MISC && TARGET_64BIT" ++ "darn %0,1" ++ [(set_attr "type" "integer")]) ++ ++;; Test byte within range. ++;; ++;; The bytes of operand 1 are organized as xx:xx:xx:vv, where xx ++;; represents a byte whose value is ignored in this context and ++;; vv, the least significant byte, holds the byte value that is to ++;; be tested for membership within the range specified by operand 2. ++;; The bytes of operand 2 are organized as xx:xx:hi:lo. ++;; ++;; Return in target register operand 0 a value of 1 if lo <= vv and ++;; vv <= hi. Otherwise, set register operand 0 to 0. ++;; ++;; Though the instructions to which this expansion maps operate on ++;; 64-bit registers, the current implementation only operates on ++;; SI-mode operands as the high-order bits provide no information ++;; that is not already available in the low-order bits. To avoid the ++;; costs of data widening operations, future enhancements might allow ++;; DI mode for operand 0 and/or might allow operand 1 to be QI mode. ++(define_expand "cmprb" ++ [(set (match_dup 3) ++ (unspec:CC [(match_operand:SI 1 "gpc_reg_operand" "r") ++ (match_operand:SI 2 "gpc_reg_operand" "r")] ++ UNSPEC_CMPRB)) ++ (set (match_operand:SI 0 "gpc_reg_operand" "=r") ++ (if_then_else:SI (lt (match_dup 3) ++ (const_int 0)) ++ (const_int -1) ++ (if_then_else (gt (match_dup 3) ++ (const_int 0)) ++ (const_int 1) ++ (const_int 0))))] ++ "TARGET_P9_MISC" ++{ ++ operands[3] = gen_reg_rtx (CCmode); ++}) ++ ++;; The bytes of operand 1 are organized as xx:xx:xx:vv, where xx ++;; represents a byte whose value is ignored in this context and ++;; vv, the least significant byte, holds the byte value that is to ++;; be tested for membership within the range specified by operand 2. ++;; The bytes of operand 2 are organized as xx:xx:hi:lo. ++;; ++;; Set bit 1 (the GT bit, 0x4) of CR register operand 0 to 1 if ++;; lo <= vv and vv <= hi. Otherwise, set the GT bit to 0. The other ++;; 3 bits of the target CR register are all set to 0. ++(define_insn "*cmprb_internal" ++ [(set (match_operand:CC 0 "cc_reg_operand" "=y") ++ (unspec:CC [(match_operand:SI 1 "gpc_reg_operand" "r") ++ (match_operand:SI 2 "gpc_reg_operand" "r")] ++ UNSPEC_CMPRB))] ++ "TARGET_P9_MISC" ++ "cmprb %0,0,%1,%2" ++ [(set_attr "type" "logical")]) ++ ++;; Set operand 0 register to -1 if the LT bit (0x8) of condition ++;; register operand 1 is on. Otherwise, set operand 0 register to 1 ++;; if the GT bit (0x4) of condition register operand 1 is on. ++;; Otherwise, set operand 0 to 0. Note that the result stored into ++;; register operand 0 is non-zero iff either the LT or GT bits are on ++;; within condition register operand 1. ++(define_insn "setb_signed" ++ [(set (match_operand:SI 0 "gpc_reg_operand" "=r") ++ (if_then_else:SI (lt (match_operand:CC 1 "cc_reg_operand" "y") ++ (const_int 0)) ++ (const_int -1) ++ (if_then_else (gt (match_dup 1) ++ (const_int 0)) ++ (const_int 1) ++ (const_int 0))))] ++ "TARGET_P9_MISC" ++ "setb %0,%1" ++ [(set_attr "type" "logical")]) ++ ++(define_insn "setb_unsigned" ++ [(set (match_operand:SI 0 "gpc_reg_operand" "=r") ++ (if_then_else:SI (ltu (match_operand:CCUNS 1 "cc_reg_operand" "y") ++ (const_int 0)) ++ (const_int -1) ++ (if_then_else (gtu (match_dup 1) ++ (const_int 0)) ++ (const_int 1) ++ (const_int 0))))] ++ "TARGET_P9_MISC" ++ "setb %0,%1" ++ [(set_attr "type" "logical")]) ++ ++;; Test byte within two ranges. ++;; ++;; The bytes of operand 1 are organized as xx:xx:xx:vv, where xx ++;; represents a byte whose value is ignored in this context and ++;; vv, the least significant byte, holds the byte value that is to ++;; be tested for membership within the range specified by operand 2. ++;; The bytes of operand 2 are organized as hi_1:lo_1:hi_2:lo_2. ++;; ++;; Return in target register operand 0 a value of 1 if (lo_1 <= vv and ++;; vv <= hi_1) or if (lo_2 <= vv and vv <= hi_2). Otherwise, set register ++;; operand 0 to 0. ++;; ++;; Though the instructions to which this expansion maps operate on ++;; 64-bit registers, the current implementation only operates on ++;; SI-mode operands as the high-order bits provide no information ++;; that is not already available in the low-order bits. To avoid the ++;; costs of data widening operations, future enhancements might allow ++;; DI mode for operand 0 and/or might allow operand 1 to be QI mode. ++(define_expand "cmprb2" ++ [(set (match_dup 3) ++ (unspec:CC [(match_operand:SI 1 "gpc_reg_operand" "r") ++ (match_operand:SI 2 "gpc_reg_operand" "r")] ++ UNSPEC_CMPRB2)) ++ (set (match_operand:SI 0 "gpc_reg_operand" "=r") ++ (if_then_else:SI (lt (match_dup 3) ++ (const_int 0)) ++ (const_int -1) ++ (if_then_else (gt (match_dup 3) ++ (const_int 0)) ++ (const_int 1) ++ (const_int 0))))] ++ "TARGET_P9_MISC" ++{ ++ operands[3] = gen_reg_rtx (CCmode); ++}) ++ ++;; The bytes of operand 1 are organized as xx:xx:xx:vv, where xx ++;; represents a byte whose value is ignored in this context and ++;; vv, the least significant byte, holds the byte value that is to ++;; be tested for membership within the ranges specified by operand 2. ++;; The bytes of operand 2 are organized as hi_1:lo_1:hi_2:lo_2. ++;; ++;; Set bit 1 (the GT bit, 0x4) of CR register operand 0 to 1 if ++;; (lo_1 <= vv and vv <= hi_1) or if (lo_2 <= vv and vv <= hi_2). ++;; Otherwise, set the GT bit to 0. The other 3 bits of the target ++;; CR register are all set to 0. ++(define_insn "*cmprb2_internal" ++ [(set (match_operand:CC 0 "cc_reg_operand" "=y") ++ (unspec:CC [(match_operand:SI 1 "gpc_reg_operand" "r") ++ (match_operand:SI 2 "gpc_reg_operand" "r")] ++ UNSPEC_CMPRB2))] ++ "TARGET_P9_MISC" ++ "cmprb %0,1,%1,%2" ++ [(set_attr "type" "logical")]) ++ ++;; Test byte membership within set of 8 bytes. ++;; ++;; The bytes of operand 1 are organized as xx:xx:xx:vv, where xx ++;; represents a byte whose value is ignored in this context and ++;; vv, the least significant byte, holds the byte value that is to ++;; be tested for membership within the set specified by operand 2. ++;; The bytes of operand 2 are organized as e0:e1:e2:e3:e4:e5:e6:e7. ++;; ++;; Return in target register operand 0 a value of 1 if vv equals one ++;; of the values e0, e1, e2, e3, e4, e5, e6, or e7. Otherwise, set ++;; register operand 0 to 0. Note that the 8 byte values held within ++;; operand 2 need not be unique. ++;; ++;; Though the instructions to which this expansion maps operate on ++;; 64-bit registers, the current implementation requires that operands ++;; 0 and 1 have mode SI as the high-order bits provide no information ++;; that is not already available in the low-order bits. To avoid the ++;; costs of data widening operations, future enhancements might allow ++;; DI mode for operand 0 and/or might allow operand 1 to be QI mode. ++(define_expand "cmpeqb" ++ [(set (match_dup 3) ++ (unspec:CC [(match_operand:SI 1 "gpc_reg_operand" "r") ++ (match_operand:DI 2 "gpc_reg_operand" "r")] ++ UNSPEC_CMPEQB)) ++ (set (match_operand:SI 0 "gpc_reg_operand" "=r") ++ (if_then_else:SI (lt (match_dup 3) ++ (const_int 0)) ++ (const_int -1) ++ (if_then_else (gt (match_dup 3) ++ (const_int 0)) ++ (const_int 1) ++ (const_int 0))))] ++ "TARGET_P9_MISC && TARGET_64BIT" ++{ ++ operands[3] = gen_reg_rtx (CCmode); ++}) ++ ++;; The bytes of operand 1 are organized as xx:xx:xx:vv, where xx ++;; represents a byte whose value is ignored in this context and ++;; vv, the least significant byte, holds the byte value that is to ++;; be tested for membership within the set specified by operand 2. ++;; The bytes of operand 2 are organized as e0:e1:e2:e3:e4:e5:e6:e7. ++;; ++;; Set bit 1 (the GT bit, 0x4) of CR register operand 0 to 1 if vv ++;; equals one of the values e0, e1, e2, e3, e4, e5, e6, or e7. Otherwise, ++;; set the GT bit to zero. The other 3 bits of the target CR register ++;; are all set to 0. ++(define_insn "*cmpeqb_internal" ++ [(set (match_operand:CC 0 "cc_reg_operand" "=y") ++ (unspec:CC [(match_operand:SI 1 "gpc_reg_operand" "r") ++ (match_operand:DI 2 "gpc_reg_operand" "r")] ++ UNSPEC_CMPEQB))] ++ "TARGET_P9_MISC && TARGET_64BIT" ++ "cmpeqb %0,%1,%2" ++ [(set_attr "type" "logical")]) + + + (include "sync.md") +new file mode 100644 +--- /dev/null ++++ b/src/gcc/config/rs6000/t-darwin32-biarch +@@ -0,0 +1,3 @@ ++# 64-bit libraries can only be built in Darwin 8.x or later. ++MULTILIB_OPTIONS = m64 ++MULTILIB_DIRNAMES = ppc64 +deleted file mode 100644 +--- a/src/gcc/config/rs6000/t-darwin64 ++++ /dev/null +@@ -1,2 +0,0 @@ +-MULTILIB_OPTIONS = m32 +-MULTILIB_DIRNAMES = ppc +new file mode 100644 +--- /dev/null ++++ b/src/gcc/config/rs6000/t-darwin64-biarch +@@ -0,0 +1,2 @@ ++MULTILIB_OPTIONS = m32 ++MULTILIB_DIRNAMES = ppc +deleted file mode 100644 +--- a/src/gcc/config/rs6000/t-darwin8 ++++ /dev/null +@@ -1,3 +0,0 @@ +-# 64-bit libraries can only be built in Darwin 8.x or later. +-MULTILIB_OPTIONS = m64 +-MULTILIB_DIRNAMES = ppc64 +--- a/src/gcc/config/rs6000/t-linux ++++ b/src/gcc/config/rs6000/t-linux +@@ -4,7 +4,7 @@ ifeq (,$(filter $(with_cpu),$(SOFT_FLOAT_CPUS))$(findstring soft,$(with_float))) + ifneq (,$(findstring powerpc64,$(target))) + MULTILIB_OSDIRNAMES := .=../lib64$(call if_multiarch,:powerpc64-linux-gnu) + else +-MULTIARCH_DIRNAME := powerpc-linux-gnu ++MULTIARCH_DIRNAME := $(call if_multiarch,powerpc-linux-gnu) + endif + ifneq (,$(findstring powerpcle,$(target))) + MULTIARCH_DIRNAME := $(subst -linux,le-linux,$(MULTIARCH_DIRNAME)) +--- a/src/gcc/config/rs6000/vsx.md ++++ b/src/gcc/config/rs6000/vsx.md +@@ -3756,9 +3756,9 @@ + DONE; + }) + +-(define_insn_and_split "*vsx_extract___var" +- [(set (match_operand:SDI 0 "gpc_reg_operand" "=r,r,r") +- (zero_extend:SDI ++(define_insn_and_split "*vsx_extract__mode_var" ++ [(set (match_operand: 0 "gpc_reg_operand" "=r,r,r") ++ (zero_extend: + (unspec: + [(match_operand:VSX_EXTRACT_I 1 "input_operand" "wK,v,m") + (match_operand:DI 2 "gpc_reg_operand" "r,r,r")] +@@ -3770,7 +3770,7 @@ + "&& reload_completed" + [(const_int 0)] + { +- machine_mode smode = mode; ++ machine_mode smode = mode; + rs6000_split_vec_extract_var (gen_rtx_REG (smode, REGNO (operands[0])), + operands[1], operands[2], + operands[3], operands[4]); +--- a/src/gcc/config/s390/s390-builtin-types.def ++++ b/src/gcc/config/s390/s390-builtin-types.def +@@ -260,6 +260,7 @@ DEF_FN_TYPE_2 (BT_FN_V4SF_FLT_INT, BT_V4SF, BT_FLT, BT_INT) + 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_USHORT_UV8HI_INT, BT_USHORT, BT_UV8HI, BT_INT) + 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_UV8HI_UV8HI_INTPTR, BT_UV16QI, BT_UV8HI, BT_UV8HI, BT_ + 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_UV2DI_V2DI, BT_UV2DI, BT_V2DI) + 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_UV4SI_V4SI, BT_UV4SI, BT_V4SI) + 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_UV8HI_V8HI, BT_UV8HI, BT_UV8HI, BT_V8HI) + 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_UINT, BT_V2DF, BT_DBLCONSTPTR, BT_UINT) + 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_LONGLONGCONSTPTR_USHORT, BT_V2DI, BT_LONGLONGCONSTPTR, B + 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_UINT, BT_V4SF, BT_FLTCONSTPTR, BT_UINT) + 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_UINT, BT_V4SI, BT_INTCONSTPTR, BT_UINT) + 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, BT_V4SI, BT_V8HI) + 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_UV16QI_UCHARPTR_UINT, BT_VOID, BT_UV16QI, BT_UCHARPTR, B + 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) +--- a/src/gcc/config/s390/s390-builtins.def ++++ b/src/gcc/config/s390/s390-builtins.def +@@ -328,36 +328,38 @@ B_DEF (s390_vgmh, vec_genmaskv8hi, 0, + 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_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_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_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_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_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,13 +748,14 @@ OB_DEF_VAR (s390_vec_xstd2_s64, MAX, 0, + 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 */ + 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) +--- a/src/gcc/config/s390/s390-c.c ++++ b/src/gcc/config/s390/s390-c.c +@@ -477,16 +477,30 @@ s390_expand_overloaded_builtin (location_t loc, + 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], +--- a/src/gcc/config/s390/s390.c ++++ b/src/gcc/config/s390/s390.c +@@ -937,6 +937,8 @@ s390_expand_builtin (tree exp, rtx target, rtx subtarget ATTRIBUTE_UNUSED, + 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 @@ s390_expand_builtin (tree exp, rtx target, rtx subtarget ATTRIBUTE_UNUSED, + { + 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 () + 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_optimize_register_info () + + 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 @@ restore_fpr (rtx base, int offset, int regnum) + 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 @@ s390_can_inline_p (tree caller, tree callee) + + 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_settings (tree fndecl) + 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 @@ s390_activate_target_options (tree new_tree) + 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 @@ s390_activate_target_options (tree new_tree) + 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 @@ s390_set_current_function (tree fndecl) + 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 @@ s390_case_values_threshold (void) + #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 + +--- a/src/gcc/config/s390/vector.md ++++ b/src/gcc/config/s390/vector.md +@@ -289,9 +289,9 @@ + ; However, this would probably be slower. + + (define_insn "mov" +- [(set (match_operand:V_8 0 "nonimmediate_operand" "=v,v,d,v,R, v, v, v, v,d, Q, S, Q, S, d, d,d,d,d,R,T") +- (match_operand:V_8 1 "general_operand" " v,d,v,R,v,j00,jm1,jyy,jxx,d,j00,j00,jm1,jm1,j00,jm1,R,T,b,d,d"))] +- "" ++ [(set (match_operand:V_8 0 "nonimmediate_operand" "=v,v,d,v,R, v, v, v, v,d, Q, S, Q, S, d, d,d,R,T") ++ (match_operand:V_8 1 "general_operand" " v,d,v,R,v,j00,jm1,jyy,jxx,d,j00,j00,jm1,jm1,j00,jm1,T,d,d"))] ++ "TARGET_VX" + "@ + vlr\t%v0,%v1 + vlvgb\t%v0,%1,0 +@@ -309,12 +309,10 @@ + mviy\t%0,-1 + lhi\t%0,0 + lhi\t%0,-1 +- lh\t%0,%1 +- lhy\t%0,%1 +- lhrl\t%0,%1 ++ llc\t%0,%1 + stc\t%1,%0 + stcy\t%1,%0" +- [(set_attr "op_type" "VRR,VRS,VRS,VRX,VRX,VRI,VRI,VRI,VRI,RR,SI,SIY,SI,SIY,RI,RI,RX,RXY,RIL,RX,RXY")]) ++ [(set_attr "op_type" "VRR,VRS,VRS,VRX,VRX,VRI,VRI,VRI,VRI,RR,SI,SIY,SI,SIY,RI,RI,RXY,RX,RXY")]) + + (define_insn "mov" + [(set (match_operand:V_16 0 "nonimmediate_operand" "=v,v,d,v,R, v, v, v, v,d, Q, Q, d, d,d,d,d,R,T,b") +@@ -944,7 +942,7 @@ + (VEC_SHIFTS:VI (match_operand:VI 1 "register_operand" "v") + (match_operand:SI 2 "nonmemory_operand" "an")))] + "TARGET_VX" +- "\t%v0,%v1,%Y2" ++ "\t%v0,%v1," + [(set_attr "op_type" "VRS")]) + + ; Shift each element by corresponding vector element +--- a/src/gcc/config/sh/sh.c ++++ b/src/gcc/config/sh/sh.c +@@ -736,7 +736,7 @@ got_mode_name:; + { + if (tokens[i] == "strict") + ret.strict = true; +- else if (tokens[i].find ("gbr-offset=") == 0) ++ else if (!tokens[i].compare (0, strlen ("gbr-offset="), "gbr-offset=")) + { + std::string offset_str = tokens[i].substr (strlen ("gbr-offset=")); + ret.tcb_gbr_offset = integral_argument (offset_str.c_str ()); +@@ -957,11 +957,13 @@ sh_option_override (void) + if (flag_unsafe_math_optimizations) + { + /* Enable fsca insn for SH4A if not otherwise specified by the user. */ +- if (global_options_set.x_TARGET_FSCA == 0 && TARGET_SH4A_FP) ++ if (global_options_set.x_TARGET_FSCA == 0 ++ && (TARGET_SH4A_FP || TARGET_FPU_SH4_300)) + TARGET_FSCA = 1; + + /* Enable fsrra insn for SH4A if not otherwise specified by the user. */ +- if (global_options_set.x_TARGET_FSRRA == 0 && TARGET_SH4A_FP) ++ if (global_options_set.x_TARGET_FSRRA == 0 ++ && (TARGET_SH4A_FP || TARGET_FPU_SH4_300)) + TARGET_FSRRA = 1; + } + +@@ -10875,12 +10877,6 @@ sh_output_mi_thunk (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED, + emit_insn (gen_add2_insn (scratch0, GEN_INT (vcall_offset))); + offset_addr = scratch0; + } +- else if (scratch0 != scratch1) +- { +- emit_move_insn (scratch1, GEN_INT (vcall_offset)); +- emit_insn (gen_add2_insn (scratch0, scratch1)); +- offset_addr = scratch0; +- } + else + gcc_unreachable (); /* FIXME */ + emit_load_ptr (scratch0, offset_addr); +@@ -12077,9 +12073,11 @@ sh_extending_set_of_reg::use_as_extended_reg (rtx_insn* use_at_insn) const + rtx r = gen_reg_rtx (SImode); + rtx_insn* i0; + if (from_mode == QImode) +- i0 = emit_insn_after (gen_extendqisi2 (r, set_src), insn); ++ i0 = sh_check_add_incdec_notes ( ++ emit_insn_after (gen_extendqisi2 (r, set_src), insn)); + else if (from_mode == HImode) +- i0 = emit_insn_after (gen_extendhisi2 (r, set_src), insn); ++ i0 = sh_check_add_incdec_notes ( ++ emit_insn_after (gen_extendhisi2 (r, set_src), insn)); + else + gcc_unreachable (); + +@@ -12497,7 +12495,7 @@ static void + sh_emit_mode_set (int entity ATTRIBUTE_UNUSED, int mode, + int prev_mode, HARD_REG_SET regs_live ATTRIBUTE_UNUSED) + { +- if ((TARGET_SH4A_FP || TARGET_SH4_300) ++ if ((TARGET_SH4A_FP || TARGET_FPU_SH4_300) + && prev_mode != FP_MODE_NONE && prev_mode != mode) + { + emit_insn (gen_toggle_pr ()); +--- a/src/gcc/config/sh/sh.h ++++ b/src/gcc/config/sh/sh.h +@@ -69,6 +69,8 @@ extern int code_for_indirect_jump_scratch; + FPU is disabled (which makes it compatible with SH4al-dsp). */ + #define TARGET_SH4A_FP (TARGET_SH4A && TARGET_FPU_ANY) + ++/* True if the FPU is a SH4-300 variant. */ ++#define TARGET_FPU_SH4_300 (TARGET_FPU_ANY && TARGET_SH4_300) + + /* This is not used by the SH2E calling convention */ + #define TARGET_VARARGS_PRETEND_ARGS(FUN_DECL) \ +--- a/src/gcc/config/sh/sh.md ++++ b/src/gcc/config/sh/sh.md +@@ -9163,7 +9163,7 @@ + (xor:SI (reg:SI FPSCR_REG) (const_int FPSCR_PR))) + (set (reg:SI FPSCR_MODES_REG) + (unspec_volatile:SI [(const_int 0)] UNSPECV_FPSCR_MODES))] +- "TARGET_SH4A_FP" ++ "TARGET_SH4A_FP || TARGET_FPU_SH4_300" + "fpchg" + [(set_attr "type" "fpscr_toggle")]) + +@@ -9391,15 +9391,31 @@ + (define_expand "negsf2" + [(set (match_operand:SF 0 "fp_arith_reg_operand") + (neg:SF (match_operand:SF 1 "fp_arith_reg_operand")))] +- "TARGET_SH2E") ++ "TARGET_FPU_ANY" ++{ ++ if (TARGET_FPU_SH4_300) ++ emit_insn (gen_negsf2_fpscr (operands[0], operands[1])); ++ else ++ emit_insn (gen_negsf2_no_fpscr (operands[0], operands[1])); ++ DONE; ++}) + +-(define_insn "*negsf2_i" ++(define_insn "negsf2_no_fpscr" + [(set (match_operand:SF 0 "fp_arith_reg_operand" "=f") + (neg:SF (match_operand:SF 1 "fp_arith_reg_operand" "0")))] +- "TARGET_SH2E" ++ "TARGET_FPU_ANY && !TARGET_FPU_SH4_300" + "fneg %0" + [(set_attr "type" "fmove")]) + ++(define_insn "negsf2_fpscr" ++ [(set (match_operand:SF 0 "fp_arith_reg_operand" "=f") ++ (neg:SF (match_operand:SF 1 "fp_arith_reg_operand" "0"))) ++ (use (reg:SI FPSCR_MODES_REG))] ++ "TARGET_FPU_SH4_300" ++ "fneg %0" ++ [(set_attr "type" "fmove") ++ (set_attr "fp_mode" "single")]) ++ + (define_expand "sqrtsf2" + [(set (match_operand:SF 0 "fp_arith_reg_operand" "") + (sqrt:SF (match_operand:SF 1 "fp_arith_reg_operand" "")))] +@@ -9489,15 +9505,31 @@ + (define_expand "abssf2" + [(set (match_operand:SF 0 "fp_arith_reg_operand") + (abs:SF (match_operand:SF 1 "fp_arith_reg_operand")))] +- "TARGET_SH2E") ++ "TARGET_FPU_ANY" ++{ ++ if (TARGET_FPU_SH4_300) ++ emit_insn (gen_abssf2_fpscr (operands[0], operands[1])); ++ else ++ emit_insn (gen_abssf2_no_fpscr (operands[0], operands[1])); ++ DONE; ++}) + +-(define_insn "*abssf2_i" ++(define_insn "abssf2_no_fpscr" + [(set (match_operand:SF 0 "fp_arith_reg_operand" "=f") + (abs:SF (match_operand:SF 1 "fp_arith_reg_operand" "0")))] +- "TARGET_SH2E" ++ "TARGET_FPU_ANY && !TARGET_FPU_SH4_300" + "fabs %0" + [(set_attr "type" "fmove")]) + ++(define_insn "abssf2_fpscr" ++ [(set (match_operand:SF 0 "fp_arith_reg_operand" "=f") ++ (abs:SF (match_operand:SF 1 "fp_arith_reg_operand" "0"))) ++ (use (reg:SI FPSCR_MODES_REG))] ++ "TARGET_FPU_SH4_300" ++ "fabs %0" ++ [(set_attr "type" "fmove") ++ (set_attr "fp_mode" "single")]) ++ + (define_expand "adddf3" + [(set (match_operand:DF 0 "fp_arith_reg_operand" "") + (plus:DF (match_operand:DF 1 "fp_arith_reg_operand" "") +@@ -9673,12 +9705,28 @@ + (define_expand "negdf2" + [(set (match_operand:DF 0 "fp_arith_reg_operand") + (neg:DF (match_operand:DF 1 "fp_arith_reg_operand")))] +- "TARGET_FPU_DOUBLE") ++ "TARGET_FPU_DOUBLE" ++{ ++ if (TARGET_FPU_SH4_300) ++ emit_insn (gen_negdf2_fpscr (operands[0], operands[1])); ++ else ++ emit_insn (gen_negdf2_no_fpscr (operands[0], operands[1])); ++ DONE; ++}) + +-(define_insn "*negdf2_i" ++(define_insn "negdf2_fpscr" ++ [(set (match_operand:DF 0 "fp_arith_reg_operand" "=f") ++ (neg:DF (match_operand:DF 1 "fp_arith_reg_operand" "0"))) ++ (use (reg:SI FPSCR_MODES_REG))] ++ "TARGET_FPU_SH4_300" ++ "fneg %0" ++ [(set_attr "type" "fmove") ++ (set_attr "fp_mode" "double")]) ++ ++(define_insn "negdf2_no_fpscr" + [(set (match_operand:DF 0 "fp_arith_reg_operand" "=f") + (neg:DF (match_operand:DF 1 "fp_arith_reg_operand" "0")))] +- "TARGET_FPU_DOUBLE" ++ "TARGET_FPU_DOUBLE && !TARGET_FPU_SH4_300" + "fneg %0" + [(set_attr "type" "fmove")]) + +@@ -9704,15 +9752,31 @@ + (define_expand "absdf2" + [(set (match_operand:DF 0 "fp_arith_reg_operand") + (abs:DF (match_operand:DF 1 "fp_arith_reg_operand")))] +- "TARGET_FPU_DOUBLE") ++ "TARGET_FPU_DOUBLE" ++{ ++ if (TARGET_FPU_SH4_300) ++ emit_insn (gen_absdf2_fpscr (operands[0], operands[1])); ++ else ++ emit_insn (gen_absdf2_no_fpscr (operands[0], operands[1])); ++ DONE; ++}) + +-(define_insn "*absdf2_i" ++(define_insn "absdf2_no_fpscr" + [(set (match_operand:DF 0 "fp_arith_reg_operand" "=f") + (abs:DF (match_operand:DF 1 "fp_arith_reg_operand" "0")))] +- "TARGET_FPU_DOUBLE" ++ "TARGET_FPU_DOUBLE && !TARGET_FPU_SH4_300" + "fabs %0" + [(set_attr "type" "fmove")]) + ++(define_insn "absdf2_fpscr" ++ [(set (match_operand:DF 0 "fp_arith_reg_operand" "=f") ++ (abs:DF (match_operand:DF 1 "fp_arith_reg_operand" "0"))) ++ (use (reg:SI FPSCR_MODES_REG))] ++ "TARGET_FPU_SH4_300" ++ "fabs %0" ++ [(set_attr "type" "fmove") ++ (set_attr "fp_mode" "double")]) ++ + (define_expand "extendsfdf2" + [(set (match_operand:DF 0 "fp_arith_reg_operand" "") + (float_extend:DF (match_operand:SF 1 "fpul_operand" "")))] +--- a/src/gcc/config/sparc/sparc-protos.h ++++ b/src/gcc/config/sparc/sparc-protos.h +@@ -69,6 +69,7 @@ extern void sparc_split_reg_mem (rtx, rtx, machine_mode); + extern void sparc_split_mem_reg (rtx, rtx, machine_mode); + extern int sparc_split_reg_reg_legitimate (rtx, rtx); + extern void sparc_split_reg_reg (rtx, rtx, machine_mode); ++extern const char *output_load_pcrel_sym (rtx *); + extern const char *output_ubranch (rtx, rtx_insn *); + extern const char *output_cbranch (rtx, rtx, int, int, int, rtx_insn *); + extern const char *output_return (rtx_insn *); +--- a/src/gcc/config/sparc/sparc.c ++++ b/src/gcc/config/sparc/sparc.c +@@ -3967,11 +3967,8 @@ eligible_for_call_delay (rtx_insn *trial) + if (get_attr_in_branch_delay (trial) == IN_BRANCH_DELAY_FALSE) + return 0; + +- /* Binutils allows +- call __tls_get_addr, %tgd_call (foo) +- add %l7, %o0, %o0, %tgd_add (foo) +- while Sun as/ld does not. */ +- if (TARGET_GNU_TLS || !TARGET_TLS) ++ /* The only problematic cases are TLS sequences with Sun as/ld. */ ++ if ((TARGET_GNU_TLS && HAVE_GNU_LD) || !TARGET_TLS) + return 1; + + pat = PATTERN (trial); +@@ -4238,9 +4235,11 @@ sparc_cannot_force_const_mem (machine_mode mode, rtx x) + } + + /* Global Offset Table support. */ +-static GTY(()) rtx got_helper_rtx = NULL_RTX; +-static GTY(()) rtx got_register_rtx = NULL_RTX; + static GTY(()) rtx got_symbol_rtx = NULL_RTX; ++static GTY(()) rtx got_register_rtx = NULL_RTX; ++static GTY(()) rtx got_helper_rtx = NULL_RTX; ++ ++static GTY(()) bool got_helper_needed = false; + + /* Return the SYMBOL_REF for the Global Offset Table. */ + +@@ -4253,27 +4252,6 @@ sparc_got (void) + return got_symbol_rtx; + } + +-#ifdef HAVE_GAS_HIDDEN +-# define USE_HIDDEN_LINKONCE 1 +-#else +-# define USE_HIDDEN_LINKONCE 0 +-#endif +- +-static void +-get_pc_thunk_name (char name[32], unsigned int regno) +-{ +- const char *reg_name = reg_names[regno]; +- +- /* Skip the leading '%' as that cannot be used in a +- symbol name. */ +- reg_name += 1; +- +- if (USE_HIDDEN_LINKONCE) +- sprintf (name, "__sparc_get_pc_thunk.%s", reg_name); +- else +- ASM_GENERATE_INTERNAL_LABEL (name, "LADDPC", regno); +-} +- + /* Wrapper around the load_pcrel_sym{si,di} patterns. */ + + static rtx +@@ -4293,30 +4271,78 @@ gen_load_pcrel_sym (rtx op0, rtx op1, rtx op2) + return insn; + } + ++/* Output the load_pcrel_sym{si,di} patterns. */ ++ ++const char * ++output_load_pcrel_sym (rtx *operands) ++{ ++ if (flag_delayed_branch) ++ { ++ output_asm_insn ("sethi\t%%hi(%a1-4), %0", operands); ++ output_asm_insn ("call\t%a2", operands); ++ output_asm_insn (" add\t%0, %%lo(%a1+4), %0", operands); ++ } ++ else ++ { ++ output_asm_insn ("sethi\t%%hi(%a1-8), %0", operands); ++ output_asm_insn ("add\t%0, %%lo(%a1-4), %0", operands); ++ output_asm_insn ("call\t%a2", operands); ++ output_asm_insn (" nop", NULL); ++ } ++ ++ if (operands[2] == got_helper_rtx) ++ got_helper_needed = true; ++ ++ return ""; ++} ++ ++#ifdef HAVE_GAS_HIDDEN ++# define USE_HIDDEN_LINKONCE 1 ++#else ++# define USE_HIDDEN_LINKONCE 0 ++#endif ++ + /* Emit code to load the GOT register. */ + + void + load_got_register (void) + { +- if (!got_register_rtx) +- got_register_rtx = gen_rtx_REG (Pmode, GLOBAL_OFFSET_TABLE_REGNUM); ++ rtx insn; + + if (TARGET_VXWORKS_RTP) +- emit_insn (gen_vxworks_load_got ()); ++ { ++ if (!got_register_rtx) ++ got_register_rtx = pic_offset_table_rtx; ++ ++ insn = gen_vxworks_load_got (); ++ } + else + { ++ if (!got_register_rtx) ++ got_register_rtx = gen_rtx_REG (Pmode, GLOBAL_OFFSET_TABLE_REGNUM); ++ + /* The GOT symbol is subject to a PC-relative relocation so we need a + helper function to add the PC value and thus get the final value. */ + if (!got_helper_rtx) + { + char name[32]; +- get_pc_thunk_name (name, GLOBAL_OFFSET_TABLE_REGNUM); ++ ++ /* Skip the leading '%' as that cannot be used in a symbol name. */ ++ if (USE_HIDDEN_LINKONCE) ++ sprintf (name, "__sparc_get_pc_thunk.%s", ++ reg_names[REGNO (got_register_rtx)] + 1); ++ else ++ ASM_GENERATE_INTERNAL_LABEL (name, "LADDPC", ++ REGNO (got_register_rtx)); ++ + got_helper_rtx = gen_rtx_SYMBOL_REF (Pmode, ggc_strdup (name)); + } + +- emit_insn (gen_load_pcrel_sym (got_register_rtx, sparc_got (), +- got_helper_rtx)); ++ insn ++ = gen_load_pcrel_sym (got_register_rtx, sparc_got (), got_helper_rtx); + } ++ ++ emit_insn (insn); + } + + /* Ensure that we are not using patterns that are not OK with PIC. */ +@@ -4452,7 +4478,7 @@ sparc_pic_register_p (rtx x) + return true; + + if (!HARD_REGISTER_P (pic_offset_table_rtx) +- && (HARD_REGISTER_P (x) || lra_in_progress) ++ && (HARD_REGISTER_P (x) || lra_in_progress || reload_in_progress) + && ORIGINAL_REGNO (x) == REGNO (pic_offset_table_rtx)) + return true; + +@@ -5468,7 +5494,7 @@ save_local_or_in_reg_p (unsigned int regno, int leaf_function) + return true; + + /* GOT register (%l7) if needed. */ +- if (regno == GLOBAL_OFFSET_TABLE_REGNUM && got_register_rtx) ++ if (got_register_rtx && regno == REGNO (got_register_rtx)) + return true; + + /* If the function accesses prior frames, the frame pointer and the return +@@ -12449,10 +12475,9 @@ static void + sparc_file_end (void) + { + /* If we need to emit the special GOT helper function, do so now. */ +- if (got_helper_rtx) ++ if (got_helper_needed) + { + const char *name = XSTR (got_helper_rtx, 0); +- const char *reg_name = reg_names[GLOBAL_OFFSET_TABLE_REGNUM]; + #ifdef DWARF2_UNWIND_INFO + bool do_cfi; + #endif +@@ -12489,17 +12514,22 @@ sparc_file_end (void) + #ifdef DWARF2_UNWIND_INFO + do_cfi = dwarf2out_do_cfi_asm (); + if (do_cfi) +- fprintf (asm_out_file, "\t.cfi_startproc\n"); ++ output_asm_insn (".cfi_startproc", NULL); + #endif + if (flag_delayed_branch) +- fprintf (asm_out_file, "\tjmp\t%%o7+8\n\t add\t%%o7, %s, %s\n", +- reg_name, reg_name); ++ { ++ output_asm_insn ("jmp\t%%o7+8", NULL); ++ output_asm_insn (" add\t%%o7, %0, %0", &got_register_rtx); ++ } + else +- fprintf (asm_out_file, "\tadd\t%%o7, %s, %s\n\tjmp\t%%o7+8\n\t nop\n", +- reg_name, reg_name); ++ { ++ output_asm_insn ("add\t%%o7, %0, %0", &got_register_rtx); ++ output_asm_insn ("jmp\t%%o7+8", NULL); ++ output_asm_insn (" nop", NULL); ++ } + #ifdef DWARF2_UNWIND_INFO + if (do_cfi) +- fprintf (asm_out_file, "\t.cfi_endproc\n"); ++ output_asm_insn (".cfi_endproc", NULL); + #endif + } + +@@ -13005,7 +13035,10 @@ sparc_init_pic_reg (void) + edge entry_edge; + rtx_insn *seq; + +- if (!crtl->uses_pic_offset_table) ++ /* In PIC mode, we need to always initialize the PIC register if optimization ++ is enabled, because we are called from IRA and LRA may later force things ++ to the constant pool for optimization purposes. */ ++ if (!flag_pic || (!crtl->uses_pic_offset_table && !optimize)) + return; + + start_sequence (); +--- a/src/gcc/config/sparc/sparc.h ++++ b/src/gcc/config/sparc/sparc.h +@@ -748,6 +748,13 @@ extern enum cmodel sparc_cmodel; + register window instruction in the prologue. */ + #define HARD_REGNO_RENAME_OK(FROM, TO) ((FROM) != 1) + ++/* Select a register mode required for caller save of hard regno REGNO. ++ Contrary to what is documented, the default is not the smallest suitable ++ mode but the largest suitable mode for the given (REGNO, NREGS) pair and ++ it quickly creates paradoxical subregs that can be problematic. */ ++#define HARD_REGNO_CALLER_SAVE_MODE(REGNO, NREGS, MODE) \ ++ ((MODE) == VOIDmode ? choose_hard_reg_mode (REGNO, NREGS, false) : (MODE)) ++ + /* Specify the registers used for certain standard purposes. + The values of these macros are register numbers. */ + +--- a/src/gcc/config/sparc/sparc.md ++++ b/src/gcc/config/sparc/sparc.md +@@ -1601,10 +1601,7 @@ + (clobber (reg:P O7_REG))] + "REGNO (operands[0]) == INTVAL (operands[3])" + { +- if (flag_delayed_branch) +- return "sethi\t%%hi(%a1-4), %0\n\tcall\t%a2\n\t add\t%0, %%lo(%a1+4), %0"; +- else +- return "sethi\t%%hi(%a1-8), %0\n\tadd\t%0, %%lo(%a1-4), %0\n\tcall\t%a2\n\t nop"; ++ return output_load_pcrel_sym (operands); + } + [(set (attr "type") (const_string "multi")) + (set (attr "length") +--- a/src/gcc/config/xtensa/xtensa.c ++++ b/src/gcc/config/xtensa/xtensa.c +@@ -2862,7 +2862,8 @@ xtensa_expand_prologue (void) + gen_rtx_SET (mem, reg)); + } + } +- if (total_size > 1024) ++ if (total_size > 1024 ++ || (!callee_save_size && total_size > 128)) + { + rtx tmp_reg = gen_rtx_REG (Pmode, A9_REG); + emit_move_insn (tmp_reg, GEN_INT (total_size - +--- a/src/gcc/configure ++++ b/src/gcc/configure +@@ -666,6 +666,7 @@ build_exeext + all_selected_languages + all_languages + all_lang_makefrags ++all_lang_configurefrags + all_gtfiles + all_compilers + srcdir +@@ -18448,7 +18449,7 @@ else + 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 @@ else + 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 +@@ -22799,17 +22800,13 @@ if test $in_tree_ld != yes ; then + # + # ld: Software Generation Utilities - Solaris Link Editors: 5.11-1.1701:onnv-ab196087-6931056-03/25/10 + # +- # In Solaris 11.4, this was changed to +- # +- # ld: Solaris ELF Utilities: 11.4-1.3123 +- # + # ld and ld.so.1 are guaranteed to be updated in lockstep, so ld version + # numbers can be used in ld.so.1 feature checks even if a different + # linker is configured. + ld_ver=`$gcc_cv_ld -V 2>&1` +- if echo "$ld_ver" | $EGREP 'Solaris Link Editors|Solaris ELF Utilities' > /dev/null; then ++ if echo "$ld_ver" | grep 'Solaris Link Editors' > /dev/null; then + ld_vers=`echo $ld_ver | sed -n \ +- -e 's,^.*: \(5\|1[0-9]\)\.[0-9][0-9]*-\([0-9]\.[0-9][0-9]*\).*$,\2,p'` ++ -e 's,^.*: 5\.[0-9][0-9]*-\([0-9]\.[0-9][0-9]*\).*$,\1,p'` + ld_vers_major=`expr "$ld_vers" : '\([0-9]*\)'` + ld_vers_minor=`expr "$ld_vers" : '[0-9]*\.\([0-9]*\)'` + fi +@@ -29516,7 +29513,8 @@ lang_tree_files= + all_languages= + all_compilers= + all_outputs='Makefile' +-# List of language makefile fragments. ++# List of language configure and makefile fragments. ++all_lang_configurefrags= + all_lang_makefrags= + # Additional files for gengtype + all_gtfiles="$target_gtfiles" +@@ -29602,6 +29600,7 @@ do + esac + $ok || continue + ++ all_lang_configurefrags="$all_lang_configurefrags \$(srcdir)/$gcc_subdir/config-lang.in" + all_lang_makefrags="$all_lang_makefrags \$(srcdir)/$gcc_subdir/Make-lang.in" + if test -f $srcdir/$gcc_subdir/lang.opt; then + lang_opt_files="$lang_opt_files $srcdir/$gcc_subdir/lang.opt" +@@ -29762,6 +29761,7 @@ fi + + + ++ + + + # Echo link setup. +--- a/src/gcc/configure.ac ++++ b/src/gcc/configure.ac +@@ -2595,17 +2595,13 @@ if test $in_tree_ld != yes ; then + # + # ld: Software Generation Utilities - Solaris Link Editors: 5.11-1.1701:onnv-ab196087-6931056-03/25/10 + # +- # In Solaris 11.4, this was changed to +- # +- # ld: Solaris ELF Utilities: 11.4-1.3123 +- # + # ld and ld.so.1 are guaranteed to be updated in lockstep, so ld version + # numbers can be used in ld.so.1 feature checks even if a different + # linker is configured. + ld_ver=`$gcc_cv_ld -V 2>&1` +- if echo "$ld_ver" | $EGREP 'Solaris Link Editors|Solaris ELF Utilities' > /dev/null; then ++ if echo "$ld_ver" | grep 'Solaris Link Editors' > /dev/null; then + ld_vers=`echo $ld_ver | sed -n \ +- -e 's,^.*: \(5\|1[0-9]\)\.[0-9][0-9]*-\([0-9]\.[0-9][0-9]*\).*$,\2,p'` ++ -e 's,^.*: 5\.[0-9][0-9]*-\([0-9]\.[0-9][0-9]*\).*$,\1,p'` + ld_vers_major=`expr "$ld_vers" : '\([0-9]*\)'` + ld_vers_minor=`expr "$ld_vers" : '[0-9]*\.\([0-9]*\)'` + fi +@@ -6143,7 +6139,8 @@ lang_tree_files= + all_languages= + all_compilers= + all_outputs='Makefile' +-# List of language makefile fragments. ++# List of language configure and makefile fragments. ++all_lang_configurefrags= + all_lang_makefrags= + # Additional files for gengtype + all_gtfiles="$target_gtfiles" +@@ -6231,6 +6228,7 @@ changequote([,])dnl + esac + $ok || continue + ++ all_lang_configurefrags="$all_lang_configurefrags \$(srcdir)/$gcc_subdir/config-lang.in" + all_lang_makefrags="$all_lang_makefrags \$(srcdir)/$gcc_subdir/Make-lang.in" + if test -f $srcdir/$gcc_subdir/lang.opt; then + lang_opt_files="$lang_opt_files $srcdir/$gcc_subdir/lang.opt" +@@ -6332,6 +6330,7 @@ AC_SUBST(subdirs) + AC_SUBST(srcdir) + AC_SUBST(all_compilers) + AC_SUBST(all_gtfiles) ++AC_SUBST(all_lang_configurefrags) + AC_SUBST(all_lang_makefrags) + AC_SUBST(all_languages) + AC_SUBST(all_selected_languages) +--- a/src/gcc/convert.c ++++ b/src/gcc/convert.c +@@ -193,12 +193,15 @@ convert_to_real_1 (tree type, tree expr, bool fold_p) + CASE_MATHFN (FABS) + CASE_MATHFN (LOGB) + #undef CASE_MATHFN ++ if (call_expr_nargs (expr) != 1 ++ || !SCALAR_FLOAT_TYPE_P (TREE_TYPE (CALL_EXPR_ARG (expr, 0)))) ++ break; + { + tree arg0 = strip_float_extensions (CALL_EXPR_ARG (expr, 0)); + tree newtype = type; + +- /* We have (outertype)sqrt((innertype)x). Choose the wider mode from +- the both as the safe type for operation. */ ++ /* We have (outertype)sqrt((innertype)x). Choose the wider mode ++ from the both as the safe type for operation. */ + if (TYPE_PRECISION (TREE_TYPE (arg0)) > TYPE_PRECISION (type)) + newtype = TREE_TYPE (arg0); + +@@ -592,7 +595,8 @@ convert_to_integer_1 (tree type, tree expr, bool dofold) + CASE_FLT_FN (BUILT_IN_ROUND): + CASE_FLT_FN_FLOATN_NX (BUILT_IN_ROUND): + /* Only convert in ISO C99 mode and with -fno-math-errno. */ +- if (!targetm.libc_has_function (function_c99_misc) || flag_errno_math) ++ if (!targetm.libc_has_function (function_c99_misc) ++ || flag_errno_math) + break; + if (outprec < TYPE_PRECISION (integer_type_node) + || (outprec == TYPE_PRECISION (integer_type_node) +@@ -615,7 +619,8 @@ convert_to_integer_1 (tree type, tree expr, bool dofold) + CASE_FLT_FN (BUILT_IN_RINT): + CASE_FLT_FN_FLOATN_NX (BUILT_IN_RINT): + /* Only convert in ISO C99 mode and with -fno-math-errno. */ +- if (!targetm.libc_has_function (function_c99_misc) || flag_errno_math) ++ if (!targetm.libc_has_function (function_c99_misc) ++ || flag_errno_math) + break; + if (outprec < TYPE_PRECISION (integer_type_node) + || (outprec == TYPE_PRECISION (integer_type_node) +@@ -631,14 +636,20 @@ convert_to_integer_1 (tree type, tree expr, bool dofold) + + CASE_FLT_FN (BUILT_IN_TRUNC): + CASE_FLT_FN_FLOATN_NX (BUILT_IN_TRUNC): +- return convert_to_integer_1 (type, CALL_EXPR_ARG (s_expr, 0), dofold); ++ if (call_expr_nargs (s_expr) != 1 ++ || !SCALAR_FLOAT_TYPE_P (TREE_TYPE (CALL_EXPR_ARG (s_expr, 0)))) ++ break; ++ return convert_to_integer_1 (type, CALL_EXPR_ARG (s_expr, 0), ++ dofold); + + default: + break; + } + +- if (fn) +- { ++ if (fn ++ && call_expr_nargs (s_expr) == 1 ++ && SCALAR_FLOAT_TYPE_P (TREE_TYPE (CALL_EXPR_ARG (s_expr, 0)))) ++ { + tree newexpr = build_call_expr (fn, 1, CALL_EXPR_ARG (s_expr, 0)); + return convert_to_integer_1 (type, newexpr, dofold); + } +@@ -668,7 +679,9 @@ convert_to_integer_1 (tree type, tree expr, bool dofold) + break; + } + +- if (fn) ++ if (fn ++ && call_expr_nargs (s_expr) == 1 ++ && SCALAR_FLOAT_TYPE_P (TREE_TYPE (CALL_EXPR_ARG (s_expr, 0)))) + { + tree newexpr = build_call_expr (fn, 1, CALL_EXPR_ARG (s_expr, 0)); + return convert_to_integer_1 (type, newexpr, dofold); +--- a/src/gcc/cp/ChangeLog ++++ b/src/gcc/cp/ChangeLog +@@ -1,3 +1,385 @@ ++2020-02-14 Jakub Jelinek ++ ++ PR c++/61414 ++ * class.c (enum_min_precision): Change prec type from int to int &. ++ ++2020-02-14 Jakub Jelinek ++ ++ Backported from mainline ++ 2020-01-17 Jakub Jelinek ++ ++ PR c++/93228 ++ * parser.c (cp_parser_template_name): Look up deprecated attribute ++ in DECL_TEMPLATE_RESULT or its type's attributes. ++ ++ 2019-12-26 Jakub Jelinek ++ ++ PR c++/92438 ++ * parser.c (cp_parser_constructor_declarator_p): If open paren ++ is followed by RID_ATTRIBUTE, skip over the attribute tokens and ++ try to parse type specifier. ++ ++ 2019-12-20 Jakub Jelinek ++ ++ PR c++/92992 ++ * call.c (convert_arg_to_ellipsis): For decltype(nullptr) arguments ++ that have side-effects use cp_build_compound_expr. ++ ++ 2019-12-03 Jakub Jelinek ++ ++ PR c++/92732 ++ * typeck2.c (digest_nsdmi_init): For bitfields, use ++ DECL_BIT_FIELD_TYPE instead of TREE_TYPE. ++ ++ 2019-11-29 Jakub Jelinek ++ ++ PR c++/60228 ++ * parser.c (cp_parser_omp_declare_reduction_exprs): If ++ processing_template_decl, wrap the combiner or initializer ++ into EXPR_STMT. ++ * decl.c (start_preparsed_function): Don't start a lambda scope ++ for DECL_OMP_DECLARE_REDUCTION_P functions. ++ (finish_function): Don't finish a lambda scope for ++ DECL_OMP_DECLARE_REDUCTION_P functions, nor cp_fold_function ++ them nor cp_genericize them. ++ * mangle.c (decl_mangling_context): Look through ++ DECL_OMP_DECLARE_REDUCTION_P functions. ++ * semantics.c (expand_or_defer_fn_1): For DECL_OMP_DECLARE_REDUCTION_P ++ functions, use tentative linkage, don't keep their bodies with ++ -fkeep-inline-functions and return false at the end. ++ ++ 2019-11-27 Jakub Jelinek ++ ++ PR c++/92524 ++ * tree.c (replace_placeholders_r): Don't walk constructor elts with ++ RANGE_EXPR indexes. ++ ++ 2019-11-26 Jakub Jelinek ++ ++ PR c++/92648 ++ * parser.c (cp_parser_std_attribute): For unknown attributes, ++ skip balanced token seq instead of trying to parse ++ attribute-argument-clause as expression list. ++ ++ PR c++/61414 ++ * class.c (enum_to_min_precision): New hash_map. ++ (enum_min_precision): New function. ++ (check_bitfield_decl): Use it. ++ ++ 2019-11-21 Jakub Jelinek ++ Jason Merrill ++ ++ PR c++/90842 ++ * parser.c (cp_parser_decl_specifier_seq): For concept or typedef ++ break early if CP_PARSER_FLAGS_ONLY_MUTABLE_OR_CONSTEXPR. ++ For type specifiers, set CP_PARSER_FLAGS_NO_TYPE_DEFINITIONS ++ if CP_PARSER_FLAGS_ONLY_MUTABLE_OR_CONSTEXPR is set. ++ ++2020-01-27 Nathan Sidwell ++ ++ PR c++/91826 ++ * name-lookup.c (is_ancestor): Allow CHILD to be a namespace alias. ++ ++2020-01-24 Jason Merrill ++ ++ PR c++/92852 - ICE with generic lambda and reference var. ++ * constexpr.c (maybe_constant_value): Likewise. ++ ++2019-12-11 Jason Merrill ++ ++ PR c++/92859 - ADL and bit-field. ++ * name-lookup.c: Use unlowered_expr_type. ++ ++2019-11-21 Jakub Jelinek ++ ++ Backported from mainline ++ 2019-10-22 Jakub Jelinek ++ ++ PR tree-optimization/85887 ++ * decl.c (expand_static_init): Drop ECF_LEAF from __cxa_guard_acquire ++ and __cxa_guard_release. ++ ++ 2019-10-29 Jakub Jelinek ++ ++ PR c++/92201 ++ * cp-gimplify.c (cp_gimplify_expr): If gimplify_to_rvalue changes the ++ function pointer type, re-add cast to the original one. ++ ++ 2019-10-04 Jakub Jelinek ++ ++ PR c++/91974 ++ * cp-gimplify.c (cp_gimplify_expr) : For ++ -fstrong-eval-order ensure CALL_EXPR_FN side-effects are evaluated ++ before any arguments. Additionally, ensure CALL_EXPR_FN that isn't ++ invariant nor OBJ_TYPE_REF nor SSA_NAME is forced into a temporary. ++ ++ 2019-08-09 Jakub Jelinek ++ ++ PR c/91401 ++ * parser.c (cp_parser_omp_clause_dist_schedule): Comment out the ++ check_no_duplicate_clause call, instead emit a warning for duplicate ++ dist_schedule clauses. ++ ++2019-11-05 Jason Merrill ++ ++ PR c++/88075 ++ * parser.c (cp_parser_decl_specifier_seq): Support C++20 ++ concept-definition syntax without 'bool'. ++ ++2019-10-22 Marek Polacek ++ ++ Backported from mainline ++ 2019-10-21 Marek Polacek ++ ++ PR c++/92106 - ICE with structured bindings and -Wreturn-local-addr. ++ * typeck.c (maybe_warn_about_returning_address_of_local): Avoid ++ recursing on null initializer and return false instead. ++ ++2019-09-03 Iain Sandoe ++ ++ Backported from mainline ++ 2019-08-23 Iain Sandoe ++ ++ PR pch/61250 ++ * parser.c (cp_parser_initial_pragma): Call c_common_no_more_pch () ++ after determining that the first token is not ++ PRAGMA_GCC_PCH_PREPROCESS. ++ ++2019-08-30 Richard Biener ++ ++ Backport from mainline ++ 2019-02-21 Richard Biener ++ ++ PR middle-end/89392 ++ * vtable-class-hierarchy.c (vtv_generate_init_routine): Do not ++ make symtab process new functions here. ++ ++2019-08-29 Jakub Jelinek ++ ++ Backported from mainline ++ 2019-06-21 Jakub Jelinek ++ ++ PR c++/90950 ++ * semantics.c (finish_omp_clauses): Don't reject references to ++ incomplete types if processing_template_decl. ++ ++ 2019-05-15 Jakub Jelinek ++ ++ PR debug/90197 ++ * cp-gimplify.c (genericize_cp_loop): Emit a DEBUG_BEGIN_STMT ++ before the condition (or if missing or constant non-zero at the end ++ of the loop. Emit a DEBUG_BEGIN_STMT before the increment expression ++ if any. Don't call protected_set_expr_location on incr if it already ++ has a location. ++ ++ 2019-05-10 Jakub Jelinek ++ ++ PR pch/90326 ++ * config-lang.in (gtfiles): Remove c-family/c-lex.c, add ++ c-family/c-cppbuiltin.c. ++ ++2019-08-15 Jonathan Wakely ++ ++ Backport from mainline. ++ 2019-08-14 Jonathan Wakely ++ ++ PR c++/91436 ++ * name-lookup.c (get_std_name_hint): Fix min_dialect field for ++ complex_literals and make_unique entries. ++ ++2019-08-01 Marek Polacek ++ ++ Backported from mainline ++ 2018-06-12 Jason Merrill ++ ++ PR c++/86098 - ICE with template placeholder for TTP. ++ * typeck.c (structural_comptypes) [TEMPLATE_TYPE_PARM]: Check ++ CLASS_PLACEHOLDER_TEMPLATE. ++ ++2019-06-11 Jakub Jelinek ++ ++ PR c++/90810 ++ * init.c (constant_value_1): Handle VECTOR_CST DECL_INITIAL for ++ !DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P decls like CONSTRUCTOR. ++ ++2019-05-22 Eric Botcazou ++ ++ Backport from mainline ++ 2018-05-10 Eric Botcazou ++ ++ PR c++/85400 ++ * decl2.c (adjust_var_decl_tls_model): New static function. ++ (comdat_linkage): Call it on a variable. ++ (maybe_make_one_only): Likewise. ++ ++2019-05-20 Jonathan Wakely ++ ++ Backported from mainline ++ 2019-05-20 Jonathan Wakely ++ ++ PR c++/90532 Ensure __is_constructible(T[]) is false ++ * method.c (is_xible_helper): Return error_mark_node for construction ++ of an array of unknown bound. ++ ++2019-05-07 Marek Polacek ++ ++ Backported from mainline ++ 2019-02-27 Marek Polacek ++ ++ PR c++/88857 - ICE with value-initialization of argument in template. ++ * call.c (convert_like_real): Don't call build_value_init in template. ++ ++ 2019-03-25 Marek Polacek ++ ++ PR c++/89214 - ICE when initializing aggregates with bases. ++ * typeck2.c (digest_init_r): Warn about object slicing instead of ++ crashing. ++ ++ 2019-02-27 Marek Polacek ++ ++ PR c++/89511 - ICE with using-declaration and unscoped enumerator. ++ * parser.c (cp_parser_using_declaration): For an unscoped enum ++ only use its context if it's not a function declaration. ++ ++ 2019-03-25 Marek Polacek ++ ++ PR c++/89705 - ICE with reference binding with conversion function. ++ * call.c (reference_binding): If the result of the conversion function ++ is a prvalue of non-class type, use the cv-unqualified type. ++ ++ 2019-03-29 Marek Polacek ++ ++ PR c++/89876 - ICE with deprecated conversion. ++ * call.c (convert_like_real): Only give warnings with tf_warning. ++ ++2019-04-30 Jakub Jelinek ++ ++ Backported from mainline ++ 2019-04-19 Jakub Jelinek ++ ++ PR c++/90108 ++ * decl.c (duplicate_decls): If remove is main variant and ++ DECL_ORIGINAL_TYPE is some other type, remove a DECL_ORIGINAL_TYPE ++ variant that has newdecl as TYPE_NAME if any. ++ ++ 2019-04-12 Jakub Jelinek ++ ++ PR c/89933 ++ * decl.c (duplicate_decls): When newdecl's type is its main variant, ++ don't try to remove it from the variant list, but instead assert ++ it has no variants. ++ ++ 2019-03-29 Jakub Jelinek ++ ++ PR sanitizer/89869 ++ * typeck.c: Include gimplify.h. ++ (cp_build_modify_expr) : Unshare rhs before using it ++ for second time. Formatting fixes. ++ ++ 2019-03-26 Jakub Jelinek ++ ++ PR c++/89796 ++ * semantics.c (finish_omp_atomic): Add warning_sentinel for ++ -Wunused-value around finish_expr_stmt call. ++ ++ 2019-03-22 Jakub Jelinek ++ ++ PR c++/60702 ++ * cp-tree.h (get_tls_wrapper_fn): Remove declaration. ++ (maybe_get_tls_wrapper_call): Declare. ++ * decl2.c (get_tls_wrapper_fn): Make static. ++ (maybe_get_tls_wrapper_call): New function. ++ * typeck.c (build_class_member_access_expr): Handle accesses to TLS ++ variables. ++ * semantics.c (finish_qualified_id_expr): Likewise. ++ (finish_id_expression_1): Use maybe_get_tls_wrapper_call. ++ * pt.c (tsubst_copy_and_build): Likewise. ++ ++ 2019-03-21 Jakub Jelinek ++ ++ PR c++/89767 ++ * parser.c (cp_parser_lambda_introducer): Add ids and first_capture_id ++ variables, check for duplicates in this function. ++ * lambda.c (add_capture): Don't check for duplicates nor use ++ IDENTIFIER_MARKED. ++ (register_capture_members): Don't clear IDENTIFIER_MARKED here. ++ ++ 2019-03-14 Jakub Jelinek ++ ++ PR c++/89512 ++ * semantics.c (finish_qualified_id_expr): Reject variable templates. ++ ++ 2019-03-06 Jakub Jelinek ++ ++ PR c++/87148 ++ * init.c (build_value_init_noctor): Ignore flexible array members. ++ ++ 2019-02-20 Jakub Jelinek ++ ++ PR c++/89403 ++ * decl2.c (c_parse_final_cleanups): Move TREE_ASM_WRITTEN setting ++ for flag_syntax_only from here... ++ * semantics.c (expand_or_defer_fn_1): ... here. ++ ++ PR c++/89405 ++ * decl.c (maybe_commonize_var): When clearing TREE_PUBLIC and ++ DECL_COMMON, set DECL_INTERFACE_KNOWN. ++ ++2019-03-08 Jason Merrill ++ ++ 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 ++ ++ PR c++/89585 ++ * parser.c (cp_parser_asm_definition): Parse asm qualifiers even ++ at toplevel, but diagnose them. ++ ++2019-02-26 Marek Polacek ++ ++ Backported from mainline ++ 2019-02-11 Marek Polacek ++ ++ PR c++/89212 - ICE converting nullptr to pointer-to-member-function. ++ * pt.c (tsubst_copy_and_build) : Return early for ++ null member pointer value. ++ + 2019-02-22 Release Manager + + * GCC 8.3.0 released. +--- a/src/gcc/cp/call.c ++++ b/src/gcc/cp/call.c +@@ -1767,6 +1767,9 @@ reference_binding (tree rto, tree rfrom, tree expr, bool c_cast_p, int flags, + && DECL_CONV_FN_P (t->cand->fn)) + { + tree ftype = TREE_TYPE (TREE_TYPE (t->cand->fn)); ++ /* A prvalue of non-class type is cv-unqualified. */ ++ if (TREE_CODE (ftype) != REFERENCE_TYPE && !CLASS_TYPE_P (ftype)) ++ ftype = cv_unqualified (ftype); + int sflags = (flags|LOOKUP_NO_CONVERSION)&~LOOKUP_NO_TEMP_BIND; + conversion *new_second + = reference_binding (rto, ftype, NULL_TREE, c_cast_p, +@@ -6775,7 +6778,8 @@ convert_like_real (conversion *convs, tree expr, tree fn, int argnum, + /* If we're initializing from {}, it's value-initialization. */ + if (BRACE_ENCLOSED_INITIALIZER_P (expr) + && CONSTRUCTOR_NELTS (expr) == 0 +- && TYPE_HAS_DEFAULT_CONSTRUCTOR (totype)) ++ && TYPE_HAS_DEFAULT_CONSTRUCTOR (totype) ++ && !processing_template_decl) + { + bool direct = CONSTRUCTOR_IS_DIRECT_INIT (expr); + if (abstract_virtuals_error_sfinae (NULL_TREE, totype, complain)) +@@ -7110,7 +7114,8 @@ convert_like_real (conversion *convs, tree expr, tree fn, int argnum, + + case ck_qual: + /* Warn about deprecated conversion if appropriate. */ +- string_conv_p (totype, expr, 1); ++ if (complain & tf_warning) ++ string_conv_p (totype, expr, 1); + break; + + case ck_ptr: +@@ -7175,7 +7180,12 @@ convert_arg_to_ellipsis (tree arg, tsubst_flags_t complain) + arg = convert_to_real_nofold (double_type_node, arg); + } + else if (NULLPTR_TYPE_P (arg_type)) +- arg = null_pointer_node; ++ { ++ if (TREE_SIDE_EFFECTS (arg)) ++ arg = cp_build_compound_expr (arg, null_pointer_node, complain); ++ else ++ arg = null_pointer_node; ++ } + else if (INTEGRAL_OR_ENUMERATION_TYPE_P (arg_type)) + { + if (SCOPED_ENUM_P (arg_type)) +--- a/src/gcc/cp/class.c ++++ b/src/gcc/cp/class.c +@@ -3195,6 +3195,60 @@ add_implicitly_declared_members (tree t, tree* access_decls, + } + } + ++/* Cache of enum_min_precision values. */ ++static GTY((deletable)) hash_map *enum_to_min_precision; ++ ++/* Return the minimum precision of a bit-field needed to store all ++ enumerators of ENUMERAL_TYPE TYPE. */ ++ ++static int ++enum_min_precision (tree type) ++{ ++ type = TYPE_MAIN_VARIANT (type); ++ /* For unscoped enums without fixed underlying type and without mode ++ attribute we can just use precision of the underlying type. */ ++ if (UNSCOPED_ENUM_P (type) ++ && !ENUM_FIXED_UNDERLYING_TYPE_P (type) ++ && !lookup_attribute ("mode", TYPE_ATTRIBUTES (type))) ++ return TYPE_PRECISION (ENUM_UNDERLYING_TYPE (type)); ++ ++ if (enum_to_min_precision == NULL) ++ enum_to_min_precision = hash_map::create_ggc (37); ++ ++ bool existed; ++ int &prec = enum_to_min_precision->get_or_insert (type, &existed); ++ if (existed) ++ return prec; ++ ++ tree minnode, maxnode; ++ if (TYPE_VALUES (type)) ++ { ++ minnode = maxnode = NULL_TREE; ++ for (tree values = TYPE_VALUES (type); ++ values; values = TREE_CHAIN (values)) ++ { ++ tree decl = TREE_VALUE (values); ++ tree value = DECL_INITIAL (decl); ++ if (value == error_mark_node) ++ value = integer_zero_node; ++ if (!minnode) ++ minnode = maxnode = value; ++ else if (tree_int_cst_lt (maxnode, value)) ++ maxnode = value; ++ else if (tree_int_cst_lt (value, minnode)) ++ minnode = value; ++ } ++ } ++ else ++ minnode = maxnode = integer_zero_node; ++ ++ signop sgn = tree_int_cst_sgn (minnode) >= 0 ? UNSIGNED : SIGNED; ++ int lowprec = tree_int_cst_min_precision (minnode, sgn); ++ int highprec = tree_int_cst_min_precision (maxnode, sgn); ++ prec = MAX (lowprec, highprec); ++ return prec; ++} ++ + /* FIELD is a bit-field. We are finishing the processing for its + enclosing type. Issue any appropriate messages and set appropriate + flags. Returns false if an error has been diagnosed. */ +@@ -3255,7 +3309,7 @@ check_bitfield_decl (tree field) + "width of %qD exceeds its type", field); + else if (TREE_CODE (type) == ENUMERAL_TYPE) + { +- int prec = TYPE_PRECISION (ENUM_UNDERLYING_TYPE (type)); ++ int prec = enum_min_precision (type); + if (compare_tree_int (w, prec) < 0) + warning_at (DECL_SOURCE_LOCATION (field), 0, + "%qD is too small to hold all values of %q#T", +@@ -5171,7 +5225,9 @@ classtype_has_move_assign_or_move_ctor_p (tree t, bool user_p) + 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; +--- a/src/gcc/cp/config-lang.in ++++ b/src/gcc/cp/config-lang.in +@@ -37,7 +37,7 @@ gtfiles="\ + \$(srcdir)/c-family/c-pragma.h \$(srcdir)/cp/decl.h \ + \$(srcdir)/cp/parser.h \ + \$(srcdir)/c-family/c-common.c \$(srcdir)/c-family/c-format.c \ +-\$(srcdir)/c-family/c-lex.c \$(srcdir)/c-family/c-pragma.c \ ++\$(srcdir)/c-family/c-cppbuiltin.c \$(srcdir)/c-family/c-pragma.c \ + \$(srcdir)/cp/call.c \$(srcdir)/cp/class.c \$(srcdir)/cp/constexpr.c \ + \$(srcdir)/cp/cp-gimplify.c \ + \$(srcdir)/cp/cp-lang.c \$(srcdir)/cp/cp-objcp-common.c \ +--- a/src/gcc/cp/constexpr.c ++++ b/src/gcc/cp/constexpr.c +@@ -5107,7 +5107,7 @@ maybe_constant_value (tree t, tree decl) + if (cv_cache == NULL) + cv_cache = hash_map::create_ggc (101); + if (tree *cached = cv_cache->get (t)) +- return *cached; ++ return unshare_expr_without_location (*cached); + + r = cxx_eval_outermost_constant_expr (t, true, true, decl); + gcc_checking_assert (r == t +--- a/src/gcc/cp/cp-gimplify.c ++++ b/src/gcc/cp/cp-gimplify.c +@@ -202,17 +202,26 @@ genericize_cp_loop (tree *stmt_p, location_t start_locus, tree cond, tree body, + tree blab, clab; + tree exit = NULL; + tree stmt_list = NULL; ++ tree debug_begin = NULL; + + blab = begin_bc_block (bc_break, start_locus); + clab = begin_bc_block (bc_continue, start_locus); + +- protected_set_expr_location (incr, start_locus); ++ if (EXPR_LOCATION (incr) == UNKNOWN_LOCATION) ++ protected_set_expr_location (incr, start_locus); + + cp_walk_tree (&cond, cp_genericize_r, data, NULL); + cp_walk_tree (&body, cp_genericize_r, data, NULL); + cp_walk_tree (&incr, cp_genericize_r, data, NULL); + *walk_subtrees = 0; + ++ if (MAY_HAVE_DEBUG_MARKER_STMTS ++ && (!cond || !integer_zerop (cond))) ++ { ++ debug_begin = build0 (DEBUG_BEGIN_STMT, void_type_node); ++ SET_EXPR_LOCATION (debug_begin, EXPR_LOC_OR_LOC (cond, start_locus)); ++ } ++ + if (cond && TREE_CODE (cond) != INTEGER_CST) + { + /* If COND is constant, don't bother building an exit. If it's false, +@@ -225,10 +234,24 @@ genericize_cp_loop (tree *stmt_p, location_t start_locus, tree cond, tree body, + } + + if (exit && cond_is_first) +- append_to_statement_list (exit, &stmt_list); ++ { ++ append_to_statement_list (debug_begin, &stmt_list); ++ debug_begin = NULL_TREE; ++ append_to_statement_list (exit, &stmt_list); ++ } + append_to_statement_list (body, &stmt_list); + finish_bc_block (&stmt_list, bc_continue, clab); +- append_to_statement_list (incr, &stmt_list); ++ if (incr) ++ { ++ if (MAY_HAVE_DEBUG_MARKER_STMTS) ++ { ++ tree d = build0 (DEBUG_BEGIN_STMT, void_type_node); ++ SET_EXPR_LOCATION (d, EXPR_LOC_OR_LOC (incr, start_locus)); ++ append_to_statement_list (d, &stmt_list); ++ } ++ append_to_statement_list (incr, &stmt_list); ++ } ++ append_to_statement_list (debug_begin, &stmt_list); + if (exit && !cond_is_first) + append_to_statement_list (exit, &stmt_list); + +@@ -752,6 +775,27 @@ cp_gimplify_expr (tree *expr_p, gimple_seq *pre_p, gimple_seq *post_p) + + case CALL_EXPR: + ret = GS_OK; ++ if (flag_strong_eval_order == 2 ++ && CALL_EXPR_FN (*expr_p) ++ && cp_get_callee_fndecl_nofold (*expr_p) == NULL_TREE) ++ { ++ tree fnptrtype = TREE_TYPE (CALL_EXPR_FN (*expr_p)); ++ enum gimplify_status t ++ = gimplify_expr (&CALL_EXPR_FN (*expr_p), pre_p, NULL, ++ is_gimple_call_addr, fb_rvalue); ++ if (t == GS_ERROR) ++ ret = GS_ERROR; ++ else if (is_gimple_variable (CALL_EXPR_FN (*expr_p)) ++ && TREE_CODE (CALL_EXPR_FN (*expr_p)) != SSA_NAME) ++ CALL_EXPR_FN (*expr_p) ++ = get_initialized_tmp_var (CALL_EXPR_FN (*expr_p), pre_p, ++ NULL); ++ /* GIMPLE considers most pointer conversion useless, but for ++ calls we actually care about the exact function pointer type. */ ++ if (t != GS_ERROR && TREE_TYPE (CALL_EXPR_FN (*expr_p)) != fnptrtype) ++ CALL_EXPR_FN (*expr_p) ++ = build1 (NOP_EXPR, fnptrtype, CALL_EXPR_FN (*expr_p)); ++ } + if (!CALL_EXPR_FN (*expr_p)) + /* Internal function call. */; + else if (CALL_EXPR_REVERSE_ARGS (*expr_p)) +--- a/src/gcc/cp/cp-tree.h ++++ b/src/gcc/cp/cp-tree.h +@@ -6390,7 +6390,7 @@ extern tree cp_build_parm_decl (tree, tree, tree); + extern tree get_guard (tree); + extern tree get_guard_cond (tree, bool); + extern tree set_guard (tree); +-extern tree get_tls_wrapper_fn (tree); ++extern tree maybe_get_tls_wrapper_call (tree); + extern void mark_needed (tree); + extern bool decl_needed_p (tree); + extern void note_vague_linkage_fn (tree); +--- a/src/gcc/cp/decl.c ++++ b/src/gcc/cp/decl.c +@@ -2163,13 +2163,33 @@ next_arg:; + if (TYPE_NAME (TREE_TYPE (newdecl)) == newdecl) + { + tree remove = TREE_TYPE (newdecl); +- for (tree t = TYPE_MAIN_VARIANT (remove); ; +- t = TYPE_NEXT_VARIANT (t)) +- if (TYPE_NEXT_VARIANT (t) == remove) +- { +- TYPE_NEXT_VARIANT (t) = TYPE_NEXT_VARIANT (remove); +- break; +- } ++ if (TYPE_MAIN_VARIANT (remove) == remove) ++ { ++ gcc_assert (TYPE_NEXT_VARIANT (remove) == NULL_TREE); ++ /* If remove is the main variant, no need to remove that ++ from the list. One of the DECL_ORIGINAL_TYPE ++ variants, e.g. created for aligned attribute, might still ++ refer to the newdecl TYPE_DECL though, so remove that one ++ in that case. */ ++ if (tree orig = DECL_ORIGINAL_TYPE (newdecl)) ++ if (orig != remove) ++ for (tree t = TYPE_MAIN_VARIANT (orig); t; ++ t = TYPE_MAIN_VARIANT (t)) ++ if (TYPE_NAME (TYPE_NEXT_VARIANT (t)) == newdecl) ++ { ++ TYPE_NEXT_VARIANT (t) ++ = TYPE_NEXT_VARIANT (TYPE_NEXT_VARIANT (t)); ++ break; ++ } ++ } ++ else ++ for (tree t = TYPE_MAIN_VARIANT (remove); ; ++ t = TYPE_NEXT_VARIANT (t)) ++ if (TYPE_NEXT_VARIANT (t) == remove) ++ { ++ TYPE_NEXT_VARIANT (t) = TYPE_NEXT_VARIANT (remove); ++ break; ++ } + } + } + else if (merge_attr) +@@ -5616,6 +5636,7 @@ maybe_commonize_var (tree decl) + be merged. */ + TREE_PUBLIC (decl) = 0; + DECL_COMMON (decl) = 0; ++ DECL_INTERFACE_KNOWN (decl) = 1; + const char *msg; + if (DECL_INLINE_VAR_P (decl)) + msg = G_("sorry: semantics of inline variable " +@@ -8326,14 +8347,14 @@ expand_static_init (tree decl, tree init) + (acquire_name, build_function_type_list (integer_type_node, + TREE_TYPE (guard_addr), + NULL_TREE), +- NULL_TREE, ECF_NOTHROW | ECF_LEAF); ++ NULL_TREE, ECF_NOTHROW); + if (!release_fn || !abort_fn) + vfntype = build_function_type_list (void_type_node, + TREE_TYPE (guard_addr), + NULL_TREE); + if (!release_fn) + release_fn = push_library_fn (release_name, vfntype, NULL_TREE, +- ECF_NOTHROW | ECF_LEAF); ++ ECF_NOTHROW); + if (!abort_fn) + abort_fn = push_library_fn (abort_name, vfntype, NULL_TREE, + ECF_NOTHROW | ECF_LEAF); +@@ -15346,7 +15367,8 @@ start_preparsed_function (tree decl1, tree attrs, int flags) + && !implicit_default_ctor_p (decl1)) + cp_ubsan_maybe_initialize_vtbl_ptrs (current_class_ptr); + +- start_lambda_scope (decl1); ++ if (!DECL_OMP_DECLARE_REDUCTION_P (decl1)) ++ start_lambda_scope (decl1); + + return true; + } +@@ -15739,7 +15761,8 @@ finish_function (bool inline_p) + if (fndecl == NULL_TREE) + return error_mark_node; + +- finish_lambda_scope (); ++ if (!DECL_OMP_DECLARE_REDUCTION_P (fndecl)) ++ finish_lambda_scope (); + + if (c_dialect_objc ()) + objc_finish_function (); +@@ -15856,7 +15879,7 @@ finish_function (bool inline_p) + invoke_plugin_callbacks (PLUGIN_PRE_GENERICIZE, fndecl); + + /* Perform delayed folding before NRV transformation. */ +- if (!processing_template_decl) ++ if (!processing_template_decl && !DECL_OMP_DECLARE_REDUCTION_P (fndecl)) + cp_fold_function (fndecl); + + /* Set up the named return value optimization, if we can. Candidate +@@ -15965,7 +15988,8 @@ finish_function (bool inline_p) + if (!processing_template_decl) + { + struct language_function *f = DECL_SAVED_FUNCTION_DATA (fndecl); +- cp_genericize (fndecl); ++ if (!DECL_OMP_DECLARE_REDUCTION_P (fndecl)) ++ cp_genericize (fndecl); + /* Clear out the bits we don't need. */ + f->x_current_class_ptr = NULL; + f->x_current_class_ref = NULL; +--- a/src/gcc/cp/decl2.c ++++ b/src/gcc/cp/decl2.c +@@ -1838,6 +1838,17 @@ mark_vtable_entries (tree decl) + } + } + ++/* Adjust the TLS model on variable DECL if need be, typically after ++ the linkage of DECL has been modified. */ ++ ++static void ++adjust_var_decl_tls_model (tree decl) ++{ ++ if (CP_DECL_THREAD_LOCAL_P (decl) ++ && !lookup_attribute ("tls_model", DECL_ATTRIBUTES (decl))) ++ set_decl_tls_model (decl, decl_default_tls_model (decl)); ++} ++ + /* Set DECL up to have the closest approximation of "initialized common" + linkage available. */ + +@@ -1888,6 +1899,9 @@ comdat_linkage (tree decl) + + if (TREE_PUBLIC (decl)) + DECL_COMDAT (decl) = 1; ++ ++ if (VAR_P (decl)) ++ adjust_var_decl_tls_model (decl); + } + + /* For win32 we also want to put explicit instantiations in +@@ -1926,6 +1940,8 @@ maybe_make_one_only (tree decl) + /* Mark it needed so we don't forget to emit it. */ + node->forced_by_abi = true; + TREE_USED (decl) = 1; ++ ++ adjust_var_decl_tls_model (decl); + } + } + } +@@ -3357,7 +3373,7 @@ get_tls_init_fn (tree var) + VAR and then returns a reference to VAR. The wrapper function is used + in place of VAR everywhere VAR is mentioned. */ + +-tree ++static tree + get_tls_wrapper_fn (tree var) + { + /* Only C++11 TLS vars need this wrapper fn. */ +@@ -3409,6 +3425,22 @@ get_tls_wrapper_fn (tree var) + return fn; + } + ++/* If EXPR is a thread_local variable that should be wrapped by init ++ wrapper function, return a call to that function, otherwise return ++ NULL. */ ++ ++tree ++maybe_get_tls_wrapper_call (tree expr) ++{ ++ if (VAR_P (expr) ++ && !processing_template_decl ++ && !cp_unevaluated_operand ++ && CP_DECL_THREAD_LOCAL_P (expr)) ++ if (tree wrap = get_tls_wrapper_fn (expr)) ++ return build_cxx_call (wrap, 0, NULL, tf_warning_or_error); ++ return NULL; ++} ++ + /* At EOF, generate the definition for the TLS wrapper function FN: + + T& var_wrapper() { +@@ -4888,11 +4920,6 @@ c_parse_final_cleanups (void) + /* Generate RTL for this function now that we know we + need it. */ + expand_or_defer_fn (decl); +- /* If we're compiling -fsyntax-only pretend that this +- function has been written out so that we don't try to +- expand it again. */ +- if (flag_syntax_only) +- TREE_ASM_WRITTEN (decl) = 1; + reconsider = true; + } + } +@@ -4905,7 +4932,10 @@ c_parse_final_cleanups (void) + { + 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 +--- a/src/gcc/cp/init.c ++++ b/src/gcc/cp/init.c +@@ -419,6 +419,15 @@ build_value_init_noctor (tree type, tsubst_flags_t complain) + if (ftype == error_mark_node) + continue; + ++ /* Ignore flexible array members for value initialization. */ ++ if (TREE_CODE (ftype) == ARRAY_TYPE ++ && !COMPLETE_TYPE_P (ftype) ++ && !TYPE_DOMAIN (ftype) ++ && COMPLETE_TYPE_P (TREE_TYPE (ftype)) ++ && (next_initializable_field (DECL_CHAIN (field)) ++ == NULL_TREE)) ++ continue; ++ + /* We could skip vfields and fields of types with + user-defined constructors, but I think that won't improve + performance at all; it should be simpler in general just +@@ -2269,8 +2278,11 @@ constant_value_1 (tree decl, bool strict_p, bool return_aggregate_cst_ok_p) + || TREE_CODE (init) == STRING_CST))) + break; + /* Don't return a CONSTRUCTOR for a variable with partial run-time +- initialization, since it doesn't represent the entire value. */ +- if (TREE_CODE (init) == CONSTRUCTOR ++ initialization, since it doesn't represent the entire value. ++ Similarly for VECTOR_CSTs created by cp_folding those ++ CONSTRUCTORs. */ ++ if ((TREE_CODE (init) == CONSTRUCTOR ++ || TREE_CODE (init) == VECTOR_CST) + && !DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P (decl)) + break; + /* If the variable has a dynamic initializer, don't use its +--- a/src/gcc/cp/lambda.c ++++ b/src/gcc/cp/lambda.c +@@ -612,19 +612,6 @@ add_capture (tree lambda, tree id, tree orig_init, bool by_reference_p, + IDENTIFIER_LENGTH (id) + 1); + name = get_identifier (buf); + +- /* If TREE_TYPE isn't set, we're still in the introducer, so check +- for duplicates. */ +- if (!LAMBDA_EXPR_CLOSURE (lambda)) +- { +- if (IDENTIFIER_MARKED (name)) +- { +- pedwarn (input_location, 0, +- "already captured %qD in lambda expression", id); +- return NULL_TREE; +- } +- IDENTIFIER_MARKED (name) = true; +- } +- + if (variadic) + type = make_pack_expansion (type); + +@@ -685,8 +672,6 @@ register_capture_members (tree captures) + if (PACK_EXPANSION_P (field)) + field = PACK_EXPANSION_PATTERN (field); + +- /* We set this in add_capture to avoid duplicates. */ +- IDENTIFIER_MARKED (DECL_NAME (field)) = false; + finish_member_declaration (field); + } + +--- a/src/gcc/cp/mangle.c ++++ b/src/gcc/cp/mangle.c +@@ -875,7 +875,16 @@ decl_mangling_context (tree decl) + else if (template_type_parameter_p (decl)) + /* template type parms have no mangling context. */ + return NULL_TREE; +- return CP_DECL_CONTEXT (decl); ++ ++ tcontext = CP_DECL_CONTEXT (decl); ++ ++ /* Ignore the artificial declare reduction functions. */ ++ if (tcontext ++ && TREE_CODE (tcontext) == FUNCTION_DECL ++ && DECL_OMP_DECLARE_REDUCTION_P (tcontext)) ++ return decl_mangling_context (tcontext); ++ ++ return tcontext; + } + + /* ::= +@@ -3047,7 +3056,8 @@ write_expression (tree expr) + { + scope = TREE_OPERAND (expr, 0); + member = TREE_OPERAND (expr, 1); +- gcc_assert (!BASELINK_P (member)); ++ if (BASELINK_P (member)) ++ member = BASELINK_FUNCTIONS (member); + } + else + { +--- a/src/gcc/cp/method.c ++++ b/src/gcc/cp/method.c +@@ -1201,6 +1201,8 @@ is_xible_helper (enum tree_code code, tree to, tree from, bool trivial) + expr = assignable_expr (to, from); + else if (trivial && from && TREE_CHAIN (from)) + return error_mark_node; // only 0- and 1-argument ctors can be trivial ++ else if (TREE_CODE (to) == ARRAY_TYPE && !TYPE_DOMAIN (to)) ++ return error_mark_node; // can't construct an array of unknown bound + else + expr = constructible_expr (to, from); + return expr; +--- a/src/gcc/cp/name-lookup.c ++++ b/src/gcc/cp/name-lookup.c +@@ -907,7 +907,7 @@ name_lookup::adl_expr (tree expr) + + if (TREE_TYPE (expr) != unknown_type_node) + { +- adl_type (TREE_TYPE (expr)); ++ adl_type (unlowered_expr_type (expr)); + return; + } + +@@ -4198,38 +4198,46 @@ is_nested_namespace (tree ancestor, tree descendant, bool inline_only) + return ancestor == descendant; + } + +-/* Returns true if ROOT (a namespace, class, or function) encloses +- CHILD. CHILD may be either a class type or a namespace. */ ++/* Returns true if ROOT (a non-alias namespace, class, or function) ++ encloses CHILD. CHILD may be either a class type or a namespace ++ (maybe alias). */ + + bool + is_ancestor (tree root, tree child) + { +- gcc_assert ((TREE_CODE (root) == NAMESPACE_DECL +- || TREE_CODE (root) == FUNCTION_DECL +- || CLASS_TYPE_P (root))); +- gcc_assert ((TREE_CODE (child) == NAMESPACE_DECL +- || CLASS_TYPE_P (child))); ++ gcc_checking_assert ((TREE_CODE (root) == NAMESPACE_DECL ++ && !DECL_NAMESPACE_ALIAS (root)) ++ || TREE_CODE (root) == FUNCTION_DECL ++ || CLASS_TYPE_P (root)); ++ gcc_checking_assert (TREE_CODE (child) == NAMESPACE_DECL ++ || CLASS_TYPE_P (child)); + +- /* The global namespace encloses everything. */ ++ /* The global namespace encloses everything. Early-out for the ++ common case. */ + if (root == global_namespace) + return true; + +- /* Search until we reach namespace scope. */ ++ /* Search CHILD until we reach namespace scope. */ + while (TREE_CODE (child) != NAMESPACE_DECL) + { + /* If we've reached the ROOT, it encloses CHILD. */ + if (root == child) + return true; ++ + /* Go out one level. */ + if (TYPE_P (child)) + child = TYPE_NAME (child); + child = CP_DECL_CONTEXT (child); + } + +- if (TREE_CODE (root) == NAMESPACE_DECL) +- return is_nested_namespace (root, child); ++ if (TREE_CODE (root) != NAMESPACE_DECL) ++ /* Failed to meet the non-namespace we were looking for. */ ++ return false; ++ ++ if (tree alias = DECL_NAMESPACE_ALIAS (child)) ++ child = alias; + +- return false; ++ return is_nested_namespace (root, child); + } + + /* Enter the class or namespace scope indicated by T suitable for name +@@ -5509,7 +5517,7 @@ get_std_name_hint (const char *name) + {"bitset", "", cxx11}, + /* . */ + {"complex", "", cxx98}, +- {"complex_literals", "", cxx98}, ++ {"complex_literals", "", cxx14}, + /* . */ + {"condition_variable", "", cxx11}, + {"condition_variable_any", "", cxx11}, +@@ -5571,7 +5579,7 @@ get_std_name_hint (const char *name) + {"multimap", "", cxx98}, + /* . */ + {"make_shared", "", cxx11}, +- {"make_unique", "", cxx11}, ++ {"make_unique", "", cxx14}, + {"shared_ptr", "", cxx11}, + {"unique_ptr", "", cxx11}, + {"weak_ptr", "", cxx11}, +--- a/src/gcc/cp/parser.c ++++ b/src/gcc/cp/parser.c +@@ -2646,6 +2646,7 @@ static bool cp_parser_init_statement_p + (cp_parser *); + static bool cp_parser_skip_to_closing_square_bracket + (cp_parser *); ++static size_t cp_parser_skip_balanced_tokens (cp_parser *, size_t); + + /* Concept-related syntactic transformations */ + +@@ -10266,6 +10267,11 @@ cp_parser_lambda_introducer (cp_parser* parser, tree lambda_expr) + first = false; + } + ++ hash_set *ids = NULL; ++#if GCC_VERSION >= 8000 ++ char ids_buf[sizeof (hash_set) + __alignof__ (hash_set) - 1]; ++#endif ++ tree first_capture_id = NULL_TREE; + while (cp_lexer_next_token_is_not (parser->lexer, CPP_CLOSE_SQUARE)) + { + cp_token* capture_token; +@@ -10301,11 +10307,14 @@ cp_parser_lambda_introducer (cp_parser* parser, tree lambda_expr) + pedwarn (loc, 0, "explicit by-copy capture of % redundant " + "with by-copy capture default"); + cp_lexer_consume_token (parser->lexer); +- add_capture (lambda_expr, +- /*id=*/this_identifier, +- /*initializer=*/finish_this_expr (), +- /*by_reference_p=*/true, +- explicit_init_p); ++ if (LAMBDA_EXPR_THIS_CAPTURE (lambda_expr)) ++ pedwarn (input_location, 0, ++ "already captured %qD in lambda expression", ++ this_identifier); ++ else ++ add_capture (lambda_expr, /*id=*/this_identifier, ++ /*initializer=*/finish_this_expr (), ++ /*by_reference_p=*/true, explicit_init_p); + continue; + } + +@@ -10319,11 +10328,14 @@ cp_parser_lambda_introducer (cp_parser* parser, tree lambda_expr) + "-std=c++17 or -std=gnu++17"); + cp_lexer_consume_token (parser->lexer); + cp_lexer_consume_token (parser->lexer); +- add_capture (lambda_expr, +- /*id=*/this_identifier, +- /*initializer=*/finish_this_expr (), +- /*by_reference_p=*/false, +- explicit_init_p); ++ if (LAMBDA_EXPR_THIS_CAPTURE (lambda_expr)) ++ pedwarn (input_location, 0, ++ "already captured %qD in lambda expression", ++ this_identifier); ++ else ++ add_capture (lambda_expr, /*id=*/this_identifier, ++ /*initializer=*/finish_this_expr (), ++ /*by_reference_p=*/false, explicit_init_p); + continue; + } + +@@ -10445,11 +10457,35 @@ cp_parser_lambda_introducer (cp_parser* parser, tree lambda_expr) + "default", capture_id); + } + +- add_capture (lambda_expr, +- capture_id, +- capture_init_expr, +- /*by_reference_p=*/capture_kind == BY_REFERENCE, +- explicit_init_p); ++ /* Check for duplicates. ++ Optimize for the zero or one explicit captures cases and only create ++ the hash_set after adding second capture. */ ++ bool found = false; ++ if (ids && ids->elements ()) ++ found = ids->add (capture_id); ++ else if (first_capture_id == NULL_TREE) ++ first_capture_id = capture_id; ++ else if (capture_id == first_capture_id) ++ found = true; ++ else ++ { ++#if GCC_VERSION >= 8000 ++ ids = new (ids_buf ++ + (-(uintptr_t) ids_buf ++ & (__alignof__ (hash_set ) - 1))) hash_set ; ++#else ++ ids = new hash_set ; ++#endif ++ ids->add (first_capture_id); ++ ids->add (capture_id); ++ } ++ if (found) ++ pedwarn (input_location, 0, ++ "already captured %qD in lambda expression", capture_id); ++ else ++ add_capture (lambda_expr, capture_id, capture_init_expr, ++ /*by_reference_p=*/capture_kind == BY_REFERENCE, ++ explicit_init_p); + + /* If there is any qualification still in effect, clear it + now; we will be starting fresh with the next capture. */ +@@ -10458,6 +10494,13 @@ cp_parser_lambda_introducer (cp_parser* parser, tree lambda_expr) + parser->object_scope = NULL_TREE; + } + ++ if (ids) ++#if GCC_VERSION >= 8000 ++ ids->~hash_set (); ++#else ++ delete ids; ++#endif ++ + cp_parser_require (parser, CPP_CLOSE_SQUARE, RT_CLOSE_SQUARE); + } + +@@ -13510,6 +13553,19 @@ cp_parser_decl_specifier_seq (cp_parser* parser, + case RID_CONCEPT: + ds = ds_concept; + cp_lexer_consume_token (parser->lexer); ++ ++ if (flags & CP_PARSER_FLAGS_ONLY_MUTABLE_OR_CONSTEXPR) ++ break; ++ ++ /* In C++20 a concept definition is just 'concept name = expr;' ++ Support that syntax by pretending we've seen 'bool'. */ ++ if (cp_lexer_next_token_is (parser->lexer, CPP_NAME) ++ && cp_lexer_nth_token_is (parser->lexer, 2, CPP_EQ)) ++ { ++ cp_parser_set_decl_spec_type (decl_specs, boolean_type_node, ++ token, /*type_definition*/false); ++ decl_specs->any_type_specifiers_p = true; ++ } + break; + + /* function-specifier: +@@ -13528,6 +13584,10 @@ cp_parser_decl_specifier_seq (cp_parser* parser, + ds = ds_typedef; + /* Consume the token. */ + cp_lexer_consume_token (parser->lexer); ++ ++ if (flags & CP_PARSER_FLAGS_ONLY_MUTABLE_OR_CONSTEXPR) ++ break; ++ + /* A constructor declarator cannot appear in a typedef. */ + constructor_possible_p = false; + /* The "typedef" keyword can only occur in a declaration; we +@@ -13622,6 +13682,9 @@ cp_parser_decl_specifier_seq (cp_parser* parser, + bool is_cv_qualifier; + tree type_spec; + ++ if (flags & CP_PARSER_FLAGS_ONLY_MUTABLE_OR_CONSTEXPR) ++ flags |= CP_PARSER_FLAGS_NO_TYPE_DEFINITIONS; ++ + type_spec + = cp_parser_type_specifier (parser, flags, + decl_specs, +@@ -16103,7 +16166,17 @@ cp_parser_template_name (cp_parser* parser, + { + if (TREE_DEPRECATED (decl) + && deprecated_state != DEPRECATED_SUPPRESS) +- warn_deprecated_use (decl, NULL_TREE); ++ { ++ tree d = DECL_TEMPLATE_RESULT (decl); ++ tree attr; ++ if (TREE_CODE (d) == TYPE_DECL) ++ attr = lookup_attribute ("deprecated", ++ TYPE_ATTRIBUTES (TREE_TYPE (d))); ++ else ++ attr = lookup_attribute ("deprecated", ++ DECL_ATTRIBUTES (d)); ++ warn_deprecated_use (decl, attr); ++ } + } + else + { +@@ -18773,7 +18846,8 @@ cp_parser_using_declaration (cp_parser* parser, + /*is_declaration=*/true); + if (!qscope) + qscope = global_namespace; +- else if (UNSCOPED_ENUM_P (qscope)) ++ else if (UNSCOPED_ENUM_P (qscope) ++ && !TYPE_FUNCTION_SCOPE_P (qscope)) + qscope = CP_TYPE_CONTEXT (qscope); + + if (access_declaration_p && cp_parser_error_occurred (parser)) +@@ -19125,8 +19199,9 @@ cp_parser_asm_definition (cp_parser* parser) + 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 +19227,8 @@ cp_parser_asm_definition (cp_parser* parser) + } + else + inline_loc = loc; ++ if (!first_loc) ++ first_loc = loc; + cp_lexer_consume_token (parser->lexer); + continue; + +@@ -19163,6 +19240,8 @@ cp_parser_asm_definition (cp_parser* parser) + } + else + goto_loc = loc; ++ if (!first_loc) ++ first_loc = loc; + cp_lexer_consume_token (parser->lexer); + continue; + +@@ -19182,6 +19261,12 @@ cp_parser_asm_definition (cp_parser* parser) + 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; +@@ -25326,6 +25411,17 @@ cp_parser_std_attribute (cp_parser *parser, tree attr_ns) + /* A GNU attribute that takes an identifier in parameter. */ + attr_flag = id_attr; + ++ const attribute_spec *as ++ = lookup_attribute_spec (TREE_PURPOSE (attribute)); ++ if (as == NULL) ++ { ++ /* For unknown attributes, just skip balanced tokens instead of ++ trying to parse the arguments. */ ++ for (size_t n = cp_parser_skip_balanced_tokens (parser, 1) - 1; n; --n) ++ cp_lexer_consume_token (parser->lexer); ++ return attribute; ++ } ++ + vec = cp_parser_parenthesized_expression_list + (parser, attr_flag, /*cast_p=*/false, + /*allow_expansion_p=*/true, +@@ -26725,12 +26821,27 @@ cp_parser_constructor_declarator_p (cp_parser *parser, bool friend_p) + /* A parameter declaration begins with a decl-specifier, + which is either the "attribute" keyword, a storage class + specifier, or (usually) a type-specifier. */ +- && !cp_lexer_next_token_is_decl_specifier_keyword (parser->lexer)) ++ && (!cp_lexer_next_token_is_decl_specifier_keyword (parser->lexer) ++ /* GNU attributes can actually appear both at the start of ++ a parameter and parenthesized declarator. ++ S (__attribute__((unused)) int); ++ is a constructor, but ++ S (__attribute__((unused)) foo) (int); ++ is a function declaration. */ ++ || (cp_parser_allow_gnu_extensions_p (parser) ++ && cp_next_tokens_can_be_gnu_attribute_p (parser)))) + { + tree type; + tree pushed_scope = NULL_TREE; + unsigned saved_num_template_parameter_lists; + ++ if (cp_next_tokens_can_be_gnu_attribute_p (parser)) ++ { ++ unsigned int n = cp_parser_skip_gnu_attributes_opt (parser, 1); ++ while (--n) ++ cp_lexer_consume_token (parser->lexer); ++ } ++ + /* Names appearing in the type-specifier should be looked up + in the scope of the class. */ + if (current_class_type) +@@ -33599,8 +33710,10 @@ cp_parser_omp_clause_dist_schedule (cp_parser *parser, tree list, + else if (!cp_parser_require (parser, CPP_CLOSE_PAREN, RT_COMMA_CLOSE_PAREN)) + goto resync_fail; + +- check_no_duplicate_clause (list, OMP_CLAUSE_DIST_SCHEDULE, "dist_schedule", +- location); ++ /* check_no_duplicate_clause (list, OMP_CLAUSE_DIST_SCHEDULE, ++ "dist_schedule", location); */ ++ if (omp_find_clause (list, OMP_CLAUSE_DIST_SCHEDULE)) ++ warning_at (location, 0, "too many %qs clauses", "dist_schedule"); + OMP_CLAUSE_CHAIN (c) = list; + return c; + +@@ -37527,6 +37640,8 @@ cp_parser_omp_declare_reduction_exprs (tree fndecl, cp_parser *parser) + combiner = cp_parser_expression (parser); + finish_expr_stmt (combiner); + block = finish_omp_structured_block (block); ++ if (processing_template_decl) ++ block = build_stmt (input_location, EXPR_STMT, block); + add_stmt (block); + + if (!cp_parser_require (parser, CPP_CLOSE_PAREN, RT_CLOSE_PAREN)) +@@ -37629,6 +37744,8 @@ cp_parser_omp_declare_reduction_exprs (tree fndecl, cp_parser *parser) + + block = finish_omp_structured_block (block); + cp_walk_tree (&block, cp_remove_omp_priv_cleanup_stmt, omp_priv, NULL); ++ if (processing_template_decl) ++ block = build_stmt (input_location, EXPR_STMT, block); + add_stmt (block); + + if (ctor) +@@ -38680,7 +38797,10 @@ cp_parser_initial_pragma (cp_token *first_token) + + cp_lexer_get_preprocessor_token (NULL, first_token); + if (cp_parser_pragma_kind (first_token) != PRAGMA_GCC_PCH_PREPROCESS) +- return; ++ { ++ c_common_no_more_pch (); ++ return; ++ } + + cp_lexer_get_preprocessor_token (NULL, first_token); + if (first_token->type == CPP_STRING) +--- a/src/gcc/cp/pt.c ++++ b/src/gcc/cp/pt.c +@@ -11732,8 +11732,6 @@ fold_expression (tree t, tree left, tree right, tsubst_flags_t complain) + { + 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 @@ tsubst_function_decl (tree t, tree args, tsubst_flags_t complain, + 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 @@ tsubst_function_decl (tree t, tree args, tsubst_flags_t complain, + && !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 @@ tsubst_copy_and_build (tree t, + 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) +@@ -18890,17 +18894,10 @@ tsubst_copy_and_build (tree t, + { + tree r = tsubst_copy (t, args, complain, in_decl); + /* ??? We're doing a subset of finish_id_expression here. */ +- if (VAR_P (r) +- && !processing_template_decl +- && !cp_unevaluated_operand +- && (TREE_STATIC (r) || DECL_EXTERNAL (r)) +- && CP_DECL_THREAD_LOCAL_P (r)) +- { +- if (tree wrap = get_tls_wrapper_fn (r)) +- /* Replace an evaluated use of the thread_local variable with +- a call to its wrapper. */ +- r = build_cxx_call (wrap, 0, NULL, tf_warning_or_error); +- } ++ if (tree wrap = maybe_get_tls_wrapper_call (r)) ++ /* Replace an evaluated use of the thread_local variable with ++ a call to its wrapper. */ ++ r = wrap; + else if (outer_automatic_var_p (r)) + r = process_outer_var_ref (r, complain); + +@@ -25998,8 +25995,10 @@ make_auto (void) + 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 +26533,9 @@ do_class_deduction (tree ptype, tree tmpl, tree init, int flags, + 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 +26603,7 @@ do_class_deduction (tree ptype, tree tmpl, tree init, int flags, + + 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)); +--- a/src/gcc/cp/semantics.c ++++ b/src/gcc/cp/semantics.c +@@ -645,10 +645,13 @@ maybe_convert_cond (tree cond) + 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. */ +@@ -2099,6 +2102,14 @@ finish_qualified_id_expr (tree qualifying_class, + expr = build_offset_ref (qualifying_class, expr, /*address_p=*/false, + complain); + } ++ else if (!template_p ++ && TREE_CODE (expr) == TEMPLATE_DECL ++ && !DECL_FUNCTION_TEMPLATE_P (expr)) ++ { ++ if (complain & tf_error) ++ error ("%qE missing template arguments", expr); ++ return error_mark_node; ++ } + else + { + /* In a template, return a SCOPE_REF for most qualified-ids +@@ -2114,6 +2125,8 @@ finish_qualified_id_expr (tree qualifying_class, + expr = build_qualified_name (TREE_TYPE (expr), + qualifying_class, expr, + template_p); ++ else if (tree wrap = maybe_get_tls_wrapper_call (expr)) ++ expr = wrap; + + expr = convert_from_reference (expr); + } +@@ -3709,18 +3722,10 @@ finish_id_expression (tree id_expression, + *non_integral_constant_expression_p = true; + } + +- tree wrap; +- if (VAR_P (decl) +- && !cp_unevaluated_operand +- && !processing_template_decl +- && (TREE_STATIC (decl) || DECL_EXTERNAL (decl)) +- && CP_DECL_THREAD_LOCAL_P (decl) +- && (wrap = get_tls_wrapper_fn (decl))) +- { +- /* Replace an evaluated use of the thread_local variable with +- a call to its wrapper. */ +- decl = build_cxx_call (wrap, 0, NULL, tf_warning_or_error); +- } ++ if (tree wrap = maybe_get_tls_wrapper_call (decl)) ++ /* Replace an evaluated use of the thread_local variable with ++ a call to its wrapper. */ ++ decl = wrap; + else if (TREE_CODE (decl) == TEMPLATE_ID_EXPR + && !dependent_p + && variable_template_p (TREE_OPERAND (decl, 0))) +@@ -4229,7 +4234,7 @@ expand_or_defer_fn_1 (tree fn) + if (DECL_INTERFACE_KNOWN (fn)) + /* We've already made a decision as to how this function will + be handled. */; +- else if (!at_eof) ++ else if (!at_eof || DECL_OMP_DECLARE_REDUCTION_P (fn)) + tentative_decl_linkage (fn); + else + import_export_decl (fn); +@@ -4240,6 +4245,7 @@ expand_or_defer_fn_1 (tree fn) + be emitted; there may be callers in other DLLs. */ + if (DECL_DECLARED_INLINE_P (fn) + && !DECL_REALLY_EXTERN (fn) ++ && !DECL_OMP_DECLARE_REDUCTION_P (fn) + && (flag_keep_inline_functions + || (flag_keep_inline_dllexport + && lookup_attribute ("dllexport", DECL_ATTRIBUTES (fn))))) +@@ -4265,6 +4271,14 @@ expand_or_defer_fn_1 (tree fn) + /* There's no reason to do any of the work here if we're only doing + semantic analysis; this code just generates RTL. */ + if (flag_syntax_only) ++ { ++ /* Pretend that this function has been written out so that we don't try ++ to expand it again. */ ++ TREE_ASM_WRITTEN (fn) = 1; ++ return false; ++ } ++ ++ if (DECL_OMP_DECLARE_REDUCTION_P (fn)) + return false; + + return true; +@@ -7305,7 +7319,8 @@ finish_omp_clauses (tree clauses, enum c_omp_region_type ort) + t = require_complete_type (t); + if (t == error_mark_node) + remove = true; +- else if (TREE_CODE (TREE_TYPE (t)) == REFERENCE_TYPE ++ else if (!processing_template_decl ++ && TREE_CODE (TREE_TYPE (t)) == REFERENCE_TYPE + && !complete_type_or_else (TREE_TYPE (TREE_TYPE (t)), t)) + remove = true; + } +@@ -8452,6 +8467,11 @@ finish_omp_atomic (enum tree_code code, enum tree_code opcode, tree lhs, + stmt = build2 (OMP_ATOMIC, void_type_node, integer_zero_node, stmt); + OMP_ATOMIC_SEQ_CST (stmt) = seq_cst; + } ++ ++ /* Avoid -Wunused-value warnings here, the whole construct has side-effects ++ and even if it might be wrapped from fold-const.c or c-omp.c wrapped ++ in some tree that appears to be unused, the value is not unused. */ ++ warning_sentinel w (warn_unused_value); + finish_expr_stmt (stmt); + } + +--- a/src/gcc/cp/tree.c ++++ b/src/gcc/cp/tree.c +@@ -3192,6 +3192,11 @@ replace_placeholders_r (tree* t, int* walk_subtrees, void* data_) + tree type = TREE_TYPE (*valp); + tree subob = obj; + ++ /* Elements with RANGE_EXPR index shouldn't have any ++ placeholders in them. */ ++ if (ce->index && TREE_CODE (ce->index) == RANGE_EXPR) ++ continue; ++ + if (TREE_CODE (*valp) == CONSTRUCTOR + && AGGREGATE_TYPE_P (type)) + { +--- a/src/gcc/cp/typeck.c ++++ b/src/gcc/cp/typeck.c +@@ -40,6 +40,7 @@ along with GCC; see the file COPYING3. If not see + #include "stringpool.h" + #include "attribs.h" + #include "asan.h" ++#include "gimplify.h" + + static tree cp_build_addr_expr_strict (tree, tsubst_flags_t); + static tree cp_build_function_call (tree, tree, tsubst_flags_t); +@@ -1383,6 +1384,11 @@ structural_comptypes (tree t1, tree t2, int strict) + template parameters set, they can't be equal. */ + if (!comp_template_parms_position (t1, t2)) + return false; ++ /* If T1 and T2 don't represent the same class template deduction, ++ they aren't equal. */ ++ if (CLASS_PLACEHOLDER_TEMPLATE (t1) ++ != CLASS_PLACEHOLDER_TEMPLATE (t2)) ++ return false; + /* Constrained 'auto's are distinct from parms that don't have the same + constraints. */ + if (!equivalent_placeholder_constraints (t1, t2)) +@@ -2437,6 +2443,12 @@ build_class_member_access_expr (cp_expr object, tree member, + /* A static data member. */ + result = member; + mark_exp_read (object); ++ ++ if (tree wrap = maybe_get_tls_wrapper_call (result)) ++ /* Replace an evaluated use of the thread_local variable with ++ a call to its wrapper. */ ++ result = wrap; ++ + /* If OBJECT has side-effects, they are supposed to occur. */ + if (TREE_SIDE_EFFECTS (object)) + result = build2 (COMPOUND_EXPR, TREE_TYPE (result), object, result); +@@ -5747,18 +5759,17 @@ cp_truthvalue_conversion (tree expr) + 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; + } + +@@ -7983,8 +7994,6 @@ cp_build_modify_expr (location_t loc, tree lhs, enum tree_code modifycode, + /* Produce (a ? (b = rhs) : (c = rhs)) + except that the RHS goes through a save-expr + so the code to compute it is only emitted once. */ +- tree cond; +- + if (VOID_TYPE_P (TREE_TYPE (rhs))) + { + if (complain & tf_error) +@@ -7999,13 +8008,21 @@ cp_build_modify_expr (location_t loc, tree lhs, enum tree_code modifycode, + if (!lvalue_or_else (lhs, lv_assign, complain)) + return error_mark_node; + +- cond = build_conditional_expr +- (input_location, TREE_OPERAND (lhs, 0), +- cp_build_modify_expr (loc, TREE_OPERAND (lhs, 1), +- modifycode, rhs, complain), +- cp_build_modify_expr (loc, TREE_OPERAND (lhs, 2), +- modifycode, rhs, complain), +- complain); ++ tree op1 = cp_build_modify_expr (loc, TREE_OPERAND (lhs, 1), ++ modifycode, rhs, complain); ++ /* When sanitizing undefined behavior, even when rhs doesn't need ++ stabilization at this point, the sanitization might add extra ++ SAVE_EXPRs in there and so make sure there is no tree sharing ++ in the rhs, otherwise those SAVE_EXPRs will have initialization ++ only in one of the two branches. */ ++ if (sanitize_flags_p (SANITIZE_UNDEFINED ++ | SANITIZE_UNDEFINED_NONDEFAULT)) ++ rhs = unshare_expr (rhs); ++ tree op2 = cp_build_modify_expr (loc, TREE_OPERAND (lhs, 2), ++ modifycode, rhs, complain); ++ tree cond = build_conditional_expr (input_location, ++ TREE_OPERAND (lhs, 0), op1, op2, ++ complain); + + if (cond == error_mark_node) + return cond; +@@ -9092,8 +9109,10 @@ maybe_warn_about_returning_address_of_local (tree retval) + tree base = DECL_DECOMP_BASE (whats_returned); + if (TREE_CODE (TREE_TYPE (base)) == REFERENCE_TYPE) + { +- tree init = DECL_INITIAL (base); +- return maybe_warn_about_returning_address_of_local (init); ++ if (tree init = DECL_INITIAL (base)) ++ return maybe_warn_about_returning_address_of_local (init); ++ else ++ return false; + } + } + if (TREE_CODE (valtype) == REFERENCE_TYPE) +--- a/src/gcc/cp/typeck2.c ++++ b/src/gcc/cp/typeck2.c +@@ -1142,8 +1142,29 @@ digest_init_r (tree type, tree init, int nested, int flags, + { + tree elt = CONSTRUCTOR_ELT (init, 0)->value; + if (reference_related_p (type, TREE_TYPE (elt))) +- /* We should have fixed this in reshape_init. */ +- gcc_unreachable (); ++ { ++ /* In C++17, aggregates can have bases, thus participate in ++ aggregate initialization. In the following case: ++ ++ struct B { int c; }; ++ struct D : B { }; ++ D d{{D{{42}}}}; ++ ++ there's an extra set of braces, so the D temporary initializes ++ the first element of d, which is the B base subobject. The base ++ of type B is copy-initialized from the D temporary, causing ++ object slicing. */ ++ tree field = next_initializable_field (TYPE_FIELDS (type)); ++ if (field && DECL_FIELD_IS_BASE (field)) ++ { ++ if (warning_at (loc, 0, "initializing a base class of type %qT " ++ "results in object slicing", TREE_TYPE (field))) ++ inform (loc, "remove %<{ }%> around initializer"); ++ } ++ else ++ /* We should have fixed this in reshape_init. */ ++ gcc_unreachable (); ++ } + } + + if (BRACE_ENCLOSED_INITIALIZER_P (init) +@@ -1203,6 +1224,8 @@ digest_nsdmi_init (tree decl, tree init, tsubst_flags_t complain) + gcc_assert (TREE_CODE (decl) == FIELD_DECL); + + tree type = TREE_TYPE (decl); ++ if (DECL_BIT_FIELD_TYPE (decl)) ++ type = DECL_BIT_FIELD_TYPE (decl); + int flags = LOOKUP_IMPLICIT; + if (DIRECT_LIST_INIT_P (init)) + flags = LOOKUP_NORMAL; +@@ -1538,6 +1561,13 @@ process_init_constructor_record (tree type, tree init, int nested, + } + } + ++ 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); +--- a/src/gcc/cp/vtable-class-hierarchy.c ++++ b/src/gcc/cp/vtable-class-hierarchy.c +@@ -1191,8 +1191,6 @@ vtv_generate_init_routine (void) + gimplify_function_tree (vtv_fndecl); + cgraph_node::add_new_function (vtv_fndecl, false); + +- symtab->process_new_functions (); +- + if (flag_vtable_verify == VTV_PREINIT_PRIORITY && !TARGET_PECOFF) + assemble_vtv_preinit_initializer (vtv_fndecl); + +--- a/src/gcc/dce.c ++++ b/src/gcc/dce.c +@@ -35,6 +35,7 @@ along with GCC; see the file COPYING3. If not see + #include "valtrack.h" + #include "tree-pass.h" + #include "dbgcnt.h" ++#include "rtl-iter.h" + + + /* ------------------------------------------------------------------------- +@@ -86,6 +87,32 @@ deletable_insn_p_1 (rtx body) + } + } + ++/* Don't delete calls that may throw if we cannot do so. */ ++ ++static bool ++can_delete_call (rtx_insn *insn) ++{ ++ if (cfun->can_delete_dead_exceptions && can_alter_cfg) ++ return true; ++ if (!insn_nothrow_p (insn)) ++ return false; ++ if (can_alter_cfg) ++ return true; ++ /* If we can't alter cfg, even when the call can't throw exceptions, it ++ might have EDGE_ABNORMAL_CALL edges and so we shouldn't delete such ++ calls. */ ++ gcc_assert (CALL_P (insn)); ++ if (BLOCK_FOR_INSN (insn) && BB_END (BLOCK_FOR_INSN (insn)) == insn) ++ { ++ edge e; ++ edge_iterator ei; ++ ++ FOR_EACH_EDGE (e, ei, BLOCK_FOR_INSN (insn)->succs) ++ if ((e->flags & EDGE_ABNORMAL_CALL) != 0) ++ return false; ++ } ++ return true; ++} + + /* Return true if INSN is a normal instruction that can be deleted by + the DCE pass. */ +@@ -110,8 +137,7 @@ deletable_insn_p (rtx_insn *insn, bool fast, bitmap arg_stores) + && (RTL_CONST_OR_PURE_CALL_P (insn) + && !RTL_LOOPING_CONST_OR_PURE_CALL_P (insn)) + /* Don't delete calls that may throw if we cannot do so. */ +- && ((cfun->can_delete_dead_exceptions && can_alter_cfg) +- || insn_nothrow_p (insn))) ++ && can_delete_call (insn)) + return find_call_stack_args (as_a (insn), false, + fast, arg_stores); + +@@ -204,8 +230,7 @@ mark_insn (rtx_insn *insn, bool fast) + && !SIBLING_CALL_P (insn) + && (RTL_CONST_OR_PURE_CALL_P (insn) + && !RTL_LOOPING_CONST_OR_PURE_CALL_P (insn)) +- && ((cfun->can_delete_dead_exceptions && can_alter_cfg) +- || insn_nothrow_p (insn))) ++ && can_delete_call (insn)) + find_call_stack_args (as_a (insn), true, fast, NULL); + } + } +@@ -265,6 +290,100 @@ check_argument_store (HOST_WIDE_INT size, HOST_WIDE_INT off, + return true; + } + ++/* If MEM has sp address, return 0, if it has sp + const address, ++ return that const, if it has reg address where reg is set to sp + const ++ and FAST is false, return const, otherwise return ++ INTTYPE_MINUMUM (HOST_WIDE_INT). */ ++ ++static HOST_WIDE_INT ++sp_based_mem_offset (rtx_call_insn *call_insn, const_rtx mem, bool fast) ++{ ++ HOST_WIDE_INT off = 0; ++ rtx addr = XEXP (mem, 0); ++ if (GET_CODE (addr) == PLUS ++ && REG_P (XEXP (addr, 0)) ++ && CONST_INT_P (XEXP (addr, 1))) ++ { ++ off = INTVAL (XEXP (addr, 1)); ++ addr = XEXP (addr, 0); ++ } ++ if (addr == stack_pointer_rtx) ++ return off; ++ ++ if (!REG_P (addr) || fast) ++ return INTTYPE_MINIMUM (HOST_WIDE_INT); ++ ++ /* If not fast, use chains to see if addr wasn't set to sp + offset. */ ++ df_ref use; ++ FOR_EACH_INSN_USE (use, call_insn) ++ if (rtx_equal_p (addr, DF_REF_REG (use))) ++ break; ++ ++ if (use == NULL) ++ return INTTYPE_MINIMUM (HOST_WIDE_INT); ++ ++ struct df_link *defs; ++ for (defs = DF_REF_CHAIN (use); defs; defs = defs->next) ++ if (! DF_REF_IS_ARTIFICIAL (defs->ref)) ++ break; ++ ++ if (defs == NULL) ++ return INTTYPE_MINIMUM (HOST_WIDE_INT); ++ ++ rtx set = single_set (DF_REF_INSN (defs->ref)); ++ if (!set) ++ return INTTYPE_MINIMUM (HOST_WIDE_INT); ++ ++ if (GET_CODE (SET_SRC (set)) != PLUS ++ || XEXP (SET_SRC (set), 0) != stack_pointer_rtx ++ || !CONST_INT_P (XEXP (SET_SRC (set), 1))) ++ return INTTYPE_MINIMUM (HOST_WIDE_INT); ++ ++ off += INTVAL (XEXP (SET_SRC (set), 1)); ++ return off; ++} ++ ++/* Data for check_argument_load called via note_uses. */ ++struct check_argument_load_data { ++ bitmap sp_bytes; ++ HOST_WIDE_INT min_sp_off, max_sp_off; ++ rtx_call_insn *call_insn; ++ bool fast; ++ bool load_found; ++}; ++ ++/* Helper function for find_call_stack_args. Check if there are ++ any loads from the argument slots in between the const/pure call ++ and store to the argument slot, set LOAD_FOUND if any is found. */ ++ ++static void ++check_argument_load (rtx *loc, void *data) ++{ ++ struct check_argument_load_data *d ++ = (struct check_argument_load_data *) data; ++ subrtx_iterator::array_type array; ++ FOR_EACH_SUBRTX (iter, array, *loc, NONCONST) ++ { ++ const_rtx mem = *iter; ++ HOST_WIDE_INT size; ++ if (MEM_P (mem) ++ && MEM_SIZE_KNOWN_P (mem) ++ && MEM_SIZE (mem).is_constant (&size)) ++ { ++ HOST_WIDE_INT off = sp_based_mem_offset (d->call_insn, mem, d->fast); ++ if (off != INTTYPE_MINIMUM (HOST_WIDE_INT) ++ && off < d->max_sp_off ++ && off + size > d->min_sp_off) ++ for (HOST_WIDE_INT byte = MAX (off, d->min_sp_off); ++ byte < MIN (off + size, d->max_sp_off); byte++) ++ if (bitmap_bit_p (d->sp_bytes, byte - d->min_sp_off)) ++ { ++ d->load_found = true; ++ return; ++ } ++ } ++ } ++} + + /* Try to find all stack stores of CALL_INSN arguments if + ACCUMULATE_OUTGOING_ARGS. If all stack stores have been found +@@ -302,58 +421,13 @@ find_call_stack_args (rtx_call_insn *call_insn, bool do_mark, bool fast, + if (GET_CODE (XEXP (p, 0)) == USE + && MEM_P (XEXP (XEXP (p, 0), 0))) + { +- rtx mem = XEXP (XEXP (p, 0), 0), addr; +- HOST_WIDE_INT off = 0, size; ++ rtx mem = XEXP (XEXP (p, 0), 0); ++ HOST_WIDE_INT size; + if (!MEM_SIZE_KNOWN_P (mem) || !MEM_SIZE (mem).is_constant (&size)) + return false; +- addr = XEXP (mem, 0); +- if (GET_CODE (addr) == PLUS +- && REG_P (XEXP (addr, 0)) +- && CONST_INT_P (XEXP (addr, 1))) +- { +- off = INTVAL (XEXP (addr, 1)); +- addr = XEXP (addr, 0); +- } +- if (addr != stack_pointer_rtx) +- { +- if (!REG_P (addr)) +- return false; +- /* If not fast, use chains to see if addr wasn't set to +- sp + offset. */ +- if (!fast) +- { +- df_ref use; +- struct df_link *defs; +- rtx set; +- +- FOR_EACH_INSN_USE (use, call_insn) +- if (rtx_equal_p (addr, DF_REF_REG (use))) +- break; +- +- if (use == NULL) +- return false; +- +- for (defs = DF_REF_CHAIN (use); defs; defs = defs->next) +- if (! DF_REF_IS_ARTIFICIAL (defs->ref)) +- break; +- +- if (defs == NULL) +- return false; +- +- set = single_set (DF_REF_INSN (defs->ref)); +- if (!set) +- return false; +- +- if (GET_CODE (SET_SRC (set)) != PLUS +- || XEXP (SET_SRC (set), 0) != stack_pointer_rtx +- || !CONST_INT_P (XEXP (SET_SRC (set), 1))) +- return false; +- +- off += INTVAL (XEXP (SET_SRC (set), 1)); +- } +- else +- return false; +- } ++ HOST_WIDE_INT off = sp_based_mem_offset (call_insn, mem, fast); ++ if (off == INTTYPE_MINIMUM (HOST_WIDE_INT)) ++ return false; + min_sp_off = MIN (min_sp_off, off); + max_sp_off = MAX (max_sp_off, off + size); + } +@@ -369,51 +443,24 @@ find_call_stack_args (rtx_call_insn *call_insn, bool do_mark, bool fast, + if (GET_CODE (XEXP (p, 0)) == USE + && MEM_P (XEXP (XEXP (p, 0), 0))) + { +- rtx mem = XEXP (XEXP (p, 0), 0), addr; +- HOST_WIDE_INT off = 0, byte, size; ++ rtx mem = XEXP (XEXP (p, 0), 0); + /* Checked in the previous iteration. */ +- size = MEM_SIZE (mem).to_constant (); +- addr = XEXP (mem, 0); +- if (GET_CODE (addr) == PLUS +- && REG_P (XEXP (addr, 0)) +- && CONST_INT_P (XEXP (addr, 1))) +- { +- off = INTVAL (XEXP (addr, 1)); +- addr = XEXP (addr, 0); +- } +- if (addr != stack_pointer_rtx) +- { +- df_ref use; +- struct df_link *defs; +- rtx set; +- +- FOR_EACH_INSN_USE (use, call_insn) +- if (rtx_equal_p (addr, DF_REF_REG (use))) +- break; +- +- for (defs = DF_REF_CHAIN (use); defs; defs = defs->next) +- if (! DF_REF_IS_ARTIFICIAL (defs->ref)) +- break; +- +- set = single_set (DF_REF_INSN (defs->ref)); +- off += INTVAL (XEXP (SET_SRC (set), 1)); +- } +- for (byte = off; byte < off + size; byte++) +- { +- if (!bitmap_set_bit (sp_bytes, byte - min_sp_off)) +- gcc_unreachable (); +- } ++ HOST_WIDE_INT size = MEM_SIZE (mem).to_constant (); ++ HOST_WIDE_INT off = sp_based_mem_offset (call_insn, mem, fast); ++ gcc_checking_assert (off != INTTYPE_MINIMUM (HOST_WIDE_INT)); ++ for (HOST_WIDE_INT byte = off; byte < off + size; byte++) ++ if (!bitmap_set_bit (sp_bytes, byte - min_sp_off)) ++ gcc_unreachable (); + } + + /* Walk backwards, looking for argument stores. The search stops +- when seeing another call, sp adjustment or memory store other than +- argument store. */ ++ when seeing another call, sp adjustment, memory store other than ++ argument store or a read from an argument stack slot. */ ++ struct check_argument_load_data data ++ = { sp_bytes, min_sp_off, max_sp_off, call_insn, fast, false }; + ret = false; + for (insn = PREV_INSN (call_insn); insn; insn = prev_insn) + { +- rtx set, mem, addr; +- HOST_WIDE_INT off; +- + if (insn == BB_HEAD (BLOCK_FOR_INSN (call_insn))) + prev_insn = NULL; + else +@@ -425,61 +472,21 @@ find_call_stack_args (rtx_call_insn *call_insn, bool do_mark, bool fast, + if (!NONDEBUG_INSN_P (insn)) + continue; + +- set = single_set (insn); ++ rtx set = single_set (insn); + if (!set || SET_DEST (set) == stack_pointer_rtx) + break; + ++ note_uses (&PATTERN (insn), check_argument_load, &data); ++ if (data.load_found) ++ break; ++ + if (!MEM_P (SET_DEST (set))) + continue; + +- mem = SET_DEST (set); +- addr = XEXP (mem, 0); +- off = 0; +- if (GET_CODE (addr) == PLUS +- && REG_P (XEXP (addr, 0)) +- && CONST_INT_P (XEXP (addr, 1))) +- { +- off = INTVAL (XEXP (addr, 1)); +- addr = XEXP (addr, 0); +- } +- if (addr != stack_pointer_rtx) +- { +- if (!REG_P (addr)) +- break; +- if (!fast) +- { +- df_ref use; +- struct df_link *defs; +- rtx set; +- +- FOR_EACH_INSN_USE (use, insn) +- if (rtx_equal_p (addr, DF_REF_REG (use))) +- break; +- +- if (use == NULL) +- break; +- +- for (defs = DF_REF_CHAIN (use); defs; defs = defs->next) +- if (! DF_REF_IS_ARTIFICIAL (defs->ref)) +- break; +- +- if (defs == NULL) +- break; +- +- set = single_set (DF_REF_INSN (defs->ref)); +- if (!set) +- break; +- +- if (GET_CODE (SET_SRC (set)) != PLUS +- || XEXP (SET_SRC (set), 0) != stack_pointer_rtx +- || !CONST_INT_P (XEXP (SET_SRC (set), 1))) +- break; +- +- off += INTVAL (XEXP (SET_SRC (set), 1)); +- } +- else +- break; +- } ++ rtx mem = SET_DEST (set); ++ HOST_WIDE_INT off = sp_based_mem_offset (call_insn, mem, fast); ++ if (off == INTTYPE_MINIMUM (HOST_WIDE_INT)) ++ break; + + HOST_WIDE_INT size; + if (!MEM_SIZE_KNOWN_P (mem) +--- a/src/gcc/df-core.c ++++ b/src/gcc/df-core.c +@@ -298,12 +298,12 @@ There are 4 ways to obtain access to refs: + + Artificial defs and uses occur both at the beginning and ends of blocks. + +- For blocks that area at the destination of eh edges, the ++ For blocks that are at the destination of eh edges, the + artificial uses and defs occur at the beginning. The defs relate + to the registers specified in EH_RETURN_DATA_REGNO and the uses +- relate to the registers specified in ED_USES. Logically these ++ relate to the registers specified in EH_USES. Logically these + defs and uses should really occur along the eh edge, but there is +- no convenient way to do this. Artificial edges that occur at the ++ no convenient way to do this. Artificial defs that occur at the + beginning of the block have the DF_REF_AT_TOP flag set. + + Artificial uses occur at the end of all blocks. These arise from +--- a/src/gcc/dse.c ++++ b/src/gcc/dse.c +@@ -2515,10 +2515,13 @@ scan_insn (bb_info_t bb_info, rtx_insn *insn) + clear_rhs_from_active_local_stores (); + } + } +- else if (SIBLING_CALL_P (insn) && reload_completed) ++ else if (SIBLING_CALL_P (insn) ++ && (reload_completed || HARD_FRAME_POINTER_IS_ARG_POINTER)) + /* Arguments for a sibling call that are pushed to memory are passed + using the incoming argument pointer of the current function. After +- reload that might be (and likely is) frame pointer based. */ ++ reload that might be (and likely is) frame pointer based. And, if ++ it is a frame pointer on the target, even before reload we need to ++ kill frame pointer based stores. */ + add_wild_read (bb_info); + else + /* Every other call, including pure functions, may read any memory +--- a/src/gcc/dwarf2cfi.c ++++ b/src/gcc/dwarf2cfi.c +@@ -1762,7 +1762,7 @@ dwarf2out_frame_debug_expr (rtx expr) + + /* Rule 6 */ + case CONST_INT: +- case POLY_INT_CST: ++ case CONST_POLY_INT: + cur_trace->cfa_temp.reg = dwf_regno (dest); + cur_trace->cfa_temp.offset = rtx_to_poly_int64 (src); + break; +--- a/src/gcc/dwarf2out.c ++++ b/src/gcc/dwarf2out.c +@@ -2875,9 +2875,13 @@ const struct gcc_debug_hooks dwarf2_lineno_debug_hooks = + 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_abbrevs (unsigned long, dw_die_ref); + 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); +@@ -9339,7 +9343,6 @@ size_of_die (dw_die_ref die) + } + break; + case dw_val_class_loc_list: +- case dw_val_class_view_list: + if (dwarf_split_debug_info && dwarf_version >= 5) + { + gcc_assert (AT_loc_list (a)->num_assigned); +@@ -9348,6 +9351,9 @@ size_of_die (dw_die_ref die) + else + size += DWARF_OFFSET_SIZE; + break; ++ case dw_val_class_view_list: ++ size += DWARF_OFFSET_SIZE; ++ break; + case dw_val_class_range_list: + if (value_format (a) == DW_FORM_rnglistx) + { +@@ -9425,7 +9431,7 @@ size_of_die (dw_die_ref die) + 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; +@@ -9721,12 +9727,12 @@ value_format (dw_attr_node *a) + gcc_unreachable (); + } + case dw_val_class_loc_list: +- case dw_val_class_view_list: + if (dwarf_split_debug_info + && dwarf_version >= 5 + && AT_loc_list (a)->num_assigned) + return DW_FORM_loclistx; + /* FALLTHRU */ ++ case dw_val_class_view_list: + case dw_val_class_range_list: + /* For range lists in DWARF 5, use DW_FORM_rnglistx from .debug_info.dwo + but in .debug_info use DW_FORM_sec_offset, which is shorter if we +@@ -9869,7 +9875,12 @@ value_format (dw_attr_node *a) + 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 +11228,8 @@ output_skeleton_debug_sections (dw_die_ref comp_unit, + /* 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 +11256,16 @@ output_comdat_type_unit (comdat_type_node *node) + 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."); +@@ -17879,6 +17893,8 @@ resolve_args_picking_1 (dw_loc_descr_ref loc, unsigned initial_frame_offset, + case DW_OP_push_object_address: + case DW_OP_call_frame_cfa: + case DW_OP_GNU_variable_value: ++ case DW_OP_GNU_addr_index: ++ case DW_OP_GNU_const_index: + ++frame_offset_; + break; + +@@ -19661,6 +19677,9 @@ add_const_value_attribute (dw_die_ref die, rtx rtl) + + case HIGH: + case CONST_FIXED: ++ case MINUS: ++ case SIGN_EXTEND: ++ case ZERO_EXTEND: + return false; + + case MEM: +@@ -22202,19 +22221,18 @@ gen_formal_parameter_die (tree node, tree origin, bool emit_name_p, + /* If the contexts differ, we may not be talking about the same + thing. + ??? When in LTO the DIE parent is the "abstract" copy and the +- context_die is the specification "copy". But this whole block +- should eventually be no longer needed. */ +- if (parm_die && parm_die->die_parent != context_die && !in_lto_p) ++ context_die is the specification "copy". */ ++ if (parm_die ++ && parm_die->die_parent != context_die ++ && (parm_die->die_parent->die_tag != DW_TAG_GNU_formal_parameter_pack ++ || parm_die->die_parent->die_parent != context_die) ++ && !in_lto_p) + { +- if (!DECL_ABSTRACT_P (node)) +- { +- /* This can happen when creating an inlined instance, in +- which case we need to create a new DIE that will get +- annotated with DW_AT_abstract_origin. */ +- parm_die = NULL; +- } +- else +- gcc_unreachable (); ++ gcc_assert (!DECL_ABSTRACT_P (node)); ++ /* This can happen when creating a concrete instance, in ++ which case we need to create a new DIE that will get ++ annotated with DW_AT_abstract_origin. */ ++ parm_die = NULL; + } + + if (parm_die && parm_die->die_parent == NULL) +@@ -26573,16 +26591,12 @@ dwarf2out_late_global_decl (tree decl) + { + dw_die_ref die = lookup_decl_die (decl); + +- /* We may have to generate early debug late for LTO in case debug ++ /* We may have to generate full debug late for LTO in case debug + was not enabled at compile-time or the target doesn't support + the LTO early debug scheme. */ + if (! die && in_lto_p) +- { +- dwarf2out_decl (decl); +- die = lookup_decl_die (decl); +- } +- +- if (die) ++ dwarf2out_decl (decl); ++ else if (die) + { + /* We get called via the symtab code invoking late_global_decl + for symbols that are optimized out. +@@ -26985,6 +26999,9 @@ lookup_filename (const char *file_name) + if (!file_name) + return NULL; + ++ if (!file_name[0]) ++ file_name = ""; ++ + dwarf_file_data **slot + = file_table->find_slot_with_hash (file_name, htab_hash_string (file_name), + INSERT); +@@ -29410,9 +29427,9 @@ prune_unused_types (void) + for (i = 0; base_types.iterate (i, &base_type); i++) + prune_unused_types_mark (base_type, 1); + +- /* For -fvar-tracking-assignments, also set the mark on nodes that could be +- referenced by DW_TAG_call_site DW_AT_call_origin (i.e. direct call +- callees). */ ++ /* Also set the mark on nodes that could be referenced by ++ DW_TAG_call_site DW_AT_call_origin (i.e. direct call callees) or ++ by DW_TAG_inlined_subroutine origins. */ + cgraph_node *cnode; + FOR_EACH_FUNCTION (cnode) + if (cnode->referred_to_p (false)) +@@ -29421,8 +29438,7 @@ prune_unused_types (void) + if (die == NULL || die->die_mark) + continue; + for (cgraph_edge *e = cnode->callers; e; e = e->next_caller) +- if (e->caller != cnode +- && opt_for_fn (e->caller->decl, flag_var_tracking_assignments)) ++ if (e->caller != cnode) + { + prune_unused_types_mark (die, 1); + break; +@@ -31398,7 +31414,7 @@ dwarf2out_finish (const char *) + ? dl_section_ref + : debug_skeleton_line_section_label)); + +- output_comdat_type_unit (ctnode); ++ output_comdat_type_unit (ctnode, false); + *slot = ctnode; + } + +@@ -32039,7 +32055,7 @@ dwarf2out_early_finish (const char *filename) + ? debug_line_section_label + : debug_skeleton_line_section_label)); + +- output_comdat_type_unit (ctnode); ++ output_comdat_type_unit (ctnode, true); + *slot = ctnode; + } + +--- a/src/gcc/emit-rtl.c ++++ b/src/gcc/emit-rtl.c +@@ -3940,6 +3940,7 @@ try_split (rtx pat, rtx_insn *trial, int last) + break; + + case REG_NON_LOCAL_GOTO: ++ case REG_LABEL_TARGET: + for (insn = insn_last; insn != NULL_RTX; insn = PREV_INSN (insn)) + { + if (JUMP_P (insn)) +--- a/src/gcc/explow.c ++++ b/src/gcc/explow.c +@@ -893,16 +893,7 @@ promote_ssa_mode (const_tree name, int *punsignedp) + + tree type = TREE_TYPE (name); + int unsignedp = TYPE_UNSIGNED (type); +- machine_mode mode = TYPE_MODE (type); +- +- /* Bypass TYPE_MODE when it maps vector modes to BLKmode. */ +- if (mode == BLKmode) +- { +- gcc_assert (VECTOR_TYPE_P (type)); +- mode = type->type_common.mode; +- } +- +- machine_mode pmode = promote_mode (type, mode, &unsignedp); ++ machine_mode pmode = promote_mode (type, TYPE_MODE (type), &unsignedp); + if (punsignedp) + *punsignedp = unsignedp; + +--- a/src/gcc/expmed.c ++++ b/src/gcc/expmed.c +@@ -838,6 +838,27 @@ store_bit_field_1 (rtx str_rtx, poly_uint64 bitsize, poly_uint64 bitnum, + if (MEM_P (op0)) + op0 = adjust_bitfield_address_size (op0, op0_mode.else_blk (), + 0, MEM_SIZE (op0)); ++ else if (!op0_mode.exists ()) ++ { ++ if (ibitnum == 0 ++ && known_eq (ibitsize, GET_MODE_BITSIZE (GET_MODE (op0))) ++ && MEM_P (value) ++ && !reverse) ++ { ++ value = adjust_address (value, GET_MODE (op0), 0); ++ emit_move_insn (op0, value); ++ return true; ++ } ++ if (!fallback_p) ++ return false; ++ rtx temp = assign_stack_temp (GET_MODE (op0), ++ GET_MODE_SIZE (GET_MODE (op0))); ++ emit_move_insn (temp, op0); ++ store_bit_field_1 (temp, bitsize, bitnum, 0, 0, fieldmode, value, ++ reverse, fallback_p); ++ emit_move_insn (op0, temp); ++ return true; ++ } + else + op0 = gen_lowpart (op0_mode.require (), op0); + } +@@ -3352,13 +3373,20 @@ expand_mult_const (machine_mode mode, rtx op0, HOST_WIDE_INT val, + tem = gen_lowpart (nmode, op0); + } + +- insn = get_last_insn (); +- wide_int wval_so_far +- = wi::uhwi (val_so_far, +- GET_MODE_PRECISION (as_a (nmode))); +- rtx c = immed_wide_int_const (wval_so_far, nmode); +- set_dst_reg_note (insn, REG_EQUAL, gen_rtx_MULT (nmode, tem, c), +- accum_inner); ++ /* Don't add a REG_EQUAL note if tem is a paradoxical SUBREG. ++ In that case, only the low bits of accum would be guaranteed to ++ be equal to the content of the REG_EQUAL note, the upper bits ++ can be anything. */ ++ if (!paradoxical_subreg_p (tem)) ++ { ++ insn = get_last_insn (); ++ wide_int wval_so_far ++ = wi::uhwi (val_so_far, ++ GET_MODE_PRECISION (as_a (nmode))); ++ rtx c = immed_wide_int_const (wval_so_far, nmode); ++ set_dst_reg_note (insn, REG_EQUAL, gen_rtx_MULT (nmode, tem, c), ++ accum_inner); ++ } + } + } + +--- a/src/gcc/expr.c ++++ b/src/gcc/expr.c +@@ -5187,9 +5187,13 @@ expand_assignment (tree to, tree from, bool nontemporal) + } + 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), +@@ -5258,6 +5262,7 @@ expand_assignment (tree to, tree from, bool nontemporal) + MEM_VOLATILE_P (to_rtx) = 1; + } + ++ gcc_checking_assert (known_ge (bitpos, 0)); + if (optimize_bitfield_assignment_op (bitsize, bitpos, + bitregion_start, bitregion_end, + mode1, to_rtx, to, from, +@@ -7115,6 +7120,7 @@ store_field (rtx target, poly_int64 bitsize, poly_int64 bitpos, + } + + /* Store the value in the bitfield. */ ++ gcc_assert (known_ge (bitpos, 0)); + store_bit_field (target, bitsize, bitpos, + bitregion_start, bitregion_end, + mode, temp, reverse); +@@ -10658,6 +10664,14 @@ expand_expr_real_1 (tree exp, rtx target, machine_mode tmode, + mode2 + = CONSTANT_P (op0) ? TYPE_MODE (TREE_TYPE (tem)) : GET_MODE (op0); + ++ /* Make sure bitpos is not negative, it can wreak havoc later. */ ++ if (maybe_lt (bitpos, 0)) ++ { ++ gcc_checking_assert (offset == NULL_TREE); ++ offset = size_int (bits_to_bytes_round_down (bitpos)); ++ bitpos = num_trailing_bits (bitpos); ++ } ++ + /* If we have either an offset, a BLKmode result, or a reference + outside the underlying object, we must force it to memory. + Such a case can occur in Ada if we have unchecked conversion +@@ -10906,6 +10920,7 @@ expand_expr_real_1 (tree exp, rtx target, machine_mode tmode, + && GET_MODE_CLASS (ext_mode) == MODE_INT) + reversep = TYPE_REVERSE_STORAGE_ORDER (type); + ++ gcc_checking_assert (known_ge (bitpos, 0)); + op0 = extract_bit_field (op0, bitsize, bitpos, unsignedp, + (modifier == EXPAND_STACK_PARM + ? NULL_RTX : target), +--- a/src/gcc/fold-const.c ++++ b/src/gcc/fold-const.c +@@ -3179,10 +3179,16 @@ operand_equal_p (const_tree arg0, const_tree arg1, unsigned int flags) + switch (TREE_CODE (arg0)) + { + case INDIRECT_REF: +- if (!(flags & OEP_ADDRESS_OF) +- && (TYPE_ALIGN (TREE_TYPE (arg0)) +- != TYPE_ALIGN (TREE_TYPE (arg1)))) +- return 0; ++ if (!(flags & OEP_ADDRESS_OF)) ++ { ++ if (TYPE_ALIGN (TREE_TYPE (arg0)) ++ != TYPE_ALIGN (TREE_TYPE (arg1))) ++ return 0; ++ /* Verify that the access types are compatible. */ ++ if (TYPE_MAIN_VARIANT (TREE_TYPE (arg0)) ++ != TYPE_MAIN_VARIANT (TREE_TYPE (arg1))) ++ return 0; ++ } + flags &= ~OEP_ADDRESS_OF; + return OP_SAME (0); + +@@ -4239,7 +4245,7 @@ decode_field_reference (location_t loc, tree *exp_, HOST_WIDE_INT *pbitsize, + There are problems with FP fields since the type_for_size call + below can fail for, e.g., XFmode. */ + if (! INTEGRAL_TYPE_P (TREE_TYPE (exp))) +- return 0; ++ return NULL_TREE; + + /* We are interested in the bare arrangement of bits, so strip everything + that doesn't affect the machine mode. However, record the type of the +@@ -4255,7 +4261,7 @@ decode_field_reference (location_t loc, tree *exp_, HOST_WIDE_INT *pbitsize, + exp = TREE_OPERAND (exp, 0); + STRIP_NOPS (exp); STRIP_NOPS (and_mask); + if (TREE_CODE (and_mask) != INTEGER_CST) +- return 0; ++ return NULL_TREE; + } + + poly_int64 poly_bitsize, poly_bitpos; +@@ -4271,7 +4277,11 @@ decode_field_reference (location_t loc, tree *exp_, HOST_WIDE_INT *pbitsize, + || (! AGGREGATE_TYPE_P (TREE_TYPE (inner)) + && compare_tree_int (TYPE_SIZE (TREE_TYPE (inner)), + *pbitpos + *pbitsize) < 0)) +- return 0; ++ return NULL_TREE; ++ ++ unsigned_type = lang_hooks.types.type_for_size (*pbitsize, 1); ++ if (unsigned_type == NULL_TREE) ++ return NULL_TREE; + + *exp_ = exp; + +@@ -4282,7 +4292,6 @@ decode_field_reference (location_t loc, tree *exp_, HOST_WIDE_INT *pbitsize, + *punsignedp = TYPE_UNSIGNED (outer_type); + + /* Compute the mask to access the bitfield. */ +- unsigned_type = lang_hooks.types.type_for_size (*pbitsize, 1); + precision = TYPE_PRECISION (unsigned_type); + + mask = build_int_cst_type (unsigned_type, -1); +@@ -5515,12 +5524,15 @@ fold_range_test (location_t loc, enum tree_code code, tree type, + /* 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 +8177,11 @@ fold_truth_andor (location_t loc, enum tree_code code, tree type, + 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 +@@ -13994,13 +14010,13 @@ fold_relational_const (enum tree_code code, tree type, tree op0, tree op1) + { + tree elem0 = VECTOR_CST_ELT (op0, i); + tree elem1 = VECTOR_CST_ELT (op1, i); +- tree tmp = fold_relational_const (code, type, elem0, elem1); ++ tree tmp = fold_relational_const (EQ_EXPR, type, elem0, elem1); + if (tmp == NULL_TREE) + return NULL_TREE; + if (integer_zerop (tmp)) +- return constant_boolean_node (false, type); ++ return constant_boolean_node (code == NE_EXPR, type); + } +- return constant_boolean_node (true, type); ++ return constant_boolean_node (code == EQ_EXPR, type); + } + tree_vector_builder elts; + if (!elts.new_binary_operation (type, op0, op1, false)) +@@ -14671,6 +14687,7 @@ test_vector_folding () + tree type = build_vector_type (inner_type, 4); + tree zero = build_zero_cst (type); + tree one = build_one_cst (type); ++ tree index = build_index_vector (type, 0, 1); + + /* Verify equality tests that return a scalar boolean result. */ + tree res_type = boolean_type_node; +@@ -14678,6 +14695,13 @@ test_vector_folding () + ASSERT_TRUE (integer_nonzerop (fold_build2 (EQ_EXPR, res_type, zero, zero))); + ASSERT_TRUE (integer_nonzerop (fold_build2 (NE_EXPR, res_type, zero, one))); + ASSERT_FALSE (integer_nonzerop (fold_build2 (NE_EXPR, res_type, one, one))); ++ ASSERT_TRUE (integer_nonzerop (fold_build2 (NE_EXPR, res_type, index, one))); ++ ASSERT_FALSE (integer_nonzerop (fold_build2 (EQ_EXPR, res_type, ++ index, one))); ++ ASSERT_FALSE (integer_nonzerop (fold_build2 (NE_EXPR, res_type, ++ index, index))); ++ ASSERT_TRUE (integer_nonzerop (fold_build2 (EQ_EXPR, res_type, ++ index, index))); + } + + /* Verify folding of VEC_DUPLICATE_EXPRs. */ +--- a/src/gcc/fortran/ChangeLog ++++ b/src/gcc/fortran/ChangeLog +@@ -1,3 +1,511 @@ ++2020-02-14 Jakub Jelinek ++ ++ Backported from mainline ++ 2020-01-29 Jakub Jelinek ++ ++ PR fortran/93463 ++ * openmp.c (oacc_code_to_statement): Handle ++ EXEC_OACC_{ROUTINE,UPDATE,WAIT,CACHE,{ENTER,EXIT}_DATA,DECLARE}. ++ ++ 2020-01-22 Jakub Jelinek ++ ++ * parse.c (parse_omp_structured_block): Handle ST_OMP_TARGET_PARALLEL. ++ * trans-openmp.c (gfc_trans_omp_target) ++ : Call pushlevel first. ++ ++ PR fortran/93329 ++ * openmp.c (omp_code_to_statement): Handle remaining EXEC_OMP_* ++ cases. ++ ++ 2019-12-19 Jakub Jelinek ++ ++ PR fortran/92977 ++ * frontend-passes.c (in_omp_atomic): New variable. ++ (cfe_expr_0, matmul_to_var_expr, matmul_temp_args, ++ inline_matmul_assign): Don't optimize in EXEC_OMP_ATOMIC. ++ (optimize_namespace): Clear in_omp_atomic. ++ (gfc_code_walker): Set in_omp_atomic for EXEC_OMP_ATOMIC, save/restore ++ it around. ++ ++ 2019-12-11 Jakub Jelinek ++ ++ PR fortran/92899 ++ * trans-openmp.c (gfc_trans_omp_atomic): For GFC_OMP_ATOMIC_SWAP, ++ do look through conversion on expr2 if any. ++ ++ 2019-12-05 Jakub Jelinek ++ ++ PR fortran/92781 ++ * trans-decl.c (gfc_get_symbol_decl): If sym->backend_decl is ++ current_function_decl, add length to current rather than parent ++ function and expect DECL_CONTEXT (length) to be current_function_decl. ++ ++ 2019-11-27 Jakub Jelinek ++ ++ PR fortran/91944 ++ * simplify.c (gfc_simplify_spread): Check gfc_init_expr_flag instead ++ of gfc_current_ns->sym_root->n.sym->attr.flavor == FL_PARAMETER. ++ ++2020-02-03 Tobias Burnus ++ ++ Backported from mainline ++ 2020-02-03 Tobias Burnus ++ ++ PR fortran/93541 ++ * intrinisic.texi (OpenMP Modules OMP_LIB and OMP_LIB_KINDS): ++ Add undocumented parameters from omp_lib.f90.in. ++ ++2020-01-10 Tobias Burnus ++ ++ Backported from mainline ++ 2020-01-09 Tobias Burnus ++ ++ PR fortran/84135 ++ * array.c (gfc_set_array_spec): Fix shifting of codimensions ++ when adding a dimension. ++ * decl.c (merge_array_spec): Ditto. Fix using correct codimensions. ++ ++2019-12-30 Thomas Koenig ++ ++ Backport from trunk ++ PR fortran/92961 ++ * gfortran.h (gfc_seen_div0): Add declaration. ++ * arith.h (gfc_seen_div0): Add definition. ++ (eval_intrinsic): For integer division by zero, set gfc_seen_div0. ++ * decl.c (variable_decl): If resolution resp. simplification ++ fails for array spec and a division of zero error has been ++ seen, return MATCH_ERROR. ++ ++2019-11-29 Harald Anlauf ++ ++ Backport from mainline ++ PR fortran/92629 ++ * simplify.c (convert_mpz_to_unsigned): Skip assert for argument ++ range when -fno-range-check is specified. ++ ++2019-11-10 Thomas Koenig ++ ++ Backport from trunk ++ PR fortran/92113 ++ * trans-decl.c (gfc_get_symbol_decl): If __def_init actually ++ contains a value, put it into the read-only section. ++ ++2019-10-27 Paul Thomas ++ ++ Backport from mainline ++ PR fortran/86248 ++ * resolve.c (flag_fn_result_spec): Correct a typo before the ++ function declaration. ++ * trans-decl.c (gfc_sym_identifier): Boost the length of 'name' ++ to allow for all variants. Simplify the code by using a pointer ++ to the symbol's proc_name and taking the return out of each of ++ the conditional branches. Allow symbols with fn_result_spec set ++ that do not come from a procedure namespace and have a module ++ name to go through the non-fn_result_spec branch. ++ ++2019-10-18 Steven G. Kargl ++ ++ PR fortran/69455 ++ * trans-decl.c (generate_local_decl): Avoid misconstructed ++ intrinsic modules in a BLOCK construct. ++ ++2019-10-07 Thomas Koenig ++ ++ Backport from trunk ++ PR fortran/84487 ++ * trans-decl.c (gfc_get_symbol_decl): For __def_init, set ++ DECL_ARTIFICAL and do not set TREE_READONLY. ++ ++2019-09-28 Paul Thomas ++ ++ Backport from mainline ++ PR fortran/91588 ++ * expr.c (check_inquiry): Remove extended component refs by ++ using symbol pointers. If a function argument is an associate ++ variable with a constant target, copy the target expression in ++ place of the argument expression. Check that the charlen is not ++ NULL before using the string length. ++ ++2019-09-18 Thomas Koenig ++ ++ Backport from trunk ++ PR fortran/91550 ++ * frontend-passes.c (do_subscript): If step equals ++ zero, a previuos error has been reported; do nothing ++ in this case. ++ * resolve.c (gfc_resolve_iterator): Move error checking ++ after type conversion. ++ ++2019-09-15 Thomas Koenig ++ ++ Backport from trunk ++ PR fortran/91557 ++ * trans-decl.c (generate_local_decl): Do not warn if the symbol ++ is artificial. ++ * trans-types.c (get_formal_from_actual_arglist): Set artificial ++ attribute on dummy arguments. ++ ++2013-08-13 Thomas Koenig ++ ++ Backport from trunk ++ PR fortran/90563 ++ * frontend-passes.c (insert_index): Suppress errors while ++ simplifying the resulting expression. ++ ++2019-08-02 Thomas Koenig ++ Paul Thomas ++ ++ Backport from trunk ++ PR fortran/90786 ++ PR fortran/90813 ++ * trans-expr.c (pointer_assignment_is_proc_pointer) Remove as ++ it is very simple and only called from one place. ++ (gfc_trans_pointer_assignment): Rename non_proc_pointer_assign ++ as non_proc_ptr_assign. Assign to it directly, rather than call ++ to above, deleted function and use gfc_expr_attr instead of ++ only checking the reference chain. ++ * trans-decl.c (sym_identifier): New function. ++ (mangled_identifier): New function, doing most of the work ++ of gfc_sym_mangled_identifier. ++ (gfc_sym_mangled_identifier): Use mangled_identifier. Add mangled ++ identifier to global symbol table. ++ (get_proc_pointer_decl): Use backend decl from global identifier ++ if present. ++ ++2019-07-07 Paul Thomas ++ ++ Backport from trunk ++ PR fortran/91077 ++ * trans-array.c (gfc_conv_scalarized_array_ref) Delete code ++ that gave symbol backend decl for subref arrays. ++ ++2019-06-21 Thomas Koenig ++ ++ Backport from trunk ++ PR fortran/90937 ++ * trans-types.c (get_formal_from_actual_arglist): Get symbol from ++ current namespace so it will be freed later. If symbol is of type ++ character, get an empty character length. ++ ++2019-06-12 Thomas Koenig ++ Tomáš Trnka ++ ++ Backport from trunk ++ PR fortran/90744 ++ * trans-types.c (get_formal_from_actual_arglist): Unset typespec ++ flags which make no sense for procedures without explicit ++ interface. ++ ++2019-06-10 Paul Thomas ++ ++ Backport from trunk ++ PR fortran/90498 ++ * trans-stmt.c (trans_associate_var) Do not use the saved ++ descriptor if the expression is a COMPONENT_REF. ++ ++2019-06-09 Paul Thomas ++ ++ Backport from trunk ++ PR fortran/57284 ++ * resolve.c (find_array_spec): If this is a class expression ++ and the symbol and component array specs are the same, this is ++ not an error. ++ *trans-intrinsic.c (gfc_conv_intrinsic_size): If a class symbol ++ argument, has no namespace, it has come from the interface ++ mapping and the _data component must be accessed directly. ++ ++2019-05-30 Marek Polacek ++ ++ * lang.opt (ftail-call-workaround): Fix a typo. ++ ++2019-05-30 Jakub Jelinek ++ ++ * lang.opt (ftail-call-workaround=): Fix a typo - lenghts to lengths. ++ ++2019-05-29 Jakub Jelinek ++ ++ PR fortran/90329 ++ Backported from mainline ++ 2019-05-29 Jakub Jelinek ++ ++ PR fortran/90329 ++ * lang.opt (fbroken-callers): Remove. ++ (ftail-call-workaround, ftail-call-workaround=): New options. ++ * gfortran.h (struct gfc_namespace): Add implicit_interface_calls. ++ * interface.c (gfc_procedure_use): Set implicit_interface_calls ++ for calls to implicit interface procedures. ++ * trans-decl.c (create_function_arglist): Use flag_tail_call_workaround ++ instead of flag_broken_callers. If it is not 2, also require ++ sym->ns->implicit_interface_calls. ++ * invoke.texi (fbroken-callers): Remove documentation. ++ (ftail-call-workaround, ftail-call-workaround=): Document. ++ ++ 2019-05-19 Thomas Koenig ++ ++ PR fortran/90329 ++ * invoke.texi: Document -fbroken-callers. ++ * lang.opt: Add -fbroken-callers. ++ * trans-decl.c (create_function_arglist): Only set ++ DECL_HIDDEN_STRING_LENGTH if flag_broken_callers is set. ++ ++ 2019-05-16 Jakub Jelinek ++ ++ PR fortran/90329 ++ * trans-decl.c (create_function_arglist): Set ++ DECL_HIDDEN_STRING_LENGTH on hidden string length PARM_DECLs if ++ len is constant. ++ ++2019-04-30 Jakub Jelinek ++ ++ Backported from mainline ++ 2019-03-11 Jakub Jelinek ++ ++ PR fortran/89651 ++ * trans-openmp.c (gfc_omp_clause_default_ctor): Set TREE_NO_WARNING ++ on decl if adding COND_EXPR for allocatable. ++ (gfc_omp_clause_copy_ctor): Set TREE_NO_WARNING on dest. ++ ++2019-04-24 Paul Thomas ++ ++ Backport from mainline ++ PR fortran/87127 ++ * resolve.c (check_host_association): If an external function ++ is typed but not declared explicitly to be external, change the ++ old symbol from a variable to an external function. ++ ++2019-04-14 Thomas Koenig ++ ++ Backport from trunk ++ PR fortran/87352 ++ * gfortran.h (gfc_component): Add finalized field. ++ * class.c (finalize_component): If the component is already ++ finalized, return early. Set component->finalized on exit. ++ ++2019-04-14 Thomas Koenig ++ ++ Backport from trunk ++ PR fortran/89981 ++ * resolve.c (resolve_global_procedure): If the global symbol is an ++ ENTRY, also look up its name among the entries. ++ ++2019-04-10 Harald Anlauf ++ ++ Backport from trunk ++ PR fortran/89904 ++ * check.c (gfc_check_transfer): Reject procedures as actual ++ arguments for SOURCE and MOLD of TRANSFER intrinsic. ++ ++2019-03-31 Harald Anlauf ++ ++ PR fortran/83515 ++ PR fortran/85797 ++ * trans-types.c (gfc_typenode_for_spec): Handle conversion for ++ procedure pointers. ++ * target-memory.c (gfc_element_size): Handle size determination ++ for procedure pointers. ++ ++2019-03-30 Thomas Koenig ++ ++ PR fortran/78865 ++ Backport from trunk ++ * interface.c (compare_actual_formal): Change errors about ++ missing or extra to gfc_error_now to make sure they are issued. ++ Change "spec" to "specifier" in message. ++ * resolve.c (resolve_global_procedure): Also check for mismatching ++ interface with global symbols if the namespace has already been ++ resolved. ++ ++2019-03-24 Janus Weil ++ ++ PR fortran/71861 ++ Backport from trunk ++ * symbol.c (check_conflict): ABSTRACT attribute conflicts with ++ INTRINSIC attribute. ++ ++2019-03-23 Thomas Koenig ++ ++ 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 ++ ++ 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 ++ ++ 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 ++ ++ 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 ++ ++ 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 ++ ++ 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 ++ Steven G. Kargl ++ ++ 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 ++ ++ Backport from trunk ++ PR fortran/71203 ++ * expr.c (simplify_const_ref): Avoid null pointer dereference. ++ ++2019-03-06 Thomas Koenig ++ ++ PR fortran/72714 ++ Backport from trunk ++ * resolve.c (resolve_allocate_expr): Add some tests for coarrays. ++ ++2019-03-03 Harald Anlauf ++ ++ 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 ++ Steven G. Kargl ++ ++ 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 ++ ++ 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 ++ ++ 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 ++ ++ 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 ++ ++ 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 ++ ++ 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 ++ ++ 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 ++ ++ 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. +--- a/src/gcc/fortran/arith.c ++++ b/src/gcc/fortran/arith.c +@@ -32,6 +32,8 @@ along with GCC; see the file COPYING3. If not see + #include "target-memory.h" + #include "constructor.h" + ++bool gfc_seen_div0; ++ + /* MPFR does not have a direct replacement for mpz_set_f() from GMP. + It's easily implemented with a few calls though. */ + +@@ -1615,6 +1617,10 @@ eval_intrinsic (gfc_intrinsic_op op, + gfc_error (gfc_arith_error (rc), &op1->where); + if (rc == ARITH_OVERFLOW) + goto done; ++ ++ if (rc == ARITH_DIV0 && op2->ts.type == BT_INTEGER) ++ gfc_seen_div0 = true; ++ + return NULL; + } + +@@ -2548,10 +2554,10 @@ gfc_character2character (gfc_expr *src, int kind) + 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) + { +--- a/src/gcc/fortran/array.c ++++ b/src/gcc/fortran/array.c +@@ -849,7 +849,7 @@ gfc_set_array_spec (gfc_symbol *sym, gfc_array_spec *as, locus *error_loc) + sym->as->cray_pointee = as->cray_pointee; + sym->as->cp_was_assumed = as->cp_was_assumed; + +- for (i = 0; i < sym->as->corank; i++) ++ for (i = sym->as->corank - 1; i >= 0; i--) + { + sym->as->lower[as->rank + i] = sym->as->lower[i]; + sym->as->upper[as->rank + i] = sym->as->upper[i]; +--- a/src/gcc/fortran/check.c ++++ b/src/gcc/fortran/check.c +@@ -5413,16 +5413,41 @@ gfc_calculate_transfer_sizes (gfc_expr *source, gfc_expr *mold, gfc_expr *size, + 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 ("% argument of % intrinsic at %L is an " ++ "array and shall not have storage size 0 when % " ++ "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; + +@@ -5452,6 +5477,26 @@ gfc_check_transfer (gfc_expr *source, gfc_expr *mold, gfc_expr *size) + size_t source_size; + size_t result_size; + ++ /* SOURCE shall be a scalar or array of any type. */ ++ if (source->ts.type == BT_PROCEDURE ++ && source->symtree->n.sym->attr.subroutine == 1) ++ { ++ gfc_error ("% argument of % intrinsic at %L " ++ "must not be a %s", &source->where, ++ gfc_basic_typename (source->ts.type)); ++ return false; ++ } ++ ++ /* MOLD shall be a scalar or array of any type. */ ++ if (mold->ts.type == BT_PROCEDURE ++ && mold->symtree->n.sym->attr.subroutine == 1) ++ { ++ gfc_error ("% argument of % intrinsic at %L " ++ "must not be a %s", &mold->where, ++ gfc_basic_typename (mold->ts.type)); ++ return false; ++ } ++ + if (mold->ts.type == BT_HOLLERITH) + { + gfc_error ("% argument of % intrinsic at %L must not be" +@@ -5459,6 +5504,8 @@ gfc_check_transfer (gfc_expr *source, gfc_expr *mold, gfc_expr *size) + return false; + } + ++ /* SIZE (optional) shall be an integer scalar. The corresponding actual ++ argument shall not be an optional dummy argument. */ + if (size != NULL) + { + if (!type_check (size, 2, BT_INTEGER)) +--- a/src/gcc/fortran/class.c ++++ b/src/gcc/fortran/class.c +@@ -561,7 +561,7 @@ gfc_intrinsic_hash_value (gfc_typespec *ts) + 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 @@ gfc_get_len_component (gfc_expr *e) + } + /* 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; + } + +@@ -899,6 +907,9 @@ finalize_component (gfc_expr *expr, gfc_symbol *derived, gfc_component *comp, + if (!comp_is_finalizable (comp)) + return; + ++ if (comp->finalized) ++ return; ++ + e = gfc_copy_expr (expr); + if (!e->ref) + e->ref = ref = gfc_get_ref (); +@@ -1026,6 +1037,7 @@ finalize_component (gfc_expr *expr, gfc_symbol *derived, gfc_component *comp, + sub_ns); + gfc_free_expr (e); + } ++ comp->finalized = true; + } + + +@@ -2661,6 +2673,7 @@ find_intrinsic_vtab (gfc_typespec *ts) + 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 +2708,13 @@ find_intrinsic_vtab (gfc_typespec *ts) + 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. */ +--- a/src/gcc/fortran/decl.c ++++ b/src/gcc/fortran/decl.c +@@ -838,8 +838,6 @@ done: + static bool + merge_array_spec (gfc_array_spec *from, gfc_array_spec *to, bool copy) + { +- int i, j; +- + if ((from->type == AS_ASSUMED_RANK && to->corank) + || (to->type == AS_ASSUMED_RANK && from->corank)) + { +@@ -854,18 +852,18 @@ merge_array_spec (gfc_array_spec *from, gfc_array_spec *to, bool copy) + to->cray_pointee = from->cray_pointee; + to->cp_was_assumed = from->cp_was_assumed; + +- for (i = 0; i < to->corank; i++) ++ for (int i = to->corank - 1; i >= 0; i--) + { + /* Do not exceed the limits on lower[] and upper[]. gfortran + cleans up elsewhere. */ +- j = from->rank + i; ++ int j = from->rank + i; + if (j >= GFC_MAX_DIMENSIONS) + break; + + to->lower[j] = to->lower[i]; + to->upper[j] = to->upper[i]; + } +- for (i = 0; i < from->rank; i++) ++ for (int i = 0; i < from->rank; i++) + { + if (copy) + { +@@ -884,23 +882,24 @@ merge_array_spec (gfc_array_spec *from, gfc_array_spec *to, bool copy) + to->corank = from->corank; + to->cotype = from->cotype; + +- for (i = 0; i < from->corank; i++) ++ for (int i = 0; i < from->corank; i++) + { + /* Do not exceed the limits on lower[] and upper[]. gfortran + cleans up elsewhere. */ +- j = to->rank + i; ++ int k = from->rank + i; ++ int j = to->rank + i; + if (j >= GFC_MAX_DIMENSIONS) + break; + + if (copy) + { +- to->lower[j] = gfc_copy_expr (from->lower[i]); +- to->upper[j] = gfc_copy_expr (from->upper[i]); ++ to->lower[j] = gfc_copy_expr (from->lower[k]); ++ to->upper[j] = gfc_copy_expr (from->upper[k]); + } + else + { +- to->lower[j] = from->lower[i]; +- to->upper[j] = from->upper[i]; ++ to->lower[j] = from->lower[k]; ++ to->upper[j] = from->upper[k]; + } + } + } +@@ -1678,6 +1677,14 @@ gfc_set_constant_character_len (gfc_charlen_t len, gfc_expr *expr, + 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; ++ } + } + } + +@@ -2415,6 +2422,8 @@ variable_decl (int elem) + goto cleanup; + } + ++ gfc_seen_div0 = false; ++ + /* F2018:C830 (R816) An explicit-shape-spec whose bounds are not + constant expressions shall appear only in a subprogram, derived + type definition, BLOCK construct, or interface body. */ +@@ -2431,7 +2440,12 @@ variable_decl (int elem) + for (int i = 0; i < as->rank; i++) + { + e = gfc_copy_expr (as->lower[i]); +- gfc_resolve_expr (e); ++ if (!gfc_resolve_expr (e) && gfc_seen_div0) ++ { ++ m = MATCH_ERROR; ++ goto cleanup; ++ } ++ + gfc_simplify_expr (e, 0); + if (e && (e->expr_type != EXPR_CONSTANT)) + { +@@ -2441,7 +2455,12 @@ variable_decl (int elem) + gfc_free_expr (e); + + e = gfc_copy_expr (as->upper[i]); +- gfc_resolve_expr (e); ++ if (!gfc_resolve_expr (e) && gfc_seen_div0) ++ { ++ m = MATCH_ERROR; ++ goto cleanup; ++ } ++ + gfc_simplify_expr (e, 0); + if (e && (e->expr_type != EXPR_CONSTANT)) + { +@@ -2467,7 +2486,12 @@ variable_decl (int elem) + if (e->expr_type != EXPR_CONSTANT) + { + n = gfc_copy_expr (e); +- gfc_simplify_expr (n, 1); ++ if (!gfc_simplify_expr (n, 1) && gfc_seen_div0) ++ { ++ m = MATCH_ERROR; ++ goto cleanup; ++ } ++ + if (n->expr_type == EXPR_CONSTANT) + gfc_replace_expr (e, n); + else +@@ -2477,7 +2501,12 @@ variable_decl (int elem) + if (e->expr_type != EXPR_CONSTANT) + { + n = gfc_copy_expr (e); +- gfc_simplify_expr (n, 1); ++ if (!gfc_simplify_expr (n, 1) && gfc_seen_div0) ++ { ++ m = MATCH_ERROR; ++ goto cleanup; ++ } ++ + if (n->expr_type == EXPR_CONSTANT) + gfc_replace_expr (e, n); + else +@@ -2805,6 +2834,7 @@ variable_decl (int elem) + + cleanup: + /* Free stuff up and return. */ ++ gfc_seen_div0 = false; + gfc_free_expr (initializer); + gfc_free_array_spec (as); + +@@ -3891,7 +3921,6 @@ gfc_match_decl_type_spec (gfc_typespec *ts, int implicit_flag) + return MATCH_YES; + } + +- + m = gfc_match (" type ("); + matched_type = (m == MATCH_YES); + if (matched_type) +@@ -3940,7 +3969,10 @@ gfc_match_decl_type_spec (gfc_typespec *ts, int implicit_flag) + m = MATCH_YES; + + if (matched_type && m == MATCH_YES && gfc_match_char (')') != MATCH_YES) +- m = MATCH_ERROR; ++ { ++ gfc_error ("Malformed type-spec at %C"); ++ return MATCH_ERROR; ++ } + + return m; + } +@@ -3963,8 +3995,12 @@ gfc_match_decl_type_spec (gfc_typespec *ts, int implicit_flag) + && !gfc_notify_std (GFC_STD_F2008, "TYPE with " + "intrinsic-type-spec at %C")) + return MATCH_ERROR; ++ + if (matched_type && gfc_match_char (')') != MATCH_YES) +- return MATCH_ERROR; ++ { ++ gfc_error ("Malformed type-spec at %C"); ++ return MATCH_ERROR; ++ } + + ts->type = BT_REAL; + ts->kind = gfc_default_double_kind; +@@ -3994,7 +4030,10 @@ gfc_match_decl_type_spec (gfc_typespec *ts, int implicit_flag) + return MATCH_ERROR; + + if (matched_type && gfc_match_char (')') != MATCH_YES) +- return MATCH_ERROR; ++ { ++ gfc_error ("Malformed type-spec at %C"); ++ return MATCH_ERROR; ++ } + + ts->type = BT_COMPLEX; + ts->kind = gfc_default_double_kind; +@@ -4015,7 +4054,13 @@ gfc_match_decl_type_spec (gfc_typespec *ts, int implicit_flag) + if (m == MATCH_ERROR) + return m; + +- m = gfc_match_char (')'); ++ gfc_gobble_whitespace (); ++ if (gfc_peek_ascii_char () != ')') ++ { ++ gfc_error ("Malformed type-spec at %C"); ++ return MATCH_ERROR; ++ } ++ m = gfc_match_char (')'); /* Burn closing ')'. */ + } + + if (m != MATCH_YES) +@@ -7156,7 +7201,7 @@ add_global_entry (const char *name, const char *binding_label, bool sub, + 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 +7223,7 @@ add_global_entry (const char *name, const char *binding_label, bool sub, + && (!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)) + { +--- a/src/gcc/fortran/expr.c ++++ b/src/gcc/fortran/expr.c +@@ -1784,8 +1784,14 @@ simplify_const_ref (gfc_expr *p) + 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); + +@@ -2390,6 +2396,8 @@ check_inquiry (gfc_expr *e, int not_restricted) + + int i = 0; + gfc_actual_arglist *ap; ++ gfc_symbol *sym; ++ gfc_symbol *asym; + + if (!e->value.function.isym + || !e->value.function.isym->inquiry) +@@ -2399,20 +2407,22 @@ check_inquiry (gfc_expr *e, int not_restricted) + if (e->symtree == NULL) + return MATCH_NO; + +- if (e->symtree->n.sym->from_intmod) ++ sym = e->symtree->n.sym; ++ ++ if (sym->from_intmod) + { +- if (e->symtree->n.sym->from_intmod == INTMOD_ISO_FORTRAN_ENV +- && e->symtree->n.sym->intmod_sym_id != ISOFORTRAN_COMPILER_OPTIONS +- && e->symtree->n.sym->intmod_sym_id != ISOFORTRAN_COMPILER_VERSION) ++ if (sym->from_intmod == INTMOD_ISO_FORTRAN_ENV ++ && sym->intmod_sym_id != ISOFORTRAN_COMPILER_OPTIONS ++ && sym->intmod_sym_id != ISOFORTRAN_COMPILER_VERSION) + return MATCH_NO; + +- if (e->symtree->n.sym->from_intmod == INTMOD_ISO_C_BINDING +- && e->symtree->n.sym->intmod_sym_id != ISOCBINDING_C_SIZEOF) ++ if (sym->from_intmod == INTMOD_ISO_C_BINDING ++ && sym->intmod_sym_id != ISOCBINDING_C_SIZEOF) + return MATCH_NO; + } + else + { +- name = e->symtree->n.sym->name; ++ name = sym->name; + + functions = (gfc_option.warn_std & GFC_STD_F2003) + ? inquiry_func_f2003 : inquiry_func_f95; +@@ -2434,41 +2444,48 @@ check_inquiry (gfc_expr *e, int not_restricted) + if (!ap->expr) + continue; + ++ asym = ap->expr->symtree ? ap->expr->symtree->n.sym : NULL; ++ + if (ap->expr->ts.type == BT_UNKNOWN) + { +- if (ap->expr->symtree->n.sym->ts.type == BT_UNKNOWN +- && !gfc_set_default_type (ap->expr->symtree->n.sym, 0, gfc_current_ns)) ++ if (asym && asym->ts.type == BT_UNKNOWN ++ && !gfc_set_default_type (asym, 0, gfc_current_ns)) + return MATCH_NO; + +- ap->expr->ts = ap->expr->symtree->n.sym->ts; ++ ap->expr->ts = asym->ts; + } + +- /* Assumed character length will not reduce to a constant expression +- with LEN, as required by the standard. */ +- if (i == 5 && not_restricted && ap->expr->symtree +- && ap->expr->symtree->n.sym->ts.type == BT_CHARACTER +- && (ap->expr->symtree->n.sym->ts.u.cl->length == NULL +- || ap->expr->symtree->n.sym->ts.deferred)) +- { +- gfc_error ("Assumed or deferred character length variable %qs " +- "in constant expression at %L", +- ap->expr->symtree->n.sym->name, +- &ap->expr->where); +- return MATCH_ERROR; +- } +- else if (not_restricted && !gfc_check_init_expr (ap->expr)) +- return MATCH_ERROR; ++ if (asym && asym->assoc && asym->assoc->target ++ && asym->assoc->target->expr_type == EXPR_CONSTANT) ++ { ++ gfc_free_expr (ap->expr); ++ ap->expr = gfc_copy_expr (asym->assoc->target); ++ } + +- if (not_restricted == 0 +- && ap->expr->expr_type != EXPR_VARIABLE +- && !check_restricted (ap->expr)) ++ /* Assumed character length will not reduce to a constant expression ++ with LEN, as required by the standard. */ ++ if (i == 5 && not_restricted && asym ++ && asym->ts.type == BT_CHARACTER ++ && ((asym->ts.u.cl && asym->ts.u.cl->length == NULL) ++ || asym->ts.deferred)) ++ { ++ gfc_error ("Assumed or deferred character length variable %qs " ++ "in constant expression at %L", ++ asym->name, &ap->expr->where); + return MATCH_ERROR; ++ } ++ else if (not_restricted && !gfc_check_init_expr (ap->expr)) ++ return MATCH_ERROR; ++ ++ if (not_restricted == 0 ++ && ap->expr->expr_type != EXPR_VARIABLE ++ && !check_restricted (ap->expr)) ++ return MATCH_ERROR; + +- if (not_restricted == 0 +- && ap->expr->expr_type == EXPR_VARIABLE +- && ap->expr->symtree->n.sym->attr.dummy +- && ap->expr->symtree->n.sym->attr.optional) +- return MATCH_NO; ++ if (not_restricted == 0 ++ && ap->expr->expr_type == EXPR_VARIABLE ++ && asym->attr.dummy && asym->attr.optional) ++ return MATCH_NO; + } + + return MATCH_YES; +--- a/src/gcc/fortran/frontend-passes.c ++++ b/src/gcc/fortran/frontend-passes.c +@@ -93,6 +93,10 @@ static int forall_level; + + static bool in_omp_workshare; + ++/* Keep track of whether we are within an OMP atomic. */ ++ ++static bool in_omp_atomic; ++ + /* Keep track of whether we are within a WHERE statement. */ + + static bool in_where; +@@ -864,9 +868,9 @@ cfe_expr_0 (gfc_expr **e, int *walk_subtrees, + gfc_expr *newvar; + gfc_expr **ei, **ej; + +- /* Don't do this optimization within OMP workshare or ASSOC lists. */ ++ /* Don't do this optimization within OMP workshare/atomic or ASSOC lists. */ + +- if (in_omp_workshare || in_assoc_list) ++ if (in_omp_workshare || in_omp_atomic || in_assoc_list) + { + *walk_subtrees = 0; + return 0; +@@ -1415,6 +1419,7 @@ optimize_namespace (gfc_namespace *ns) + iterator_level = 0; + in_assoc_list = false; + in_omp_workshare = false; ++ in_omp_atomic = false; + + if (flag_frontend_optimize) + { +@@ -2461,7 +2466,12 @@ insert_index (gfc_expr *e, gfc_symbol *sym, mpz_t val, mpz_t ret) + data.sym = sym; + mpz_init_set (data.val, val); + gfc_expr_walker (&n, callback_insert_index, (void *) &data); ++ ++ /* Suppress errors here - we could get errors here such as an ++ out of bounds access for arrays, see PR 90563. */ ++ gfc_push_suppress_errors (); + gfc_simplify_expr (n, 0); ++ gfc_pop_suppress_errors (); + + if (n->expr_type == EXPR_CONSTANT) + { +@@ -2511,6 +2521,7 @@ do_subscript (gfc_expr **e) + bool have_do_start, have_do_end; + bool error_not_proven; + int warn; ++ int sgn; + + dl = lp->c; + if (dl == NULL) +@@ -2539,7 +2550,16 @@ do_subscript (gfc_expr **e) + Do not warn in this case. */ + + if (dl->ext.iterator->step->expr_type == EXPR_CONSTANT) +- mpz_init_set (do_step, dl->ext.iterator->step->value.integer); ++ { ++ sgn = mpz_cmp_ui (dl->ext.iterator->step->value.integer, 0); ++ /* This can happen, but then the error has been ++ reported previusly. */ ++ if (sgn == 0) ++ continue; ++ ++ mpz_init_set (do_step, dl->ext.iterator->step->value.integer); ++ } ++ + else + continue; + +@@ -2563,6 +2583,16 @@ do_subscript (gfc_expr **e) + if (!have_do_start && !have_do_end) + return 0; + ++ /* No warning inside a zero-trip loop. */ ++ if (have_do_start && have_do_end) ++ { ++ int cmp; ++ ++ cmp = mpz_cmp (do_end, do_start); ++ if ((sgn > 0 && cmp < 0) || (sgn < 0 && cmp > 0)) ++ break; ++ } ++ + /* May have to correct the end value if the step does not equal + one. */ + if (have_do_start && have_do_end && mpz_cmp_ui (do_step, 1) != 0) +@@ -2726,7 +2756,7 @@ matmul_to_var_expr (gfc_expr **ep, int *walk_subtrees ATTRIBUTE_UNUSED, + return 0; + + if (forall_level > 0 || iterator_level > 0 || in_omp_workshare +- || in_where || in_assoc_list) ++ || in_omp_atomic || in_where || in_assoc_list) + return 0; + + /* Check if this is already in the form c = matmul(a,b). */ +@@ -2788,7 +2818,7 @@ matmul_temp_args (gfc_code **c, int *walk_subtrees ATTRIBUTE_UNUSED, + return 0; + + if (forall_level > 0 || iterator_level > 0 || in_omp_workshare +- || in_where) ++ || in_omp_atomic || in_where) + return 0; + + /* This has some duplication with inline_matmul_assign. This +@@ -3718,7 +3748,7 @@ inline_matmul_assign (gfc_code **c, int *walk_subtrees, + /* For now don't do anything in OpenMP workshare, it confuses + its translation, which expects only the allowed statements in there. + We should figure out how to parallelize this eventually. */ +- if (in_omp_workshare) ++ if (in_omp_workshare || in_omp_atomic) + return 0; + + expr1 = co->expr1; +@@ -4530,6 +4560,7 @@ gfc_code_walker (gfc_code **c, walk_code_fn_t codefn, walk_expr_fn_t exprfn, + gfc_code *co; + gfc_association_list *alist; + bool saved_in_omp_workshare; ++ bool saved_in_omp_atomic; + bool saved_in_where; + + /* There might be statement insertions before the current code, +@@ -4537,6 +4568,7 @@ gfc_code_walker (gfc_code **c, walk_code_fn_t codefn, walk_expr_fn_t exprfn, + + co = *c; + saved_in_omp_workshare = in_omp_workshare; ++ saved_in_omp_atomic = in_omp_atomic; + saved_in_where = in_where; + + switch (co->op) +@@ -4734,6 +4766,10 @@ gfc_code_walker (gfc_code **c, walk_code_fn_t codefn, walk_expr_fn_t exprfn, + WALK_SUBEXPR (co->ext.dt->extra_comma); + break; + ++ case EXEC_OMP_ATOMIC: ++ in_omp_atomic = true; ++ break; ++ + case EXEC_OMP_PARALLEL: + case EXEC_OMP_PARALLEL_DO: + case EXEC_OMP_PARALLEL_DO_SIMD: +@@ -4851,6 +4887,7 @@ gfc_code_walker (gfc_code **c, walk_code_fn_t codefn, walk_expr_fn_t exprfn, + select_level --; + + in_omp_workshare = saved_in_omp_workshare; ++ in_omp_atomic = saved_in_omp_atomic; + in_where = saved_in_where; + } + } +--- a/src/gcc/fortran/gfortran.h ++++ b/src/gcc/fortran/gfortran.h +@@ -1080,6 +1080,7 @@ typedef struct gfc_component + struct gfc_typebound_proc *tb; + /* When allocatable/pointer and in a coarray the associated token. */ + tree caf_token; ++ bool finalized; + } + gfc_component; + +@@ -1856,6 +1857,9 @@ typedef struct gfc_namespace + + /* Set to 1 for !$ACC ROUTINE namespaces. */ + unsigned oacc_routine:1; ++ ++ /* Set to 1 if there are any calls to procedures with implicit interface. */ ++ unsigned implicit_interface_calls:1; + } + gfc_namespace; + +@@ -1883,6 +1887,7 @@ typedef struct gfc_gsymbol + enum gfc_symbol_type type; + + int defined, used; ++ bool bind_c; + locus where; + gfc_namespace *ns; + } +@@ -2900,6 +2905,8 @@ void gfc_arith_done_1 (void); + arith gfc_check_integer_range (mpz_t p, int kind); + bool gfc_check_character_range (gfc_char_t, int); + ++extern bool gfc_seen_div0; ++ + /* trans-types.c */ + bool gfc_check_any_c_kind (gfc_typespec *); + int gfc_validate_kind (bt, int, bool); +@@ -3059,7 +3066,7 @@ void gfc_enforce_clean_symbol_state (void); + 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 +3433,7 @@ bool gfc_is_class_scalar_expr (gfc_expr *); + 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 *); +--- a/src/gcc/fortran/interface.c ++++ b/src/gcc/fortran/interface.c +@@ -2941,17 +2941,19 @@ compare_actual_formal (gfc_actual_arglist **ap, gfc_formal_arglist *formal, + + if (f->sym == NULL) + { ++ /* These errors have to be issued, otherwise an ICE can occur. ++ See PR 78865. */ + if (where) +- gfc_error ("Missing alternate return spec in subroutine call " +- "at %L", where); ++ gfc_error_now ("Missing alternate return specifier in subroutine " ++ "call at %L", where); + return false; + } + + if (a->expr == NULL) + { + if (where) +- gfc_error ("Unexpected alternate return spec in subroutine " +- "call at %L", where); ++ gfc_error_now ("Unexpected alternate return specifier in " ++ "subroutine call at %L", where); + return false; + } + +@@ -3655,6 +3657,7 @@ gfc_procedure_use (gfc_symbol *sym, gfc_actual_arglist **ap, locus *where) + gfc_warning (OPT_Wimplicit_procedure, + "Procedure %qs called at %L is not explicitly declared", + sym->name, where); ++ gfc_find_proc_namespace (sym->ns)->implicit_interface_calls = 1; + } + + if (sym->attr.if_source == IFSRC_UNKNOWN) +--- a/src/gcc/fortran/iresolve.c ++++ b/src/gcc/fortran/iresolve.c +@@ -35,6 +35,7 @@ along with GCC; see the file COPYING3. If not see + #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 @@ gfc_resolve_fe_runtime_error (gfc_code *c) + 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 +--- a/src/gcc/fortran/lang.opt ++++ b/src/gcc/fortran/lang.opt +@@ -742,6 +742,13 @@ fsign-zero + Fortran Var(flag_sign_zero) Init(1) + Apply negative sign to zero values. + ++ftail-call-workaround ++Fortran Alias(ftail-call-workaround=,1,0) ++ ++ftail-call-workaround= ++Fortran RejectNegative Joined UInteger IntegerRange(0, 2) Var(flag_tail_call_workaround) Init(1) ++Disallow tail call optimization when a calling routine may have omitted character lengths. ++ + funderscoring + Fortran Var(flag_underscoring) Init(1) + Append underscores to externally visible names. +--- a/src/gcc/fortran/match.c ++++ b/src/gcc/fortran/match.c +@@ -2105,8 +2105,6 @@ gfc_match_type_spec (gfc_typespec *ts) + 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; +--- a/src/gcc/fortran/openmp.c ++++ b/src/gcc/fortran/openmp.c +@@ -5689,6 +5689,81 @@ omp_code_to_statement (gfc_code *code) + return ST_OMP_PARALLEL_WORKSHARE; + case EXEC_OMP_DO: + return ST_OMP_DO; ++ case EXEC_OMP_ATOMIC: ++ return ST_OMP_ATOMIC; ++ case EXEC_OMP_BARRIER: ++ return ST_OMP_BARRIER; ++ case EXEC_OMP_CANCEL: ++ return ST_OMP_CANCEL; ++ case EXEC_OMP_CANCELLATION_POINT: ++ return ST_OMP_CANCELLATION_POINT; ++ case EXEC_OMP_FLUSH: ++ return ST_OMP_FLUSH; ++ case EXEC_OMP_DISTRIBUTE: ++ return ST_OMP_DISTRIBUTE; ++ case EXEC_OMP_DISTRIBUTE_PARALLEL_DO: ++ return ST_OMP_DISTRIBUTE_PARALLEL_DO; ++ case EXEC_OMP_DISTRIBUTE_PARALLEL_DO_SIMD: ++ return ST_OMP_DISTRIBUTE_PARALLEL_DO_SIMD; ++ case EXEC_OMP_DISTRIBUTE_SIMD: ++ return ST_OMP_DISTRIBUTE_SIMD; ++ case EXEC_OMP_DO_SIMD: ++ return ST_OMP_DO_SIMD; ++ case EXEC_OMP_SIMD: ++ return ST_OMP_SIMD; ++ case EXEC_OMP_TARGET: ++ return ST_OMP_TARGET; ++ case EXEC_OMP_TARGET_DATA: ++ return ST_OMP_TARGET_DATA; ++ case EXEC_OMP_TARGET_ENTER_DATA: ++ return ST_OMP_TARGET_ENTER_DATA; ++ case EXEC_OMP_TARGET_EXIT_DATA: ++ return ST_OMP_TARGET_EXIT_DATA; ++ case EXEC_OMP_TARGET_PARALLEL: ++ return ST_OMP_TARGET_PARALLEL; ++ case EXEC_OMP_TARGET_PARALLEL_DO: ++ return ST_OMP_TARGET_PARALLEL_DO; ++ case EXEC_OMP_TARGET_PARALLEL_DO_SIMD: ++ return ST_OMP_TARGET_PARALLEL_DO_SIMD; ++ case EXEC_OMP_TARGET_SIMD: ++ return ST_OMP_TARGET_SIMD; ++ case EXEC_OMP_TARGET_TEAMS: ++ return ST_OMP_TARGET_TEAMS; ++ case EXEC_OMP_TARGET_TEAMS_DISTRIBUTE: ++ return ST_OMP_TARGET_TEAMS_DISTRIBUTE; ++ case EXEC_OMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO: ++ return ST_OMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO; ++ case EXEC_OMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD: ++ return ST_OMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD; ++ case EXEC_OMP_TARGET_TEAMS_DISTRIBUTE_SIMD: ++ return ST_OMP_TARGET_TEAMS_DISTRIBUTE_SIMD; ++ case EXEC_OMP_TARGET_UPDATE: ++ return ST_OMP_TARGET_UPDATE; ++ case EXEC_OMP_TASKGROUP: ++ return ST_OMP_TASKGROUP; ++ case EXEC_OMP_TASKLOOP: ++ return ST_OMP_TASKLOOP; ++ case EXEC_OMP_TASKLOOP_SIMD: ++ return ST_OMP_TASKLOOP_SIMD; ++ case EXEC_OMP_TASKWAIT: ++ return ST_OMP_TASKWAIT; ++ case EXEC_OMP_TASKYIELD: ++ return ST_OMP_TASKYIELD; ++ case EXEC_OMP_TEAMS: ++ return ST_OMP_TEAMS; ++ case EXEC_OMP_TEAMS_DISTRIBUTE: ++ return ST_OMP_TEAMS_DISTRIBUTE; ++ case EXEC_OMP_TEAMS_DISTRIBUTE_PARALLEL_DO: ++ return ST_OMP_TEAMS_DISTRIBUTE_PARALLEL_DO; ++ case EXEC_OMP_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD: ++ return ST_OMP_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD; ++ case EXEC_OMP_TEAMS_DISTRIBUTE_SIMD: ++ return ST_OMP_TEAMS_DISTRIBUTE_SIMD; ++ case EXEC_OMP_PARALLEL_DO: ++ return ST_OMP_PARALLEL_DO; ++ case EXEC_OMP_PARALLEL_DO_SIMD: ++ return ST_OMP_PARALLEL_DO_SIMD; ++ + default: + gcc_unreachable (); + } +@@ -5715,6 +5790,20 @@ oacc_code_to_statement (gfc_code *code) + return ST_OACC_LOOP; + case EXEC_OACC_ATOMIC: + return ST_OACC_ATOMIC; ++ case EXEC_OACC_ROUTINE: ++ return ST_OACC_ROUTINE; ++ case EXEC_OACC_UPDATE: ++ return ST_OACC_UPDATE; ++ case EXEC_OACC_WAIT: ++ return ST_OACC_WAIT; ++ case EXEC_OACC_CACHE: ++ return ST_OACC_CACHE; ++ case EXEC_OACC_ENTER_DATA: ++ return ST_OACC_ENTER_DATA; ++ case EXEC_OACC_EXIT_DATA: ++ return ST_OACC_EXIT_DATA; ++ case EXEC_OACC_DECLARE: ++ return ST_OACC_DECLARE; + default: + gcc_unreachable (); + } +--- a/src/gcc/fortran/parse.c ++++ b/src/gcc/fortran/parse.c +@@ -5073,6 +5073,9 @@ parse_omp_structured_block (gfc_statement omp_st, bool workshare_stmts_only) + case ST_OMP_TARGET_DATA: + omp_end_st = ST_OMP_END_TARGET_DATA; + break; ++ case ST_OMP_TARGET_PARALLEL: ++ omp_end_st = ST_OMP_END_TARGET_PARALLEL; ++ break; + case ST_OMP_TARGET_TEAMS: + omp_end_st = ST_OMP_END_TARGET_TEAMS; + break; +@@ -5830,7 +5833,7 @@ parse_block_data (void) + } + 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 +5915,7 @@ parse_module (void) + 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 +5979,7 @@ add_global_procedure (bool sub) + 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 +6004,7 @@ add_global_procedure (bool sub) + && (!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 +6036,7 @@ add_global_program (void) + + 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); +--- a/src/gcc/fortran/resolve.c ++++ b/src/gcc/fortran/resolve.c +@@ -1045,7 +1045,7 @@ resolve_common_blocks (gfc_symtree *common_root) + } + 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 @@ resolve_common_blocks (gfc_symtree *common_root) + } + 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 @@ is_illegal_recursion (gfc_symbol* sym, gfc_namespace* context) + || 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 @@ resolve_global_procedure (gfc_symbol *sym, locus *where, + + 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); +@@ -2494,64 +2493,64 @@ resolve_global_procedure (gfc_symbol *sym, locus *where, + && gsym->type != GSYM_UNKNOWN + && !gsym->binding_label + && gsym->ns +- && gsym->ns->resolved != -1 + && gsym->ns->proc_name + && not_in_recursive (sym, gsym->ns) + && not_entry_self_reference (sym, gsym->ns)) + { + gfc_symbol *def_sym; ++ def_sym = gsym->ns->proc_name; + + /* Resolve the gsymbol namespace if needed. */ +- if (!gsym->ns->resolved) ++ if (gsym->ns->resolved != -1) + { +- gfc_dt_list *old_dt_list; ++ if (!gsym->ns->resolved) ++ { ++ gfc_dt_list *old_dt_list; + +- /* Stash away derived types so that the backend_decls do not +- get mixed up. */ +- old_dt_list = gfc_derived_types; +- gfc_derived_types = NULL; ++ /* Stash away derived types so that the backend_decls ++ do not get mixed up. */ ++ old_dt_list = gfc_derived_types; ++ gfc_derived_types = NULL; + +- gfc_resolve (gsym->ns); ++ gfc_resolve (gsym->ns); + +- /* Store the new derived types with the global namespace. */ +- if (gfc_derived_types) +- gsym->ns->derived_types = gfc_derived_types; ++ /* Store the new derived types with the global namespace. */ ++ if (gfc_derived_types) ++ gsym->ns->derived_types = gfc_derived_types; + +- /* Restore the derived types of this namespace. */ +- gfc_derived_types = old_dt_list; +- } ++ /* Restore the derived types of this namespace. */ ++ gfc_derived_types = old_dt_list; ++ } + +- /* Make sure that translation for the gsymbol occurs before +- the procedure currently being resolved. */ +- ns = gfc_global_ns_list; +- for (; ns && ns != gsym->ns; ns = ns->sibling) +- { +- if (ns->sibling == gsym->ns) ++ /* Make sure that translation for the gsymbol occurs before ++ the procedure currently being resolved. */ ++ ns = gfc_global_ns_list; ++ for (; ns && ns != gsym->ns; ns = ns->sibling) + { +- ns->sibling = gsym->ns->sibling; +- gsym->ns->sibling = gfc_global_ns_list; +- gfc_global_ns_list = gsym->ns; +- break; ++ if (ns->sibling == gsym->ns) ++ { ++ ns->sibling = gsym->ns->sibling; ++ gsym->ns->sibling = gfc_global_ns_list; ++ gfc_global_ns_list = gsym->ns; ++ break; ++ } + } +- } + +- def_sym = gsym->ns->proc_name; ++ /* This can happen if a binding name has been specified. */ ++ if (gsym->binding_label && gsym->sym_name != def_sym->name) ++ gfc_find_symbol (gsym->sym_name, gsym->ns, 0, &def_sym); + +- /* This can happen if a binding name has been specified. */ +- if (gsym->binding_label && gsym->sym_name != def_sym->name) +- gfc_find_symbol (gsym->sym_name, gsym->ns, 0, &def_sym); +- +- if (def_sym->attr.entry_master) +- { +- gfc_entry_list *entry; +- for (entry = gsym->ns->entries; entry; entry = entry->next) +- if (strcmp (entry->sym->name, sym->name) == 0) +- { +- def_sym = entry->sym; +- break; +- } ++ if (def_sym->attr.entry_master || def_sym->attr.entry) ++ { ++ gfc_entry_list *entry; ++ for (entry = gsym->ns->entries; entry; entry = entry->next) ++ if (strcmp (entry->sym->name, sym->name) == 0) ++ { ++ def_sym = entry->sym; ++ break; ++ } ++ } + } +- + if (sym->attr.function && !gfc_compare_types (&sym->ts, &def_sym->ts)) + { + gfc_error ("Return type mismatch of function %qs at %L (%s/%s)", +@@ -4633,9 +4632,13 @@ find_array_spec (gfc_expr *e) + gfc_array_spec *as; + gfc_component *c; + gfc_ref *ref; ++ bool class_as = false; + + if (e->symtree->n.sym->ts.type == BT_CLASS) +- as = CLASS_DATA (e->symtree->n.sym)->as; ++ { ++ as = CLASS_DATA (e->symtree->n.sym)->as; ++ class_as = true; ++ } + else + as = e->symtree->n.sym->as; + +@@ -4654,7 +4657,7 @@ find_array_spec (gfc_expr *e) + c = ref->u.c.component; + if (c->attr.dimension) + { +- if (as != NULL) ++ if (as != NULL && !(class_as && as == c->as)) + gfc_internal_error ("find_array_spec(): unused as(1)"); + as = c->as; + } +@@ -4881,6 +4884,7 @@ gfc_resolve_substring_charlen (gfc_expr *e) + 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,11 +4936,25 @@ gfc_resolve_substring_charlen (gfc_expr *e) + 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 +@@ -5615,11 +5633,14 @@ resolve_procedure: + + + /* Checks to see that the correct symbol has been host associated. +- The only situation where this arises is that in which a twice +- contained function is parsed after the host association is made. +- Therefore, on detecting this, change the symbol in the expression +- and convert the array reference into an actual arglist if the old +- symbol is a variable. */ ++ The only situations where this arises are: ++ (i) That in which a twice contained function is parsed after ++ the host association is made. On detecting this, change ++ the symbol in the expression and convert the array reference ++ into an actual arglist if the old symbol is a variable; or ++ (ii) That in which an external function is typed but not declared ++ explcitly to be external. Here, the old symbol is changed ++ from a variable to an external function. */ + static bool + check_host_association (gfc_expr *e) + { +@@ -5709,6 +5730,26 @@ check_host_association (gfc_expr *e) + gfc_resolve_expr (e); + sym->refs++; + } ++ /* This case corresponds to a call, from a block or a contained ++ procedure, to an external function, which has not been declared ++ as being external in the main program but has been typed. */ ++ else if (sym && old_sym != sym ++ && !e->ref ++ && sym->ts.type == BT_UNKNOWN ++ && old_sym->ts.type != BT_UNKNOWN ++ && sym->attr.flavor == FL_PROCEDURE ++ && old_sym->attr.flavor == FL_VARIABLE ++ && sym->ns->parent == old_sym->ns ++ && sym->ns->proc_name ++ && (sym->ns->proc_name->attr.flavor == FL_LABEL ++ || sym->ns->proc_name->attr.flavor == FL_PROCEDURE)) ++ { ++ old_sym->attr.flavor = FL_PROCEDURE; ++ old_sym->attr.external = 1; ++ old_sym->attr.function = 1; ++ old_sym->result = old_sym; ++ gfc_resolve_expr (e); ++ } + } + /* This might have changed! */ + return e->expr_type == EXPR_FUNCTION; +@@ -6888,19 +6929,6 @@ gfc_resolve_iterator (gfc_iterator *iter, bool real_ok, bool own_scope) + "Step expression in DO loop")) + return false; + +- if (iter->step->expr_type == EXPR_CONSTANT) +- { +- if ((iter->step->ts.type == BT_INTEGER +- && mpz_cmp_ui (iter->step->value.integer, 0) == 0) +- || (iter->step->ts.type == BT_REAL +- && mpfr_sgn (iter->step->value.real) == 0)) +- { +- gfc_error ("Step expression in DO loop at %L cannot be zero", +- &iter->step->where); +- return false; +- } +- } +- + /* Convert start, end, and step to the same type as var. */ + if (iter->start->ts.kind != iter->var->ts.kind + || iter->start->ts.type != iter->var->ts.type) +@@ -6914,6 +6942,19 @@ gfc_resolve_iterator (gfc_iterator *iter, bool real_ok, bool own_scope) + || iter->step->ts.type != iter->var->ts.type) + gfc_convert_type (iter->step, &iter->var->ts, 1); + ++ if (iter->step->expr_type == EXPR_CONSTANT) ++ { ++ if ((iter->step->ts.type == BT_INTEGER ++ && mpz_cmp_ui (iter->step->value.integer, 0) == 0) ++ || (iter->step->ts.type == BT_REAL ++ && mpfr_sgn (iter->step->value.real) == 0)) ++ { ++ gfc_error ("Step expression in DO loop at %L cannot be zero", ++ &iter->step->where); ++ return false; ++ } ++ } ++ + if (iter->start->expr_type == EXPR_CONSTANT + && iter->end->expr_type == EXPR_CONSTANT + && iter->step->expr_type == EXPR_CONSTANT) +@@ -7215,6 +7256,10 @@ gfc_expr_to_initialize (gfc_expr *e) + for (ref = result->ref; ref; ref = ref->next) + if (ref->type == REF_ARRAY && ref->next == NULL) + { ++ if (ref->u.ar.dimen == 0 ++ && ref->u.ar.as && ref->u.ar.as->corank) ++ return result; ++ + ref->u.ar.type = AR_FULL; + + for (i = 0; i < ref->u.ar.dimen; i++) +@@ -7640,13 +7685,54 @@ resolve_allocate_expr (gfc_expr *e, gfc_code *code, bool *array_alloc_wo_spec) + + 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 +11097,9 @@ deferred_op_assign (gfc_code **code, gfc_namespace *ns) + 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 +11736,7 @@ gfc_verify_binding_labels (gfc_symbol *sym) + && (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; +@@ -16266,8 +16355,8 @@ resolve_equivalence (gfc_equiv *eq) + } + + +-/* Function called by resolve_fntype to flag other symbol used in the +- length type parameter specification of function resuls. */ ++/* Function called by resolve_fntype to flag other symbols used in the ++ length type parameter specification of function results. */ + + static bool + flag_fn_result_spec (gfc_expr *expr, +--- a/src/gcc/fortran/simplify.c ++++ b/src/gcc/fortran/simplify.c +@@ -169,8 +169,10 @@ convert_mpz_to_unsigned (mpz_t x, int bitsize) + } + else + { +- /* Confirm that no bits above the signed range are set. */ +- gcc_assert (mpz_scan1 (x, bitsize-1) == ULONG_MAX); ++ /* Confirm that no bits above the signed range are set if we ++ are doing range checking. */ ++ if (flag_range_check != 0) ++ gcc_assert (mpz_scan1 (x, bitsize-1) == ULONG_MAX); + } + } + +@@ -4469,7 +4471,7 @@ gfc_simplify_len (gfc_expr *e, gfc_expr *kind) + /* 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 +6923,7 @@ gfc_simplify_sizeof (gfc_expr *x) + { + 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 +6939,8 @@ gfc_simplify_sizeof (gfc_expr *x) + + 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 +6954,7 @@ gfc_simplify_storage_size (gfc_expr *x, + { + gfc_expr *result = NULL; + int k; ++ size_t siz; + + if (x->ts.type == BT_CLASS || x->ts.deferred) + return NULL; +@@ -6965,7 +6970,8 @@ gfc_simplify_storage_size (gfc_expr *x, + + 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"); +@@ -7164,7 +7170,7 @@ gfc_simplify_spread (gfc_expr *source, gfc_expr *dim_expr, gfc_expr *ncopies_exp + nelem = mpz_get_si (size) * ncopies; + if (nelem > flag_max_array_constructor) + { +- if (gfc_current_ns->sym_root->n.sym->attr.flavor == FL_PARAMETER) ++ if (gfc_init_expr_flag) + { + gfc_error ("The number of elements (%d) in the array constructor " + "at %L requires an increase of the allowed %d upper " +--- a/src/gcc/fortran/symbol.c ++++ b/src/gcc/fortran/symbol.c +@@ -522,7 +522,7 @@ check_conflict (symbol_attribute *attr, const char *name, locus *where) + /* 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 @@ check_conflict (symbol_attribute *attr, const char *name, locus *where) + + 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 @@ gfc_add_subroutine (symbol_attribute *attr, const char *name, locus *where) + 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 @@ gfc_add_procedure (symbol_attribute *attr, procedure_type t, + 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 @@ gsym_compare (void *_s1, void *_s2) + /* 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 @@ gfc_get_gsymbol (const char *name) + 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); + +--- a/src/gcc/fortran/target-memory.c ++++ b/src/gcc/fortran/target-memory.c +@@ -73,26 +73,30 @@ size_character (gfc_charlen_t length, int kind) + + + /* 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; + + 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,17 +104,23 @@ gfc_element_size (gfc_expr *e) + 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: + case BT_ASSUMED: ++ case BT_PROCEDURE: + { + /* Determine type size without clobbering the typespec for ISO C + binding types. */ +@@ -120,36 +130,43 @@ gfc_element_size (gfc_expr *e) + 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 +692,7 @@ expr_to_char (gfc_expr *e, locus *loc, + + /* 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,7 +739,9 @@ gfc_merge_initializers (gfc_typespec ts, gfc_expr *e, locus *loc, + 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); +--- a/src/gcc/fortran/target-memory.h ++++ b/src/gcc/fortran/target-memory.h +@@ -24,8 +24,8 @@ along with GCC; see the file COPYING3. If not see + /* 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 *, +--- a/src/gcc/fortran/trans-array.c ++++ b/src/gcc/fortran/trans-array.c +@@ -1164,6 +1164,7 @@ gfc_trans_create_temp_array (stmtblock_t * pre, stmtblock_t * post, gfc_ss * ss, + tree nelem; + tree cond; + tree or_expr; ++ tree elemsize; + tree class_expr = NULL_TREE; + int n, dim, tmp_dim; + int total_dim = 0; +@@ -1329,21 +1330,21 @@ gfc_trans_create_temp_array (stmtblock_t * pre, stmtblock_t * post, gfc_ss * ss, + } + } + ++ if (class_expr == NULL_TREE) ++ elemsize = fold_convert (gfc_array_index_type, ++ TYPE_SIZE_UNIT (gfc_get_element_type (type))); ++ else ++ elemsize = gfc_class_vtab_size_get (class_expr); ++ + /* Get the size of the array. */ + if (size && !callee_alloc) + { +- tree elemsize; + /* If or_expr is true, then the extent in at least one + dimension is zero and the size is set to zero. */ + size = fold_build3_loc (input_location, COND_EXPR, gfc_array_index_type, + or_expr, gfc_index_zero_node, size); + + nelem = size; +- if (class_expr == NULL_TREE) +- elemsize = fold_convert (gfc_array_index_type, +- TYPE_SIZE_UNIT (gfc_get_element_type (type))); +- else +- elemsize = gfc_class_vtab_size_get (class_expr); + + size = fold_build2_loc (input_location, MULT_EXPR, gfc_array_index_type, + size, elemsize); +@@ -1354,6 +1355,10 @@ gfc_trans_create_temp_array (stmtblock_t * pre, stmtblock_t * post, gfc_ss * ss, + size = NULL_TREE; + } + ++ /* Set the span. */ ++ tmp = fold_convert (gfc_array_index_type, elemsize); ++ gfc_conv_descriptor_span_set (pre, desc, tmp); ++ + gfc_trans_allocate_array_storage (pre, post, info, size, nelem, initial, + dynamic, dealloc); + +@@ -2652,6 +2657,9 @@ gfc_scalar_elemental_arg_saved_as_reference (gfc_ss_info * ss_info) + 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. */ +@@ -3414,10 +3422,8 @@ gfc_conv_scalarized_array_ref (gfc_se * se, gfc_array_ref * ar) + if (build_class_array_ref (se, base, index)) + return; + +- if (expr && ((is_subref_array (expr) +- && GFC_DESCRIPTOR_TYPE_P (TREE_TYPE (info->descriptor))) +- || (expr->ts.deferred && (expr->expr_type == EXPR_VARIABLE +- || expr->expr_type == EXPR_FUNCTION)))) ++ if (expr && (expr->ts.deferred && (expr->expr_type == EXPR_VARIABLE ++ || expr->expr_type == EXPR_FUNCTION))) + decl = expr->symtree->n.sym->backend_decl; + + /* A pointer array component can be detected from its field decl. Fix +@@ -9527,9 +9533,15 @@ gfc_is_reallocatable_lhs (gfc_expr *expr) + if (sym->ts.type == BT_CLASS + && !sym->attr.associate_var + && CLASS_DATA (sym)->attr.allocatable +- && expr->ref && expr->ref->type == REF_COMPONENT +- && strcmp (expr->ref->u.c.component->name, "_data") == 0 +- && expr->ref->next == NULL) ++ && expr->ref ++ && ((expr->ref->type == REF_ARRAY && expr->ref->u.ar.type == AR_FULL ++ && expr->ref->next == NULL) ++ || (expr->ref->type == REF_COMPONENT ++ && strcmp (expr->ref->u.c.component->name, "_data") == 0 ++ && (expr->ref->next == NULL ++ || (expr->ref->next->type == REF_ARRAY ++ && expr->ref->next->u.ar.type == AR_FULL ++ && expr->ref->next->next == NULL))))) + return true; + + /* An allocatable variable. */ +@@ -10350,6 +10362,8 @@ gfc_walk_variable_expr (gfc_ss * ss, gfc_expr * expr) + { + 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; +--- a/src/gcc/fortran/trans-decl.c ++++ b/src/gcc/fortran/trans-decl.c +@@ -342,64 +342,86 @@ gfc_get_label_decl (gfc_st_label * lp) + } + } + ++/* Return the name of an identifier. */ + +-/* Convert a gfc_symbol to an identifier of the same name. */ +- +-static tree +-gfc_sym_identifier (gfc_symbol * sym) ++static const char * ++sym_identifier (gfc_symbol *sym) + { + if (sym->attr.is_main_program && strcmp (sym->name, "main") == 0) +- return (get_identifier ("MAIN__")); ++ return "MAIN__"; + else +- return (get_identifier (sym->name)); ++ return sym->name; + } + +- +-/* Construct mangled name from symbol name. */ ++/* Convert a gfc_symbol to an identifier of the same name. */ + + static tree +-gfc_sym_mangled_identifier (gfc_symbol * sym) ++gfc_sym_identifier (gfc_symbol * sym) + { +- char name[GFC_MAX_MANGLED_SYMBOL_LEN + 1]; ++ return get_identifier (sym_identifier (sym)); ++} + ++/* Construct mangled name from symbol name. */ ++ ++static const char * ++mangled_identifier (gfc_symbol *sym) ++{ ++ gfc_symbol *proc = sym->ns->proc_name; ++ static char name[3*GFC_MAX_MANGLED_SYMBOL_LEN + 14]; + /* Prevent the mangling of identifiers that have an assigned + binding label (mainly those that are bind(c)). */ ++ + if (sym->attr.is_bind_c == 1 && sym->binding_label) +- return get_identifier (sym->binding_label); ++ return sym->binding_label; + +- if (!sym->fn_result_spec) ++ if (!sym->fn_result_spec ++ || (sym->module && !(proc && proc->attr.flavor == FL_PROCEDURE))) + { + if (sym->module == NULL) +- return gfc_sym_identifier (sym); ++ return sym_identifier (sym); + else +- { +- snprintf (name, sizeof name, "__%s_MOD_%s", sym->module, sym->name); +- return get_identifier (name); +- } ++ snprintf (name, sizeof name, "__%s_MOD_%s", sym->module, sym->name); + } + else + { + /* This is an entity that is actually local to a module procedure + that appears in the result specification expression. Since + sym->module will be a zero length string, we use ns->proc_name +- instead. */ +- if (sym->ns->proc_name && sym->ns->proc_name->module) +- { +- snprintf (name, sizeof name, "__%s_MOD__%s_PROC_%s", +- sym->ns->proc_name->module, +- sym->ns->proc_name->name, +- sym->name); +- return get_identifier (name); +- } ++ to provide the module name instead. */ ++ if (proc && proc->module) ++ snprintf (name, sizeof name, "__%s_MOD__%s_PROC_%s", ++ proc->module, proc->name, sym->name); + else +- { +- snprintf (name, sizeof name, "__%s_PROC_%s", +- sym->ns->proc_name->name, sym->name); +- return get_identifier (name); +- } ++ snprintf (name, sizeof name, "__%s_PROC_%s", ++ proc->name, sym->name); + } ++ ++ return name; + } + ++/* Get mangled identifier, adding the symbol to the global table if ++ it is not yet already there. */ ++ ++static tree ++gfc_sym_mangled_identifier (gfc_symbol * sym) ++{ ++ tree result; ++ gfc_gsymbol *gsym; ++ const char *name; ++ ++ name = mangled_identifier (sym); ++ result = get_identifier (name); ++ ++ gsym = gfc_find_gsymbol (gfc_gsym_root, name); ++ if (gsym == NULL) ++ { ++ gsym = gfc_get_gsymbol (name, false); ++ gsym->ns = sym->ns; ++ gsym->sym_name = sym->name; ++ } ++ ++ return result; ++} + + /* Construct mangled function name from symbol name. */ + +@@ -839,7 +861,7 @@ gfc_get_module_backend_decl (gfc_symbol *sym) + { + 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); + } +@@ -1604,15 +1626,18 @@ gfc_get_symbol_decl (gfc_symbol * sym) + /* Add the string length to the same context as the symbol. */ + if (DECL_CONTEXT (length) == NULL_TREE) + { +- if (DECL_CONTEXT (sym->backend_decl) +- == current_function_decl) ++ if (sym->backend_decl == current_function_decl ++ || (DECL_CONTEXT (sym->backend_decl) ++ == current_function_decl)) + gfc_add_decl_to_function (length); + else + gfc_add_decl_to_parent_function (length); + } + +- gcc_assert (DECL_CONTEXT (sym->backend_decl) +- == DECL_CONTEXT (length)); ++ gcc_assert (sym->backend_decl == current_function_decl ++ ? DECL_CONTEXT (length) == current_function_decl ++ : (DECL_CONTEXT (sym->backend_decl) ++ == DECL_CONTEXT (length))); + + gfc_defer_symbol_init (sym); + } +@@ -1863,9 +1888,18 @@ gfc_get_symbol_decl (gfc_symbol * sym) + if (sym->attr.associate_var) + GFC_DECL_ASSOCIATE_VAR_P (decl) = 1; + +- if (sym->attr.vtab +- || (sym->name[0] == '_' && strncmp ("__def_init", sym->name, 10) == 0)) +- TREE_READONLY (decl) = 1; ++ /* We only mark __def_init as read-only if it actually has an ++ initializer so it does not needlessly take up space in the ++ read-only section and can go into the BSS instead, see PR 84487. ++ Marking this as artificial means that OpenMP will treat this as ++ predetermined shared. */ ++ ++ if (sym->attr.vtab || strncmp ("__def_init", sym->name, 10) == 0) ++ { ++ DECL_ARTIFICIAL (decl) = 1; ++ if (sym->attr.vtab || sym->value) ++ TREE_READONLY (decl) = 1; ++ } + + return decl; + } +@@ -1905,6 +1939,22 @@ get_proc_pointer_decl (gfc_symbol *sym) + tree decl; + tree attributes; + ++ if (sym->module || sym->fn_result_spec) ++ { ++ const char *name; ++ gfc_gsymbol *gsym; ++ ++ name = mangled_identifier (sym); ++ gsym = gfc_find_gsymbol (gfc_gsym_root, name); ++ if (gsym != NULL) ++ { ++ gfc_symbol *s; ++ gfc_find_symbol (sym->name, gsym->ns, 0, &s); ++ if (s && s->backend_decl) ++ return s->backend_decl; ++ } ++ } ++ + decl = sym->backend_decl; + if (decl) + return decl; +@@ -1977,7 +2027,7 @@ get_proc_pointer_decl (gfc_symbol *sym) + /* 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,9 +2052,22 @@ gfc_get_extern_function_decl (gfc_symbol * sym) + 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 +2213,7 @@ module_sym: + 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); + +@@ -2500,6 +2563,17 @@ create_function_arglist (gfc_symbol * sym) + TREE_READONLY (length) = 1; + gfc_finish_decl (length); + ++ /* Marking the length DECL_HIDDEN_STRING_LENGTH will lead ++ to tail calls being disabled. Only do that if we ++ potentially have broken callers. */ ++ if (flag_tail_call_workaround ++ && f->sym->ts.u.cl ++ && f->sym->ts.u.cl->length ++ && f->sym->ts.u.cl->length->expr_type == EXPR_CONSTANT ++ && (flag_tail_call_workaround == 2 ++ || f->sym->ns->implicit_interface_calls)) ++ DECL_HIDDEN_STRING_LENGTH (length) = 1; ++ + /* Remember the passed value. */ + if (!f->sym->ts.u.cl || f->sym->ts.u.cl->passed_length) + { +@@ -5384,6 +5458,33 @@ generate_coarray_sym_init (gfc_symbol *sym) + /* 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); +@@ -5628,9 +5729,11 @@ generate_local_decl (gfc_symbol * sym) + } + else if (warn_unused_dummy_argument) + { +- gfc_warning (OPT_Wunused_dummy_argument, +- "Unused dummy argument %qs at %L", sym->name, +- &sym->declared_at); ++ if (!sym->attr.artificial) ++ gfc_warning (OPT_Wunused_dummy_argument, ++ "Unused dummy argument %qs at %L", sym->name, ++ &sym->declared_at); ++ + if (sym->backend_decl != NULL_TREE) + TREE_NO_WARNING(sym->backend_decl) = 1; + } +@@ -5722,7 +5825,14 @@ generate_local_decl (gfc_symbol * sym) + + if (sym->ns && sym->ns->construct_entities) + { +- if (sym->attr.referenced) ++ /* Construction of the intrinsic modules within a BLOCK ++ construct, where ONLY and RENAMED entities are included, ++ seems to be bogus. This is a workaround that can be removed ++ if someone ever takes on the task to creating full-fledge ++ modules. See PR 69455. */ ++ if (sym->attr.referenced ++ && sym->from_intmod != INTMOD_ISO_C_BINDING ++ && sym->from_intmod != INTMOD_ISO_FORTRAN_ENV) + gfc_get_symbol_decl (sym); + sym->mark = 1; + } +--- a/src/gcc/fortran/trans-expr.c ++++ b/src/gcc/fortran/trans-expr.c +@@ -352,7 +352,7 @@ gfc_vptr_size_get (tree vptr) + 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 @@ gfc_find_and_cut_at_last_class_ref (gfc_expr *e) + 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 @@ conv_base_obj_fcn_val (gfc_se * se, tree base_object, gfc_expr * expr) + + + 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 @@ conv_function_val (gfc_se * se, gfc_symbol * sym, gfc_expr * expr) + 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 @@ gfc_conv_procedure_call (gfc_se * se, gfc_symbol * sym, + + /* 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); + +@@ -8385,23 +8389,6 @@ trans_caf_token_assign (gfc_se *lse, gfc_se *rse, gfc_expr *expr1, + } + } + +-/* Indentify class valued proc_pointer assignments. */ +- +-static bool +-pointer_assignment_is_proc_pointer (gfc_expr * expr1, gfc_expr * expr2) +-{ +- gfc_ref * ref; +- +- ref = expr1->ref; +- while (ref && ref->next) +- ref = ref->next; +- +- return ref && ref->type == REF_COMPONENT +- && ref->u.c.component->attr.proc_pointer +- && expr2->expr_type == EXPR_VARIABLE +- && expr2->symtree->n.sym->attr.flavor == FL_PROCEDURE; +-} +- + + /* Do everything that is needed for a CLASS function expr2. */ + +@@ -8454,7 +8441,7 @@ gfc_trans_pointer_assignment (gfc_expr * expr1, gfc_expr * expr2) + tree desc; + tree tmp; + tree expr1_vptr = NULL_TREE; +- bool scalar, non_proc_pointer_assign; ++ bool scalar, non_proc_ptr_assign; + gfc_ss *ss; + + gfc_start_block (&block); +@@ -8462,7 +8449,9 @@ gfc_trans_pointer_assignment (gfc_expr * expr1, gfc_expr * expr2) + gfc_init_se (&lse, NULL); + + /* Usually testing whether this is not a proc pointer assignment. */ +- non_proc_pointer_assign = !pointer_assignment_is_proc_pointer (expr1, expr2); ++ non_proc_ptr_assign = !(gfc_expr_attr (expr1).proc_pointer ++ && expr2->expr_type == EXPR_VARIABLE ++ && expr2->symtree->n.sym->attr.flavor == FL_PROCEDURE); + + /* Check whether the expression is a scalar or not; we cannot use + expr1->rank as it can be nonzero for proc pointers. */ +@@ -8472,7 +8461,7 @@ gfc_trans_pointer_assignment (gfc_expr * expr1, gfc_expr * expr2) + gfc_free_ss_chain (ss); + + if (expr1->ts.type == BT_DERIVED && expr2->ts.type == BT_CLASS +- && expr2->expr_type != EXPR_FUNCTION && non_proc_pointer_assign) ++ && expr2->expr_type != EXPR_FUNCTION && non_proc_ptr_assign) + { + gfc_add_data_component (expr2); + /* The following is required as gfc_add_data_component doesn't +@@ -8492,7 +8481,7 @@ gfc_trans_pointer_assignment (gfc_expr * expr1, gfc_expr * expr2) + else + gfc_conv_expr (&rse, expr2); + +- if (non_proc_pointer_assign && expr1->ts.type == BT_CLASS) ++ if (non_proc_ptr_assign && expr1->ts.type == BT_CLASS) + { + trans_class_vptr_len_assignment (&block, expr1, expr2, &rse, NULL, + NULL); +--- a/src/gcc/fortran/trans-intrinsic.c ++++ b/src/gcc/fortran/trans-intrinsic.c +@@ -6820,6 +6820,8 @@ gfc_conv_intrinsic_size (gfc_se * se, gfc_expr * expr) + tree fncall0; + tree fncall1; + gfc_se argse; ++ gfc_expr *e; ++ gfc_symbol *sym = NULL; + + gfc_init_se (&argse, NULL); + actual = expr->value.function.actual; +@@ -6827,12 +6829,31 @@ gfc_conv_intrinsic_size (gfc_se * se, gfc_expr * expr) + if (actual->expr->ts.type == BT_CLASS) + gfc_add_class_array_ref (actual->expr); + ++ e = actual->expr; ++ ++ /* These are emerging from the interface mapping, when a class valued ++ function appears as the rhs in a realloc on assign statement, where ++ the size of the result is that of one of the actual arguments. */ ++ if (e->expr_type == EXPR_VARIABLE ++ && e->symtree->n.sym->ns == NULL /* This is distinctive! */ ++ && e->symtree->n.sym->ts.type == BT_CLASS ++ && e->ref && e->ref->type == REF_COMPONENT ++ && strcmp (e->ref->u.c.component->name, "_data") == 0) ++ sym = e->symtree->n.sym; ++ + argse.data_not_needed = 1; +- if (gfc_is_class_array_function (actual->expr)) ++ if (gfc_is_class_array_function (e)) + { + /* For functions that return a class array conv_expr_descriptor is not + able to get the descriptor right. Therefore this special case. */ +- gfc_conv_expr_reference (&argse, actual->expr); ++ gfc_conv_expr_reference (&argse, e); ++ argse.expr = gfc_build_addr_expr (NULL_TREE, ++ gfc_class_data_get (argse.expr)); ++ } ++ else if (sym && sym->backend_decl) ++ { ++ gcc_assert (GFC_CLASS_TYPE_P (TREE_TYPE (sym->backend_decl))); ++ argse.expr = sym->backend_decl; + argse.expr = gfc_build_addr_expr (NULL_TREE, + gfc_class_data_get (argse.expr)); + } +--- a/src/gcc/fortran/trans-io.c ++++ b/src/gcc/fortran/trans-io.c +@@ -2408,8 +2408,6 @@ transfer_expr (gfc_se * se, gfc_typespec * ts, tree addr_expr, + + 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; +--- a/src/gcc/fortran/trans-openmp.c ++++ b/src/gcc/fortran/trans-openmp.c +@@ -548,6 +548,9 @@ gfc_omp_clause_default_ctor (tree clause, tree decl, tree outer) + build3_loc (input_location, COND_EXPR, + void_type_node, cond, then_b, + else_b)); ++ /* Avoid -W*uninitialized warnings. */ ++ if (DECL_P (decl)) ++ TREE_NO_WARNING (decl) = 1; + } + else + gfc_add_expr_to_block (&block, then_b); +@@ -654,6 +657,9 @@ gfc_omp_clause_copy_ctor (tree clause, tree dest, tree src) + gfc_add_expr_to_block (&block, + build3_loc (input_location, COND_EXPR, + void_type_node, cond, then_b, else_b)); ++ /* Avoid -W*uninitialized warnings. */ ++ if (DECL_P (dest)) ++ TREE_NO_WARNING (dest) = 1; + + return gfc_finish_block (&block); + } +@@ -3176,7 +3182,6 @@ gfc_trans_omp_atomic (gfc_code *code) + expr2 = code->expr2; + if (((atomic_code->ext.omp_atomic & GFC_OMP_ATOMIC_MASK) + != GFC_OMP_ATOMIC_WRITE) +- && (atomic_code->ext.omp_atomic & GFC_OMP_ATOMIC_SWAP) == 0 + && expr2->expr_type == EXPR_FUNCTION + && expr2->value.function.isym + && expr2->value.function.isym->id == GFC_ISYM_CONVERSION) +@@ -4740,6 +4745,7 @@ gfc_trans_omp_target (gfc_code *code) + { + stmtblock_t iblock; + ++ pushlevel (); + gfc_start_block (&iblock); + tree inner_clauses + = gfc_trans_omp_clauses (&block, &clausesa[GFC_OMP_SPLIT_PARALLEL], +--- a/src/gcc/fortran/trans-stmt.c ++++ b/src/gcc/fortran/trans-stmt.c +@@ -1842,7 +1842,8 @@ trans_associate_var (gfc_symbol *sym, gfc_wrapped_block *block) + { + if (e->symtree + && DECL_LANG_SPECIFIC (e->symtree->n.sym->backend_decl) +- && GFC_DECL_SAVED_DESCRIPTOR (e->symtree->n.sym->backend_decl)) ++ && GFC_DECL_SAVED_DESCRIPTOR (e->symtree->n.sym->backend_decl) ++ && TREE_CODE (target_expr) != COMPONENT_REF) + /* Use the original class descriptor stored in the saved + descriptor to get the target_expr. */ + target_expr = +@@ -6606,7 +6607,7 @@ gfc_trans_allocate (gfc_code * code) + /* 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); +--- a/src/gcc/fortran/trans-types.c ++++ b/src/gcc/fortran/trans-types.c +@@ -1213,7 +1213,8 @@ gfc_typenode_for_spec (gfc_typespec * spec, int codim) + { + 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: +@@ -1230,6 +1231,9 @@ gfc_typenode_for_spec (gfc_typespec * spec, int codim) + basetype = pfunc_type_node; + } + break; ++ case BT_PROCEDURE: ++ basetype = pfunc_type_node; ++ break; + default: + gcc_unreachable (); + } +@@ -2978,7 +2982,8 @@ create_fn_spec (gfc_symbol *sym, tree fntype) + || 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 +2996,65 @@ create_fn_spec (gfc_symbol *sym, tree fntype) + 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, gfc_current_ns, &s); ++ if (a->expr->ts.type == BT_PROCEDURE) ++ { ++ s->attr.flavor = FL_PROCEDURE; ++ } ++ else ++ { ++ s->ts = a->expr->ts; ++ ++ if (s->ts.type == BT_CHARACTER) ++ s->ts.u.cl = gfc_get_charlen (); ++ ++ s->ts.deferred = 0; ++ s->ts.is_iso_c = 0; ++ s->ts.is_c_interop = 0; ++ 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.artificial = 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 *typelist = NULL; +@@ -3051,6 +3112,10 @@ gfc_get_function_type (gfc_symbol * sym) + 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) +--- a/src/gcc/fortran/trans-types.h ++++ b/src/gcc/fortran/trans-types.h +@@ -88,7 +88,7 @@ tree gfc_sym_type (gfc_symbol *); + 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); +--- a/src/gcc/fortran/trans.h ++++ b/src/gcc/fortran/trans.h +@@ -412,7 +412,7 @@ tree gfc_class_data_get (tree); + 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 @@ void gfc_merge_block_scope (stmtblock_t * block); + 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 *); +--- a/src/gcc/function.c ++++ b/src/gcc/function.c +@@ -2477,8 +2477,7 @@ assign_parm_find_data_types (struct assign_parm_data_all *all, tree parm, + /* If the parm is to be passed as a transparent union or record, use the + type of the first field for the tests below. We have already verified + that the modes are the same. */ +- if ((TREE_CODE (passed_type) == UNION_TYPE +- || TREE_CODE (passed_type) == RECORD_TYPE) ++ if (RECORD_OR_UNION_TYPE_P (passed_type) + && TYPE_TRANSPARENT_AGGR (passed_type)) + passed_type = TREE_TYPE (first_field (passed_type)); + +@@ -3098,7 +3097,7 @@ assign_parm_setup_block (struct assign_parm_data_all *all, + move_block_from_reg (REGNO (entry_parm), mem, + size_stored / UNITS_PER_WORD); + } +- else if (data->stack_parm == 0) ++ else if (data->stack_parm == 0 && !TYPE_EMPTY_P (data->passed_type)) + { + push_to_sequence2 (all->first_conversion_insn, all->last_conversion_insn); + emit_block_move (stack_parm, data->entry_parm, GEN_INT (size), +@@ -3474,7 +3473,9 @@ assign_parm_setup_stack (struct assign_parm_data_all *all, tree parm, + dest = validize_mem (copy_rtx (data->stack_parm)); + src = validize_mem (copy_rtx (data->entry_parm)); + +- if (MEM_P (src)) ++ if (TYPE_EMPTY_P (data->passed_type)) ++ /* Empty types don't really need to be copied. */; ++ else if (MEM_P (src)) + { + /* Use a block move to handle potentially misaligned entry_parm. */ + if (!to_conversion) +@@ -3749,6 +3750,16 @@ assign_parms (tree fndecl) + { + assign_parm_find_stack_rtl (parm, &data); + assign_parm_adjust_entry_rtl (&data); ++ /* For arguments that occupy no space in the parameter ++ passing area, have non-zero size and have address taken, ++ force creation of a stack slot so that they have distinct ++ address from other parameters. */ ++ if (TYPE_EMPTY_P (data.passed_type) ++ && TREE_ADDRESSABLE (parm) ++ && data.entry_parm == data.stack_parm ++ && MEM_P (data.entry_parm) ++ && int_size_in_bytes (data.passed_type)) ++ data.stack_parm = NULL_RTX; + } + if (!POINTER_BOUNDS_TYPE_P (data.passed_type)) + { +--- a/src/gcc/gcov.c ++++ b/src/gcc/gcov.c +@@ -604,27 +604,11 @@ bool function_info::group_line_p (unsigned n, unsigned src_idx) + typedef vector arc_vector_t; + typedef vector block_vector_t; + +-/* Enum with types of loop in CFG. */ +- +-enum loop_type +-{ +- NO_LOOP = 0, +- LOOP = 1, +- NEGATIVE_LOOP = 3 +-}; +- +-/* Loop_type operator that merges two values: A and B. */ +- +-inline loop_type& operator |= (loop_type& a, loop_type b) +-{ +- return a = static_cast (a | b); +-} +- + /* Handle cycle identified by EDGES, where the function finds minimum cs_count + and subtract the value from all counts. The subtracted value is added + to COUNT. Returns type of loop. */ + +-static loop_type ++static void + handle_cycle (const arc_vector_t &edges, int64_t &count) + { + /* Find the minimum edge of the cycle, and reduce all nodes in the cycle by +@@ -640,7 +624,7 @@ handle_cycle (const arc_vector_t &edges, int64_t &count) + for (unsigned i = 0; i < edges.size (); i++) + edges[i]->cs_count -= cycle_count; + +- return cycle_count < 0 ? NEGATIVE_LOOP : LOOP; ++ gcc_assert (cycle_count > 0); + } + + /* Unblock a block U from BLOCKED. Apart from that, iterate all blocks +@@ -666,17 +650,28 @@ unblock (const block_info *u, block_vector_t &blocked, + unblock (*it, blocked, block_lists); + } + ++/* Return true when PATH contains a zero cycle arc count. */ ++ ++static bool ++path_contains_zero_cycle_arc (arc_vector_t &path) ++{ ++ for (unsigned i = 0; i < path.size (); i++) ++ if (path[i]->cs_count == 0) ++ return true; ++ return false; ++} ++ + /* Find circuit going to block V, PATH is provisional seen cycle. + BLOCKED is vector of blocked vertices, BLOCK_LISTS contains vertices + blocked by a block. COUNT is accumulated count of the current LINE. + Returns what type of loop it contains. */ + +-static loop_type ++static bool + circuit (block_info *v, arc_vector_t &path, block_info *start, + block_vector_t &blocked, vector &block_lists, + line_info &linfo, int64_t &count) + { +- loop_type result = NO_LOOP; ++ bool loop_found = false; + + /* Add v to the block list. */ + gcc_assert (find (blocked.begin (), blocked.end (), v) == blocked.end ()); +@@ -686,26 +681,35 @@ circuit (block_info *v, arc_vector_t &path, block_info *start, + for (arc_info *arc = v->succ; arc; arc = arc->succ_next) + { + block_info *w = arc->dst; +- if (w < start || !linfo.has_block (w)) ++ if (w < start ++ || arc->cs_count == 0 ++ || !linfo.has_block (w)) + continue; + + path.push_back (arc); + if (w == start) +- /* Cycle has been found. */ +- result |= handle_cycle (path, count); +- else if (find (blocked.begin (), blocked.end (), w) == blocked.end ()) +- result |= circuit (w, path, start, blocked, block_lists, linfo, count); ++ { ++ /* Cycle has been found. */ ++ handle_cycle (path, count); ++ loop_found = true; ++ } ++ else if (!path_contains_zero_cycle_arc (path) ++ && find (blocked.begin (), blocked.end (), w) == blocked.end ()) ++ loop_found |= circuit (w, path, start, blocked, block_lists, linfo, ++ count); + + path.pop_back (); + } + +- if (result != NO_LOOP) ++ if (loop_found) + unblock (v, blocked, block_lists); + else + for (arc_info *arc = v->succ; arc; arc = arc->succ_next) + { + block_info *w = arc->dst; +- if (w < start || !linfo.has_block (w)) ++ if (w < start ++ || arc->cs_count == 0 ++ || !linfo.has_block (w)) + continue; + + size_t index +@@ -716,14 +720,13 @@ circuit (block_info *v, arc_vector_t &path, block_info *start, + list.push_back (v); + } + +- return result; ++ return loop_found; + } + +-/* Find cycles for a LINFO. If HANDLE_NEGATIVE_CYCLES is set and the line +- contains a negative loop, then perform the same function once again. */ ++/* Find cycles for a LINFO. */ + + static gcov_type +-get_cycles_count (line_info &linfo, bool handle_negative_cycles = true) ++get_cycles_count (line_info &linfo) + { + /* Note that this algorithm works even if blocks aren't in sorted order. + Each iteration of the circuit detection is completely independent +@@ -731,7 +734,7 @@ get_cycles_count (line_info &linfo, bool handle_negative_cycles = true) + Therefore, operating on a permuted order (i.e., non-sorted) only + has the effect of permuting the output cycles. */ + +- loop_type result = NO_LOOP; ++ bool loop_found = false; + gcov_type count = 0; + for (vector::iterator it = linfo.blocks.begin (); + it != linfo.blocks.end (); it++) +@@ -739,14 +742,10 @@ get_cycles_count (line_info &linfo, bool handle_negative_cycles = true) + arc_vector_t path; + block_vector_t blocked; + vector block_lists; +- result |= circuit (*it, path, *it, blocked, block_lists, linfo, +- count); ++ loop_found |= circuit (*it, path, *it, blocked, block_lists, linfo, ++ count); + } + +- /* If we have a negative cycle, repeat the find_cycles routine. */ +- if (result == NEGATIVE_LOOP && handle_negative_cycles) +- count += get_cycles_count (linfo, false); +- + return count; + } + +--- a/src/gcc/gcse.c ++++ b/src/gcc/gcse.c +@@ -1532,7 +1532,8 @@ compute_hash_table_work (struct gcse_hash_table_d *table) + 0, regno, hrsi) + record_last_reg_set_info (insn, regno); + +- if (! RTL_CONST_OR_PURE_CALL_P (insn)) ++ if (! RTL_CONST_OR_PURE_CALL_P (insn) ++ || RTL_LOOPING_CONST_OR_PURE_CALL_P (insn)) + record_last_mem_set_info (insn); + } + +--- a/src/gcc/ggc-page.c ++++ b/src/gcc/ggc-page.c +@@ -2555,6 +2555,9 @@ ggc_pch_read (FILE *f, void *addr) + + count_old_page_tables = G.by_depth_in_use; + ++ if (fread (&d, sizeof (d), 1, f) != 1) ++ fatal_error (input_location, "cannot read PCH file: %m"); ++ + /* We've just read in a PCH file. So, every object that used to be + allocated is now free. */ + clear_marks (); +@@ -2583,8 +2586,6 @@ ggc_pch_read (FILE *f, void *addr) + + /* Allocate the appropriate page-table entries for the pages read from + the PCH file. */ +- if (fread (&d, sizeof (d), 1, f) != 1) +- fatal_error (input_location, "can%'t read PCH file: %m"); + + for (i = 0; i < NUM_ORDERS; i++) + { +--- a/src/gcc/gimple-fold.c ++++ b/src/gcc/gimple-fold.c +@@ -3031,11 +3031,10 @@ gimple_fold_builtin_sprintf (gimple_stmt_iterator *gsi) + gimple_seq stmts = NULL; + gimple *repl = gimple_build_call (fn, 2, dest, fmt); + gimple_seq_add_stmt_without_update (&stmts, repl); +- if (gimple_call_lhs (stmt)) ++ if (tree lhs = gimple_call_lhs (stmt)) + { +- repl = gimple_build_assign (gimple_call_lhs (stmt), +- build_int_cst (integer_type_node, +- strlen (fmt_str))); ++ repl = gimple_build_assign (lhs, build_int_cst (TREE_TYPE (lhs), ++ strlen (fmt_str))); + gimple_seq_add_stmt_without_update (&stmts, repl); + gsi_replace_with_seq_vops (gsi, stmts); + /* gsi now points at the assignment to the lhs, get a +@@ -3079,12 +3078,12 @@ gimple_fold_builtin_sprintf (gimple_stmt_iterator *gsi) + gimple_seq stmts = NULL; + gimple *repl = gimple_build_call (fn, 2, dest, orig); + gimple_seq_add_stmt_without_update (&stmts, repl); +- if (gimple_call_lhs (stmt)) ++ if (tree lhs = gimple_call_lhs (stmt)) + { +- if (!useless_type_conversion_p (integer_type_node, ++ if (!useless_type_conversion_p (TREE_TYPE (lhs), + TREE_TYPE (orig_len))) +- orig_len = fold_convert (integer_type_node, orig_len); +- repl = gimple_build_assign (gimple_call_lhs (stmt), orig_len); ++ orig_len = fold_convert (TREE_TYPE (lhs), orig_len); ++ repl = gimple_build_assign (lhs, orig_len); + gimple_seq_add_stmt_without_update (&stmts, repl); + gsi_replace_with_seq_vops (gsi, stmts); + /* gsi now points at the assignment to the lhs, get a +@@ -3164,10 +3163,10 @@ gimple_fold_builtin_snprintf (gimple_stmt_iterator *gsi) + gimple_seq stmts = NULL; + gimple *repl = gimple_build_call (fn, 2, dest, fmt); + gimple_seq_add_stmt_without_update (&stmts, repl); +- if (gimple_call_lhs (stmt)) ++ if (tree lhs = gimple_call_lhs (stmt)) + { +- repl = gimple_build_assign (gimple_call_lhs (stmt), +- build_int_cst (integer_type_node, len)); ++ repl = gimple_build_assign (lhs, ++ build_int_cst (TREE_TYPE (lhs), len)); + gimple_seq_add_stmt_without_update (&stmts, repl); + gsi_replace_with_seq_vops (gsi, stmts); + /* gsi now points at the assignment to the lhs, get a +@@ -3216,12 +3215,12 @@ gimple_fold_builtin_snprintf (gimple_stmt_iterator *gsi) + gimple_seq stmts = NULL; + gimple *repl = gimple_build_call (fn, 2, dest, orig); + gimple_seq_add_stmt_without_update (&stmts, repl); +- if (gimple_call_lhs (stmt)) ++ if (tree lhs = gimple_call_lhs (stmt)) + { +- if (!useless_type_conversion_p (integer_type_node, ++ if (!useless_type_conversion_p (TREE_TYPE (lhs), + TREE_TYPE (orig_len))) +- orig_len = fold_convert (integer_type_node, orig_len); +- repl = gimple_build_assign (gimple_call_lhs (stmt), orig_len); ++ orig_len = fold_convert (TREE_TYPE (lhs), orig_len); ++ repl = gimple_build_assign (lhs, orig_len); + gimple_seq_add_stmt_without_update (&stmts, repl); + gsi_replace_with_seq_vops (gsi, stmts); + /* gsi now points at the assignment to the lhs, get a +@@ -6721,14 +6720,10 @@ fold_const_aggregate_ref_1 (tree t, tree (*valueize) (tree)) + = wi::sext (wi::to_poly_offset (idx) + - wi::to_poly_offset (low_bound), + TYPE_PRECISION (TREE_TYPE (idx))); +- ++ woffset *= tree_to_uhwi (unit_size); ++ woffset *= BITS_PER_UNIT; + if (woffset.to_shwi (&offset)) + { +- /* TODO: This code seems wrong, multiply then check +- to see if it fits. */ +- offset *= tree_to_uhwi (unit_size); +- offset *= BITS_PER_UNIT; +- + base = TREE_OPERAND (t, 0); + ctor = get_base_constructor (base, &offset, valueize); + /* Empty constructor. Always fold to 0. */ +--- a/src/gcc/gimple-ssa-sprintf.c ++++ b/src/gcc/gimple-ssa-sprintf.c +@@ -376,9 +376,14 @@ target_to_host (char *hostr, size_t hostsz, const char *targstr) + overlong strings just like the translated strings are. */ + if (target_to_host_charmap['\0'] == 1) + { +- strncpy (hostr, targstr, hostsz - 4); +- if (strlen (targstr) >= hostsz) +- strcpy (hostr + hostsz - 4, "..."); ++ size_t len = strlen (targstr); ++ if (len >= hostsz) ++ { ++ memcpy (hostr, targstr, hostsz - 4); ++ strcpy (hostr + hostsz - 4, "..."); ++ } ++ else ++ memcpy (hostr, targstr, len + 1); + return hostr; + } + +@@ -392,10 +397,9 @@ target_to_host (char *hostr, size_t hostsz, const char *targstr) + if (!*targstr) + break; + +- if (size_t (ph - hostr) == hostsz - 4) ++ if (size_t (ph - hostr) == hostsz) + { +- *ph = '\0'; +- strcat (ph, "..."); ++ strcpy (ph - 4, "..."); + break; + } + } +@@ -3662,10 +3666,10 @@ try_substitute_return_value (gimple_stmt_iterator *gsi, + are badly declared. */ + && !stmt_ends_bb_p (info.callstmt)) + { +- tree cst = build_int_cst (integer_type_node, retval[0]); ++ tree cst = build_int_cst (lhs ? TREE_TYPE (lhs) : integer_type_node, ++ retval[0]); + +- if (lhs == NULL_TREE +- && info.nowrite) ++ if (lhs == NULL_TREE && info.nowrite) + { + /* Remove the call to the bounded function with a zero size + (e.g., snprintf(0, 0, "%i", 123)) if there is no lhs. */ +@@ -3706,7 +3710,7 @@ try_substitute_return_value (gimple_stmt_iterator *gsi, + } + } + } +- else if (lhs) ++ else if (lhs && types_compatible_p (TREE_TYPE (lhs), integer_type_node)) + { + bool setrange = false; + +--- a/src/gcc/gimple-ssa-warn-restrict.c ++++ b/src/gcc/gimple-ssa-warn-restrict.c +@@ -314,13 +314,9 @@ builtin_memref::extend_offset_range (tree offset) + 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) +@@ -702,6 +698,10 @@ builtin_access::builtin_access (gcall *call, builtin_memref &dst, + offset_int bounds[2] = { maxobjsize, maxobjsize }; + if (dstref->strbounded_p) + { ++ unsigned nargs = gimple_call_num_args (call); ++ if (nargs <= sizeargno) ++ return; ++ + tree size = gimple_call_arg (call, sizeargno); + tree range[2]; + if (get_size_range (size, range, true)) +--- a/src/gcc/gimplify.c ++++ b/src/gcc/gimplify.c +@@ -191,6 +191,7 @@ struct gimplify_omp_ctx + bool target_map_scalars_firstprivate; + bool target_map_pointers_as_0len_arrays; + bool target_firstprivatize_array_bases; ++ bool add_safelen1; + }; + + static struct gimplify_ctx *gimplify_ctxp; +@@ -1294,12 +1295,17 @@ gimplify_bind_expr (tree *expr_p, gimple_seq *pre_p) + || splay_tree_lookup (ctx->variables, + (splay_tree_key) t) == NULL)) + { ++ int flag = GOVD_LOCAL; + if (ctx->region_type == ORT_SIMD + && TREE_ADDRESSABLE (t) + && !TREE_STATIC (t)) +- omp_add_variable (ctx, t, GOVD_PRIVATE | GOVD_SEEN); +- else +- omp_add_variable (ctx, t, GOVD_LOCAL | GOVD_SEEN); ++ { ++ if (TREE_CODE (DECL_SIZE_UNIT (t)) != INTEGER_CST) ++ ctx->add_safelen1 = true; ++ else ++ flag = GOVD_PRIVATE; ++ } ++ omp_add_variable (ctx, t, flag | GOVD_SEEN); + } + + DECL_SEEN_IN_BIND_EXPR_P (t) = 1; +@@ -4650,6 +4656,7 @@ gimplify_compound_literal_expr (tree *expr_p, gimple_seq *pre_p, + otherwise we'd generate a new temporary, and we can as well just + use the decl we already have. */ + else if (!TREE_ADDRESSABLE (decl) ++ && !TREE_THIS_VOLATILE (decl) + && init + && (fallback & fb_lvalue) == 0 + && gimple_test_f (init)) +@@ -4946,7 +4953,7 @@ gimplify_init_constructor (tree *expr_p, gimple_seq *pre_p, gimple_seq *post_p, + one field to assign, initialize the target from a temporary. */ + if (TREE_THIS_VOLATILE (object) + && !TREE_ADDRESSABLE (type) +- && num_nonzero_elements > 0 ++ && (num_nonzero_elements > 0 || !cleared) + && vec_safe_length (elts) > 1) + { + tree temp = create_tmp_var (TYPE_MAIN_VARIANT (type)); +@@ -6144,6 +6151,19 @@ gimplify_asm_expr (tree *expr_p, gimple_seq *pre_p, gimple_seq *post_p) + is_inout = false; + } + ++ /* If we can't make copies, we can only accept memory. */ ++ if (TREE_ADDRESSABLE (TREE_TYPE (TREE_VALUE (link)))) ++ { ++ if (allows_mem) ++ allows_reg = 0; ++ else ++ { ++ error ("impossible constraint in %"); ++ error ("non-memory output %d must stay in memory", i); ++ return GS_ERROR; ++ } ++ } ++ + if (!allows_reg && allows_mem) + mark_addressable (TREE_VALUE (link)); + +@@ -6639,6 +6659,7 @@ gimplify_target_expr (tree *expr_p, gimple_seq *pre_p, gimple_seq *post_p) + } + if (asan_poisoned_variables + && DECL_ALIGN (temp) <= MAX_SUPPORTED_STACK_ALIGNMENT ++ && !TREE_STATIC (temp) + && dbg_cnt (asan_use_after_scope) + && !gimplify_omp_ctxp) + { +@@ -8160,8 +8181,8 @@ gimplify_scan_omp_clauses (tree *list_p, gimple_seq *pre_p, + break; + if (scp) + continue; +- gcc_assert (offset == NULL_TREE +- || poly_int_tree_p (offset)); ++ gcc_assert (offset2 == NULL_TREE ++ || poly_int_tree_p (offset2)); + tree d1 = OMP_CLAUSE_DECL (*sc); + tree d2 = OMP_CLAUSE_DECL (c); + while (TREE_CODE (d1) == ARRAY_REF) +@@ -9011,6 +9032,19 @@ gimplify_adjust_omp_clauses (gimple_seq *pre_p, gimple_seq body, tree *list_p, + omp_find_stores_op, &wi); + } + } ++ ++ if (ctx->add_safelen1) ++ { ++ /* If there are VLAs in the body of simd loop, prevent ++ vectorization. */ ++ gcc_assert (ctx->region_type == ORT_SIMD); ++ c = build_omp_clause (UNKNOWN_LOCATION, OMP_CLAUSE_SAFELEN); ++ OMP_CLAUSE_SAFELEN_EXPR (c) = integer_one_node; ++ OMP_CLAUSE_CHAIN (c) = *list_p; ++ *list_p = c; ++ list_p = &OMP_CLAUSE_CHAIN (c); ++ } ++ + while ((c = *list_p) != NULL) + { + splay_tree_node n; +@@ -12534,7 +12568,8 @@ gimplify_expr (tree *expr_p, gimple_seq *pre_p, gimple_seq *post_p, + { + /* Avoid the extra copy if possible. */ + *expr_p = create_tmp_reg (TREE_TYPE (name)); +- gimple_set_lhs (SSA_NAME_DEF_STMT (name), *expr_p); ++ if (!gimple_nop_p (SSA_NAME_DEF_STMT (name))) ++ gimple_set_lhs (SSA_NAME_DEF_STMT (name), *expr_p); + release_ssa_name (name); + } + } +--- a/src/gcc/graphite-scop-detection.c ++++ b/src/gcc/graphite-scop-detection.c +@@ -1414,9 +1414,13 @@ build_alias_set (scop_p scop) + int i, j; + int *all_vertices; + ++ struct loop *nest ++ = find_common_loop (scop->scop_info->region.entry->dest->loop_father, ++ scop->scop_info->region.exit->src->loop_father); ++ + FOR_EACH_VEC_ELT (scop->drs, i, dr1) + for (j = i+1; scop->drs.iterate (j, &dr2); j++) +- if (dr_may_alias_p (dr1->dr, dr2->dr, true)) ++ if (dr_may_alias_p (dr1->dr, dr2->dr, nest)) + { + /* Dependences in the same alias set need to be handled + by just looking at DR_ACCESS_FNs. */ +--- a/src/gcc/input.c ++++ b/src/gcc/input.c +@@ -3538,6 +3538,34 @@ for_each_line_table_case (void (*testcase) (const line_table_case &)) + 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 @@ input_c_tests () + for_each_line_table_case (test_lexer_char_constants); + + test_reading_source_line (); ++ ++ test_line_offset_overflow (); + } + + } // namespace selftest +--- a/src/gcc/internal-fn.c ++++ b/src/gcc/internal-fn.c +@@ -1385,7 +1385,7 @@ expand_mul_overflow (location_t loc, tree lhs, tree arg0, tree arg1, + /* s1 * s2 -> ur */ + if (!uns0_p && !uns1_p && unsr_p) + { +- rtx tem, tem2; ++ rtx tem; + switch (pos_neg0 | pos_neg1) + { + case 1: /* Both operands known to be non-negative. */ +@@ -1415,10 +1415,8 @@ expand_mul_overflow (location_t loc, tree lhs, tree arg0, tree arg1, + ops.op2 = NULL_TREE; + ops.location = loc; + res = expand_expr_real_2 (&ops, NULL_RTX, mode, EXPAND_NORMAL); +- tem = expand_binop (mode, and_optab, op0, op1, NULL_RTX, false, +- OPTAB_LIB_WIDEN); +- do_compare_rtx_and_jump (tem, const0_rtx, EQ, true, mode, +- NULL_RTX, NULL, done_label, ++ do_compare_rtx_and_jump (pos_neg0 == 1 ? op0 : op1, const0_rtx, EQ, ++ true, mode, NULL_RTX, NULL, done_label, + profile_probability::very_likely ()); + goto do_error_label; + } +@@ -1449,16 +1447,23 @@ expand_mul_overflow (location_t loc, tree lhs, tree arg0, tree arg1, + arg1 = error_mark_node; + emit_jump (do_main_label); + emit_label (after_negate_label); +- tem2 = expand_binop (mode, xor_optab, op0, op1, NULL_RTX, false, +- OPTAB_LIB_WIDEN); +- do_compare_rtx_and_jump (tem2, const0_rtx, GE, false, mode, NULL_RTX, +- NULL, do_main_label, profile_probability::very_likely ()); ++ tem = expand_binop (mode, xor_optab, op0, op1, NULL_RTX, false, ++ OPTAB_LIB_WIDEN); ++ do_compare_rtx_and_jump (tem, const0_rtx, GE, false, mode, NULL_RTX, ++ NULL, do_main_label, ++ profile_probability::very_likely ()); + /* One argument is negative here, the other positive. This + overflows always, unless one of the arguments is 0. But + if e.g. s2 is 0, (U) s1 * 0 doesn't overflow, whatever s1 + is, thus we can keep do_main code oring in overflow as is. */ +- do_compare_rtx_and_jump (tem, const0_rtx, EQ, true, mode, NULL_RTX, +- NULL, do_main_label, profile_probability::very_likely ()); ++ if (pos_neg0 != 2) ++ do_compare_rtx_and_jump (op0, const0_rtx, EQ, true, mode, NULL_RTX, ++ NULL, do_main_label, ++ profile_probability::very_unlikely ()); ++ if (pos_neg1 != 2) ++ do_compare_rtx_and_jump (op1, const0_rtx, EQ, true, mode, NULL_RTX, ++ NULL, do_main_label, ++ profile_probability::very_unlikely ()); + expand_arith_set_overflow (lhs, target); + emit_label (do_main_label); + goto do_main; +--- a/src/gcc/ipa-cp.c ++++ b/src/gcc/ipa-cp.c +@@ -1082,7 +1082,6 @@ ipcp_bits_lattice::meet_with (ipcp_bits_lattice& other, unsigned precision, + if (TREE_CODE_CLASS (code) == tcc_binary) + { + tree type = TREE_TYPE (operand); +- gcc_assert (INTEGRAL_TYPE_P (type)); + widest_int o_value, o_mask; + get_value_and_mask (operand, &o_value, &o_mask); + +@@ -2852,11 +2851,18 @@ perform_estimation_of_a_value (cgraph_node *node, vec known_csts, + 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 +@@ -4471,7 +4477,6 @@ cgraph_edge_brings_all_agg_vals_for_node (struct cgraph_edge *cs, + + for (i = 0; i < count; i++) + { +- static vec values = vec(); + struct ipcp_param_lattices *plats; + bool interesting = false; + for (struct ipa_agg_replacement_value *av = aggval; av; av = av->next) +@@ -4487,7 +4492,8 @@ cgraph_edge_brings_all_agg_vals_for_node (struct cgraph_edge *cs, + if (plats->aggs_bottom) + return false; + +- values = intersect_aggregates_with_edge (cs, i, values); ++ vec values ++ = intersect_aggregates_with_edge (cs, i, vNULL); + if (!values.exists ()) + return false; + +@@ -4511,6 +4517,7 @@ cgraph_edge_brings_all_agg_vals_for_node (struct cgraph_edge *cs, + return false; + } + } ++ values.release (); + } + return true; + } +--- a/src/gcc/ipa-devirt.c ++++ b/src/gcc/ipa-devirt.c +@@ -1241,6 +1241,24 @@ warn_types_mismatch (tree t1, tree t2, location_t loc1, location_t loc2) + inform (loc_t2, "the incompatible type is defined here"); + } + ++/* Return true if T should be ignored in TYPE_FIELDS for ODR comparsion. */ ++ ++static bool ++skip_in_fields_list_p (tree t) ++{ ++ if (TREE_CODE (t) != FIELD_DECL) ++ return true; ++ /* C++ FE introduces zero sized fields depending on -std setting, see ++ PR89358. */ ++ if (DECL_SIZE (t) ++ && integer_zerop (DECL_SIZE (t)) ++ && DECL_ARTIFICIAL (t) ++ && DECL_IGNORED_P (t) ++ && !DECL_NAME (t)) ++ return true; ++ return false; ++} ++ + /* Compare T1 and T2, report ODR violations if WARN is true and set + WARNED to true if anything is reported. Return true if types match. + If true is returned, the types are also compatible in the sense of +@@ -1525,9 +1543,9 @@ odr_types_equivalent_p (tree t1, tree t2, bool warn, bool *warned, + f1 = TREE_CHAIN (f1), f2 = TREE_CHAIN (f2)) + { + /* Skip non-fields. */ +- while (f1 && TREE_CODE (f1) != FIELD_DECL) ++ while (f1 && skip_in_fields_list_p (f1)) + f1 = TREE_CHAIN (f1); +- while (f2 && TREE_CODE (f2) != FIELD_DECL) ++ while (f2 && skip_in_fields_list_p (f2)) + f2 = TREE_CHAIN (f2); + if (!f1 || !f2) + break; +--- a/src/gcc/ipa-fnsummary.c ++++ b/src/gcc/ipa-fnsummary.c +@@ -3413,24 +3413,24 @@ static void + ipa_fn_summary_write (void) + { + struct output_block *ob = create_output_block (LTO_section_ipa_fn_summary); ++ lto_symtab_encoder_iterator lsei; + lto_symtab_encoder_t encoder = ob->decl_state->symtab_node_encoder; + unsigned int count = 0; +- int i; + +- for (i = 0; i < lto_symtab_encoder_size (encoder); i++) ++ for (lsei = lsei_start_function_in_partition (encoder); !lsei_end_p (lsei); ++ lsei_next_function_in_partition (&lsei)) + { +- symtab_node *snode = lto_symtab_encoder_deref (encoder, i); +- cgraph_node *cnode = dyn_cast (snode); +- if (cnode && cnode->definition && !cnode->alias) ++ cgraph_node *cnode = lsei_cgraph_node (lsei); ++ if (cnode->definition && !cnode->alias) + count++; + } + streamer_write_uhwi (ob, count); + +- for (i = 0; i < lto_symtab_encoder_size (encoder); i++) ++ for (lsei = lsei_start_function_in_partition (encoder); !lsei_end_p (lsei); ++ lsei_next_function_in_partition (&lsei)) + { +- symtab_node *snode = lto_symtab_encoder_deref (encoder, i); +- cgraph_node *cnode = dyn_cast (snode); +- if (cnode && cnode->definition && !cnode->alias) ++ cgraph_node *cnode = lsei_cgraph_node (lsei); ++ if (cnode->definition && !cnode->alias) + { + struct ipa_fn_summary *info = ipa_fn_summaries->get (cnode); + struct bitpack_d bp; +--- a/src/gcc/ipa-prop.c ++++ b/src/gcc/ipa-prop.c +@@ -4685,9 +4685,10 @@ read_ipcp_transformation_info (lto_input_block *ib, cgraph_node *node, + bool known = bp_unpack_value (&bp, 1); + if (known) + { ++ const widest_int value = streamer_read_widest_int (ib); ++ const widest_int mask = streamer_read_widest_int (ib); + ipa_bits *bits +- = ipa_get_ipa_bits_for_value (streamer_read_widest_int (ib), +- streamer_read_widest_int (ib)); ++ = ipa_get_ipa_bits_for_value (value, mask); + (*ts->bits)[i] = bits; + } + } +--- a/src/gcc/ipa-pure-const.c ++++ b/src/gcc/ipa-pure-const.c +@@ -565,7 +565,6 @@ special_builtin_state (enum pure_const_state_e *state, bool *looping, + case BUILT_IN_CXA_END_CLEANUP: + case BUILT_IN_EH_COPY_VALUES: + case BUILT_IN_FRAME_ADDRESS: +- case BUILT_IN_APPLY: + case BUILT_IN_APPLY_ARGS: + case BUILT_IN_ASAN_BEFORE_DYNAMIC_INIT: + case BUILT_IN_ASAN_AFTER_DYNAMIC_INIT: +--- a/src/gcc/ira.c ++++ b/src/gcc/ira.c +@@ -5147,6 +5147,8 @@ ira (FILE *f) + int ira_max_point_before_emit; + bool saved_flag_caller_saves = flag_caller_saves; + enum ira_region saved_flag_ira_region = flag_ira_region; ++ unsigned int i; ++ int num_used_regs = 0; + + clear_bb_flags (); + +@@ -5162,12 +5164,17 @@ ira (FILE *f) + + ira_conflicts_p = optimize > 0; + ++ /* Determine the number of pseudos actually requiring coloring. */ ++ for (i = FIRST_PSEUDO_REGISTER; i < DF_REG_SIZE (df); i++) ++ num_used_regs += !!(DF_REG_USE_COUNT (i) + DF_REG_DEF_COUNT (i)); ++ + /* If there are too many pseudos and/or basic blocks (e.g. 10K + pseudos and 10K blocks or 100K pseudos and 1K blocks), we will + use simplified and faster algorithms in LRA. */ + lra_simple_p + = (ira_use_lra_p +- && max_reg_num () >= (1 << 26) / last_basic_block_for_fn (cfun)); ++ && num_used_regs >= (1 << 26) / last_basic_block_for_fn (cfun)); ++ + if (lra_simple_p) + { + /* It permits to skip live range splitting in LRA. */ +--- a/src/gcc/loop-iv.c ++++ b/src/gcc/loop-iv.c +@@ -1380,24 +1380,23 @@ simple_rhs_p (rtx rhs) + static rtx + find_single_def_src (unsigned int regno) + { +- df_ref adef; +- rtx set, src; ++ rtx src = NULL_RTX; + +- for (;;) ++ /* Don't look through unbounded number of single definition REG copies, ++ there might be loops for sources with uninitialized variables. */ ++ for (int cnt = 0; cnt < 128; cnt++) + { +- rtx note; +- adef = DF_REG_DEF_CHAIN (regno); ++ df_ref adef = DF_REG_DEF_CHAIN (regno); + if (adef == NULL || DF_REF_NEXT_REG (adef) != NULL + || DF_REF_IS_ARTIFICIAL (adef)) + return NULL_RTX; + +- set = single_set (DF_REF_INSN (adef)); ++ rtx set = single_set (DF_REF_INSN (adef)); + if (set == NULL || !REG_P (SET_DEST (set)) + || REGNO (SET_DEST (set)) != regno) + return NULL_RTX; + +- note = find_reg_equal_equiv_note (DF_REF_INSN (adef)); +- ++ rtx note = find_reg_equal_equiv_note (DF_REF_INSN (adef)); + if (note && function_invariant_p (XEXP (note, 0))) + { + src = XEXP (note, 0); +--- a/src/gcc/loop-unroll.c ++++ b/src/gcc/loop-unroll.c +@@ -399,7 +399,7 @@ decide_unroll_constant_iterations (struct loop *loop, int flags) + { + /* 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"); +@@ -651,7 +651,7 @@ unroll_loop_constant_iterations (struct loop *loop) + if (loop->any_likely_upper_bound) + loop->nb_iterations_likely_upper_bound + = wi::udiv_trunc (loop->nb_iterations_likely_upper_bound, max_unroll + 1); +- desc->niter_expr = GEN_INT (desc->niter); ++ desc->niter_expr = gen_int_mode (desc->niter, desc->mode); + + /* Remove the edges. */ + FOR_EACH_VEC_ELT (remove_edges, i, e) +@@ -1019,9 +1019,9 @@ unroll_loop_runtime_iterations (struct loop *loop) + preheader = split_edge (loop_preheader_edge (loop)); + /* Add in count of edge from switch block. */ + preheader->count += iter_count; +- branch_code = compare_and_jump_seq (copy_rtx (niter), GEN_INT (j), EQ, +- block_label (preheader), p, +- NULL); ++ branch_code = compare_and_jump_seq (copy_rtx (niter), ++ gen_int_mode (j, desc->mode), EQ, ++ block_label (preheader), p, NULL); + + /* We rely on the fact that the compare and jump cannot be optimized out, + and hence the cfg we create is correct. */ +--- a/src/gcc/lra-constraints.c ++++ b/src/gcc/lra-constraints.c +@@ -1774,14 +1774,24 @@ uses_hard_regs_p (rtx x, HARD_REG_SET set) + return false; + code = GET_CODE (x); + mode = GET_MODE (x); ++ + if (code == SUBREG) + { ++ /* For all SUBREGs we want to check whether the full multi-register ++ overlaps the set. For normal SUBREGs this means 'get_hard_regno' of ++ the inner register, for paradoxical SUBREGs this means the ++ 'get_hard_regno' of the full SUBREG and for complete SUBREGs either is ++ fine. Use the wider mode for all cases. */ ++ rtx subreg = SUBREG_REG (x); + mode = wider_subreg_mode (x); +- x = SUBREG_REG (x); +- code = GET_CODE (x); ++ if (mode == GET_MODE (subreg)) ++ { ++ x = subreg; ++ code = GET_CODE (x); ++ } + } + +- if (REG_P (x)) ++ if (REG_P (x) || SUBREG_P (x)) + { + x_hard_regno = get_hard_regno (x, true); + return (x_hard_regno >= 0 +@@ -2315,6 +2325,8 @@ process_alt_operands (int only_alternative) + break; + + reg: ++ if (mode == BLKmode) ++ break; + this_alternative = reg_class_subunion[this_alternative][cl]; + IOR_HARD_REG_SET (this_alternative_set, + reg_class_contents[cl]); +@@ -2325,8 +2337,6 @@ process_alt_operands (int only_alternative) + IOR_HARD_REG_SET (this_costly_alternative_set, + reg_class_contents[cl]); + } +- if (mode == BLKmode) +- break; + winreg = true; + if (REG_P (op)) + { +@@ -5767,6 +5777,9 @@ invariant_p (const_rtx x) + enum rtx_code code; + int i, j; + ++ if (side_effects_p (x)) ++ return false; ++ + code = GET_CODE (x); + mode = GET_MODE (x); + if (code == SUBREG) +@@ -6293,6 +6306,7 @@ inherit_in_ebb (rtx_insn *head, rtx_insn *tail) + 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 +--- a/src/gcc/lto-streamer-in.c ++++ b/src/gcc/lto-streamer-in.c +@@ -826,6 +826,7 @@ input_cfg (struct lto_input_block *ib, struct data_in *data_in, + /* Read OMP SIMD related info. */ + loop->safelen = streamer_read_hwi (ib); + loop->unroll = streamer_read_hwi (ib); ++ loop->owned_clique = streamer_read_hwi (ib); + loop->dont_vectorize = streamer_read_hwi (ib); + loop->force_vectorize = streamer_read_hwi (ib); + loop->simduid = stream_read_tree (ib, data_in); +@@ -1131,6 +1132,14 @@ input_function (tree fn_decl, struct data_in *data_in, + ? !MAY_HAVE_DEBUG_MARKER_STMTS + : !MAY_HAVE_DEBUG_BIND_STMTS)) + remove = true; ++ /* In case the linemap overflows locations can be dropped ++ to zero. Thus do not keep nonsensical inline entry markers ++ we'd later ICE on. */ ++ tree block; ++ if (gimple_debug_inline_entry_p (stmt) ++ && (block = gimple_block (stmt)) ++ && !inlined_function_outer_scope_p (block)) ++ remove = true; + if (is_gimple_call (stmt) + && gimple_call_internal_p (stmt)) + { +--- a/src/gcc/lto-streamer-out.c ++++ b/src/gcc/lto-streamer-out.c +@@ -1945,6 +1945,7 @@ output_cfg (struct output_block *ob, struct function *fn) + /* Write OMP SIMD related info. */ + streamer_write_hwi (ob, loop->safelen); + streamer_write_hwi (ob, loop->unroll); ++ streamer_write_hwi (ob, loop->owned_clique); + streamer_write_hwi (ob, loop->dont_vectorize); + streamer_write_hwi (ob, loop->force_vectorize); + stream_write_tree (ob, loop->simduid, true); +--- a/src/gcc/lto-streamer.h ++++ b/src/gcc/lto-streamer.h +@@ -121,7 +121,7 @@ along with GCC; see the file COPYING3. If not see + form followed by the data for the string. */ + + #define LTO_major_version 7 +-#define LTO_minor_version 1 ++#define LTO_minor_version 3 + + typedef unsigned char lto_decl_flags_t; + +--- a/src/gcc/lto-wrapper.c ++++ b/src/gcc/lto-wrapper.c +@@ -1669,7 +1669,9 @@ cont: + struct pex_obj *pex; + char jobs[32]; + +- fprintf (mstream, "all:"); ++ fprintf (mstream, ++ ".PHONY: all\n" ++ "all:"); + for (i = 0; i < nr; ++i) + { + int j = ltrans_priorities[i*2 + 1]; +--- a/src/gcc/lto/ChangeLog ++++ b/src/gcc/lto/ChangeLog +@@ -1,3 +1,12 @@ ++2020-01-20 Martin Liska ++ ++ Backport from mainline ++ 2020-01-16 Martin Liska ++ ++ * lto-partition.c (lto_balanced_map): Remember ++ best_noreorder_pos and then restore to it ++ when we revert. ++ + 2019-02-22 Release Manager + + * GCC 8.3.0 released. +--- a/src/gcc/lto/lto-partition.c ++++ b/src/gcc/lto/lto-partition.c +@@ -507,6 +507,7 @@ void + lto_balanced_map (int n_lto_partitions, int max_partition_size) + { + int n_varpool_nodes = 0, varpool_pos = 0, best_varpool_pos = 0; ++ int best_noreorder_pos = 0; + auto_vec order (symtab->cgraph_count); + auto_vec noreorder; + auto_vec varpool_order; +@@ -769,6 +770,7 @@ lto_balanced_map (int n_lto_partitions, int max_partition_size) + best_i = i; + best_n_nodes = lto_symtab_encoder_size (partition->encoder); + best_varpool_pos = varpool_pos; ++ best_noreorder_pos = noreorder_pos; + } + if (symtab->dump_file) + fprintf (symtab->dump_file, "Step %i: added %s/%i, size %i, " +@@ -789,6 +791,7 @@ lto_balanced_map (int n_lto_partitions, int max_partition_size) + i - best_i, best_i); + undo_partition (partition, best_n_nodes); + varpool_pos = best_varpool_pos; ++ noreorder_pos = best_noreorder_pos; + } + gcc_assert (best_size == partition->insns); + i = best_i; +--- a/src/gcc/match.pd ++++ b/src/gcc/match.pd +@@ -1229,7 +1229,8 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT) + (for cmp (gt lt ge le) + (simplify + (mult (convert (cmp @0 @1)) @2) +- (cond (cmp @0 @1) @2 { build_zero_cst (type); }))) ++ (if (GIMPLE || !TREE_SIDE_EFFECTS (@2)) ++ (cond (cmp @0 @1) @2 { build_zero_cst (type); })))) + + /* For integral types with undefined overflow and C != 0 fold + x * C EQ/NE y * C into x EQ/NE y. */ +@@ -2406,6 +2407,13 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT) + && TYPE_UNSIGNED (TREE_TYPE (@1))))) + (view_convert @1))) + ++/* Simplify a view-converted empty constructor. */ ++(simplify ++ (view_convert CONSTRUCTOR@0) ++ (if (TREE_CODE (@0) != SSA_NAME ++ && CONSTRUCTOR_NELTS (@0) == 0) ++ { build_zero_cst (type); })) ++ + /* Re-association barriers around constants and other re-association + barriers can be removed. */ + (simplify +--- a/src/gcc/modulo-sched.c ++++ b/src/gcc/modulo-sched.c +@@ -1605,6 +1605,7 @@ sms_schedule (void) + mii = 1; /* Need to pass some estimate of mii. */ + rec_mii = sms_order_nodes (g, mii, node_order, &max_asap); + mii = MAX (res_MII (g), rec_mii); ++ mii = MAX (mii, 1); + maxii = MAX (max_asap, MAXII_FACTOR * mii); + + if (dump_file) +@@ -3004,9 +3005,7 @@ ps_insn_find_column (partial_schedule_ptr ps, ps_insn_ptr ps_i, + last_must_precede = next_ps_i; + } + /* The closing branch must be the last in the row. */ +- if (must_precede +- && bitmap_bit_p (must_precede, next_ps_i->id) +- && JUMP_P (ps_rtl_insn (ps, next_ps_i->id))) ++ if (JUMP_P (ps_rtl_insn (ps, next_ps_i->id))) + return false; + + last_in_row = next_ps_i; +@@ -3210,7 +3209,7 @@ ps_add_node_check_conflicts (partial_schedule_ptr ps, int n, + int c, sbitmap must_precede, + sbitmap must_follow) + { +- int has_conflicts = 0; ++ int i, first, amount, has_conflicts = 0; + ps_insn_ptr ps_i; + + /* First add the node to the PS, if this succeeds check for +@@ -3218,23 +3217,32 @@ ps_add_node_check_conflicts (partial_schedule_ptr ps, int n, + if (! (ps_i = add_node_to_ps (ps, n, c, must_precede, must_follow))) + return NULL; /* Failed to insert the node at the given cycle. */ + +- has_conflicts = ps_has_conflicts (ps, c, c) +- || (ps->history > 0 +- && ps_has_conflicts (ps, +- c - ps->history, +- c + ps->history)); +- +- /* Try different issue slots to find one that the given node can be +- scheduled in without conflicts. */ +- while (has_conflicts) ++ while (1) + { ++ has_conflicts = ps_has_conflicts (ps, c, c); ++ if (ps->history > 0 && !has_conflicts) ++ { ++ /* Check all 2h+1 intervals, starting from c-2h..c up to c..2h, ++ but not more than ii intervals. */ ++ first = c - ps->history; ++ amount = 2 * ps->history + 1; ++ if (amount > ps->ii) ++ amount = ps->ii; ++ for (i = first; i < first + amount; i++) ++ { ++ has_conflicts = ps_has_conflicts (ps, ++ i - ps->history, ++ i + ps->history); ++ if (has_conflicts) ++ break; ++ } ++ } ++ if (!has_conflicts) ++ break; ++ /* Try different issue slots to find one that the given node can be ++ scheduled in without conflicts. */ + if (! ps_insn_advance_column (ps, ps_i, must_follow)) + break; +- has_conflicts = ps_has_conflicts (ps, c, c) +- || (ps->history > 0 +- && ps_has_conflicts (ps, +- c - ps->history, +- c + ps->history)); + } + + if (has_conflicts) +--- a/src/gcc/multiple_target.c ++++ b/src/gcc/multiple_target.c +@@ -103,10 +103,16 @@ create_dispatcher_calls (struct cgraph_node *node) + inode->resolve_alias (cgraph_node::get (resolver_decl)); + + auto_vec edges_to_redirect; +- auto_vec references_to_redirect; ++ /* We need to capture the references by value rather than just pointers to them ++ and remove them right away, as removing them later would invalidate what ++ some other reference pointers point to. */ ++ auto_vec references_to_redirect; + +- for (unsigned i = 0; node->iterate_referring (i, ref); i++) +- references_to_redirect.safe_push (ref); ++ while (node->iterate_referring (0, ref)) ++ { ++ references_to_redirect.safe_push (*ref); ++ ref->remove_reference (); ++ } + + /* We need to remember NEXT_CALLER as it could be modified in the loop. */ + for (cgraph_edge *e = node->callers; e ; e = e->next_caller) +@@ -146,15 +152,14 @@ create_dispatcher_calls (struct cgraph_node *node) + } + + symtab_node *source = ref->referring; +- ref->remove_reference (); + source->create_reference (inode, IPA_REF_ADDR); + } + else if (ref->use == IPA_REF_ALIAS) + { + symtab_node *source = ref->referring; +- ref->remove_reference (); + source->create_reference (inode, IPA_REF_ALIAS); +- source->add_to_same_comdat_group (inode); ++ if (inode->get_comdat_group ()) ++ source->add_to_same_comdat_group (inode); + } + else + gcc_unreachable (); +@@ -294,7 +299,8 @@ create_new_asm_name (char *old_asm_name, char *new_asm_name) + /* Creates target clone of NODE. */ + + static cgraph_node * +-create_target_clone (cgraph_node *node, bool definition, char *name) ++create_target_clone (cgraph_node *node, bool definition, char *name, ++ tree attributes) + { + cgraph_node *new_node; + +@@ -303,13 +309,16 @@ create_target_clone (cgraph_node *node, bool definition, char *name) + new_node = node->create_version_clone_with_body (vNULL, NULL, + NULL, false, + NULL, NULL, +- name); ++ name, attributes); ++ if (new_node == NULL) ++ return NULL; + new_node->force_output = true; + } + else + { + tree new_decl = copy_node (node->decl); + new_node = cgraph_node::get_create (new_decl); ++ DECL_ATTRIBUTES (new_decl) = attributes; + /* Generate a new name for the new version. */ + symtab->change_decl_assembler_name (new_node->decl, + clone_function_name (node->decl, +@@ -399,22 +408,16 @@ expand_target_clones (struct cgraph_node *node, bool definition) + + create_new_asm_name (attr, suffix); + /* Create new target clone. */ +- cgraph_node *new_node = create_target_clone (node, definition, suffix); +- new_node->local.local = false; +- XDELETEVEC (suffix); +- +- /* Set new attribute for the clone. */ + tree attributes = make_attribute ("target", attr, +- DECL_ATTRIBUTES (new_node->decl)); +- DECL_ATTRIBUTES (new_node->decl) = attributes; +- location_t saved_loc = input_location; +- input_location = DECL_SOURCE_LOCATION (node->decl); +- if (!targetm.target_option.valid_attribute_p (new_node->decl, NULL, +- TREE_VALUE (attributes), +- 0)) ++ DECL_ATTRIBUTES (node->decl)); ++ ++ cgraph_node *new_node = create_target_clone (node, definition, suffix, ++ attributes); ++ if (new_node == NULL) + return false; ++ new_node->local.local = false; ++ XDELETEVEC (suffix); + +- input_location = saved_loc; + decl2_v = new_node->function_version (); + if (decl2_v != NULL) + continue; +@@ -441,13 +444,7 @@ expand_target_clones (struct cgraph_node *node, bool definition) + DECL_ATTRIBUTES (node->decl)); + DECL_ATTRIBUTES (node->decl) = attributes; + node->local.local = false; +- location_t saved_loc = input_location; +- input_location = DECL_SOURCE_LOCATION (node->decl); +- bool ret +- = targetm.target_option.valid_attribute_p (node->decl, NULL, +- TREE_VALUE (attributes), 0); +- input_location = saved_loc; +- return ret; ++ return true; + } + + static unsigned int +--- a/src/gcc/objc/ChangeLog ++++ b/src/gcc/objc/ChangeLog +@@ -1,3 +1,22 @@ ++2019-08-29 Jakub Jelinek ++ ++ Backported from mainline ++ 2019-05-10 Jakub Jelinek ++ ++ PR pch/90326 ++ * config-lang.in (gtfiles): Add c-family/c-format.c. ++ ++2019-08-28 Iain Sandoe ++ ++ Backport from mainline. ++ 2019-05-18 Iain Sandoe ++ ++ * objc/objc-act.h (OCTI_INSTANCE_TYPE, OCTI_INSTANCETYPE_NAME): New. ++ (objc_global_trees): Add instance type and name. ++ (INSTANCE_TYPEDEF_NAME): New. ++ * objc/objc-act.c (synth_module_prologue): Build decls for ++ objc_instancetype_type and objc_instancetype_name. ++ + 2019-02-22 Release Manager + + * GCC 8.3.0 released. +--- a/src/gcc/objc/config-lang.in ++++ b/src/gcc/objc/config-lang.in +@@ -35,4 +35,4 @@ lang_requires="c" + # Order is important. If you change this list, make sure you test + # building without C++ as well; that is, remove the gcc/cp directory, + # and build with --enable-languages=c,objc. +-gtfiles="\$(srcdir)/objc/objc-map.h \$(srcdir)/c-family/c-objc.h \$(srcdir)/objc/objc-act.h \$(srcdir)/objc/objc-act.c \$(srcdir)/objc/objc-runtime-shared-support.c \$(srcdir)/objc/objc-gnu-runtime-abi-01.c \$(srcdir)/objc/objc-next-runtime-abi-01.c \$(srcdir)/objc/objc-next-runtime-abi-02.c \$(srcdir)/c/c-parser.h \$(srcdir)/c/c-parser.c \$(srcdir)/c/c-tree.h \$(srcdir)/c/c-decl.c \$(srcdir)/c/c-lang.h \$(srcdir)/c/c-objc-common.c \$(srcdir)/c-family/c-common.c \$(srcdir)/c-family/c-common.h \$(srcdir)/c-family/c-cppbuiltin.c \$(srcdir)/c-family/c-pragma.h \$(srcdir)/c-family/c-pragma.c" ++gtfiles="\$(srcdir)/objc/objc-map.h \$(srcdir)/c-family/c-objc.h \$(srcdir)/objc/objc-act.h \$(srcdir)/objc/objc-act.c \$(srcdir)/objc/objc-runtime-shared-support.c \$(srcdir)/objc/objc-gnu-runtime-abi-01.c \$(srcdir)/objc/objc-next-runtime-abi-01.c \$(srcdir)/objc/objc-next-runtime-abi-02.c \$(srcdir)/c/c-parser.h \$(srcdir)/c/c-parser.c \$(srcdir)/c/c-tree.h \$(srcdir)/c/c-decl.c \$(srcdir)/c/c-lang.h \$(srcdir)/c/c-objc-common.c \$(srcdir)/c-family/c-common.c \$(srcdir)/c-family/c-common.h \$(srcdir)/c-family/c-cppbuiltin.c \$(srcdir)/c-family/c-pragma.h \$(srcdir)/c-family/c-pragma.c \$(srcdir)/c-family/c-format.c" +--- a/src/gcc/objc/objc-act.c ++++ b/src/gcc/objc/objc-act.c +@@ -2944,18 +2944,26 @@ synth_module_prologue (void) + objc_class_reference = xref_tag (RECORD_TYPE, objc_class_id); + + objc_object_type = build_pointer_type (objc_object_reference); ++ objc_instancetype_type = build_pointer_type (objc_object_reference); + objc_class_type = build_pointer_type (objc_class_reference); + + objc_object_name = get_identifier (OBJECT_TYPEDEF_NAME); ++ objc_instancetype_name = get_identifier (INSTANCE_TYPEDEF_NAME); + objc_class_name = get_identifier (CLASS_TYPEDEF_NAME); + +- /* Declare the 'id' and 'Class' typedefs. */ ++ /* Declare the 'id', 'instancetype' and 'Class' typedefs. */ + type = lang_hooks.decls.pushdecl (build_decl (input_location, + TYPE_DECL, + objc_object_name, + objc_object_type)); + TREE_NO_WARNING (type) = 1; + ++ type = lang_hooks.decls.pushdecl (build_decl (input_location, ++ TYPE_DECL, ++ objc_instancetype_name, ++ objc_instancetype_type)); ++ TREE_NO_WARNING (type) = 1; ++ + type = lang_hooks.decls.pushdecl (build_decl (input_location, + TYPE_DECL, + objc_class_name, +--- a/src/gcc/objc/objc-act.h ++++ b/src/gcc/objc/objc-act.h +@@ -313,6 +313,7 @@ enum objc_tree_index + OCTI_SUPER_TYPE, + OCTI_SEL_TYPE, + OCTI_ID_TYPE, ++ OCTI_INSTANCE_TYPE, + OCTI_CLS_TYPE, + OCTI_NST_TYPE, + OCTI_PROTO_TYPE, +@@ -368,6 +369,7 @@ enum objc_tree_index + OCTI_OBJ_ID, + OCTI_CLS_ID, + OCTI_ID_NAME, ++ OCTI_INSTANCETYPE_NAME, + OCTI_CLASS_NAME, + OCTI_CNST_STR_ID, + OCTI_CNST_STR_TYPE, +@@ -443,6 +445,7 @@ extern GTY(()) tree objc_global_trees[OCTI_MAX]; + #define objc_super_type objc_global_trees[OCTI_SUPER_TYPE] + #define objc_selector_type objc_global_trees[OCTI_SEL_TYPE] + #define objc_object_type objc_global_trees[OCTI_ID_TYPE] ++#define objc_instancetype_type objc_global_trees[OCTI_INSTANCE_TYPE] + #define objc_class_type objc_global_trees[OCTI_CLS_TYPE] + #define objc_instance_type objc_global_trees[OCTI_NST_TYPE] + #define objc_protocol_type objc_global_trees[OCTI_PROTO_TYPE] +@@ -570,7 +573,8 @@ extern GTY(()) tree objc_global_trees[OCTI_MAX]; + + #define objc_object_id objc_global_trees[OCTI_OBJ_ID] + #define objc_class_id objc_global_trees[OCTI_CLS_ID] +-#define objc_object_name objc_global_trees[OCTI_ID_NAME] ++#define objc_object_name objc_global_trees[OCTI_ID_NAME] ++#define objc_instancetype_name objc_global_trees[OCTI_INSTANCETYPE_NAME] + #define objc_class_name objc_global_trees[OCTI_CLASS_NAME] + + /* Constant string classes. */ +@@ -608,6 +612,7 @@ extern GTY(()) tree objc_global_trees[OCTI_MAX]; + /* Reserved tag definitions. */ + + #define OBJECT_TYPEDEF_NAME "id" ++#define INSTANCE_TYPEDEF_NAME "instancetype" + #define CLASS_TYPEDEF_NAME "Class" + + #define TAG_OBJECT "objc_object" +--- a/src/gcc/objcp/ChangeLog ++++ b/src/gcc/objcp/ChangeLog +@@ -1,3 +1,11 @@ ++2019-08-29 Jakub Jelinek ++ ++ Backported from mainline ++ 2019-05-10 Jakub Jelinek ++ ++ PR pch/90326 ++ * config-lang.in (gtfiles): Don't add c-family/c-cppbuiltin.c. ++ + 2019-02-22 Release Manager + + * GCC 8.3.0 released. +--- a/src/gcc/objcp/config-lang.in ++++ b/src/gcc/objcp/config-lang.in +@@ -52,7 +52,6 @@ gtfiles="$(. $srcdir/cp/config-lang.in ; \ + gtfiles="$gtfiles \ + \$(srcdir)/objc/objc-act.h \ + \$(srcdir)/objc/objc-map.h \ +-\$(srcdir)/c-family/c-cppbuiltin.c \ + \$(srcdir)/objc/objc-act.c \ + \$(srcdir)/objc/objc-gnu-runtime-abi-01.c \ + \$(srcdir)/objc/objc-next-runtime-abi-01.c \ +--- a/src/gcc/omp-low.c ++++ b/src/gcc/omp-low.c +@@ -404,18 +404,30 @@ use_pointer_for_field (tree decl, omp_context *shared_ctx) + omp_context *up; + + for (up = shared_ctx->outer; up; up = up->outer) +- if (is_taskreg_ctx (up) && maybe_lookup_decl (decl, up)) ++ if ((is_taskreg_ctx (up) ++ || (gimple_code (up->stmt) == GIMPLE_OMP_TARGET ++ && is_gimple_omp_offloaded (up->stmt))) ++ && maybe_lookup_decl (decl, up)) + break; + + if (up) + { + tree c; + +- for (c = gimple_omp_taskreg_clauses (up->stmt); +- c; c = OMP_CLAUSE_CHAIN (c)) +- if (OMP_CLAUSE_CODE (c) == OMP_CLAUSE_SHARED +- && OMP_CLAUSE_DECL (c) == decl) +- break; ++ if (gimple_code (up->stmt) == GIMPLE_OMP_TARGET) ++ { ++ for (c = gimple_omp_target_clauses (up->stmt); ++ c; c = OMP_CLAUSE_CHAIN (c)) ++ if (OMP_CLAUSE_CODE (c) == OMP_CLAUSE_MAP ++ && OMP_CLAUSE_DECL (c) == decl) ++ break; ++ } ++ else ++ for (c = gimple_omp_taskreg_clauses (up->stmt); ++ c; c = OMP_CLAUSE_CHAIN (c)) ++ if (OMP_CLAUSE_CODE (c) == OMP_CLAUSE_SHARED ++ && OMP_CLAUSE_DECL (c) == decl) ++ break; + + if (c) + goto maybe_mark_addressable_and_ret; +@@ -851,6 +863,7 @@ new_omp_context (gimple *stmt, omp_context *outer_ctx) + ctx->cb.copy_decl = omp_copy_decl; + ctx->cb.eh_lp_nr = 0; + ctx->cb.transform_call_graph_edges = CB_CGE_MOVE; ++ ctx->cb.dont_remap_vla_if_no_change = true; + ctx->depth = 1; + } + +@@ -3173,7 +3186,14 @@ scan_omp_1_stmt (gimple_stmt_iterator *gsi, bool *handled_ops_p, + break; + + case GIMPLE_OMP_TARGET: +- scan_omp_target (as_a (stmt), ctx); ++ if (is_gimple_omp_offloaded (stmt)) ++ { ++ taskreg_nesting_level++; ++ scan_omp_target (as_a (stmt), ctx); ++ taskreg_nesting_level--; ++ } ++ else ++ scan_omp_target (as_a (stmt), ctx); + break; + + case GIMPLE_OMP_TEAMS: +--- a/src/gcc/omp-simd-clone.c ++++ b/src/gcc/omp-simd-clone.c +@@ -868,6 +868,18 @@ ipa_simd_modify_stmt_ops (tree *tp, int *walk_subtrees, void *data) + + if (tp != orig_tp) + { ++ if (gimple_code (info->stmt) == GIMPLE_PHI ++ && cand ++ && TREE_CODE (*orig_tp) == ADDR_EXPR ++ && TREE_CODE (TREE_OPERAND (*orig_tp, 0)) == PARM_DECL ++ && cand->alias_ptr_type) ++ { ++ gcc_assert (TREE_CODE (cand->alias_ptr_type) == SSA_NAME); ++ *orig_tp = cand->alias_ptr_type; ++ info->modified = true; ++ return NULL_TREE; ++ } ++ + repl = build_fold_addr_expr (repl); + gimple *stmt; + if (is_gimple_debug (info->stmt)) +@@ -884,7 +896,18 @@ ipa_simd_modify_stmt_ops (tree *tp, int *walk_subtrees, void *data) + stmt = gimple_build_assign (make_ssa_name (TREE_TYPE (repl)), repl); + repl = gimple_assign_lhs (stmt); + } +- gimple_stmt_iterator gsi = gsi_for_stmt (info->stmt); ++ gimple_stmt_iterator gsi; ++ if (gimple_code (info->stmt) == GIMPLE_PHI) ++ { ++ gsi = gsi_after_labels (single_succ (ENTRY_BLOCK_PTR_FOR_FN (cfun))); ++ /* Cache SSA_NAME for next time. */ ++ if (cand ++ && TREE_CODE (*orig_tp) == ADDR_EXPR ++ && TREE_CODE (TREE_OPERAND (*orig_tp, 0)) == PARM_DECL) ++ cand->alias_ptr_type = repl; ++ } ++ else ++ gsi = gsi_for_stmt (info->stmt); + gsi_insert_before (&gsi, stmt, GSI_SAME_STMT); + *orig_tp = repl; + } +@@ -985,6 +1008,31 @@ ipa_simd_modify_function_body (struct cgraph_node *node, + { + gimple_stmt_iterator gsi; + ++ for (gsi = gsi_start_phis (bb); !gsi_end_p (gsi); gsi_next (&gsi)) ++ { ++ gphi *phi = as_a (gsi_stmt (gsi)); ++ int i, n = gimple_phi_num_args (phi); ++ info.stmt = phi; ++ struct walk_stmt_info wi; ++ memset (&wi, 0, sizeof (wi)); ++ info.modified = false; ++ wi.info = &info; ++ for (i = 0; i < n; ++i) ++ { ++ int walk_subtrees = 1; ++ tree arg = gimple_phi_arg_def (phi, i); ++ tree op = arg; ++ ipa_simd_modify_stmt_ops (&op, &walk_subtrees, &wi); ++ if (op != arg) ++ { ++ SET_PHI_ARG_DEF (phi, i, op); ++ gcc_assert (TREE_CODE (op) == SSA_NAME); ++ if (gimple_phi_arg_edge (phi, i)->flags & EDGE_ABNORMAL) ++ SSA_NAME_OCCURS_IN_ABNORMAL_PHI (op) = 1; ++ } ++ } ++ } ++ + gsi = gsi_start_bb (bb); + while (!gsi_end_p (gsi)) + { +@@ -1661,14 +1709,22 @@ expand_simd_clones (struct cgraph_node *node) + already. */ + tree id = simd_clone_mangle (node, clone); + if (id == NULL_TREE) +- continue; ++ { ++ if (i == 0) ++ clone->nargs += clone->inbranch; ++ continue; ++ } + + /* Only when we are sure we want to create the clone actually + clone the function (or definitions) or create another + extern FUNCTION_DECL (for prototypes without definitions). */ + struct cgraph_node *n = simd_clone_create (node); + if (n == NULL) +- continue; ++ { ++ if (i == 0) ++ clone->nargs += clone->inbranch; ++ continue; ++ } + + n->simdclone = clone; + clone->origin = node; +--- a/src/gcc/optabs.c ++++ b/src/gcc/optabs.c +@@ -5778,6 +5778,25 @@ expand_vec_cond_expr (tree vec_cond_type, tree op0, tree op1, tree op2, + icode = get_vcond_icode (mode, cmp_op_mode, unsignedp); + if (icode == CODE_FOR_nothing) + { ++ if (tcode == LT_EXPR ++ && op0a == op0 ++ && TREE_CODE (op0) == VECTOR_CST) ++ { ++ /* A VEC_COND_EXPR condition could be folded from EQ_EXPR/NE_EXPR ++ into a constant when only get_vcond_eq_icode is supported. ++ Verify < 0 and != 0 behave the same and change it to NE_EXPR. */ ++ unsigned HOST_WIDE_INT nelts; ++ if (!VECTOR_CST_NELTS (op0).is_constant (&nelts)) ++ { ++ if (VECTOR_CST_STEPPED_P (op0)) ++ return 0; ++ nelts = vector_cst_encoded_nelts (op0); ++ } ++ for (unsigned int i = 0; i < nelts; ++i) ++ if (tree_int_cst_sgn (vector_cst_elt (op0, i)) == 1) ++ return 0; ++ tcode = NE_EXPR; ++ } + if (tcode == EQ_EXPR || tcode == NE_EXPR) + icode = get_vcond_eq_icode (mode, cmp_op_mode); + if (icode == CODE_FOR_nothing) +--- a/src/gcc/opts-common.c ++++ b/src/gcc/opts-common.c +@@ -463,7 +463,8 @@ decode_cmdline_option (const char **argv, unsigned int lang_mask, + + extra_args = 0; + +- opt_index = find_opt (argv[0] + 1, lang_mask); ++ const char *opt_value = argv[0] + 1; ++ opt_index = find_opt (opt_value, lang_mask); + i = 0; + while (opt_index == OPT_SPECIAL_unknown + && i < ARRAY_SIZE (option_map)) +@@ -666,6 +667,23 @@ decode_cmdline_option (const char **argv, unsigned int lang_mask, + /* Check if this is a switch for a different front end. */ + if (!option_ok_for_language (option, lang_mask)) + errors |= CL_ERR_WRONG_LANG; ++ else if (strcmp (option->opt_text, "-Werror=") == 0 ++ && strchr (opt_value, ',') == NULL) ++ { ++ /* Verify that -Werror argument is a valid warning ++ for a language. */ ++ char *werror_arg = xstrdup (opt_value + 6); ++ werror_arg[0] = 'W'; ++ ++ size_t warning_index = find_opt (werror_arg, lang_mask); ++ if (warning_index != OPT_SPECIAL_unknown) ++ { ++ const struct cl_option *warning_option ++ = &cl_options[warning_index]; ++ if (!option_ok_for_language (warning_option, lang_mask)) ++ errors |= CL_ERR_WRONG_LANG; ++ } ++ } + + /* Convert the argument to lowercase if appropriate. */ + if (arg && option->cl_tolower) +--- a/src/gcc/opts-global.c ++++ b/src/gcc/opts-global.c +@@ -103,10 +103,14 @@ complain_wrong_lang (const struct cl_decoded_option *decoded, + text, bad_lang); + else if (lang_mask == CL_DRIVER) + gcc_unreachable (); +- else ++ else if (ok_langs[0] != '\0') + /* Eventually this should become a hard error IMO. */ + warning (0, "command line option %qs is valid for %s but not for %s", + text, ok_langs, bad_lang); ++ else ++ /* Happens for -Werror=warning_name. */ ++ warning (0, "%<-Werror=%> argument %qs is not valid for %s", ++ text, bad_lang); + + free (ok_langs); + free (bad_lang); +--- a/src/gcc/opts.c ++++ b/src/gcc/opts.c +@@ -922,6 +922,14 @@ finish_options (struct gcc_options *opts, struct gcc_options *opts_set, + "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 +--- a/src/gcc/output.h ++++ b/src/gcc/output.h +@@ -240,6 +240,12 @@ extern void assemble_label (FILE *, const char *); + addition of an underscore). */ + extern void assemble_name_raw (FILE *, const char *); + ++/* Return NAME that should actually be emitted, looking through ++ transparent aliases. If NAME refers to an entity that is also ++ represented as a tree (like a function or variable), mark the entity ++ as referenced. */ ++extern const char *assemble_name_resolve (const char *); ++ + /* Like assemble_name_raw, but should be used when NAME might refer to + an entity that is also represented as a tree (like a function or + variable). If NAME does refer to such an entity, that entity will +--- a/src/gcc/params.def ++++ b/src/gcc/params.def +@@ -387,7 +387,7 @@ DEFPARAM(PARAM_SMS_MIN_SC, + DEFPARAM(PARAM_SMS_DFA_HISTORY, + "sms-dfa-history", + "The number of cycles the swing modulo scheduler considers when checking conflicts using DFA.", +- 0, 0, 0) ++ 0, 0, 16) + DEFPARAM(PARAM_SMS_LOOP_AVERAGE_COUNT_THRESHOLD, + "sms-loop-average-count-threshold", + "A threshold on the average loop count considered by the swing modulo scheduler.", +@@ -1331,6 +1331,11 @@ DEFPARAM(PARAM_AVOID_FMA_MAX_BITS, + "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: +--- a/src/gcc/passes.c ++++ b/src/gcc/passes.c +@@ -1944,7 +1944,7 @@ execute_function_todo (function *fn, void *data) + /* 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 +--- a/src/gcc/postreload.c ++++ b/src/gcc/postreload.c +@@ -1076,6 +1076,10 @@ reload_combine_recognize_pattern (rtx_insn *insn) + struct reg_use *use = reg_state[regno].reg_use + i; + if (GET_MODE (*use->usep) != mode) + return false; ++ /* Don't try to adjust (use (REGX)). */ ++ if (GET_CODE (PATTERN (use->insn)) == USE ++ && &XEXP (PATTERN (use->insn), 0) == use->usep) ++ return false; + } + + /* Look for (set (REGX) (CONST_INT)) +--- a/src/gcc/predict.c ++++ b/src/gcc/predict.c +@@ -3740,12 +3740,14 @@ compute_function_frequency (void) + if (profile_status_for_fn (cfun) != PROFILE_READ) + { + int flags = flags_from_decl_or_type (current_function_decl); +- if ((ENTRY_BLOCK_PTR_FOR_FN (cfun)->count.ipa_p () +- && ENTRY_BLOCK_PTR_FOR_FN (cfun)->count.ipa() == profile_count::zero ()) +- || lookup_attribute ("cold", DECL_ATTRIBUTES (current_function_decl)) +- != NULL) ++ if (lookup_attribute ("cold", DECL_ATTRIBUTES (current_function_decl)) ++ != NULL) ++ node->frequency = NODE_FREQUENCY_UNLIKELY_EXECUTED; ++ else if (ENTRY_BLOCK_PTR_FOR_FN (cfun)->count.ipa_p () ++ && (ENTRY_BLOCK_PTR_FOR_FN (cfun)->count.ipa () ++ == profile_count::zero ())) + { +- node->frequency = NODE_FREQUENCY_UNLIKELY_EXECUTED; ++ node->frequency = NODE_FREQUENCY_UNLIKELY_EXECUTED; + warn_function_cold (current_function_decl); + } + else if (lookup_attribute ("hot", DECL_ATTRIBUTES (current_function_decl)) +--- a/src/gcc/recog.c ++++ b/src/gcc/recog.c +@@ -1070,6 +1070,11 @@ general_operand (rtx op, machine_mode mode) + int + address_operand (rtx op, machine_mode mode) + { ++ /* Wrong mode for an address expr. */ ++ if (GET_MODE (op) != VOIDmode ++ && ! SCALAR_INT_MODE_P (GET_MODE (op))) ++ return false; ++ + return memory_address_p (mode, op); + } + +@@ -2695,10 +2700,13 @@ constrain_operands (int strict, alternative_mask alternatives) + /* p is used for address_operands. When we are called by + gen_reload, no one will have checked that the address is + strictly valid, i.e., that all pseudos requiring hard regs +- have gotten them. */ +- if (strict <= 0 +- || (strict_memory_address_p (recog_data.operand_mode[opno], +- op))) ++ have gotten them. We also want to make sure we have a ++ valid mode. */ ++ if ((GET_MODE (op) == VOIDmode ++ || SCALAR_INT_MODE_P (GET_MODE (op))) ++ && (strict <= 0 ++ || (strict_memory_address_p ++ (recog_data.operand_mode[opno], op)))) + win = 1; + break; + +--- a/src/gcc/resource.c ++++ b/src/gcc/resource.c +@@ -969,9 +969,13 @@ mark_target_live_regs (rtx_insn *insns, rtx target_maybe_return, struct resource + { + regset regs_live = DF_LR_IN (BASIC_BLOCK_FOR_FN (cfun, b)); + rtx_insn *start_insn, *stop_insn; ++ df_ref def; + + /* Compute hard regs live at start of block. */ + REG_SET_TO_HARD_REG_SET (current_live_regs, regs_live); ++ FOR_EACH_ARTIFICIAL_DEF (def, b) ++ if (DF_REF_FLAGS (def) & DF_REF_AT_TOP) ++ SET_HARD_REG_BIT (current_live_regs, DF_REF_REGNO (def)); + + /* Get starting and ending insn, handling the case where each might + be a SEQUENCE. */ +--- a/src/gcc/rtl.c ++++ b/src/gcc/rtl.c +@@ -731,6 +731,8 @@ classify_insn (rtx x) + return CALL_INSN; + if (ANY_RETURN_P (x)) + return JUMP_INSN; ++ if (GET_CODE (x) == ASM_OPERANDS && ASM_OPERANDS_LABEL_VEC (x)) ++ return JUMP_INSN; + if (GET_CODE (x) == SET) + { + if (GET_CODE (SET_DEST (x)) == PC) +@@ -757,6 +759,9 @@ classify_insn (rtx x) + return CALL_INSN; + if (has_return_p) + return JUMP_INSN; ++ if (GET_CODE (XVECEXP (x, 0, 0)) == ASM_OPERANDS ++ && ASM_OPERANDS_LABEL_VEC (XVECEXP (x, 0, 0))) ++ return JUMP_INSN; + } + #ifdef GENERATOR_FILE + if (GET_CODE (x) == MATCH_OPERAND +--- a/src/gcc/rtl.h ++++ b/src/gcc/rtl.h +@@ -4355,6 +4355,7 @@ word_register_operation_p (const_rtx x) + { + switch (GET_CODE (x)) + { ++ case CONST_INT: + case ROTATE: + case ROTATERT: + case SIGN_EXTRACT: +--- a/src/gcc/rtlanal.c ++++ b/src/gcc/rtlanal.c +@@ -358,10 +358,10 @@ get_initial_register_offset (int from, int to) + 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 +@@ -4756,7 +4756,7 @@ nonzero_bits1 (const_rtx x, scalar_int_mode mode, const_rtx known_x, + || ((extend_op = load_extend_op (inner_mode)) == SIGN_EXTEND + ? val_signbit_known_set_p (inner_mode, nonzero) + : extend_op != ZERO_EXTEND) +- || (!MEM_P (SUBREG_REG (x)) && !REG_P (SUBREG_REG (x)))) ++ || !MEM_P (SUBREG_REG (x))) + && xmode_width > inner_width) + nonzero + |= (GET_MODE_MASK (GET_MODE (x)) & ~GET_MODE_MASK (inner_mode)); +--- a/src/gcc/simplify-rtx.c ++++ b/src/gcc/simplify-rtx.c +@@ -3493,9 +3493,21 @@ simplify_binary_operation_1 (enum rtx_code code, machine_mode mode, + { + rtx tmp = gen_int_shift_amount + (inner_mode, INTVAL (XEXP (SUBREG_REG (op0), 1)) + INTVAL (op1)); +- tmp = simplify_gen_binary (code, inner_mode, +- XEXP (SUBREG_REG (op0), 0), +- tmp); ++ ++ /* Combine would usually zero out the value when combining two ++ local shifts and the range becomes larger or equal to the mode. ++ However since we fold away one of the shifts here combine won't ++ see it so we should immediately zero the result if it's out of ++ range. */ ++ if (code == LSHIFTRT ++ && INTVAL (tmp) >= GET_MODE_BITSIZE (inner_mode)) ++ tmp = const0_rtx; ++ else ++ tmp = simplify_gen_binary (code, ++ inner_mode, ++ XEXP (SUBREG_REG (op0), 0), ++ tmp); ++ + return lowpart_subreg (int_mode, tmp, inner_mode); + } + +--- a/src/gcc/symtab.c ++++ b/src/gcc/symtab.c +@@ -1546,7 +1546,7 @@ symtab_node::set_section (symtab_node *n, void *s) + void + symtab_node::set_section (const char *section) + { +- gcc_assert (!this->alias); ++ gcc_assert (!this->alias || !this->analyzed); + call_for_symbol_and_aliases + (symtab_node::set_section, const_cast(section), true); + } +--- a/src/gcc/testsuite/ChangeLog ++++ b/src/gcc/testsuite/ChangeLog +@@ -1,3 +1,2527 @@ ++2020-02-17 Richard Biener ++ ++ Backport from mainline ++ 2020-01-22 Richard Biener ++ ++ PR tree-optimization/93381 ++ * gcc.dg/torture/pr93381.c: New testcase. ++ ++2020-02-17 Richard Biener ++ ++ Backport from mainline ++ 2020-01-28 Richard Biener ++ ++ PR tree-optimization/93439 ++ * gfortran.dg/graphite/pr93439.f90: New testcase. ++ ++2020-02-17 Richard Biener ++ ++ Backport from mainline ++ 2020-01-09 Richard Biener ++ ++ PR middle-end/93054 ++ * gcc.dg/pr93054.c: New testcase. ++ ++2020-02-17 Richard Biener ++ ++ Backport from mainline ++ 2020-01-20 Richard Biener ++ ++ PR debug/92763 ++ * g++.dg/debug/pr92763.C: New testcase. ++ ++2020-02-17 Richard Biener ++ ++ Backport from mainline ++ 2019-11-29 Richard Biener ++ ++ PR tree-optimization/92704 ++ * gcc.dg/torture/pr92704.c: New testcase. ++ ++2020-02-14 Hongtao Liu ++ ++ * gcc.target/i386/avx512vbmi2-vpshld-1.c: New test. ++ * gcc.target/i386/avx512vbmi2-vpshrd-1.c: Ditto. ++ * gcc.target/i386/sse-12.c: Add -mavx512vbmi2. ++ * gcc.target/i386/sse-13.c: Ditto. ++ * gcc.target/i386/sse-14.c: Add -mavx512vbmi2 and tests. ++ * gcc.target/i386/sse-22.c: Ditto. ++ ++2020-02-15 Jakub Jelinek ++ ++ PR tree-optimization/93744 ++ * gcc.c-torture/execute/pr93744-1.c: New test. ++ * gcc.c-torture/execute/pr93744-2.c: New test. ++ * gcc.c-torture/execute/pr93744-3.c: New test. ++ ++2020-02-14 Jakub Jelinek ++ ++ PR c++/61414 ++ * g++.dg/cpp0x/enum39.C: New test. ++ ++2020-02-14 Jakub Jelinek ++ ++ Backported from mainline ++ 2020-02-13 Jakub Jelinek ++ ++ PR c/93576 ++ * gcc.dg/pr93576.c: New test. ++ ++ PR target/93696 ++ * gcc.target/i386/pr93696-1.c: New test. ++ * gcc.target/i386/pr93696-2.c: New test. ++ * gcc.target/i386/avx512bitalg-vpopcntw-1.c (TEST): Fix argument order ++ of _mm*_mask_popcnt_*. ++ * gcc.target/i386/avx512vpopcntdq-vpopcntq-1.c (TEST): Likewise. ++ * gcc.target/i386/avx512vpopcntdq-vpopcntd-1.c (TEST): Likewise. ++ * gcc.target/i386/avx512bitalg-vpopcntb-1.c (TEST): Likewise. ++ * gcc.target/i386/avx512bitalg-vpopcntb.c (foo): Likewise. ++ * gcc.target/i386/avx512bitalg-vpopcntbvl.c (foo): Likewise. ++ * gcc.target/i386/avx512vpopcntdq-vpopcntd.c (foo): Likewise. ++ * gcc.target/i386/avx512bitalg-vpopcntwvl.c (foo): Likewise. ++ * gcc.target/i386/avx512bitalg-vpopcntw.c (foo): Likewise. ++ * gcc.target/i386/avx512vpopcntdq-vpopcntq.c (foo): Likewise. ++ ++ PR target/93673 ++ * gcc.target/i386/avx512f-pr93673.c: New test. ++ * gcc.target/i386/avx512dq-pr93673.c: New test. ++ * gcc.target/i386/avx512bw-pr93673.c: New test. ++ ++ 2020-02-12 Jakub Jelinek ++ ++ PR target/93670 ++ * gcc.target/i386/avx512vl-pr93670.c: New test. ++ ++ 2020-02-10 Jakub Jelinek ++ ++ PR target/93637 ++ * gcc.target/i386/avx-pr93637.c: New test. ++ ++ 2020-02-08 Uroš Bizjak ++ Jakub Jelinek ++ ++ PR target/65782 ++ * gcc.target/i386/pr65782.c: New test. ++ ++ 2020-02-05 Jakub Jelinek ++ ++ PR middle-end/93555 ++ * c-c++-common/gomp/pr93555-1.c: New test. ++ * c-c++-common/gomp/pr93555-2.c: New test. ++ * gfortran.dg/gomp/pr93555.f90: New test. ++ ++ 2020-01-30 Jakub Jelinek ++ ++ PR middle-end/93505 ++ * gcc.c-torture/compile/pr93505.c: New test. ++ ++ 2020-01-29 Jakub Jelinek ++ ++ PR fortran/93463 ++ * gfortran.dg/goacc/pr93463.f90: New test. ++ ++ 2020-01-23 Jakub Jelinek ++ ++ PR rtl-optimization/93402 ++ * gcc.c-torture/execute/pr93402.c: New test. ++ ++ 2020-01-22 Jakub Jelinek ++ ++ PR target/91298 ++ * gcc.target/i386/pr91298-1.c: New test. ++ * gcc.target/i386/pr91298-2.c: New test. ++ ++ * gfortran.dg/gomp/target-parallel1.f90: New test. ++ * gfortran.dg/goacc/pr93329.f90: Enable commented out target parallel ++ test. ++ ++ PR fortran/93329 ++ * gfortran.dg/goacc/pr93329.f90: New test. ++ ++ 2020-01-21 Jakub Jelinek ++ ++ PR target/93333 ++ * gcc.c-torture/compile/pr93333.c: New test. ++ ++ PR target/93073 ++ * gcc.target/powerpc/pr93073.c: New test. ++ ++ 2020-01-17 Jakub Jelinek ++ ++ PR c++/93228 ++ * g++.dg/cpp1y/attr-deprecated-3.C: New test. ++ ++ 2020-01-09 Jakub Jelinek ++ ++ PR inline-asm/93202 ++ * gcc.target/riscv/pr93202.c: New test. ++ ++ 2020-01-03 Jakub Jelinek ++ ++ PR rtl-optimization/93088 ++ * gcc.target/i386/pr93088.c: New test. ++ ++ 2020-01-02 Jakub Jelinek ++ ++ PR ipa/93087 ++ * c-c++-common/cold-1.c: New test. ++ ++ 2019-12-26 Jakub Jelinek ++ ++ PR c++/92438 ++ * g++.dg/ext/attrib61.C: New test. ++ ++ 2019-12-20 Jakub Jelinek ++ ++ PR c++/92992 ++ * g++.dg/cpp0x/nullptr45.C: New test. ++ ++ 2019-12-19 Jakub Jelinek ++ ++ PR fortran/92977 ++ * gfortran.dg/gomp/pr92977.f90: New test. ++ ++ 2019-12-14 Jakub Jelinek ++ ++ PR tree-optimization/92930 ++ * gcc.dg/tree-ssa/pr92930.c: New test. ++ ++ 2019-12-12 Jakub Jelinek ++ ++ PR target/92904 ++ * gcc.c-torture/execute/pr92904.c: New test. ++ ++ 2019-12-11 Jakub Jelinek ++ ++ PR target/92723 ++ * gcc.dg/vect/pr92723.c: New test. ++ ++ 2019-12-05 Jakub Jelinek ++ ++ PR fortran/92781 ++ * gfortran.dg/pr92781.f90: New test. ++ ++ 2019-12-03 Jakub Jelinek ++ ++ PR c++/92732 ++ * g++.dg/cpp2a/bitfield3.C: Don't expect narrowing conversion ++ warnings. ++ * g++.dg/cpp2a/bitfield4.C: New test. ++ ++ 2019-11-29 Jakub Jelinek ++ ++ PR c++/60228 ++ * g++.dg/gomp/openmp-simd-2.C: Don't expect bodies for ++ DECL_OMP_DECLARE_REDUCTION_P functions. ++ ++ 2019-11-27 Jakub Jelinek ++ ++ PR fortran/91944 ++ * gfortran.dg/spread_size_limit_2.f90: New test. ++ ++ PR c++/92524 ++ * g++.dg/cpp0x/pr92524.C: New test. ++ ++ 2019-11-26 Jakub Jelinek ++ ++ PR c++/92648 ++ * g++.dg/cpp0x/gen-attrs-71.C: New test. ++ ++ PR c++/61414 ++ * g++.dg/cpp0x/enum23.C: Remove xfail. ++ * g++.dg/cpp0x/enum28.C: New test. ++ ++ 2019-11-23 Jakub Jelinek ++ ++ PR target/92615 ++ * gcc.target/i386/pr92615.c: New test. ++ ++ 2019-11-21 Jakub Jelinek ++ ++ PR c++/90842 ++ * g++.dg/cpp1y/lambda-generic-90842.C: New test. ++ ++2020-01-20 Richard Biener ++ ++ Backport from mainline ++ PR middle-end/93246 ++ * g++.dg/torture/pr93246.C: New testcase. ++ ++2020-02-11 Tamar Christina ++ ++ Backport from mainline ++ 2020-01-31 Tamar Christina ++ Jakub Jelinek ++ ++ PR rtl-optimization/91838 ++ * g++.dg/opt/pr91838.C: New test. ++ ++2020-01-23 Thomas Schwinge ++ ++ Backport: ++ 2019-04-16 Dominique d'Humieres ++ ++ * g++.dg/lto/pr89358_0.C: Replace dg-* with dg-lto-*. ++ ++2020-01-22 Joseph Myers ++ ++ Backport from mainline: ++ 2020-01-22 Joseph Myers ++ ++ PR c/93348 ++ * gcc.c-torture/compile/pr93348-1.c: New test. ++ ++2020-01-15 Joseph Myers ++ ++ Backport from mainline: ++ 2020-01-15 Joseph Myers ++ ++ PR c/93072 ++ * gcc.dg/inline-42.c, gcc.dg/inline-43.c: New tests. ++ ++2020-01-15 Iain Sandoe ++ ++ Backport from mainline. ++ 2020-01-05 Iain Sandoe ++ ++ * gcc.dg/darwin-version-1.c: Adjust test to use different ++ options for Darwin4-9 and Darwin10+. ++ ++2020-01-15 Martin Liska ++ ++ Backport from mainline ++ 2019-04-14 Jan Hubicka ++ ++ PR lto/89358 ++ * g++.dg/lto/pr89358_0.C: New testcase. ++ * g++.dg/lto/pr89358_1.C: New testcase. ++ ++2020-01-14 Joseph Myers ++ ++ Backport from mainline: ++ 2020-01-13 Joseph Myers ++ ++ PR c/93241 ++ * gcc.dg/c11-static-assert-10.c, gcc.dg/c99-const-expr-15.c: New ++ tests. ++ ++2020-01-13 Joseph Myers ++ ++ Backport from mainline: ++ 2019-12-09 Joseph Myers ++ ++ PR middle-end/91226 ++ * gcc.dg/dfp/bid-non-canonical-d128-1.c, ++ gcc.dg/dfp/bid-non-canonical-d128-2.c, ++ gcc.dg/dfp/bid-non-canonical-d128-3.c, ++ gcc.dg/dfp/bid-non-canonical-d128-4.c, ++ gcc.dg/dfp/bid-non-canonical-d32-1.c, ++ gcc.dg/dfp/bid-non-canonical-d32-2.c, ++ gcc.dg/dfp/bid-non-canonical-d64-1.c, ++ gcc.dg/dfp/bid-non-canonical-d64-2.c: New tests. ++ ++2020-01-10 Martin Jambor ++ ++ Backport from mainline ++ 2019-12-17 Martin Jambor ++ ++ PR ipa/92971 ++ * gcc.dg/ipa/ipcp-agg-12.c: New test. ++ ++2020-01-10 Tobias Burnus ++ ++ Backported from mainline ++ 2020-01-09 Tobias Burnus ++ ++ PR fortran/84135 ++ * gfortran.dg/coarray/codimension_3.f90: New. ++ ++2019-12-30 Thomas Koenig ++ ++ Backport from trunk ++ PR fortran/92961 ++ * gfortran.dg/arith_divide_2.f90: New test. ++ ++2019-12-20 Roman Zhuykov ++ ++ * gcc.dg/pr92951-1.c: Rename to ... ++ * gcc.dg/pr92591-1.c: ... this. ++ * gcc.dg/pr92951-2.c: Rename to ... ++ * gcc.dg/pr92591-2.c: ... this. ++ ++2019-12-20 Roman Zhuykov ++ ++ Backport from mainline ++ 2019-12-13 Roman Zhuykov ++ ++ PR rtl-optimization/92591 ++ * gcc.dg/pr92951-1.c: New test. ++ * gcc.dg/pr92951-2.c: New test. ++ ++2019-12-17 Andreas Krebbel ++ ++ Backport from mainline ++ 2019-12-16 Andreas Krebbel ++ ++ PR target/92950 ++ * gcc.target/s390/vector/pr92950.c: New test. ++ ++2019-11-29 Harald Anlauf ++ ++ Backport from mainline ++ PR fortran/92629 ++ * gfortran.dg/pr92629.f90: New testcase. ++ ++2019-11-29 Tobias Burnus ++ ++ Backport from mainline ++ 2019-11-29 Tobias Burnus ++ ++ PR ipa/84963 ++ * gfortran.dg/goacc/pr84963.f90: Use dg-additional-options not ++ dg-options as otherwise -fopenacc is not used. ++ ++2019-11-26 Jerry DeLisle ++ ++ Backport from trunk ++ PR fortran/92100 ++ gfortran.dg/streamio_18.f90: New test. ++ ++2019-11-25 Thomas Koenig ++ Harald Anlauf ++ ++ Backport from trunk ++ PR fortran/92569 ++ * gfortran.dg/eof_6.f90: New test. ++ ++2019-11-21 Jakub Jelinek ++ ++ PR tree-optimization/91355 ++ * g++.dg/torture/pr91355.C: New test. ++ ++ Backported from mainline ++ 2019-11-20 Jakub Jelinek ++ ++ PR middle-end/90840 ++ * gcc.c-torture/compile/pr90840.c: New test. ++ ++ PR target/90867 ++ * gcc.target/i386/pr90867.c: New test. ++ ++ PR c/90898 ++ * gcc.dg/pr90898.c: New test. ++ ++ 2019-11-19 Jakub Jelinek ++ ++ PR middle-end/91450 ++ * gcc.c-torture/execute/pr91450-1.c: New test. ++ * gcc.c-torture/execute/pr91450-2.c: New test. ++ ++ 2019-11-08 Jakub Jelinek ++ ++ PR c++/92384 ++ * g++.dg/torture/pr92384.C: New test. ++ ++ 2019-10-31 Jakub Jelinek ++ ++ PR preprocessor/92296 ++ * c-c++-common/cpp/pr92296-1.c: New test. ++ * c-c++-common/cpp/pr92296-2.c: New test. ++ ++ 2019-10-29 Jakub Jelinek ++ ++ PR c++/92201 ++ * g++.dg/other/pr92201.C: New test. ++ ++ 2019-10-17 Jakub Jelinek ++ ++ PR tree-optimization/92056 ++ * gcc.c-torture/compile/pr92056.c: New test. ++ ++ 2019-10-04 Jakub Jelinek ++ ++ PR c++/91974 ++ * g++.dg/cpp1z/eval-order5.C: New test. ++ ++ 2019-09-07 Jakub Jelinek ++ ++ PR tree-optimization/91665 ++ * gcc.dg/vect/pr91665.c: New test. ++ ++ 2019-09-05 Jakub Jelinek ++ ++ PR middle-end/91001 ++ PR middle-end/91105 ++ PR middle-end/91106 ++ * gcc.c-torture/compile/pr91001.c: New test. ++ ++ 2019-09-01 Jakub Jelinek ++ ++ PR middle-end/91623 ++ * gcc.target/i386/pr91623.c: New test. ++ ++ 2019-08-09 Jakub Jelinek ++ ++ PR c/91401 ++ * c-c++-common/gomp/pr91401-1.c: New test. ++ * c-c++-common/gomp/pr91401-2.c: New test. ++ ++2019-11-20 Peter Bergner ++ ++ Backport from mainline ++ 2019-11-13 David Edelsohn ++ ++ * gcc.target/powerpc/pr92090.c: Limit -mbig to powerpc64le-*-*. ++ * gcc.target/powerpc/pr92090-2.c: Likewise. ++ ++ 2019-11-07 Peter Bergner ++ ++ PR other/92090 ++ * gcc.target/powerpc/pr92090-2.c: New test. ++ ++ 2019-11-07 Peter Bergner ++ ++ PR other/92090 ++ * gcc.target/powerpc/pr92090.c: New test. ++ ++2019-11-08 Eric Botcazou ++ ++ * gcc.c-torture/compile/20191108-1.c: New test. ++ * gcc.target/sparc/overflow-1.c: Add -fno-pie to the options. ++ * gcc.target/sparc/overflow-2.c: Likewise. ++ * gcc.target/sparc/overflow-3.c: Likewise. ++ * gcc.target/sparc/overflow-4.c: Likewise. ++ * gcc.target/sparc/overflow-5.c: Likewise. ++ ++2019-11-05 Iain Sandoe ++ ++ Backport from mainline. ++ 2019-06-20 Iain Sandoe ++ ++ * obj-c++.dg/stubify-1.mm: Adjust options and scan-asm checks. ++ * obj-c++.dg/stubify-2.mm: Likewise. ++ * objc.dg/stubify-1.m: Likewise. ++ * objc.dg/stubify-2.m: Likewise. ++ ++2019-11-03 Iain Sandoe ++ ++ PR c++/79274 ++ * g++.dg/tls/pr77285-2.C: XFAIL test for Darwin. ++ ++2019-11-02 Iain Sandoe ++ ++ Backport from mainline ++ 2019-06-13 Iain Sandoe ++ ++ * gcc.dg/pr90760.c: Require alias support. ++ ++2019-11-01 Delia Burduv ++ ++ Backport from trunk ++ 2019-02-20 Andre Vieira ++ ++ PR target/86487 ++ * gcc.target/arm/pr86487.c: New. ++ ++2019-10-31 Iain Sandoe ++ ++ Backport from mainline. ++ 2019-10-22 Iain Sandoe ++ ++ * gcc.dg/Wnonnull.c: Provide prototypes for strlen and memcpy. ++ Use __SIZE_TYPE__ instead of size_t. ++ ++ Backport from mainline. ++ 2019-10-19 Iain Sandoe ++ ++ * gcc.dg/Wnonnull.c: Add attributed function declarations for ++ memcpy and strlen for Darwin. ++ ++2019-10-31 Iain Sandoe ++ ++ Backport from mainline. ++ 2019-10-13 Iain Sandoe ++ ++ * gcc.target/i386/indirect-thunk-1.c: Allow 'l' or 'L' in ++ indirection label prefix, for Darwin. ++ * gcc.target/i386/indirect-thunk-2.c: Likewise. ++ * gcc.target/i386/indirect-thunk-3.c: Likewise. ++ * gcc.target/i386/indirect-thunk-4.c: Likewise. ++ * gcc.target/i386/indirect-thunk-attr-1.c: Likewise. ++ * gcc.target/i386/indirect-thunk-attr-2.c: Likewise. ++ * gcc.target/i386/indirect-thunk-attr-3.c: Likewise. ++ * gcc.target/i386/indirect-thunk-attr-4.c: Likewise. ++ * gcc.target/i386/indirect-thunk-attr-5.c: Likewise. ++ * gcc.target/i386/indirect-thunk-attr-6.c: Likewise. ++ * gcc.target/i386/indirect-thunk-extern-1.c: Likewise. ++ * gcc.target/i386/indirect-thunk-extern-2.c: Likewise. ++ * gcc.target/i386/indirect-thunk-extern-3.c: Likewise. ++ * gcc.target/i386/indirect-thunk-extern-4.c: Likewise. ++ * gcc.target/i386/indirect-thunk-inline-1.c: Likewise. ++ * gcc.target/i386/indirect-thunk-inline-2.c: Likewise. ++ * gcc.target/i386/indirect-thunk-inline-3.c: Likewise. ++ * gcc.target/i386/indirect-thunk-inline-4.c: Likewise. ++ * gcc.target/i386/pr32219-2.c: Likewise. ++ * gcc.target/i386/pr32219-3.c: Likewise. ++ * gcc.target/i386/pr32219-4.c: Likewise. ++ * gcc.target/i386/pr32219-7.c: Likewise. ++ * gcc.target/i386/pr32219-8.c: Likewise. ++ * gcc.target/i386/ret-thunk-14.c: Likewise. ++ * gcc.target/i386/ret-thunk-15.c: Likewise. ++ * gcc.target/i386/ret-thunk-9.c: Likewise. ++ ++2019-10-31 Iain Sandoe ++ ++ Backport from mainline. ++ 2019-08-13 Iain Sandoe ++ ++ * obj-c++.dg/stubify-1.mm: Rename symbol stub option. ++ * obj-c++.dg/stubify-2.mm: Likewise. ++ * objc.dg/stubify-1.m: Likewise. ++ * objc.dg/stubify-2.m: Likewise. ++ ++2019-10-31 Iain Sandoe ++ ++ Backport from mainline. ++ 2019-05-15 Iain Sandoe ++ ++ * lib/target-supports.exp ++ (check_effective_target_powerpc_p8vector_ok): No support for Darwin. ++ (check_effective_target_powerpc_p9vector_ok): Likewise. ++ (check_effective_target_powerpc_float128_sw_ok): Likewise. ++ (check_effective_target_powerpc_float128_hw_ok): Likewise. ++ (check_effective_target_powerpc_vsx_ok): Likewise. ++ * gcc.target/powerpc/bfp/bfp.exp: Don't try to run this for Darwin. ++ * gcc.target/powerpc/dfp/dfp.exp: Likewise. ++ ++2019-10-30 Dragan Mladjenovic ++ ++ Backport from mainline ++ 2019-07-09 Dragan Mladjenovic ++ ++ * gcc.target/mips/cfgcleanup-jalr1.c: New test. ++ * gcc.target/mips/cfgcleanup-jalr2.c: New test. ++ * gcc.target/mips/cfgcleanup-jalr3.c: New test. ++ ++2019-10-28 Iain Sandoe ++ ++ * gcc.c-torture/compile/pr72802.c: Skip for Darwin. ++ ++2019-10-28 Jiufu Guo ++ ++ Backport from mainline ++ PR target/70010 ++ * gcc.target/powerpc/pr70010.c: Add -Wno-psabi and -mvsx. ++ ++2019-10-28 Peter Bergner ++ Jiufu Guo ++ ++ PR target/70010 ++ * gcc.target/powerpc/pr70010.c: New test. ++ * gcc.target/powerpc/pr70010-1.c: New test. ++ * gcc.target/powerpc/pr70010-3.c: New test. ++ * gcc.target/powerpc/pr70010-4.c: New test. ++ ++2019-10-27 Paul Thomas ++ ++ Backport from mainline ++ PR fortran/86248 ++ * gfortran.dg/char_result_19.f90 : New test. ++ * gfortran.dg/char_result_mod_19.f90 : Module for the new test. ++ ++2019-10-25 Richard Earnshaw ++ ++ Backport from mainline ++ 2019-05-08 Mihail Ionescu ++ Richard Earnshaw ++ PR target/88167 ++ * gcc.target/arm/pr88167-1.c: New test. ++ * gcc.target/arm/pr88167-2.c: New test. ++ ++2019-10-23 Richard Biener ++ ++ Backport from mainline ++ 2019-10-17 Richard Biener ++ ++ PR debug/91887 ++ * g++.dg/debug/dwarf2/pr91887.C: New testcase. ++ ++ 2019-09-19 Richard Biener ++ ++ PR tree-optimization/91812 ++ * gcc.dg/torture/pr91812.c: New testcase. ++ ++2019-10-23 Eric Botcazou ++ ++ * gcc.c-torture/execute/20191023-1.c: New test. ++ ++2019-10-18 Steven G. Kargl ++ ++ PR fortran/69455 ++ * gfortran.dg/pr69455_1.f90: New test. ++ * gfortran.dg/pr69455_2.f90: Ditto. ++ ++2019-10-17 Bill Schmidt ++ ++ Backport from mainline ++ 2019-10-15 Bill Schmidt ++ ++ PR target/92093 ++ * gcc.target/powerpc/pr91275.c: Fix type and endian issues. ++ ++2019-10-14 Will Schmidt ++ ++ Backport from trunk. ++ 2019-09-26 Will Schmidt ++ ++ * gcc.target/powerpc/pure-builtin-redundant-load.c: New. ++ ++2019-10-10 Uroš Bizjak ++ ++ PR target/92022 ++ * g++.dg/pr92022.C: New test. ++ ++2019-10-07 Thomas Koenig ++ ++ Backport from trunk ++ PR fortran/84487 ++ * gfortran.dg/typebound_call_22.f03: xfail. ++ ++2019-10-07 Bill Schmidt ++ ++ Backport from mainline ++ 2019-10-01 Bill Schmidt ++ ++ PR target/91275 ++ * gcc.target/powerpc/pr91275.c: New. ++ ++2019-10-01 Kyrylo Tkachov ++ ++ Backport from mainline ++ 2019-09-24 Kyrylo Tkachov ++ ++ * gcc.target/aarch64/nosplit-di-const-volatile_1.c: New test. ++ ++2019-10-01 Eric Botcazou ++ ++ * gcc.dg/pr91854.c: New test. ++ ++2019-09-28 Paul Thomas ++ ++ Backport from mainline ++ PR fortran/91588 ++ * gfortran.dg/associate_49.f90 : New test. ++ ++2019-09-25 Kyrylo Tkachov ++ ++ Backport from mainline ++ 2019-08-22 Kyrylo Tkachov ++ ++ * gcc.target/arm/acle/crc_hf_1.c: New test. ++ ++2019-09-20 Iain Sandoe ++ ++ Backport from mainline. ++ 2019-05-11 Iain Sandoe ++ ++ PR testsuite/81058 ++ * gcc.target/i386/avx512bw-vpmovswb-1.c: Use regular data section ++ for variables on Darwin, rather than common. ++ * gcc.target/i386/avx512bw-vpmovuswb-1.c: Likewise. ++ * gcc.target/i386/avx512bw-vpmovwb-1.c: Likewise. ++ ++2019-09-18 Thomas Koenig ++ ++ Backport from trunk ++ PR fortran/91550 ++ * gfortran.dg/do_subscript_6.f90: New test. ++ ++2019-09-15 Thomas Koenig ++ ++ Backport from trunk ++ PR fortran/91557 ++ * gfortran.dg/warn_unused_dummy_argument_5.f90: New test. ++ ++2019-09-11 Eric Botcazou ++ ++ * gcc.target/sparc/20161111-1.c: XFAIL redundant zero-extension test. ++ ++2019-09-09 Jakub Jelinek ++ ++ PR target/87853 ++ * gcc.target/i386/pr87853.c: New test. ++ ++ PR target/91704 ++ * gcc.target/i386/pr91704.c: New test. ++ ++2019-09-05 Steven G. Kargl ++ ++ PR fortran/91660 ++ * gfortran.dg/pdt_4.f03: Fix invalid code. ++ * gfortran.dg/pr91660_1.f90: New test. ++ * gfortran.dg/pr91660_2.f90: Ditto. ++ ++2019-09-04 Wilco Dijkstra ++ ++ Backport from mainline ++ 2019-08-13 Wilco Dijkstra ++ ++ PR target/81800 ++ * gcc.target/aarch64/no-inline-lrint_3.c: New test. ++ ++2019-09-02 Richard Biener ++ ++ PR testsuite/91619 ++ * gcc.dg/vect/pr81740-2.c: Restrict to vect_hw_misalign. ++ ++2019-09-01 Iain Sandoe ++ ++ Backport from mainline. ++ 2019-06-15 Iain Sandoe ++ ++ PR objc/90709 ++ * obj-c++.dg/proto-lossage-7.mm: Use proxy headers. ++ * obj-c++.dg/strings/const-cfstring-2.mm: Likewise. ++ * obj-c++.dg/strings/const-cfstring-5.mm: Likewise ++ * obj-c++.dg/strings/const-str-12.mm: Likewise. ++ * obj-c++.dg/syntax-error-1.mm: Likewise. ++ * obj-c++.dg/torture/strings/const-cfstring-1.mm: Likewise. ++ * obj-c++.dg/torture/strings/const-str-10.mm: Likewise. ++ * obj-c++.dg/torture/strings/const-str-11.mm: Likewise. ++ * obj-c++.dg/torture/strings/const-str-9.mm: Likewise. ++ * obj-c++.dg/cxx-ivars-3.mm: Skip on later Darwin, where the 10.4 API ++ in no longer supported, also on m64 where there's no meaning to it. ++ * obj-c++.dg/isa-field-1.mm: Suppress unwanted warning, add comment why. ++ * obj-c++.dg/objc-gc-3.mm: Skip for Darwin > 16, the API use is an error ++ there. ++ * obj-c++.dg/qual-types-1.mm: Prune a spurious l64 warning. ++ * obj-c++.dg/stubify-1.mm: Tidy up after better compiler warnings. ++ * obj-c++.dg/stubify-2.mm: Likewise. ++ * obj-c++.dg/try-catch-1.mm: Likewise. ++ * obj-c++.dg/try-catch-3.mm: Likewise. ++ ++ Backport from mainline. ++ 2019-06-15 Iain Sandoe ++ ++ PR objc/90709 ++ * objc.dg/encode-7-next-64bit.m: Use proxy headers. ++ * objc.dg/image-info.m: Likewise. ++ * objc.dg/method-6.m: Likewise. ++ * objc.dg/no-extra-load.m: Likewise. ++ * objc.dg/objc-foreach-4.m: Likewise. ++ * objc.dg/objc-foreach-5.m: Likewise. ++ * objc.dg/proto-lossage-7.m: Likewise. ++ * objc.dg/strings/const-cfstring-2.m: Likewise. ++ * objc.dg/strings/const-cfstring-5.m: Likewise. ++ * objc.dg/strings/const-str-12b.m: Likewise. ++ * objc.dg/symtab-1.m: Likewise. ++ * objc.dg/torture/strings/const-cfstring-1.m: Likewise. ++ * objc.dg/torture/strings/const-str-10.m: Likewise. ++ * objc.dg/torture/strings/const-str-11.m: Likewise. ++ * objc.dg/torture/strings/const-str-9.m: Likewise. ++ * objc.dg/zero-link-1.m: Likewise. ++ * objc.dg/zero-link-2.m: Likewise. ++ * objc.dg/zero-link-3.m: Likewise. ++ * objc.dg/isa-field-1.m: Suppress unwanted warning, add comment why. ++ * objc.dg/headers.m: XFAIL for Darwin14-19. ++ * objc.dg/objc-gc-4.m: Skip for Darwin > 16, the API use is an error ++ there. ++ ++ Backport from mainline. ++ 2019-06-15 Iain Sandoe ++ ++ PR objc/90709 ++ * objc-obj-c++-shared/CF-CFString.h: New. ++ * objc-obj-c++-shared/F-NSArray.h: New. ++ * objc-obj-c++-shared/F-NSAutoreleasePool.h: New. ++ * objc-obj-c++-shared/F-NSObject.h: New. ++ * objc-obj-c++-shared/F-NSString.h: New. ++ * objc-obj-c++-shared/F-NSValue.h: New. ++ * objc-obj-c++-shared/GNUStep/CoreFoundation/CFArray.h: New. ++ * objc-obj-c++-shared/GNUStep/CoreFoundation/CFAvailability.h: New. ++ * objc-obj-c++-shared/GNUStep/CoreFoundation/CFBase.h: New. ++ * objc-obj-c++-shared/GNUStep/CoreFoundation/CFCharacterSet.h: New. ++ * objc-obj-c++-shared/GNUStep/CoreFoundation/CFData.h: New. ++ * objc-obj-c++-shared/GNUStep/CoreFoundation/CFDictionary.h: New. ++ * objc-obj-c++-shared/GNUStep/CoreFoundation/CFLocale.h: New. ++ * objc-obj-c++-shared/GNUStep/CoreFoundation/CFString.h: New. ++ * objc-obj-c++-shared/GNUStep/Foundation/NSArray.h: New. ++ * objc-obj-c++-shared/GNUStep/Foundation/NSAutoreleasePool.h: New. ++ * objc-obj-c++-shared/GNUStep/Foundation/NSDate.h: New. ++ * objc-obj-c++-shared/GNUStep/Foundation/NSEnumerator.h: New. ++ * objc-obj-c++-shared/GNUStep/Foundation/NSGeometry.h: New. ++ * objc-obj-c++-shared/GNUStep/Foundation/NSObjCRuntime.h: New. ++ * objc-obj-c++-shared/GNUStep/Foundation/NSObject.h: New. ++ * objc-obj-c++-shared/GNUStep/Foundation/NSRange.h: New. ++ * objc-obj-c++-shared/GNUStep/Foundation/NSString.h: New. ++ * objc-obj-c++-shared/GNUStep/Foundation/NSValue.h: New. ++ * objc-obj-c++-shared/GNUStep/Foundation/NSZone.h: New. ++ * objc-obj-c++-shared/GNUStep/GNUstepBase/GNUstep.h: New. ++ * objc-obj-c++-shared/GNUStep/GNUstepBase/GSBlocks.h: New. ++ * objc-obj-c++-shared/GNUStep/GNUstepBase/GSConfig.h: New. ++ * objc-obj-c++-shared/GNUStep/GNUstepBase/GSObjCRuntime.h: New. ++ * objc-obj-c++-shared/GNUStep/GNUstepBase/GSVersionMacros.h: New. ++ * objc-obj-c++-shared/GNUStep/GNUstepBase/NSArray+GNUstepBase.h: New. ++ * objc-obj-c++-shared/GNUStep/GNUstepBase/NSMutableString+GNUstepBase.h: ++ New. ++ * objc-obj-c++-shared/GNUStep/GNUstepBase/NSNumber+GNUstepBase.h: New. ++ * objc-obj-c++-shared/GNUStep/GNUstepBase/NSObject+GNUstepBase.h: New. ++ * objc-obj-c++-shared/GNUStep/GNUstepBase/NSString+GNUstepBase.h: New. ++ ++2019-09-01 Iain Sandoe ++ ++ Backport from mainline. ++ 2019-07-27 Iain Sandoe ++ ++ * gcc.target/powerpc/bmi2-bzhi64-1a.c: Add options to enable altivec ++ and vsx. ++ ++2019-09-01 Iain Sandoe ++ ++ Backport from mainline. ++ 2019-07-25 Iain Sandoe ++ ++ PR gcov-profile/91087 ++ * g++.dg/gcov/pr16855.C: Xfail the count lines for the DTORs and the ++ "final" line for the failure summaries. Adjust source layout so that ++ dejagnu xfail expressions work. ++ ++2019-09-01 Iain Sandoe ++ ++ Backport from mainline. ++ 2019-07-13 Iain Sandoe ++ ++ * gcc.target/powerpc/stabs-attrib-vect-darwin.c: Require stabs ++ support. ++ ++2019-09-01 Iain Sandoe ++ ++ Backport from mainline. ++ 2019-06-24 Iain Sandoe ++ ++ * gcc.target/powerpc/safe-indirect-jump-1.c: Skip for Darwin. ++ * gcc.target/powerpc/safe-indirect-jump-7.c: Likewise. ++ ++2019-09-01 Iain Sandoe ++ ++ Backport from mainline. ++ 2019-04-15 Dominique d'Humieres ++ ++ PR tree-optimization/90020 ++ * gcc.dg/torture/pr90020.c: Add linker options for darwin. ++ ++2019-09-01 Iain Sandoe ++ ++ Backport from mainline. ++ 2019-05-10 Iain Sandoe ++ ++ * gcc.target/x86_64/abi/avx512f/abi-avx512f.exp: Darwin is ++ now tested. ++ * gcc.target/x86_64/abi/avx512f/asm-support-darwin.s: New. ++ ++2019-09-01 Eric Botcazou ++ ++ * gcc.c-torture/execute/20190901-1.c: New test. ++ ++2019-08-31 Iain Sandoe ++ ++ Backport from mainline. ++ 2019-06-24 Iain Sandoe ++ ++ * gcc.target/powerpc/spec-barr-1.c: Adjust scan assembler regex ++ to recognise Darwin's register names. ++ ++2019-08-31 Iain Sandoe ++ ++ Backport from mainline. ++ 2019-06-24 Iain Sandoe ++ ++ * gcc.dg/cpp/isysroot-1.c: Use as the test header. ++ * gcc.dg/cpp/usr/include/stdio.h: Rename... ++ * gcc.dg/cpp/usr/include/example.h: ... to this. ++ ++2019-08-31 Iain Sandoe ++ ++ Backport from mainline. ++ 2019-06-23 Iain Sandoe ++ ++ * gcc.target/powerpc/builtins-2.c: Require VSX hardware support. ++ ++2019-08-31 Iain Sandoe ++ ++ Backport from mainline. ++ 2019-06-23 Iain Sandoe ++ ++ * gcc.target/powerpc/pr80125.c (foo): Use an unsigned char ++ vector explicitly for the vec_perm. ++ ++2019-08-31 Iain Sandoe ++ ++ Backport from mainline. ++ 2019-06-23 Iain Sandoe ++ ++ * gcc.target/powerpc/pr71785.c: For Darwin, make test non-PIC, ++ expect the out-of-line GPR restore, and test specifically for ++ absence of branches to local labels. ++ ++2019-08-31 Iain Sandoe ++ ++ Backport from mainline. ++ 2019-06-22 Iain Sandoe ++ ++ * gcc.target/powerpc/pr64205.c: Require effective target dfp. ++ * gcc.target/powerpc/pr79909.c: Likewise. ++ ++2019-08-31 Iain Sandoe ++ ++ Backport from mainline. ++ 2019-06-22 Iain Sandoe ++ ++ * gcc.target/powerpc/darwin-bool-1.c: Suppress the pedantic ++ warning about _Bool. ++ ++2019-08-31 Iain Sandoe ++ ++ Backport from mainline. ++ 2019-06-13 Iain Sandoe ++ ++ * g++.dg/pr71694.C: Use non-PIC codegen for Darwin m32. ++ ++2019-08-31 Iain Sandoe ++ ++ Backport from mainline. ++ 2019-06-13 Iain Sandoe ++ ++ * gcc.dg/darwin-minversion-1.c: Use compile rather than link/run. ++ * gcc.dg/darwin-minversion-2.c: Likewise. ++ ++2019-08-31 Iain Sandoe ++ ++ Backport from mainline. ++ 2019-06-11 Iain Sandoe ++ ++ PR testsuite/65364 ++ * gcc.dg/uninit-19.c (fn1): Adjust target condition for Darwin. ++ (fn2): Likewise. ++ ++2019-08-31 Iain Sandoe ++ ++ Backport from mainline. ++ 2019-06-06 Iain Sandoe ++ ++ * g++.dg/cpp0x/alignas4.C: Amend test to check for zerofill syntax ++ on Darwin. ++ ++2019-08-31 Segher Boessenkool ++ ++ PR target/91481 ++ * gcc.target/powerpc/darn-3.c: Fix testcase. ++ ++2019-08-30 Iain Sandoe ++ ++ Backport from mainline. ++ 2019-06-01 Iain Sandoe ++ ++ PR target/90698 ++ * gcc.target/i386/pr49866.c: XFAIL for Darwin. ++ * gcc.target/i386/pr63538.c: Likewise. ++ * gcc.target/i386/pr61599-1.c: Skip for Darwin. ++ ++2019-08-30 Iain Sandoe ++ ++ Backport from mainline. ++ 2019-05-31 Iain Sandoe ++ ++ * g++.dg/cpp0x/pr84497.C: Require alias support. ++ ++2019-08-30 Iain Sandoe ++ ++ Backport from mainline. ++ 2019-05-30 Iain Sandoe ++ ++ * gcc.target/i386/stack-prot-sym.c: Require native TLS support. ++ ++2019-08-30 Iain Sandoe ++ ++ Backport from mainline. ++ 2019-05-27 Iain Sandoe ++ ++ * gcc.target/i386/pr22076.c: Adjust options to ++ match codegen expected by the scan-asms. ++ ++2019-08-30 Iain Sandoe ++ ++ Backport from mainline. ++ 2019-05-26 Iain Sandoe ++ ++ * gcc.target/i386/pr39013-1.c: Adjust scan-asms for PIE to ++ account for PIC code on Darwin. ++ * gcc.target/i386/pr39013-2.c: Likewise. ++ * gcc.target/i386/pr64317.c: Likewise. ++ ++2019-08-30 Iain Sandoe ++ ++ Backport from mainline. ++ 2019-05-25 Iain Sandoe ++ ++ * gcc.target/i386/pr59874-3.c: Use the spelling of popcnt ++ expected for Darwin. ++ ++2019-08-30 Iain Sandoe ++ ++ Backport from mainline. ++ 2019-05-25 Iain Sandoe ++ ++ * gcc.target/i386/pr82659-3.c: Require alias support. ++ ++2019-08-30 Iain Sandoe ++ ++ Backport from mainline. ++ 2019-05-24 Iain Sandoe ++ ++ * gcc.target/i386/pconfig-1.c: Scan for the string in the generated ++ code, not in comments or miscellaneous directives. ++ * gcc.target/i386/wbinvd-1.c: Likewise. ++ * gcc.target/i386/wbnoinvd-1.c: Likewise. ++ * gcc.target/i386/pr66819-3.c: Specifically, check that there is no ++ call to "bar". ++ * gcc.target/i386/pr66819-4.c: Likewise. ++ * gcc.target/i386/pr82662.c ++ ++2019-08-30 Iain Sandoe ++ ++ Backport from mainline. ++ 2019-05-24 Iain Sandoe ++ ++ * gcc.target/i386/pr67985-2.c: Adjust label checks for ++ Darwin. ++ * gcc.target/i386/pr77881.c: Likewise. ++ ++2019-08-30 Iain Sandoe ++ ++ Backport from mainline. ++ 2019-05-24 Iain Sandoe ++ ++ * gcc.target/i386/pr70738-7.c: Likewise. ++ * gcc.target/i386/pr24414.c: Likewise. ++ ++2019-08-30 Iain Sandoe ++ ++ Backport from mainline. ++ 2019-05-23 Iain Sandoe ++ ++ PR rtl-optimisation/64895 ++ * gcc.target/i386/fuse-caller-save-rec.c: Remove XFAILs. ++ * gcc.target/i386/fuse-caller-save.c: Likewise. ++ * gcc.target/i386/fuse-caller-save-xmm.c: Adjust tests for ++ PIC cases, remove XFAILs. ++ ++2019-08-30 Richard Biener ++ ++ Backport from mainline ++ 2019-07-08 Richard Biener ++ ++ PR tree-optimization/91108 ++ * gcc.dg/tree-ssa/pr91091-1.c: New testcase. ++ * gcc.dg/tree-ssa/ssa-fre-78.c: Likewise. ++ ++2019-08-30 Segher Boessenkool ++ ++ Backport from trunk ++ 2019-08-23 Segher Boessenkool ++ ++ PR target/91481 ++ * gcc.target/powerpc/darn-3.c: New testcase. ++ ++2019-08-30 Richard Biener ++ ++ Backport from mainline ++ 2018-12-04 Richard Biener ++ ++ PR tree-optimization/88315 ++ * gcc.dg/vect/slp-reduc-sad.c: Adjust to provide non-trivial ++ initial value. ++ ++2019-08-30 Richard Biener ++ ++ Backport from mainline ++ 2019-06-18 Richard Biener ++ ++ PR debug/90900 ++ * gcc.dg/gomp/pr90900.c: New testcase. ++ ++ 2019-04-29 Richard Biener ++ ++ PR tree-optimization/90278 ++ * gcc.dg/torture/pr90278.c: New testcase. ++ ++ 2019-04-25 Richard Biener ++ ++ PR middle-end/90194 ++ * g++.dg/torture/pr90194.C: New testcase. ++ ++2019-08-30 Richard Biener ++ ++ Backport from mainline ++ 2019-07-31 Richard Biener ++ ++ PR tree-optimization/91293 ++ * gcc.dg/vect/pr91293-1.c: New testcase. ++ * gcc.dg/vect/pr91293-2.c: Likewise. ++ * gcc.dg/vect/pr91293-3.c: Likewise. ++ ++ 2019-07-31 Richard Biener ++ ++ PR tree-optimization/91280 ++ * g++.dg/torture/pr91280.C: New testcase. ++ ++ 2019-07-19 Richard Biener ++ ++ PR tree-optimization/91200 ++ * gcc.dg/torture/pr91200.c: New testcase. ++ ++ 2019-07-15 Richard Biener ++ ++ PR middle-end/91162 ++ * gcc.dg/autopar/pr91162.c: New testcase. ++ ++ 2019-07-11 Richard Biener ++ ++ PR middle-end/91131 ++ * gcc.target/i386/pr91131.c: New testcase. ++ ++ 2019-07-10 Richard Biener ++ ++ PR tree-optimization/91126 ++ * gcc.dg/torture/pr91126.c: New testcase. ++ ++2019-08-30 Richard Biener ++ ++ Backport from mainline ++ 2019-05-06 Richard Biener ++ ++ PR tree-optimization/90328 ++ * gcc.dg/torture/pr90328.c: New testcase. ++ ++ 2019-02-22 Richard Biener ++ ++ PR middle-end/87609 ++ * gcc.dg/torture/restrict-7.c: New testcase. ++ ++2019-08-30 Bin Cheng ++ ++ Backport from mainline ++ 2019-07-18 Bin Cheng ++ ++ PR tree-optimization/91137 ++ * gcc.c-torture/execute/pr91137.c: New test. ++ ++2019-08-30 Richard Biener ++ ++ Backport from mainline ++ 2019-04-08 Richard Biener ++ ++ PR tree-optimization/90006 ++ * gcc.dg/vect/bb-slp-pr90006.c: New testcase. ++ ++ 2019-04-01 Bin Cheng ++ ++ PR tree-optimization/89725 ++ * gcc.dg/tree-ssa/pr89725.c: New test. ++ ++ 2019-03-26 Bin Cheng ++ ++ PR tree-optimization/81740 ++ * gcc.dg/vect/pr81740-1.c: New testcase. ++ * gcc.dg/vect/pr81740-2.c: Likewise. ++ ++2019-08-30 Richard Biener ++ ++ Backport from mainline ++ 2019-04-11 Richard Biener ++ ++ PR tree-optimization/90020 ++ * gcc.dg/torture/pr90020.c: New testcase. ++ ++2019-08-29 Iain Sandoe ++ ++ Backport from mainline. ++ 2019-05-22 Iain Sandoe ++ ++ PR testsuite/27221 ++ * g++.dg/ext/alignof2.C: XFAIL for 32bit Darwin. ++ ++2019-08-29 Iain Sandoe ++ ++ Backport from mainline. ++ 2019-05-21 Iain Sandoe ++ ++ PR testsuite/67958 ++ * gcc.target/i386/pr32219-1.c: Adjust scan-asms for Darwin, comment ++ the differences. ++ * gcc.target/i386/pr32219-2.c: Likewise. ++ * gcc.target/i386/pr32219-3.c: Likewise. ++ * gcc.target/i386/pr32219-4.c: Likewise. ++ * gcc.target/i386/pr32219-5.c: Likewise. ++ * gcc.target/i386/pr32219-6.c: Likewise. ++ * gcc.target/i386/pr32219-7.c: Likewise. ++ * gcc.target/i386/pr32219-8.c: Likewise. ++ ++2019-08-29 Jakub Jelinek ++ ++ Backported from mainline ++ 2019-07-30 Jakub Jelinek ++ ++ PR target/91150 ++ * gcc.target/i386/avx512bw-pr91150.c: New test. ++ ++ 2019-07-04 Jakub Jelinek ++ ++ PR middle-end/78884 ++ * gcc.dg/gomp/pr78884.c: New test. ++ ++ PR rtl-optimization/90756 ++ * gcc.dg/pr90756.c: New test. ++ ++ 2019-06-25 Jakub Jelinek ++ ++ PR sanitizer/90954 ++ * c-c++-common/gomp/pr90954.c: New test. ++ ++ 2019-06-21 Jakub Jelinek ++ ++ PR c++/90950 ++ * g++.dg/gomp/lastprivate-1.C: New test. ++ ++ 2019-06-12 Jakub Jelinek ++ ++ PR c/90760 ++ * gcc.dg/pr90760.c: New test. ++ ++ 2019-06-05 Jakub Jelinek ++ ++ PR debug/90733 ++ * gcc.dg/pr90733.c: New test. ++ ++ 2019-05-10 Jakub Jelinek ++ ++ PR pch/90326 ++ * g++.dg/pch/pr90326.C: New test. ++ * g++.dg/pch/pr90326.Hs: New file. ++ ++ 2019-04-19 Jakub Jelinek ++ ++ PR middle-end/90139 ++ * gcc.c-torture/compile/pr90139.c: New test. ++ ++2019-08-28 Iain Sandoe ++ ++ Backport from mainline. ++ 2019-05-21 Iain Sandoe ++ ++ PR target/63891 ++ * gcc.dg/darwin-weakimport-3.c: Adjust options and explain ++ the reasons. ++ ++2019-08-28 Iain Sandoe ++ ++ Backport from mainline. ++ 2019-05-20 Iain Sandoe ++ ++ PR testsuite/58321 ++ * gcc.target/i386/memcpy-strategy-3.c: Adjust count for Darwin and ++ add a comment as to the reason for the difference. ++ * gcc.target/i386/memset-strategy-1.c: Likewise. ++ ++2019-08-28 Iain Sandoe ++ ++ Backport from mainline. ++ 2019-05-18 Iain Sandoe ++ ++ * objc.dg/instancetype-0.m: New. ++ ++2019-08-25 Iain Sandoe ++ ++ Backport from mainline. ++ 2019-06-13 Iain Sandoe ++ ++ * gcc.dg/darwin-minversion-link.c: New test. ++ ++2019-08-23 Mihailo Stojanovic ++ ++ * gcc.target/mips/get-fcsr-3.c: New test. ++ ++2019-08-20 Eric Botcazou ++ ++ * gcc.c-torture/execute/20190820-1.c: New test. ++ ++2019-08-15 Jonathan Wakely ++ ++ Backport from mainline. ++ 2019-08-14 Jonathan Wakely ++ ++ PR c++/91436 ++ * g++.dg/lookup/missing-std-include-5.C: Limit test to C++14 and up. ++ * g++.dg/lookup/missing-std-include-6.C: Don't check make_unique in ++ test that runs for C++11. ++ * g++.dg/lookup/missing-std-include-8.C: Check make_unique here. ++ ++2019-08-14 Iain Sandoe ++ ++ Backport from mainline. ++ 2019-05-02 Iain Sandoe ++ ++ * g++.dg/ext/instantiate2.C: Remove special-casing for Darwin. ++ ++2013-08-13 Thomas Koenig ++ ++ Backport from trunk ++ PR fortran/90563 ++ * gfortran.dg/do_subscript_5.f90: New test. ++ ++2019-08-05 Kito Cheng ++ ++ Backport from mainline ++ 2019-08-05 Kito Cheng ++ ++ * gcc.target/riscv/promote-type-for-libcall.c: New. ++ ++2019-08-02 Thomas Koenig ++ Paul Thomas ++ ++ Backport from trunk ++ PR fortran/90786 ++ PR fortran/90813 ++ * gfortran.dg/proc_ptr_51.f90: New test. ++ ++2019-07-22 Martin Liska ++ ++ Backport from mainline ++ 2019-07-22 Martin Liska ++ ++ PR driver/91172 ++ * gcc.dg/pr91172.c: New test. ++ ++2019-07-21 Richard Sandiford ++ ++ Backport from mainline ++ 2019-07-18 Richard Sandiford ++ ++ * c-c++-common/pr53633-2.c: New test. ++ ++2019-07-16 Wilco Dijkstra ++ ++ Backport from mainline ++ PR target/89222 ++ * gcc.target/arm/pr89222.c: Add new test. ++ ++2019-07-16 Wilco Dijkstra ++ ++ Backport from mainline ++ 2019-02-04 Wilco Dijkstra ++ PR target/89190 ++ * gcc.target/arm/pr89190.c: New test. ++ ++2019-07-15 Andreas Krebbel ++ ++ Backport from mainline ++ 2019-07-01 Andreas Krebbel ++ ++ * gcc.target/s390/vector/vec-shift-2.c: New test. ++ ++2019-07-12 Wilco Dijkstra ++ ++ PR testsuite/78529 ++ * gcc.c-torture/execute/builtins/builtins.exp: Add -fno-ipa-ra. ++ ++2019-07-07 Paul Thomas ++ ++ Backport from trunk ++ PR fortran/91077 ++ * gfortran.dg/pointer_array_11.f90 : New test. ++ ++2019-07-04 Chenghua Xu ++ ++ Backported from mainline. ++ * gcc.target/mips/mips-fmadd.c: Rename to ... ++ * gcc.target/mips/mips-fmadd-o32.c: ... Here; add abi=32. ++ * gcc.target/mips/mips-fmadd-n64.c: New. ++ ++2019-07-04 Martin Liska ++ ++ Backport from mainline ++ 2019-07-03 Martin Liska ++ ++ PR middle-end/90899 ++ * gcc.target/i386/pr90899.c: New test. ++ ++2019-06-29 Eric Botcazou ++ ++ * gnat.dg/specs/array5.ads: New test. ++ * gnat.dg/specs/array5_pkg1.ads: New helper. ++ * gnat.dg/specs/array5_pkg2.ads: Likewise. ++ * gnat.dg/specs/array5_pkg2-g.ads: Likewise. ++ ++2019-06-21 Jeff Law ++ ++ Backport fom mainline ++ 2019-06-21 Jeff Law ++ ++ PR tree-optimization/90949 ++ * gcc.c-torture/execute/pr90949.c: New test. ++ ++2019-06-21 Thomas Koenig ++ ++ Backport from trunk ++ PR fortran/90937 ++ * gfortran.dg/external_procedure_4.f90: New test. ++ ++2019-06-16 Jeff Law ++ ++ Backported from mainline ++ 2019-05-31 Dragan Mladjenovic ++ * gcc.target/mips/msa-fmadd.c: New. ++ ++2019-06-12 Thomas Koenig ++ Tomáš Trnka ++ ++ Backport from trunk ++ PR fortran/90744 ++ * gfortran.dg/deferred_character_33.f90: New test. ++ * gfortran.dg/deferred_character_33a.f90: New test. ++ ++2019-06-11 Jakub Jelinek ++ ++ PR c++/90810 ++ * g++.dg/ext/vector37.C: New test. ++ ++2019-06-10 Paul Thomas ++ ++ Backport from trunk ++ PR fortran/90498 ++ * gfortran.dg/associate_48.f90 : New test. ++ ++2019-06-09 Paul Thomas ++ ++ Backport from trunk ++ PR fortran/57284 ++ * gfortran.dg/assign_10.f90: Bump up counts of "atmp". ++ * gfortran.dg/transpose_optimization_2.f90: Ditto ++ ++2019-06-09 Paul Thomas ++ ++ Backport from trunk ++ PR fortran/57284 ++ * gfortran.dg/class_70.f03 ++ ++2019-06-07 John David Anglin ++ ++ * lib/scanasm.exp (dg-function-on-line): Add pattern for hppa*-*-linux*. ++ ++2019-06-07 Iain Sandoe ++ ++ PR target/82920 ++ * gcc.target/i386/indirect-thunk-bnd-1.c: Adjust scan-asms for Darwin, ++ do not use -fno-pic on Darwin. ++ * gcc.target/i386/indirect-thunk-bnd-2.c: Likewise. ++ * gcc.target/i386/ret-thunk-25.c: Skip for Darwin, which has a ++ different ABI for returning this category of complex value. ++ ++2019-06-07 Iain Sandoe ++ ++ Backport from mainline. ++ 2019-05-15 Iain Sandoe ++ ++ PR target/82920 ++ * g++.dg/cet-notrack-1.C: Adjust scan assembler for Darwin. ++ * gcc.target/i386/cet-notrack-5a.c: Likewise. ++ * gcc.target/i386/cet-notrack-5b.c: Likewise. ++ * gcc.target/i386/cet-notrack-6b.c: Likewise. ++ * gcc.target/i386/cet-notrack-icf-1.c: Likewise. ++ * gcc.target/i386/cet-notrack-icf-2.c: Likewise. ++ * gcc.target/i386/cet-notrack-icf-3.c: Likewise. ++ * gcc.target/i386/cet-notrack-icf-4.c: Likewise. ++ * gcc.target/i386/cet-sjlj-3.c: Likewise. ++ * gcc.target/i386/cet-sjlj-5.c: Likewise. ++ ++2019-06-07 Iain Sandoe ++ ++ Backport from mainline. ++ 2019-05-14 Iain Sandoe ++ ++ PR target/82920 ++ * gcc.target/i386/cet-sjlj-6b.c: Require effective target x32. ++ * gcc.target/i386/pr52146.c: Likewise. ++ * gcc.target/i386/pr52698.c: Likewise. ++ * gcc.target/i386/pr52857-1.c: Likewise. ++ * gcc.target/i386/pr52857-2.c: Likewise. ++ * gcc.target/i386/pr52876.c: Likewise. ++ * gcc.target/i386/pr53698.c: Likewise. ++ * gcc.target/i386/pr54157.c: Likewise. ++ * gcc.target/i386/pr55049-1.c: Likewise. ++ * gcc.target/i386/pr55093.c: Likewise. ++ * gcc.target/i386/pr55116-1.c: Likewise. ++ * gcc.target/i386/pr55116-2.c: Likewise. ++ * gcc.target/i386/pr55597.c: Likewise. ++ * gcc.target/i386/pr59929.c: Likewise. ++ * gcc.target/i386/pr66470.c: Likewise. ++ ++2019-06-07 Iain Sandoe ++ ++ Backport from mainline. ++ 2019-05-12 Iain Sandoe ++ Dominique d'Humieres ++ ++ PR target/82920 ++ * gcc.target/i386/indirect-thunk-1.c: Adjust scan-asms for Darwin, ++ do not use -fno-pic on Darwin. ++ * gcc.target/i386/indirect-thunk-2.c: Likewise. ++ * gcc.target/i386/indirect-thunk-3.c: Likewise. ++ * gcc.target/i386/indirect-thunk-4.c: Likewise. ++ * gcc.target/i386/indirect-thunk-7.c: Likewise. ++ * gcc.target/i386/indirect-thunk-attr-1.c: Likewise. ++ * gcc.target/i386/indirect-thunk-attr-2.c: Likewise. ++ * gcc.target/i386/indirect-thunk-attr-3.c: Likewise. ++ * gcc.target/i386/indirect-thunk-attr-4.c: Likewise. ++ * gcc.target/i386/indirect-thunk-attr-5.c: Likewise. ++ * gcc.target/i386/indirect-thunk-attr-6.c: Likewise. ++ * gcc.target/i386/indirect-thunk-attr-7.c: Likewise. ++ * gcc.target/i386/indirect-thunk-attr-8.c: Likewise. ++ * gcc.target/i386/indirect-thunk-extern-1.c: Likewise. ++ * gcc.target/i386/indirect-thunk-extern-2.c: Likewise. ++ * gcc.target/i386/indirect-thunk-extern-3.c: Likewise. ++ * gcc.target/i386/indirect-thunk-extern-4.c: Likewise. ++ * gcc.target/i386/indirect-thunk-extern-7.c: Likewise. ++ * gcc.target/i386/indirect-thunk-inline-1.c: Likewise. ++ * gcc.target/i386/indirect-thunk-inline-2.c: Likewise. ++ * gcc.target/i386/indirect-thunk-inline-3.c: Likewise. ++ * gcc.target/i386/indirect-thunk-inline-4.c: Likewise. ++ * gcc.target/i386/indirect-thunk-inline-7.c: Likewise. ++ * gcc.target/i386/indirect-thunk-register-1.c: Likewise. ++ * gcc.target/i386/indirect-thunk-register-2.c: Likewise. ++ * gcc.target/i386/indirect-thunk-register-3.c: Likewise. ++ * gcc.target/i386/indirect-thunk-register-4.c: Likewise. ++ * gcc.target/i386/ret-thunk-1.c: Likewise. ++ * gcc.target/i386/ret-thunk-10.c: Likewise. ++ * gcc.target/i386/ret-thunk-11.c: Likewise. ++ * gcc.target/i386/ret-thunk-12.c: Likewise. ++ * gcc.target/i386/ret-thunk-13.c: Likewise. ++ * gcc.target/i386/ret-thunk-14.c: Likewise. ++ * gcc.target/i386/ret-thunk-15.c: Likewise. ++ * gcc.target/i386/ret-thunk-16.c: Likewise. ++ * gcc.target/i386/ret-thunk-2.c: Likewise. ++ * gcc.target/i386/ret-thunk-22.c: Likewise. ++ * gcc.target/i386/ret-thunk-23.c: Likewise. ++ * gcc.target/i386/ret-thunk-24.c: Likewise. ++ * gcc.target/i386/ret-thunk-3.c: Likewise. ++ * gcc.target/i386/ret-thunk-4.c: Likewise. ++ * gcc.target/i386/ret-thunk-5.c: Likewise. ++ * gcc.target/i386/ret-thunk-6.c: Likewise. ++ * gcc.target/i386/ret-thunk-7.c: Likewise. ++ * gcc.target/i386/ret-thunk-8.c: Likewise. ++ * gcc.target/i386/ret-thunk-9.c: Likewise. ++ ++2019-05-28 Eric Botcazou ++ ++ * gnat.dg/opt79.ad[sb]: New test. ++ ++2019-05-27 Eric Botcazou ++ ++ * gnat.dg/specs/array4.ads: New test. ++ ++2019-05-27 Eric Botcazou ++ ++ * gnat.dg/unchecked_convert13.adb: New test. ++ ++2019-05-24 Martin Liska ++ ++ Backport from mainline ++ 2019-05-23 Martin Liska ++ ++ PR sanitizer/90570 ++ * g++.dg/asan/pr90570.C: New test. ++ ++2019-05-23 Eric Botcazou ++ ++ * gnat.dg/opt78.ad[sb]: New test. ++ ++2019-05-23 Uroš Bizjak ++ ++ Backported from mainline ++ 2019-05-21 Uroš Bizjak ++ ++ PR target/90547 ++ * gcc.target/i386/pr90547.c: New test. ++ ++2019-05-22 Eric Botcazou ++ ++ * g++.dg/tls/pr85400.C: New test. ++ ++2019-05-20 Jeff Law ++ ++ Backported from mainline ++ 2019-05-17 Dragan Mladjenovic ++ ++ * g++.dg/eh/o32-fp.C: New. ++ * gcc.target/mips/dwarfregtable-1.c: New. ++ * gcc.target/mips/dwarfregtable-2.c: New. ++ * gcc.target/mips/dwarfregtable-3.c: New. ++ * gcc.target/mips/dwarfregtable-4.c: New. ++ * gcc.target/mips/dwarfregtable.h: New. ++ ++2019-05-20 Jonathan Wakely ++ ++ Backported from mainline ++ 2019-05-20 Jonathan Wakely ++ ++ PR c++/90532 Ensure __is_constructible(T[]) is false ++ * g++.dg/ext/90532.C: New test. ++ ++2019-05-16 Kelvin Nilsen ++ ++ Backport from mainline. ++ 2019-05-07 Kelvin Nilsen ++ ++ PR target/89765 ++ * gcc.target/powerpc/pr89765-mc.c: New test. ++ * gcc.target/powerpc/vsx-builtin-10c.c: New test. ++ * gcc.target/powerpc/vsx-builtin-10d.c: New test. ++ * gcc.target/powerpc/vsx-builtin-11c.c: New test. ++ * gcc.target/powerpc/vsx-builtin-11d.c: New test. ++ * gcc.target/powerpc/vsx-builtin-12c.c: New test. ++ * gcc.target/powerpc/vsx-builtin-12d.c: New test. ++ * gcc.target/powerpc/vsx-builtin-13c.c: New test. ++ * gcc.target/powerpc/vsx-builtin-13d.c: New test. ++ * gcc.target/powerpc/vsx-builtin-14c.c: New test. ++ * gcc.target/powerpc/vsx-builtin-14d.c: New test. ++ * gcc.target/powerpc/vsx-builtin-15c.c: New test. ++ * gcc.target/powerpc/vsx-builtin-15d.c: New test. ++ * gcc.target/powerpc/vsx-builtin-16c.c: New test. ++ * gcc.target/powerpc/vsx-builtin-16d.c: New test. ++ * gcc.target/powerpc/vsx-builtin-17c.c: New test. ++ * gcc.target/powerpc/vsx-builtin-17d.c: New test. ++ * gcc.target/powerpc/vsx-builtin-18c.c: New test. ++ * gcc.target/powerpc/vsx-builtin-18d.c: New test. ++ * gcc.target/powerpc/vsx-builtin-19c.c: New test. ++ * gcc.target/powerpc/vsx-builtin-19d.c: New test. ++ * gcc.target/powerpc/vsx-builtin-20c.c: New test. ++ * gcc.target/powerpc/vsx-builtin-20d.c: New test. ++ * gcc.target/powerpc/vsx-builtin-9c.c: New test. ++ * gcc.target/powerpc/vsx-builtin-9d.c: New test. ++ ++2019-05-08 Kelvin Nilsen ++ ++ Backport from mainline. ++ 2019-05-06 Kelvin Nilsen ++ ++ PR target/89424 ++ * gcc.target/powerpc/pr89424-0.c: New test. ++ * gcc.target/powerpc/vsx-builtin-13a.c: Define macro PR89424 to ++ enable testing of newly patched capability. ++ * gcc.target/powerpc/vsx-builtin-13b.c: Likewise. ++ * gcc.target/powerpc/vsx-builtin-20a.c: Likewise. ++ * gcc.target/powerpc/vsx-builtin-20b.c: Likewise. ++ ++2019-05-06 Richard Biener ++ ++ PR bootstrap/90359 ++ Backport from mainline ++ 2019-03-11 Jakub Jelinek ++ ++ PR middle-end/89655 ++ PR bootstrap/89656 ++ * gcc.c-torture/compile/pr89655.c: New test. ++ ++2019-05-03 Richard Biener ++ ++ Backport from mainline ++ 2019-03-14 Richard Biener ++ ++ PR middle-end/89698 ++ * g++.dg/torture/pr89698.C: New testcase. ++ ++ 2019-03-07 Richard Biener ++ ++ PR tree-optimization/89595 ++ * gcc.dg/torture/pr89595.c: New testcase. ++ ++ 2019-03-14 Richard Biener ++ ++ PR tree-optimization/89710 ++ * gcc.dg/torture/pr89710.c: New testcase. ++ ++ 2019-04-15 Richard Biener ++ ++ PR tree-optimization/90071 ++ * gcc.dg/torture/pr90071.c: New testcase. ++ ++ 2018-08-20 Bernd Edlinger ++ ++ PR target/86984 ++ * gcc.target/alpha/pr86984.c: New test. ++ ++2019-04-30 Jakub Jelinek ++ ++ Backported from mainline ++ 2019-04-24 Jakub Jelinek ++ ++ PR target/90193 ++ * gcc.target/i386/pr90193.c: New test. ++ ++ PR target/90187 ++ * g++.dg/opt/pr90187.C: New test. ++ ++ PR tree-optimization/90208 ++ * gcc.dg/tsan/pr90208-2.c: New test. ++ ++ 2019-04-19 Jakub Jelinek ++ ++ PR c++/90108 ++ * c-c++-common/pr90108.c: New test. ++ ++ 2019-04-16 Jakub Jelinek ++ ++ PR rtl-optimization/90082 ++ * gcc.dg/pr90082.c: New test. ++ ++ PR tree-optimization/90090 ++ * g++.dg/opt/pr90090.C: New test. ++ ++ 2019-04-12 Jakub Jelinek ++ ++ PR c/89933 ++ * c-c++-common/pr89933.c: New test. ++ ++ PR rtl-optimization/89965 ++ * gcc.target/i386/pr89965.c: New test. ++ ++ PR c/89946 ++ * c-c++-common/pr89946.c: New test. ++ ++ PR rtl-optimization/90026 ++ * g++.dg/opt/pr90026.C: New test. ++ ++ 2019-04-10 Jakub Jelinek ++ ++ PR c++/90010 ++ * gcc.dg/pr90010.c: New test. ++ ++ 2019-04-09 Jakub Jelinek ++ ++ PR tree-optimization/89998 ++ * gcc.c-torture/compile/pr89998-1.c: New test. ++ * gcc.c-torture/compile/pr89998-2.c: New test. ++ ++ 2019-03-29 Jakub Jelinek ++ ++ PR sanitizer/89869 ++ * g++.dg/ubsan/vptr-14.C: New test. ++ ++ PR c/89872 ++ * gcc.dg/tree-ssa/pr89872.c: New test. ++ ++ 2019-03-28 Jakub Jelinek ++ ++ PR middle-end/89621 ++ * gfortran.dg/gomp/pr89621.f90: New test. ++ ++ 2019-03-26 Jakub Jelinek ++ ++ PR c++/89796 ++ * g++.dg/gomp/pr89796.C: New test. ++ * gcc.dg/gomp/pr89796.c: New test. ++ ++ 2019-03-25 Jakub Jelinek ++ ++ PR c++/60702 ++ * g++.dg/tls/thread_local11.C: Remove scan-tree-dump-times directives ++ for _ZTH* calls. ++ * g++.dg/tls/thread_local11a.C: New test. ++ ++ 2019-03-22 Jakub Jelinek ++ ++ PR c++/60702 ++ * g++.dg/tls/thread_local11.C: New test. ++ * g++.dg/tls/thread_local11.h: New test. ++ * g++.dg/tls/thread_local12a.C: New test. ++ * g++.dg/tls/thread_local12b.C: New test. ++ * g++.dg/tls/thread_local12c.C: New test. ++ * g++.dg/tls/thread_local12d.C: New test. ++ * g++.dg/tls/thread_local12e.C: New test. ++ * g++.dg/tls/thread_local12f.C: New test. ++ * g++.dg/tls/thread_local12g.C: New test. ++ * g++.dg/tls/thread_local12h.C: New test. ++ * g++.dg/tls/thread_local12i.C: New test. ++ * g++.dg/tls/thread_local12j.C: New test. ++ * g++.dg/tls/thread_local12k.C: New test. ++ * g++.dg/tls/thread_local12l.C: New test. ++ ++ 2019-03-21 Jakub Jelinek ++ ++ PR c++/89767 ++ * g++.dg/cpp1y/lambda-init18.C: New test. ++ * g++.dg/cpp1y/lambda-init19.C: New test. ++ * g++.dg/cpp1y/pr89767.C: New test. ++ ++ 2019-03-19 Jakub Jelinek ++ ++ PR target/89752 ++ * g++.dg/ext/asm15.C: Check for particular diagnostic wording. ++ * g++.dg/ext/asm16.C: Likewise. ++ * g++.dg/ext/asm17.C: New test. ++ ++ PR target/89726 ++ * gcc.target/i386/fpprec-1.c (x): Add 6 new constants. ++ (expect_round, expect_rint, expect_floor, expect_ceil, expect_trunc): ++ Add expected results for them. ++ ++ PR c/89734 ++ * gcc.dg/pr89734.c: New test. ++ ++ 2019-03-15 Jakub Jelinek ++ ++ PR debug/89704 ++ * gcc.dg/debug/pr89704.c: New test. ++ ++ 2019-03-14 Jakub Jelinek ++ ++ PR ipa/89684 ++ * gcc.target/i386/pr89684.c: New test. ++ ++ PR rtl-optimization/89679 ++ * gcc.dg/pr89679.c: New test. ++ ++ PR tree-optimization/89703 ++ * gcc.c-torture/compile/pr89703-1.c: New test. ++ * gcc.c-torture/compile/pr89703-2.c: New test. ++ ++ PR c++/89512 ++ * g++.dg/cpp1y/var-templ61.C: New test. ++ ++ 2019-03-13 Jakub Jelinek ++ ++ PR middle-end/88588 ++ * c-c++-common/gomp/pr88588.c: New test. ++ ++ 2019-03-12 Jakub Jelinek ++ ++ PR middle-end/89663 ++ * gcc.c-torture/compile/pr89663-1.c: New test. ++ * gcc.c-torture/compile/pr89663-2.c: New test. ++ ++ 2019-03-11 Jakub Jelinek ++ ++ PR fortran/89651 ++ * gfortran.dg/gomp/pr89651.f90: New test. ++ ++ 2019-03-09 Jakub Jelinek ++ ++ PR c/88568 ++ * g++.dg/other/pr88568.C: New test. ++ ++ 2019-03-08 Jakub Jelinek ++ ++ PR c++/82075 ++ * g++.dg/cpp1z/decomp49.C: New test. ++ ++ 2019-03-06 Jakub Jelinek ++ ++ PR c++/87148 ++ * g++.dg/ext/flexary34.C: New test. ++ ++ 2019-03-05 Jakub Jelinek ++ ++ PR middle-end/89590 ++ * gcc.dg/pr89590.c: New test. ++ ++ 2019-02-28 Jakub Jelinek ++ ++ PR c/89521 ++ * gcc.dg/pr89521-1.c: New test. ++ * gcc.dg/pr89521-2.c: New test. ++ ++ PR c/89520 ++ * gcc.dg/pr89520-1.c: New test. ++ * gcc.dg/pr89520-2.c: New test. ++ ++ 2019-02-20 Jakub Jelinek ++ ++ PR c++/89403 ++ * g++.dg/cpp0x/pr89403.C: New test. ++ ++ PR c++/89405 ++ * g++.dg/cpp1z/inline-var5.C: New test. ++ ++ PR middle-end/89412 ++ * gcc.c-torture/compile/pr89412.c: New test. ++ ++ 2019-02-20 Jakub Jelinek ++ David Malcolm ++ ++ PR middle-end/89091 ++ * gcc.dg/torture/pr89091.c: New test. ++ ++ 2019-02-20 Jakub Jelinek ++ ++ PR middle-end/88074 ++ PR middle-end/89415 ++ * gcc.dg/pr88074-2.c: New test. ++ ++ 2019-02-19 Richard Biener ++ ++ PR middle-end/88074 ++ * gcc.dg/pr88074.c: New testcase. ++ ++2019-04-30 Srinath Parvathaneni ++ ++ PR target/90075 ++ * gcc.target/aarch64/pr90075.c: New test. ++ ++2019-04-29 Richard Sandiford ++ ++ Backport from mainline: ++ 2019-01-25 Richard Sandiford ++ ++ PR middle-end/89037 ++ * gcc.dg/pr89037.c: New test. ++ ++2019-04-26 Roman Zhuykov ++ ++ Backport from mainline ++ 2019-04-23 Roman Zhuykov ++ ++ PR rtl-optimization/87979 ++ * gcc.dg/pr87979.c: New test. ++ ++ PR rtl-optimization/84032 ++ * gcc.dg/pr84032.c: New test. ++ ++2019-04-24 Paul Thomas ++ ++ Backport from mainline ++ PR fortran/87127 ++ * gfortran.dg/external_procedures_4.f90: New test. ++ ++2019-04-17 Martin Jambor ++ ++ Backport from mainline ++ 2019-03-10 Martin Jambor ++ ++ * g++.dg/tree-ssa/pr87008.C: New test. ++ * gcc.dg/guality/pr54970.c: Xfail tests querying a[0] everywhere. ++ ++2019-04-17 Kelvin Nilsen ++ ++ Backport from mainline ++ 2019-03-15 Kelvin Nilsen ++ ++ PR target/87532 ++ * gcc.target/powerpc/pr87532.c: New test. ++ * gcc.target/powerpc/vec-extract-v16qiu-v2.h: New test. ++ * gcc.target/powerpc/vec-extract-v16qiu-v2a.c: New test. ++ * gcc.target/powerpc/vec-extract-v16qiu-v2b.c: New test. ++ * gcc.target/powerpc/vsx-builtin-10a.c: New test. ++ * gcc.target/powerpc/vsx-builtin-10b.c: New test. ++ * gcc.target/powerpc/vsx-builtin-11a.c: New test. ++ * gcc.target/powerpc/vsx-builtin-11b.c: New test. ++ * gcc.target/powerpc/vsx-builtin-12a.c: New test. ++ * gcc.target/powerpc/vsx-builtin-12b.c: New test. ++ * gcc.target/powerpc/vsx-builtin-13a.c: New test. ++ * gcc.target/powerpc/vsx-builtin-13b.c: New test. ++ * gcc.target/powerpc/vsx-builtin-14a.c: New test. ++ * gcc.target/powerpc/vsx-builtin-14b.c: New test. ++ * gcc.target/powerpc/vsx-builtin-15a.c: New test. ++ * gcc.target/powerpc/vsx-builtin-15b.c: New test. ++ * gcc.target/powerpc/vsx-builtin-16a.c: New test. ++ * gcc.target/powerpc/vsx-builtin-16b.c: New test. ++ * gcc.target/powerpc/vsx-builtin-17a.c: New test. ++ * gcc.target/powerpc/vsx-builtin-17b.c: New test. ++ * gcc.target/powerpc/vsx-builtin-18a.c: New test. ++ * gcc.target/powerpc/vsx-builtin-18b.c: New test. ++ * gcc.target/powerpc/vsx-builtin-19a.c: New test. ++ * gcc.target/powerpc/vsx-builtin-19b.c: New test. ++ * gcc.target/powerpc/vsx-builtin-20a.c: New test. ++ * gcc.target/powerpc/vsx-builtin-20b.c: New test. ++ * gcc.target/powerpc/vsx-builtin-9a.c: New test. ++ * gcc.target/powerpc/vsx-builtin-9b.c: New test. ++ ++ 2019-03-19 Kelvin Nilsen ++ ++ PR target/89736 ++ * gcc.target/powerpc/pr87532-mc.c: Modify dejagnu directives to ++ restrict this test to vsx targets. ++ ++2019-04-15 Martin Jambor ++ ++ Backport from mainline ++ 2019-04-15 Martin Jambor ++ ++ * g++.dg/ipa/pr89693.C: New test. ++ ++2019-04-15 Martin Liska ++ ++ Backport from mainline ++ 2019-01-18 Martin Liska ++ ++ PR middle-end/88587 ++ * g++.target/i386/pr88587.C: New test. ++ * gcc.target/i386/mvc13.c: New test. ++ ++2019-04-14 Thomas Koenig ++ ++ Backport from trunk ++ PR fortran/87352 ++ * gfortran.dg/finalize_28.f90: Adjust count of __builtin_free. ++ * gfortran.dg/finalize_34.f90: New test. ++ ++2019-04-14 Thomas Koenig ++ ++ Backport from trunk ++ PR fortran/89981 ++ * gfortran.dg/entry_22.f90: New test. ++ ++2019-04-11 Richard Biener ++ ++ PR tree-optimization/90018 ++ * gcc.dg/vect/pr90018.c: New testcase. ++ ++2019-04-10 Harald Anlauf ++ ++ Backport from trunk ++ PR fortran/89904 ++ * gfortran.dg/pr85797.f90: Adjust testcase. ++ ++2019-04-10 Matthew Malcomson ++ ++ PR target/90024 ++ * gcc.dg/torture/neon-immediate-timode.c: New test. ++ ++019-04-07 Uroš Bizjak ++ ++ PR target/89945 ++ * gcc.target/i386/pr89945.c: New test. ++ ++2019-04-04 Martin Sebor ++ ++ PR middle-end/89934 ++ * gcc.dg/Wrestrict-19.c: New test. ++ * gcc.dg/Wrestrict-5.c: Add comment. Remove unused code. ++ ++2019-04-02 Uroš Bizjak ++ ++ PR target/89902 ++ PR target/89903 ++ * gcc.target/i386/pr70799-4.c: Remove. ++ * gcc.target/i386/pr70799-5.c: Remove. ++ * gcc.target/i386/pr89902.c: New test. ++ * gcc.target/i386/pr89903.c: Ditto. ++ ++2019-03-31 Harald Anlauf ++ ++ PR fortran/83515 ++ PR fortran/85797 ++ * gfortran.dg/pr85797.f90: New test. ++ ++2019-03-30 Thomas Koenig ++ ++ PR fortran/89866 ++ Backport from trunk ++ * gfortran.dg/pointer_intent_8.f90: New test. ++ ++2019-03-30 Thomas Koenig ++ ++ PR fortran/78865 ++ Backport from trunk ++ * gfortran.dg/altreturn_10.f90: New test. ++ * gfortran.dg/whole_file_3.f90: Change dg-warning to dg-error. ++ ++2019-03-28 Uroš Bizjak ++ ++ PR target/89848 ++ * gcc.target/i386/pr89848.c: New test. ++ ++2019-03-26 Uroš Bizjak ++ ++ PR target/89827 ++ * gcc.target/i386/pr89827.c: New test. ++ ++2019-03-25 Andreas Krebbel ++ ++ Backport from mainline ++ 2019-03-20 Jakub Jelinek ++ ++ PR target/89775 ++ * gcc.target/s390/pr89775-1.c: New test. ++ * gcc.target/s390/pr89775-2.c: New test. ++ ++2019-03-24 Janus Weil ++ ++ 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 ++ ++ * gcc.target/powerpc/mmx-psubd-2.c: Test _m_psubd. ++ ++2019-03-21 Thomas Schwinge ++ ++ 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 ++ ++ * c-c++-common/unroll-7.c: New test. ++ ++2019-03-18 Martin Sebor ++ ++ PR middle-end/88273 ++ * gcc.dg/Warray-bounds-38.c: New test. ++ ++2019-03-18 Martin Jambor ++ ++ Backport from mainline ++ 2019-03-18 Martin Jambor ++ ++ PR tree-optimization/89546 ++ * gcc.dg/tree-ssa/pr89546.c: New test. ++ ++2019-03-17 Thomas Koenig ++ ++ PR fortran/84394 ++ Backport from trunk ++ * gfortran.dg/blockdata_11.f90: New test. ++ ++2019-03-17 H.J. Lu ++ ++ Backport from mainline ++ 2019-03-14 H.J. Lu ++ ++ 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 ++ ++ 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 ++ ++ 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 ++ ++ Backport from mainline ++ 2019-03-06 Richard Biener ++ ++ 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 ++ ++ Backport from mainline ++ 2019-03-07 Martin Jambor ++ ++ PR lto/87525 ++ * gcc.dg/ipa/ipcp-5.c: New test. ++ ++2019-03-14 Richard Biener ++ ++ PR middle-end/89572 ++ * gcc.dg/torture/pr89572.c: New testcase. ++ ++2019-03-13 Thomas Koenig ++ ++ PR fortran/87673 ++ Backport from trunk ++ * gfortran.dg/charlen_17.f90: New test. ++ ++2019-03-13 Vladimir Makarov ++ ++ PR target/85860 ++ * gcc.target/i386/pr85860.c: New. ++ ++2019-03-14 Richard Biener ++ ++ Backport from mainline ++ 2019-03-13 Richard Biener ++ ++ PR middle-end/89677 ++ * gcc.dg/torture/pr89677.c: New testcase. ++ ++ 2019-03-01 Richard Biener ++ ++ 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 ++ ++ PR tree-optimization/89296 ++ * gcc.dg/uninit-pr89296.c: New testcase. ++ ++2019-03-13 Andreas Krebbel ++ ++ Backport from mainline ++ 2019-03-11 Andreas Krebbel ++ ++ * gcc.target/s390/zvector/vec-addc-u128.c: New test. ++ ++2019-03-13 Andreas Krebbel ++ ++ Backport from mainline ++ 2019-02-07 Andreas Krebbel ++ ++ * 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 ++ ++ PR tree-optimization/89664 ++ * gfortran.dg/pr89664.f90: New testcase. ++ ++2019-03-12 Andre Vieira ++ ++ Backport from mainline ++ 2019-03-08 Andre Vieira ++ ++ * gcc.target/arm/f16_f64_conv_no_dp.c: New test. ++ ++ Backport from mainline ++ 2019-03-11 Christophe Lyon ++ ++ * gcc.target/arm/f16_f64_conv_no_dp.c: Add arm_fp16_ok effective ++ target. ++ ++2019-03-11 Eric Botcazou ++ ++ * c-c++-common/unroll-6.c: New test. ++ ++2019-03-11 Martin Liska ++ ++ Backport from mainline ++ 2019-03-10 Rainer Orth ++ ++ * gcc.target/i386/indirect-thunk-extern-7.c: Add -fjump-tables to ++ dg-options. ++ ++2019-03-11 Martin Liska ++ ++ Backport from mainline ++ 2019-03-08 Martin Liska ++ ++ 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 ++ ++ PR fortran/71544 ++ Backport from trunk ++ * gfortran.dg/c_ptr_tests_19.f90: New test. ++ ++2019-03-10 Thomas Koenig ++ ++ PR fortran/87734 ++ Backport from trunk ++ * gfortran.dg/public_private_module_10.f90: New test. ++ ++2019-03-08 Martin Jambor ++ ++ Backport from mainline ++ 2019-03-07 Martin Jambor ++ ++ * g++.dg/ipa/pr88235.C: New test. ++ ++2019-03-07 Jakub Jelinek ++ ++ PR c++/89585 ++ * g++.dg/asm-qual-3.C: Adjust expected diagnostics. ++ ++2019-03-06 Harald Anlauf ++ ++ Backport from trunk ++ PR fortran/71203 ++ * gfortran.dg/substr_8.f90: New test. ++ ++2019-03-06 Thomas Koenig ++ ++ PR fortran/72714 ++ Backport from trunk ++ * gfortran.dg/coarray_allocate_11.f90: New test. ++ ++2019-03-06 Tamar Christina ++ ++ Backport from trunk. ++ 2019-02-25 Tamar Christina ++ ++ 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 ++ ++ Backport from trunk. ++ 2019-02-28 Tamar Christina ++ ++ PR target/88530 ++ * gcc.target/aarch64/options_set_10.c: New test. ++ ++2019-03-06 Xiong Hu Luo ++ ++ Backport of r268834 from mainline to gcc-8-branch. ++ 2019-01-23 Xiong Hu Luo ++ ++ * gcc.target/powerpc/crypto-builtin-1.c ++ (crypto1_be, crypto2_be, crypto3_be, crypto4_be, crypto5_be): ++ New testcases. ++ ++2019-03-05 Richard Biener ++ ++ Backport from mainline ++ 2019-02-26 Richard Biener ++ ++ PR tree-optimization/89505 ++ * gcc.dg/torture/pr89505.c: New testcase. ++ ++2019-03-03 Harald Anlauf ++ ++ 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 ++ ++ Backport from trunk ++ PR fortran/77583 ++ * gfortran.dg/pr77583.f90: New test. ++ ++2019-03-03 Thomas Koenig ++ ++ PR fortran/89174 ++ Backport from trunk ++ * gfortran.dg/allocate_with_mold_3.f90: New test. ++ ++2019-03-03 Thomas Koenig ++ ++ 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 ++ ++ Backport from trunk ++ PR fortran/84387 ++ * gfortran.dg/dtio_34.f90: New test. ++ ++2019-03-02 Harald Anlauf ++ ++ 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 ++ ++ * gcc.c-torture/execute/20190228-1.c: New test. ++ ++2019-02-28 Li Jia He ++ ++ Backport from trunk ++ 2019-02-20 Li Jia He ++ ++ PR target/88100 ++ * gcc/testsuite/gcc.target/powerpc/pr88100.c: New testcase. ++ ++2019-02-26 Eric Botcazou ++ ++ * gnat.dg/opt77.adb: New test. ++ * gnat.dg/opt77_pkg.ad[sb]: New helper. ++ ++2019-02-23 Thomas Koenig ++ ++ PR fortran/86119 ++ Backport from trunk ++ * gfortran.dg/warn_conversion_11.f90: New test. ++ ++2019-02-23 Paul Thomas ++ ++ Backport from trunk ++ PR fortran/88117 ++ * gfortran.dg/deferred_character_32.f90: New test ++ ++2019-02-12 Thomas Koenig ++ ++ PR fortran/71066 ++ Backport from trunk ++ * gfortran.dg/coarray_data_1.f90: New test. ++ + 2019-02-22 Release Manager + + * GCC 8.3.0 released. +new file mode 100644 +--- /dev/null ++++ b/src/gcc/testsuite/c-c++-common/cold-1.c +@@ -0,0 +1,22 @@ ++/* PR ipa/93087 */ ++/* { dg-do compile { target nonpic } } */ ++/* { dg-options "-O1 -Wsuggest-attribute=cold" } */ ++ ++extern void *getdata (void); ++extern int set_error (char const *message) __attribute__((cold)); ++ ++__attribute__((cold)) int ++set_nomem (void) /* { dg-bogus "function might be candidate for attribute 'cold'" } */ ++{ ++ return set_error ("Allocation failed"); ++} ++ ++void * ++getdata_or_set_error (void) ++{ ++ void *result; ++ result = getdata (); ++ if (!result) ++ set_nomem (); ++ return result; ++} +new file mode 100644 +--- /dev/null ++++ b/src/gcc/testsuite/c-c++-common/cpp/pr92296-1.c +@@ -0,0 +1,32 @@ ++/* PR preprocessor/92296 */ ++/* { dg-do preprocess } */ ++ ++#pragma push_macro("__TIMESTAMP__") ++#pragma pop_macro("__TIMESTAMP__") ++ ++#pragma push_macro("__TIME__") ++#pragma pop_macro("__TIME__") ++ ++#pragma push_macro("__DATE__") ++#pragma pop_macro("__DATE__") ++ ++#pragma push_macro("__FILE__") ++#pragma pop_macro("__FILE__") ++ ++#pragma push_macro("__BASE_FILE__") ++#pragma pop_macro("__BASE_FILE__") ++ ++#pragma push_macro("__LINE__") ++#pragma pop_macro("__LINE__") ++ ++#pragma push_macro("__INCLUDE_LEVEL__") ++#pragma pop_macro("__INCLUDE_LEVEL__") ++ ++#pragma push_macro("__COUNTER__") ++#pragma pop_macro("__COUNTER__") ++ ++#pragma push_macro("__has_attribute") ++#pragma pop_macro("__has_attribute") ++ ++#pragma push_macro("__has_cpp_attribute") ++#pragma pop_macro("__has_cpp_attribute") +new file mode 100644 +--- /dev/null ++++ b/src/gcc/testsuite/c-c++-common/cpp/pr92296-2.c +@@ -0,0 +1,73 @@ ++/* PR preprocessor/92296 */ ++/* { dg-do preprocess } */ ++/* { dg-options "-Wno-builtin-macro-redefined" } */ ++ ++#pragma push_macro("__TIMESTAMP__") ++#undef __TIMESTAMP__ ++#define __TIMESTAMP__ "Thu Oct 31 12:00:00 2019" ++timestamp1 = __TIMESTAMP__ ++#pragma pop_macro("__TIMESTAMP__") ++timestamp2 = __TIMESTAMP__ ++ ++#pragma push_macro("__TIME__") ++#undef __TIME__ ++#define __TIME__ "12:00:00" ++time1 = __TIME__ ++#pragma pop_macro("__TIME__") ++time2 = __TIME__ ++ ++#pragma push_macro("__DATE__") ++#undef __DATE__ ++#define __DATE__ "Oct 31 2019" ++date1 = __DATE__ ++#pragma pop_macro("__DATE__") ++date2 = __DATE__ ++ ++#pragma push_macro("__FILE__") ++#undef __FILE__ ++#define __FILE__ "pr92296-3.c" ++file1 = __FILE__ /* { dg-final { scan-file pr92296-2.i "file1 = \"pr92296-3.c\"" } } */ ++#pragma pop_macro("__FILE__") ++file2 = __FILE__ /* { dg-final { scan-file-not pr92296-2.i "file2 = \"pr92296-3.c\"" } } */ ++ ++#pragma push_macro("__BASE_FILE__") ++#undef __BASE_FILE__ ++#define __BASE_FILE__ "pr92296-4.c" ++filebase1 = __BASE_FILE__ /* { dg-final { scan-file pr92296-2.i "filebase1 = \"pr92296-4.c\"" } } */ ++#pragma pop_macro("__BASE_FILE__") ++filebase2 = __BASE_FILE__ /* { dg-final { scan-file-not pr92296-2.i "filebase2 = \"pr92296-4.c\"" } } */ ++ ++#pragma push_macro("__LINE__") ++#undef __LINE__ /* { dg-warning "undefining" } */ ++#define __LINE__ 142 ++line1 = __LINE__ /* { dg-final { scan-file pr92296-2.i "line1 = 142" } } */ ++#pragma pop_macro("__LINE__") ++line2 = __LINE__ /* { dg-final { scan-file pr92296-2.i "line2 = 45" } } */ ++ ++#pragma push_macro("__INCLUDE_LEVEL__") ++#undef __INCLUDE_LEVEL__ /* { dg-warning "undefining" } */ ++#define __INCLUDE_LEVEL__ 42 ++includelevel1 = __INCLUDE_LEVEL__ /* { dg-final { scan-file pr92296-2.i "includelevel1 = 42" } } */ ++#pragma pop_macro("__INCLUDE_LEVEL__") ++includelevel2 = __INCLUDE_LEVEL__ /* { dg-final { scan-file pr92296-2.i "includelevel2 = 0" } } */ ++ ++#pragma push_macro("__COUNTER__") ++#undef __COUNTER__ /* { dg-warning "undefining" } */ ++#define __COUNTER__ 172 ++counter1 = __COUNTER__ /* { dg-final { scan-file pr92296-2.i "counter1 = 172" } } */ ++#pragma pop_macro("__COUNTER__") ++counter2 = __COUNTER__ /* { dg-final { scan-file-not pr92296-2.i "counter2 = 172" } } */ ++ ++#pragma push_macro("__has_attribute") ++#undef __has_attribute /* { dg-warning "undefining" } */ ++#define __has_attribute(x) 0 ++hasattr1 = __has_attribute(noreturn) /* { dg-final { scan-file pr92296-2.i "hasattr1 = 0" } } */ ++#pragma pop_macro("__has_attribute") ++hasattr2 = __has_attribute(noreturn) /* { dg-final { scan-file-not pr92296-2.i "hasattr2 = 0" } } */ ++ ++#pragma push_macro("__has_cpp_attribute") ++#undef __has_cpp_attribute /* { dg-warning "undefining" } */ ++#define __has_cpp_attribute(x) 0 ++hasattrcpp1 = __has_cpp_attribute(noreturn) /* { dg-final { scan-file pr92296-2.i "hasattrcpp1 = 0" } } */ ++#pragma pop_macro("__has_cpp_attribute") ++hasattrcpp2 = __has_cpp_attribute(noreturn) /* { dg-final { scan-file-not pr92296-2.i "hasattrcpp2 = 0" } } */ +new file mode 100644 +--- /dev/null ++++ b/src/gcc/testsuite/c-c++-common/gomp/pr88588.c +@@ -0,0 +1,18 @@ ++/* PR middle-end/88588 */ ++/* { dg-do compile } */ ++/* { dg-options "-fopenmp -O1" } */ ++ ++int *v; ++ ++#pragma omp declare simd ++void ++foo (int x) ++{ ++ int *a = &x; ++ ++ for (;;) ++ { ++ *v = *a; ++ a = v; ++ } ++} +new file mode 100644 +--- /dev/null ++++ b/src/gcc/testsuite/c-c++-common/gomp/pr90954.c +@@ -0,0 +1,27 @@ ++/* PR sanitizer/90954 */ ++/* { dg-do compile } */ ++/* { dg-options "-fopenmp -fsanitize=undefined" } */ ++ ++float v; ++int i; ++ ++void ++foo (float x, float y) ++{ ++ #pragma omp atomic ++ v += x / y; ++} ++ ++void ++bar (int x, int y) ++{ ++ #pragma omp atomic ++ i += x / y; ++} ++ ++void ++baz (int x, int y) ++{ ++ #pragma omp atomic ++ i *= (x << y); ++} +new file mode 100644 +--- /dev/null ++++ b/src/gcc/testsuite/c-c++-common/gomp/pr91401-1.c +@@ -0,0 +1,10 @@ ++/* PR c/91401 */ ++ ++void ++foo (void) ++{ ++ int i; ++ #pragma omp distribute parallel for schedule (static) dist_schedule (static) ++ for (i = 0; i < 64; i++) ++ ; ++} +new file mode 100644 +--- /dev/null ++++ b/src/gcc/testsuite/c-c++-common/gomp/pr91401-2.c +@@ -0,0 +1,15 @@ ++#pragma omp declare target ++void f0 (void); ++ ++void ++f1 (void) ++{ ++ int i; ++ #pragma omp distribute dist_schedule(static) dist_schedule(static) /* { dg-warning "too many 'dist_schedule' clauses" } */ ++ for (i = 0; i < 8; ++i) ++ f0 (); ++ #pragma omp distribute dist_schedule(static,2) dist_schedule(static,4) /* { dg-warning "too many 'dist_schedule' clauses" } */ ++ for (i = 0; i < 8; ++i) ++ f0 (); ++} ++#pragma omp end declare target +new file mode 100644 +--- /dev/null ++++ b/src/gcc/testsuite/c-c++-common/gomp/pr93555-1.c +@@ -0,0 +1,18 @@ ++/* PR middle-end/93555 */ ++/* { dg-do compile } */ ++ ++#pragma omp declare simd ++#pragma omp declare simd inbranch ++int ++foo (int x) ++{ ++ return x; ++} ++ ++#pragma omp declare simd inbranch ++#pragma omp declare simd ++int ++bar (int x) ++{ ++ return x; ++} +new file mode 100644 +--- /dev/null ++++ b/src/gcc/testsuite/c-c++-common/gomp/pr93555-2.c +@@ -0,0 +1,16 @@ ++/* PR middle-end/93555 */ ++/* { dg-do compile } */ ++ ++#pragma omp declare simd ++#pragma omp declare simd inbranch ++void ++foo (void) ++{ ++} ++ ++#pragma omp declare simd inbranch ++#pragma omp declare simd ++void ++bar (void) ++{ ++} +new file mode 100644 +--- /dev/null ++++ b/src/gcc/testsuite/c-c++-common/pr53633-2.c +@@ -0,0 +1,19 @@ ++/* { dg-do compile } */ ++/* { dg-require-effective-target naked_functions } */ ++/* { dg-options "-O2 -Wall" } */ ++/* Check that we do not get warnings about missing return statements ++ or bogus looking noreturn functions. */ ++static int __attribute__((naked)) ++foo (void) ++{ ++ __asm__ (""); ++} ++ ++static int __attribute__((naked,noreturn)) ++bar (void) ++{ ++ __asm__ (""); ++} ++ ++int foo_caller (void) { return foo (); } ++int bar_caller (void) { return bar (); } +new file mode 100644 +--- /dev/null ++++ b/src/gcc/testsuite/c-c++-common/pr89933.c +@@ -0,0 +1,5 @@ ++/* PR c/89933 */ ++/* { dg-do compile } */ ++ ++typedef unsigned int a __attribute__ ((__aligned__(8), __may_alias__)); ++typedef unsigned int a __attribute__ ((__aligned__(8), __may_alias__)); +new file mode 100644 +--- /dev/null ++++ b/src/gcc/testsuite/c-c++-common/pr89946.c +@@ -0,0 +1,7 @@ ++/* PR c/89946 */ ++ ++__attribute__((patchable_function_entry (-1))) void foo (void) {} /* { dg-warning "'patchable_function_entry' attribute argument '-1' is not an integer constant" } */ ++__attribute__((patchable_function_entry (5, -5))) void bar (void) {} /* { dg-warning "'patchable_function_entry' attribute argument '-5' is not an integer constant" } */ ++int i, j; ++__attribute__((patchable_function_entry (i))) void baz (void) {} /* { dg-warning "'patchable_function_entry' attribute argument 'i' is not an integer constant" } */ ++__attribute__((patchable_function_entry (2, j))) void qux (void) {} /* { dg-warning "'patchable_function_entry' attribute argument 'j' is not an integer constant" } */ +new file mode 100644 +--- /dev/null ++++ b/src/gcc/testsuite/c-c++-common/pr90108.c +@@ -0,0 +1,6 @@ ++/* PR c++/90108 */ ++/* { dg-do compile } */ ++/* { dg-options "--param ggc-min-heapsize=0" } */ ++ ++typedef unsigned int a __attribute__ ((__aligned__(8), __may_alias__)); ++typedef unsigned int a __attribute__ ((__aligned__(8), __may_alias__)); +new file mode 100644 +--- /dev/null ++++ b/src/gcc/testsuite/c-c++-common/unroll-6.c +@@ -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) ++ {} ++} +new file mode 100644 +--- /dev/null ++++ b/src/gcc/testsuite/c-c++-common/unroll-7.c +@@ -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) ++ {} ++} +new file mode 100644 +--- /dev/null ++++ b/src/gcc/testsuite/g++.dg/asan/pr90570.C +@@ -0,0 +1,18 @@ ++/* PR sanitizer/90570 */ ++/* { dg-do run } */ ++ ++#include ++ ++struct stru ++{ ++ std::vector v{1,2,3,4}; ++ int i{5}; ++}; ++ ++int main() ++{ ++ stru s1; ++ stru s2; ++ ++ return 0; ++} +--- a/src/gcc/testsuite/g++.dg/asm-qual-3.C ++++ b/src/gcc/testsuite/g++.dg/asm-qual-3.C +@@ -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 "" } +--- a/src/gcc/testsuite/g++.dg/cet-notrack-1.C ++++ b/src/gcc/testsuite/g++.dg/cet-notrack-1.C +@@ -1,7 +1,7 @@ + /* { dg-do compile { target i?86-*-* x86_64-*-* } } */ + /* { dg-options "-fcf-protection" } */ + /* { dg-final { scan-assembler "endbr32|endbr64" } } */ +-/* { dg-final { scan-assembler-times "\tcall\[ \t]+puts" 2 } } */ ++/* { dg-final { scan-assembler-times "\tcall\[ \t]+_?puts" 2 } } */ + /* { dg-final { scan-assembler-times "notrack call\[ \t]+" 1 } } */ + #include + +new file mode 100644 +--- /dev/null ++++ b/src/gcc/testsuite/g++.dg/concepts/no-bool1.C +@@ -0,0 +1,4 @@ ++// { dg-do compile { target c++14 } } ++// { dg-additional-options -fconcepts } ++ ++template concept True = true; +--- a/src/gcc/testsuite/g++.dg/cpp0x/alignas4.C ++++ b/src/gcc/testsuite/g++.dg/cpp0x/alignas4.C +@@ -1,7 +1,13 @@ + // PR c++/59012 + // { dg-do compile { target c++11 } } + // { dg-final { scan-assembler "align 8" { target { { i?86-*-* x86_64-*-* } && { { ! ia32 } && { ! *-*-darwin* } } } } } } +-// { dg-final { scan-assembler "align 4" { target ia32 } } } ++// { dg-final { scan-assembler "align 4" { target { ia32 && { ! *-*-darwin* } } } } } ++ ++// Darwin produces aligned .zerofill directives for these. ++// { dg-final { scan-assembler {zerofill[^\n\r]+_a,4,2} { target { ilp32 && *-*-darwin* } } } } ++// { dg-final { scan-assembler {zerofill[^\n\r]+_a,8,3} { target { lp64 && *-*-darwin* } } } } ++// { dg-final { scan-assembler {zerofill[^\n\r]+_a2,4,2} { target { ilp32 && *-*-darwin* } } } } ++// { dg-final { scan-assembler {zerofill[^\n\r]+_a2,8,3} { target { lp64 && *-*-darwin* } } } } + + template + struct A +new file mode 100644 +--- /dev/null ++++ b/src/gcc/testsuite/g++.dg/cpp0x/decltype-tid1.C +@@ -0,0 +1,9 @@ ++// PR c++/87513 ++// { dg-do compile { target c++11 } } ++ ++struct A { template void foo (); }; ++template auto bar () -> decltype (&A::foo); ++void foo () ++{ ++ bar<0> (); ++} +--- a/src/gcc/testsuite/g++.dg/cpp0x/enum23.C ++++ b/src/gcc/testsuite/g++.dg/cpp0x/enum23.C +@@ -5,5 +5,5 @@ enum class MyEnum { A = 1 }; + + struct MyClass + { +- MyEnum Field1 : 3; // { dg-bogus "warning: 'MyClass::Field1' is too small" "" { xfail *-*-* } } ++ MyEnum Field1 : 3; // { dg-bogus "warning: 'MyClass::Field1' is too small" } + }; +new file mode 100644 +--- /dev/null ++++ b/src/gcc/testsuite/g++.dg/cpp0x/enum38.C +@@ -0,0 +1,25 @@ ++// PR c++/61414 ++// { dg-do compile { target c++11 } } ++ ++enum C { C0 = -4, C1 = 3 }; ++enum D { D0 = 0, D1 = 15 }; ++enum class E { E0 = -4, E1 = 3 }; ++enum F : unsigned { F0 = 0, F1 = 15 }; ++enum __attribute__((__mode__ (__QI__))) G { G0 = -4, G1 = 3 }; ++enum __attribute__((__mode__ (__HI__))) H { H0 = 0, H1 = 15 }; ++ ++struct S ++{ ++ C a : 2; // { dg-warning "'S::a' is too small to hold all values of 'enum C'" } ++ C b : 3; // { dg-bogus "'S::b' is too small to hold all values of 'enum C'" } ++ D c : 3; // { dg-warning "'S::c' is too small to hold all values of 'enum D'" } ++ D d : 4; // { dg-bogus "'S::d' is too small to hold all values of 'enum D'" } ++ E e : 2; // { dg-warning "'S::e' is too small to hold all values of 'enum class E'" } ++ E f : 3; // { dg-bogus "'S::f' is too small to hold all values of 'enum class E'" } ++ F g : 3; // { dg-warning "'S::g' is too small to hold all values of 'enum F'" } ++ F h : 4; // { dg-bogus "'S::h' is too small to hold all values of 'enum F'" } ++ G i : 2; // { dg-warning "'S::i' is too small to hold all values of 'enum G'" } ++ G j : 3; // { dg-bogus "'S::j' is too small to hold all values of 'enum G'" } ++ H k : 3; // { dg-warning "'S::k' is too small to hold all values of 'enum H'" } ++ H l : 4; // { dg-bogus "'S::l' is too small to hold all values of 'enum H'" } ++}; +new file mode 100644 +--- /dev/null ++++ b/src/gcc/testsuite/g++.dg/cpp0x/enum39.C +@@ -0,0 +1,15 @@ ++// PR c++/61414 ++// { dg-do compile { target c++11 } } ++ ++enum class E { E0 = -4, E1 = 3 }; ++enum F : unsigned { F0 = 0, F1 = 15 }; ++ ++struct S ++{ ++ E a : 2; // { dg-warning "'S::a' is too small to hold all values of 'enum class E'" } ++ E b : 2; // { dg-warning "'S::b' is too small to hold all values of 'enum class E'" } ++ E c : 3; // { dg-bogus "'S::c' is too small to hold all values of 'enum class E'" } ++ F d : 3; // { dg-warning "'S::d' is too small to hold all values of 'enum F'" } ++ F e : 3; // { dg-warning "'S::e' is too small to hold all values of 'enum F'" } ++ F f : 4; // { dg-bogus "'S::f' is too small to hold all values of 'enum F'" } ++}; +new file mode 100644 +--- /dev/null ++++ b/src/gcc/testsuite/g++.dg/cpp0x/gen-attrs-71.C +@@ -0,0 +1,7 @@ ++// PR c++/92648 ++// { dg-do compile { target c++11 } } ++ ++int a [[gnu::no_such_attribute(![!(!)!]!,;;)]]; // { dg-warning "ignored" } ++int b [[no_such_namespace::nonexisting_attribute(linear(c, d : 2), reduction(*:e), linear(uval (f)))]]; // { dg-warning "ignored" } ++int c [[gnu::nonexisting_attribute()]]; // { dg-warning "ignored" } ++int d [[gnu::another_nonexistent_attr(1,"abcd",g+6)]]; // { dg-warning "ignored" } +new file mode 100644 +--- /dev/null ++++ b/src/gcc/testsuite/g++.dg/cpp0x/implicit16.C +@@ -0,0 +1,37 @@ ++// PR c++/89381 ++// { dg-do compile { target c++11 } } ++ ++template ++struct base ++{ ++ base() { } ++ base(const base&) { } ++ base(base&&) { } ++ base& operator=(const base&) { return *this; } ++ base& operator=(base&&) { return *this; } ++}; ++ ++struct foo : base ++{ ++ using base::base; ++ using base::operator=; ++}; ++ ++//using workaround = decltype(foo{*static_cast(0)}); ++ ++struct bar ++{ ++ bar& operator=(foo ve) ++ { ++ value = ve; ++ return *this; ++ } ++ ++ foo value; ++}; ++ ++int main() ++{ ++ foo a; ++ foo b{a}; ++} +new file mode 100644 +--- /dev/null ++++ b/src/gcc/testsuite/g++.dg/cpp0x/initlist-value4.C +@@ -0,0 +1,12 @@ ++// PR c++/88857 ++// { dg-do compile { target c++11 } } ++ ++class S { int a; }; ++void foo (const S &, int); ++ ++template ++void ++bar () ++{ ++ foo ({}); // { dg-error "too few arguments to function" } ++} +new file mode 100644 +--- /dev/null ++++ b/src/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-defarg9.C +@@ -0,0 +1,10 @@ ++// PR c++/89422 ++// { dg-do compile { target c++11 } } ++// { dg-additional-options -g } ++ ++template struct S ++{ ++ friend void foo (int a = []{ return 0; }()) {} ++ int b; ++}; ++S<0> t; +new file mode 100644 +--- /dev/null ++++ b/src/gcc/testsuite/g++.dg/cpp0x/nullptr40.C +@@ -0,0 +1,19 @@ ++// PR c++/89212 ++// { dg-do compile { target c++11 } } ++ ++template using enable_if_t = int; ++ ++template ++struct p ++{ ++ template> ++ p(T) { } ++ p() = default; ++}; ++ ++struct A ++{ ++ p i = 1; ++ void bar(); ++ p j; ++}; +new file mode 100644 +--- /dev/null ++++ b/src/gcc/testsuite/g++.dg/cpp0x/nullptr41.C +@@ -0,0 +1,19 @@ ++// PR c++/89212 ++// { dg-do compile { target c++11 } } ++ ++template using enable_if_t = int; ++ ++template ++struct p ++{ ++ template> ++ p(T) { } ++ p() = default; ++}; ++ ++struct A ++{ ++ p i = 1; ++ void bar(); ++ p j; ++}; +new file mode 100644 +--- /dev/null ++++ b/src/gcc/testsuite/g++.dg/cpp0x/nullptr45.C +@@ -0,0 +1,24 @@ ++// PR c++/92992 ++// { dg-do run { target c++11 } } ++ ++int a; ++ ++void ++bar (int, ...) ++{ ++} ++ ++decltype (nullptr) ++baz () ++{ ++ a++; ++ return nullptr; ++} ++ ++int ++main () ++{ ++ bar (0, baz ()); ++ if (a != 1) ++ __builtin_abort (); ++} +--- a/src/gcc/testsuite/g++.dg/cpp0x/pr84497.C ++++ b/src/gcc/testsuite/g++.dg/cpp0x/pr84497.C +@@ -1,6 +1,7 @@ + // PR 84497 mismatch with thread constructor fn weakness + // { dg-do compile { target c++11 } } + // { dg-require-weak "" } ++// { dg-require-alias "" } + + struct Base + { +new file mode 100644 +--- /dev/null ++++ b/src/gcc/testsuite/g++.dg/cpp0x/pr89403.C +@@ -0,0 +1,18 @@ ++// PR c++/89403 ++// { dg-do compile { target c++11 } } ++// { dg-options "-Os -fsyntax-only" } ++ ++template ++struct A : T { ++ constexpr A() : T() { } ++}; ++ ++template ++struct B { ++ A b; ++ constexpr B() { } ++}; ++ ++struct C { struct {} s; }; ++constexpr B b{}; ++constexpr C c = b.b; +new file mode 100644 +--- /dev/null ++++ b/src/gcc/testsuite/g++.dg/cpp0x/pr92524.C +@@ -0,0 +1,12 @@ ++// PR c++/92524 ++// { dg-do compile { target c++11 } } ++ ++struct A { char a = '*'; }; ++struct B { A b[64]; }; ++ ++void ++foo () ++{ ++ A a; ++ B{a}; ++} +new file mode 100644 +--- /dev/null ++++ b/src/gcc/testsuite/g++.dg/cpp0x/rv-conv2.C +@@ -0,0 +1,18 @@ ++// PR c++/89705 ++// { dg-do compile { target c++11 } } ++ ++struct W { operator const volatile int(); }; ++const int& rci = W(); ++ ++struct X { operator const int(); }; ++int&& rri = X(); ++ ++struct Y { operator volatile int(); }; ++int&& rri2 = Y(); ++ ++struct Z { operator const volatile int(); }; ++volatile int&& rri3 = Z(); ++ ++enum E { A }; ++struct S { operator const E(); }; ++E&& rre = S(); +new file mode 100644 +--- /dev/null ++++ b/src/gcc/testsuite/g++.dg/cpp0x/using-enum-3.C +@@ -0,0 +1,21 @@ ++// PR c++/89511 ++// { dg-do compile { target c++11 } } ++ ++void f () ++{ ++ enum e { a }; ++ using e::a; // { dg-error "not a namespace or unscoped enum" } ++} ++ ++struct S { ++ enum E { A }; ++ using E::A; // { dg-error "type .S. is not a base type for type .S." } ++}; ++ ++namespace N { ++ enum E { B }; ++} ++ ++struct T { ++ using N::E::B; // { dg-error "using-declaration for non-member at class scope" } ++}; +new file mode 100644 +--- /dev/null ++++ b/src/gcc/testsuite/g++.dg/cpp1y/attr-deprecated-3.C +@@ -0,0 +1,13 @@ ++// PR c++/93228 ++// { dg-do compile { target c++14 } } ++ ++template ++struct [[deprecated("foo")]] bar {}; // { dg-message "declared here" } ++struct [[deprecated("baz")]] qux {}; // { dg-message "declared here" } ++ ++void ++quux () ++{ ++ bar b; // { dg-warning "is deprecated: foo" } ++ qux c; // { dg-warning "is deprecated: baz" } ++} +new file mode 100644 +--- /dev/null ++++ b/src/gcc/testsuite/g++.dg/cpp1y/lambda-generic-90842.C +@@ -0,0 +1,7 @@ ++// PR c++/90842 ++// { dg-do compile { target c++14 } } ++ ++auto a = [](auto x) struct C { void foo (); } {}; // { dg-error "expected" } ++ // { dg-error "type-specifier invalid in lambda" "" { xfail *-*-* } .-1 } ++auto b = [](auto x) mutable typedef {}; // { dg-error "'typedef' invalid in lambda" } ++auto d = [](auto x) mutable friend {}; // { dg-error "'friend' invalid in lambda" } +new file mode 100644 +--- /dev/null ++++ b/src/gcc/testsuite/g++.dg/cpp1y/lambda-generic-ref1.C +@@ -0,0 +1,12 @@ ++// PR c++/92852 ++// { dg-do compile { target c++14 } } ++ ++struct S { int operator<<(const int &); } glob; ++void foo() ++{ ++ S& message_stream = glob; ++ auto format = [&message_stream](auto && x) ++ { message_stream << x ; }; ++ format(3); ++ format(4u); ++} +new file mode 100644 +--- /dev/null ++++ b/src/gcc/testsuite/g++.dg/cpp1y/lambda-init18.C +@@ -0,0 +1,12 @@ ++// PR c++/89767 ++// { dg-do compile { target c++14 } } ++ ++void bar (int); ++ ++void ++foo () ++{ ++ int x = 0; ++ auto z = [x, y = [x] { bar (x); }] { y (); bar (x); }; ++ z (); ++} +new file mode 100644 +--- /dev/null ++++ b/src/gcc/testsuite/g++.dg/cpp1y/lambda-init19.C +@@ -0,0 +1,15 @@ ++// PR c++/89767 ++// { dg-do compile { target c++14 } } ++ ++void bar (int); ++ ++void ++foo () ++{ ++ int x = 0; ++ int a = 0, b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0; ++ auto z = [x, y = [x] { bar (x); }, x] { y (); bar (x); }; // { dg-error "already captured 'x' in lambda expression" } ++ auto w = [x, a, b, c, d, y = [x] { bar (x); }, e, f, g, h, x] { y (); bar (x + a + b + c + d + e + f + g + h); }; // { dg-error "already captured 'x' in lambda expression" } ++ z (); ++ w (); ++} +new file mode 100644 +--- /dev/null ++++ b/src/gcc/testsuite/g++.dg/cpp1y/pr89767.C +@@ -0,0 +1,32 @@ ++// PR c++/89767 ++// { dg-do compile { target c++14 } } ++// { dg-options "-O2 -Wall" } ++ ++template struct e { using g = d; }; ++template class> using h = e; ++template class i> ++using j = typename h::g; ++template int k(c); ++template class au; ++struct l { template using m = typename c::f; }; ++struct s : l { using af = j *, m>; }; ++template struct o; ++template using q = typename o::g; ++template struct r; ++template struct r { typedef c aj; }; ++template struct al { typename r::aj operator*(); void operator++(); }; ++template ++bool operator!=(al, al); ++template struct ap; ++template ++struct ap : ap<1, as...> {}; ++template struct ap {}; ++template class au : public ap<0, at...> {}; ++template ++struct o> : o

> {}; ++template struct o<0, au> { typedef ar g; }; ++template constexpr ar av(ap __t) { return ar (); } ++template constexpr q> aw(au __t) { av

(__t); return q> (); } ++struct bg { typedef s::af af; }; ++struct F { typedef al bk; bk begin(); bk end(); }; ++void bo() { int t = 0; F cv; for (auto bp : cv) [t, n = k(aw<1>(bp))] {}; } +new file mode 100644 +--- /dev/null ++++ b/src/gcc/testsuite/g++.dg/cpp1y/var-templ61.C +@@ -0,0 +1,20 @@ ++// PR c++/89512 ++// { dg-do compile { target c++14 } } ++ ++struct A { ++ template ++ static const int a = 0; ++}; ++ ++struct B { ++ template ++ static int foo () ++ { ++ return T::a; // { dg-error "missing template arguments" } ++ } ++}; ++ ++int bar () ++{ ++ return B::foo (); // { dg-message "required from here" } ++} +new file mode 100644 +--- /dev/null ++++ b/src/gcc/testsuite/g++.dg/cpp1z/aggr-base7.C +@@ -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{}; +new file mode 100644 +--- /dev/null ++++ b/src/gcc/testsuite/g++.dg/cpp1z/aggr-base8.C +@@ -0,0 +1,48 @@ ++// PR c++/89214 ++// { dg-do compile { target c++17 } } ++ ++struct A ++{ ++ A (int); ++}; ++ ++struct BB ++{ ++ A a; ++}; ++ ++struct B : BB ++{ ++}; ++ ++void ++foo () ++{ ++ B b1 = {42}; ++ B b2 = {{42}}; ++ B b3 = {{{42}}}; ++ ++ B b4 = B{42}; ++ B b5 = B{{42}}; ++ B b6 = B{{{42}}}; ++ ++ B b7 = {B{42}}; ++ B b8 = {B{{42}}}; ++ B b9 = {B{{{42}}}}; ++ ++ B b10 = {{B{42}}}; // { dg-warning "initializing a base class of type .BB. results in object slicing" } ++ B b11 = {{B{{42}}}}; // { dg-warning "initializing a base class of type .BB. results in object slicing" } ++ B b12 = {{B{{{42}}}}}; // { dg-warning "initializing a base class of type .BB. results in object slicing" } ++ ++ B bb1{42}; ++ B bb2{{42}}; ++ B bb3{{{42}}}; ++ ++ B bb7{B{42}}; ++ B bb8{B{{42}}}; ++ B bb9{B{{{42}}}}; ++ ++ B bb10{{B{42}}}; // { dg-warning "initializing a base class of type .BB. results in object slicing" } ++ B bb11{{B{{42}}}}; // { dg-warning "initializing a base class of type .BB. results in object slicing" } ++ B bb12{{B{{{42}}}}}; // { dg-warning "initializing a base class of type .BB. results in object slicing" } ++} +new file mode 100644 +--- /dev/null ++++ b/src/gcc/testsuite/g++.dg/cpp1z/aggr-base9.C +@@ -0,0 +1,33 @@ ++// PR c++/89214 ++// { dg-do compile { target c++17 } } ++ ++struct B { ++ int c; ++}; ++ ++struct D : B { }; ++ ++void ++foo () ++{ ++ D d1 = {42}; ++ D d2 = {{42}}; ++ ++ D d4 = D{42}; ++ D d5 = D{{42}}; ++ ++ D d7 = {D{42}}; ++ D d8 = {D{{42}}}; ++ ++ D d10 = {{D{42}}}; // { dg-warning "initializing a base class of type .B. results in object slicing" } ++ D d11 = {{D{{42}}}}; // { dg-warning "initializing a base class of type .B. results in object slicing" } ++ ++ D dd1{42}; ++ D dd2{{42}}; ++ ++ D dd7{D{42}}; ++ D dd8{D{{42}}}; ++ ++ D dd10{{D{42}}}; // { dg-warning "initializing a base class of type .B. results in object slicing" } ++ D dd11{{D{{42}}}}; // { dg-warning "initializing a base class of type .B. results in object slicing" } ++} +new file mode 100644 +--- /dev/null ++++ b/src/gcc/testsuite/g++.dg/cpp1z/class-deduction58.C +@@ -0,0 +1,16 @@ ++// PR c++/86098 ++// { dg-additional-options -std=c++17 } ++ ++template class future; ++template T&& declval(); ++ ++template