ARM executable: No such file or directory

Fórumok

Hozzászólások

Asszem akkor szokott mondani ilyet, amikor a kernel által nem futtatható a bináris, pl. architektúra-eltérés miatt. readelf(1) (vagy esetleg file(1)) mit mond?

A readelf -a olyan hosszu, hogy http://pastebin.com/3yCzNBaQ

A file:


JLinkGDBServer: ELF 32-bit LSB executable, ARM, version 1, dynamically linked (uses shared libs), stripped

Sajnos en nem talalok benne olyat, ami elorebb vinne :-(

Ez az architektura kulonbseg bennem is felotlott, de nem tudom hogyan tudnam kideriteni. Vagy esetleg meg little/big endian kulonbseg, bar talan mind a Raspbian mind a JLink little endian.

/sza2

A hello world-om ezt irja:


# file hello
hello: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.26, BuildID[sha1]=0x94bf7fb48b2cc0de890cb4736b63ab8519e0cfbc, not stripped

A csomagnak (.tgz) resze egy libjlinkarm.so.4.84.6 (meg egy symlink libjlinkarm.so.4), probalkoztam LD-PRELOAD-dal, illetve utana betettem ezt a ket file-t a "/usr/local/lib"-be, elvileg elerheto is:


# ldconfig -v | grep  libjlinkarm.so.4.84.6
ldconfig: Path `/lib/arm-linux-gnueabihf' given more than once
ldconfig: Path `/usr/lib/arm-linux-gnueabihf' given more than once
	libjlinkarm.so.4 -> libjlinkarm.so.4.84.6

Ami az ldd-t illeti:


# ldd ./JLinkGDBServer
	not a dynamic executable

Azt gondolnam, ebben, ha hasznalni szeretne a libjlinkarm-ot, akkor benne kellene lenni. De lehet, hogy teljesen statikus a futtathato allomany, es a .so csak azert van, hogy lehessen csinalni sajat programokat, amik hasznalhatjak a shared object fuggvenyeit.

/sza2

Tudom, triviális, így bocs a kérdésért... Van futtatási joga a file-ra annak, aki futtatni próbálja?

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

A readelf kimenetebol:


Program Headers:
  Type           Offset   VirtAddr   PhysAddr   FileSiz MemSiz  Flg Align
  PHDR           0x000034 0x00008034 0x00008034 0x000c0 0x000c0 R E 0x4
  INTERP         0x0000f4 0x000080f4 0x000080f4 0x00014 0x00014 R   0x1
      [Requesting program interpreter: /lib/ld-uClibc.so.0]
  LOAD           0x000000 0x00008000 0x00008000 0x59904 0x59904 R E 0x8000
  LOAD           0x059904 0x00069904 0x00069904 0x032ac 0x32108 RW  0x8000
  DYNAMIC        0x05a1e8 0x0006a1e8 0x0006a1e8 0x000f0 0x000f0 RW  0x4
  GNU_STACK      0x000000 0x00000000 0x00000000 0x00000 0x00000 RWE 0x4

A piros resz nem lehet gond?

/sza2