Comunidade OSDevBrasil.net
Maio 22, 2012, 06:16:54 *
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: Tiny C Compiler para SOmBRA  (Lida 1082 vezes)
Mounter
Administrador
OS Sr. Member
*****

Karma: 12
Mensagens: 432


mrjostz@hotmail.com
Ver Perfil WWW Email
« : Agosto 16, 2009, 02:45:52 »

Olá pessoal!

Venho aqui anunciar que consegui adaptar o TCC (Tiny C Compiler) para gerar programas para o SOmBRA, assim como ele faz uso da stdlib do SOmBRA (com o nome de libsbr.a).

Adicionei como exemplos os programas que são usados no projeto SOmBRA, assim como o console "Comando" ou também conhecido como cmd.app. Caso compilem um código e queiram executar o programa, aconselho que sigam para o diretório /bin/boot/grub/menu.lst e adicionem a linha module /programa.app Só não esqueça de por o programa.app na pasta /bin e depois criar a imagem ISO do sistema.

Muito em breve, o SOmBRA, não precisa de tantos passos para fazer o teste de um simples programa.

Logo libero o código com as modificações feitas do TCC, para quem quiser compilar o compilador (irônico?) no Linux ou outros sistemas.

Download

Versão Windows: http://projeto-sombra.googlecode.com/files/tcc-sombra-win32.zip
Versão Linux: http://projeto-sombra.googlecode.com/files/tcc-sombra_linux.tar.gz

Até mais

EDIT: Atualização de erros da versão atual. Nova versão TCC SOmBRA - 0.9.25.2
19/08/09: Adição do TCC-SOMBRA que roda no Linux.
« Última modificação: Agosto 19, 2009, 12:09:47 por Mounter » Registrado

╔╗╔╦══╦╗╔╦══╦╗
║╚╝║╔╗║╚╝║╔╗║║
║╔╗║╠╣║╔╗║╠╣╠╣
╚╝╚╩╝╚╩╝╚╩╝╚╩╝

Projeto SOmBRA - http://code.google.com/p/projeto-sombra

S.O.: Ubuntu 10.04
Browser: Google Chrome 10

Mounter
Administrador
OS Sr. Member
*****

Karma: 12
Mensagens: 432


mrjostz@hotmail.com
Ver Perfil WWW Email
« Responder #1 : Agosto 17, 2009, 04:32:28 »

Como no dia que botei o download, eu não acrescentei um manual de instruções, mas o básico vocês podem encontrar na wiki do projeto ou indo no link:

http://code.google.com/p/projeto-sombra/wiki/CompilandoProgramas

Qualquer problema ou sugestão é só nos reportar!
Registrado

╔╗╔╦══╦╗╔╦══╦╗
║╚╝║╔╗║╚╝║╔╗║║
║╔╗║╠╣║╔╗║╠╣╠╣
╚╝╚╩╝╚╩╝╚╩╝╚╩╝

Projeto SOmBRA - http://code.google.com/p/projeto-sombra

S.O.: Ubuntu 10.04
Browser: Google Chrome 10

gnomo
Moderador Global
OS Full Member
*****

Karma: 6
Mensagens: 173


gnomo_86@linuxmail.org
Ver Perfil WWW Email
« Responder #2 : Agosto 17, 2009, 11:20:02 »

 Legal
Registrado

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

S.O.: Debian 6.0 "Squeeze"

Bencz
OS Full Member
***

Karma: 0
Mensagens: 112



Ver Perfil
« Responder #3 : Agosto 19, 2009, 09:49:39 »

massa pacas, vcs estão de parabens =D
Registrado



Windowstec
OS Jr. Member
**

Karma: 1
Mensagens: 65


Estudante

gilmendes_999@hotmail.com
Ver Perfil WWW Email
« Responder #4 : Abril 24, 2011, 08:15:09 »

Como é que eu posso compilar o cmd.app, lá está um ficheiro em asm e o tcc não consegue compilar.

Eu estou a usar linux, fiz o download do pacote, na pasta raiz ./configure , make e fiz make install.
Depois ia a pasta que tem o nome de sombra  e ia compilar o comando, mas não dá, o que posso fazer?

Cumprimentos,
Gil Mendes
Registrado

