[haiku-es] Re: que hace especial a gcc 2 frente al gcc4?

  • From: Enrique Medina Gremaldos <quiqueiii@xxxxxxxxx>
  • To: haiku-es@xxxxxxxxxxxxx
  • Date: Tue, 24 Mar 2009 12:45:48 +0100

Muy a groso modo, el concepto de libreria, de funcion, de clases...son todos
conceptos que C/C++ monta encima del ensamblador para que sea mas sencillo
programar. Ignoro cuales son los detalles que diferencian gcc2 de gcc4, pero
si simplemente han cambiado el mecanismo por el que se llama a una funcion,
ya no funcionara nada.

Por ejemplo, ahora mismo, cuando una funcion retorna un entero, lo que se
hace es dejar este en el registro EAX antes de terminar. Si se trata de un
numero flotante se deja en la pila de la FPU, ST0.
Imaginate que ahora, por la razon que sea, gcc4 decide que las funciones
retornaran los enteros a traves de ECX. El codigo compilado con gcc2 no
leera correctamente el retorno de funciones compiladas en gcc4.

Esto es solo un ejemplo, como ya te he comentado antes, a ciencia cierta no
se donde puede estar el problema, pero vamos, que sirva para visualizar como
con una misma arquitectura (x86-32) no funcionarian.


Un saludo


El día 24/03/09, Skar Cat <skarmiglione.sk4r@xxxxxxxxx> escribió:
>
> quiero saber que es lo que hace que gcc 2.9 pueda ejecutar los programas de
> beos 5(si tal vez no todos fueron compilados con este) y por que entonces
> una libreria gcc4 no puede ejecutar estos binarios...desde mi ignorancia
> supondria que esto deberia ser posible puesto que gcc 4 deberia tener mas
> opciones...¿no? a profundidad no entiendo por que, por ejemplo en el caso de
> las librerias de 64 bits y de 32 en linux x64 entiendo por que el nucleo no
> estaria adecuado para las funciones del hardware moderno(osea con las nuevas
> instrucciones y quedaria limitado), si fuese de 32bits.
> se agradece infinitamente una explicacion con amor, dedicacion y sugerencia
> de lectura(bibliografia, en español preferimblemente que estos temas ya de
> por si parecen chino pero en ingles tambien se acepta).
>
> no en serio muchas gracias por la atencion.
>

Other related posts: