User Details
- User Since
- Mar 17 2020, 10:04 AM (184 w, 3 d)
Jul 19 2023
Changing the hash function breaks compatibility with the Rust KCFI implementation. I would personally like to avoid changing how KCFI type hashes are computed unless there's a very compelling reason to switch away from xxHash64.
Jul 7 2023
Jun 29 2023
Thanks for fixing this! This approach looks good to me.
Jun 23 2023
Jun 14 2023
Needs some thoughts to merge the above paragraphs with the existing one
Addressed feedback.
Jun 12 2023
Jun 8 2023
Jun 6 2023
Jun 5 2023
Jun 2 2023
May 16 2023
Looks good to me, but maybe worth waiting for someone more familiar with compiler-rt to take a look as well.
May 9 2023
Dropped the arch-specific KCFI machine function pass.
May 4 2023
Uploaded D149915 to remove the arch-specific KCFI passes. I'll update this patch once we clean that up.
Apr 18 2023
Addressed most of the feedback.
Apr 14 2023
Mar 13 2023
LGTM. Folding D145979 into this one might also make sense.
Is this related to coverage? If not, should the test go to sanitizer-ld.c instead?
Feb 23 2023
Feb 21 2023
Feb 15 2023
Feb 8 2023
Thanks for fixing the MSan issue, Ramon. There's still a clang-format error that trips the Debian build above, but it's trivial so I can fix it when relanding the patch.
Feb 3 2023
Don't drop type hashes from VisibleToRegularObj symbols.
Feb 1 2023
Jan 27 2023
So, I looked into applying this to all object files with by adding similar code to Writer<ELFT>::finalizeSections(). This is not quite what we want in the kernel though. The primary goal is to better optimize bitcode during a relocatable link, and while we can conveniently generate a list of functions exported to kernel modules, we don't necessarily have a complete list of symbols (typically defined in stand-alone assembly) that are later needed in linker scripts or whose bindings objtool etc. assume to remain untouched, for example. In order to avoid additional hacks in the kernel, I would prefer to keep this flag specific to LTO. I do see the value in having a similar option for all object files, but perhaps that can be a separate option?
Don't apply to isUsedInRegularObj symbols.
Jan 25 2023
Thanks, LGTM. @pcc, does this version look fine to you?
Jan 24 2023
Jan 20 2023
Jan 19 2023
@pcc, @MaskRay, based on earlier discussions (e.g. https://github.com/ClangBuiltLinux/linux/issues/1737), does something like this look like a reasonable approach?
Thanks for the patch, Ramon. This looks like a reasonable approach to me, and just for reference, here appears to be the corresponding rustc change:
Jan 11 2023
Addressed comments.
Jan 10 2023
Jan 9 2023
Addressed feedback.
Jan 6 2023
Dec 22 2022
I agree, it's probably best to temporarily revert this until Joao has time to address the issues you mentioned. The Linux kernel doesn't use -mibt-seal yet, so dropping the feature for now shouldn't be a problem.
Dec 15 2022
Dec 14 2022
Dec 8 2022
Dec 6 2022
Dec 5 2022
Dec 2 2022
Really fix the indentation this time...
Addressed feedback.
Added a test.
Nov 29 2022
Nov 22 2022
Switched to [[#]].
Nov 21 2022
Addressed feedback.
Nov 18 2022
ClangBuiltLinux issue: https://github.com/ClangBuiltLinux/linux/issues/1737