@@ -167,10 +167,12 @@ <h2 id="ghidra">Ghidra</h2>
167167</ ul >
168168< h2 id ="bazel "> Bazel</ h2 >
169169< ul >
170- < li > < a href ="https://github.com/bazelbuild/bazel/releases "> Bazel 11.4 </ a > </ li >
170+ < li > < a href ="https://github.com/bazelbuild/bazel/releases "> Bazel 8.0 </ a > </ li >
171171</ ul >
172- < p > Bazel builds in this workspace generate output in the temporary directory /run/user/1000/bazel, as specified in .bazelrc.
173- This override can be changed or removed.</ p >
172+ < p > Bazel builds in this workspace generate output in the temporary directory < code > /run/user/1000/bazel</ code > , as specified in < code > .bazelrc</ code > .
173+ This override can be changed or removed</ p >
174+ < p > This project should work with Bazel 7.x as well, after adjusting some toolchain path names. Bazel 8 uses ‘+’ instead of ‘~’
175+ as an external repo naming suffix and ‘@@’ instead of ‘@’ to identify standard bazel repositories.</ p >
174176< h2 id ="toolchain "> Toolchain</ h2 >
175177< ul >
176178< li > < a href ="https://sourceware.org/git/binutils-gdb "> binutils 2.42.50</ a > </ li >
@@ -179,8 +181,9 @@ <h2 id="toolchain">Toolchain</h2>
179181< li > sysroot - a stripped down linux sysroot derived from the sysroot bootstrap in
180182< a href ="https://github.com/riscv-collab/riscv-gnu-toolchain "> riscv-gnu-toolchain</ a > </ li >
181183</ ul >
182- < p > The toolchain is packaged locally as a Bazel module named < code > gcc_riscv_suite</ code > , version 15.0.0.
183- This module depends on a second module, < code > fedora_syslibs</ code > version 40.0.0. These are served out of a local
184+ < p > The toolchain is packaged locally as a Bazel module named < code > gcc_riscv_suite</ code > , version 15.0.0.1.
185+ (Note that this is the first patch to the Bazel module based on the unreleased < code > GCC-15.0.0</ code > ).
186+ This module depends on a second module, < code > fedora_syslibs</ code > version 41.0.0. These are served out of a local
184187Bazel module repository.
185188The < code > gcc_riscv_suite</ code > and < code > fedora_syslibs</ code > modules wrap a 42 MB and 4.0 MB tarball, respectively.</ p >
186189< h2 id ="emulators "> Emulators</ h2 >
@@ -189,7 +192,7 @@ <h2 id="emulators">Emulators</h2>
189192< li > < code > qemu-riscv64</ code > provides user space emulation, which is very useful for exploring the behavior of
190193particularly confusing assembly code sequences.</ li >
191194< li > < code > qemu-system-riscv64</ code > provides full RISCV-64 VM hosting. This is more narrowly useful when testing
192- binaries that require non-standard kernel options or kernel modules.
195+ binaries like DPDK which require non-standard kernel options or kernel modules.
193196< ul >
194197< li > The RISCV-64 VM used here is based on an Ubuntu 24.04 disk image and the < code > u-boot.bin</ code > boot loader.
195198This boot loader is critical for RISCV VMs, since the emulated BIOS firmware provides the kernel
@@ -203,8 +206,8 @@ <h2 id="jupyter">Jupyter</h2>
203206</ ul >
204207< h2 id ="system "> System</ h2 >
205208< ul >
206- < li > Fedora 40 with wayland graphics.</ li >
207- < li > Python 3</ li >
209+ < li > Fedora 41 with wayland graphics.</ li >
210+ < li > Python 3.13 </ li >
208211</ ul >
209212
210213</ div >
@@ -262,11 +265,7 @@ <h2 id="populating-the-training-set-database">Populating the Training Set Databa
262265the compiler reorders instructions.</ li >
263266</ ul >
264267< h2 id ="querying-the-database-in-advisor "> Querying the Database in Advisor</ h2 >
265-
266- < figure >
267- < img src ="Workflow_advisor.svg " width ="80% "/>
268- </ figure >
269-
268+ < p > < img src ="../Workflow_generation.svg " alt ="Workflow Generation "> </ p >
270269< p > Users can select assembly code from Ghidra’s listing window, then run analysis cells in < code > Advisor.ipynb</ code > to generate reports
271270on the types of C code that may match the listing. Users will likely want to iterate complex selections by adding custom
272271examples and repeating the match, to see if they can reproduce the C code that might have generated the vectorized assembly.</ p >
0 commit comments