2013-10-17 1 views
0

Ceci est lié à l'éditeur de liens GNU. Si j'ai une section autre que .text, .data ou .bss, comment puis-je dire au lieur de ne pas inclure cette section dans l'un de ces segments.ARM GNU GCC lieur

Ex:

SECTIONS { 
.text {} 
.data {} 
.bss {} 
.sec_var {} 

} 

En fait, dans mon cas sec_var a une variable globale, je ne veux pas qu'il fasse partie du segment de données, mais par éditeur de liens par défaut a ce concept de la section orpheline il tente de mettre cet article en .Les données. Pour cette raison, la taille binaire finale est la même.

Je lis dans l'éditeur de liens GCC:

You can use :NONE to tell the linker to not put the section in any segment at all. 

Toute personne a utilisé ou a toute autre méthode de sorte que, sec_var ne soit pas placé sous .data section?

Répondre

0

quelque chose comme ça,

MEMORY 
{ 
    bob : ORIGIN = 0x8000, LENGTH = 0x1000 
    ted : ORIGIN = 0xA000, LENGTH = 0x1000 
} 

SECTIONS 
{ 
    .text : { *(.text*) } > bob 
    .rodata : { *(.rodata*) } > bob 
    .bss : { *(.bss*) } > ted 
} 

Je suppose que vous ne veux pas dire vraiment que vous voulez .rodata dans .text en fait, mais peut-être que vous voulez .text et .rodata être dans la même partie de l'espace mémoire ensemble. ..