Page MenuHomeFreeBSD

libkldelf: returns EOPNOTSUPP for unrecognizable relocations
Needs ReviewPublic

Authored by khng on Oct 3 2024, 8:10 PM.
Tags
None
Referenced Files
F170566649: D46891.id144175.diff
Sat, Sep 5, 10:52 AM
F170436569: D46891.id144175.diff
Fri, Sep 4, 7:59 PM
Unknown Object (File)
Thu, Sep 3, 12:06 PM
Unknown Object (File)
Thu, Sep 3, 11:20 AM
Unknown Object (File)
Tue, Sep 1, 10:18 AM
Unknown Object (File)
Tue, Sep 1, 10:14 AM
Unknown Object (File)
Tue, Sep 1, 4:40 AM
Unknown Object (File)
Mon, Aug 31, 3:04 PM
Subscribers

Details

Summary

Suggested by: markj

Sponsored by: Juniper Networks, Inc.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 59770
Build 56656: arc lint + arc unit

Event Timeline

khng requested review of this revision.Oct 3 2024, 8:10 PM
lib/libkldelf/ef_amd64.c
112

They aren't NOPs, they're just unimplemented. Do we actually need them here? I'm not sure which relocation sections kldxref is processing.

lib/libkldelf/ef_amd64.c
112

True. Meanwhile I just put them here for the purpose of not letting the existing tool failing due to some obviously in-use stuff like ifunc/irelative/jmpslot. All the other values are those our krtld doesn't recognize anyway so they should be errored out in this case. Implementing them would be good as well for better multi-klds symbols resolving.

khng marked an inline comment as done.Oct 4 2024, 10:02 PM
lib/libkldelf/ef_amd64.c
112

I think a better way to handle this is to add an abort() or so to these cases, then run "make universe -DMAKE_JUST_KERNELS" and see if anything fails.