Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3034 connectés 

  FORUM HardWare.fr
  Programmation
  ASM

  ld et PHDRS

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

ld et PHDRS

n°2467912
LovisXII
Posté le 13-04-2024 à 22:47:58  profilanswer
 

Bonjour a tous,
Je ne sais pas si le forum est le lieu pour ce genre de questions mais faute de trouver une reponse a mon probleme je tente ma chance ici.
Depuis quelques mois je travaille sur un prototype de "kernel" baremetal fait from scratch. Je passe les details de pourquoi faire car ce n'est pas interessant.
J'ai besoin de forcer une section memoire en type PT_LOAD, j'ai donc un linker script qui ressemble a ca :
OUTPUT_ARCH( "riscv" )
 
SECTIONS
{
   . = seg_reset;
   .reset : { *(.reset) }
   . = ALIGN(0x1000);
   .kernel : { *(.kernel) }
   . = ALIGN(0x1000);
   .exit   : { *(.exit) }
   _kernel_end = .;
}
 
L'idee etant de forcer les sections reset, kernel et exit a etre de type PT_LOAD et je ne veux pas les mettre dans la section .text qui par default a l'air d'etre de type PT_load.
J'ai tente diverse combinaison notamment a l'aide de la fonction PHDRS mentionne sur le site de GNU mais fais toujours face a l'erreur suivante :
no sections assigned to phdrs
 
Le code PHDRS que jai ajoute :  
PHDRS
{
   headers PT_PHDR PHDRS ;
   kernel PT_LOAD PHDRS;
}

mood
Publicité
Posté le 13-04-2024 à 22:47:58  profilanswer
 

n°2468563
citation
Posté le 23-04-2024 à 01:11:20  profilanswer
 

si après  
.kernel : { *(.kernel) }
 
tu ajoutes
.kernel : { *(.kernel) } :kernel AT (ADDR(.kernel) - LOADADDR(.kernel))
 
ça donne quoi ?


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  ASM

  ld et PHDRS

 

Sujets relatifs
Plus de sujets relatifs à : ld et PHDRS


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR