Equilibrio Inestable

2009/01/19

porque el gcc lo vale…

Filed under: General — Tags: , , — Pedro Laguna @ 11:51 AM

Andando como ando liado estudiando los buffer overflows, integer overflows y demas hierbas (que diria Rafa Vargas) era inevitable que acabase en alguna parte del codigo del gcc, compilador que estoy utilizando para los ejemplos.

Leyendo el articulo Big Loop Integer Protection del numero 60 de la Phrack me he encontrado con que el autor menciona la existencia de una funcion, rest_of_compilation. Sin creermelo mucho he tenido que ir al svn de gcc y comprobarlo por mi mismo.

¡Y ahi esta! En el fichero toplev.c, en una linea indeterminada, con un comentario antes de la funcion que dice que a rest_of_compilation la llama finish_function. Con dos……….. Me se de mas de uno que ahora mismo debe de estar revolviendose en su silla o corriendo al cuarto de baño a lavarse los ojos con abundante agua.

/* This is called from finish_function (within langhooks.parse_file)
   after each top-level definition is parsed.
   It is supposed to compile that function or variable
   and output the assembler code for it.
   After we return, the tree storage is freed.  */

void
rest_of_compilation (tree decl)

En fin, cosas estas del S.L., como la cancion de Guadalinfo, todo un ejemplo de ritmo, mensaje y gusto musical.

P.D. Esto para nota, unas lineas mas abajo hay una llamada a goto…

4 Comments »

  1. Amigo Pedro, no he mirado el código que mencionas, pero a veces el uso de Goto puede estar justificado. No caigamos el “goto considered harmful” gratuitamente… (TODO para tí: leer Code Complete 2nd Ed.)

    Comment by Rafa Vargas — 2009/01/19 @ 12:23 PM

  2. Eiiii, ¿¿qué pasa con la canción de Guadalinfo??
    Cada uno hace en su tiempo libre lo que quiere, solo que este dinamizador además lo comparte con la gente, en vez de venderlo aún sabiendo que como obra musical no es gran cosa (ejem :P )

    Comment by Liryel — 2009/01/19 @ 12:56 PM

  3. Ya veo que maligno te tiene entretenido en hacer “unos ejemplos” que le pedí a él…
    :-)

    Comment by Jordi — 2009/01/20 @ 9:46 AM

  4. @Rafa Vargas, estare encantado de escuchar lo que me puedes contar sobre el goto, yo lo use intensamente en mi “etapa” de programador de calculadoras CASIO :P

    @Liryel, podria cobrar el soporte tecnico, que es como funciona el SL no?

    @Jordi, la verdad es que le agradezco que me tenga entretenido con esto, me lo estoy pasando muy bien ;-)

    Comment by Pedro Laguna — 2009/01/20 @ 11:46 AM


RSS feed for comments on this post. TrackBack URI

Leave a comment

Blog at WordPress.com.