-
Notifications
You must be signed in to change notification settings - Fork 22
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
Segfault with certain typedef names #2647
Comments
Thanks for the report. We are always building synlig with debug symbols, but we are stripping them on installation. It looks like the problem here is related to order in which typedefs are parsed. Are you willing to investigate it further to find out the root cause for it? |
Thanks. I got debug symbols now and can confirm a infinite recursion here: synlig/src/mods/yosys_ast/synlig_simplify.cc Line 1647 in dab70c6
I can try to look into that, but I'm new to this code and don't know how long it will take (also busy with lots of other things). So, no promises ;) |
Some observations from the debugger: I'm too unfamiliar with this code to get any deeper insight or come up with a fix with reasonable effort by myself. Any help is very welcome |
Hi, @s-holst thanks for looking into it. It turned out, that we were always overriding typedef name when processing packed enums (but we should do it only in case of anonymous enums). We fixed this in: #2670 While doing it, we noticed different issue: accessing packed enums doesn't work as expected, e.g.:
will be translated to:
but it should be changed to:
as a temporary workaround, you can wrap typedef definition into struct, such access works ok:
|
Consider this verilog module:
This crashes synlig in
systemverilog_plugin::synlig_simplify
and this crash seems to depend on the name of the second typedef.Here is the crash in GDB:
I didn't manage to build synlig with debug symbols yet.
If you need more info, please let me know.
The text was updated successfully, but these errors were encountered: