Pregunta

He escrito un compilador para C que genera un código de bytes. El motivo de esto fue poder escribir aplicaciones para una plataforma integrada que se ejecuta en múltiples plataformas.

Tengo el compilador y el ensamblador.

Necesito escribir un enlazador, y estoy atascado.

El formato del objeto es personalizado, diseñado alrededor del intérprete de códigos de bytes, por lo que realmente no puedo usar ningún enlazador existente.

Mi mayor obstáculo es cómo organizar el código objeto para generar el binario vinculado. La vinculación dinámica no es necesaria, en este momento. Necesito que el enlace estático funcione primero.

¿Fue útil?

Solución

http://linker.iecc.com es el único libro que conozco sobre este tema.

Otros consejos

Ian Lance Taylor, uno de los principales desarrolladores del enlazador de oro (ahora parte de binutils), publicó una serie de blogs sobre cómo funcionan los enlazadores. Puede encontrarlo aquí .

Sigo el libro de Linkers and Loaders. Usted declara que su formato de objeto es personalizado. Si el formato está bajo su control, podría considerar usar el formato ELF con su código de bytes como una nueva arquitectura de máquina, a la x86, SPARC, ARM, etc. Las fuentes binutils de GNU son lo suficientemente maleables como para permitirle incorporar su arquitectura " ;.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top