[sanniolug] Linking [2]

  • From: Domenico De Felice <dfd@xxxxxxxx>
  • To: SannioLUG <sanniolug@xxxxxxxxxxxxx>
  • Date: Wed, 19 May 2004 15:24:55 +0200

Scusatemi per il messaggio precedente, un `invio precoce'. :-)
Ripeto il messaggio daccapo:

Salve,
ho dei problemi nel linkare due object file ottenuti rispettivamente da un
file assembly e da uno C.
Il file assembly fa riferimento ad una funzione dichiarata nel file C, in
questo modo:

        [EXTERN _entrypoint]
        [GLOBAL init]
init:
        call _entrypoint

La funzione _entrypoint e` dichiarata nel sorgente C.
Controllando il contenuto degli object file con objdump si puo` vedere che
nella symbol table del file ottenuto dal sorgente assembly c'e`:

00000000         *UND*  00000000 _entrypoint

mentre in quella del file ottenuto dal sorgente C c'e`:

00000000 l     F .text  00000005 _entrypoint

Quindi sembra tutto okay. Il simbolo _entrypoint dichiarato come undefined nel 
primo codice oggetto e` invece definito nel secondo.
Eppure, qualcosa di sbagliato deve esserci perche` quando provo a linkare ld 
mi da questo errore:

kernel.so(.text+0x1):kernel.s:4: undefined reference to `_entrypoint'

Qualcuno sa darmi qualche spiegazione?

Grazie in anticipo

-- 
Domenico De Felice

63,000 bugs in the code, 63,000 bugs, 
ya get 1 whacked with a service pack, 
now there's 63,005 bugs in the code!!


Other related posts:

  • » [sanniolug] Linking [2]