por
pobrecito hablador
el Martes, 01 Junio de 2010, 08:11h
(#1220649)
Otro punto a tener en cuenta es que aún no ha explicado por qué simplemente no pueden añadir una opción de compilar a "filosofía 64 bits" en su "compilador".
Tras leeros a los dos, lo que me parece es que, efectivamente como él dice, les funciona en 64 bits pero como los punteros que utilizan también son de 64 bits (pues usan punteros del host como si fueran los virtuales) y seguramente anden jugando con ellos todo el rato, tienen miedo de que les haga overflow y después, al pasarlos a un registro de 32 bits (que sería el que virtualice el del guest) la caguen. Algo así:
void * p;// Puntero de 64 bits que usa el guest para acceder a "su" memoria como si fuera de 32 bits p +=...// p > 2**32-1, overflow de los "32 bits" uint32_t registro = p;// la hemos cagado Manolo
Pero eso les ocurre por no saber programar de manera portable y confundir guest con host. Aún así y con todo, ese código podría funcionar si revisaran todas las operaciones de memoria que hace el guest, pero es que ni eso.
BennuGD me parece que es un coladero de agujeros de seguridad por lo que está planteando.
Gracias a Dios los 64 bits son compatibles hacia atrás, si tuvieran que portar la VM a 16 bits o a otras cosas más raras no les funcionaría nada de nada.
Re:aclaraciones
(Puntos:0)Tras leeros a los dos, lo que me parece es que, efectivamente como él dice, les funciona en 64 bits pero como los punteros que utilizan también son de 64 bits (pues usan punteros del host como si fueran los virtuales) y seguramente anden jugando con ellos todo el rato, tienen miedo de que les haga overflow y después, al pasarlos a un registro de 32 bits (que sería el que virtualice el del guest) la caguen. Algo así:
void * p;
p +=
uint32_t registro = p;
Pero eso les ocurre por no saber programar de manera portable y confundir guest con host. Aún así y con todo, ese código podría funcionar si revisaran todas las operaciones de memoria que hace el guest, pero es que ni eso.
BennuGD me parece que es un coladero de agujeros de seguridad por lo que está planteando.
Gracias a Dios los 64 bits son compatibles hacia atrás, si tuvieran que portar la VM a 16 bits o a otras cosas más raras no les funcionaría nada de nada.