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
dwarf.c: only emit augmentation data if actually have unwind tables #6159
Conversation
1a92296
to
c83bbcc
Compare
This is apparently causing the datetime unittests to fail on FreeBSD. I don't have a FreeBSD machine to debug this on :-( |
c83bbcc
to
641effd
Compare
641effd
to
1d53841
Compare
Ready to rock. |
No tests? |
This should be a nice help for the runtimeless builds too, I like it. (Assuming it actually works.) |
It's pretty well tested by the existing test suite. That's how I found out the FreeBSD version didn't work. |
I don't follow. Everything is green in master for FreeBSD according the auto tester. So it looks like the auto tester doesn't cover a case that you're fixing here. |
That's because the code in this PR specifically disables the optimization for FreeBSD. An earlier incarnation without that did fail on FreeBSD, which is how I found out about it. |
* g++ on FreeBSD does not generate mixed frames, while g++ on OSX and Linux does. | ||
*/ | ||
assert(!(usednteh & ~(EHtry | EHcleanup))); | ||
return (usednteh & (EHtry | EHcleanup)) || (config.exe & (EX_FREEBSD | EX_FREEBSD64)); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note check for FreeBSD here and the explanatory comment above.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, but I still don't understand why it's green in master https://auto-tester.puremagic.com/platform-history.ghtml?projectid=1&os=FreeBSD_64_64
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Because it was failing in an earlier incarnation of this PR, not master.
Which prevents the unnecessary reference to the dmd_personality routine.