Alex Oliva: longest debugging session


![]()
Victory! I've just hunted down a bug that has haunted me, and had me baffled, for a couple of weeks.
I often enjoy bug hunting war stories, so I figured I'd write this one down, while running a full build and regression test cycle with the fix.
Context: I've been porting GCC and binutils for the Libre-SOC project. We're designing and building a PowerPC processor with various extensions and lots more registers to make it efficient as a CPU, GPU, VPU, APU... I'm calling it hapPU, if you get one.
Adding the hundreds of new registers required renumbering some preexisting registers in GCC's internal register file. Since several parts of GCC used numeric literals instead of symbolic names to refer to certain registers, one of my first tasks was to hunt those down and adjust them for the new numbering. Some of that amounted to grepping for suspicious constants, some of that was only caught with regression testing.
Eventually, I was down to a handful of stack-check fails in the Ada testsuite. The tests and the failures were similar: create a task to run a subprogram that recursed infinitely, to make sure that the stack overflow was detected, handled, turned into an Ada exception out of the signal handler, caught by the task subsystem and made available for the task initiator. All really simple stuff, right?
-

- Login or register to post comments
Printer-friendly version- 1768 reads
PDF version
More in Tux Machines
- Highlights
- Front Page
- Latest Headlines
- Archive
- Recent comments
- All-Time Popular Stories
- Hot Topics
- New Members
digiKam 7.7.0 is released
After three months of active maintenance and another bug triage, the digiKam team is proud to present version 7.7.0 of its open source digital photo manager. See below the list of most important features coming with this release.
|
Dilution and Misuse of the "Linux" Brand
|
Samsung, Red Hat to Work on Linux Drivers for Future Tech
The metaverse is expected to uproot system design as we know it, and Samsung is one of many hardware vendors re-imagining data center infrastructure in preparation for a parallel 3D world.
Samsung is working on new memory technologies that provide faster bandwidth inside hardware for data to travel between CPUs, storage and other computing resources. The company also announced it was partnering with Red Hat to ensure these technologies have Linux compatibility.
|
today's howtos
|








.svg_.png)
Content (where original) is available under CC-BY-SA, copyrighted by original author/s.

Recent comments
1 year 11 weeks ago
1 year 11 weeks ago
1 year 11 weeks ago
1 year 11 weeks ago
1 year 11 weeks ago
1 year 11 weeks ago
1 year 11 weeks ago
1 year 11 weeks ago
1 year 11 weeks ago
1 year 11 weeks ago