🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.asm
3 messages
3 total messages Started by Tomek Sat, 09 Jun 2007 20:34
problem z asemblerem i plikiem ELF
#1161
Author: Tomek
Date: Sat, 09 Jun 2007 20:34
85 lines
4777 bytes
Witam grupowiczow.

Pisze na zaliczenie prosty assembler generujacy pliki w formacie ELF.
Napotkalem na taki oto blad, przy generowaniu pliku wynikowego dostaje
informacje, ze relokacje odnosza sie do nieistniejacego symbolu o
indeksie 4, podczas gdy w tablicy o indeksie 4 jest sekcja, z ktorej
relokuje pliki. Nie mam pojecia o co chodzi, tablica symbolica jest
identyczna do tej generowanej przez nasm, jednak tam nie ma tego
bledu. nie mam pojecia o co chodzi. prosze bardzo o pomoc.

readelf -a zwraca nastepujace wyniki:

ELF Header:
  Magic:   7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
  Class:                             ELF32
  Data:                              2's complement, little endian
  Version:                           1 (current)
  OS/ABI:                            UNIX - System V
  ABI Version:                       0
  Type:                              REL (Relocatable file)
  Machine:                           Intel 80386
  Version:                           0x1
  Entry point address:               0x0
  Start of program headers:          0 (bytes into file)
  Start of section headers:          448 (bytes into file)
  Flags:                             0x0
  Size of this header:               52 (bytes)
  Size of program headers:           0 (bytes)
  Number of program headers:         0
  Size of section headers:           40 (bytes)
  Number of section headers:         7
  Section header string table index: 3

Section Headers:
  [Nr] Name              Type            Addr     Off    Size   ES Flg
Lk Inf Al
  [ 0]                   NULL            00000000 000000 000000
00      0   0  0
  [ 1] .text             PROGBITS        00000000 000100 00002e 00
AX  0   0 16
  [ 2] .data             PROGBITS        00000000 0000f0 000005 00
WA  0   0  4
  [ 3] .shstrtab         STRTAB          00000000 000130 000032
00      0   0  1
  [ 4] .symtab           SYMTAB          00000000 000040 0000b0
10      5  10  4
  [ 5] .strtab           STRTAB          00000000 000170 00001e
00      0   0  1
  [ 6] .rel.text         REL             00000000 000190 000028
08      0   0  4
Key to Flags:
  W (write), A (alloc), X (execute), M (merge), S (strings)
  I (info), L (link order), G (group), x (unknown)
  O (extra OS processing required) o (OS specific), p (processor
specific)

There are no section groups in this file.

There are no program headers in this file.

Relocation section '.rel.text' at offset 0x190 contains 5 entries:
 Offset     Info    Type            Sym.Value  Sym. Name
00000012  00000401 R_386_32          bad symbol index: 00000004
00000018  00000401 R_386_32          bad symbol index: 00000004
0000001e  00000401 R_386_32          bad symbol index: 00000004
00000024  00000401 R_386_32          bad symbol index: 00000004
0000002a  00000401 R_386_32          bad symbol index: 00000004

There are no unwind sections in this file.

Symbol table '.symtab' contains 11 entries:
   Num:    Value  Size Type    Bind   Vis      Ndx Name
     0: 00000000     0 NOTYPE  LOCAL  DEFAULT  UND
     1: 00000000     0 FILE    LOCAL  DEFAULT  ABS dupa.o
     2: 00000000     0 SECTION LOCAL  DEFAULT  ABS
     3: 00000000     0 SECTION LOCAL  DEFAULT    1
     4: 00000000     0 SECTION LOCAL  DEFAULT    2
     5: 00000000     0 NOTYPE  LOCAL  DEFAULT    2 l0
     6: 00000001     0 NOTYPE  LOCAL  DEFAULT    2 l1
     7: 00000002     0 NOTYPE  LOCAL  DEFAULT    2 l2
     8: 00000003     0 NOTYPE  LOCAL  DEFAULT    2 l3
     9: 00000004     0 NOTYPE  LOCAL  DEFAULT    2 l4
    10: 00000000     0 NOTYPE  GLOBAL DEFAULT    1 _start

No version information found in this file.
Re: problem z asemblerem i plikiem ELF
#1162
Author: Michal Schulz
Date: Sun, 10 Jun 2007 05:52
27 lines
1793 bytes
Tomek wrote:

> Witam grupowiczow.
> 
> Pisze na zaliczenie prosty assembler generujacy pliki w formacie ELF.
> Napotkalem na taki oto blad, przy generowaniu pliku wynikowego dostaje
> informacje, ze relokacje odnosza sie do nieistniejacego symbolu o
> indeksie 4, podczas gdy w tablicy o indeksie 4 jest sekcja, z ktorej
> relokuje pliki. Nie mam pojecia o co chodzi, tablica symbolica jest
> identyczna do tej generowanej przez nasm, jednak tam nie ma tego
> bledu. nie mam pojecia o co chodzi. prosze bardzo o pomoc.

To tak na pierwszy rzut oka:

>   [ 6] .rel.text         REL             00000000 000190 000028
> 08      0   0  4

Tu masz blad. Po pierwsze nie wiadomo w ktorej sekcji pliku sa symbole,
ktorych relokacje dotycza (Lk = 0, powinno byc Lk = 4), a po drugie nie
wiadomo w ktorej sekcji owe relokacje maja byc przeprowadzone (Inf = 0,
powinno byc Inf = 1).

Polecam lekture: http://fly.isti.cnr.it/didattica/link/elf.pdf, bo tego
kolega chyba nie czytal :)

-- 
Michal Schulz
Re: problem z asemblerem i plikiem ELF
#1163
Author: Tomek
Date: Sun, 10 Jun 2007 17:44
30 lines
2424 bytes
On 10 Cze, 07:52, Michal Schulz <michal.sch...@onet.eu> wrote:

> >   [ 6] .rel.text         REL             00000000 000190 000028
> > 08      0   0  4
>
> Tu masz blad. Po pierwsze nie wiadomo w ktorej sekcji pliku sa symbole,
> ktorych relokacje dotycza (Lk = 0, powinno byc Lk = 4), a po drugie nie
> wiadomo w ktorej sekcji owe relokacje maja byc przeprowadzone (Inf = 0,
> powinno byc Inf = 1).
Dzieki, choc ju  sam wczesniej znalazlem swoj blad :). I to bylo
dokladnie to o czym napisa es. Zwykle przeoczenie, zostawilem na
pozniej i zapomnialem uzupelni . I krwi mi to napsulo. :)

> Polecam lekture:http://fly.isti.cnr.it/didattica/link/elf.pdf, bo tego
> kolega chyba nie czytal :)

Czytal, oczywiscie, ze czytal :) Bez tego dokumentu ciezko byloby mi
cokolwiek sklecic, a tu jednak strukturka byla jak ta lala zrobiona od
podstaw. Po prostu mi umknely te argumenty sekcji relokacyjnej. To moj
pierwszy kompilator w zyciu, ktory napisalem, wiec bledy i przeoczenia
byly nie do unikniecia. A tak BTW polecam tez polskie tlumaczenie tego
dokumentu, moze komus sie przyda. :)

http://www.cs.put.poznan.pl/adanilecki/inline_asm/elf.php

Dzieki raz jeszcze za pomoc :)

--
Pozdrawiam
TW
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads