On Mon, 14 Oct 2024 at 10:44, Ard Biesheuvel <ardb@xxxxxxxxxx> wrote: > > We have this code in arch/x86/Makefile.postlink: > > quiet_cmd_strip_relocs = RSTRIP $@ > cmd_strip_relocs = \ > $(OBJCOPY) --remove-section='.rel.*' --remove-section='.rel__*' \ > --remove-section='.rela.*' --remove-section='.rela__*' $@ > > Of course, that could easily be fixed, I was just being cautious in > case there is other, out-of-tree tooling for live patch or kexec etc > that has similar assumptions wrt section names. I'd actually much rather just make strip_relocs not have that "." and "__" pattern at all, and just say "we strip all sections that start with '.rel'". And then we make the rule that we do *not* create sections named ".rel*". That seems like a much simpler rule, and would seem to simplify strip_relocs too, which would just become $(OBJCOPY) --remove-section='.rel*' $@ (We seem to have three different copies of that complex pattern with .rel vs .rela and "." vs "__" - it's in s390, riscv, and x86. So we'd do that simplification in three places) IOW, I'd much rather make our section rules simpler rather than more complex. Of course, if there is some active and acute problem report with this thing, we might not have that option, but in the absence of any *known* issue with just simplifying things, I'd rather do that. I feel that our linker scripts - and linking rules in general - are already quite complicated, which is why I'd really like to take this as a time to try to simplify the rules. Linus Linus