Skip to content
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

microblaze: apply gcc patches from meta-xilinx repository #24

Conversation

alpsayin
Copy link

@alpsayin alpsayin commented Oct 1, 2023

microblaze: apply gcc patches from meta-xilinx repository

This patchset fixes many known issues on gnu-toolchain for microblaze.
But mainly the atomic-cas and binutils incorrect relocation issues.

Patches obtained from https://github.com/xilinx/meta-xilinx/ repository,
from meta-microblaze/recipes-devtools/gcc path.
Some patches that were already applied were reverted and re-applied to avoid conflicts.

Finally, I've given up and disabled microblaze64 toolchain build. meta-xilinx patches somehow manage to break the same toolchain that they introduced. I have no intention to support microblaze64 yet and this saves a few CI cycles.

@alpsayin alpsayin force-pushed the zephyr-gcc-12.2.0-microblaze-recipes-27082023 branch 2 times, most recently from 6ef44e7 to ad6526e Compare October 2, 2023 22:12
@alpsayin alpsayin changed the title Zephyr gcc 12.2.0 microblaze recipes 27082023 microblaze: gcc 12.2.0 recipes from meta-xilinx Oct 2, 2023
@alpsayin alpsayin changed the title microblaze: gcc 12.2.0 recipes from meta-xilinx microblaze: apply gcc recipes from meta-xilinx Oct 2, 2023
This patchset fixes many known issues on gnu-toolchain for microblaze.
But mainly the atomic-cas and binutils incorrect relocation issues.

Patches obtained from https://github.com/xilinx/meta-xilinx/ repository,
from meta-microblaze/recipes-devtools/gcc path.
Below is a list of patches applied and squashed. Some patches that were
already applied were reverted and re-applied to avoid conflicts.

0001-LOCAL-Testsuite-builtins-tests-require-fpic.patch
0002-LOCAL-Quick-fail-g-.dg-opt-memcpy1.C.patch
0003-LOCAL-For-dejagnu-static-testing-on-qemu-suppress-wa.patch
0004-Patch-testsuite-Add-MicroBlaze-to-target-supports-fo.patch
0005-Patch-testsuite-Update-MicroBlaze-strings-test.patch
0006-Patch-testsuite-Allow-MicroBlaze-.weakext-pattern-in.patch
0007-Patch-testsuite-Add-MicroBlaze-to-check_profiling_av.patch
0008-Patch-microblaze-Fix-atomic-side-effects.patch
0009-Patch-microblaze-Fix-atomic-boolean-return-value.patch
0010-Patch-microblaze-Fix-the-Microblaze-crash-with-msmal.patch
0011-Patch-microblaze-Added-ashrsi3_with_size_opt.patch
0012-Patch-microblaze-Use-bralid-for-profiler-calls.patch
0013-Patch-microblaze-Removed-moddi3-routinue.patch
0014-Patch-microblaze-Add-INIT_PRIORITY-support-Added.patch
0015-Patch-microblaze-Add-optimized-lshrsi3.patch
0016-Patch-microblaze-Add-cbranchsi4_reg.patch
0017-Patch-microblaze-Inline-Expansion-of-fsqrt-builtin.patch
0018-PATCH-microblaze.md-Improve-adddi3-and-subdi3-insn-d.patch
0019-Patch-microblaze-Update-ashlsi3-movsf-patterns.patch
0020-Patch-microblaze-8-stage-pipeline-for-microblaze.patch
0021-PATCH-21-53-Patch-microblaze-Correct-the-const-high-.patch
0022-Fix-microblaze-Fix-internal-compiler-error-with-msma.patch
0023-patch-microblaze-Fix-the-calculation-of-high-word-in.patch
0024-Patch-MicroBlaze-this-patch-has-1.Fixed-the-bug-in.patch
0025-Fixing-the-issue-with-the-builtin_alloc.patch
0026-Patch-Microblaze-Removed-fsqrt-generation-for-double.patch
0027-Patch-MicroBlaze-Intial-commit-of-64-bit-Microblaze.patch
0028-Intial-commit-for-64bit-MB-sources.patch
0029-Patch-MicroBlaze-re-arrangement-of-the-compare-branc.patch
0030-Patch-Microblaze-previous-commit-broke-the-handling-.patch
0031-Patch-Microblaze-Support-of-multilibs-with-m64.patch
0032-Patch-MicroBlaze-Fixed-issues-like.patch
0033-Patch-MicroBlaze.patch
0034-Added-double-arith-instructions.patch
0035-Fixed-the-issue-in-the-delay-slot-with-swap-instruct.patch
0036-Fixed-the-load-store-issue-with-the-32bit-arith-libr.patch
0037-extending-the-Dwarf-support-to-64bit-Microblaze.patch
0038-fixing-the-typo-errors-in-umodsi3-file.patch
0039-fixing-the-32bit-LTO-related-issue9-1014024.patch
0040-Fixed-the-missing-stack-adjustment-in-prologue-of-mo.patch
0041-Patch-Microblaze-corrected-SPN-for-dlong-instruction.patch
0042-fixing-the-long-long-long-mingw-toolchain-issue.patch
0043-Fix-the-MB-64-bug-of-handling-QI-objects.patch
0044-Patch-Microblaze-We-will-check-the-possibility-of-pe.patch
0045-Patch-MicroBlaze-fixed-typos-in-mul-div-and-mod-asse.patch
0046-Patch-microblaze-MB-64-removal-of-barrel-shift-instr.patch
0047-Added-new-MB-64-single-register-arithmetic-instructi.patch
0048-Patch-MicroBlaze-Added-support-for-64-bit-Immediate-.patch
0049-Patch-microblaze-Fix-Compiler-crash-with-freg-struct.patch
0050-Patch-microblaze-Add-TARGET_OPTION_OPTIMIZATION-and-.patch
0051-Patch-microblaze-Reducing-Stack-space-for-arguments.patch
0052-Patch-MicroBlaze.patch
0053-patch-microblaze64-Add-Zero_extended-instructions.patch

Signed-off-by: Alp Sayin <alpsayin@gmail.com>
This is because I don't intend to offer Zephyr support for microblaze64 yet
but also because the toolchain is buggy to the extent that it fails to
build.

Signed-off-by: Alp Sayin <alpsayin@gmail.com>
@alpsayin alpsayin changed the title microblaze: apply gcc recipes from meta-xilinx microblaze: apply gcc patches from meta-xilinx repository Oct 2, 2023
@alpsayin alpsayin force-pushed the zephyr-gcc-12.2.0-microblaze-recipes-27082023 branch from ad6526e to 73cc24d Compare October 2, 2023 22:16
@alpsayin alpsayin marked this pull request as ready for review October 2, 2023 22:22
@stephanosio stephanosio merged commit 46c4fe6 into zephyrproject-rtos:zephyr-gcc-12.2.0 Nov 13, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants