openEuler file and readelf CPU e_machine code

[root@wincarbon games]# cat /etc/os-release
NAME="openEuler"
VERSION="25.03"
ID="openEuler"
VERSION_ID="25.03"
PRETTY_NAME="openEuler 25.03"
ANSI_COLOR="0;31"

[root@wincarbon games]# file /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.442.b06-0.oe2503.x86_64/jre/bin/java
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.442.b06-0.oe2503.x86_64/jre/bin/java: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=67261564fd05642914d52208e33489d67a875aca, for GNU/Linux 3.2.0, not stripped
[root@wincarbon games]# readelf -a /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.442.b06-0.oe2503.x86_64/jre/bin/java
ELF Header:
  Magic:   7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
  Class:                             ELF64
  Data:                              2's complement, little endian
  Version:                           1 (current)
  OS/ABI:                            UNIX - System V
  ABI Version:                       0
  Type:                              DYN (Position-Independent Executable file)
  Machine:                           Advanced Micro Devices X86-64
  Version:                           0x1
  Entry point address:               0x10b0
  Start of program headers:          64 (bytes into file)
  Start of section headers:          14256 (bytes into file)
  Flags:                             0x0
  Size of this header:               64 (bytes)
  Size of program headers:           56 (bytes)
  Number of program headers:         13
  Size of section headers:           64 (bytes)
  Number of section headers:         34
  Section header string table index: 33

Section Headers:
  [Nr] Name              Type             Address           Offset
       Size              EntSize          Flags  Link  Info  Align
  [ 0]                   NULL             0000000000000000  00000000
       0000000000000000  0000000000000000           0     0     0
  [ 1] .interp           PROGBITS         0000000000000318  00000318
       000000000000001c  0000000000000000   A       0     0     1
  [ 2] .note.gnu.pr[...] NOTE             0000000000000338  00000338
       0000000000000040  0000000000000000   A       0     0     8
  [ 3] .note.gnu.bu[...] NOTE             0000000000000378  00000378
       0000000000000024  0000000000000000   A       0     0     4
  [ 4] .note.ABI-tag     NOTE             000000000000039c  0000039c
       0000000000000020  0000000000000000   A       0     0     4
  [ 5] .hash             HASH             00000000000003c0  000003c0
       0000000000000064  0000000000000004   A       7     0     8
  [ 6] .gnu.hash         GNU_HASH         0000000000000428  00000428
       000000000000002c  0000000000000000   A       7     0     8
  [ 7] .dynsym           DYNSYM           0000000000000458  00000458
       00000000000000d8  0000000000000018   A       8     1     8
  [ 8] .dynstr           STRTAB           0000000000000530  00000530
       00000000000000e9  0000000000000000   A       0     0     1
  [ 9] .gnu.version      VERSYM           000000000000061a  0000061a
       0000000000000012  0000000000000002   A       7     0     2
  [10] .gnu.version_d    VERDEF           0000000000000630  00000630
       0000000000000038  0000000000000000   A       8     2     8
  [11] .gnu.version_r    VERNEED          0000000000000668  00000668
       0000000000000050  0000000000000000   A       8     2     8
  [12] .rela.dyn         RELA             00000000000006b8  000006b8
       00000000000000c0  0000000000000018   A       7     0     8
  [13] .rela.plt         RELA             0000000000000778  00000778
       0000000000000030  0000000000000018  AI       7    25     8
  [14] .init             PROGBITS         0000000000001000  00001000
       000000000000001b  0000000000000000  AX       0     0     4
  [15] .plt              PROGBITS         0000000000001020  00001020
       0000000000000030  0000000000000010  AX       0     0     16
  [16] .plt.got          PROGBITS         0000000000001050  00001050
       0000000000000008  0000000000000008  AX       0     0     8
  [17] .text             PROGBITS         0000000000001060  00001060
       0000000000000145  0000000000000000  AX       0     0     16
  [18] .fini             PROGBITS         00000000000011a8  000011a8
       000000000000000d  0000000000000000  AX       0     0     4
  [19] .rodata           PROGBITS         0000000000002000  00002000
       0000000000000023  0000000000000000   A       0     0     4
  [20] .eh_frame_hdr     PROGBITS         0000000000002024  00002024
       0000000000000034  0000000000000000   A       0     0     4
  [21] .eh_frame         PROGBITS         0000000000002058  00002058
       00000000000000a8  0000000000000000   A       0     0     8
  [22] .init_array       INIT_ARRAY       0000000000003d50  00002d50
       0000000000000008  0000000000000008  WA       0     0     8
  [23] .fini_array       FINI_ARRAY       0000000000003d58  00002d58
       0000000000000008  0000000000000008  WA       0     0     8
  [24] .dynamic          DYNAMIC          0000000000003d60  00002d60
       0000000000000250  0000000000000010  WA       8     0     8
  [25] .got              PROGBITS         0000000000003fb0  00002fb0
       0000000000000050  0000000000000008  WA       0     0     8
  [26] .data             PROGBITS         0000000000004000  00003000
       0000000000000010  0000000000000000  WA       0     0     8
  [27] .bss              NOBITS           0000000000004010  00003010
       0000000000000008  0000000000000000  WA       0     0     1
  [28] .comment          PROGBITS         0000000000000000  00003010
       000000000000002f  0000000000000001  MS       0     0     1
  [29] .gnu.build.a[...] NOTE             0000000000006018  00003040
       0000000000000024  0000000000000000           0     0     4
  [30] .symtab           SYMTAB           0000000000000000  00003068
       00000000000003c0  0000000000000018          31    31     8
  [31] .strtab           STRTAB           0000000000000000  00003428
       0000000000000210  0000000000000000           0     0     1
  [32] .gnu_debuglink    PROGBITS         0000000000000000  00003638
       0000000000000030  0000000000000000           0     0     4
  [33] .shstrtab         STRTAB           0000000000000000  00003668
       0000000000000145  0000000000000000           0     0     1
Key to Flags:
  W (write), A (alloc), X (execute), M (merge), S (strings), I (info),
  L (link order), O (extra OS processing required), G (group), T (TLS),
  C (compressed), x (unknown), o (OS specific), E (exclude),
  D (mbind), l (large), p (processor specific)

There are no section groups in this file.

Program Headers:
  Type           Offset             VirtAddr           PhysAddr
                 FileSiz            MemSiz              Flags  Align
  PHDR           0x0000000000000040 0x0000000000000040 0x0000000000000040
                 0x00000000000002d8 0x00000000000002d8  R      0x8
  INTERP         0x0000000000000318 0x0000000000000318 0x0000000000000318
                 0x000000000000001c 0x000000000000001c  R      0x1
      [Requesting program interpreter: /lib64/ld-linux-x86-64.so.2]
  LOAD           0x0000000000000000 0x0000000000000000 0x0000000000000000
                 0x00000000000007a8 0x00000000000007a8  R      0x1000
  LOAD           0x0000000000001000 0x0000000000001000 0x0000000000001000
                 0x00000000000001b5 0x00000000000001b5  R E    0x1000
  LOAD           0x0000000000002000 0x0000000000002000 0x0000000000002000
                 0x0000000000000100 0x0000000000000100  R      0x1000
  LOAD           0x0000000000002d50 0x0000000000003d50 0x0000000000003d50
                 0x00000000000002c0 0x00000000000002c8  RW     0x1000
  DYNAMIC        0x0000000000002d60 0x0000000000003d60 0x0000000000003d60
                 0x0000000000000250 0x0000000000000250  RW     0x8
  NOTE           0x0000000000000338 0x0000000000000338 0x0000000000000338
                 0x0000000000000040 0x0000000000000040  R      0x8
  NOTE           0x0000000000000378 0x0000000000000378 0x0000000000000378
                 0x0000000000000044 0x0000000000000044  R      0x4
  GNU_PROPERTY   0x0000000000000338 0x0000000000000338 0x0000000000000338
                 0x0000000000000040 0x0000000000000040  R      0x8
  GNU_EH_FRAME   0x0000000000002024 0x0000000000002024 0x0000000000002024
                 0x0000000000000034 0x0000000000000034  R      0x4
  GNU_STACK      0x0000000000000000 0x0000000000000000 0x0000000000000000
                 0x0000000000000000 0x0000000000000000  RW     0x10
  GNU_RELRO      0x0000000000002d50 0x0000000000003d50 0x0000000000003d50
                 0x00000000000002b0 0x00000000000002b0  R      0x1

 Section to Segment mapping:
  Segment Sections...
   00
   01     .interp
   02     .interp .note.gnu.property .note.gnu.build-id .note.ABI-tag .hash .gnu.hash .dynsym .dynstr .gnu.version .gnu.version_d .gnu.version_r .rela.dyn .rela.plt
   03     .init .plt .plt.got .text .fini
   04     .rodata .eh_frame_hdr .eh_frame
   05     .init_array .fini_array .dynamic .got .data .bss
   06     .dynamic
   07     .note.gnu.property
   08     .note.gnu.build-id .note.ABI-tag
   09     .note.gnu.property
   10     .eh_frame_hdr
   11
   12     .init_array .fini_array .dynamic .got

Dynamic section at offset 0x2d60 contains 33 entries:
  Tag        Type                         Name/Value
 0x0000000000000001 (NEEDED)             Shared library: [libjli.so]
 0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
 0x000000000000000e (SONAME)             Library soname: [lib.so]
 0x000000000000000f (RPATH)              Library rpath: [$ORIGIN/../lib/amd64/jli:$ORIGIN/../lib/amd64]
 0x000000000000000c (INIT)               0x1000
 0x000000000000000d (FINI)               0x11a8
 0x0000000000000019 (INIT_ARRAY)         0x3d50
 0x000000000000001b (INIT_ARRAYSZ)       8 (bytes)
 0x000000000000001a (FINI_ARRAY)         0x3d58
 0x000000000000001c (FINI_ARRAYSZ)       8 (bytes)
 0x0000000000000004 (HASH)               0x3c0
 0x000000006ffffef5 (GNU_HASH)           0x428
 0x0000000000000005 (STRTAB)             0x530
 0x0000000000000006 (SYMTAB)             0x458
 0x000000000000000a (STRSZ)              233 (bytes)
 0x000000000000000b (SYMENT)             24 (bytes)
 0x0000000000000015 (DEBUG)              0x0
 0x0000000000000003 (PLTGOT)             0x3fb0
 0x0000000000000002 (PLTRELSZ)           48 (bytes)
 0x0000000000000014 (PLTREL)             RELA
 0x0000000000000017 (JMPREL)             0x778
 0x0000000000000007 (RELA)               0x6b8
 0x0000000000000008 (RELASZ)             192 (bytes)
 0x0000000000000009 (RELAENT)            24 (bytes)
 0x000000006ffffffc (VERDEF)             0x630
 0x000000006ffffffd (VERDEFNUM)          2
 0x0000000000000018 (BIND_NOW)
 0x000000006ffffffb (FLAGS_1)            Flags: NOW PIE
 0x000000006ffffffe (VERNEED)            0x668
 0x000000006fffffff (VERNEEDNUM)         2
 0x000000006ffffff0 (VERSYM)             0x61a
 0x000000006ffffff9 (RELACOUNT)          3
 0x0000000000000000 (NULL)               0x0

Relocation section '.rela.dyn' at offset 0x6b8 contains 8 entries:
  Offset          Info           Type           Sym. Value    Sym. Name + Addend
000000003d50  000000000008 R_X86_64_RELATIVE                    1190
000000003d58  000000000008 R_X86_64_RELATIVE                    1150
000000004008  000000000008 R_X86_64_RELATIVE                    4008
000000003fd8  000200000006 R_X86_64_GLOB_DAT 0000000000000000 __libc_start_main@GLIBC_2.34 + 0
000000003fe0  000300000006 R_X86_64_GLOB_DAT 0000000000000000 _ITM_deregisterTM[...] + 0
000000003fe8  000400000006 R_X86_64_GLOB_DAT 0000000000000000 __gmon_start__ + 0
000000003ff0  000600000006 R_X86_64_GLOB_DAT 0000000000000000 _ITM_registerTMCl[...] + 0
000000003ff8  000700000006 R_X86_64_GLOB_DAT 0000000000000000 __cxa_finalize@GLIBC_2.2.5 + 0

Relocation section '.rela.plt' at offset 0x778 contains 2 entries:
  Offset          Info           Type           Sym. Value    Sym. Name + Addend
000000003fc8  000100000007 R_X86_64_JUMP_SLO 0000000000000000 memcpy@GLIBC_2.2.5 + 0
000000003fd0  000500000007 R_X86_64_JUMP_SLO 0000000000000000 JLI_Launch@SUNWprivate_1.1 + 0
No processor specific unwind information to decode

Symbol table '.dynsym' contains 9 entries:
   Num:    Value          Size Type    Bind   Vis      Ndx Name
     0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND
     1: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND [...]@GLIBC_2.2.5 (3)
     2: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND _[...]@GLIBC_2.34 (4)
     3: 0000000000000000     0 NOTYPE  WEAK   DEFAULT  UND _ITM_deregisterT[...]
     4: 0000000000000000     0 NOTYPE  WEAK   DEFAULT  UND __gmon_start__
     5: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND [...]@SUNWprivate_1.1 (5)
     6: 0000000000000000     0 NOTYPE  WEAK   DEFAULT  UND _ITM_registerTMC[...]
     7: 0000000000000000     0 FUNC    WEAK   DEFAULT  UND [...]@GLIBC_2.2.5 (3)
     8: 0000000000000000     0 OBJECT  GLOBAL DEFAULT  ABS SUNWprivate_1.1

Symbol table '.symtab' contains 40 entries:
   Num:    Value          Size Type    Bind   Vis      Ndx Name
     0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND
     1: 0000000000000000     0 FILE    LOCAL  DEFAULT  ABS Scrt1.o
     2: 000000000000039c    32 OBJECT  LOCAL  DEFAULT    4 __abi_tag
     3: 0000000000000000     0 FILE    LOCAL  DEFAULT  ABS main.c
     4: 0000000000000000     0 FILE    LOCAL  DEFAULT  ABS crtstuff.c
     5: 00000000000010e0     0 FUNC    LOCAL  DEFAULT   17 deregister_tm_clones
     6: 0000000000001110     0 FUNC    LOCAL  DEFAULT   17 register_tm_clones
     7: 0000000000001150     0 FUNC    LOCAL  DEFAULT   17 __do_global_dtors_aux
     8: 0000000000004010     1 OBJECT  LOCAL  DEFAULT   27 completed.0
     9: 0000000000003d58     0 OBJECT  LOCAL  DEFAULT   23 __do_global_dtor[...]
    10: 0000000000001190     0 FUNC    LOCAL  DEFAULT   17 frame_dummy
    11: 0000000000003d50     0 OBJECT  LOCAL  DEFAULT   22 __frame_dummy_in[...]
    12: 0000000000000000     0 FILE    LOCAL  DEFAULT  ABS memcpy.cpp
    13: 0000000000000000     0 FILE    LOCAL  DEFAULT  ABS crtstuff.c
    14: 00000000000020fc     0 OBJECT  LOCAL  DEFAULT   21 __FRAME_END__
    15: 0000000000000000     0 FILE    LOCAL  DEFAULT  ABS
    16: 0000000000004000     0 NOTYPE  LOCAL  DEFAULT   26 data_start
    17: 00000000000011a0     5 FUNC    LOCAL  DEFAULT   17 __wrap_memcpy
    18: 0000000000004010     0 NOTYPE  LOCAL  DEFAULT   26 _edata
    19: 00000000000011a8     0 FUNC    LOCAL  DEFAULT   18 _fini
    20: 0000000000004000     0 NOTYPE  LOCAL  DEFAULT   26 __data_start
    21: 0000000000004008     0 OBJECT  LOCAL  DEFAULT   26 __dso_handle
    22: 0000000000002000     4 OBJECT  LOCAL  DEFAULT   19 _IO_stdin_used
    23: 0000000000004018     0 NOTYPE  LOCAL  DEFAULT   27 _end
    24: 00000000000010b0    38 FUNC    LOCAL  DEFAULT   17 _start
    25: 0000000000004010     0 NOTYPE  LOCAL  DEFAULT   27 __bss_start
    26: 0000000000003d60     0 OBJECT  LOCAL  DEFAULT   24 _DYNAMIC
    27: 0000000000002024     0 NOTYPE  LOCAL  DEFAULT   20 __GNU_EH_FRAME_HDR
    28: 0000000000004010     0 OBJECT  LOCAL  DEFAULT   26 __TMC_END__
    29: 0000000000003fb0     0 OBJECT  LOCAL  DEFAULT   25 _GLOBAL_OFFSET_TABLE_
    30: 0000000000001000     0 FUNC    LOCAL  DEFAULT   14 _init
    31: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND memcpy@GLIBC_2.2.5
    32: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND __libc_start_mai[...]
    33: 0000000000000000     0 OBJECT  GLOBAL DEFAULT  ABS SUNWprivate_1.1
    34: 0000000000000000     0 NOTYPE  WEAK   DEFAULT  UND _ITM_deregisterT[...]
    35: 0000000000000000     0 NOTYPE  WEAK   DEFAULT  UND __gmon_start__
    36: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND JLI_Launch@SUNWp[...]
    37: 0000000000001060    67 FUNC    GLOBAL DEFAULT   17 main
    38: 0000000000000000     0 NOTYPE  WEAK   DEFAULT  UND _ITM_registerTMC[...]
    39: 0000000000000000     0 FUNC    WEAK   DEFAULT  UND __cxa_finalize@G[...]

