[all-commits] [llvm/llvm-project] d3864d: [Driver] Default -msmall-data-limit= to 0 and clea...
Fangrui Song via All-commits
all-commits at lists.llvm.org
Mon Aug 19 18:20:23 PDT 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: d3864d946a178807bb5a87d3d1690e213c89e5be
https://github.com/llvm/llvm-project/commit/d3864d946a178807bb5a87d3d1690e213c89e5be
Author: Fangrui Song <i at maskray.me>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/CodeGen/RISCV/riscv-sdata-module-flag.c
R clang/test/Driver/riscv-sdata-warning.c
A clang/test/Driver/riscv-sdata.c
M llvm/lib/Target/RISCV/RISCVTargetObjectFile.h
Log Message:
-----------
[Driver] Default -msmall-data-limit= to 0 and clean up code
D57497 added -msmall-data-limit= as an alias for -G and defaulted it to 8 for
-fno-pic/-fpie.
The behavior is already different from GCC in a few ways:
* GCC doesn't accept -G.
* GCC -fpie doesn't seem to use -msmall-data-limit=.
* GCC emits .srodata.cst* that we don't use (#82214). Writable contents
caused confusion (https://bugs.chromium.org/p/llvm/issues/detail?id=61)
In addition,
* claiming `-shared` means we don't get a desired `-Wunused-command-line-argument` for `clang --target=riscv64-linux-gnu -fpic -c -shared a.c`.
* -mcmodel=large doesn't work for RISC-V yet, so the special case is strange.
* It's quite unusual to emit a warning when an option (unrelated to relocation model) is used with -fpic.
* We don't want future configurations (Android) to continue adding customization to `SetRISCVSmallDataLimit`.
I believe the extra code just doesn't pull its weight and should be
cleaned up. This patch also changes the default to 0. GP relaxation
users are encouraged to specify these customization options explicitly.
Pull Request: https://github.com/llvm/llvm-project/pull/83093
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list