33350 Commits

Author SHA1 Message Date
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