1
0

initial import from Debian

version: 14.3.0-5
commit: bee30ab0fff2fd6af94c62376c8aa4221bb831e0
This commit is contained in:
2025-08-11 15:00:09 +03:00
commit c2c1923c7b
274 changed files with 101988 additions and 0 deletions

930
debian/NEWS.gcc vendored Normal file
View File

@@ -0,0 +1,930 @@
GCC 14 Release Series - Changes, New Features, and Fixes
This page is a "brief" summary of some of the huge number of improvements in
GCC 14. You may also want to check out our Porting_to_GCC_14 page and the full
GCC_documentation.
Caveats
* C: Support for the GCC extension, a structure containing a C99 flexible
array member, or a union containing such a structure, is not the last
field of another structure, is deprecated. Refer to Zero_Length_Arrays.
Any code relying on this extension should be modifed to ensure that C99
flexible array members only end up at the ends of structures. Please use
the warning option -Wflex-array-member-not-at-end to identify all such
cases in the source code and modify them.
* C: Certain warnings about are now errors, see Porting_to_GCC_14 for
details.
* -fcf-protection=[full|branch|return|none|check] is refactored, to
override -fcf-protection, -fcf-protection=none needs to be added and then
with -fcf-protection=xxx.
* Support for the ia64*-*- target ports which have been unmaintained for
quite a while has been declared obsolete in GCC 14. The next release of
GCC will have their sources permanently removed.
* Support for the nios2*-*- target ports has also been declared obsolete in
GCC 14, and the sources will also be removed in the next release of GCC.
* -fanalyzer is still only suitable for analyzing C code. In particular,
using it on C++ is unlikely to give meaningful output.
General Improvements
* For offload-device code generated via OpenMP and OpenACC, the math and
the Fortran runtime libraries will now automatically be linked, when the
user or compiler links them on the host side. Thus, it is no longer
required to explicitly pass -lm and/or -lgfortran to the offload-device
linker using the -foffload-options= flag.
* New configure options: --enable-host-pie, to build the compiler
executables as PIE; and --enable-host-bind-now, to link the compiler
executables with -Wl,-z,now in order to enable additional hardening.
* New option -fhardened, an umbrella option that enables a set of hardening
flags. The options it enables can be displayed using the --help=hardened
option.
* New option -fharden-control-flow-redundancy, to verify, at the end of
functions, that the visited basic blocks correspond to a legitimate
execution path, so as to detect and prevent attacks that transfer control
into the middle of functions.
* New type attribute hardbool, for C and Ada. Hardened booleans take user-
specified representations for true and false, presumably with higher
hamming distance than standard booleans, and get verified at every use,
detecting memory corruption and some malicious attacks.
* New type attribute strub to control stack scrubbing properties of
functions and variables. The stack frame used by functions marked with
the attribute gets zeroed-out upon returning or exception escaping.
Scalar variables marked with the attribute cause functions contaning or
accessing them to get stack scrubbing enabled implicitly.
* New option -finline-stringops, to force inline expansion of memcmp,
memcpy, memmove and memset, even when that is not an optimization, to
avoid relying on library implementations.
* New function attribute null_terminated_string_arg(PARAM_IDX) for
indicating parameters that are expected to be null-terminated strings.
* The vectorizer now supports vectorizing loops which contain any number of
early breaks. This means loops such as:
int z[100], y[100], x[100];
int foo (int n)
{
int res = 0;
for (int i = 0; i < n; i++)
{
y[i] = x[i] * 2;
res += x[i] + y[i];
if (x[i] > 5)
break;
if (z[i] > 5)
break;
}
return res;
}
can now be vectorized on a number of targets. In this first version any
input data sources must either have a statically known size at compile
time or the vectorizer must be able to determine based on auxillary
information that the accesses are aligned.
New Languages and Language specific improvements
* OpenMP
o The GNU_Offloading_and_Multi_Processing_Runtime_Library_Manual has
been updated and extended, improving especially the description of
ICVs, memory allocation, environment variables and OpenMP routines.
o The requires directive's unified_address requirement is now
fulfilled by both AMD GCN and nvptx devices. AMD GCN and nvptx
devices now support low-latency allocators as detailed_in_the
manual. Initial support for pinned-memory allocators has been added
and, on Linux, libnuma is now used for allocators requesting the
nearest-partition trait (both is described in the memory_allocation
section_of_the_manual).
o OpenMP 5.0: The allocate directive is now supported for stack
variables in C and Fortran, including the OpenMP 5.1 align
modifier. In C and C++ the map clause now accepts lvalue
expressions. For Fortran, OpenMP allocators can now be used for
allocatables and pointers using the allocate directive and its
OpenMP 5.2 replacement, the allocators directive; files using this
allocator and all files that might directly or indirectly
(intrinisic assignment, intent(out), ...) de- or reallocate such-
allocated variables must be compiled with the -fopenmp-allocators
option.
o OpenMP 5.1: Support was added for collapsing imperfectly nested
loops and using present as map-type modifier and in defaultmap. The
indirect clause is now supported. The performance of copying
strided data from or to nvptx and AMD GPU devices using the OpenMP
5.1 routine omp_target_memcpy_rect has been improved.
o OpenMP 5.2: The OMP_TARGET_OFFLOAD=mandatory handling has been
updated for the clarifications and changes of the 5.2
specification. For Fortran, the list of directives permitted in
Fortran pure procedures was extended. Additionally, the spec change
has been implemented for default implicit mapping of C/C++ pointers
pointing to unmapped storage. The destroy clause now optionally
accepts the depend object as argument.
o OpenMP 6.0 preview (TR11/TR12): The decl attribute is now supported
in C++ 11 and the directive, sequence and decl attributes are now
supported in C 23.
* OpenACC
o OpenACC 2.7: The self clause was added to be used on compute
constructs and the default clause for data constructs.
Additionally, the readonly modifier is now handled in the copyin
clause and cache directive.
o OpenACC 3.2: The following API routines are now available in
Fortran using the openacc module or the openacc_lib.h header file:
acc_malloc, acc_free, acc_map_data, acc_unmap_data, acc_deviceptr,
acc_hostptr, acc_memcpy_to_device, acc_memcpy_to_device_async,
acc_memcpy_from_device, and acc_memcpy_from_device_async.
Ada
* New implementation-defined aspects and pragmas:
o Local_Restrictions, which specifies that a particular subprogram
does not violate one or more local restrictions, nor can it call a
subprogram that is not subject to the same requirements.
o User_Aspect_Definition and User_Aspect, which provide a mechanism
for avoiding textual duplication if some set of aspect
specifications is needed in multiple places.
* New implementation-defined aspects and pragmas for verification of the
SPARK 2014 subset of Ada:
o Always_Terminates, which provides a condition for a subprogram to
necessarily complete (either return normally or raise an
exception).
o Ghost_Predicate, which introduces a subtype predicate that can
reference Ghost entities.
o Exceptional_Cases, which lists exceptions that might be propagated
by the subprogram with side effects in the context of its
precondition and associates them with a specific postcondition.
o Side_Effects, which indicates that a function should be handled
like a procedure with respect to parameter modes, Global contract,
exceptional contract and termination: it may have output
parameters, write global variables, raise exceptions and not
terminate.
* The new attributes and contracts have been applied to the relevant parts
of the Ada runtime library, which has been subsequently proven to be
correct with SPARK 2014.
* Support for the LoongArch architecture.
* Support for vxWorks 7 Cert RTP has been removed.
* Additional hardening improvements. For more information reltated to
hardening options, refer to the GCC_Instrumentation_Options and the GNAT
Reference_Manual,_Security_and_Hardening_Features.
* Improve style checking for redundant parentheses with -gnatyz
* New switch -gnateH to force reverse Bit_Order threshold to 64.
* Experimental features:
o Storage_Model: this feature proposes to redesign the concepts of
Storage Pools into a more efficient model allowing higher
performances and easier integration with low footprint embedded
run-times.
o String_Interpolation: allows for easier string formatting.
* Further clean up and improvements to the GNAT code.
C family
* The Clang language extensions __has_feature and __has_extension have been
implemented in GCC. These are available from C, C++, and Objective-C(++).
This is primarily intended to aid the portability of code written against
Clang.
C
* Some more C23 features have been implemented:
o Bit-precise integer types (_BitInt (N) and unsigned _BitInt (N)):
integer types with a specified number of bits. These are only
supported on IA-32, x86-64 and AArch64 (little-endian) at present.
o Structure, union and enumeration types may be defined more than
once in the same scope with the same contents and the same tag; if
such types are defined with the same contents and the same tag in
different scopes, the types are compatible.
o The <stdckdint.h> header for checked integer arithmetic.
* In addition to those C23 features, there are new command-line options -
std=c23, -std=gnu23 and -Wc11-c23-compat. These are equivalent to the
previous options -std=c2x, -std=gnu2x and -Wc11-c2x-compat, which are
deprecated but remain supported.
* GCC supports a new pragma &#x23;pragma GCC novector to indicate to the
vectorizer not to vectorize the loop annotated with the pragma.
C++
* Several C++26 features have been implemented:
o P1854R4, Making non-encodable string literals ill-formed (PR110341)
o P2752R3, Static storage for braced initializers (PR110346)
o P2361R6, Unevaluated strings (PR110342)
o P2738R1, constexpr cast from void* (PR110344)
o P2741R3, User-generated static_assert messages (PR110348)
o P2169R4, Placeholder variables with no name (PR110349)
o P2864R2, Removing deprecated arithmetic conversion on enumerations
o P2748R5, Disallow binding a returned reference to a temporary
(PR114455)
o P2809R3, Trivial infinite loops are not undefined behavior
(PR114462)
* Several C++23 features have been implemented:
o P0847R7, Deducing this (PR102609)
o P2280R4, Using unknown references in constant expressions
(PR106650)
o P2564R3, consteval needs to propagate up (PR107687)
o P2582R1, Class template argument deduction from inherited
constructors (PR106653)
* Several C++ Defect Reports have been resolved, e.g.:
o DR_532, Member/nonmember operator template partial ordering
o DR_976, Deduction for const T& conversion operators
o DR_2262, Attributes for asm-definition
o DR_2359, Unintended copy initialization with designated
initializers
o DR_2386, tuple_size requirements for structured binding
o DR_2406, [[fallthrough]] attribute and iteration statements
o DR_2543, constinit and optimized dynamic initialization
o DR_2586, Explicit object parameter for assignment and comparison
o DR_2735, List-initialization and conversions in overload resolution
o DR_2799, Inheriting default constructors
* When a diagnostic occurrs involving a C++ template, GCC will now quote
the source code of the context at which the template is instantiated
("required from here"), rather than just print filename and line/column
numbers.
* New built-in __type_pack_element to speed up traits such as std::
tuple_element (PR100157)
* goto can cross the initialization of a trivially initialized object with
a non-trivial destructor (DR_2256)
* -Wdangling-reference false positives have been reduced. The warning does
not warn about std::span-like classes; there is also a new attribute
gnu::no_dangling to suppress the warning. See the_manual for more info.
* noexcept(expr) is now mangled as per the Itanium ABI
* the named return value optimization can now be performed even for
variables declared in an inner block of a function, see the test
* New -Wnrvo warning, to warn if the named return value optimization is not
performed although it is allowed by [class.copy.elision]. See the_manual
for more info.
* The backing array for std::initializer_list has been made static,
allowing combining multiple equivalent initializer-lists (git)
* New -Welaborated-enum-base warning, to warn if an additional enum-base is
used in an elaborated-type-specifier
* Better #include hints for missing headers (PR110164)
* The arguments of a variable template-id are coerced earlier than before,
so various problems are detected earlier (PR89442)
* -Wmissing-field-initializers is no longer emitted for empty classes
(PR110064)
* The constexpr code now tracks lifetimes in constant evaluation; this
change helps to detect bugs such as accessing a variable whose lifetime
has ended (PR70331, PR96630, PR98675)
* Array destruction can now be devirtualized
* In-class member variable template partial specializations are now
accepted (PR71954)
* Improved diagnostic for explicit conversion functions: when a conversion
doesn't work out only because the conversion function necessary to do the
conversion couldn't be used because it was marked explicit, explain that
to the user (git)
* Corrected mangling of static/thread_local structured bindings at
function/block scope (PR111069)
* [basic.scope.block]/2 violations are detected even in compound-stmt of
function-try-block and for block-scope external variables (PR52953)
* Improved "not a constant expression" diagnostic when taking the address
of a non-static constexpr variable (PR91483)
* Non-dependent simple assignments are checked even in templates (PR18474)
* Attributes hot and cold can be applied to classes as well. See the_manual
for more info.
* Function template constraints, as well as CTAD placeholders, are now
mangled
* Various decltype fixes: PR79620, PR79378, PR83167, PR96917
* New option -fdiagnostics-all-candidates to note all candidates during
overload resolution failure
* -Walloc-size and -Wcalloc-transposed-args warnings are enabled for C++ as
well
* The DR 2237 code no longer gives an error, it emits a -Wtemplate-id-cdtor
warning instead
* GCC supports a new pragma &#x23;pragma GCC novector to indicate to the
vectorizer not to vectorize the loop annotated with the pragma.
* C++ module scanning for named modules is now available, based on the
format described in P1689R5, Format for describing dependencies of source
files. The -fdeps-format=, -fdeps-file=, and -fdeps-target= flags may be
used to generate dependency information. In GCC 14 p1689r5 is the only
valid argument for -fdeps-format=.
Runtime Library (libstdc++)
* The libstdc++exp.a library now includes all the Filesystem TS symbols
from the libstdc++fs.a library. The experimental symbols for the C++23
std::stacktrace class are also in libstdc++exp.a, replacing the
libstdc++_libbacktrace.a library that GCC 13 provides. This means that -
lstdc++exp is the only library needed for all experimental libstdc++
features.
* Improved experimental support for C++20, including:
o std::chrono::parse.
o Unicode-aware string handling in std::format.
* Improved experimental support for C++23, including:
o The std::ranges::to function for converting ranges to containers.
o The std::generator view for getting results from coroutines.
o The <stacktrace> header is supported by default.
o std::print and std::println (requires linking with -lstdc++exp on
Windows).
o Formatters for std::thread::id and std::stacktrace.
o Smart pointer adaptors, std::out_ptr and std::inout_ptr.
o Some range adaptors now support move-only types.
* Experimental support for C++26, including:
o Native handles for filebuf, fstream, etc.
o Functions for saturation arithmetic on integers.
o std::to_string now uses std::format.
o Enhanced formatting of pointers with std::format.
o The std::runtime_format function to allow using non-literal format
strings with std::format.
o Testable result types for <charconv> functions.
o The std::text_encoding class for identifying character sets
(requires linking with -lstdc++exp for some member functions).
* Faster numeric conversions using std::to_string and std::to_wstring.
* Updated parallel algorithms that are compatible with oneTBB.
* std::numeric_limits<_Float32> and std::numeric_limits<_Float64> are now
defined for all standard modes, not only for C++23.
* Added missing functions for float and long double to <cmath>.
* Using the std::setfill manipulator with std::istream is deprecated.
Fortran
* The compiler now accepts the -std=f2023 option, which has been added in
preparation of support of Fortran 2023. This option increases the line-
length limit for source in free-form to 10000, and statements may have up
to 1 million characters.
* With the -save-temps option, preprocessed files with the .fii extension
will be generated from free-form source files such as .F90 and .fi from
fixed-form files such as .F.
Modula-2
* The automatic dependency generation options: -M, -MD, -MF, -MMD, -MP, -MQ
and -MT have been implemented in the compiler.
* The -Wcase-enum and -Wuninit-variable-checking= options have been
implemented to provide compile time warnings against missing case clauses
and uninitialized variables respectively.
libgccjit
* The libgccjit API gained 6 new entry points:
o gcc_jit_type_get_restrict for adding restrict to types
(LIBGCCJIT_ABI_25).
o 4 functions for setting attributes on functions and variables
(LIBGCCJIT_ABI_26):
# gcc_jit_function_add_attribute
# gcc_jit_function_add_string_attribute
# gcc_jit_function_add_integer_array_attribute
# gcc_jit_lvalue_add_string_attribute
o gcc_jit_context_new_sizeof for accessing the size of a type
(LIBGCCJIT_ABI_27).
New Targets and Target Specific Improvements
AArch64
* A number of new CPUs are supported through the -mcpu and -mtune options
(GCC identifiers in parentheses).
o Ampere-1B (ampere1b).
o Arm Cortex-A520 (cortex-a520).
o Arm Cortex-A720 (cortex-a720).
o Arm Cortex-X4 (cortex-x4).
o Microsoft Cobalt-100 (cobalt-100).
* Additionally, the identifiers generic, generic-armv8-a and generic-armv9-
a are added as arguments to -mcpu= and -mtune= to optimize code
generation aimed at a good blend of CPUs of a particular architecture
version. These tunings are also used as the default optimization targets
when compiling with the -march=armv8-a or -march=armv9-a options and
their point releases e.g. -march=armv8.2-a or -march=armv9.3-a.
* New features in the Arm architecture are supported in a number of ways:
o Support is added for the Arm Streaming Matrix Extensions SME and
SME2 through the +sme and +sme2 extensions to -march=. In
particular, this includes support for the Beta state of the SME
ACLE in the form of a new intrinsics arm_sme.h intrinsics header
and a number of new keyword attributes to manage use of the new
Streaming SVE state. For more information please refer to the ACLE
documentation.
o Libatomic is updated to implement 128-bit atomic operations
locklessly on systems with FEAT_LSE2.
o Support for FEAT_LRCPC3 is added through ACLE intrinsics in
arm_neon.h header and enabled through the +rcpc3 extension to -
march=.
* As well as numerous AArch64 code generation improvements, the following
optimization enhancements are noteworthy:
o A new AArch64-specific register allocation pass is added. It runs
in addition to standard register allocation. The pass's main
purpose is to make use of strided vector register operands in SME
instructions. However, it can also remove redundant moves in normal
Advanced SIMD and SVE code. The pass is controlled by the new
option -mearly-ra= that takes the arguments all, strided, none. -
mearly-ra=all is enabled by default at optimization levels -O2 and
above.
o A new optimization pass to fuse loads and stores to adjacent memory
locations into load and store-pair AArch64 instructions. The pass
is enabled by default when compiling with optimization and runs
twice in the optimization pipeline: before and after register
allocation. This can be controlled with the options -mearly-ldp-
fusion and -mlate-ldp-fusion.
* Conformance with the ACLE specification is improved and a number of
features aimed at helping developers deploy Arm architecture features are
added:
o Support for the Beta version of the Function_Multiversioning
Specification. This feature provides facilities to annotate
functions with attributes that allow the compiler to generate
multiple versions of the function, selected at runtime based on the
architecture features available in the system. Please refer to the
ACLE specification for more details.
o Support for more ACLE intrinsics in the arm_acle.h header,
including the Memory_prefetch_intrinsics and the Special_register
intrinsics. This also includes intrinsics for the extension to 128-
bit system registers, enabled through the +d128 extension to -
march=.
o Intrinsics enabled by the +dotprod, +fp16, +fp16fml, +i8mm, +sha3
and +sm4 extensions to -march= no longer require -march=armv8.2-
a or higher to be specified. Likewise, the intrinsics enabled by
+memtag no longer require -march=armv8.5-a.
o Support for the NEON-SVE_Bridge_intrinsics. These are intrinsics
that allow conversions between NEON and SVE vectors, enabled
through the inclusion of the arm_neon_sve_bridge.h header.
* The option -mtp= is now supported for changing the TPIDR register used
for TLS accesses. For more details please refer to the documentation.
AMD Radeon (GCN)
* Initial support for the AMD Radeon gfx90c (GCN5), gfx1030, gfx1036
(RDNA2), gfx1100 and gfx1103 (RDNA3) devices has been added. LLVM 15+
(assembler and linker) is required_to_support_GFX11.
* Improved register usage and performance on CDNA Instinct MI100 and MI200
series devices.
* The default device architecture is now gfx900 (Vega).
* Fiji (gfx803) device support is now deprecated and will be removed from a
future release. The default compiler configuration no longer uses Fiji as
the default device, and no longer includes the Fiji libraries. Both can
be restored by configuring with --with-arch=fiji.
arm
* The Cortex-M52 CPU is now supported through the cortex-m52 argument to
the -mcpu and -mtune options.
AVR
* On AVR64* and AVR128* devices, read-only data is now located in program
memory per default and no longer in RAM.
o Only a 32 KiB block of program memory can be used to store and
access .rodata in that way. Which block is used can be selected by
defining the symbol __flmap. As an alternative, the byte address of
the block can be specified by the symbol __RODATA_FLASH_START__
which takes precedence over __flmap. For example, linking with -
Wl,--defsym,__RODATA_FLASH_START__=32k chooses the second 32 KiB
block.
o The default uses the last 32 KiB block, which is also the hardware
default for bit-field NVMCTRL_CTRLB.FLMAP.
o When a non-default block is used, then NVMCTRL_CTRLB.FLMAP must be
initialized accordingly by hand, or AVR-LibC v2.2 that
implements #931 can be used. The latter initializes
NVMCTRL_CTRLB.FLMAP in the startup code and according to the value
of __flmap or __RODATA_FLASH_START__.
o When AVR-LibC with #931 is used, then defining the symbol
__flmap_lock to a non-zero value will set bit
NVMCTRL_CTRLB.FLMAPLOCK. This will protect NVMCTRL_CTRLB.FLMAP from
any further changes — which would be Undefined Behaviour in C/C++.
If you prefer to define the symbol in a C/C++ file, an asm
statement can be used:
__asm (".global __flmap_lock" "\n\t"
"__flmap_lock = 1");
o When you do not want the code from #931, then define a global
symbol __do_flmap_init and the linker will not pull in that code
from libmcu.a any more.
o In order to return to the old placement of read-only data in RAM,
the new compiler option -mrodata-in-ram can be used. This is
required on devices where the hardware revision is affected by a
silicon bug concerning the FLMAP functionality.
o Read-only data is located in output section .rodata, whereas it is
part of .text when located in RAM.
o The feature is only available when the compiler is configured with
a version of Binutils that implements PR31124, which is the case
for Binutils v2.42 and up.
o The implementation consists of two parts:
1. Binutils support new emulations avrxmega2_flmap and
avrxmega4_flmap. The sole purpose of these emulations is to
provide adjusted default linker description files. Apart from
that, these emulations behave exactly the same like avrxmega2
resp. avrxmega4.
2. The compiler uses a device-specs file which links the program
with -mavrxmega2_flmap or -mavrxmega2 depending on -m[no-
]rodata-in-ram; and similar for -mavrxmega4[_flmap].
This means the feature can be used with older compiler or Binutils
versions; all what's needed is an adjusted linker script and a
custom device-specs file.
* A new compiler option -m[no-]rodata-in-ram has been added. The default is
to locate read-only data in program memory for devices that support it,
e.g. for AVR64* and AVR128* devices as explained above, and for devices
from the avrxmega3 and avrtiny families.
* The new built-in macro __AVR_RODATA_IN_RAM__ is supported on all devices.
It's defined to 0 or 1.
* A new optimization tries to improve code generation for indirect memory
accesses on Reduced_Tiny_devices. It can be controlled by the new
compiler option -mfuse-add=level where level may be 0, 1 or 2.
* On the Reduced Tiny devices, the meaning of register constraint "w" has
been changed. It now constrains the registers R24…R31 as is the case for
all the other devices.
IA-32/x86-64
* New compiler option -m[no-]evex512 was added. The compiler switch
enables/disables 512-bit vector. It will be default on if AVX512F is
enabled.
* Part of new feature support for Intel APX was added, including EGPR, NDD,
PPX and PUSH2POP2. APX support is available via the -mapxf compiler
switch.
* For inline asm support with APX, by default the EGPR feature was disabled
to prevent potential illegal instruction with EGPR occurs. To invoke egpr
usage in inline asm, use new compiler option -mapx-inline-asm-use-gpr32
and user should ensure the instruction supports EGPR.
* New ISA extension support for Intel AVX10.1 was added. AVX10.1 intrinsics
are available via the -mavx10.1 or -mavx10.1-256 compiler switch with
256-bit vector size support. 512-bit vector size support for AVX10.1
intrinsics are available via the -mavx10.1-512 compiler switch.
* New ISA extension support for Intel AVX-VNNI-INT16 was added. AVX-VNNI-
INT16 intrinsics are available via the -mavxvnniint16 compiler switch.
* New ISA extension support for Intel SHA512 was added. SHA512 intrinsics
are available via the -msha512 compiler switch.
* New ISA extension support for Intel SM3 was added. SM3 intrinsics are
available via the -msm3 compiler switch.
* New ISA extension support for Intel SM4 was added. SM4 intrinsics are
available via the -msm4 compiler switch.
* New ISA extension support for Intel USER_MSR was added. USER_MSR
intrinsics are available via the -muser_msr compiler switch.
* GCC now supports the Intel CPU named Clearwater Forest through -
march=clearwaterforest. Based on Sierra Forest, the switch further
enables the AVX-VNNI-INT16, PREFETCHI, SHA512, SM3, SM4 and USER_MSR ISA
extensions.
* GCC now supports the Intel CPU named Arrow Lake through -march=arrowlake.
Based on Alder Lake, the switch further enables the AVX-IFMA, AVX-NE-
CONVERT, AVX-VNNI-INT8 and CMPccXADD ISA extensions.
* GCC now supports the Intel CPU named Arrow Lake S through -
march=arrowlake-s. Based on Arrow Lake, the switch further enables the
AVX-VNNI-INT16, SHA512, SM3 and SM4 ISA extensions.
* GCC now supports the Intel CPU named Lunar Lake through -march=lunarlake.
Lunar Lake is based on Arrow Lake S.
* GCC now supports the Intel CPU named Panther Lake through -
march=pantherlake. Based on Arrow Lake S, the switch further enables the
PREFETCHI ISA extensions.
* Xeon Phi CPUs support (a.k.a. Knight Landing and Knight Mill) are marked
as deprecated. GCC will emit a warning when using the -mavx5124fmaps, -
mavx5124vnniw, -mavx512er, -mavx512pf, -mprefetchwt1, -march=knl, -
march=knm, -mtune=knl or -mtune=knm compiler switches. Support will be
removed in GCC 15.
* Hardware-assisted_AddressSanitizer now works for the x86-64 target with
LAM_U57. -fsanitize=hwaddress will enable -mlam=u57 by default.
* GCC now supports AMD CPUs based on the znver5 core via -march=znver5. In
addition to the ISA extensions enabled on a znver4 core, this switch
further enables the AVX512VP2INTERSECT, AVXVNNI, MOVDIR64B, MOVDIRI, and
PREFETCHI ISA extensions.
MCore
* Bitfields are now signed by default per GCC policy. If you need bitfields
to be unsigned, use -funsigned-bitfields.
LoongArch
* Support for the following -march parameters has been added:
o la64v1.0
o la64v1.1
o la664
It is now recommended to use -march=la64v1.0 as the only compiler option
to describe the target ISA when building binaries for distribution. For
more information on LoongArch ISA versions, see Toolchain_Conventions_of
the_LoongArch™_Architecture.
* Support for the following -mtune parameters has been added:
o generic
o la664
* New ISA Extension
o LSX (Loongson SIMD Extension): Support 128-bit vector instructions
and the intrinsics.
o LASX (Loongson Advanced SIMD Extension): Support 256-bit vector
instructions and the intrinsics.
o FRECIPE: Support frecipe.{s/d} and frsqrte.{s/d} instructions and
the intrinsics.
o DIV32: Support div.w[u] and mod.w[u] instructions with inputs not
sign-extended.
o LAM_BH: Support am{swap/add}[_db].{b/h} instructions.
o LAMCAS: Support amcas[_db].{b/h/w/d} instructions.
* New Built-in Macros
o __loongarch_arch: Target ISA preset as specified by -march=. For
example, compiling with -march=la64v1.0, the value of
__loongarch_arch is "la64v1.0".
o __loongarch_tune: Processor model as specified by -mtune or its
default value.
o __loongarch_{simd,sx,asx}: These macros are not defined, or defined
as 1.
o __loongarch_simd_width: The maximum SIMD bit-width enabled by the
compiler. (128 for lsx, and 256 for lasx).
o __loongarch_frecipe: It's defined to 1 or undefined.
o __loongarch_div32: It's defined to 1 or undefined.
o __loongarch_lam_bh: It's defined to 1 or undefined.
o __loongarch_lamcas: It's defined to 1 or undefined.
o __loongarch_ld_seq_sa: It's defined to 1 or undefined.
o __loongarch_version_major: The minimally required LoongArch ISA
version (major) to run the compiled program, defined to 1 or
undefined (iff no such version is known to the compiler).
o __loongarch_version_minor: The minimally required LoongArch ISA
version (minor) to run the compiled program, defined to 0 1 or
undefined (iff __loongarch_version_major is undefined).
o __FLOAT128_TYPE: It's defined to 1.
* New Intrinsics
o __builtin_thread_pointer
o __lsx_*
o __lasx_*
o __frecipe_{s/d}_and___frsqrte_{s/d}
* New Compiler Option
o -m[no-]lsx
o -m[no-]lasx
o -m[no-]frecipe
o -m[no-]div32
o -m[no-]lam-bh
o -m[no-]lamcas
o -m[no-]ld-seq-sa
o -mrecip=
o -m[no-]recip
o -mexplicit-relocs={none,always,auto}
o -m[no-]relax
o -m[no-]pass-mrelax-to-as
o -mtls-dialect={trad,desc}
* Support for Ada and D.
* Support for libffi.
* Enable -free by default at -O2 or higher.
* Enable -fsched-pressure by default at -O1 or higher.
* Support the extreme code model using macro instructions (under -mno-
explicit-relocs).
* Support call36.
* Optimizing built-in functions for memory-model-aware atomic operations
using hierarchical dbar instructions.
* TLS descriptors support. It is not enabled by default, and can be enabled
with -mtls-dialect=desc. The default behavior can be configured with --
with-tls=[trad|desc].
RISC-V
* The SLP and loop vectorizer are now enabled for RISC-V when the vector
extension is enabled, thanks to Ju-Zhe Zhong from RiVAI, Pan Li from
Intel, and Robin Dapp from Ventana_Micro for contributing most of the
implementation!
* The -mrvv-max-lmul= option has been introduced for performance tuning of
the loop vectorizer. The default value is -mrvv-max-lmul=m1, which limits
the maximum LMUL to 1. The -mrvv-max-lmul=dynamic setting can dynamically
select the maximum LMUL value based on register pressure.
* Atomic code generation has been improved and is now in conformance with
the latest psABI specification, thanks to Patrick O'Neill from Rivos.
* Support for the vector intrinsics as specified in version_1.0_of_the
RISC-V_vector_intrinsic_specification.
* Support for the experimental vector crypto intrinsics as specified in
RISC-V_vector_intrinsic_specification, thanks to Feng Wang et al. from
ESWIN_Computing
* Support for the T-head vector intrinsics.
* Support for the scalar bitmanip and scalar crypto intrinsics, thanks to
Liao Shihua from PLCT.
* Support for the large code model via option -mcmodel=large, thanks to
Kuan-Lin Chen from Andes_Technology.
* Support for the standard vector calling convention variant, thanks to
Lehua Ding from RiVAI.
* Supports the target attribute, which allows users to compile a function
with specific extensions.
* -march= option no longer requires the architecture string to be in
canonical order, with only a few constraints remaining: the architecture
string must start with rv[32|64][i|g|e], and must use an underscore as
the separator after a multi-letter extension.
* -march=help option has been introduced to dump all supported extensions.
* Added experimental support for the -mrvv-vector-bits=zvl option and the
riscv_rvv_vector_bits attribute, which specify a fixed length for
scalable vector types. This option is optimized for specific vector core
implementations; however, the code generated with this option is NOT
portable between the core with different VLEN, thanks to Pan Li from
Intel.
* Support for TLS descriptors has been introduced, which can be enabled by
the -mtls-dialect=desc option. The default behavior can be configured
with --with-tls=[trad|desc].
* Support for the TLS descriptors, this can be enabled by -mtls-
dialect=desc and the default behavior can be configure by --with-tls=
[trad|desc], and this feature require glibc 2.40, thanks to Tatsuyuki
Ishi from Blue_Whale_Systems
* Support for the following standard extensions has been added:
o Vector crypto extensions:
# Zvbb
# Zvkb
# Zvbc
# Zvkg
# Zvkned
# Zvkhna
# Zvkhnb
# Zvksed
# Zvksh
# Zvkn
# Zvknc
# Zvkng
# Zvks
# Zvksc
# Zvksg
# Zvkt
o Code size reduction extensions:
# Zca
# Zcb
# Zce
# Zcf
# Zcd
# Zcmp
# Zcmt
o Zicond
o Zfa
o Ztso
o Zvfbfmin
o Zvfhmin
o Zvfh
o Za64rs
o Za128rs
o Ziccif
o Ziccrse
o Ziccamoa
o Zicclsm
o Zic64b
o Smaia
o Smepmp
o Smstateen
o Ssaia
o Sscofpmf
o Ssstateen
o Sstc
o Svinval
o Svnapot
o Svpbmt
* Support for the following vendor extensions has been added:
o T-Head:
# XTheadVector
o CORE-V:
# XCVmac
# XCValu
# XCVelw
# XCVsimd
# XCVbi
o Ventana Micro:
# XVentanaCondops
* The following new CPUs are supported through the -mcpu option (GCC
identifiers in parentheses).
o SiFive's X280 (sifive-x280).
o SiFive's P450 (sifive-p450).
o SiFive's P670 (sifive-p670).
* The following new CPUs are supported through the -mtune option (GCC
identifiers in parentheses).
o Generic out-of-order core (generic-ooo).
o SiFive's P400 series (sifive-p400-series).
o SiFive's P600 series (sifive-p600-series).
o XiangShan's Nanhu microarchitecture (xiangshan-nanhu).
SPARC
* The implementation of calling conventions for small structures containing
arrays of floating-point components has been changed in 64-bit mode for
the Solaris port to match the implementation of the vendor compiler (and
the ABI). As a result, the code generated will not be binary compatible
with earlier releases in these cases.
Documentation improvements
* GCC's ability to provide clickable hyperlinks to the documentation
has been extended, so that whenever GCC refers to a command-line option
in quotes in a diagnostic message, the option is a clickable hyperlink
(assuming a suitably capable terminal).
Improvements to Static Analyzer
* New warnings:
o -Wanalyzer-infinite-loop warns about paths through the code which
appear to lead to an infinite loop.
o -Wanalyzer-overlapping-buffers warns for paths through the code in
which overlapping buffers are passed to an API for which the
behavior on such buffers is undefined.
o -Wanalyzer-undefined-behavior-strtok warns for paths through the
code in which a call is made to strtok with undefined behavior.
* Previously, the analyzer's "taint" tracking to be explicitly enabled via
-fanalyzer-checker=taint (along with -fanalyzer). This is now enabled by
default when -fanalyzer is selected, thus also enabling the 6 taint-based
warnings:
o -Wanalyzer-tainted-allocation-size
o -Wanalyzer-tainted-array-index
o -Wanalyzer-tainted-assertion
o -Wanalyzer-tainted-divisor
o -Wanalyzer-tainted-offset
o -Wanalyzer-tainted-size
* The analyzer will now simulate API calls that expect null-terminated
string arguments, and will warn about code paths in which such a call is
made with a buffer that isn't properly terminated, either due to a read
of an uninitialized byte or an out-of-range accesses seen before any zero
byte is seen. This applies to functions that use the new
null_terminated_string_arg(PARAM_IDX) attribute, functions that use the
format attribute, and to the library functions error (parameter 3),
error_at_line (parameter 5), putenv, strchr (parameter 1), and strcpy
(parameter 2).
* The analyzer now makes use of the function attribute alloc_size allowing
-fanalyzer to emit -Wanalyzer-allocation-size, -Wanalyzer-out-of-bounds,
and -Wanalyzer-tainted-allocation-size on execution paths involving
allocations using such functions.
* The analyzer's knowledge about the behavior of the standard library has
been extended to cover fopen, strcat, strncpy, and strstr. The
analyzer will also more precisely model the behavior of memcpy, memmove,
strcpy, strdup, strlen, and of various atomic built-in functions.
* The warning -Wanalyzer-out-of-bounds has been extended so that, where
possible, it will emit a text-based diagram visualizing the spatial
relationship between
1. the memory region that the analyzer predicts would be accessed,
versus
2. the range of memory that is valid to access
whether they overlap, are touching, are close or far apart; which one is
before or after in memory, the relative sizes involved, the direction of
the access (read vs write), and, in some cases, the values of data
involved.
Such "text art" diagrams can be controlled (or suppressed) via a new -
fdiagnostics-text-art-charset= option.
For example, given the out-of-bounds write in strcat in:
void test (void)
{
char buf[10];
strcpy (buf, "hello");
strcat (buf, " world!");
}
it emits:
┌────┬────┬────┬────┬────┐┌─────┬─────┬─────┐
│[0] │[1] │[2] │[3] │[4] ││ [5] │ [6] │
[7] │
├────┼────┼────┼────┼────┤├─────┼─────┼─────┤
│' ' │'w' │'o' │'r' │'l' ││ 'd' │ '!' │
NUL │
├────┴────┴────┴────┴────┴┴─────┴─────┴─────┤
│ string literal (type: 'char[8]')
└───────────────────────────────────────────┘
│ │ │ │ │ │ │
│ │ │ │ │ │ │
v v v v v v v
v
┌─────┬────────────────────┬────┬──────────────┬────┐┌─────────────────┐
│ [0] │ ... │[5] │ ... │[9] ││
├─────┼────┬────┬────┬────┬┼────┼──────────────┴────┘│
│ 'h' │'e' │'l' │'l' │'o' ││NUL │ │after valid
range│
├─────┴────┴────┴────┴────┴┴────┴───────────────────┐│
│ 'buf' (type: 'char[10]') ││
└───────────────────────────────────────────────────┘└─────────────────┘
├─────────────────────────┬─────────────────────────┤├────────┬────────┤
│ │
╭─────────┴────────╮
╭─────────┴─────────╮
│capacity: 10 bytes│ │overflow of 3
bytes│
╰──────────────────╯
╰───────────────────╯
showing that the overflow occurs partway through the second string
fragment.
* The analyzer will now attempt to track execution paths involving
computed gotos, whereas previously it gave up on such paths.
Improvements to SARIF support
* The SARIF output from -fdiagnostics-format= now adds indentation and
newlines to reflect the logical JSON structure of the data. The previous
compact behavior can be restored via the new option -fno-diagnostics-
json-formatting. This also applies to the older output format named
"json".
* If profiling information about the compiler itself is requested via -
ftime-report, and a SARIF output format is requested via -fdiagnostics-
format=, then the timing and memory usage data is now written in JSON
form into the SARIF output, rather than as plain text to stderr.
Improvements for plugin authors
* GCC diagnostics have been able to have execution paths associated with
them since GCC 10, but previously these were required to be single-
threaded. As of GCC 14, these execution paths can have multipled named
threads associated with them, with each event being associated with one
of the threads. No existing GCC diagnostics take advantage of this, but
GCC plugins may find this useful for their own diagnostics; an example is
provided in the testsuite.
* GCC's diagnostics can now optionally add per-diagnostic property bags to
the SARIF output, allowing plugins to capture custom data as needed with
their diagnostics.
GCC 14.1
This is the list_of_problem_reports_(PRs) from GCC's bug tracking system that
are known to be fixed in the 14.1 release. This list might not be complete
(that is, it is possible that some PRs that have been fixed are not listed
here).
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 2024-05-07.

