addrinfo: add curl macro to avoid redefining foreign symbols#16274
Closed
vszakats wants to merge 5 commits intocurl:masterfrom
Closed
addrinfo: add curl macro to avoid redefining foreign symbols#16274vszakats wants to merge 5 commits intocurl:masterfrom
vszakats wants to merge 5 commits intocurl:masterfrom
Conversation
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
pps83
pushed a commit
to pps83/curl
that referenced
this pull request
Apr 26, 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. Also drop GHA/windows workaround and use the same unity batch across all jobs. Follow-up to 29e4eda curl#16272 Ref: curl#16272 Ref: 71cf0d1 curl#14772 Ref: 3efba94 curl#14765 Ref: f7d5f47 curl#14399 Closes curl#16274
pps83
pushed a commit
to pps83/curl
that referenced
this pull request
Apr 26, 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 curl#16274 Follow-up to 3efba94 curl#14765 Cherry-picked from curl#15000 Closes curl#16695
This file contains hidden or 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
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
getaddrinfoandfreeaddrinfosystem 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