-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update LoongArch builds for latest developments #680
Update LoongArch builds for latest developments #680
Conversation
|
The patch I am adding in this pull request is out for review: https://lore.kernel.org/all/20240118104323.024232838@linuxfoundation.org/ I will rebase and merge this once that patch is in a released version, so that we do not have to worry about the patch failing to apply. |
CONFIG_RELOCATABLE has been fixed since 6.7 with two changes (the first one fixes the build and the second one fixes boot): aa0cbc1b506b ("LoongArch: Record pc instead of offset in la_abs relocation") eea673e9d5ea ("LoongArch: Apply dynamic relocations for LLD") Re-enable CONFIG_RELOCATABLE (removing CONFIG_CRASH_DUMP=n as well, as it was only disabled to allow CONFIG_RELOCATABLE to be disabled) for all trees, as those changes have also been backported to linux-6.6.y. The minimum supported version of clang for LoongArch has been updated to 18.0.0 in -next with commit 4d35d6e56447 ("scripts/min-tool-version.sh: Raise minimum clang version to 18.0.0 for loongarch") because it is the first version that supports __attribute__((model("extreme"))), which allows us to build with CONFIG_MODULES. In order to support CONFIG_MODULES unconditionally (i.e., not disable it at all), we must drop support for clang-17 everywhere. We already have to do it for -next and mainline due to the aforementioned commit. Do so, which helps drastically simplify the matrix. Because CONFIG_MODULES does not need to be disabled anymore, we can build allmodconfig instead of allyesconfig, which also allows us to stop disabling CONFIG_KCOV because the image size is much smaller. Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
0f921c5
to
017f7e5
Compare
Alright, this should be ready to go. |
CONFIG_RELOCATABLE
has been fixed since 6.7 with two changes (the first one fixes the build and the second one fixes boot):aa0cbc1b506b ("LoongArch: Record pc instead of offset in la_abs relocation")
eea673e9d5ea ("LoongArch: Apply dynamic relocations for LLD")
Re-enable
CONFIG_RELOCATABLE
(removingCONFIG_CRASH_DUMP=n
as well, as it was only disabled to allowCONFIG_RELOCATABLE
to be disabled) for all trees. eea673e9d5ea has been flagged byAUTOSEL
for 6.6 but it has not been added to the tree yet, so just apply it locally for the time being.The minimum supported version of clang for LoongArch has been updated to 18.0.0 in -next with commit 4d35d6e56447 ("scripts/min-tool-version.sh: Raise minimum clang version to 18.0.0 for loongarch") because it is the first version that supports
__attribute__((model("extreme")))
, which allows us to build withCONFIG_MODULES
.In order to support
CONFIG_MODULES
unconditionally (i.e., not disable it at all), we must drop support forclang-17
everywhere. We already have to do it for -next (and eventually mainline) due to the aforementioned commit. Do so, which helps drastically simplify the matrix.Because
CONFIG_MODULES
does not need to be disabled anymore, we can buildallmodconfig
instead ofallyesconfig
, which also allows us to stop disablingCONFIG_KCOV
because the image size is much smaller.I am testing this locally with
scripts/build-local.py
, I plan to merge it once this pull is approved and those tests pass.