From c88ce1ff0e18d6fb922713df5944e98ae77e332c Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Fri, 28 Apr 2023 10:43:42 +0200 Subject: binutils: backport a patch to address failures when time64.inc is in use (From OE-Core rev: e80a836be72d304aa2f47421882390263623b6fc) Signed-off-by: Alexander Kanavin Signed-off-by: Alexandre Belloni Signed-off-by: Richard Purdie --- .../binutils/binutils/fix-time64.patch | 94 ++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 meta/recipes-devtools/binutils/binutils/fix-time64.patch (limited to 'meta/recipes-devtools/binutils/binutils/fix-time64.patch') diff --git a/meta/recipes-devtools/binutils/binutils/fix-time64.patch b/meta/recipes-devtools/binutils/binutils/fix-time64.patch new file mode 100644 index 0000000000..0bfc977fd4 --- /dev/null +++ b/meta/recipes-devtools/binutils/binutils/fix-time64.patch @@ -0,0 +1,94 @@ +From f6f19a39ecfe962cb8a05522c27f513308687a74 Mon Sep 17 00:00:00 2001 +From: Vladimir Mezentsev +Date: Thu, 16 Feb 2023 19:00:47 -0800 +Subject: [PATCH] gprofng: PR30036 Build failure on aarch64 w/ glibc: symbol + `pwrite64' is already defined + +gprofng/ChangeLog +2023-02-16 Vladimir Mezentsev + + PR gprofng/30036 + * libcollector/iotrace.c: Define creat64 and pwrite64 only when + __USE_LARGEFILE64 and __USE_FILE_OFFSET64 are not defined. + * libcollector/mmaptrace.c: Likewise for mmap64. + +Upstream-Status: Backport [https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=f6f19a39ecfe962cb8a05522c27f513308687a74] +Signed-off-by: Alexander Kanavin +--- + gprofng/libcollector/iotrace.c | 15 ++++++++------- + gprofng/libcollector/mmaptrace.c | 2 +- + 2 files changed, 9 insertions(+), 8 deletions(-) + +diff --git a/gprofng/libcollector/iotrace.c b/gprofng/libcollector/iotrace.c +index af90cc31f1a..d8439b02b3a 100644 +--- a/gprofng/libcollector/iotrace.c ++++ b/gprofng/libcollector/iotrace.c +@@ -1441,7 +1441,7 @@ creat (const char *path, mode_t mode) + } + + /*------------------------------------------------------------- creat64 */ +-#if WSIZE(32) ++#if WSIZE(32) && !defined(__USE_LARGEFILE64) + int + creat64 (const char *path, mode_t mode) + { +@@ -2476,7 +2476,7 @@ __collector_pwrite_2_1 (int fildes, const void *buf, size_t nbyte, off_t offset) + return ret; + } + +-#else ++#endif + ssize_t + pwrite (int fildes, const void *buf, size_t nbyte, off_t offset) + { +@@ -2497,11 +2497,10 @@ pwrite (int fildes, const void *buf, size_t nbyte, off_t offset) + POP_REENTRANCE (guard); + return ret; + } +-#endif + + /*------------------------------------------------------------- pwrite64 */ +-#if WSIZE(32) +-#if !defined(__MUSL_LIBC) && ARCH(Intel) ++#if WSIZE(32) && ARCH(Intel) ++#if !defined(__MUSL_LIBC) + // map interposed symbol versions + + SYMVER_ATTRIBUTE (__collector_pwrite64_2_2, pwrite64@GLIBC_2.2) +@@ -2547,8 +2546,9 @@ __collector_pwrite64_2_1 (int fildes, const void *buf, size_t nbyte, off64_t off + POP_REENTRANCE (guard); + return ret; + } ++#endif + +-#else ++#if !defined(__USE_FILE_OFFSET64) + ssize_t + pwrite64 (int fildes, const void *buf, size_t nbyte, off64_t offset) + { +@@ -2570,7 +2570,8 @@ pwrite64 (int fildes, const void *buf, size_t nbyte, off64_t offset) + return ret; + } + #endif +-#endif /* SIZE(32) */ ++ ++#endif /* SIZE(32) && ARCH(Intel) */ + + /*------------------------------------------------------------- fgets */ + char* +diff --git a/gprofng/libcollector/mmaptrace.c b/gprofng/libcollector/mmaptrace.c +index 61613c21560..221b4e2d176 100644 +--- a/gprofng/libcollector/mmaptrace.c ++++ b/gprofng/libcollector/mmaptrace.c +@@ -1494,7 +1494,7 @@ mmap (void *start, size_t length, int prot, int flags, int fd, off_t offset) + } + + /*------------------------------------------------------------- mmap64 */ +-#if WSIZE(32) /* mmap64 only defined for non-64-bit */ ++#if WSIZE(32) && !defined(__USE_FILE_OFFSET64) + + void * + mmap64 (void *start, size_t length, int prot, int flags, int fd, off64_t offset) +-- +2.31.1 + -- cgit v1.2.3-54-g00ecf