Comunidade OSDevBrasil.net
Maio 22, 2012, 06:55:48 *
Bem-vindo, Visitante. Por favor faça o Login ou Registro.

Login com nome de usuário, senha e duração da sessão
Notícias: Anuncie a nossa comunidade a amigos, fóruns...
 
   Home   Ajuda Pesquisa Login Registrar  
Páginas: [1]
  Imprimir  
Autor Tópico: problema com strings nulas.  (Lida 386 vezes)
aout
OS Newbie
*

Karma: 0
Mensagens: 2


Ver Perfil
« : Março 24, 2010, 01:21:49 »

Olá,

Eu criei meu bootloader em 2 estágios: O boot propriamente dito que por sua vez carrega o estágio 2 que por sua vez set A20, GDT, lê a imagem do kernel, seta o bit de cr0 que indica modo protegido, transfere a imagem do kernel para o endereçamento protegido, e entrega o controle para o kernel (c kernel).

O problema:

Escrevi duas funções básicas para limpar a tela e escrever algo nela.

O limpar funciona perfeitamente, o escrever não escreve quando passo o parâmetro como uma constante -> k_echo("constante")

Eu já cuidei de incluir o (.rodata) junto com a seção .text [rodata pois estou usando gcc e no linux]

já compilei o loader do kernel (porção assembly que chama a main do kernel em c) forçando a saída do nasm para flat binary (aout) e também elf e nada.

Alguém que já tenha enfrentado um problema similar, pode me dar uma luz? Todas as soluções que já perguntei ao google não parecem resolver o meu problema.

OUTPUT_FORMAT("binary")
ENTRY(start)
INPUT(kld.o main.o pvideo.o)
phys = 0x00100000;

SECTIONS {
   
   .text phys : AT(phys) {
       code = .;
       *(.text)   
       *(.rodata*)
   }
   
   .data : AT(phys + (data - code))
   {
       data = .;
       *(.data)
   }
   
   .bss : AT(phys + (bss - code))
   {
       bss = .;
       *(.bss)
   }
   
   end = .;
   
}   

Mudei o output do linker para elf32-i836 para usar o readelf, bizarro: a string que passo na função que DEVERIA estar em .rodata (no caso fisicamente em .text) fica em .data! Mesmo colocando .rodata junto com .text, veja o script acima...

Estou usando essas opções no gcc para gerar meus objetos:

-O -fstrength-reduce -fomit-frame-pointer -finline-functions -nostdinc -fno-builtin -I./include -fwritable-strings -c -o

Desde já agradeço!
Registrado
gnomo
Moderador Global
OS Full Member
*****

Karma: 6
Mensagens: 173


gnomo_86@linuxmail.org
Ver Perfil WWW Email
« Responder #1 : Março 31, 2010, 08:17:06 »

Já tentou sem "-fwritable-strings" ?
Registrado

Projeto SOmBRA - http://code.google.com/p/projeto-sombra
E-Mail: gnomo@projeto-sombra.org

S.O.: Debian 6.0 "Squeeze"

Páginas: [1]
  Imprimir  
 
Ir para:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.16 | SMF © 2006-2009, Simple Machines XHTML 1.0 Válido! CSS Válido!