Skip to content

Commit ad20236

Browse files
authored
Merge pull request #15573 from motiejus/resolv_dn
glibc hacks: also add a few dn_* functions
2 parents c1add1e + 892d4e1 commit ad20236

File tree

3 files changed

+20
-9
lines changed

3 files changed

+20
-9
lines changed

lib/libc/glibc/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,4 @@ need to be cherry-picked in the future glibc header upgrades:
66

77
- 39083c31a550ed80f369f60d35791e98904b8096
88
- a89813ef282c092a9caf699731c7faaf485acabe
9+
- 3eaca9bbc6fee4b6be0f22b844f7d3214222f434

lib/libc/include/generic-glibc/resolv.h

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -170,16 +170,20 @@ __END_DECLS
170170
#define res_isourserver __res_isourserver
171171

172172
/* In glibc 2.33 and earlier res_search, res_nsearch, res_query, res_nquery,
173-
* res_querydomain, res_nquerydomain were #define'd to __res_search,
174-
* __res_nsearch, etc. glibc 2.34 onwards removes the macros and exposes the
175-
* symbols directly. New glibc exposes compat symbols with underscores for
176-
* backwards compatibility. Applications linked to glibc 2.34+ are expected
177-
* to use the non-underscored symbols.
173+
* res_querydomain, res_nquerydomain, dn_skipname, dn_comp, dn_expand were
174+
* #define'd to __res_search, __res_nsearch, etc. glibc 2.34 onwards removes
175+
* the macros and exposes the symbols directly. New glibc exposes compat
176+
* symbols with underscores for backwards compatibility. Applications linked to
177+
* glibc 2.34+ are expected to use the non-underscored symbols.
178178
*
179-
* It will be enough to bring the macros back when compiling against the older
180-
* glibc versions.
179+
* It is enough to bring the macros back when compiling against the older glibc
180+
* versions.
181181
*
182-
* See glibc commit ea9878ec271c791880fcbbe519d70c42f8113750.
182+
* See glibc commits:
183+
* - ea9878ec271c791880fcbbe519d70c42f8113750 res_*
184+
* - 391e02236b931132c0e8b5ba4c3b087c2aaa1044 dn_skipname
185+
* - fd8a87c0c1932de591e7ad108ff6288a4b6b18c9 dn_comp
186+
* - 640bbdf71c6f10ac26252ac67a22902e26657bd8 dn_expand
183187
*/
184188
#if (__GLIBC__ == 2 && __GLIBC_MINOR__ < 34)
185189
#define res_search __res_search
@@ -188,6 +192,9 @@ __END_DECLS
188192
#define res_nquery __res_nquery
189193
#define res_querydomain __res_querydomain
190194
#define res_nquerydomain __res_nquerydomain
195+
#define dn_skipname __dn_skipname
196+
#define dn_comp __dn_comp
197+
#define dn_expand __dn_expand
191198
#endif
192199
/* end glibc compat hacks */
193200

@@ -327,4 +334,4 @@ void res_nclose (res_state) __THROW;
327334

328335
__END_DECLS
329336

330-
#endif /* !_RESOLV_H_ */
337+
#endif /* !_RESOLV_H_ */

test/link/glibc_compat/main.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,4 +34,7 @@ int main() {
3434
printf("address to res_nquery: %p\n", res_nquery);
3535
printf("address to res_querydomain: %p\n", res_querydomain);
3636
printf("address to res_nquerydomain: %p\n", res_nquerydomain);
37+
printf("address to dn_skipname: %p\n", dn_skipname);
38+
printf("address to dn_comp: %p\n", dn_comp);
39+
printf("address to dn_expand: %p\n", dn_expand);
3740
}

0 commit comments

Comments
 (0)