From 3e05bbc1f7909ab6f529e66f0d0f70fb1e60583a Mon Sep 17 00:00:00 2001 From: Chen Qi Date: Thu, 23 Mar 2023 11:55:53 +0800 Subject: [PATCH 2/2] sepdebugcrcfix.c: do not use 64bit variants configure.ac checks for largefile support via AC_SYS_LARGEFILE already, therefore use off_t, open and lseek instead of 64bit variants. Musl e.g. does not define them without _LARGEFILE64_SOURCE and error is not seen on glibc because _GNU_SOURCE defines _LARGEFILE64_SOURCE. This patch is marked as inappropriate as debugedit obviously only wants to support glibc or some glibc compatible libcs. We can see this from the error() usage. And this patch is only for musl. Upstream-Status: Inappropriate [OE Specific] Signed-off-by: Chen Qi --- tools/sepdebugcrcfix.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/sepdebugcrcfix.c b/tools/sepdebugcrcfix.c index c4a9d56..882e5f5 100644 --- a/tools/sepdebugcrcfix.c +++ b/tools/sepdebugcrcfix.c @@ -144,7 +144,7 @@ crc32 (const char *fname, const char *base_fname, uint32_t *crcp) error (0, errno, _("cannot open \"%s\""), debugname); return false; } - off64_t size = lseek64 (fd, 0, SEEK_END); + off_t size = lseek (fd, 0, SEEK_END); if (size == -1) { error (0, errno, _("cannot get size of \"%s\""), debugname); @@ -289,7 +289,7 @@ process (Elf *elf, int fd, const char *fname) return true; } updated_count++; - off64_t seekto = (shdr->sh_offset + data->d_off + off_t seekto = (shdr->sh_offset + data->d_off + (crcp - (const uint8_t *) data->d_buf)); uint32_t crc_targetendian = (ehdr->e_ident[EI_DATA] == ELFDATA2LSB ? htole32 (crc) : htobe32 (crc)); @@ -361,7 +361,7 @@ main (int argc, char **argv) error (0, errno, _("cannot chmod \"%s\" to make sure we can read and write"), fname); bool failed = false; - int fd = open64 (fname, O_RDWR); + int fd = open (fname, O_RDWR); if (fd == -1) { error (0, errno, _("cannot open \"%s\""), fname); -- 2.17.1