Windowstec OS - O link no google Code foi cancelado brevemente em domínio próprio.
Windowstec - www.windowstec.netne.net
Mounter
Administrador
OS Sr. Member
*****

Karma: 12
Mensagens: 432


mrjostz@hotmail.com
Ver Perfil WWW Email
« Responder #5 : Abril 25, 2011, 10:12:27 »

Você deve compilar o compilador através da pasta sombra, pois de lá ele gera um arquivo de configuração para a compilação, mas ainda falta um arquivo de shell para Linux, mas se quiser execute dessa forma:

Gere um arquivo config.h na pasta principal do TCC com as seguintes linhas de código:

Código:
#define TCC_VERSION "0.9.25"
#define TCC_TARGET_SOMBRA 1
#define CONFIG_TCCDIR "."
#define CONFIG_SYSROOT "."

Na pasta sombra através do terminal:

Código:
gcc -Os -fno-strict-aliasing ../tcc.c -o tcc -s
gcc -Os tools/tiny_libmaker.c -o tiny_libmaker -s

Após isso você devera executar o comando make na pasta lib. Estou planejando a próxima versão com compilação através cmake, então não será necessário muitos detalhes de compilação.

Abraço,
 Mounter
Registrado

╔╗╔╦══╦╗╔╦══╦╗
║╚╝║╔╗║╚╝║╔╗║║
║╔╗║╠╣║╔╗║╠╣╠╣
╚╝╚╩╝╚╩╝╚╩╝╚╩╝

Projeto SOmBRA - http://code.google.com/p/projeto-sombra

S.O.: Ubuntu 10.04
Browser: Google Chrome 10

Windowstec
OS Jr. Member
**

Karma: 1
Mensagens: 65


Estudante

gilmendes_999@hotmail.com
Ver Perfil WWW Email
« Responder #6 : Abril 25, 2011, 02:24:13 »

OK, muito obrigado estou a tentar continuar o desenvolvimento do meu sistema e estou a analisar muitos códigos já que não sou expert na matéria, alguma coisa que depois possa doar ao SoMBra, o farei.

Espero que o desenvolvimento do SoMBra continue e tenha muito sucesso.

Obrigado.

Cumprimentos,
Gil Mendes (Windowstec)
Registrado

Windowstec OS - O link no google Code foi cancelado brevemente em domínio próprio.
Windowstec - www.windowstec.netne.net
Windowstec
OS Jr. Member
**

Karma: 1
Mensagens: 65


Estudante

gilmendes_999@hotmail.com
Ver Perfil WWW Email
« Responder #7 : Abril 30, 2011, 04:11:13 »

Olha uma coisa, ao executar o make na pasta lib ele detecta um "overflow", que lol

