Page MenuHomeFreeBSD

Don't use static on DPCPU data in arm64 modules
ClosedPublic

Authored by andrew on Jul 5 2018, 6:26 PM.
Tags
None
Referenced Files
F106145629: D16145.diff
Thu, Dec 26, 3:48 AM
Unknown Object (File)
Nov 25 2024, 11:06 PM
Unknown Object (File)
Oct 23 2024, 12:38 PM
Unknown Object (File)
Oct 23 2024, 12:38 PM
Unknown Object (File)
Oct 23 2024, 12:38 PM
Unknown Object (File)
Oct 23 2024, 12:38 PM
Unknown Object (File)
Oct 23 2024, 12:23 PM
Unknown Object (File)
Oct 3 2024, 12:03 PM

Details

Summary

It is broken ad it doesn't emit a relocation for the in-kernel linker to
adjust. To work around this remove the static keyword from the
DPCPU_DEFINE_STATIC macro on arm64 when building modules.

PR: 225816

Diff Detail

Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 18071
Build 17811: arc lint + arc unit

Event Timeline

Please also incorporate the one line subject summary into the description for the commit message.

sys/sys/pcpu.h
96

I think this should mention that this is an issue for file local static variables only and making them global the issue goes away.
Also, I'd remove the "arm64" from the comment and say "certain architectures" to keep it general as this might effect more of them?
I might also add a note that this is a "workaround" until better ways might be found?

This revision is now accepted and ready to land.Jul 16 2018, 4:47 PM
This revision was automatically updated to reflect the committed changes.