[Libre-soc-bugs] [Bug 1228] SFFS ISACaller userspace ELF support for dynamic linking and PIC and statically-linked-glibc

bugzilla-daemon at libre-soc.org bugzilla-daemon at libre-soc.org
Wed Dec 13 00:56:29 GMT 2023


https://bugs.libre-soc.org/show_bug.cgi?id=1228

--- Comment #26 from Jacob Lifshay <programmerjake at gmail.com> ---
(In reply to Jacob Lifshay from comment #25)
> 5025354342d8e92f200b9c0c0a04f96a53d7f0e3 is the first bad commit
> commit 5025354342d8e92f200b9c0c0a04f96a53d7f0e3
> Author: Luke Kenneth Casson Leighton <lkcl at lkcl.net>
> Date:   Tue Nov 28 20:41:01 2023 +0000

>               assert ew_src == XLEN, "TODO fix elwidth conversion"
E               NameError: name 'XLEN' is not defined

src/openpower/decoder/isa/caller.py:2582: NameError

I fixed it:

https://git.libre-soc.org/?p=openpower-isa.git;a=shortlog;h=5e085b368fbd0a95590b6aeaedcdd796afe92d60

commit d69b8c15517dd22e782d2ff0825bc4375f950de6
Author: Jacob Lifshay <programmerjake at gmail.com>
Date:   Tue Dec 12 16:49:24 2023 -0800

    caller.py: XLEN must be accessed as self.XLEN

also later found:

>           if insn_name.startswith("sv.bc") or ffirst:
E           NameError: name 'ffirst' is not defined

src/openpower/decoder/isa/caller.py:2927: NameError

fixed:

commit ae8bacd2eb456b0b83a4d29f7de23474eff90eed
Author: Jacob Lifshay <programmerjake at gmail.com>
Date:   Tue Dec 12 16:50:27 2023 -0800

    caller.py: fix undefined ffirst, hope I guessed the correct value

I discovered that is_ffirst_mode is a generator function, yet is usually called
without yield from, e.g.:
https://git.libre-soc.org/?p=openpower-isa.git;a=blob;f=src/openpower/decoder/isa/caller.py;h=2bb4b6086eab4ed48b70180c677cd77237065243;hb=d3c7a0ddc169877e8daf38a347091c366e85624b#l2444

2444         if not rc_en or not is_ffirst_mode(self.dec2):
2445             return False, False

fixed:

commit 5e085b368fbd0a95590b6aeaedcdd796afe92d60
Author: Jacob Lifshay <programmerjake at gmail.com>
Date:   Tue Dec 12 16:51:33 2023 -0800

    caller.py: use yield from on is_ffirst_mode since it's a generator

other new errors:
>           expected = deepcopy(vec)
E           NameError: name 'vec' is not defined

src/openpower/decoder/isa/test_caller_svp64_dd_ffirst.py:149: NameError

I'll let luke/shriya fix the last error, since it's in the test case you just
recently worked on.

test results (only new failure is test_caller_svp64_dd_ffirst.py):
> FAILED src/openpower/decoder/isa/test_caller_svp64_dd_ffirst.py::DDFFirstTestCase::test_1
> FAILED src/openpower/decoder/isa/test_caller_svp64_ldst.py::DecoderTestCase::test_sv_load_dd_ffirst_excl
> [case_sc] SUBFAIL src/openpower/decoder/isa/test_caller_syscall.py::TestSysCall::test
> [case_2_rfid] SUBFAIL src/openpower/decoder/isa/test_caller_trap.py::TrapTest::test
> [7:sv.cmp/zz/ff=gt/m=r3] SUBFAIL src/openpower/sv/trans/test_pysvp64dis.py::SVSTATETestCase::test_20_cmp
> [0:rldimi] SUBFAIL src/openpower/sv/trans/test_pysvp64dis.py::SVSTATETestCase::test_37_extras_rldimi
> [0:sv.rldimi] SUBFAIL src/openpower/sv/trans/test_pysvp64dis.py::SVSTATETestCase::test_36_extras_rldimi
> [0:sv.rldimi.] SUBFAIL src/openpower/sv/trans/test_pysvp64dis.py::SVSTATETestCase::test_36_extras_rldimi_

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the libre-soc-bugs mailing list