-
Notifications
You must be signed in to change notification settings - Fork 4
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
gdb multi-arch v13.2 #69
Open
noahp
wants to merge
1
commit into
master
Choose a base branch
from
noahp/gdb-13.2
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Apologies for the churn :( we actually do need a 13.2, 14.1 has some changes that are not ideal so we'll wait to see if things improve in 14.2. |
nihalgonsalves
approved these changes
Dec 5, 2023
noahp
force-pushed
the
noahp/gdb-13.2
branch
5 times, most recently
from
December 6, 2023 19:11
fedba40
to
a4d8c1a
Compare
gminn
reviewed
Dec 7, 2023
@@ -10,7 +10,9 @@ jobs: | |||
name: 🛠️ build on ${{ matrix.platform }} | |||
|
|||
strategy: | |||
fail-fast: true | |||
# let all jobs run to completion. the linux one may succeed when the mac | |||
# fails (taking a completely random example scenario 😑) |
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.
Salty much? 😆
I took the opportunity to rename the output binaries to have the `multi-arch-` prefix, because it's really confusing to me to have `gdb` not be native `gdb` when in a conda environment with this package installed. No longer need our ARM backtrace patch, it's now fixed in GDB upstream. Refreshed the `conda_build_config.yaml` to use the latest conda-build feedstock version at time of writing: ```bash ❯ curl -sSL https://github.com/conda-forge/conda-forge-pinning-feedstock/raw/main/recipe/conda_build_config.yaml > gdb-multi-arch/conda_build_config.yaml ``` Which is https://github.com/conda-forge/conda-forge-pinning-feedstock/blob/41ef3139dd637914a18f9609bf3d33a2f4780376/recipe/conda_build_config.yaml . This changes the supported + built python targets to: - 3.8 - 3.9 - 3.10 - 3.11 And include `readelf` in the package (`multi-arch-readelf`), since it can be pretty handy. Also, `shfmt` the build script too since I'm in here. We need a new patch to eliminate some new `warning` messages and an assert in `set_lang`, which impacts some pathological symbol files. see `gdb-13.2.patch` for details. To successfully build this on osx-x64, I needed to symlink a `brew install m4` copy of the m4 binary into the system tool path so conda would use it: ```bash sudo mv /Library/Developer/CommandLineTools/usr/bin/gm4{,.bak} sudo ln -s /usr/local/Cellar/m4/1.4.19/bin/m4 /Library/Developer/CommandLineTools/usr/bin/gm4 ``` The old `gm4` bin doesn't support a `--gnu` flag that newer bison + flex use during the build. Lastly, I also added `zstd` as a host + run dep, so it correctly is `rpath`'d into the binary.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I took the opportunity to rename the output binaries to have the
multi-arch-
prefix, because it's really confusing to me to havegdb
not be native
gdb
when in a conda environment with this packageinstalled.
No longer need our ARM backtrace patch, it's now fixed in GDB upstream.
Refreshed the
conda_build_config.yaml
to use the latest conda-buildfeedstock version at time of writing:
❯ curl -sSL https://github.com/conda-forge/conda-forge-pinning-feedstock/raw/main/recipe/conda_build_config.yaml > gdb-multi-arch/conda_build_config.yaml
Which is
https://github.com/conda-forge/conda-forge-pinning-feedstock/blob/41ef3139dd637914a18f9609bf3d33a2f4780376/recipe/conda_build_config.yaml
.
This changes the supported + built python targets to:
And include
readelf
in the package (multi-arch-readelf
), since itcan be pretty handy.
Also,
shfmt
the build script too since I'm in here.We need a new patch to eliminate some new
warning
messages and anassert in
set_lang
, which impacts some pathological symbol files. seegdb-13.2.patch
for details.To successfully build this on osx-x64, I needed to symlink a
brew install m4
copy of the m4 binary into the system tool path so condawould use it:
The old
gm4
bin doesn't support a--gnu
flag that newer bison + flexuse during the build.
Lastly, I also added
zstd
as a host + run dep, so it correctly isrpath
'd into the binary.