From 84d199451cf33734003c00c043a1480920f5563b Mon Sep 17 00:00:00 2001 From: Pasha Date: Thu, 29 Feb 2024 19:30:30 +0000 Subject: initial commit --- .../glibc/local-static_pthread_setcancelstate.diff | 87 ++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 patches/glibc/local-static_pthread_setcancelstate.diff (limited to 'patches/glibc/local-static_pthread_setcancelstate.diff') diff --git a/patches/glibc/local-static_pthread_setcancelstate.diff b/patches/glibc/local-static_pthread_setcancelstate.diff new file mode 100644 index 0000000..18684a0 --- /dev/null +++ b/patches/glibc/local-static_pthread_setcancelstate.diff @@ -0,0 +1,87 @@ +since the move of libpthread functions to libc, glibc dropped the use +of __libc_ptf_call. But htl hasn't made the move yet, so we have to use +__libc_ptf_call there for now. + +Index: glibc-2.36/misc/error.c +=================================================================== +--- glibc-2.36.orig/misc/error.c ++++ glibc-2.36/misc/error.c +@@ -240,7 +240,8 @@ __error_internal (int status, int errnum + /* We do not want this call to be cut short by a thread + cancellation. Therefore disable cancellation for now. */ + int state = PTHREAD_CANCEL_ENABLE; +- __pthread_setcancelstate (PTHREAD_CANCEL_DISABLE, &state); ++ __libc_ptf_call (__pthread_setcancelstate, ++ (PTHREAD_CANCEL_DISABLE, &state), 0); + #endif + + flush_stdout (); +@@ -262,7 +263,7 @@ __error_internal (int status, int errnum + + #ifdef _LIBC + _IO_funlockfile (stderr); +- __pthread_setcancelstate (state, NULL); ++ __libc_ptf_call (__pthread_setcancelstate, (state, NULL), 0); + #endif + } + +@@ -306,7 +307,9 @@ __error_at_line_internal (int status, in + /* We do not want this call to be cut short by a thread + cancellation. Therefore disable cancellation for now. */ + int state = PTHREAD_CANCEL_ENABLE; +- __pthread_setcancelstate (PTHREAD_CANCEL_DISABLE, &state); ++ __libc_ptf_call (__pthread_setcancelstate, ++ (PTHREAD_CANCEL_DISABLE, &state), ++ 0); + #endif + + flush_stdout (); +@@ -336,7 +339,7 @@ __error_at_line_internal (int status, in + + #ifdef _LIBC + _IO_funlockfile (stderr); +- __pthread_setcancelstate (state, NULL); ++ __libc_ptf_call (__pthread_setcancelstate, (state, NULL), 0); + #endif + } + +Index: glibc-2.36/libio/iopopen.c +=================================================================== +--- glibc-2.36.orig/libio/iopopen.c ++++ glibc-2.36/libio/iopopen.c +@@ -281,9 +281,10 @@ _IO_new_proc_close (FILE *fp) + do + { + int state; +- __pthread_setcancelstate (PTHREAD_CANCEL_DISABLE, &state); ++ __libc_ptf_call (__pthread_setcancelstate, ++ (PTHREAD_CANCEL_DISABLE, &state), 0); + wait_pid = __waitpid (((_IO_proc_file *) fp)->pid, &wstatus, 0); +- __pthread_setcancelstate (state, NULL); ++ __libc_ptf_call (__pthread_setcancelstate, (state, NULL), 0); + } + while (wait_pid == -1 && errno == EINTR); + if (wait_pid == -1) +Index: glibc-2.36/stdlib/fmtmsg.c +=================================================================== +--- glibc-2.36.orig/stdlib/fmtmsg.c ++++ glibc-2.36/stdlib/fmtmsg.c +@@ -124,7 +124,8 @@ fmtmsg (long int classification, const c + /* We do not want this call to be cut short by a thread + cancellation. Therefore disable cancellation for now. */ + int state = PTHREAD_CANCEL_ENABLE; +- __pthread_setcancelstate (PTHREAD_CANCEL_DISABLE, &state); ++ __libc_ptf_call (__pthread_setcancelstate, ++ (PTHREAD_CANCEL_DISABLE, &state), 0); + + __libc_lock_lock (lock); + +@@ -193,7 +194,7 @@ fmtmsg (long int classification, const c + + __libc_lock_unlock (lock); + +- __pthread_setcancelstate (state, NULL); ++ __libc_ptf_call (__pthread_setcancelstate, (state, NULL), 0); + + return result; + } -- cgit v1.2.1