1633
debian/NEWS.html vendored Normal file

File diff suppressed because it is too large Load Diff

333
debian/README.Bugs.m4 vendored Normal file
View File

@@ -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 <stdio.h>
#include <tcl.h>
class A {};
static
int SortCondition(void const*, void const*)
{
printf("throwing 'sortcondition' exception\n");
throw A();
}
int main(int argc, char *argv[])
{
int list[2];
try {
SortCondition(NULL,NULL);
} catch (A) {
printf("caught test-sortcondition exception\n");
}
try {
qsort(&list, sizeof(list)/sizeof(list[0]),sizeof(list[0]),
&SortCondition);
} catch (A) {
printf("caught real-sortcondition exception\n");
}
return 0;
}
Andrew Macleod <amacleod@cygnus.com> responded:
When compiled with the table driven exception handling, exception can only
be thrown through functions which have been compiled with the table driven EH.
If a function isn't compiled that way, then we do not have the frame
unwinding information required to restore the registers when unwinding.
I believe the setjmp/longjmp mechanism will throw through things like this,
but its produces much messier code. (-fsjlj-exceptions)
The C compiler does support exceptions, you just have to turn them on
with -fexceptions.
Your main options are to:
a) Don't use callbacks, or at least don't throw through them.
b) Get the source and compile the library with -fexceptions (You have to
explicitly turn on exceptions in the C compiler)
c) always use -fsjlj-exceptions (boo, bad choice :-)
g++: "undefined reference" to static const array in class
---------------------------------------------------------
The following code compiles under GNU C++ 2.7.2 with correct results,
but produces the same linker error with GNU C++ 2.95.2.
Alexandre Oliva <oliva@lsd.ic.unicamp.br> responded:
All of them are correct. A static data member *must* be defined
outside the class body even if it is initialized within the class
body, but no diagnostic is required if the definition is missing. It
turns out that some releases do emit references to the missing symbol,
while others optimize it away.
#include <iostream>
class Test
{
public:
Test(const char *q);
protected:
static const unsigned char Jam_signature[4] = "JAM";
};
Test::Test(const char *q)
{
if (memcmp(q, Jam_signature, sizeof(Jam_signature)) != 0)
cerr << "Hello world!\n";
}
int main(void)
{
Test::Test("JAM");
return 0;
}
g++: g++ causes passing non const ptr to ptr to a func with const arg
to cause an error (not a bug)
---------------------------------------------------------------------
Example:
#include <stdio.h>
void test(const char **b){
printf ("%s\n",*b);
}
int main(void){
char *test1="aoeu";
test(&test1);
}
make const
g++ const.cc -o const
const.cc: In function `int main()':
const.cc:7: passing `char **' as argument 1 of `test(const char **)' adds cv-quals without intervening `const'
make: *** [const] Error 1
Answer from "Martin v. Loewis" <martin@loewis.home.cs.tu-berlin.de>:
> ok... maybe I missed something.. I haven't really kept up with the latest in
> C++ news. But I've never heard anything even remotly close to passing a non
> const var into a const arg being an error before.
Thanks for your bug report. This is a not a bug in the compiler, but
in your code. The standard, in 4.4/4, puts it that way
# A conversion can add cv-qualifiers at levels other than the first in
# multi-level pointers, subject to the following rules:
# Two pointer types T1 and T2 are similar if there exists a type T and
# integer n > 0 such that:
# T1 is cv(1,0) pointer to cv(1,1) pointer to ... cv(1,n-1)
# pointer to cv(1,n) T
# and
# T2 is cv(2,0) pointer to cv(2,1) pointer to ... cv(2,n-1)
# pointer to cv(2,n) T
# where each cv(i,j) is const, volatile, const volatile, or
# nothing. The n-tuple of cv-qualifiers after the first in a pointer
# type, e.g., cv(1,1) , cv(1,2) , ... , cv(1,n) in the pointer type
# T1, is called the cv-qualification signature of the pointer type. An
# expression of type T1 can be converted to type T2 if and only if the
# following conditions are satisfied:
# - the pointer types are similar.
# - for every j > 0, if const is in cv(1,j) then const is in cv(2,j) ,
# and similarly for volatile.
# - if the cv(1,j) and cv(2,j) are different, then const is in every
# cv(2,k) for 0 < k < j.
It is the last rule that your code violates. The standard gives then
the following example as a rationale:
# [Note: if a program could assign a pointer of type T** to a pointer
# of type const T** (that is, if line //1 below was allowed), a
# program could inadvertently modify a const object (as it is done on
# line //2). For example,
# int main() {
# const char c = 'c';
# char* pc;
# const char** pcc = &pc; //1: not allowed
# *pcc = &c;
# *pc = 'C'; //2: modifies a const object
# }
# - end note]
If you question this line of reasoning, please discuss it in one of
the public C++ fora first, eg. comp.lang.c++.moderated, or
comp.std.c++.
cpp removes blank lines
-----------------------
With the new cpp, you need to add -traditional to the "cpp -P" args, else
blank lines get removed.
[EDIT ME: scan Debian bug reports and write some nice summaries ...]

35
debian/README.C++ vendored Normal file
View File

@@ -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 <cline@parashift.com>. It can be found at the
mirror sites linked from the following URL (this was last updated on
2010/09/11):
http://www.parashift.com/c++-faq/
or use some search engin site to find it, e.g.:
http://www.google.com/search?q=c%2B%2B+faq+lite
Be careful not to use outdated mirors.
Please send updates to this list as bug report for the g++ package.

45
debian/README.Debian vendored Normal file
View File

@@ -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 <doko@debian.org>
Ludovic Brenta <ludovic@ludovic-brenta.org> (gnat)
Iain Buclaw <ibuclaw@ubuntu.com> (gdc)
Aurelien Jarno <aurel32@debian.org> (mips*-linux)
Aurelien Jarno <aurel32@debian.org> (s390X*-linux)
The following ports lack maintenance in Debian: powerpc, ppc64,
sparc, sparc64 (unmentioned ports are usually handled by the Debian
porters).
Former and/or inactive maintainers of these packages
----------------------------------------------------
Falk Hueffner <falk@debian.org> (alpha-linux)
Ray Dassen <jdassen@debian.org>
Jeff Bailey <jbailey@nisa.net> (hurd-i386)
Joel Baker <fenton@debian.org> (netbsd-i386)
Randolph Chung <tausq@debian.org> (ia64-linux)
Philip Blundell <pb@debian.org> (arm-linux)
Ben Collins <bcollins@debian.org> (sparc-linux)
Dan Jacobowitz <dan@debian.org> (powerpc-linux)
Thiemo Seufer <ths@networkno.de> (mips*-linux)
Matt Taggart <taggart@carmen.fc.hp.com> (hppa-linux)
Gerhard Tonn <GerhardTonn@swol.de> (s390-linux)
Roman Zippel <zippel@linux-m68k.org> (m68k-linux)
Arthur Loiret <arthur.loiret@gmail.com> (gdc)
===============================================================================

22
debian/README.cross vendored Normal file
View File

@@ -0,0 +1,22 @@
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-9-cross
- gcc-9-cross-ports
- gcc-defaults
- gcc-defaults-ports
Issues about the cross toolchains should be filed for one of the
above source packages.

2
debian/README.libstdc++-baseline.in vendored Normal file
View File

@@ -0,0 +1,2 @@
The libstdc++ baseline file is a list of symbols exported by the
libstdc++ library.

190
debian/README.maintainers vendored Normal file
View File

@@ -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-<timestamp>.tar.bz2, along with the
Makefile snippets that unpack and patch them.
The intended use for this package is twofold: (a) allow users to build
their own cross-compilers, and (b) build the other packages like
gnat-x.y.
- gcc-x.y requires only a C compiler to build and produces C, C++,
Fortran, Go and Objective-C compilers and libraries. It also
produces the binary package gcc-x.y-source containing all the
sources and patches in a tarball.
- gnat-x.y build-depends on gcc-x.y-source and an Ada compiler. It
does not even have an .orig.tar.bz2 package; it is a Debian native
package.
The benefits of this split are many:
- bootstrapping a subset of languages is much faster than
bootstrapping all languages and libraries (which can take a full
week on slow architectures like mips or arm)
- the language maintainers don't have to wait for each other
- for new ports, the absence of a port of, say, gnat-x.y does not
block the porting of gcc-x.y.
gcc-x.y-source is also intended for interested users to build
cross-compiler packages. Debian cannot provide all possible
cross-compiler packages (i.e. all possible host, target, language and
library combinations), so instead tries to facilitate building them.
* The build sequence
As for all other Debian packages, you build GCC by calling
debian/rules.
The first thing debian/rules does it to look at the top-most entry in
debian/changelog: this tells it which source package it is building.
For example, if the first entry in debian/changelog reads:
gnat-6 (6.2.0-1) unstable; urgency=low
* Upload as gnat-6.
-- Ludovic Brenta <lbrenta@debian.org> Tue, 26 Jun 2007 00:26:42 +0200
then, debian/rules will build only the gnat binary packages.
The second step is to build debian/control from debian/control.m4 and
a complex set of rules specified in debian/rules.conf. The resulting
control file contains only the binary packages to be built.
The third step is to select which patches to apply (this is done in
debian/rules.defs), and then to apply the selected patches (see
debian/rules.patch). The result of this step is a generated
debian/patches/series file for use by quilt.
The fourth step is to unpack the GCC source tarball. This tarball is
either in the build directory (when building gcc-x.y), or in
/usr/src/gcc-x.y/gcc-x.y.z.tar.xz (when building the other source
packages).
The fifth step is to apply all patches to the unpacked sources with
quilt.
The sixth step is to create a "build" directory, cd into it, call
../src/configure, and bootstrap the compiler and libraries selected.
This is in debian/rules2.
The seventh step is to call "make install" in the build directory:
this installs the compiler and libraries into debian/tmp
(i.e. debian/tmp/usr/bin/gcc, etc.)
The eighth step is to run the GCC test suite. This actually takes at
least as much time as bootstrapping, and you can disable it by setting
WITHOUT_CHECK to "yes" in the environment.
The ninth step is to build the binary packages, i.e. the .debs. This
is done by a set of language- and architecture-dependent Makefile
snippets in the debian/rules.d/ directory, which move files from the
debian/tmp tree to the debian/<package> trees.
* Making your own packages
In this example, we will build our own gnat-x.y package.
1) Install gcc-x.y-source, which contains the real sources:
# aptitude install gcc-x.y-source
2) Create a build directory:
$ mkdir gnat-x.y-x.y.z; cd gnat-x.y-x.y.z
3) Checkout from Subversion:
$ svn checkout svn://svn.debian.org/gcccvs/branches/sid/gcc-x.y/debian
4) Edit the debian/changelog file, adding a new entry at the top that
starts with "gnat-x.y".
5) Generate the debian/control file, adjusted for gnat:
$ debian/rules control
8) Build:
$ dpkg-buildpackage
* Hints
You need a powerful machine to build GCC. The larger, the better.
The build scripts take advantage of as many CPU threads as are
available in your box (for example: 2 threads on a dual-core amd64; 4
threads on a dual-core POWER5; 32 threads on an 8-core UltraSPARC T1,
etc.).
If you have 2 GB or more of physical RAM, you can achieve maximum
performance by building in a tmpfs, like this:
1) as root, create the new tmpfs:
# mount -t tmpfs -o size=1280m none /home/lbrenta/src/debian/ram
By default, the tmpfs will be limited to half your physical RAM. The
beauty of it is that it only consumes as much physical RAM as
necessary to hold the files in it; deleting files frees up RAM.
2) As your regular user, create the working directory in the tmpfs
$ cp --archive ~/src/debian/gcc-x.y-x.y.z ~/src/debian/ram
3) Build in there. On my dual-core, 2 GHz amd64, it takes 34 minutes
to build gnat, and the tmpfs takes 992 MiB of physical RAM but
exceeds 1 GiB during the build.
Note that the build process uses a lot of temporary files. Your $TEMP
directory should therefore also be in a ram disk. You can achieve
that either by mounting it as tmpfs, or by setting TEMP to point to
~/src/debian/ram.
Also note that each thread in your processor(s) will run a compiler in
it and use up RAM. Therefore your physical memory should be:
Physical_RAM >= 1.2 + 0.4 * Threads (in GiB)
(this is an estimate; your mileage may vary). If you have less
physical RAM than recommended, reduce the number of threads allocated
to the build process, or do not use a tmpfs to build.
* Patching GCC
Debian applies a large number of patches to GCC as part of the build
process. It uses quilt but the necessary debian/patches/series is not
part of the packaging scripts; instead, "debian/rules patch" generates
this file by looking at debian/control (which is itself generated!),
debian/changelog and other files. Then it applies all the patches.
At this point, you can use quilt as usual:
$ cd ~/src/debian/gcc-x.y
$ export QUILT_PATCHES=$PWD/debian/patches
$ quilt series
If you add new patches, remember to add them to the version control
system too.
--
Ludovic Brenta, 2012-04-02.

46
debian/README.snapshot vendored Normal file
View File

@@ -0,0 +1,46 @@
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:+:$LD_LIBRARY_PATH}
PATH=/usr/lib/gcc-snapshot/bin${PATH:+:$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:+:$LD_LIBRARY_PATH}
PATH=/usr/lib/gcc-snapshot/bin${PATH:+:$PATH}
rpath=""
OLD_IFS="$IFS"
IFS=:
for i in $LD_RUN_PATH
do
rpath="$rpath -Wl,-rpath -Wl,$i"
done
IFS="$OLD_IFS"
exec gcc -Wl,-rpath -Wl,/usr/lib/gcc-snapshot/lib \
-Wl,-rpath -Wl,/usr/lib/gcc-snapshot/lib32 \
-Wl,-rpath -Wl,/usr/lib/gcc-snapshot/libx32 $rpath "$@"
----------- 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.

29
debian/README.source vendored Normal file
View File

@@ -0,0 +1,29 @@
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.
Running a single dejagnu test
-----------------------------
- Find out the test suite containing the test, and the associated
target (e.g. check-gcc in <build>/gcc, or check in <buildlibdir>/<lib>.
- Find out the dejagnu test suite, e.g. guality.exp
- If you have a log of the original testsuite run, search back for the
.exp file before the fail.
- Find the directory with the test and then the .exp in the nearest
enclosing directory.
- Set RUNTESTFLAGS to the testsuite name and the test name to run, e.g
RUNTESTFLAGS="guality.exp=pr54519-2.c" make -e check-gcc
The test name is just the base name, but might be the path relative
from gcc/testsuite for C++ tests.

28
debian/README.ssp vendored Normal file
View File

@@ -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/

58
debian/TODO vendored Normal file
View File

@@ -0,0 +1,58 @@
(It is recommended to edit this file with emacs' todoo mode)
Last updated: 2020-05-12
* 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.
This would require hard-coding things like soversions in some
places. Is it worth it?
- 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.
Now that we build all languages from one source package, should that
be changed? Building from separate packages makes building the
cross compilers more complicated.
o [Ludovic Brenta] Ada
- Done: Build both the zero-cost and setjump/longjump exceptions
versions of libgnat. In particular, gnat-glade (distributed systems)
works best with SJLJ.
This is disabled now in GCC 10.
- Add support for multilib (not yet supported upstream).
* Testsuite
- Only run libgo/x32, if the kernel is prepared to execute the x32
executables.
- PR target/94278: segfaults running the amdgcn target tools, based
on LLVM 9 and LLVM 10. https://bugs.llvm.org/show_bug.cgi?id=45887
- Investigate regressions for test failures, seen when turning on the
hardening flags by default.
- Fix gm2 link errors when running the tests.
- Fix asan test errors in g++. Seen when run locally, e.g. alloca_big_alignment.c
==1453818==ASan runtime does not come first in initial library list; you should either link runtime to your application or manually preload it with LD_PRELOAD.
- libstdc++ locale related test failures with recent glibc versions:
https://gcc.gnu.org/PR71367

39
debian/ada/README.gnat vendored Normal file
View File

@@ -0,0 +1,39 @@
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
required major version is the output of
# gnatmake --version | sed 's/.* \([0-9]\+\).*/\1/;q')
Then compile C sources with gcc-MAJOR instead of gcc.
For GPR projects, this should be sufficient:
# gprconfig --batch --config=Ada --config=C,,,,MAJOR
The same advice applies to C++, Fortran and assembly.
* When packaging Ada sources for Debian, you may want to read the
/usr/share/ada/debian_packaging.mk Makefile snippet from the gnat
package.

899
debian/ada/confirm_debian_bugs.py vendored Normal file
View File

@@ -0,0 +1,899 @@
#!/usr/bin/python3
# Helper when migrating bugs from a gnat version to another.
# Attempt to reproduce each known GNAT bug with version BV.
# Reports results as control@bugs.debian.org commands.
# Only remove temporary subdirectories when the bug is reproduced.
# python3 confirm_debian_bugs.py same BV -> found | fixed
# python3 confirm_debian_bugs.py new BV -> reassign | retitle
# flake8 confirm_debian_bugs.py
# pylint confirm_debian_bugs.py
# mypy confirm_debian_bugs.py
# rm -fr .mypy_cache/
# pylint: disable=too-many-lines
# pylint: disable=missing-module-docstring
# pylint: disable=missing-function-docstring
import os.path
import re
import shutil
import subprocess
import sys
import tempfile
import typing
Make: typing.TypeAlias = typing.Sequence[str]
Sources: typing.TypeAlias = typing.Iterable[tuple[str, str]]
os.environ['LC_ALL'] = 'C'
assert len(sys.argv) == 3, 'expected same|new new_version'
assert sys.argv[1] in ("same", "new")
SAME_GCC_BASE_VERSION = sys.argv[1] == "same"
new_version = sys.argv[2]
for line in subprocess.check_output(
("dpkg", "--status", f"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=f"-gnat-{new_version}-bugs")
def attempt_to_reproduce(bug: int,
make: Make,
sources: Sources,
) -> tuple[str, int, str]:
tmp_dir = os.path.join(workspace, f"bug{bug}")
os.mkdir(tmp_dir)
for (name, contents) in sources:
with open(os.path.join(tmp_dir, name), "w", encoding="UTF-8") as out_f:
out_f.write(contents)
path = os.path.join(tmp_dir, "stderr.log")
with open(path, "w", encoding="UTF-8") as out_f:
status = subprocess.call(make, stderr=out_f, cwd=tmp_dir)
with open(path, "r", encoding="UTF-8") as in_f:
stderr = in_f.read()
return tmp_dir, status, stderr
def reassign_and_remove_dir(bug: int, tmp_dir: str) -> None:
if SAME_GCC_BASE_VERSION:
print(f"found {bug} {deb_version}")
else:
print(f"reassign {bug} gnat-{new_version} {deb_version}")
shutil.rmtree(tmp_dir)
def report(bug: int, message: str, output: str) -> None:
print(f"# {bug}: {message}.")
for report_line in output.split("\n"):
print(f"# {report_line}")
def report_and_retitle(bug: int, message: str, output: str) -> None:
report(bug, message, output)
if SAME_GCC_BASE_VERSION:
print(f"fixed {bug} {deb_version}")
else:
print(f"retitle {bug} [Fixed in {new_version}] <current title>")
def check_compiles_but_should_not(bug: int,
make: Make,
sources: Sources,
) -> None:
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: int,
make: Make,
sources: Sources,
regex: str,
) -> None:
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: int,
make: Make,
sources: Sources,
regex: str,
) -> None:
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: int,
make: Make,
sources: Sources,
regex: str,
trigger: str,
) -> None:
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=(f"gnatmake-{new_version}", "p"),
regex='p[.]ads:3:25: error: '
'"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_reports_an_error_but_should_not(
bug=246187,
make=(f"gnatmake-{new_version}", "test_43"),
regex="Error detected at test_43.ads:11:4",
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=(f"gnatmake-{new_version}", "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=(f"gnatmake-{new_version}", "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=(f"gnatmake-{new_version}", "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=(f"gnatmake-{new_version}", "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=(f"gnatmake-{new_version}", "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=(f"gnatmake-{new_version}", "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=(f"gnatmake-{new_version}", "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=(f"gnatmake-{new_version}", "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=(f"gnatmake-{new_version}", "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=(f"gnatmake-{new_version}", "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=248681,
make=(f"gnatmake-{new_version}", "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=(f"gnatmake-{new_version}", "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=(f"gnatmake-{new_version}", "test_4"),
regex='test_4[.]ads:3:01: error: "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=(f"gnatmake-{new_version}", "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=(f"gnatmake-{new_version}", "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=(f"gnatmake-{new_version}", "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=(f"gnatmake-{new_version}", "test_124"),
regex='test_124[.]ads:6:35: error: '
'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=(f"gnatmake-{new_version}", "test_127"),
regex='test_127[.]adb:10:21: error: expected type "T2" defined at line 4',
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=(f"gnatmake-{new_version}", "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=(f"gnatmake-{new_version}", "test_129"),
regex='test_129[.]ads:13:49: error: '
'designated type of actual does not match that of formal "T2"',
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=(f"gnatmake-{new_version}", "test_130"),
regex="test_130[.]adb:.*: 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=(f"gnatmake-{new_version}", "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=(f"gnatmake-{new_version}", "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=(f"gnatmake-{new_version}", "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=(f"gnatmake-{new_version}", "proc.adb"),
regex='proc[.]adb:17:28: error: '
'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=864969,
make=(f"gnatmake-{new_version}", "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;
"""),))
check_produces_a_faulty_executable(
bug=894225,
make=(f"gnatmake-{new_version}", "main"),
trigger="main",
sources=(
("main.adb",
"""with Ada.Directories, Ada.Text_IO;
procedure Main is
begin
Ada.Text_IO.Put_Line (Ada.Directories.Containing_Directory ("/a/b/"));
Ada.Text_IO.Put_Line (Ada.Directories.Containing_Directory ("a/b/"));
Ada.Text_IO.Put_Line (Ada.Directories.Containing_Directory ("b/"));
end Main;
"""),
),
regex="""^/a/b
a/b
b$""")
try:
os.rmdir(workspace)
except OSError:
print(f"Some unconfirmed, not removing directory {workspace}.")

39
debian/ada/libgnat_alihash vendored Executable file
View File

@@ -0,0 +1,39 @@
#!/usr/bin/perl
# Helper for debian/rules2.
# Exit silently during builds without Ada.
# If the gnat RTS directory contains .ali (Ada Library Information) files,
# output a dpkg-gencontrol command line argument setting the
# libgnat:Provides substitution variable
# to the XOR of the checksums in all such files,
# as 8 lowercase hexadecimal digits.
# See https://people.debian.org/~lbrenta/debian-ada-policy.html.
# Should be in sync with dh_ada_library in the dh-ada-library package.
# perl -c $script
# perltidy $script -st | diff -u $script -
# perlcritic -1 --verbose=11 --exclude=Modules::RequireVersionVar $script
use autodie;
use re '/amsx';
use strict;
use warnings;
my @ali_files = glob 'build/gcc/ada/rts/*.ali';
if (@ali_files) {
my $result = 0;
for my $path (@ali_files) {
open my $fh, q{<}, $path;
while (<$fh>) {
if (m/ ^ D [ ] [^\t]+ \t+ \d{14} [ ] ( [[:xdigit:]]{8} ) /) {
$result ^= hex $1;
}
}
close $fh;
}
printf '-Vlibgnat:alihash=%08x', $result;
}

View File

@@ -0,0 +1,97 @@
#!/bin/sh
# Basic checks for debian/patches/ada-lib-info-source-date-epoch.diff.
# Copyright (C) 2020 Nicolas Boulenguez <nicolas@debian.org>
# Usage:
# build GCC
# sh debian/ada/test_ada_source_date_epoch.sh
# rm -fr build/test_ada_source_data_epoch
set -C -e -u -x
# Inside the GCC tree:
mkdir build/test_ada_source_data_epoch
cd build/test_ada_source_data_epoch
export LD_LIBRARY_PATH=../gcc/ada/rts:`echo ../*/libgnat_util/.libs`
gnatmake="../gcc/gnatmake --RTS=`echo ../*/libada` --GCC=../gcc/xgcc -c -v"
# For local tests:
# gnatmake="gnatmake -c -v"
cat > lib.ads <<EOF
package Lib is
Message : constant String := "Hello";
end Lib;
EOF
cat > main.adb <<EOF
with Ada.Text_IO;
with Lib;
procedure Main is
begin
Ada.Text_IO.Put_Line (Lib.Message);
end Main;
EOF
touch lib.ads -d @20
echo ______________________________________________________________________
echo 'No ALI nor object'
rm -f lib.ali lib.o
$gnatmake main.adb
grep '^D lib\.ads\s\+19700101000020' lib.ali
grep '^D lib\.ads\s\+19700101000020' main.ali
rm -f lib.ali lib.o
SOURCE_DATE_EPOCH=10 $gnatmake main.adb
grep '^D lib\.ads\s\+19700101000010' lib.ali
grep '^D lib\.ads\s\+19700101000010' main.ali # gnat-9.3.0-8 says 20
rm -f lib.ali lib.o
SOURCE_DATE_EPOCH=30 $gnatmake main.adb
grep '^D lib\.ads\s\+19700101000020' lib.ali
grep '^D lib\.ads\s\+19700101000020' main.ali
echo ______________________________________________________________________
echo 'ALI older than object'
touch lib.ali -d @40
touch lib.o -d @50
$gnatmake main.adb
grep '^D lib\.ads\s\+19700101000020' lib.ali
grep '^D lib\.ads\s\+19700101000020' main.ali
touch lib.ali -d @40
touch lib.o -d @50
SOURCE_DATE_EPOCH=10 $gnatmake main.adb
grep '^D lib\.ads\s\+19700101000010' lib.ali # gnat-9.3.0-8 says 20
grep '^D lib\.ads\s\+19700101000010' main.ali # gnat-9.3.0-8 says 20
touch lib.ali -d @40
touch lib.o -d @50
SOURCE_DATE_EPOCH=30 $gnatmake main.adb
grep '^D lib\.ads\s\+19700101000020' lib.ali
grep '^D lib\.ads\s\+19700101000020' main.ali
echo ______________________________________________________________________
echo 'Object older than ALI'
touch lib.o -d @40
touch lib.ali -d @50
$gnatmake main.adb
grep '^D lib\.ads\s\+19700101000020' lib.ali
grep '^D lib\.ads\s\+19700101000020' main.ali
touch lib.o -d @40
touch lib.ali -d @50
SOURCE_DATE_EPOCH=10 $gnatmake main.adb
grep '^D lib\.ads\s\+19700101000010' lib.ali
grep '^D lib\.ads\s\+19700101000010' main.ali # gnat-9.3.0-8 says 20
touch lib.o -d @40
touch lib.ali -d @50
SOURCE_DATE_EPOCH=30 $gnatmake main.adb
grep '^D lib\.ads\s\+19700101000020' lib.ali
grep '^D lib\.ads\s\+19700101000020' main.ali
echo "All tests passed"

11
debian/bin-wrapper.in vendored Normal file
View File

@@ -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) "$@"

17784
debian/changelog vendored Normal file

File diff suppressed because it is too large Load Diff

1
debian/compat vendored Normal file
View File

@@ -0,0 +1 @@
11

5109
debian/control vendored Normal file

File diff suppressed because it is too large Load Diff

4750
debian/control.m4 vendored Normal file

File diff suppressed because it is too large Load Diff

1532
debian/copyright vendored Normal file

File diff suppressed because it is too large Load Diff

1532
debian/copyright.in vendored Normal file

File diff suppressed because it is too large Load Diff

11
debian/cpp-BV-CRB.preinst.in vendored Normal file
View File

@@ -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

16
debian/cpp-BV-doc.doc-base.cpp vendored Normal file
View File

@@ -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@*

17
debian/cpp-BV-doc.doc-base.cppint vendored Normal file
View File

@@ -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@*

12
debian/dh_doclink vendored Executable file
View File

@@ -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

10
debian/dh_rmemptydirs vendored Executable file
View File

@@ -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

29
debian/dummy-man.1 vendored Normal file
View File

@@ -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.

1
debian/dummy.texi vendored Normal file
View File

@@ -0,0 +1 @@
@c This file is empty because the original one has a non DFSG free license (GFDL)

11
debian/g++-BV-CRB.preinst.in vendored Normal file
View File

@@ -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

12
debian/gcc-BV-CRB.preinst.in vendored Normal file
View File

@@ -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

14
debian/gcc-BV-doc.doc-base.gcc vendored Normal file
View File

@@ -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@*

17
debian/gcc-BV-doc.doc-base.gccint vendored Normal file
View File

@@ -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@*

15
debian/gcc-BV-doc.doc-base.gomp vendored Normal file
View File

@@ -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@*

16
debian/gcc-BV-doc.doc-base.itm vendored Normal file
View File

@@ -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@*

14
debian/gcc-BV-doc.doc-base.qmath vendored Normal file
View File

@@ -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@*

View File

@@ -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

1
debian/gcc-BV-multilib.overrides vendored Normal file
View File

@@ -0,0 +1 @@
gcc-@BV@-multilib binary: binary-from-other-architecture

5
debian/gcc-BV-source.overrides vendored Normal file
View File

@@ -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

21
debian/gcc-XX-BV.1 vendored Normal file
View File

@@ -0,0 +1,21 @@
.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
.BR @TOOL@ (1)
adding the appropriate
\fB\-\-plugin\fR option for the GCC @BV@ compiler.
.SH OPTIONS
See
.BR @TOOL@ (1)
for a list of options that nm understands.
.SH "SEE ALSO"
.BR @TOOL@ (1)

41
debian/gcc-dummy.texi vendored Normal file
View File

@@ -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

17
debian/gcc-snapshot.overrides vendored Normal file
View File

@@ -0,0 +1,17 @@
gcc-snapshot binary: bad-permissions-for-ali-file
gcc-snapshot binary: non-standard-file-perm
# libphobos non-multilib builds
gcc-snapshot binary: embedded-library
gcc-snapshot binary: binary-from-other-architecture
gcc-snapshot binary: extra-license-file
gcc-snapshot binary: triplet-dir-and-architecture-mismatch
gcc-snapshot binary: unstripped-binary-or-object
gcc-snapshot binary: missing-prerequisite-for-gfortran-module
# intended
gcc-snapshot binary: hardening-no-pie
# nvptx offload, silly lintian
gcc-snapshot binary: no-code-sections

6
debian/gcc-snapshot.prerm vendored Normal file
View File

@@ -0,0 +1,6 @@
#! /bin/sh -e
find /usr/lib/gcc-snapshot/share/gcc/python -name '*.py[co]' | xargs -r rm -f
find /usr/lib/gcc-snapshot/share/gcc/python -name __pycache__ -type d | xargs -r rm -rf
#DEBHELPER#

150
debian/gcc.css vendored Normal file
View File

@@ -0,0 +1,150 @@
/* CSS for the GCC web site.
Gerald Pfeifer <gerald@pfeifer.com>
*/
body { background-color: white; color: black; }
a:link { color: #0066bb; text-decoration: none; }
a:visited { color: #003399; text-decoration: none; }
a:hover { color: darkorange; text-decoration: none; }
h1 { color: darkslategray; text-align:center; }
h2 { color: darkslategray; }
.highlight{ color: darkslategray; font-weight:bold; }
.smaller { font-size: 80%; }
.left { text-align:left; }
.right { text-align:right; }
.center { text-align:center; margin-left:auto; margin-right:auto; }
.top { vertical-align:top; }
.middle { vertical-align:middle; }
.width33 { width:33%; }
.border0 { border-width:0; }
.no-margin-top { margin-top:0; }
.twocolumns { column-count:2; }
.imgleft { margin: 5px 20px; float: left; }
img.right { float: right; }
td.news { width: 50%; padding-right: 8px; vertical-align: top; }
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; vertical-align: top;
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.nav td {
border-width: 0;
}
table.navitem {
width: 100%;
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 {
clear: both;
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; }
.bold { font-weight:bold; }
.boldcyan { font-weight:bold; color:cyan; }
.boldlime { font-weight:bold; color:lime; }
.boldmagenta { font-weight:bold; color:magenta; }
.boldred { font-weight:bold; color:red; }
.boldgreen { font-weight:bold; color:green; }
.boldblue { font-weight:bold; color:blue; }
.red { color:red; }
.green { color:green; }
.blue { color:blue; }
.blackbg { color:white; background-color: #000000; }
/* Quote an e-mail. The first <div> has the sender, the second the quote. */
blockquote.mail div:nth-child(2) { border-left: solid blue; padding-left: 4pt; }
/* This comes close to <table border="1">, alas a bit less bordersome. */
table.border th { border:2px solid; }
/* 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; }
/* C++ Defect Report table. */
table.cxxdrstatus th, table.cxxdrstatus td { border: 1px solid gray; }
table.cxxdrstatus td:nth-child(4) { text-align:center; }
table.cxxdrstatus tr.separator { background: #f2f2f9; }
table.cxxdrstatus { width: 65%; }
/* OpenMP status tables. */
table.ompstatus thead th, table.cxxstatus thead td { border: 1px solid gray; }
table.ompstatus tbody td:nth-child(2) { text-align:center; }
table.ompstatus thead tr { background: #f2f2f9; }
/* Padded tables. */
table.padding5 th, td { border: 1px solid gray; padding:5px; }
.supported { background-color: lightgreen; }
.unsupported { background-color: lightsalmon; }
.other { background-color: lightgray; }
.partial { background-color: lightyellow; }
.open { color: #AAAAAA; }
/* Online documentation. */
pre.smallexample {
font-size: medium;
background: #f2f2f9;
padding: 4px;
display: inline-block;
}
/* 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; }

17
debian/gccgo-BV-doc.doc-base vendored Normal file
View File

@@ -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@*

178
debian/gen-libstdc-breaks.sh vendored Executable file
View File

@@ -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

11
debian/gfortran-BV-CRB.preinst.in vendored Normal file
View File

@@ -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

14
debian/gfortran-BV-doc.doc-base vendored Normal file
View File

@@ -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@*

14
debian/gm2-BV-doc.doc-base vendored Normal file
View File

@@ -0,0 +1,14 @@
Document: gm2-@BV@
Title: The GNU Modula-2 Compiler
Author: Various
Abstract: This manual documents how to run, install and port `gm2',
as well as its new features and incompatibilities, and how to report bugs.
Section: Programming/Modula-2
Format: html
Index: /usr/share/doc/gcc-@BV@-base/m2/gm2-@BV@.html
Files: /usr/share/doc/gcc-@BV@-base/m2/gm2-@BV@.html
Format: info
Index: /usr/share/info/gm2-@BV@.info.gz
Files: /usr/share/info/gm2-@BV@*

