-
-
Notifications
You must be signed in to change notification settings - Fork 6.6k
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
addrinfo: add curl macro to avoid redefining foreign symbols #16274
Closed
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
vszakats
added a commit
to vszakats/curl
that referenced
this pull request
Feb 9, 2025
Before this patch curl code was redefining `getaddrinfo` and `freeaddrinfo` system symbols to plug in its debug wrappers. This was causing pains to avoid applying the redefinitions to system headers defining these functions, and to the local debug wrappers. Especially in unity builds. It also required workarounds for systems where these symbols are already macros. Introduce curl-namespaced macros for these functions and use them. This allows to drop all workarounds and makes it work in all envs, local targets and unity/bundle combinations. Ref: curl#16272 Ref: 71cf0d1 curl#14772 Ref: 3efba94 curl#14765 Ref: f7d5f47 curl#14399 Closes curl#16274
vszakats
added a commit
to vszakats/curl
that referenced
this pull request
Feb 9, 2025
Before this patch curl code was redefining `getaddrinfo` and `freeaddrinfo` system symbols to plug in its debug wrappers. This was causing pains to avoid applying the redefinitions to system headers defining these functions, and to the local debug wrappers. Especially in unity builds. It also required workarounds for systems where these symbols are already macros. Introduce curl-namespaced macros for these functions and use them. This allows to drop all workarounds and makes it work in all envs, local targets and unity/bundle combinations. Ref: curl#16272 Ref: 71cf0d1 curl#14772 Ref: 3efba94 curl#14765 Ref: f7d5f47 curl#14399 Closes curl#16274
cf97a86
to
c633f07
Compare
vszakats
added a commit
to vszakats/curl
that referenced
this pull request
Mar 13, 2025
Include two more sources in unity mode to optimize builds, syncing this pattern with `lib` and `src`. Follow-up to de0693f curl#16274 Follow-up to 3efba94 curl#14765 Cherry-picked from curl#15000
vszakats
added a commit
to vszakats/curl
that referenced
this pull request
Mar 13, 2025
Include two more sources in unity mode to optimize builds, syncing this pattern with `lib` and `src`. Follow-up to de0693f curl#16274 Follow-up to 3efba94 curl#14765 Cherry-picked from curl#15000
vszakats
added a commit
that referenced
this pull request
Mar 13, 2025
Include more sources in unity mode to optimize libtest and tests/server builds for non-debug-enabled builds, syncing this pattern with `lib` and `src`. It reduces build steps from 62 to 47 (-14, -24%) with test bundles. Without test bundles, from 680 to 642 (-38, -6%). Follow-up to de0693f #16274 Follow-up to 3efba94 #14765 Cherry-picked from #15000 Closes #16695
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.
Before this patch curl code was redefining
getaddrinfo
andfreeaddrinfo
system symbols to plug in its debug wrappers. This wascausing pains to avoid applying the redefinitions to system headers
defining these functions, and to the local debug wrappers. Especially
in unity builds. It also required workarounds for systems where these
symbols are already macros.
Introduce curl-namespaced macros for these functions and use them.
This allows to drop all workarounds and makes it work in all envs,
local targets and unity/bundle combinations.
Also drop GHA/windows workaround and use the same unity batch across
all jobs. Follow-up to 29e4eda #16272
Ref: #16272
Ref: 71cf0d1 #14772
Ref: 3efba94 #14765
Ref: f7d5f47 #14399