- User Since
- Dec 30 2016, 3:24 PM (282 w, 5 h)
The underlying issue is that GLibc's dlsym(RTLD_NEXT, ...) appears to always return the oldest versioned symbol instead of the default. This means it does not match the behaviour of dlsym(RTLD_DEFAULT, ...) or the behaviour documented in the manpage.
LGTM. @paulkirth can you whether this helps your build?
Thanks for looking into the performance:)
The convention is to use err_drv_unsupported_option_argument instead of adding a new diagnostic kind.
gcc has renamed indirect-branch to indirect-jmp.
[X86] Add support for -mharden-sls=all
Wed, May 25
#if __has_attribute(constructor) is unneeded. All supported GCC/Clang supports #if __has_attribute(constructor).
constructor(90) is more common.
docs/ClangCommandLineReference.rst is generated from HelpText. Use UsersManual.rst if you want to provide additional information. Please ensure --help has sufficient information about the allowed values.
The target platform instead of the host platform should be tested. We may need something like COMPILER_RT_DEFAULT_TARGET_ARCH.
Tue, May 24
LGTM, but hope @rprichard can verify this.
but you need some from #libc_abi
Mon, May 23
Because of TargetTriple.getOS() == llvm::Triple::Linux, you need to guard the unittest under a similar check.
Perhaps wait a day or so in case others have opinions.
IIRC there is no built-in way supporting multiple (but fixed number of) values for an option (e.g. -Xoffload-linker-<triple> <arg>). In D105330 (llvm-nm option refactoring) I used a hack to support -s __DATA __data.
The multiple-value support for OptTable does not allow positional arguments after the option.
It's better to avoid JoinedAndSeparate for new options. It is for --xxx val and --xxxval but not intended for the option this patch will add.
Sat, May 21
LGTM. Thanks for pinging the relevant folks on individual tests. You can push the fixes yourself before landing this patch.
FP_XSTATE_MAGIC1 is only available on glibc 2.27 and upwards
The name is not descriptive. It misses the important words about "hash map". ConcurrentHashMap may be a better name.
Where is the undefined behavior? size_t is unsigned long long on 32-bit ELF platforms. You need %zu.
Fix MCSymbolizer::tryAddingSymbolicOperand() interface
However, for proper symbolic disassembly on X86 we need to know both sizes.
Fri, May 20
Overloaded virtual functions seem more difficult to read and are more error-prone. Having distinct function names can be useful as people searching code can find the relevant one easily.
Thu, May 19
While I think there are still significant problems needing to address, it may work with quite a few application. It'd be nice if folks can check how this patch works without -mno-relax.
On lld/ELF/Relocations.cpp:1439, R_RELAX_HINT should not trigger sym.hasDirectReloc = true;, otherwise an ifunc may unnecessarily be converted to a canonical PLT. You may read *-ifunc-nonpreemptible*.s tests for what they do. I have some notes on https://maskray.me/blog/2021-01-18-gnu-indirect-function#address-significance
I think placing the OS before && is more common.
Seems fine to me for libunwind, but I don't know the build bot setup enough. I will give a LGTM if you still lack an approval to make #libunwind green :)