16
debian/gnat-BV-doc.doc-base.rm vendored Normal file
View File

@@ -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@*

16
debian/gnat-BV-doc.doc-base.style vendored Normal file
View File

@@ -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@*

16
debian/gnat-BV-doc.doc-base.ug vendored Normal file
View File

@@ -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@*

43
debian/gnat.1 vendored Normal file
View File

@@ -0,0 +1,43 @@
.\" Hey, Emacs! This is an -*- nroff -*- source file.
.\"
.\" Copyright (C) 1996 Erick Branderhorst <branderh@debian.org>
.\" Copyright (C) 2011 Nicolas Boulenguez <nicolas.boulenguez@free.fr>
.\"
.\" This is free software; you can redistribute it and/or modify it under
.\" the terms of the GNU General Public License as published by the Free
.\" Software Foundation; either version 2, or (at your option) any later
.\" version.
.\"
.\" This is distributed in the hope that it will be useful, but WITHOUT
.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
.\" for more details.
.\"
.\" You should have received a copy of the GNU General Public License with
.\" your Debian GNU/Linux system, in /usr/doc/copyright/GPL, or with the
.\" dpkg source package as the file COPYING. If not, write to the Free
.\" Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
.\"
.\"
.TH "GNAT TOOLBOX" 1 "Jun 2002" "Debian Project" "Debian Linux"
.SH NAME
gnat, gnatbind, gnatbl, gnatchop, gnatfind, gnathtml, gnatkr, gnatlink,
gnatls, gnatmake, gnatprep, gnatpsta, gnatpsys, gnatxref \-
GNAT toolbox
.SH DESCRIPTION
Those programs are part of GNU GNAT, a freely available Ada 95 compiler.
.PP
For accessing the full GNAT manuals, use
.B info gnat-ug-4.8
and
.B info gnat-rm-4.8
for the sections related to the reference manual.
If those sections cannot be found, you will have to install the
gnat-4.4-doc package as well (since these manuals contain invariant parts,
the package is located in the non-free part of the Debian archive).
You may also browse
.B http://gcc.gnu.org/onlinedocs
which provides the GCC online documentation.
.SH AUTHOR
This manpage has been written by Samuel Tardieu <sam@debian.org>, for the
Debian GNU/Linux project.

