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

gcc: include gdb helpers for libstdc++ [ci skip] #37864

Closed
wants to merge 1 commit into from

Conversation

meator
Copy link
Contributor

@meator meator commented Jul 5, 2022

So. Gcc (or more specifically libstdc++) includes extra files to make debugging C++ code in gdb easier. This includes pretty printers and xmethods. These files can significantly improve the experience of debugging C++ code. Debian based distros (and probably other ones) already include this into their libstdc++ package.

But Void explicitly deletes these files that are generated when compiling. Rather than deleting these useful files, I included then into the libstdc++ package like Ubuntu does. This doesn't add any extra dependencies, gdb will try to load it if python is present, otherwise it'll ignore it.

There are some other packages that already include extra info for gdb: gstreamer1, glib-devel... Interestingly enough, these packages put the files into /usr/share/gdb/auto-load/usr/lib64 instead of /usr/share/gdb/auto-load/usr/lib, which isn't loaded by gdb at all (maybe because /usr/lib64 is just a symlink).

The files could be moved to libstdc++-devel. Maybe it would be more apropriate.

I have built and tested the pretty printers and everything works. It took 5 and a half hours to compile for me (I dont have a very beefy computer), so I'm assigning [ci skip].

I know messing with a bootstrap=yes compiler could cause a disaster if something goes wrong but I'm only modifying revelant files and it's working for me (I have it installed on my computer) so I hope everything will be fine.

Testing the changes

  • I tested the changes in this PR: YES

Local build testing

  • I built this PR locally for my native architecture, (x86_64-glibc)
  • I built this PR locally for these architectures (if supported. mark crossbuilds):
    • I didn't test cross compiling. The python scripts aren't architecture dependent, so there should be no problems.

@meator
Copy link
Contributor Author

meator commented Jul 5, 2022

@Gottox ping

@leahneukirchen
Copy link
Member

sgtm

@github-actions
Copy link

Pull Requests become stale 90 days after last activity and are closed 14 days after that. If this pull request is still relevant bump it or assign it.

@github-actions github-actions bot added the Stale label Oct 13, 2022
@meator
Copy link
Contributor Author

meator commented Oct 13, 2022

I believe this pull request is still relevant. The lint error

template:515: license GFDL-1.2-or-later GPL-3.0-or-later LGPL-2.1-or-later should not be installed

is unrelated to changes I'm proposing. I don't want to fix it because gcc is a base package and I don't want to break anything.

@github-actions github-actions bot removed the Stale label Oct 14, 2022
@classabbyamp
Copy link
Member

done as part of gcc12

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.

None yet

3 participants