Skip to content
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

IA-16: initial DWARF2 support #127

Open
wants to merge 1 commit into
base: gcc-6_3_0-ia16-tkchia
Choose a base branch
from

Conversation

asiekierka
Copy link

This PR technically fixes #38 - but without a way to use it in a DOS debugger, it is arguably of little use on its own. I have worked on it for two reasons:

  • Even addr2line-level line number and symbol information could be of potential use to WonderSwan emulators, which do not have any defined debugging format at this time;
  • Newer GCC versions make it increasingly harder to disable debug output for a target without things breaking, so it'd be good to at least have partial debug symbol support before attempting an update again.

It does not provide call frame/unwind information - only symbol and line number information is provided, and even then, something seems broken. The matching binutils-ia16 PR is required.

@asiekierka
Copy link
Author

The DWARF2 line number information support works fine, but not for segelf - it seems that something in the process ends up modifying the offset so that the address 0x0 in the line number information starts at the end of the program. I suspect it's related to tkchia/binutils-ia16#6

@tkchia tkchia force-pushed the gcc-6_3_0-ia16-tkchia branch from d5144bb to 586d4dc Compare December 23, 2022 09:52
@asiekierka
Copy link
Author

I've figured it out. The GCC side is fine; it's the Binutils side which needs a workaround, I'll document it more on that PR.

As such, I am (finally) un-drafting the PR. Sorry for taking so long.

@asiekierka asiekierka marked this pull request as ready for review August 17, 2023 06:53
@ppsilv
Copy link

ppsilv commented Oct 27, 2024

You are adding a new support to this project but it does not compile, how did you do that?

@asiekierka
Copy link
Author

Compiles on my machine just fine (both using latest Arch Linux and Alpine Linux).

@ppsilv
Copy link

ppsilv commented Oct 28, 2024

Compiles on my machine just fine (both using latest Arch Linux and Alpine Linux).

This is the best statement of bad developers "IN MY MACHINE WORKS...".
When I develop I say works in all machines of the world.

@asiekierka
Copy link
Author

You're trying to compile a GCC version from eight years ago, which has not been maintained in almost a year. I distribute binary builds as part of my project, but these are fine-tuned to target the WonderSwan and do not have everything necessary to compile standard DOS programs, which is why I did not recommend it. Nevertheless, here are my build scripts.

@asiekierka
Copy link
Author

If you're trying to build gcc-ia16, it has official build scripts available: https://codeberg.org/tkchia/build-ia16

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Debugging output is not supported.
2 participants