10
debian/lib32asan8.symbols vendored Normal file
View File

@@ -0,0 +1,10 @@
libasan.so.8 lib32asan8 #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
(arch=amd64)__interceptor___tls_get_addr@Base 13
(arch=amd64)__tls_get_addr@Base 13

12
debian/lib32gccLC.postinst vendored Normal file
View File

@@ -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#

12
debian/lib32stdc++CXX.postinst vendored Normal file
View File

@@ -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#

7
debian/lib64asan8.symbols vendored Normal file
View File

@@ -0,0 +1,7 @@
libasan.so.8 lib64asan8 #MINVER#
#include "libasan.symbols.common"
#include "libasan.symbols.64"
(arch=i386)__interceptor___tls_get_addr@Base 13
(arch=i386)__interceptor_ptrace@Base 13
(arch=i386)__tls_get_addr@Base 13
(arch=i386)ptrace@Base 13

12
debian/lib64gccLC.postinst vendored Normal file
View File

@@ -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#

12
debian/lib64stdc++CXX.postinst vendored Normal file
View File

@@ -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#

38
debian/libasan.symbols.16 vendored Normal file
View File

@@ -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

26
debian/libasan.symbols.32 vendored Normal file
View File

@@ -0,0 +1,26 @@
(arch=!ppc64 !sparc64)__interceptor_ptrace@Base 7
(arch=!arm64 !alpha !amd64 !ia64 !mips64el !ppc64 !ppc64el !s390x !sparc64)_ZdaPvj@Base 5
(arch=!arm64 !alpha !amd64 !ia64 !mips64el !ppc64 !ppc64el !s390x !sparc64)_ZdaPvjSt11align_val_t@Base 7
(arch=!arm64 !alpha !amd64 !ia64 !mips64el !ppc64 !ppc64el !s390x !sparc64)_ZdlPvj@Base 5
(arch=!arm64 !alpha !amd64 !ia64 !mips64el !ppc64 !ppc64el !s390x !sparc64)_ZdlPvjSt11align_val_t@Base 7
(arch=!arm64 !alpha !amd64 !ia64 !mips64el !ppc64 !ppc64el !s390x !sparc64)_Znaj@Base 4.8
(arch=!arm64 !alpha !amd64 !ia64 !mips64el !ppc64 !ppc64el !s390x !sparc64)_ZnajRKSt9nothrow_t@Base 4.8
(arch=!arm64 !alpha !amd64 !ia64 !mips64el !ppc64 !ppc64el !s390x !sparc64)_ZnajSt11align_val_t@Base 7
(arch=!arm64 !alpha !amd64 !ia64 !mips64el !ppc64 !ppc64el !s390x !sparc64)_ZnajSt11align_val_tRKSt9nothrow_t@Base 7
(arch=!arm64 !alpha !amd64 !ia64 !mips64el !ppc64 !ppc64el !s390x !sparc64)_Znwj@Base 4.8
(arch=!arm64 !alpha !amd64 !ia64 !mips64el !ppc64 !ppc64el !s390x !sparc64)_ZnwjRKSt9nothrow_t@Base 4.8
(arch=!arm64 !alpha !amd64 !ia64 !mips64el !ppc64 !ppc64el !s390x !sparc64)_ZnwjSt11align_val_t@Base 7
(arch=!arm64 !alpha !amd64 !ia64 !mips64el !ppc64 !ppc64el !s390x !sparc64)_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

13
debian/libasan.symbols.64 vendored Normal file
View File

@@ -0,0 +1,13 @@
_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

2977
debian/libasan.symbols.common vendored Normal file

File diff suppressed because it is too large Load Diff

51
debian/libasan8.symbols vendored Normal file
View File

