Stan Shebs
66c8103bdf
Revert clang workaround for _begin that is no longer needed
2021-08-27 17:26:02 -07:00
Ambrose Feinstein
af63681769
Redesign the fastload support for additional performance
2021-08-27 17:26:02 -07:00
Josh Kunz
6733782381
Add comments explaining the diff from cf8e3f8757
...
These comments should make it easier to see the (small) diff introduced
in cf8e3f8757. Without these comments, the diff may get list on a future
upstream merge.
2021-08-27 17:26:02 -07:00
Josh Kunz
ad41eacfb7
Make gen-XX-const scripts work with llvm-as
...
The gen-as-const and gen-py-const scripts are used to generate integer constant
definitions from a list of constant C-expressions. This is achieved by
generating a C program with inline `asm` statements, that depend on
these constant expressions. During compilation, the constant expressions
are evaluated, and included in the inline asm. The build process
generates only the assembly, and then used `sed` to extract the values
from the assembly text.
This is clever. It allows the build process to extract the value of C
statements built under the target architecture. The implementation is a
bit fragile, but it is not immediately obvious to me how it could be
improved.
This change slightly modifies `gen-as-const` and `gen-py-const` to emit
valid assembly directives instead of invalid directives that were
previously emitted. Since the values are extracted via string parsing,
this has no effect on the values extracted. This is needed because the
LLVM assembler validates all statements before emitting them, whereas it
appears GCC will literally emit any `asm` directives without validation
or recognition.
2021-08-27 17:26:02 -07:00
Stan Shebs
8d141ab782
Fix sense of a test in the static-linking version of ppc get_clockfreq
2021-08-27 17:26:02 -07:00
Shu-Chun Weng
e1c6d2b0f4
Makes it compile for AArch64
...
De-nesting fix in 83c02e85 changed function signature but AArch64 was untested.
2021-08-27 17:26:01 -07:00
Shu-Chun Weng
83bede0cfc
Makes AArch64 assembly acceptable to clang
...
According to ARMv8 architecture reference manual section C7.2.188, SIMD MOV (to
general) instruction format is
MOV <Xd>, <Vn>.D[<index>]
gas appears to accept "<Vn>.2D[<index>]" as well, but clang's assembler does
not. C.f. https://community.arm.com/developer/ip-products/processors/f/cortex-a-forum/5214/aarch64-assembly-syntax-for-armclang
2021-08-27 17:26:01 -07:00
Siva Chandra Reddy
038be62f96
Include STATIC_PIE_BOOTSTRAP with !NESTING in powerpc64/dl-machine.h
2021-08-27 17:26:01 -07:00
Siva Chandra Reddy
6676d4161d
Actuall use LLVM_OBJCOPY if available.
2021-08-27 17:26:01 -07:00
Siva Chandra Reddy
059f0081cf
Use llvm-objcopy, if available, to remove the .llvm_addrsig sections.
2021-08-27 17:26:01 -07:00
Siva Chandra Reddy
738baca865
Enable relaxed relocations when building certain object files for x86_64.
2021-08-27 17:26:01 -07:00
Siva Chandra Reddy
0337af1396
Un-nest an include in dl-reloc-static-pie.c.
...
A corresponding adjustment in sysdeps/x86_64/dl-machine.h has also been
made.
2021-08-27 17:26:01 -07:00
Stan Shebs
43afb70033
Disable -mfloat128 for clang, lets power9 insns into power8 executables
2021-08-27 17:26:00 -07:00
Stan Shebs
895947a3ca
Also work around clang bctrl issue in get_clockfreq.c
2021-08-27 17:26:00 -07:00
Zack Weinberg
b930ad424b
[BZ #19239 ] Don't include sys/sysmacros.h from sys/types.h.
...
This completes the deprecation and removal of this inclusion, which
was begun in the 2.25 release.
* posix/sys/types.h: Don't include sys/sysmacros.h.
* misc/sys/sysmacros.h: Remove the conditional deprecation
warnings for the macros defined by this header.
2021-08-27 17:26:00 -07:00
Stan Shebs
c4c787ff1b
Remove .llvm_addrsig sections from crt.o files
2021-08-27 17:26:00 -07:00
Brooks Moses
b1ecb7cf85
Forward-port cl/42676407 to disable link-time warning about mktemp, tempnam and tmpnam.
2021-08-27 17:23:15 -07:00
Raman Tenneti
9e8081d123
Changes to compile glibc-2.27 on PPC (Power8) with clang.
...
+ Use DOT_MACHINE macro instead of ".machine" instruction.
+ Use __isinf and __isinff instead of builtin versions.
+ In s_logb, s_logbf and s_logbl functions, used float versions to
calculate "ret = x & 0x7f800000;" expression.
2021-08-27 17:23:15 -07:00
Stan Shebs
91da896a3e
Add a note about passwd.borg.base organization
2021-08-27 17:23:15 -07:00
Stan Shebs
c51bab1714
Fix mistaken order of arguments to open_path
2021-08-27 17:23:15 -07:00
Stan Shebs
b2d0b20ae6
Update build notes
2021-08-27 17:23:15 -07:00
Raman Tenneti
bb9e16c6ea
Undid the dl_enable_fastload environment variable changes.
2021-08-27 17:23:15 -07:00
Paul Pluzhnikov
590786950c
Add "fastload" support.
2021-08-27 17:23:15 -07:00
Stan Shebs
3372bfe221
Work around lack of mfppr in clang
2021-08-27 17:23:14 -07:00
Stan Shebs
960ba7975c
Work around mtfsb0 syntax limitation with clang
2021-08-27 17:23:14 -07:00
Stan Shebs
e04e10b431
Avoid passing gcc-specific options to clang
2021-08-27 17:23:14 -07:00
Stan Shebs
452fe68a53
Make asm-based constraints be gcc-only
2021-08-27 17:23:14 -07:00
Stan Shebs
4b86f820b8
Make xxland syntax gcc-only
2021-08-27 17:23:14 -07:00
Stan Shebs
5e4f72b895
Add a first approximation of float definitions for ppc clang
2021-08-27 17:23:14 -07:00
Stan Shebs
e21102f77e
Make powerpc .machine directives be gcc-only
2021-08-27 17:23:14 -07:00
Stan Shebs
bb112e11de
Make mutex hints gcc-only, improve a type in __arch_compare_and_exchange_bool_32_acq
2021-08-27 17:23:14 -07:00
Stan Shebs
7724302310
Make power6 directives be gcc-only
2021-08-27 17:23:13 -07:00
Stan Shebs
1e88b203b3
Add power9 flag to go with -mfloat128
2021-08-27 17:23:13 -07:00
Stan Shebs
6fd7bec86f
Disable more attempts to pass -mlong-double-128 to clang
2021-08-27 17:23:13 -07:00
Stan Shebs
d21dfbccdc
Disable attempts to pass -mlong-double-128 to clang
2021-08-27 17:23:13 -07:00
Stan Shebs
acf11f4420
Add workaround for clang link failure in elf/tst-unique4
2021-08-27 17:23:13 -07:00
Stan Shebs
b2d69ea7ac
Add workaround for infinite looping in ppc vsyscalls
2021-08-27 17:23:13 -07:00
Stan Shebs
6ea6782b69
Work around clang crash by skipping apparently-unneeded asm
2021-08-27 17:23:13 -07:00
Stan Shebs
b35774068a
Work around clang problem with ifuncs and vdso
2021-08-27 17:23:12 -07:00
Stan Shebs
96509a9dce
Work around a ppc clang inlining bug
2021-08-27 17:23:12 -07:00
Stan Shebs
9b6c937b00
Add workaround for segfaults in __longjmp when compiled with ppc clang
2021-08-27 17:23:12 -07:00
Stan Shebs
f9bd60b7c0
Add clang version of find_cxx_header
2021-08-27 17:23:12 -07:00
Stan Shebs
0f93e3333f
Change de-nesting fix to use added argument instead of globals
2021-08-27 17:23:12 -07:00
Stan Shebs
21991760c7
Fix regressions in async-safe TLS, add run-time control for debugging, add more comments
2021-08-27 17:23:12 -07:00
Stan Shebs
c0ab16f8cc
Fix TLS problems not handled by cherrypick
2021-08-27 17:23:12 -07:00
Brooks Moses
3e9a530aae
Revert upstream removal of async-safe TLS patches.
2021-08-27 17:23:11 -07:00
Stan Shebs
74f10c8aad
Make pointer in tst-realloc volatile also
2021-08-27 17:23:11 -07:00
Stan Shebs
5884367eb9
Add a GRTE-specific readme.
2021-08-27 17:23:07 -07:00
Stan Shebs
4d4222dd27
Work around a make 3.81 segfault with clang
2021-08-27 16:22:14 -07:00
Florian Weimer
121dc10a6d
NEWS: Move security-lated changes before bug list
...
This matches the practice for previous releases.
2021-08-27 16:22:13 -07:00