Skip to content

fix several Zcmt issues

Eclipse Webmaster requested to merge github/fork/linsinan1995/zcmt-fix into development

Created by: linsinan1995

Info for this PR

TODO: change log and other documentation will be added during the review.

1. Commits are for fixing #55 (closed)

632204fb: fix issue #55 (closed). After this fix, the condition branch will use a temp symbol instead of a constant during the branch relaxation in GAS.

db8e3588: a testcase for 632204fb.

2. Commits are added to help test this PR

c22f48ec: add a RISC-V specific option --zcmt-force-table-jump to force generating zcmt table jump instructions, which helps write test cases. Also, it relates to issue #44 (closed).

55d1396c: change an unused test case to a test case for --zcmt-force-table-jump option.

b3e53393: adding R_RISCV_RELAX to jump instructions when ZCMT is used. Since ZCMT codegen will be done through linker relaxation, this change will help ZCMT to fit into the relaxation routine to avoid some ugly hacks and also fits the ABI proposal.

88f3581c: fix issue #48 (closed). I add this commit here since this implementation bug blocks the progress of fixing issue #55 (closed).

Test result

		=== libctf Summary ===

# of expected passes		4
# of unsupported tests		2

		=== binutils Summary ===

# of expected passes		207
# of expected failures		1
# of untested testcases		15
# of unsupported tests		13

		=== gas Summary ===

# of expected passes		1234
# of expected failures		23
# of unsupported tests		9

		=== ld Summary ===

# of expected passes		437
# of expected failures		13
# of untested testcases		22
# of unsupported tests		200

============================================================================
Testsuite summary for package-unused version-unused
============================================================================
# TOTAL: 33
# PASS:  33
# SKIP:  0
# XFAIL: 0
# FAIL:  0
# XPASS: 0
# ERROR: 0
============================================================================

Merge request reports

Loading