@@ -0,0 +1,51 @@
libasan.so.8 libasan8 #MINVER#
#include "libasan.symbols.common"
(arch-bits=32)#include "libasan.symbols.32"
(arch-bits=64)#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=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
(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
(arch=armel armhf)__interceptor_trampoline___aeabi_memclr4@Base 5
(arch=armel armhf)__interceptor_trampoline___aeabi_memclr8@Base 5
(arch=armel armhf)__interceptor_trampoline___aeabi_memclr@Base 5
(arch=armel armhf)__interceptor_trampoline___aeabi_memcpy4@Base 5
(arch=armel armhf)__interceptor_trampoline___aeabi_memcpy8@Base 5
(arch=armel armhf)__interceptor_trampoline___aeabi_memcpy@Base 5
(arch=armel armhf)__interceptor_trampoline___aeabi_memmove4@Base 5
(arch=armel armhf)__interceptor_trampoline___aeabi_memmove8@Base 5
(arch=armel armhf)__interceptor_trampoline___aeabi_memmove@Base 5
(arch=armel armhf)__interceptor_trampoline___aeabi_memset4@Base 5
(arch=armel armhf)__interceptor_trampoline___aeabi_memset8@Base 5
(arch=armel armhf)__interceptor_trampoline___aeabi_memset@Base 5

4
debian/libatomic.symbols vendored Normal file
View File

@@ -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

70
debian/libcc1-0.symbols vendored Normal file
View File

@@ -0,0 +1,70 @@
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
(optional=abi_c++11)_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED1Ev@Base 10
(optional=abi_c++11)_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev@Base 10
(optional=abi_c++11)_ZZNSt8__detail18__to_chars_10_implIjEEvPcjT_E8__digits@Base 12
_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_eq_string@Base 12
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

31
debian/libgcc-s.symbols vendored Normal file
View File

@@ -0,0 +1,31 @@
libgcc_s.so.1 #PACKAGE# #MINVER#
(symver)GCC_3.0 3.0
(symver)GCC_3.3 3.3
(symver)GCC_3.3.1 3.3.1
# __gcc_personality_sj0, __gcc_personality_v0
(symver|arch=ia64)GCC_3.3.2 3.3.2
(symver|arch=arc armel armhf mips mipsel mipsn32 mipsn32el mips64 mips64el powerpc sh4)GCC_3.3.4 3.3.4
(symver)GCC_3.4 3.4
(symver)GCC_3.4.2 3.4.2
#(symver|arch-bits=32)GCC_3.4.4 3.4.4
(symver|arch=!arc !armel !armhf !any-i386 !mips !mipsel !powerpc !s390 !sh4 !sparc)GCC_3.4.4 3.4.4
(symver|arch=armel armhf|ignore-blacklist)GCC_3.5 3.5
(symver)GCC_4.0.0 4.0
(symver|arch=powerpc s390 s390x)GCC_4.1.0 4.1
(symver)GCC_4.2.0 4.2
(symver)GCC_4.3.0 4.3
(symver|arch=any-i386 ia64 mips mipsel mipsn32 mipsn32el mips64 mips64el riscv64 sh4)GCC_4.4.0 4.4
(symver|arch=arm64 any-i386 mipsn32 mipsn32el mips64 mips64el riscv64)GCC_4.5.0 4.5
#(symver|optional)GCC_4.6.0 4.6
(symver)GCC_4.7.0 4.7
(symver|arch=any-amd64 any-i386 x32)GCC_4.8.0 4.8
(symver|arch=!arc !any-amd64 !x32 !sparc64 !s390x !sh4)GLIBC_2.0 4.2
(symver|arch=s390x sh4 sparc64)GLIBC_2.2 4.2
(symver|arch=sparc)GCC_LDBL_3.0 3.0
(symver|arch=alpha sparc)GCC_LDBL_4.0.0 4.0
(symver)GCC_7.0.0 7
(symver|arch=arm64)GCC_11.0 11
(symver|arch=amd64 i386 x32)GCC_12.0.0 12
(symver|arch=amd64 arm64 i386 x32)GCC_13.0.0 13
(symver|arch=arm64)GCC_14.0 14
(symver)GCC_14.0.0 14

169
debian/libgcc-s2.symbols.m68k vendored Normal file
View File

@@ -0,0 +1,169 @@
libgcc_s.so.2 libgcc-s2 #MINVER#
GCC_14.0.0@GCC_14.0.0 14
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
GCC_7.0.0@GCC_7.0.0 7.0
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
__divmoddi4@GCC_7.0.0 7.0
__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
__hardcfr_check@GCC_14.0.0 14
__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
__strub_enter@GCC_14.0.0 14
__strub_leave@GCC_14.0.0 14
__strub_update@GCC_14.0.0 14
__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

103
debian/libgcc-s4.symbols.hppa vendored Normal file
View File

@@ -0,0 +1,103 @@
libgcc_s.so.4 libgcc-s4 #MINVER#
GCC_14.0.0@GCC_14.0.0 14
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 4.7
GCC_7.0.0@GCC_7.0.0 7.0
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
__divmoddi4@GCC_7.0.0 7.0
__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
__hardcfr_check@GCC_14.0.0 14
__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
__strub_enter@GCC_14.0.0 14
__strub_leave@GCC_14.0.0 14
__strub_update@GCC_14.0.0 14
__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

69
debian/libgcc.symbols.aeabi vendored Normal file
View File

@@ -0,0 +1,69 @@
__aeabi_cdcmpeq@GCC_3.5 3.5
__aeabi_cdcmple@GCC_3.5 3.5
__aeabi_cdrcmple@GCC_3.5 3.5
__aeabi_cfcmpeq@GCC_3.5 3.5
__aeabi_cfcmple@GCC_3.5 3.5
__aeabi_cfrcmple@GCC_3.5 3.5
__aeabi_d2f@GCC_3.5 3.5
__aeabi_d2iz@GCC_3.5 3.5
__aeabi_d2lz@GCC_3.5 3.5
__aeabi_d2uiz@GCC_3.5 3.5
__aeabi_d2ulz@GCC_3.5 3.5
__aeabi_dadd@GCC_3.5 3.5
__aeabi_dcmpeq@GCC_3.5 3.5
__aeabi_dcmpge@GCC_3.5 3.5
__aeabi_dcmpgt@GCC_3.5 3.5
__aeabi_dcmple@GCC_3.5 3.5
__aeabi_dcmplt@GCC_3.5 3.5
__aeabi_dcmpun@GCC_3.5 3.5
__aeabi_ddiv@GCC_3.5 3.5
__aeabi_dmul@GCC_3.5 3.5
__aeabi_dneg@GCC_3.5 3.5
__aeabi_drsub@GCC_3.5 3.5
__aeabi_dsub@GCC_3.5 3.5
__aeabi_f2d@GCC_3.5 3.5
__aeabi_f2iz@GCC_3.5 3.5
__aeabi_f2lz@GCC_3.5 3.5
__aeabi_f2uiz@GCC_3.5 3.5
__aeabi_f2ulz@GCC_3.5 3.5
__aeabi_fadd@GCC_3.5 3.5
__aeabi_fcmpeq@GCC_3.5 3.5
__aeabi_fcmpge@GCC_3.5 3.5
__aeabi_fcmpgt@GCC_3.5 3.5
__aeabi_fcmple@GCC_3.5 3.5
__aeabi_fcmplt@GCC_3.5 3.5
__aeabi_fcmpun@GCC_3.5 3.5
__aeabi_fdiv@GCC_3.5 3.5
__aeabi_fmul@GCC_3.5 3.5
__aeabi_fneg@GCC_3.5 3.5
__aeabi_frsub@GCC_3.5 3.5
__aeabi_fsub@GCC_3.5 3.5
__aeabi_i2d@GCC_3.5 3.5
__aeabi_i2f@GCC_3.5 3.5
__aeabi_idiv@GCC_3.5 3.5
__aeabi_idiv0@GCC_3.5 1:4.5.0
__aeabi_idivmod@GCC_3.5 3.5
__aeabi_l2d@GCC_3.5 3.5
__aeabi_l2f@GCC_3.5 3.5
__aeabi_lasr@GCC_3.5 3.5
__aeabi_lcmp@GCC_3.5 3.5
__aeabi_ldivmod@GCC_3.5 3.5
__aeabi_ldiv0@GCC_3.5 1:4.5.0
__aeabi_llsl@GCC_3.5 3.5
__aeabi_llsr@GCC_3.5 3.5
__aeabi_lmul@GCC_3.5 3.5
__aeabi_ui2d@GCC_3.5 3.5
__aeabi_ui2f@GCC_3.5 3.5
__aeabi_uidiv@GCC_3.5 3.5
__aeabi_uidivmod@GCC_3.5 3.5
__aeabi_ul2d@GCC_3.5 3.5
__aeabi_ul2f@GCC_3.5 3.5
__aeabi_ulcmp@GCC_3.5 3.5
__aeabi_uldivmod@GCC_3.5 3.5
__aeabi_unwind_cpp_pr0@GCC_3.5 3.5
__aeabi_unwind_cpp_pr1@GCC_3.5 3.5
__aeabi_unwind_cpp_pr2@GCC_3.5 3.5
__aeabi_uread4@GCC_3.5 3.5
__aeabi_uread8@GCC_3.5 3.5
__aeabi_uwrite4@GCC_3.5 3.5
__aeabi_uwrite8@GCC_3.5 3.5

29
debian/libgccjit0.symbols vendored Normal file
View File

@@ -0,0 +1,29 @@
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
(symver)LIBGCCJIT_ABI_11 8
(symver)LIBGCCJIT_ABI_12 10
(symver)LIBGCCJIT_ABI_13 10
(symver)LIBGCCJIT_ABI_14 11
(symver)LIBGCCJIT_ABI_15 11
(symver)LIBGCCJIT_ABI_16 12
(symver)LIBGCCJIT_ABI_17 12
(symver)LIBGCCJIT_ABI_18 12
(symver)LIBGCCJIT_ABI_19 12
(symver)LIBGCCJIT_ABI_20 12
(symver)LIBGCCJIT_ABI_21 12
(symver)LIBGCCJIT_ABI_22 12
(symver)LIBGCCJIT_ABI_23 12
(symver)LIBGCCJIT_ABI_24 12
(symver)LIBGCCJIT_ABI_25 14
(symver)LIBGCCJIT_ABI_26 14
(symver)LIBGCCJIT_ABI_27 14.2

10
debian/libgfortran.symbols vendored Normal file
View File

@@ -0,0 +1,10 @@
libgfortran.so.5 #PACKAGE# #MINVER#
(symver)GFORTRAN_8 8
(symver)GFORTRAN_9 9
(symver)GFORTRAN_9.2 9.1
(symver)GFORTRAN_10 10
(symver)GFORTRAN_10.2 10.2
(symver)GFORTRAN_12 11.2
(symver)GFORTRAN_13 13
(symver)GFORTRAN_C99_8 8
(symver)GFORTRAN_F2C_8 8

1644
debian/libgm2.symbols vendored Normal file

File diff suppressed because it is too large Load Diff

37
debian/libgomp.symbols vendored Normal file
View File

@@ -0,0 +1,37 @@
libgomp.so.1 #PACKAGE# #MINVER#
(symver)GOACC_2.0 5
(symver)GOACC_2.0.1 6
(symver)GOACC_2.0.2 12
(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_5.0 9
(symver)GOMP_5.0.1 11
(symver)GOMP_5.1 12
(symver)GOMP_5.1.1 13
(symver)GOMP_5.1.2 14
(symver)GOMP_PLUGIN_1.0 5
(symver)GOMP_PLUGIN_1.1 6
(symver)GOMP_PLUGIN_1.2 9
(symver)GOMP_PLUGIN_1.3 10
(symver)GOMP_PLUGIN_1.4 13
(symver)OACC_2.0 5
(symver)OACC_2.0.1 8
(symver)OACC_2.5 9
(symver)OACC_2.5.1 10
(symver)OACC_2.6 10
(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
(symver)OMP_5.0 9
(symver)OMP_5.0.1 11
(symver)OMP_5.0.2 12
(symver)OMP_5.1 12
(symver)OMP_5.1.1 13
(symver)OMP_5.2 13

2
debian/libgphobos.symbols vendored Normal file
View File

@@ -0,0 +1,2 @@
libgdruntime.so.5 #PACKAGE# #MINVER#
libgphobos.so.5 #PACKAGE# #MINVER#

21564
debian/libgphobos5.symbols.amd64 vendored Normal file

File diff suppressed because it is too large Load Diff

999
debian/libhwasan0.symbols vendored Normal file
View File

@@ -0,0 +1,999 @@
libhwasan.so.0 #PACKAGE# #MINVER#
_ZdaPv@Base 13
_ZdaPvRKSt9nothrow_t@Base 13
_ZdaPvSt11align_val_t@Base 13
_ZdaPvSt11align_val_tRKSt9nothrow_t@Base 13
_ZdaPvm@Base 14
_ZdaPvmSt11align_val_t@Base 14
_ZdaPvmSt11align_val_tRKSt9nothrow_t@Base 14
_ZdlPv@Base 13
_ZdlPvRKSt9nothrow_t@Base 13
_ZdlPvSt11align_val_t@Base 13
_ZdlPvSt11align_val_tRKSt9nothrow_t@Base 13
_ZdlPvm@Base 14
_ZdlPvmSt11align_val_t@Base 14
_ZdlPvmSt11align_val_tRKSt9nothrow_t@Base 14
_Znam@Base 13
_ZnamRKSt9nothrow_t@Base 13
_ZnamSt11align_val_t@Base 13
_ZnamSt11align_val_tRKSt9nothrow_t@Base 13
_Znwm@Base 13
_ZnwmRKSt9nothrow_t@Base 13
_ZnwmSt11align_val_t@Base 13
_ZnwmSt11align_val_tRKSt9nothrow_t@Base 13
___interceptor___libc_longjmp@Base 14
___interceptor___libc_memalign@Base 14
___interceptor_aligned_alloc@Base 14
___interceptor_bcmp@Base 14
___interceptor_calloc@Base 14
___interceptor_cfree@Base 14
___interceptor_free@Base 14
___interceptor_longjmp@Base 14
___interceptor_mallinfo@Base 14
___interceptor_malloc@Base 14
___interceptor_malloc_stats@Base 14
___interceptor_malloc_usable_size@Base 14
___interceptor_mallopt@Base 14
___interceptor_memalign@Base 14
___interceptor_memcmp@Base 14
___interceptor_memcpy@Base 14
___interceptor_memmove@Base 14
___interceptor_memset@Base 14
___interceptor_mmap@Base 14
___interceptor_mprotect@Base 14
___interceptor_munmap@Base 14
___interceptor_posix_memalign@Base 14
___interceptor_pthread_create@Base 14
___interceptor_pthread_detach@Base 14
___interceptor_pthread_exit@Base 14
___interceptor_pthread_join@Base 14
___interceptor_pthread_timedjoin_np@Base 14
___interceptor_pthread_tryjoin_np@Base 14
___interceptor_pvalloc@Base 14
___interceptor_realloc@Base 14
___interceptor_reallocarray@Base 14
___interceptor_setjmp@Base 14
___interceptor_siglongjmp@Base 14
___interceptor_sigsetjmp@Base 14
___interceptor_valloc@Base 14
___interceptor_vfork@Base 14
__asan_backtrace_alloc@Base 13
__asan_backtrace_close@Base 13
__asan_backtrace_create_state@Base 13
__asan_backtrace_dwarf_add@Base 13
__asan_backtrace_free@Base 13
__asan_backtrace_get_view@Base 13
__asan_backtrace_initialize@Base 13
__asan_backtrace_open@Base 13
__asan_backtrace_pcinfo@Base 13
__asan_backtrace_qsort@Base 13
__asan_backtrace_release_view@Base 13
__asan_backtrace_syminfo@Base 13
__asan_backtrace_syminfo_to_full_callback@Base 13
__asan_backtrace_syminfo_to_full_error_callback@Base 13
__asan_backtrace_uncompress_lzma@Base 13
__asan_backtrace_uncompress_zdebug@Base 13
__asan_backtrace_uncompress_zstd@Base 13
__asan_backtrace_vector_finish@Base 13
__asan_backtrace_vector_grow@Base 13
__asan_backtrace_vector_release@Base 13
__asan_cplus_demangle_builtin_types@Base 13
__asan_cplus_demangle_fill_ctor@Base 13
__asan_cplus_demangle_fill_dtor@Base 13
__asan_cplus_demangle_fill_extended_operator@Base 13
__asan_cplus_demangle_fill_name@Base 13
__asan_cplus_demangle_init_info@Base 13
__asan_cplus_demangle_mangled_name@Base 13
__asan_cplus_demangle_operators@Base 13
__asan_cplus_demangle_print@Base 13
__asan_cplus_demangle_print_callback@Base 13
__asan_cplus_demangle_type@Base 13
__asan_cplus_demangle_v3@Base 13
__asan_cplus_demangle_v3_callback@Base 13
__asan_internal_memcmp@Base 13
__asan_internal_memcpy@Base 13
__asan_internal_memset@Base 13
__asan_internal_strcmp@Base 13
__asan_internal_strlen@Base 13
__asan_internal_strncmp@Base 13
__asan_internal_strnlen@Base 13
__asan_is_gnu_v3_mangled_ctor@Base 13
__asan_is_gnu_v3_mangled_dtor@Base 13
__asan_java_demangle_v3@Base 13
__asan_java_demangle_v3_callback@Base 13
__hwasan_add_frame_record@Base 13
__hwasan_disable_allocator_tagging@Base 13
__hwasan_enable_allocator_tagging@Base 13
__hwasan_generate_tag@Base 13
__hwasan_handle_longjmp@Base 13
__hwasan_handle_vfork@Base 13
__hwasan_init@Base 13
__hwasan_init_frames@Base 13
__hwasan_init_static@Base 13
__hwasan_library_loaded@Base 13
__hwasan_library_unloaded@Base 13
__hwasan_load16@Base 13
__hwasan_load16_match_all@Base 14
__hwasan_load16_match_all_noabort@Base 14
__hwasan_load16_noabort@Base 13
__hwasan_load1@Base 13
__hwasan_load1_match_all@Base 14
__hwasan_load1_match_all_noabort@Base 14
__hwasan_load1_noabort@Base 13
__hwasan_load2@Base 13
__hwasan_load2_match_all@Base 14
__hwasan_load2_match_all_noabort@Base 14
__hwasan_load2_noabort@Base 13
__hwasan_load4@Base 13
__hwasan_load4_match_all@Base 14
__hwasan_load4_match_all_noabort@Base 14
__hwasan_load4_noabort@Base 13
__hwasan_load8@Base 13
__hwasan_load8_match_all@Base 14
__hwasan_load8_match_all_noabort@Base 14
__hwasan_load8_noabort@Base 13
__hwasan_loadN@Base 13
__hwasan_loadN_match_all@Base 14
__hwasan_loadN_match_all_noabort@Base 14
__hwasan_loadN_noabort@Base 13
__hwasan_memcpy@Base 13
__hwasan_memcpy_match_all@Base 14
__hwasan_memmove@Base 13
__hwasan_memmove_match_all@Base 14
__hwasan_memset@Base 13
__hwasan_memset_match_all@Base 14
__hwasan_personality_wrapper@Base 13
__hwasan_print_memory_usage@Base 13
__hwasan_print_shadow@Base 13
__hwasan_set_error_report_callback@Base 13
__hwasan_shadow_memory_dynamic_address@Base 13
__hwasan_store16@Base 13
__hwasan_store16_match_all@Base 14
__hwasan_store16_match_all_noabort@Base 14
__hwasan_store16_noabort@Base 13
__hwasan_store1@Base 13
__hwasan_store1_match_all@Base 14
__hwasan_store1_match_all_noabort@Base 14
__hwasan_store1_noabort@Base 13
__hwasan_store2@Base 13
__hwasan_store2_match_all@Base 14
__hwasan_store2_match_all_noabort@Base 14
__hwasan_store2_noabort@Base 13
__hwasan_store4@Base 13
__hwasan_store4_match_all@Base 14
__hwasan_store4_match_all_noabort@Base 14
__hwasan_store4_noabort@Base 13
__hwasan_store8@Base 13
__hwasan_store8_match_all@Base 14
__hwasan_store8_match_all_noabort@Base 14
__hwasan_store8_noabort@Base 13
__hwasan_storeN@Base 13
__hwasan_storeN_match_all@Base 14
__hwasan_storeN_match_all_noabort@Base 14
__hwasan_storeN_noabort@Base 13
__hwasan_tag_memory@Base 13
__hwasan_tag_mismatch4@Base 13
(arch=arm64)__hwasan_tag_mismatch@Base 13
(arch=arm64)__hwasan_tag_mismatch_v2@Base 13
__hwasan_tag_pointer@Base 13
__hwasan_test_shadow@Base 13
__hwasan_tls@Base 13
__interceptor___libc_longjmp@Base 13
__interceptor_bcmp@Base 14
__interceptor_longjmp@Base 13
__interceptor_memcmp@Base 14
__interceptor_memcpy@Base 14
__interceptor_memmove@Base 14
__interceptor_memset@Base 14
__interceptor_mmap@Base 14
__interceptor_mprotect@Base 14
__interceptor_munmap@Base 14
__interceptor_pthread_create@Base 13
__interceptor_pthread_detach@Base 14
__interceptor_pthread_exit@Base 14
__interceptor_pthread_join@Base 13
__interceptor_pthread_timedjoin_np@Base 14
__interceptor_pthread_tryjoin_np@Base 14
__interceptor_setjmp@Base 13
__interceptor_siglongjmp@Base 13
__interceptor_sigsetjmp@Base 13
__interceptor_trampoline___libc_longjmp@Base 14
__interceptor_trampoline_bcmp@Base 14
__interceptor_trampoline_longjmp@Base 14
__interceptor_trampoline_memcmp@Base 14
__interceptor_trampoline_memcpy@Base 14
__interceptor_trampoline_memmove@Base 14
__interceptor_trampoline_memset@Base 14
__interceptor_trampoline_mmap@Base 14
__interceptor_trampoline_mprotect@Base 14
__interceptor_trampoline_munmap@Base 14
__interceptor_trampoline_pthread_create@Base 14
__interceptor_trampoline_pthread_detach@Base 14
__interceptor_trampoline_pthread_exit@Base 14
__interceptor_trampoline_pthread_join@Base 14
__interceptor_trampoline_pthread_timedjoin_np@Base 14
__interceptor_trampoline_pthread_tryjoin_np@Base 14
__interceptor_trampoline_setjmp@Base 14
__interceptor_trampoline_siglongjmp@Base 14
__interceptor_trampoline_sigsetjmp@Base 14
__interceptor_trampoline_vfork@Base 14
__interceptor_vfork@Base 13
__libc_longjmp@Base 13
__libc_memalign@Base 13
__lsan_default_options@Base 14
__lsan_disable@Base 14
__lsan_do_leak_check@Base 14
__lsan_do_recoverable_leak_check@Base 14
__lsan_enable@Base 14
__lsan_ignore_object@Base 14
__lsan_register_root_region@Base 14
__lsan_unregister_root_region@Base 14
__sancov_default_options@Base 13
__sancov_lowest_stack@Base 13
__sanitizer___libc_memalign@Base 13
__sanitizer_acquire_crash_state@Base 13
__sanitizer_aligned_alloc@Base 13
__sanitizer_calloc@Base 13
__sanitizer_cfree@Base 13
__sanitizer_cov_8bit_counters_init@Base 13
__sanitizer_cov_bool_flag_init@Base 13
__sanitizer_cov_dump@Base 13
__sanitizer_cov_load16@Base 13
__sanitizer_cov_load1@Base 13
__sanitizer_cov_load2@Base 13
__sanitizer_cov_load4@Base 13
__sanitizer_cov_load8@Base 13
__sanitizer_cov_pcs_init@Base 13
__sanitizer_cov_reset@Base 13
__sanitizer_cov_store16@Base 13
__sanitizer_cov_store1@Base 13
__sanitizer_cov_store2@Base 13
__sanitizer_cov_store4@Base 13
__sanitizer_cov_store8@Base 13
__sanitizer_cov_trace_cmp1@Base 13
__sanitizer_cov_trace_cmp2@Base 13
__sanitizer_cov_trace_cmp4@Base 13
__sanitizer_cov_trace_cmp8@Base 13
__sanitizer_cov_trace_cmp@Base 13
__sanitizer_cov_trace_const_cmp1@Base 13
__sanitizer_cov_trace_const_cmp2@Base 13
__sanitizer_cov_trace_const_cmp4@Base 13
__sanitizer_cov_trace_const_cmp8@Base 13
__sanitizer_cov_trace_div4@Base 13
__sanitizer_cov_trace_div8@Base 13
__sanitizer_cov_trace_gep@Base 13
__sanitizer_cov_trace_pc_guard@Base 13
__sanitizer_cov_trace_pc_guard_init@Base 13
__sanitizer_cov_trace_pc_indir@Base 13
__sanitizer_cov_trace_switch@Base 13
__sanitizer_dump_coverage@Base 13
__sanitizer_dump_trace_pc_guard_coverage@Base 13
__sanitizer_free@Base 13
__sanitizer_free_hook@Base 13
__sanitizer_get_allocated_begin@Base 14
__sanitizer_get_allocated_size@Base 13
__sanitizer_get_allocated_size_fast@Base 14
__sanitizer_get_current_allocated_bytes@Base 13
__sanitizer_get_estimated_allocated_size@Base 13
__sanitizer_get_free_bytes@Base 13
__sanitizer_get_heap_size@Base 13
__sanitizer_get_module_and_offset_for_pc@Base 13
__sanitizer_get_ownership@Base 13
__sanitizer_get_report_path@Base 13
__sanitizer_get_unmapped_bytes@Base 13
__sanitizer_install_malloc_and_free_hooks@Base 13
__sanitizer_internal_memcpy@Base 14
__sanitizer_internal_memmove@Base 14
__sanitizer_internal_memset@Base 14
__sanitizer_mallinfo@Base 13
__sanitizer_malloc@Base 13
__sanitizer_malloc_hook@Base 13
__sanitizer_malloc_stats@Base 13
__sanitizer_malloc_usable_size@Base 13
__sanitizer_mallopt@Base 13
__sanitizer_memalign@Base 13
__sanitizer_on_print@Base 13
__sanitizer_posix_memalign@Base 13
__sanitizer_print_stack_trace@Base 13
__sanitizer_purge_allocator@Base 14
__sanitizer_pvalloc@Base 13
__sanitizer_realloc@Base 13
__sanitizer_reallocarray@Base 13
__sanitizer_report_error_summary@Base 13
__sanitizer_sandbox_on_notify@Base 13
__sanitizer_set_death_callback@Base 13
__sanitizer_set_report_fd@Base 13
__sanitizer_set_report_path@Base 13
__sanitizer_symbolize_global@Base 13
__sanitizer_symbolize_pc@Base 13
__sanitizer_syscall_post_impl_accept4@Base 14
__sanitizer_syscall_post_impl_accept@Base 14
__sanitizer_syscall_post_impl_access@Base 14
__sanitizer_syscall_post_impl_acct@Base 14
__sanitizer_syscall_post_impl_add_key@Base 14
__sanitizer_syscall_post_impl_adjtimex@Base 14
__sanitizer_syscall_post_impl_alarm@Base 14
__sanitizer_syscall_post_impl_bdflush@Base 14
__sanitizer_syscall_post_impl_bind@Base 14
__sanitizer_syscall_post_impl_brk@Base 14
__sanitizer_syscall_post_impl_capget@Base 14
__sanitizer_syscall_post_impl_capset@Base 14
__sanitizer_syscall_post_impl_chdir@Base 14
__sanitizer_syscall_post_impl_chmod@Base 14
__sanitizer_syscall_post_impl_chown@Base 14
__sanitizer_syscall_post_impl_chroot@Base 14
__sanitizer_syscall_post_impl_clock_adjtime@Base 14
__sanitizer_syscall_post_impl_clock_getres@Base 14
__sanitizer_syscall_post_impl_clock_gettime@Base 14
__sanitizer_syscall_post_impl_clock_nanosleep@Base 14
__sanitizer_syscall_post_impl_clock_settime@Base 14
__sanitizer_syscall_post_impl_close@Base 14
__sanitizer_syscall_post_impl_connect@Base 14
__sanitizer_syscall_post_impl_creat@Base 14
__sanitizer_syscall_post_impl_delete_module@Base 14
__sanitizer_syscall_post_impl_dup2@Base 14
__sanitizer_syscall_post_impl_dup3@Base 14
__sanitizer_syscall_post_impl_dup@Base 14
__sanitizer_syscall_post_impl_epoll_create1@Base 14
__sanitizer_syscall_post_impl_epoll_create@Base 14
__sanitizer_syscall_post_impl_epoll_ctl@Base 14
__sanitizer_syscall_post_impl_epoll_pwait2@Base 14
__sanitizer_syscall_post_impl_epoll_pwait@Base 14
__sanitizer_syscall_post_impl_epoll_wait@Base 14
__sanitizer_syscall_post_impl_eventfd2@Base 14
__sanitizer_syscall_post_impl_eventfd@Base 14
__sanitizer_syscall_post_impl_exit@Base 14
__sanitizer_syscall_post_impl_exit_group@Base 14
__sanitizer_syscall_post_impl_faccessat@Base 14
__sanitizer_syscall_post_impl_fchdir@Base 14
__sanitizer_syscall_post_impl_fchmod@Base 14
__sanitizer_syscall_post_impl_fchmodat@Base 14
__sanitizer_syscall_post_impl_fchown@Base 14
__sanitizer_syscall_post_impl_fchownat@Base 14
__sanitizer_syscall_post_impl_fcntl64@Base 14
__sanitizer_syscall_post_impl_fcntl@Base 14
__sanitizer_syscall_post_impl_fdatasync@Base 14
__sanitizer_syscall_post_impl_fgetxattr@Base 14
__sanitizer_syscall_post_impl_flistxattr@Base 14
__sanitizer_syscall_post_impl_flock@Base 14
__sanitizer_syscall_post_impl_fork@Base 14
__sanitizer_syscall_post_impl_fremovexattr@Base 14
__sanitizer_syscall_post_impl_fsetxattr@Base 14
__sanitizer_syscall_post_impl_fstat64@Base 14
__sanitizer_syscall_post_impl_fstat@Base 14
__sanitizer_syscall_post_impl_fstatat64@Base 14
__sanitizer_syscall_post_impl_fstatfs64@Base 14
__sanitizer_syscall_post_impl_fstatfs@Base 14
__sanitizer_syscall_post_impl_fsync@Base 14
__sanitizer_syscall_post_impl_ftruncate@Base 14
__sanitizer_syscall_post_impl_futimesat@Base 14
__sanitizer_syscall_post_impl_get_mempolicy@Base 14
__sanitizer_syscall_post_impl_get_robust_list@Base 14
__sanitizer_syscall_post_impl_getcpu@Base 14
__sanitizer_syscall_post_impl_getcwd@Base 14
__sanitizer_syscall_post_impl_getdents64@Base 14
__sanitizer_syscall_post_impl_getdents@Base 14
__sanitizer_syscall_post_impl_getegid@Base 14
__sanitizer_syscall_post_impl_geteuid@Base 14
__sanitizer_syscall_post_impl_getgid@Base 14
__sanitizer_syscall_post_impl_getgroups@Base 14
__sanitizer_syscall_post_impl_gethostname@Base 14
__sanitizer_syscall_post_impl_getitimer@Base 14
__sanitizer_syscall_post_impl_getpeername@Base 14
__sanitizer_syscall_post_impl_getpgid@Base 14
__sanitizer_syscall_post_impl_getpgrp@Base 14
__sanitizer_syscall_post_impl_getpid@Base 14
__sanitizer_syscall_post_impl_getppid@Base 14
__sanitizer_syscall_post_impl_getpriority@Base 14
__sanitizer_syscall_post_impl_getrandom@Base 14
__sanitizer_syscall_post_impl_getresgid@Base 14
__sanitizer_syscall_post_impl_getresuid@Base 14
__sanitizer_syscall_post_impl_getrlimit@Base 14
__sanitizer_syscall_post_impl_getrusage@Base 14
__sanitizer_syscall_post_impl_getsid@Base 14
__sanitizer_syscall_post_impl_getsockname@Base 14
__sanitizer_syscall_post_impl_getsockopt@Base 14
__sanitizer_syscall_post_impl_gettid@Base 14
__sanitizer_syscall_post_impl_gettimeofday@Base 14
__sanitizer_syscall_post_impl_getuid@Base 14
__sanitizer_syscall_post_impl_getxattr@Base 14
__sanitizer_syscall_post_impl_init_module@Base 14
__sanitizer_syscall_post_impl_inotify_add_watch@Base 14
__sanitizer_syscall_post_impl_inotify_init1@Base 14
__sanitizer_syscall_post_impl_inotify_init@Base 14
__sanitizer_syscall_post_impl_inotify_rm_watch@Base 14
__sanitizer_syscall_post_impl_io_cancel@Base 14
__sanitizer_syscall_post_impl_io_destroy@Base 14
__sanitizer_syscall_post_impl_io_getevents@Base 14
__sanitizer_syscall_post_impl_io_setup@Base 14
__sanitizer_syscall_post_impl_io_submit@Base 14
__sanitizer_syscall_post_impl_ioctl@Base 14
__sanitizer_syscall_post_impl_ioperm@Base 14
__sanitizer_syscall_post_impl_ioprio_get@Base 14
__sanitizer_syscall_post_impl_ioprio_set@Base 14
__sanitizer_syscall_post_impl_ipc@Base 14
__sanitizer_syscall_post_impl_kexec_load@Base 14
__sanitizer_syscall_post_impl_keyctl@Base 14
__sanitizer_syscall_post_impl_kill@Base 14
__sanitizer_syscall_post_impl_lchown@Base 14
__sanitizer_syscall_post_impl_lgetxattr@Base 14
__sanitizer_syscall_post_impl_link@Base 14
__sanitizer_syscall_post_impl_linkat@Base 14
__sanitizer_syscall_post_impl_listen@Base 14
__sanitizer_syscall_post_impl_listxattr@Base 14
__sanitizer_syscall_post_impl_llistxattr@Base 14
__sanitizer_syscall_post_impl_llseek@Base 14
__sanitizer_syscall_post_impl_lookup_dcookie@Base 14
__sanitizer_syscall_post_impl_lremovexattr@Base 14
__sanitizer_syscall_post_impl_lseek@Base 14
__sanitizer_syscall_post_impl_lsetxattr@Base 14
__sanitizer_syscall_post_impl_lstat64@Base 14
__sanitizer_syscall_post_impl_lstat@Base 14
__sanitizer_syscall_post_impl_madvise@Base 14
__sanitizer_syscall_post_impl_mbind@Base 14
__sanitizer_syscall_post_impl_migrate_pages@Base 14
__sanitizer_syscall_post_impl_mincore@Base 14
__sanitizer_syscall_post_impl_mkdir@Base 14
__sanitizer_syscall_post_impl_mkdirat@Base 14
__sanitizer_syscall_post_impl_mknod@Base 14
__sanitizer_syscall_post_impl_mknodat@Base 14
__sanitizer_syscall_post_impl_mlock@Base 14
__sanitizer_syscall_post_impl_mlockall@Base 14
__sanitizer_syscall_post_impl_mmap_pgoff@Base 14
__sanitizer_syscall_post_impl_mount@Base 14
__sanitizer_syscall_post_impl_move_pages@Base 14
__sanitizer_syscall_post_impl_mprotect@Base 14
__sanitizer_syscall_post_impl_mq_getsetattr@Base 14
__sanitizer_syscall_post_impl_mq_notify@Base 14
__sanitizer_syscall_post_impl_mq_open@Base 14
__sanitizer_syscall_post_impl_mq_timedreceive@Base 14
__sanitizer_syscall_post_impl_mq_timedsend@Base 14
__sanitizer_syscall_post_impl_mq_unlink@Base 14
__sanitizer_syscall_post_impl_mremap@Base 14
__sanitizer_syscall_post_impl_msgctl@Base 14
__sanitizer_syscall_post_impl_msgget@Base 14
__sanitizer_syscall_post_impl_msgrcv@Base 14
__sanitizer_syscall_post_impl_msgsnd@Base 14
__sanitizer_syscall_post_impl_msync@Base 14
__sanitizer_syscall_post_impl_munlock@Base 14
__sanitizer_syscall_post_impl_munlockall@Base 14
__sanitizer_syscall_post_impl_munmap@Base 14
__sanitizer_syscall_post_impl_name_to_handle_at@Base 14
__sanitizer_syscall_post_impl_nanosleep@Base 14
__sanitizer_syscall_post_impl_newfstat@Base 14
__sanitizer_syscall_post_impl_newfstatat@Base 14
__sanitizer_syscall_post_impl_newlstat@Base 14
__sanitizer_syscall_post_impl_newstat@Base 14
__sanitizer_syscall_post_impl_newuname@Base 14
__sanitizer_syscall_post_impl_ni_syscall@Base 14
__sanitizer_syscall_post_impl_nice@Base 14
__sanitizer_syscall_post_impl_old_getrlimit@Base 14
__sanitizer_syscall_post_impl_old_mmap@Base 14
__sanitizer_syscall_post_impl_old_readdir@Base 14
__sanitizer_syscall_post_impl_old_select@Base 14
__sanitizer_syscall_post_impl_oldumount@Base 14
__sanitizer_syscall_post_impl_olduname@Base 14
__sanitizer_syscall_post_impl_open@Base 14
__sanitizer_syscall_post_impl_open_by_handle_at@Base 14
__sanitizer_syscall_post_impl_openat@Base 14
__sanitizer_syscall_post_impl_pause@Base 14
__sanitizer_syscall_post_impl_pciconfig_iobase@Base 14
__sanitizer_syscall_post_impl_pciconfig_read@Base 14
__sanitizer_syscall_post_impl_pciconfig_write@Base 14
__sanitizer_syscall_post_impl_perf_event_open@Base 14
__sanitizer_syscall_post_impl_personality@Base 14
__sanitizer_syscall_post_impl_pipe2@Base 14
__sanitizer_syscall_post_impl_pipe@Base 14
__sanitizer_syscall_post_impl_pivot_root@Base 14
__sanitizer_syscall_post_impl_poll@Base 14
__sanitizer_syscall_post_impl_ppoll@Base 14
__sanitizer_syscall_post_impl_pread64@Base 14
__sanitizer_syscall_post_impl_preadv@Base 14
__sanitizer_syscall_post_impl_prlimit64@Base 14
__sanitizer_syscall_post_impl_process_vm_readv@Base 14
__sanitizer_syscall_post_impl_process_vm_writev@Base 14
__sanitizer_syscall_post_impl_pselect6@Base 14
__sanitizer_syscall_post_impl_ptrace@Base 14
__sanitizer_syscall_post_impl_pwrite64@Base 14
__sanitizer_syscall_post_impl_pwritev@Base 14
__sanitizer_syscall_post_impl_quotactl@Base 14
__sanitizer_syscall_post_impl_read@Base 14
__sanitizer_syscall_post_impl_readlink@Base 14
__sanitizer_syscall_post_impl_readlinkat@Base 14
__sanitizer_syscall_post_impl_readv@Base 14
__sanitizer_syscall_post_impl_reboot@Base 14
__sanitizer_syscall_post_impl_recv@Base 14
__sanitizer_syscall_post_impl_recvfrom@Base 14
__sanitizer_syscall_post_impl_recvmmsg@Base 14
__sanitizer_syscall_post_impl_recvmsg@Base 14
__sanitizer_syscall_post_impl_remap_file_pages@Base 14
__sanitizer_syscall_post_impl_removexattr@Base 14
__sanitizer_syscall_post_impl_rename@Base 14
__sanitizer_syscall_post_impl_renameat@Base 14
__sanitizer_syscall_post_impl_request_key@Base 14
__sanitizer_syscall_post_impl_restart_syscall@Base 14
__sanitizer_syscall_post_impl_rmdir@Base 14
__sanitizer_syscall_post_impl_rt_sigaction@Base 14
__sanitizer_syscall_post_impl_rt_sigpending@Base 14
__sanitizer_syscall_post_impl_rt_sigprocmask@Base 14
__sanitizer_syscall_post_impl_rt_sigqueueinfo@Base 14
__sanitizer_syscall_post_impl_rt_sigtimedwait@Base 14
__sanitizer_syscall_post_impl_rt_tgsigqueueinfo@Base 14
__sanitizer_syscall_post_impl_sched_get_priority_max@Base 14
__sanitizer_syscall_post_impl_sched_get_priority_min@Base 14
__sanitizer_syscall_post_impl_sched_getaffinity@Base 14
__sanitizer_syscall_post_impl_sched_getparam@Base 14
__sanitizer_syscall_post_impl_sched_getscheduler@Base 14
__sanitizer_syscall_post_impl_sched_rr_get_interval@Base 14
__sanitizer_syscall_post_impl_sched_setaffinity@Base 14
__sanitizer_syscall_post_impl_sched_setparam@Base 14
__sanitizer_syscall_post_impl_sched_setscheduler@Base 14
__sanitizer_syscall_post_impl_sched_yield@Base 14
__sanitizer_syscall_post_impl_select@Base 14
__sanitizer_syscall_post_impl_semctl@Base 14
__sanitizer_syscall_post_impl_semget@Base 14
__sanitizer_syscall_post_impl_semop@Base 14
__sanitizer_syscall_post_impl_semtimedop@Base 14
__sanitizer_syscall_post_impl_send@Base 14
__sanitizer_syscall_post_impl_sendfile64@Base 14
__sanitizer_syscall_post_impl_sendfile@Base 14
__sanitizer_syscall_post_impl_sendmmsg@Base 14
__sanitizer_syscall_post_impl_sendmsg@Base 14
__sanitizer_syscall_post_impl_sendto@Base 14
__sanitizer_syscall_post_impl_set_mempolicy@Base 14
__sanitizer_syscall_post_impl_set_robust_list@Base 14
__sanitizer_syscall_post_impl_set_tid_address@Base 14
__sanitizer_syscall_post_impl_setdomainname@Base 14
__sanitizer_syscall_post_impl_setfsgid@Base 14
__sanitizer_syscall_post_impl_setfsuid@Base 14
__sanitizer_syscall_post_impl_setgid@Base 14
__sanitizer_syscall_post_impl_setgroups@Base 14
__sanitizer_syscall_post_impl_sethostname@Base 14
__sanitizer_syscall_post_impl_setitimer@Base 14
__sanitizer_syscall_post_impl_setns@Base 14
__sanitizer_syscall_post_impl_setpgid@Base 14
__sanitizer_syscall_post_impl_setpriority@Base 14
__sanitizer_syscall_post_impl_setregid@Base 14
__sanitizer_syscall_post_impl_setresgid@Base 14
__sanitizer_syscall_post_impl_setresuid@Base 14
__sanitizer_syscall_post_impl_setreuid@Base 14
__sanitizer_syscall_post_impl_setrlimit@Base 14
__sanitizer_syscall_post_impl_setsid@Base 14
__sanitizer_syscall_post_impl_setsockopt@Base 14
__sanitizer_syscall_post_impl_settimeofday@Base 14
__sanitizer_syscall_post_impl_setuid@Base 14
__sanitizer_syscall_post_impl_setxattr@Base 14
__sanitizer_syscall_post_impl_sgetmask@Base 14
__sanitizer_syscall_post_impl_shmat@Base 14
__sanitizer_syscall_post_impl_shmctl@Base 14
__sanitizer_syscall_post_impl_shmdt@Base 14
__sanitizer_syscall_post_impl_shmget@Base 14
__sanitizer_syscall_post_impl_shutdown@Base 14
__sanitizer_syscall_post_impl_sigaction@Base 14
__sanitizer_syscall_post_impl_sigaltstack@Base 14
__sanitizer_syscall_post_impl_signal@Base 14
__sanitizer_syscall_post_impl_signalfd4@Base 14
__sanitizer_syscall_post_impl_signalfd@Base 14
__sanitizer_syscall_post_impl_sigpending@Base 14
__sanitizer_syscall_post_impl_sigprocmask@Base 14
__sanitizer_syscall_post_impl_socket@Base 14
__sanitizer_syscall_post_impl_socketcall@Base 14
__sanitizer_syscall_post_impl_socketpair@Base 14
__sanitizer_syscall_post_impl_splice@Base 14
__sanitizer_syscall_post_impl_spu_create@Base 14
__sanitizer_syscall_post_impl_spu_run@Base 14
__sanitizer_syscall_post_impl_ssetmask@Base 14
__sanitizer_syscall_post_impl_stat64@Base 14
__sanitizer_syscall_post_impl_stat@Base 14
__sanitizer_syscall_post_impl_statfs64@Base 14
__sanitizer_syscall_post_impl_statfs@Base 14
__sanitizer_syscall_post_impl_stime@Base 14
__sanitizer_syscall_post_impl_swapoff@Base 14
__sanitizer_syscall_post_impl_swapon@Base 14
__sanitizer_syscall_post_impl_symlink@Base 14
__sanitizer_syscall_post_impl_symlinkat@Base 14
__sanitizer_syscall_post_impl_sync@Base 14
__sanitizer_syscall_post_impl_syncfs@Base 14
__sanitizer_syscall_post_impl_sysctl@Base 14
__sanitizer_syscall_post_impl_sysfs@Base 14
__sanitizer_syscall_post_impl_sysinfo@Base 14
__sanitizer_syscall_post_impl_syslog@Base 14
__sanitizer_syscall_post_impl_tee@Base 14
__sanitizer_syscall_post_impl_tgkill@Base 14
__sanitizer_syscall_post_impl_time@Base 14
__sanitizer_syscall_post_impl_timer_create@Base 14
__sanitizer_syscall_post_impl_timer_delete@Base 14
__sanitizer_syscall_post_impl_timer_getoverrun@Base 14
__sanitizer_syscall_post_impl_timer_gettime@Base 14
__sanitizer_syscall_post_impl_timer_settime@Base 14
__sanitizer_syscall_post_impl_timerfd_create@Base 14
__sanitizer_syscall_post_impl_timerfd_gettime@Base 14
__sanitizer_syscall_post_impl_timerfd_settime@Base 14
__sanitizer_syscall_post_impl_times@Base 14
__sanitizer_syscall_post_impl_tkill@Base 14
__sanitizer_syscall_post_impl_truncate@Base 14
__sanitizer_syscall_post_impl_umask@Base 14
__sanitizer_syscall_post_impl_umount@Base 14
__sanitizer_syscall_post_impl_uname@Base 14
__sanitizer_syscall_post_impl_unlink@Base 14
__sanitizer_syscall_post_impl_unlinkat@Base 14
__sanitizer_syscall_post_impl_unshare@Base 14
__sanitizer_syscall_post_impl_uselib@Base 14
__sanitizer_syscall_post_impl_ustat@Base 14
__sanitizer_syscall_post_impl_utime@Base 14
__sanitizer_syscall_post_impl_utimensat@Base 14
__sanitizer_syscall_post_impl_utimes@Base 14
__sanitizer_syscall_post_impl_vfork@Base 14
__sanitizer_syscall_post_impl_vhangup@Base 14
__sanitizer_syscall_post_impl_vmsplice@Base 14
__sanitizer_syscall_post_impl_wait4@Base 14
__sanitizer_syscall_post_impl_waitid@Base 14
__sanitizer_syscall_post_impl_waitpid@Base 14
__sanitizer_syscall_post_impl_write@Base 14
__sanitizer_syscall_post_impl_writev@Base 14
__sanitizer_syscall_pre_impl_accept4@Base 14
__sanitizer_syscall_pre_impl_accept@Base 14
__sanitizer_syscall_pre_impl_access@Base 14
__sanitizer_syscall_pre_impl_acct@Base 14
__sanitizer_syscall_pre_impl_add_key@Base 14
__sanitizer_syscall_pre_impl_adjtimex@Base 14
__sanitizer_syscall_pre_impl_alarm@Base 14
__sanitizer_syscall_pre_impl_bdflush@Base 14
__sanitizer_syscall_pre_impl_bind@Base 14
__sanitizer_syscall_pre_impl_brk@Base 14
__sanitizer_syscall_pre_impl_capget@Base 14
__sanitizer_syscall_pre_impl_capset@Base 14
__sanitizer_syscall_pre_impl_chdir@Base 14
__sanitizer_syscall_pre_impl_chmod@Base 14
__sanitizer_syscall_pre_impl_chown@Base 14
__sanitizer_syscall_pre_impl_chroot@Base 14
__sanitizer_syscall_pre_impl_clock_adjtime@Base 14
__sanitizer_syscall_pre_impl_clock_getres@Base 14
__sanitizer_syscall_pre_impl_clock_gettime@Base 14
__sanitizer_syscall_pre_impl_clock_nanosleep@Base 14
__sanitizer_syscall_pre_impl_clock_settime@Base 14
__sanitizer_syscall_pre_impl_close@Base 14
__sanitizer_syscall_pre_impl_connect@Base 14
__sanitizer_syscall_pre_impl_creat@Base 14
__sanitizer_syscall_pre_impl_delete_module@Base 14
__sanitizer_syscall_pre_impl_dup2@Base 14
__sanitizer_syscall_pre_impl_dup3@Base 14
__sanitizer_syscall_pre_impl_dup@Base 14
__sanitizer_syscall_pre_impl_epoll_create1@Base 14
__sanitizer_syscall_pre_impl_epoll_create@Base 14
__sanitizer_syscall_pre_impl_epoll_ctl@Base 14
__sanitizer_syscall_pre_impl_epoll_pwait2@Base 14
__sanitizer_syscall_pre_impl_epoll_pwait@Base 14
__sanitizer_syscall_pre_impl_epoll_wait@Base 14
__sanitizer_syscall_pre_impl_eventfd2@Base 14
__sanitizer_syscall_pre_impl_eventfd@Base 14
__sanitizer_syscall_pre_impl_exit@Base 14
__sanitizer_syscall_pre_impl_exit_group@Base 14
__sanitizer_syscall_pre_impl_faccessat@Base 14
__sanitizer_syscall_pre_impl_fchdir@Base 14
__sanitizer_syscall_pre_impl_fchmod@Base 14
__sanitizer_syscall_pre_impl_fchmodat@Base 14
__sanitizer_syscall_pre_impl_fchown@Base 14
__sanitizer_syscall_pre_impl_fchownat@Base 14
__sanitizer_syscall_pre_impl_fcntl64@Base 14
__sanitizer_syscall_pre_impl_fcntl@Base 14
__sanitizer_syscall_pre_impl_fdatasync@Base 14
__sanitizer_syscall_pre_impl_fgetxattr@Base 14
__sanitizer_syscall_pre_impl_flistxattr@Base 14
__sanitizer_syscall_pre_impl_flock@Base 14
__sanitizer_syscall_pre_impl_fork@Base 14
__sanitizer_syscall_pre_impl_fremovexattr@Base 14
__sanitizer_syscall_pre_impl_fsetxattr@Base 14
__sanitizer_syscall_pre_impl_fstat64@Base 14
__sanitizer_syscall_pre_impl_fstat@Base 14
__sanitizer_syscall_pre_impl_fstatat64@Base 14
__sanitizer_syscall_pre_impl_fstatfs64@Base 14
__sanitizer_syscall_pre_impl_fstatfs@Base 14
__sanitizer_syscall_pre_impl_fsync@Base 14
__sanitizer_syscall_pre_impl_ftruncate@Base 14
__sanitizer_syscall_pre_impl_futimesat@Base 14
__sanitizer_syscall_pre_impl_get_mempolicy@Base 14
__sanitizer_syscall_pre_impl_get_robust_list@Base 14
__sanitizer_syscall_pre_impl_getcpu@Base 14
__sanitizer_syscall_pre_impl_getcwd@Base 14
__sanitizer_syscall_pre_impl_getdents64@Base 14
__sanitizer_syscall_pre_impl_getdents@Base 14
__sanitizer_syscall_pre_impl_getegid@Base 14
__sanitizer_syscall_pre_impl_geteuid@Base 14
__sanitizer_syscall_pre_impl_getgid@Base 14
__sanitizer_syscall_pre_impl_getgroups@Base 14
__sanitizer_syscall_pre_impl_gethostname@Base 14
__sanitizer_syscall_pre_impl_getitimer@Base 14
__sanitizer_syscall_pre_impl_getpeername@Base 14
__sanitizer_syscall_pre_impl_getpgid@Base 14
__sanitizer_syscall_pre_impl_getpgrp@Base 14
__sanitizer_syscall_pre_impl_getpid@Base 14
__sanitizer_syscall_pre_impl_getppid@Base 14
__sanitizer_syscall_pre_impl_getpriority@Base 14
__sanitizer_syscall_pre_impl_getrandom@Base 14
__sanitizer_syscall_pre_impl_getresgid@Base 14
__sanitizer_syscall_pre_impl_getresuid@Base 14
__sanitizer_syscall_pre_impl_getrlimit@Base 14
__sanitizer_syscall_pre_impl_getrusage@Base 14
__sanitizer_syscall_pre_impl_getsid@Base 14
__sanitizer_syscall_pre_impl_getsockname@Base 14
__sanitizer_syscall_pre_impl_getsockopt@Base 14
__sanitizer_syscall_pre_impl_gettid@Base 14
__sanitizer_syscall_pre_impl_gettimeofday@Base 14
__sanitizer_syscall_pre_impl_getuid@Base 14
__sanitizer_syscall_pre_impl_getxattr@Base 14
__sanitizer_syscall_pre_impl_init_module@Base 14
__sanitizer_syscall_pre_impl_inotify_add_watch@Base 14
__sanitizer_syscall_pre_impl_inotify_init1@Base 14
__sanitizer_syscall_pre_impl_inotify_init@Base 14
__sanitizer_syscall_pre_impl_inotify_rm_watch@Base 14
__sanitizer_syscall_pre_impl_io_cancel@Base 14
__sanitizer_syscall_pre_impl_io_destroy@Base 14
__sanitizer_syscall_pre_impl_io_getevents@Base 14
__sanitizer_syscall_pre_impl_io_setup@Base 14
__sanitizer_syscall_pre_impl_io_submit@Base 14
__sanitizer_syscall_pre_impl_ioctl@Base 14
__sanitizer_syscall_pre_impl_ioperm@Base 14
__sanitizer_syscall_pre_impl_ioprio_get@Base 14
__sanitizer_syscall_pre_impl_ioprio_set@Base 14
__sanitizer_syscall_pre_impl_ipc@Base 14
__sanitizer_syscall_pre_impl_kexec_load@Base 14
__sanitizer_syscall_pre_impl_keyctl@Base 14
__sanitizer_syscall_pre_impl_kill@Base 14
__sanitizer_syscall_pre_impl_lchown@Base 14
__sanitizer_syscall_pre_impl_lgetxattr@Base 14
__sanitizer_syscall_pre_impl_link@Base 14
__sanitizer_syscall_pre_impl_linkat@Base 14
__sanitizer_syscall_pre_impl_listen@Base 14
__sanitizer_syscall_pre_impl_listxattr@Base 14
__sanitizer_syscall_pre_impl_llistxattr@Base 14
__sanitizer_syscall_pre_impl_llseek@Base 14
__sanitizer_syscall_pre_impl_lookup_dcookie@Base 14
__sanitizer_syscall_pre_impl_lremovexattr@Base 14
__sanitizer_syscall_pre_impl_lseek@Base 14
__sanitizer_syscall_pre_impl_lsetxattr@Base 14
__sanitizer_syscall_pre_impl_lstat64@Base 14
__sanitizer_syscall_pre_impl_lstat@Base 14
__sanitizer_syscall_pre_impl_madvise@Base 14
__sanitizer_syscall_pre_impl_mbind@Base 14
__sanitizer_syscall_pre_impl_migrate_pages@Base 14
__sanitizer_syscall_pre_impl_mincore@Base 14
__sanitizer_syscall_pre_impl_mkdir@Base 14
__sanitizer_syscall_pre_impl_mkdirat@Base 14
__sanitizer_syscall_pre_impl_mknod@Base 14
__sanitizer_syscall_pre_impl_mknodat@Base 14
__sanitizer_syscall_pre_impl_mlock@Base 14
__sanitizer_syscall_pre_impl_mlockall@Base 14
__sanitizer_syscall_pre_impl_mmap_pgoff@Base 14
__sanitizer_syscall_pre_impl_mount@Base 14
__sanitizer_syscall_pre_impl_move_pages@Base 14
__sanitizer_syscall_pre_impl_mprotect@Base 14
__sanitizer_syscall_pre_impl_mq_getsetattr@Base 14
__sanitizer_syscall_pre_impl_mq_notify@Base 14
__sanitizer_syscall_pre_impl_mq_open@Base 14
__sanitizer_syscall_pre_impl_mq_timedreceive@Base 14
__sanitizer_syscall_pre_impl_mq_timedsend@Base 14
__sanitizer_syscall_pre_impl_mq_unlink@Base 14
__sanitizer_syscall_pre_impl_mremap@Base 14
__sanitizer_syscall_pre_impl_msgctl@Base 14
__sanitizer_syscall_pre_impl_msgget@Base 14
__sanitizer_syscall_pre_impl_msgrcv@Base 14
__sanitizer_syscall_pre_impl_msgsnd@Base 14
__sanitizer_syscall_pre_impl_msync@Base 14
__sanitizer_syscall_pre_impl_munlock@Base 14
__sanitizer_syscall_pre_impl_munlockall@Base 14
__sanitizer_syscall_pre_impl_munmap@Base 14
__sanitizer_syscall_pre_impl_name_to_handle_at@Base 14
__sanitizer_syscall_pre_impl_nanosleep@Base 14
__sanitizer_syscall_pre_impl_newfstat@Base 14
__sanitizer_syscall_pre_impl_newfstatat@Base 14
__sanitizer_syscall_pre_impl_newlstat@Base 14
__sanitizer_syscall_pre_impl_newstat@Base 14
__sanitizer_syscall_pre_impl_newuname@Base 14
__sanitizer_syscall_pre_impl_ni_syscall@Base 14
__sanitizer_syscall_pre_impl_nice@Base 14
__sanitizer_syscall_pre_impl_old_getrlimit@Base 14
__sanitizer_syscall_pre_impl_old_mmap@Base 14
__sanitizer_syscall_pre_impl_old_readdir@Base 14
__sanitizer_syscall_pre_impl_old_select@Base 14
__sanitizer_syscall_pre_impl_oldumount@Base 14
__sanitizer_syscall_pre_impl_olduname@Base 14
__sanitizer_syscall_pre_impl_open@Base 14
__sanitizer_syscall_pre_impl_open_by_handle_at@Base 14
__sanitizer_syscall_pre_impl_openat@Base 14
__sanitizer_syscall_pre_impl_pause@Base 14
__sanitizer_syscall_pre_impl_pciconfig_iobase@Base 14
__sanitizer_syscall_pre_impl_pciconfig_read@Base 14
__sanitizer_syscall_pre_impl_pciconfig_write@Base 14
__sanitizer_syscall_pre_impl_perf_event_open@Base 14
__sanitizer_syscall_pre_impl_personality@Base 14
__sanitizer_syscall_pre_impl_pipe2@Base 14
__sanitizer_syscall_pre_impl_pipe@Base 14
__sanitizer_syscall_pre_impl_pivot_root@Base 14
__sanitizer_syscall_pre_impl_poll@Base 14
__sanitizer_syscall_pre_impl_ppoll@Base 14
__sanitizer_syscall_pre_impl_pread64@Base 14
__sanitizer_syscall_pre_impl_preadv@Base 14
__sanitizer_syscall_pre_impl_prlimit64@Base 14
__sanitizer_syscall_pre_impl_process_vm_readv@Base 14
__sanitizer_syscall_pre_impl_process_vm_writev@Base 14
__sanitizer_syscall_pre_impl_pselect6@Base 14
__sanitizer_syscall_pre_impl_ptrace@Base 14
__sanitizer_syscall_pre_impl_pwrite64@Base 14
__sanitizer_syscall_pre_impl_pwritev@Base 14
__sanitizer_syscall_pre_impl_quotactl@Base 14
__sanitizer_syscall_pre_impl_read@Base 14
__sanitizer_syscall_pre_impl_readlink@Base 14
__sanitizer_syscall_pre_impl_readlinkat@Base 14
__sanitizer_syscall_pre_impl_readv@Base 14
__sanitizer_syscall_pre_impl_reboot@Base 14
__sanitizer_syscall_pre_impl_recv@Base 14
__sanitizer_syscall_pre_impl_recvfrom@Base 14
__sanitizer_syscall_pre_impl_recvmmsg@Base 14
__sanitizer_syscall_pre_impl_recvmsg@Base 14
__sanitizer_syscall_pre_impl_remap_file_pages@Base 14
__sanitizer_syscall_pre_impl_removexattr@Base 14
__sanitizer_syscall_pre_impl_rename@Base 14
__sanitizer_syscall_pre_impl_renameat@Base 14
__sanitizer_syscall_pre_impl_request_key@Base 14
__sanitizer_syscall_pre_impl_restart_syscall@Base 14
__sanitizer_syscall_pre_impl_rmdir@Base 14
__sanitizer_syscall_pre_impl_rt_sigaction@Base 14
__sanitizer_syscall_pre_impl_rt_sigpending@Base 14
__sanitizer_syscall_pre_impl_rt_sigprocmask@Base 14
__sanitizer_syscall_pre_impl_rt_sigqueueinfo@Base 14
__sanitizer_syscall_pre_impl_rt_sigtimedwait@Base 14
__sanitizer_syscall_pre_impl_rt_tgsigqueueinfo@Base 14
__sanitizer_syscall_pre_impl_sched_get_priority_max@Base 14
__sanitizer_syscall_pre_impl_sched_get_priority_min@Base 14
__sanitizer_syscall_pre_impl_sched_getaffinity@Base 14
__sanitizer_syscall_pre_impl_sched_getparam@Base 14
__sanitizer_syscall_pre_impl_sched_getscheduler@Base 14
__sanitizer_syscall_pre_impl_sched_rr_get_interval@Base 14
__sanitizer_syscall_pre_impl_sched_setaffinity@Base 14
__sanitizer_syscall_pre_impl_sched_setparam@Base 14
__sanitizer_syscall_pre_impl_sched_setscheduler@Base 14
__sanitizer_syscall_pre_impl_sched_yield@Base 14
__sanitizer_syscall_pre_impl_select@Base 14
__sanitizer_syscall_pre_impl_semctl@Base 14
__sanitizer_syscall_pre_impl_semget@Base 14
__sanitizer_syscall_pre_impl_semop@Base 14
__sanitizer_syscall_pre_impl_semtimedop@Base 14
__sanitizer_syscall_pre_impl_send@Base 14
__sanitizer_syscall_pre_impl_sendfile64@Base 14
__sanitizer_syscall_pre_impl_sendfile@Base 14
__sanitizer_syscall_pre_impl_sendmmsg@Base 14
__sanitizer_syscall_pre_impl_sendmsg@Base 14
__sanitizer_syscall_pre_impl_sendto@Base 14
__sanitizer_syscall_pre_impl_set_mempolicy@Base 14
__sanitizer_syscall_pre_impl_set_robust_list@Base 14
__sanitizer_syscall_pre_impl_set_tid_address@Base 14
__sanitizer_syscall_pre_impl_setdomainname@Base 14
__sanitizer_syscall_pre_impl_setfsgid@Base 14
__sanitizer_syscall_pre_impl_setfsuid@Base 14
__sanitizer_syscall_pre_impl_setgid@Base 14
__sanitizer_syscall_pre_impl_setgroups@Base 14
__sanitizer_syscall_pre_impl_sethostname@Base 14
__sanitizer_syscall_pre_impl_setitimer@Base 14
__sanitizer_syscall_pre_impl_setns@Base 14
__sanitizer_syscall_pre_impl_setpgid@Base 14
__sanitizer_syscall_pre_impl_setpriority@Base 14
__sanitizer_syscall_pre_impl_setregid@Base 14
__sanitizer_syscall_pre_impl_setresgid@Base 14
__sanitizer_syscall_pre_impl_setresuid@Base 14
__sanitizer_syscall_pre_impl_setreuid@Base 14
__sanitizer_syscall_pre_impl_setrlimit@Base 14
__sanitizer_syscall_pre_impl_setsid@Base 14
__sanitizer_syscall_pre_impl_setsockopt@Base 14
__sanitizer_syscall_pre_impl_settimeofday@Base 14
__sanitizer_syscall_pre_impl_setuid@Base 14
__sanitizer_syscall_pre_impl_setxattr@Base 14
__sanitizer_syscall_pre_impl_sgetmask@Base 14
__sanitizer_syscall_pre_impl_shmat@Base 14
__sanitizer_syscall_pre_impl_shmctl@Base 14
__sanitizer_syscall_pre_impl_shmdt@Base 14
__sanitizer_syscall_pre_impl_shmget@Base 14
__sanitizer_syscall_pre_impl_shutdown@Base 14
__sanitizer_syscall_pre_impl_sigaction@Base 14
__sanitizer_syscall_pre_impl_sigaltstack@Base 14
__sanitizer_syscall_pre_impl_signal@Base 14
__sanitizer_syscall_pre_impl_signalfd4@Base 14
__sanitizer_syscall_pre_impl_signalfd@Base 14
__sanitizer_syscall_pre_impl_sigpending@Base 14
__sanitizer_syscall_pre_impl_sigprocmask@Base 14
__sanitizer_syscall_pre_impl_socket@Base 14
__sanitizer_syscall_pre_impl_socketcall@Base 14
__sanitizer_syscall_pre_impl_socketpair@Base 14
__sanitizer_syscall_pre_impl_splice@Base 14
__sanitizer_syscall_pre_impl_spu_create@Base 14
__sanitizer_syscall_pre_impl_spu_run@Base 14
__sanitizer_syscall_pre_impl_ssetmask@Base 14
__sanitizer_syscall_pre_impl_stat64@Base 14
__sanitizer_syscall_pre_impl_stat@Base 14
__sanitizer_syscall_pre_impl_statfs64@Base 14
__sanitizer_syscall_pre_impl_statfs@Base 14
__sanitizer_syscall_pre_impl_stime@Base 14
__sanitizer_syscall_pre_impl_swapoff@Base 14
__sanitizer_syscall_pre_impl_swapon@Base 14
__sanitizer_syscall_pre_impl_symlink@Base 14
__sanitizer_syscall_pre_impl_symlinkat@Base 14
__sanitizer_syscall_pre_impl_sync@Base 14
__sanitizer_syscall_pre_impl_syncfs@Base 14
__sanitizer_syscall_pre_impl_sysctl@Base 14
__sanitizer_syscall_pre_impl_sysfs@Base 14
__sanitizer_syscall_pre_impl_sysinfo@Base 14
__sanitizer_syscall_pre_impl_syslog@Base 14
__sanitizer_syscall_pre_impl_tee@Base 14
__sanitizer_syscall_pre_impl_tgkill@Base 14
__sanitizer_syscall_pre_impl_time@Base 14
__sanitizer_syscall_pre_impl_timer_create@Base 14
__sanitizer_syscall_pre_impl_timer_delete@Base 14
__sanitizer_syscall_pre_impl_timer_getoverrun@Base 14
__sanitizer_syscall_pre_impl_timer_gettime@Base 14
__sanitizer_syscall_pre_impl_timer_settime@Base 14
__sanitizer_syscall_pre_impl_timerfd_create@Base 14
__sanitizer_syscall_pre_impl_timerfd_gettime@Base 14
__sanitizer_syscall_pre_impl_timerfd_settime@Base 14
__sanitizer_syscall_pre_impl_times@Base 14
__sanitizer_syscall_pre_impl_tkill@Base 14
__sanitizer_syscall_pre_impl_truncate@Base 14
__sanitizer_syscall_pre_impl_umask@Base 14
__sanitizer_syscall_pre_impl_umount@Base 14
__sanitizer_syscall_pre_impl_uname@Base 14
__sanitizer_syscall_pre_impl_unlink@Base 14
__sanitizer_syscall_pre_impl_unlinkat@Base 14
__sanitizer_syscall_pre_impl_unshare@Base 14
__sanitizer_syscall_pre_impl_uselib@Base 14
__sanitizer_syscall_pre_impl_ustat@Base 14
__sanitizer_syscall_pre_impl_utime@Base 14
__sanitizer_syscall_pre_impl_utimensat@Base 14
__sanitizer_syscall_pre_impl_utimes@Base 14
__sanitizer_syscall_pre_impl_vfork@Base 14
__sanitizer_syscall_pre_impl_vhangup@Base 14
__sanitizer_syscall_pre_impl_vmsplice@Base 14
__sanitizer_syscall_pre_impl_wait4@Base 14
__sanitizer_syscall_pre_impl_waitid@Base 14
__sanitizer_syscall_pre_impl_waitpid@Base 14
__sanitizer_syscall_pre_impl_write@Base 14
__sanitizer_syscall_pre_impl_writev@Base 14
__sanitizer_unaligned_load16@Base 13
__sanitizer_unaligned_load32@Base 13
__sanitizer_unaligned_load64@Base 13
__sanitizer_unaligned_store16@Base 13
__sanitizer_unaligned_store32@Base 13
__sanitizer_unaligned_store64@Base 13
__sanitizer_valloc@Base 13
__sigsetjmp@Base 13
_setjmp@Base 13
aligned_alloc@Base 13
bcmp@Base 14
calloc@Base 13
cfree@Base 13
free@Base 13
longjmp@Base 13
mallinfo@Base 13
malloc@Base 13
malloc_stats@Base 13
malloc_usable_size@Base 13
mallopt@Base 13
memalign@Base 13
memcmp@Base 14
memcpy@Base 14
memmove@Base 14
memset@Base 14
mmap@Base 14
mprotect@Base 14
munmap@Base 14
posix_memalign@Base 13
pthread_create@Base 13
pthread_detach@Base 14
pthread_exit@Base 14
pthread_join@Base 13
pthread_timedjoin_np@Base 14
pthread_tryjoin_np@Base 14
pvalloc@Base 13
realloc@Base 13
reallocarray@Base 13
siglongjmp@Base 13
valloc@Base 13
vfork@Base 13

3
debian/libitm.symbols vendored Normal file
View File

@@ -0,0 +1,3 @@
libitm.so.1 #PACKAGE# #MINVER#
(symver)LIBITM_1.0 4.7
(symver)LIBITM_1.1 6

249
debian/liblsan0.symbols vendored Normal file
View File

@@ -0,0 +1,249 @@
liblsan.so.0 liblsan0 #MINVER#
_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
___interceptor___libc_memalign@Base 14
___interceptor__exit@Base 14
___interceptor_aligned_alloc@Base 14
___interceptor_calloc@Base 14
(arch=!riscv64)___interceptor_cfree@Base 14
___interceptor_free@Base 14
___interceptor_mallinfo@Base 14
___interceptor_malloc@Base 14
___interceptor_malloc_usable_size@Base 14
___interceptor_mallopt@Base 14
___interceptor_mcheck@Base 14
___interceptor_mcheck_pedantic@Base 14
___interceptor_memalign@Base 14
___interceptor_mprobe@Base 14
___interceptor_posix_memalign@Base 14
___interceptor_pthread_create@Base 14
___interceptor_pthread_detach@Base 14
___interceptor_pthread_exit@Base 14
___interceptor_pthread_join@Base 14
___interceptor_pthread_timedjoin_np@Base 14
___interceptor_pthread_tryjoin_np@Base 14
___interceptor_pvalloc@Base 14
___interceptor_realloc@Base 14
___interceptor_reallocarray@Base 14
___interceptor_sigaction@Base 14
___interceptor_signal@Base 14
___interceptor_strerror@Base 14
___interceptor_valloc@Base 14
__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_syminfo_to_full_callback@Base 11
__asan_backtrace_syminfo_to_full_error_callback@Base 11
__asan_backtrace_uncompress_lzma@Base 11
__asan_backtrace_uncompress_zdebug@Base 8
__asan_backtrace_uncompress_zstd@Base 13
__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
(arch=!riscv64)__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_detach@Base 14
__interceptor_pthread_exit@Base 14
__interceptor_pthread_join@Base 4.9
__interceptor_pthread_timedjoin_np@Base 14
__interceptor_pthread_tryjoin_np@Base 14
__interceptor_pvalloc@Base 4.9
__interceptor_realloc@Base 4.9
__interceptor_reallocarray@Base 10
__interceptor_sigaction@Base 8
__interceptor_signal@Base 8
__interceptor_strerror@Base 10
__interceptor_trampoline___libc_memalign@Base 14
__interceptor_trampoline__exit@Base 14
__interceptor_trampoline_aligned_alloc@Base 14
__interceptor_trampoline_calloc@Base 14
(arch=!riscv64)__interceptor_trampoline_cfree@Base 14
__interceptor_trampoline_free@Base 14
__interceptor_trampoline_mallinfo@Base 14
__interceptor_trampoline_malloc@Base 14
__interceptor_trampoline_malloc_usable_size@Base 14
__interceptor_trampoline_mallopt@Base 14
__interceptor_trampoline_mcheck@Base 14
__interceptor_trampoline_mcheck_pedantic@Base 14
__interceptor_trampoline_memalign@Base 14
__interceptor_trampoline_mprobe@Base 14
__interceptor_trampoline_posix_memalign@Base 14
__interceptor_trampoline_pthread_create@Base 14
__interceptor_trampoline_pthread_detach@Base 14
__interceptor_trampoline_pthread_exit@Base 14
__interceptor_trampoline_pthread_join@Base 14
__interceptor_trampoline_pthread_timedjoin_np@Base 14
__interceptor_trampoline_pthread_tryjoin_np@Base 14
__interceptor_trampoline_pvalloc@Base 14
__interceptor_trampoline_realloc@Base 14
__interceptor_trampoline_reallocarray@Base 14
__interceptor_trampoline_sigaction@Base 14
__interceptor_trampoline_signal@Base 14
__interceptor_trampoline_strerror@Base 14
__interceptor_trampoline_valloc@Base 14
__interceptor_valloc@Base 4.9
__libc_memalign@Base 4.9
__lsan_default_options@Base 11
__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_acquire_crash_state@Base 9
__sanitizer_cov_8bit_counters_init@Base 8
__sanitizer_cov_bool_flag_init@Base 11
__sanitizer_cov_dump@Base 4.9
__sanitizer_cov_load16@Base 13
__sanitizer_cov_load1@Base 13
__sanitizer_cov_load2@Base 13
__sanitizer_cov_load4@Base 13
__sanitizer_cov_load8@Base 13
__sanitizer_cov_pcs_init@Base 8
__sanitizer_cov_reset@Base 8
__sanitizer_cov_store16@Base 13
__sanitizer_cov_store1@Base 13
__sanitizer_cov_store2@Base 13
__sanitizer_cov_store4@Base 13
__sanitizer_cov_store8@Base 13
__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_free_hook@Base 13
__sanitizer_get_allocated_begin@Base 14
__sanitizer_get_allocated_size@Base 5
__sanitizer_get_allocated_size_fast@Base 14
__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_report_path@Base 12
__sanitizer_get_unmapped_bytes@Base 5
__sanitizer_install_malloc_and_free_hooks@Base 7
__sanitizer_internal_memcpy@Base 14
__sanitizer_internal_memmove@Base 14
__sanitizer_internal_memset@Base 14
__sanitizer_malloc_hook@Base 13
__sanitizer_on_print@Base 10
__sanitizer_print_stack_trace@Base 5
__sanitizer_purge_allocator@Base 14
__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
(arch=!riscv64)cfree@Base 4.9
free@Base 4.9
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_detach@Base 14
pthread_exit@Base 14
pthread_join@Base 4.9
pthread_timedjoin_np@Base 14
pthread_tryjoin_np@Base 14
pvalloc@Base 4.9
realloc@Base 4.9
reallocarray@Base 10
sigaction@Base 8
signal@Base 8
strerror@Base 10
valloc@Base 4.9

9
debian/libobjc.symbols vendored Normal file
View File

@@ -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

205
debian/libobjc.symbols.common vendored Normal file
View File

@@ -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

522
debian/libobjc.symbols.gc vendored Normal file
View File

@@ -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

4
debian/libquadmath.symbols vendored Normal file
View File

@@ -0,0 +1,4 @@
libquadmath.so.0 #PACKAGE# #MINVER#
(symver)QUADMATH_1.0 4.6
(symver)QUADMATH_1.1 6
(symver)QUADMATH_1.2 9

13
debian/libstdc++-BV-doc.doc-base vendored Normal file
View File

@@ -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++/*

8
debian/libstdc++-BV-doc.overrides vendored Normal file
View File

@@ -0,0 +1,8 @@
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
# doxygen accepts formulas in man pages ...
libstdc++-@BV@-doc binary: groff-message

65
debian/libstdc++.symbols vendored Normal file
View File

@@ -0,0 +1,65 @@
libstdc++.so.6 #PACKAGE# #MINVER#
(symver)CXXABI_1.3 4.1.1
(symver)CXXABI_1.3.1 4.1.1
(symver)CXXABI_1.3.2 4.3
(symver)CXXABI_1.3.3 4.3
(symver)CXXABI_1.3.4 4.3
(symver)CXXABI_1.3.5 4.3
(symver)CXXABI_1.3.6 4.3
(symver)CXXABI_1.3.7 4.3
(symver)CXXABI_1.3.8 4.3
(symver)CXXABI_1.3.9 5
(symver)CXXABI_1.3.10 6
(symver)CXXABI_1.3.11 10.2
(symver)CXXABI_1.3.12 9
(symver)CXXABI_1.3.13 11
(symver)CXXABI_1.3.14 13
(symver)CXXABI_1.3.15 14
(symver|arch=armel armhf)CXXABI_ARM_1.3.3 4.4
(symver|arch=amd64 i386 x32)CXXABI_FLOAT128 5
(symver|arch=ppc64 ppc64el powerpc s390x sparc64)CXXABI_LDBL_1.3 4.2.1
(symver|arch=ppc64el)CXXABI_IEEE128_1.3.13 11
(symver)CXXABI_TM_1 4.7
(symver)GLIBCXX_3.4 4.1.1
(symver)GLIBCXX_3.4.1 4.1.1
(symver)GLIBCXX_3.4.2 4.1.1
(symver)GLIBCXX_3.4.3 4.1.1
(symver)GLIBCXX_3.4.4 4.1.1
(symver)GLIBCXX_3.4.5 4.1.1
(symver)GLIBCXX_3.4.6 4.1.1
(symver)GLIBCXX_3.4.7 4.1.1
(symver)GLIBCXX_3.4.8 4.1.1
(symver)GLIBCXX_3.4.9 4.2.1
(symver)GLIBCXX_3.4.10 4.3
(symver)GLIBCXX_3.4.11 4.4
(symver)GLIBCXX_3.4.12 4.4
(symver)GLIBCXX_3.4.13 4.4.2
(symver)GLIBCXX_3.4.14 4.5
(symver)GLIBCXX_3.4.15 4.6
(symver)GLIBCXX_3.4.16 4.6
(symver)GLIBCXX_3.4.17 4.7
(symver)GLIBCXX_3.4.18 4.8
(symver)GLIBCXX_3.4.19 4.8
(symver)GLIBCXX_3.4.20 4.9
(symver)GLIBCXX_3.4.21 5.2
(symver)GLIBCXX_3.4.22 6
(symver)GLIBCXX_3.4.23 10.2
(symver)GLIBCXX_3.4.24 7
(symver)GLIBCXX_3.4.25 8
(symver)GLIBCXX_3.4.26 9
(symver)GLIBCXX_3.4.27 9.1
(symver)GLIBCXX_3.4.28 10.2
(symver)GLIBCXX_3.4.29 11
(symver)GLIBCXX_3.4.30 12
(symver)GLIBCXX_3.4.31 13
(symver)GLIBCXX_3.4.32 13.1
(symver)GLIBCXX_3.4.33 14
(symver|arch=ppc64 ppc64el powerpc s390x sparc64)GLIBCXX_LDBL_3.4 4.2.1
(symver|arch=ppc64 ppc64el powerpc s390x sparc64)GLIBCXX_LDBL_3.4.7 4.2.1
(symver|arch=ppc64 ppc64el powerpc s390x sparc64)GLIBCXX_LDBL_3.4.10 4.3
(symver|arch=ppc64 ppc64el powerpc s390x sparc64)GLIBCXX_LDBL_3.4.21 5
(symver|arch=ppc64 ppc64el powerpc s390x sparc64)GLIBCXX_LDBL_3.4.29 11
(symver|arch=ppc64 ppc64el powerpc s390x)GLIBCXX_LDBL_3.4.31 13
(symver|arch=ppc64el)GLIBCXX_IEEE128_3.4.29 11
(symver|arch=ppc64el)GLIBCXX_IEEE128_3.4.30 12
(symver|arch=ppc64el)GLIBCXX_IEEE128_3.4.31 13

13
debian/libstdc++CXX.prerm vendored Normal file
View File

@@ -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#

3280
debian/libtsan2.symbols vendored Normal file

File diff suppressed because it is too large Load Diff

155
debian/libubsan1.symbols vendored Normal file
View File

@@ -0,0 +1,155 @@
libubsan.so.1 libubsan1 #MINVER#
_ZN7__ubsan31RegisterUndefinedBehaviorReportEPNS_23UndefinedBehaviorReportE@Base 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_syminfo_to_full_callback@Base 11
__asan_backtrace_syminfo_to_full_error_callback@Base 11
__asan_backtrace_uncompress_lzma@Base 11
__asan_backtrace_uncompress_zdebug@Base 8
__asan_backtrace_uncompress_zstd@Base 13
__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_acquire_crash_state@Base 9
__sanitizer_cov_8bit_counters_init@Base 8
__sanitizer_cov_bool_flag_init@Base 11
__sanitizer_cov_dump@Base 4.9
__sanitizer_cov_load16@Base 13
__sanitizer_cov_load1@Base 13
__sanitizer_cov_load2@Base 13
__sanitizer_cov_load4@Base 13
__sanitizer_cov_load8@Base 13
__sanitizer_cov_pcs_init@Base 8
__sanitizer_cov_reset@Base 8
__sanitizer_cov_store16@Base 13
__sanitizer_cov_store1@Base 13
__sanitizer_cov_store2@Base 13
__sanitizer_cov_store4@Base 13
__sanitizer_cov_store8@Base 13
__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_free_hook@Base 13
__sanitizer_get_module_and_offset_for_pc@Base 8
__sanitizer_get_report_path@Base 12
__sanitizer_install_malloc_and_free_hooks@Base 7
__sanitizer_internal_memcpy@Base 14
__sanitizer_internal_memmove@Base 14
__sanitizer_internal_memset@Base 14
__sanitizer_malloc_hook@Base 13
__sanitizer_on_print@Base 10
__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_get_current_report_data@Base 9
__ubsan_handle_add_overflow@Base 4.9
__ubsan_handle_add_overflow_abort@Base 4.9
__ubsan_handle_alignment_assumption@Base 10
__ubsan_handle_alignment_assumption_abort@Base 10
__ubsan_handle_builtin_unreachable@Base 4.9
__ubsan_handle_cfi_bad_icall@Base 9
__ubsan_handle_cfi_bad_icall_abort@Base 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 14
__ubsan_handle_function_type_mismatch_abort@Base 14
__ubsan_handle_function_type_mismatch_v1@Base 4.9
__ubsan_handle_function_type_mismatch_v1_abort@Base 4.9
__ubsan_handle_implicit_conversion@Base 9
__ubsan_handle_implicit_conversion_abort@Base 9
__ubsan_handle_invalid_builtin@Base 8
__ubsan_handle_invalid_builtin_abort@Base 8
__ubsan_handle_invalid_objc_cast@Base 11
__ubsan_handle_invalid_objc_cast_abort@Base 11
__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_on_report@Base 9
__ubsan_vptr_type_cache@Base 4.9

68
debian/libvtv0.symbols vendored Normal file
View File

@@ -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

6
debian/libx32asan8.symbols vendored Normal file
View File

@@ -0,0 +1,6 @@
libasan.so.8 libx32asan8 #MINVER#
#include "libasan.symbols.common"
#include "libasan.symbols.32"
#include "libasan.symbols.16"
(arch=amd64 i386)__interceptor___tls_get_addr@Base 13
(arch=amd64 i386)__tls_get_addr@Base 13

51
debian/locale-gen vendored Executable file
View File

@@ -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
' <<EOF
de_DE ISO-8859-1
de_DE@euro ISO-8859-15
en_HK ISO-8859-1
en_PH ISO-8859-1
en_US ISO-8859-1
en_US.ISO-8859-1 ISO-8859-1
en_US.ISO-8859-15 ISO-8859-15
en_US.UTF-8 UTF-8
es_ES ISO-8859-1
es_MX ISO-8859-1
fr_FR ISO-8859-1
fr_FR@euro ISO-8859-15
is_IS ISO-8859-1
is_IS.UTF-8 UTF-8
it_IT ISO-8859-1
ja_JP.eucjp EUC-JP
nl_NL ISO-8859-1
se_NO.UTF-8 UTF-8
ta_IN UTF-8
zh_TW BIG5
zh_TW UTF-8
EOF
echo "Generation complete."

125
debian/logwatch.sh vendored Executable file
View File

@@ -0,0 +1,125 @@
#! /bin/bash
# script to trick the build daemons and output something, if there is
# still test/build activity
# $1: primary file to watch. if there is activity on this file, we do nothing
# $2: build dir to search for dejagnu log files
# if the files are modified or are newly created, then the message
# is printed on stdout.
# if nothing is modified, don't output anything (so the buildd timeout
# hits).
pidfile=logwatch.pid
timeout=1800
message='logwatch still running'
usage()
{
echo >&2 "usage: `basename $0` [-p <pidfile>] [-t <timeout>] [-m <message>]"
echo >&2 " <primary logfile> <build dir>"
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
builddir="$1"
shift
[ $# -eq 0 ] || usage
cleanup()
{
rm -f $pidfile
exit 0
}
#trap cleanup 0 1 3 15
echo $$ > $pidfile
declare -A stamps
find_logs()
{
for f in $(find $builddir -name '*.log' \
! -name config.log \
! -path '*/ada/acats?/tests/*.log' \
! -path '*/libbacktrace/*.log')
do
if [ ! -v stamps[$f] ]; then
stamps[$f]=$(date -u -r $f '+%s')
fi
done
}
# wait for test startups
sleep 30
find_logs
# activity in the main log file
sleep 10
st_logfile=$(date -u -r $logfile '+%s')
sleep 10
while true; do
find_logs
sleep 10
stamp=$(date -u -r $logfile '+%s')
if [ $stamp -gt $st_logfile ]; then
# there is still action in the primary logfile. do nothing.
st_logfile=$stamp
else
activity=0
for log in "${!stamps[@]}"; do
[ -f $log ] || continue
stamp=$(date -u -r $log '+%s')
if [ $stamp -gt ${stamps[$log]} ]; then
if [ $activity -eq 0 ]; then
echo
fi
echo "[$(date -u -r $log '+%T')] $log: $message"
tail -3 $log
activity=$(expr $activity + 1)
stamps[$log]=$stamp
fi
done
if [ $activity -gt 0 ]; then
# already emitted messages above
echo
else
# nothing changed in the other log files. maybe a timeout ...
:
fi
fi
sleep $timeout
done
exit 0

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,242 @@
Description: Ada: select 64 bits time functions from GNU libc when __USE_TIME64_REDIRECTS
This is version 12.
Forwarded: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114065
From: Nicolas Boulenguez <nicolas@debian.org>
--- a/src/gcc/ada/libgnarl/a-exetim__posix.adb
+++ b/src/gcc/ada/libgnarl/a-exetim__posix.adb
@@ -35,6 +35,7 @@ with Ada.Task_Identification; use Ada.T
with Ada.Unchecked_Conversion;
with System.C_Time;
+with System.OS_Constants;
with System.Tasking;
with System.OS_Interface; use System.OS_Interface;
with System.Task_Primitives.Operations; use System.Task_Primitives.Operations;
@@ -115,7 +116,9 @@ package body Ada.Execution_Time is
(clock_id : Interfaces.C.int;
tp : access System.C_Time.timespec)
return int;
- pragma Import (C, clock_gettime, "clock_gettime");
+ pragma Import (C, clock_gettime,
+ (if System.OS_Constants.Glibc_Use_Time_Bits64
+ then "__clock_gettime64" else "clock_gettime"));
-- Function from the POSIX.1b Realtime Extensions library
function pthread_getcpuclockid
--- a/src/gcc/ada/libgnarl/s-osinte__gnu.ads
+++ b/src/gcc/ada/libgnarl/s-osinte__gnu.ads
@@ -39,6 +39,7 @@
-- Preelaborate. This package is designed to be a bottom-level (leaf) package
with Interfaces.C;
+with System.OS_Constants;
with System.C_Time;
with Ada.Unchecked_Conversion;
@@ -208,7 +209,8 @@ package System.OS_Interface is
-- Indicates whether time slicing is supported (i.e SCHED_RR is supported)
function nanosleep (rqtp, rmtp : access C_Time.timespec) return int;
- pragma Import (C, nanosleep, "nanosleep");
+ pragma Import (C, nanosleep, (if OS_Constants.Glibc_Use_Time_Bits64
+ then "__nanosleep64" else "nanosleep"));
type clockid_t is new int;
CLOCK_REALTIME : constant clockid_t := 0;
@@ -218,12 +220,14 @@ package System.OS_Interface is
(clock_id : clockid_t;
tp : access C_Time.timespec)
return int;
- pragma Import (C, clock_gettime, "clock_gettime");
+ pragma Import (C, clock_gettime, (if OS_Constants.Glibc_Use_Time_Bits64
+ then "__clock_gettime64" else "clock_gettime"));
function clock_getres
(clock_id : clockid_t;
res : access C_Time.timespec) return int;
- pragma Import (C, clock_getres, "clock_getres");
+ pragma Import (C, clock_getres, (if OS_Constants.Glibc_Use_Time_Bits64
+ then "__clock_getres64" else "clock_getres"));
-- From: /usr/include/unistd.h
function sysconf (name : int) return long;
@@ -477,7 +481,9 @@ package System.OS_Interface is
(cond : access pthread_cond_t;
mutex : access pthread_mutex_t;
abstime : access C_Time.timespec) return int;
- pragma Import (C, pthread_cond_timedwait, "pthread_cond_timedwait");
+ pragma Import (C, pthread_cond_timedwait,
+ (if OS_Constants.Glibc_Use_Time_Bits64 then "__pthread_cond_timedwait64"
+ else "pthread_cond_timedwait"));
Relative_Timed_Wait : constant Boolean := False;
-- pthread_cond_timedwait requires an absolute delay time
--- a/src/gcc/ada/libgnarl/s-osinte__kfreebsd-gnu.ads
+++ b/src/gcc/ada/libgnarl/s-osinte__kfreebsd-gnu.ads
@@ -40,6 +40,7 @@
with Ada.Unchecked_Conversion;
with Interfaces.C;
+with System.OS_Constants;
with System.C_Time;
package System.OS_Interface is
@@ -203,7 +204,8 @@ package System.OS_Interface is
-- Indicates whether time slicing is supported (i.e SCHED_RR is supported)
function nanosleep (rqtp, rmtp : access C_Time.timespec) return int;
- pragma Import (C, nanosleep, "nanosleep");
+ pragma Import (C, nanosleep, (if OS_Constants.Glibc_Use_Time_Bits64
+ then "__nanosleep64" else "nanosleep"));
type clockid_t is new int;
CLOCK_REALTIME : constant clockid_t := 0;
@@ -212,12 +214,14 @@ package System.OS_Interface is
(clock_id : clockid_t;
tp : access C_Time.timespec)
return int;
- pragma Import (C, clock_gettime, "clock_gettime");
+ pragma Import (C, clock_gettime, (if OS_Constants.Glibc_Use_Time_Bits64
+ then "__clock_gettime64" else "clock_gettime");
function clock_getres
(clock_id : clockid_t;
res : access C_Time.timespec) return int;
- pragma Import (C, clock_getres, "clock_getres");
+ pragma Import (C, clock_getres, (if OS_Constants.Glibc_Use_Time_Bits64
+ then "__clock_getres64" else "clock_getres");
function sysconf (name : int) return long;
pragma Import (C, sysconf);
@@ -420,7 +424,9 @@ package System.OS_Interface is
(cond : access pthread_cond_t;
mutex : access pthread_mutex_t;
abstime : access C_Time.timespec) return int;
- pragma Import (C, pthread_cond_timedwait, "pthread_cond_timedwait");
+ pragma Import (C, pthread_cond_timedwait,
+ (if OS_Constants.Glibc_Use_Time_Bits64 then "__pthread_cond_timedwait64"
+ else "pthread_cond_timedwait");
--------------------------
-- POSIX.1c Section 13 --
--- a/src/gcc/ada/libgnarl/s-osinte__linux.ads
+++ b/src/gcc/ada/libgnarl/s-osinte__linux.ads
@@ -229,12 +229,14 @@ package System.OS_Interface is
function clock_gettime
(clock_id : clockid_t; tp : access C_Time.timespec) return int;
- pragma Import (C, clock_gettime, "clock_gettime");
+ pragma Import (C, clock_gettime, (if OS_Constants.Glibc_Use_Time_Bits64
+ then "__clock_gettime64" else "clock_gettime"));
function clock_getres
(clock_id : clockid_t;
res : access C_Time.timespec) return int;
- pragma Import (C, clock_getres, "clock_getres");
+ pragma Import (C, clock_getres, (if OS_Constants.Glibc_Use_Time_Bits64
+ then "__clock_getres64" else "clock_getres"));
function sysconf (name : int) return long;
pragma Import (C, sysconf);
@@ -445,7 +447,9 @@ package System.OS_Interface is
(cond : access pthread_cond_t;
mutex : access pthread_mutex_t;
abstime : access C_Time.timespec) return int;
- pragma Import (C, pthread_cond_timedwait, "pthread_cond_timedwait");
+ pragma Import (C, pthread_cond_timedwait,
+ (if OS_Constants.Glibc_Use_Time_Bits64 then "__pthread_cond_timedwait64"
+ else "pthread_cond_timedwait"));
--------------------------
-- POSIX.1c Section 13 --
--- a/src/gcc/ada/libgnat/g-spogwa.adb
+++ b/src/gcc/ada/libgnat/g-spogwa.adb
@@ -42,7 +42,9 @@ is
writefds : access FD_Set_Type;
exceptfds : access FD_Set_Type;
timeout : access System.C_Time.timeval) return Integer
- with Import => True, Convention => Stdcall, External_Name => "select";
+ with Import => True, Convention => Stdcall,
+ External_Name => (if System.OS_Constants.Glibc_Use_Time_Bits64
+ then "__select64" else "select");
Timeout_V : aliased System.C_Time.timeval;
Timeout_A : access System.C_Time.timeval;
--- a/src/gcc/ada/libgnat/s-osprim__posix.adb
+++ b/src/gcc/ada/libgnat/s-osprim__posix.adb
@@ -31,6 +31,7 @@
-- This version is for POSIX-like operating systems
with System.C_Time;
+with System.OS_Constants;
package body System.OS_Primitives is
@@ -41,7 +42,8 @@ package body System.OS_Primitives is
function nanosleep (rqtp, rmtp : not null access C_Time.timespec)
return Integer;
- pragma Import (C, nanosleep, "nanosleep");
+ pragma Import (C, nanosleep, (if OS_Constants.Glibc_Use_Time_Bits64
+ then "__nanosleep64" else "nanosleep"));
-----------
-- Clock --
@@ -56,7 +58,8 @@ package body System.OS_Primitives is
function gettimeofday
(Tv : access C_Time.timeval;
Tz : System.Address := System.Null_Address) return Integer;
- pragma Import (C, gettimeofday, "gettimeofday");
+ pragma Import (C, gettimeofday, (if OS_Constants.Glibc_Use_Time_Bits64
+ then "__gettimeofday64" else "gettimeofday"));
begin
-- The return codes for gettimeofday are as follows (from man pages):
--- a/src/gcc/ada/libgnat/s-osprim__posix2008.adb
+++ b/src/gcc/ada/libgnat/s-osprim__posix2008.adb
@@ -45,7 +45,8 @@ package body System.OS_Primitives is
function nanosleep (rqtp, rmtp : not null access C_Time.timespec)
return Integer;
- pragma Import (C, nanosleep, "nanosleep");
+ pragma Import (C, nanosleep, (if OS_Constants.Glibc_Use_Time_Bits64
+ then "__nanosleep64" else "nanosleep"));
-----------
-- Clock --
@@ -62,7 +63,8 @@ package body System.OS_Primitives is
function clock_gettime
(clock_id : clockid_t;
tp : access C_Time.timespec) return int;
- pragma Import (C, clock_gettime, "clock_gettime");
+ pragma Import (C, clock_gettime, (if OS_Constants.Glibc_Use_Time_Bits64
+ thon "__clock_gettime64" else "clock_gettime"));
begin
Result := clock_gettime (CLOCK_REALTIME, TS'Unchecked_Access);
--- a/src/gcc/ada/s-oscons-tmplt.c
+++ b/src/gcc/ada/s-oscons-tmplt.c
@@ -1777,6 +1777,22 @@ CND(SIZEOF_tv_nsec, "tv_nsec");
/*
+ -- Functions with time_t suseconds_t timeval timespec parameters like
+ -- clock_get{res,time} gettimeofday nanosleep
+ -- pthread_cond_{,timed}wait select
+ -- must be imported from the GNU C library with
+ -- External_Name => (if Glibc_Use_Time_Bits64 then "__foo64" else "foo")
+ -- The test is safe in files that do not require GNU specifically.
+
+*/
+#if defined(__USE_TIME64_REDIRECTS) || (__TIMESIZE == 32 && __USE_TIME_BITS64)
+ C("Glibc_Use_Time_Bits64", Boolean, "True", "Y2038 Glibc transition")
+#else
+ C("Glibc_Use_Time_Bits64", Boolean, "False", "Y2038 Glibc transition")
+#endif
+
+/*
+
-- Sizes of various data types
*/

56
debian/patches/ada-749574.diff vendored Normal file
View File

@@ -0,0 +1,56 @@
From: Ludovic Brenta <lbrenta@debian.org>
From: Nicolas Boulenguez <nicolas@debian.org>
Forwarded: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81087
Bug-Debian: http://bugs.debian.org/749574
Description: array index out of range in gnatlink
The procedure gnatlink assumes that the Linker_Options.Table contains access
values to strings whose 'First index is always 1. This assumption is wrong
for the string returned by function Base_Name.
.
The wrong indices are not detected because gnatlink is compiled with
-gnatp, but the test result is wrong.
.
PR Ada/81087 shows a reproducer.
--- a/src/gcc/ada/gnatlink.adb
+++ b/src/gcc/ada/gnatlink.adb
@@ -1294,7 +1294,9 @@ procedure Gnatlink is
> Run_Path_Opt'Length
and then
Linker_Options.Table (J)
- (1 .. Run_Path_Opt'Length) =
+ (Linker_Options.Table (J)'First ..
+ Linker_Options.Table (J)'First
+ + Run_Path_Opt'Length - 1) =
Run_Path_Opt
then
-- We have found an already specified
@@ -1892,7 +1894,9 @@ begin
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 Linker_Options.Table (J + 1)
+ (Linker_Options.Table (J + 1)'First ..
+ Linker_Options.Table (J + 1)'First + 7) = "--stack="
then
if Stack_Op then
Linker_Options.Table (J .. Linker_Options.Last - 2) :=
@@ -1938,11 +1942,15 @@ begin
-- pragma Linker_Options set in the NT runtime.
if (Linker_Options.Table (J)'Length > 17
- and then Linker_Options.Table (J) (1 .. 17) =
+ and then Linker_Options.Table (J)
+ (Linker_Options.Table (J)'First ..
+ Linker_Options.Table (J)'First + 16) =
"-Xlinker --stack=")
or else
(Linker_Options.Table (J)'Length > 12
- and then Linker_Options.Table (J) (1 .. 12) =
+ and then Linker_Options.Table (J)
+ (Linker_Options.Table (J)'First ..
+ Linker_Options.Table (J)'First + 11) =
"-Wl,--stack=")
then
if Stack_Op then

90
debian/patches/ada-armel-libatomic.diff vendored Normal file
View File

@@ -0,0 +1,90 @@
Description: link libgnarl with libatomic on armel and sparc
On other architectures, the library is ignored thanks to --as-needed.
.
Seen with 14-20240429-1 on armel:
cd rts; [bla]/./gcc/xgcc [bla] -shared [bla] -o libgnarl-14.so [bla]
/usr/bin/arm-linux-gnueabi-ld: libgnat-14.so: undefined reference to `__atomic_compare_exchange_8'
/usr/bin/arm-linux-gnueabi-ld: libgnat-14.so: undefined reference to `__atomic_load_8'
.
Seen with 13.2.0-25 on sparc:
checking fp.h usability... /usr/sparc-linux-gnu/bin/ld: libgnat-13.so: undefined reference to `__atomic_compare_exchange_8'
.
Libatomic becomes an artificial dependency for Ada in Makefile.def,
so a better solution is welcome.
.
Autogen should refresh src/Makefile.in from src/Makefile.{def,tpl}
at build time, but we do not want to Build-Depend: guile.
# export QUILT_PATCHES=debian/patches
# quilt pop $this.diff
# quilt add src/Makefile.in
# (cd src && autogen Makefile.def)
# quilt refresh --no-timestamps --no-index -pab
# quilt push -a
.
The issue is hidden without -Wl,--no-allow-shlib-undefined.
(ada-gnattools-cross.diff adds checking options to LDFLAGS,
then adds LDFLAGS to the command line).
Bug-Debian: https://bugs.debian.org/861734
Bug-Debian: https://bugs.debian.org/1072071
Author: Matthias Klose <doko@debian.org>
Author: Nicolas Boulenguez <nicolas@debian.org>
--- a/src/gcc/ada/Makefile.rtl
+++ b/src/gcc/ada/Makefile.rtl
@@ -2302,6 +2302,7 @@ endif
# ARM linux, GNU eabi
ifeq ($(strip $(filter-out arm% linux-gnueabi%,$(target_cpu) $(target_os))),)
+ MISCLIB = ../../../$(target_alias)/libatomic/.libs/libatomic.so
LIBGNAT_TARGET_PAIRS = \
a-intnam.ads<libgnarl/a-intnam__linux.ads \
s-inmaop.adb<libgnarl/s-inmaop__posix.adb \
@@ -2375,6 +2376,7 @@ endif
# SPARC Linux
ifeq ($(strip $(filter-out sparc% linux%,$(target_cpu) $(target_os))),)
+ MISCLIB = ../../../$(target_alias)/libatomic/.libs/libatomic.so
LIBGNAT_TARGET_PAIRS = \
a-intnam.ads<libgnarl/a-intnam__linux.ads \
a-nallfl.ads<libgnat/a-nallfl__wraplf.ads \
--- a/src/Makefile.def
+++ b/src/Makefile.def
@@ -417,6 +417,8 @@ dependencies = { module=all-target-libad
dependencies = { module=all-gnattools; on=all-target-libada; };
dependencies = { module=all-gnattools; on=all-target-libstdc++-v3; };
+dependencies = { module=all-target-libada; on=all-target-libatomic; };
+
// Depending on the specific configuration, the LTO plugin will either use the
// generic libiberty build or the specific build for linker plugins.
dependencies = { module=all-lto-plugin; on=all-libiberty; };
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -68678,6 +68678,9 @@ configure-m4: stage_last
@endif gcc-bootstrap
@if gcc-bootstrap
+@unless target-libatomic-bootstrap
+all-target-libada: maybe-all-target-libatomic
+@endunless target-libatomic-bootstrap
@unless target-zlib-bootstrap
configure-target-fastjar: maybe-configure-target-zlib
@endunless target-zlib-bootstrap
@@ -68713,6 +68716,7 @@ configure-target-libgo: maybe-all-target
@unless gcc-bootstrap
all-target-libada: maybe-all-gcc
all-gnattools: maybe-all-target-libstdc++-v3
+all-target-libada: maybe-all-target-libatomic
configure-libcc1: maybe-configure-gcc
all-libcc1: maybe-all-gcc
all-c++tools: maybe-all-gcc
--- a/src/gcc/ada/gcc-interface/Makefile.in
+++ b/src/gcc/ada/gcc-interface/Makefile.in
@@ -714,6 +714,7 @@ gnatlib-shared-default:
$(GNATRTL_TASKING_OBJS) \
$(SO_OPTS)libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \
libgnat$(hyphen)$(LIBRARY_VERSION).so \
+ $(MISCLIB) \
$(THREADSLIB)
cd $(RTSDIR); $(LN_S) libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \
libgnat$(soext)

292
debian/patches/ada-gcc-name.diff vendored Normal file
View File

@@ -0,0 +1,292 @@
Description: always call gcc with an explicit target and version
Many problems have been caused by the fact that tools like gnatmake
call other tools like gcc without an explicit target or version.
.
In order to solve this issue for all similar tools at once, AdaCore
has created the Osint.Program_Name function. When gnatmake launches a
gcc subprocess, this function computes the name of the right gcc
executable. This patch improves the function in four ways.
.
The previous algorithm wrongly tests "End_Of_Prefix > 1",
which may happen even if a match has been found.
This part will most probably be of interest for upstream.
.
Update the gnatchop tool to use this function.
This part will most probably be of interest for upstream.
.
Check that the target and version in the gnatmake program name, if
present, match the static constants inside the gnatmake program
itself. Also, knowing the length of the only allowed prefix and suffix
slightly improves performance by avoiding loops.
This part will most probably be of interest for upstream.
.
In Debian, gcc/gcc-version/target-gcc are symbolic links to the
target-gcc-version executable. The same holds for gnatmake, but the
target and version may differ. So "target-gcc-version" is the right
answer. It helps log checkers and humans debuggers, even if gnatmake
was invoked via a shortcut intended for human typers.
This part will probably be hard to merge for upstream, as some
distributions provide no "target-gcc-version".
.
Log for bug 903694 carries regression tests for both bugs.
Forwarded: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87777
Bug-Debian: https://bugs.debian.org/814977
Bug-Debian: https://bugs.debian.org/814978
Bug-Debian: https://bugs.debian.org/856274
Bug-Debian: https://bugs.debian.org/881938
Bug-Debian: https://bugs.debian.org/903694
Author: Ludovic Brenta <lbrenta@debian.org>
Author: Nicolas Boulenguez <nicolas@debian.org>
Author: Svante Signell <svante.signell@gmail.com>
Author: YunQiang Su <wzssyqa@gmail.com>
--- a/src/gcc/ada/osint.ads
+++ b/src/gcc/ada/osint.ads
@@ -144,14 +144,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, creates a string containing Nam. In the
- -- cross compilation case, looks at the prefix of the current program being
- -- run and prepends it to Nam. For instance if the program being run is
- -- <target>-gnatmake and Nam is "gcc", the returned value will be a pointer
- -- to "<target>-gcc". This function clobbers Name_Buffer and Name_Len.
- -- Also looks 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
@@ -2268,50 +2268,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 Is_Directory_Separator (Name_Buffer (J))
- 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 --
---------------
@@ -1089,8 +1011,8 @@ procedure Gnatchop is
exit;
when '-' =>
- Gcc := new String'(Parameter);
- Gcc_Set := True;
+ Free (Gcc);
+ Gcc := new String'(Parameter);
when 'c' =>
Compilation_Mode := True;
@@ -1768,9 +1690,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;

32
debian/patches/ada-gnat-name.diff vendored Normal file
View File

@@ -0,0 +1,32 @@
# DP: use GNATBIND and GNATMAKE passed from the toplevel Makefile
this patch is incomplete. It still fails when building libada.
--- a/src/gcc/ada/Make-generated.in
+++ b/src/gcc/ada/Make-generated.in
@@ -18,7 +18,7 @@ GEN_IL_FLAGS = -gnata -gnat2012 -gnatw.g
ada/seinfo_tables.ads ada/seinfo_tables.adb ada/sinfo.h ada/einfo.h ada/nmake.ads ada/nmake.adb ada/seinfo.ads ada/sinfo-nodes.ads ada/sinfo-nodes.adb ada/einfo-entities.ads ada/einfo-entities.adb: ada/stamp-gen_il ; @true
ada/stamp-gen_il: $(fsrcdir)/ada/gen_il*
$(MKDIR) ada/gen_il
- cd ada/gen_il; gnatmake -q -g $(GEN_IL_FLAGS) gen_il-main
+ cd ada/gen_il; $(GNATMAKE) -q -g $(GEN_IL_FLAGS) gen_il-main
# Ignore errors to work around finalization issues in older compilers
- cd ada/gen_il; ./gen_il-main
$(fsrcdir)/../move-if-change ada/gen_il/seinfo_tables.ads ada/seinfo_tables.ads
@@ -39,14 +39,14 @@ ada/stamp-gen_il: $(fsrcdir)/ada/gen_il*
# would cause bootstrapping with older compilers to fail. You can call it by
# hand, as a sanity check that these files are legal.
ada/seinfo_tables.o: ada/seinfo_tables.ads ada/seinfo_tables.adb
- cd ada ; gnatmake $(GEN_IL_INCLUDES) seinfo_tables.adb -gnatU -gnatX
+ cd ada ; $(GNATMAKE) $(GEN_IL_INCLUDES) seinfo_tables.adb -gnatU -gnatX
ada/snames.h ada/snames.ads ada/snames.adb : ada/stamp-snames ; @true
ada/stamp-snames : ada/snames.ads-tmpl ada/snames.adb-tmpl ada/snames.h-tmpl ada/xsnamest.adb ada/xutil.ads ada/xutil.adb
-$(MKDIR) ada/bldtools/snamest
$(RM) $(addprefix ada/bldtools/snamest/,$(notdir $^))
$(CP) $^ ada/bldtools/snamest
- cd ada/bldtools/snamest && gnatmake -q xsnamest && ./xsnamest
+ cd ada/bldtools/snamest && $(GNATMAKE) -q xsnamest && ./xsnamest
$(fsrcdir)/../move-if-change ada/bldtools/snamest/snames.ns ada/snames.ads
$(fsrcdir)/../move-if-change ada/bldtools/snamest/snames.nb ada/snames.adb
$(fsrcdir)/../move-if-change ada/bldtools/snamest/snames.nh ada/snames.h

Some files were not shown because too many files have changed in this diff Show More