-
-
Notifications
You must be signed in to change notification settings - Fork 896
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
dep: libxml 2.12.0 upgrade (with libxml2 patch for weakref) (#3032)
**What problem is this PR intended to solve?** #3031 This approach uses the patches submitted upstream at: - https://gitlab.gnome.org/GNOME/libxml2/-/merge_requests/229 - https://gitlab.gnome.org/GNOME/libxml2/-/merge_requests/230 and turns off libxml2's thread-local storage feature, which is an issue when precompiling for musl on glibc systems. If and when we can build a separate musl native gem, we can revisit this decision.
- Loading branch information
Showing
16 changed files
with
64 additions
and
31 deletions.
There are no files selected for viewing
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
29 changes: 29 additions & 0 deletions
29
patches/libxml2/0012-fix-pthread-weak-references-in-globals.c.patch
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
diff --git a/globals.c b/globals.c | ||
index a786a4b9..1b2b9ad0 100644 | ||
--- a/globals.c | ||
+++ b/globals.c | ||
@@ -118,6 +118,13 @@ static XML_THREAD_LOCAL xmlGlobalState globalState; | ||
defined(__GLIBC__) && \ | ||
__GLIBC__ * 100 + __GLIBC_MINOR__ < 234 | ||
|
||
+#pragma weak pthread_getspecific | ||
+#pragma weak pthread_setspecific | ||
+#pragma weak pthread_key_create | ||
+#pragma weak pthread_key_delete | ||
+#pragma weak pthread_equal | ||
+#pragma weak pthread_self | ||
+ | ||
#define XML_PTHREAD_WEAK | ||
|
||
static int libxml_is_threaded = -1; | ||
@@ -566,7 +573,9 @@ void xmlInitGlobalsInternal(void) { | ||
(pthread_getspecific != NULL) && | ||
(pthread_setspecific != NULL) && | ||
(pthread_key_create != NULL) && | ||
- (pthread_key_delete != NULL); | ||
+ (pthread_key_delete != NULL) && | ||
+ (pthread_equal != NULL) && | ||
+ (pthread_self != NULL); | ||
if (libxml_is_threaded == 0) | ||
return; | ||
#endif /* XML_PTHREAD_WEAK */ |