The patch below builds for me on the hppa platform.
Testcases needs verifying on physical hardware though.

Helge


diff -up ./testsuite/path.c.org ./testsuite/path.c
--- ./testsuite/path.c.org      2024-03-13 07:01:04.610222544 +0000
+++ ./testsuite/path.c  2024-03-13 07:11:16.630339502 +0000
@@ -15,9 +15,14 @@
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
 
+#if !defined(_TIME_BITS) || _TIME_BITS != 64
+#define NEED_WRAPPER
 /* We unset _FILE_OFFSET_BITS here so we can override both stat and stat64 on
  * 32-bit architectures and forward each to the right libc function */
 #undef _FILE_OFFSET_BITS
+#else
+#undef NEED_WRAPPER
+#endif
 
 #include <assert.h>
 #include <dirent.h>
@@ -191,6 +196,7 @@ TS_EXPORT int prefix ## stat ## suffix (
        return _fn(ver, p, st);                             \
 }
 
+#ifdef NEED_WRAPPER
 WRAP_1ARG(DIR*, NULL, opendir);
 WRAP_1ARG(int, -1, chdir);
 
@@ -212,3 +218,4 @@ WRAP_VERSTAT(__lx,);
 WRAP_VERSTAT(__x,64);
 WRAP_VERSTAT(__lx,64);
 #endif
+#endif
diff -up ./tools/depmod.c.org ./tools/depmod.c
--- ./tools/depmod.c.org        2024-03-13 06:56:13.616085242 +0000
+++ ./tools/depmod.c    2024-03-13 07:13:11.417610532 +0000
@@ -2613,8 +2613,8 @@ static int depmod_output(struct depmod *
                        int mode = 0644;
                        int fd;
 
-                       snprintf(tmp, sizeof(tmp), "%s.%i.%li.%li", itr->name, 
getpid(),
-                                       tv.tv_usec, tv.tv_sec);
+                       snprintf(tmp, sizeof(tmp), "%s.%i.%lli.%lli", 
itr->name, getpid(),
+                                       (long long)tv.tv_usec, (long 
long)tv.tv_sec);
                        fd = openat(dfd, tmp, flags, mode);
                        if (fd < 0) {
                                ERR("openat(%s, %s, %o, %o): %m\n",

Reply via email to