Citar
Construindo biblioteca libsbr.a
libc/ctype/ctype.o:
*** buffer overflow detected ***: ../tiny_libmaker terminated
======= Backtrace: =========
/lib/libc.so.6(__fortify_fail+0x37)[0x2aab8340f537]
/lib/libc.so.6(+0xfe3f0)[0x2aab8340e3f0]
../tiny_libmaker[0x400f09]
/lib/libc.so.6(__libc_start_main+0xfe)[0x2aab8332ed8e]
../tiny_libmaker[0x4009a9]
======= Memory map: ========
00400000-00402000 r-xp 00000000 08:01 2363188                            /home/gil/Downloads/tcc-0.9.25/sombra/tiny_libmaker
00601000-00602000 r--p 00001000 08:01 2363188                            /home/gil/Downloads/tcc-0.9.25/sombra/tiny_libmaker
00602000-00603000 rw-p 00002000 08:01 2363188                            /home/gil/Downloads/tcc-0.9.25/sombra/tiny_libmaker
01ae7000-01b08000 rw-p 00000000 00:00 0                                  [heap]
2aab830ed000-2aab8310d000 r-xp 00000000 08:01 5377764                    /lib/ld-2.12.1.so
2aab8310d000-2aab83110000 rw-p 00000000 00:00 0
2aab8330d000-2aab8330e000 r--p 00020000 08:01 5377764                    /lib/ld-2.12.1.so
2aab8330e000-2aab8330f000 rw-p 00021000 08:01 5377764                    /lib/ld-2.12.1.so
2aab8330f000-2aab83310000 rw-p 00000000 00:00 0
2aab83310000-2aab8348a000 r-xp 00000000 08:01 5377756                    /lib/libc-2.12.1.so
2aab8348a000-2aab83689000 ---p 0017a000 08:01 5377756                    /lib/libc-2.12.1.so
2aab83689000-2aab8368d000 r--p 00179000 08:01 5377756                    /lib/libc-2.12.1.so
2aab8368d000-2aab8368e000 rw-p 0017d000 08:01 5377756                    /lib/libc-2.12.1.so
2aab8368e000-2aab83695000 rw-p 00000000 00:00 0
2aab83695000-2aab836aa000 r-xp 00000000 08:01 5374032                    /lib/libgcc_s.so.1
2aab836aa000-2aab838a9000 ---p 00015000 08:01 5374032                    /lib/libgcc_s.so.1
2aab838a9000-2aab838aa000 r--p 00014000 08:01 5374032                    /lib/libgcc_s.so.1
2aab838aa000-2aab838ab000 rw-p 00015000 08:01 5374032                    /lib/libgcc_s.so.1
7fff39bac000-7fff39bce000 rw-p 00000000 00:00 0                          [stack]
7fff39bcf000-7fff39bd0000 r-xp 00000000 00:00 0                          [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0                  [vsyscall]
make: *** [libsbr.a] Abortado
Registrado

Windowstec OS - O link no google Code foi cancelado brevemente em domínio próprio.
Windowstec - www.windowstec.netne.net
Windowstec
OS Jr. Member
**

Karma: 1
Mensagens: 65


Estudante

gilmendes_999@hotmail.com
Ver Perfil WWW Email
« Responder #8 : Abril 30, 2011, 04:20:47 »

Será que é possível integrar está libraria no próprio sistema?
Registrado

Windowstec OS - O link no google Code foi cancelado brevemente em domínio próprio.
Windowstec - www.windowstec.netne.net
Mounter
Administrador
OS Sr. Member
*****

Karma: 12
Mensagens: 432


mrjostz@hotmail.com
Ver Perfil WWW Email
« Responder #9 : Abril 30, 2011, 05:00:13 »

Já havia detectado esse problema a um tempo, use o ar do GCC para juntar os arquivos objetos, é só alterar o makefile. Quando houver atualização irei lhe informar, em muito em breve!

Abraço
 Mounter
Registrado

╔╗╔╦══╦╗╔╦══╦╗
║╚╝║╔╗║╚╝║╔╗║║
║╔╗║╠╣║╔╗║╠╣╠╣
╚╝╚╩╝╚╩╝╚╩╝╚╩╝

Projeto SOmBRA - http://code.google.com/p/projeto-sombra

S.O.: Ubuntu 10.04
Browser: Google Chrome 10

Windowstec
OS Jr. Member
**

Karma: 1
Mensagens: 65


Estudante

gilmendes_999@hotmail.com
Ver Perfil WWW Email
« Responder #10 : Abril 30, 2011, 05:35:10 »

Abraço, obrigado
Registrado

Windowstec OS - O link no google Code foi cancelado brevemente em domínio próprio.
Windowstec - www.windowstec.netne.net
Windowstec
OS Jr. Member
**

Karma: 1
Mensagens: 65


Estudante

gilmendes_999@hotmail.com
Ver Perfil WWW Email
« Responder #11 : Maio 01, 2011, 02:06:44 »

Boas,
Tenho uma pergunta é muito difícil de implementar uma nova libraria no sombra?
Pois na que o sistema tem falta muitas funções.

Cumprimentos,
Gil Mendes (Windowstec)
Registrado

Windowstec OS - O link no google Code foi cancelado brevemente em domínio próprio.
Windowstec - www.windowstec.netne.net
Windowstec
OS Jr. Member
**

Karma: 1
Mensagens: 65


Estudante

gilmendes_999@hotmail.com
Ver Perfil WWW Email
« Responder #12 : Maio 01, 2011, 03:16:25 »

Já estou a conseguir Contente
Registrado

Windowstec OS - O link no google Code foi cancelado brevemente em domínio próprio.
Windowstec - www.windowstec.netne.net
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!