summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/debugedit/files/0002-sepdebugcrcfix.c-do-not-use-64bit-variants.patch
blob: 4463bd2324a0822c64d3808714ad4ba6936fed1a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
From 3e05bbc1f7909ab6f529e66f0d0f70fb1e60583a Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
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 <Qi.Chen@windriver.com>
---
 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