Histogram for bucket list length (total of 14 buckets):
 Length  Number     % of total  Coverage
      0  7          ( 50.0%)
      1  6          ( 42.9%)     75.0%
      2  1          (  7.1%)    100.0%

Histogram for `.gnu.hash' bucket list length (total of 3 buckets):
 Length  Number     % of total  Coverage
      0  1          ( 33.3%)
      1  2          ( 66.7%)    100.0%

Version symbols section '.gnu.version' contains 9 entries:
 Addr: 0x000000000000061a  Offset: 0x0000061a  Link: 7 (.dynsym)
  000:   0 (*local*)       3 (GLIBC_2.2.5)   4 (GLIBC_2.34)    1 (*global*)
  004:   1 (*global*)      5 (SUNWprivate_1.1)     1 (*global*)      3 (GLIBC_2.2.5)
  008:   2 (SUNWprivate_1.1)

Version definition section '.gnu.version_d' contains 2 entries:
 Addr: 0x0000000000000630  Offset: 0x00000630  Link: 8 (.dynstr)
  000000: Rev: 1  Flags: BASE  Index: 1  Cnt: 1  Name: lib.so
  0x001c: Rev: 1  Flags: none  Index: 2  Cnt: 1  Name: SUNWprivate_1.1

Version needs section '.gnu.version_r' contains 2 entries:
 Addr: 0x0000000000000668  Offset: 0x00000668  Link: 8 (.dynstr)
  000000: Version: 1  File: libjli.so  Cnt: 1
  0x0010:   Name: SUNWprivate_1.1  Flags: none  Version: 5
  0x0020: Version: 1  File: libc.so.6  Cnt: 2
  0x0030:   Name: GLIBC_2.34  Flags: none  Version: 4
  0x0040:   Name: GLIBC_2.2.5  Flags: none  Version: 3

Displaying notes found in: .note.gnu.property
  Owner                Data size        Description
  GNU                  0x00000030       NT_GNU_PROPERTY_TYPE_0
      Properties: x86 ISA needed: x86-64-baseline, x86-64-v2
        x86 feature used: x86
        x86 ISA used:

Displaying notes found in: .note.gnu.build-id
  Owner                Data size        Description
  GNU                  0x00000014       NT_GNU_BUILD_ID (unique build ID bitstring)
    Build ID: 67261564fd05642914d52208e33489d67a875aca

Displaying notes found in: .note.ABI-tag
  Owner                Data size        Description
  GNU                  0x00000010       NT_GNU_ABI_TAG (ABI version tag)
    OS: Linux, ABI: 3.2.0

Displaying notes found in: .gnu.build.attributes
  Owner                Data size        Description
  GA$<version>3a1      0x00000010       OPEN
    Applies to region from 0x1000 to 0x11b5
[root@wincarbon games]# readelf -h /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.442.b06-0.oe2503.x86_64/jre/bin/java | grep Machine
  Machine:                           Advanced Micro Devices X86-64

 

posted @ 2026-06-26 19:31  rgqancy  阅读(1)  评论(0)    收藏  举报