(maybe we should enable those anyway?).
The HTML docs seem to use pip to pull in some python modules (including
one which has been forked by the yosys team) so are probably a lot more
work than getting the pdfs building.
Now on to hard mode: autpkgtest. It seems debian/yosys-testsuite has lost it's precision. It runs through sucessfully but doesn't actually do anything.OK. That should be fixed by b3e5bef48763537e8c992150e8363ac4112d4636
from https://salsa.debian.org/sashcroft/yosys
To re-use the binary .debs you already have:
autopkgtest -B -s . -- schroot chroot:unstable-amd64-sbuild
I say should because I couldn't figure out how to force schroot to use my yosys binary packages and stop installing the old ones from unstable.
the end I just forced a test to fail, installed my stuff, and reran the tests.
Looks like the 32-bit builds are failing during the tests.
Are the tests supposed to run at build time?
The armhf one seems to have run of memory.
The i386 just fails one of the big FSM tests.
Should we just be dropping 32-bit support?
On Tue, 2025-03-18 at 00:16 +0100, Daniel Gröber wrote:
I tried quickly building 0.51 and that seems to have yet more issues:
/usr/bin/ld: /tmp/cc8nRSkd.ltrans73.ltrans.o: in function `abc::Scl_LibertyParse(char*, int)':
/<<PKGBUILDDIR>>/abc/src/map/scl/sclLiberty.c:563:(.text+0x41f0): undefined reference to `abc::gzopen(char const*, char const*)'
/usr/bin/ld: /tmp/cc8nRSkd.ltrans73.ltrans.o:/<<PKGBUILDDIR>>/abc/src/map/scl/sclLiberty.c:566:(.text+0x423f): undefined reference to `abc::gzread(void*, void*, unsigned int)'
/usr/bin/ld: /tmp/cc8nRSkd.ltrans73.ltrans.o:/<<PKGBUILDDIR>>/abc/src/map/scl/sclLiberty.c:575:(.text+0x4263): undefined reference to `abc::gzclose(void*)'
collect2: error: ld returned 1 exit status
They've added zlib support in there too. Changing the include to
#include <zlib.h> gets the build working again.
On Tue, 2025-03-18 at 01:32 +0100, Daniel Gröber wrote:
We've seen FST problems due to i386 floating point weirdness before (rounding, 80bit>64bit conversion IIRC). Might just be something like that again.
Looks like you are spot on.
The i386 and amd64 versions write identical FST files.
When the i386 version tries to read back the file it has just written
it fails trying to do an endian check on doubles.
Commenting out the check at libs/fst/fstapi.cc:4727 makes the FST tests
pass.
Maybe we need to replace it with a test which says it is within a
delta.
The same code is used in gtkwave and iverilog so it looks like nobody
cares about i386.
Could drop 32bit or just skip tests there. I may have a quick look tomorrow and drop if its too annoying.
If we just skip the tests then the i386 version won't be able to use
FST files at all.
Assuming we fix that up somehow then a bunch of other tests fail on all 32-bit archs.
simple/string_format
simple_abc9/string_format
both make iverilog try to malloc huge amounts of memory. I can't tell
if the problem is on the yosys or iverilog side of things.
The tests in cxxrtl fail too. No floating point so I guess just a size
of int/pointer mismatch somewhere.
I suspect just dropping 32-bit support is going to be easiest way
forward as the upstreams of major bits of the FPGA workflow are broken.
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 489 |
Nodes: | 16 (2 / 14) |
Uptime: | 30:17:07 |
Calls: | 9,665 |
Files: | 13,716 |
Messages: | 6,168,766 |