libelf: Use int64_t for offsets in libelf.h sandbox/mkashkarov/tizen_6.0_build
authorMikhail Kashkarov <m.kashkarov@partner.samsung.com>
Tue, 24 Dec 2019 05:53:55 +0000 (08:53 +0300)
committerMikhail Kashkarov <m.kashkarov@partner.samsung.com>
Tue, 24 Dec 2019 05:53:55 +0000 (08:53 +0300)
Some systems don't have loff_t, like FreeBSD where off_t always supports
large files.  We need a standardized 64-bit signed type for the public
header, without depending on configuration... OK, just use int64_t.

Signed-off-by: Josh Stone <jistone@redhat.com>
(Backported from commit b1d0b0fc7ef850851574031851cd36d114ea30e7)

ChangeLog
lib/libelf.h

index e9b5621..8643d28 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2015-10-09  Josh Stone  <jistone@redhat.com>
+
+       * lib/libelf.h: Replace loff_t with int64_t throughout.
+
 Sun Nov  1 14:08:47 CET 2009, Michael Riepe <libelf@mr511.de>
 
        * README:
index 3ebd0f3..03bf730 100644 (file)
@@ -23,6 +23,7 @@
 #define _LIBELF_H
 
 #include <stddef.h>    /* for size_t */
+#include <stdint.h>
 #include <sys/types.h>
 
 #if __LIBELF_INTERNAL__
@@ -141,7 +142,7 @@ typedef struct {
     long               ar_uid;
     long               ar_gid;
     unsigned long      ar_mode;
-    off_t              ar_size;
+    int64_t            ar_size;
     char*              ar_rawname;
 } Elf_Arhdr;
 
@@ -161,7 +162,7 @@ typedef struct {
     void*              d_buf;
     Elf_Type           d_type;
     size_t             d_size;
-    off_t              d_off;
+    int64_t            d_off;
     size_t             d_align;
     unsigned           d_version;
 } Elf_Data;
@@ -192,7 +193,7 @@ extern size_t elf32_fsize __P((Elf_Type __type, size_t __count,
        unsigned __ver));
 extern Elf_Arhdr *elf_getarhdr __P((Elf *__elf));
 extern Elf_Arsym *elf_getarsym __P((Elf *__elf, size_t *__ptr));
-extern off_t elf_getbase __P((Elf *__elf));
+extern int64_t elf_getbase __P((Elf *__elf));
 extern Elf_Data *elf_getdata __P((Elf_Scn *__scn, Elf_Data *__data));
 extern Elf32_Ehdr *elf32_getehdr __P((Elf *__elf));
 extern char *elf_getident __P((Elf *__elf, size_t *__ptr));
@@ -212,7 +213,7 @@ extern size_t elf_rand __P((Elf *__elf, size_t __offset));
 extern Elf_Data *elf_rawdata __P((Elf_Scn *__scn, Elf_Data *__data));
 extern char *elf_rawfile __P((Elf *__elf, size_t *__ptr));
 extern char *elf_strptr __P((Elf *__elf, size_t __section, size_t __offset));
-extern off_t elf_update __P((Elf *__elf, Elf_Cmd __cmd));
+extern int64_t elf_update __P((Elf *__elf, Elf_Cmd __cmd));
 extern unsigned elf_version __P((unsigned __ver));
 extern Elf_Data *elf32_xlatetof __P((Elf_Data *__dst, const Elf_Data *__src,
        unsigned __encode));