Linus TorvaldsLinus Torvalds critica la ultima versión del compilador de software libre GCC diciendo que dicha versión “es una pura y absoluta mierda”.

A raíz de un random panic que se origino en una función de carga de equilibrio en el desarrollo del kernel 3.16 de Linux, Torvalds ha criticado la versión 4.9 de GCC luego de observar la salida que se obtuvo al compilar con la mas reciente versión de este compilador.

Entre otras cosas, Torvalds indicó en el mailing list del kernel Linux lo siguiente:

“Ok, ahora veo el código generado y su compilador es una pura y absoluta mierda. Añado a Jakub en la cc del correo porque GCC 4.9 parece ser una terminal rota.

Observen que su compilador hace cosas absolutamente locas con el spilling, incluyendo el spilling en una constante. Por amor a Dios, ese compilador no debió graduarse desde el jardín de infancia. Estamos hablando de como la pereza cayo sobre la cabeza como si se tratase de un bebe, y esos niveles de retardo están aquí:


movq $load_balance_mask, -136(%rbp) #, %sfp
subq $184, %rsp #,
movq (%rdx), %rax # sd_22(D)->parent, sd_parent
movl %edi, -144(%rbp) # this_cpu, %sfp
movl %ecx, -140(%rbp) # idle, %sfp
movq %r8, -200(%rbp) # continue_balancing, %sfp
movq %rax, -184(%rbp) # sd_parent, %sfp
movq -136(%rbp), %rax # %sfp, tcp_ptr__
#APP
add %gs:this_cpu_off, %rax # this_cpu_off, tcp_ptr__
#NO_APP

Observen el contenido del -136(%rbp). En serio, esa es una constante inmediata que el compilador esta derramando. Alguien necesita reparar ese error que esta en GCC porque, maldita sea, es una mierda loca muy seria.

Sin embargo, esa parte de la constante derramada solo cuenta como un ‘demasiado estúpido para vivir’. El error real es este:

movq $load_balance_mask, -136(%rbp) #, %sfp
subq $184, %rsp #,

Donde GCC crea un stack frame luego de que se haya usado para guardar esa constante *profunda* por debajo del marco de pila.”

Además indicó sobre el incluir advertencias sobre el uso de GCC 4.9, al respecto dijo: “Como sea, esto no es un error del kernel Linux, esto es un código completamente roto creado a través de su compilador. Necesitamos añadir una advertencia para así asegurar que nadie compile con GCC 4.9 y la gente de Debian debería degradar su inocente nuevo compilador.”

Vale destacar que Linus Torvalds ya ha reportado este error a la gente de GCC para que se solvente dicho problema.

Puedes conocer todos los detalles al respecto puedes ir al anuncio oficial.

Fuente: Phoronix y Libuntu.

8
Deja una respuesta

avatar
5 Hilos de comentario
3 Respuestas de hilo
0 Seguidores
 
Comentario más reaccionado
El hilo de comentarios más caliente
6 Autores de comentarios
TadaimaNoelRené Lópezsararnbasvdfnabsvdf Autores de comentarios recientes
  Suscribirse  
Los más recientes Los más antiguos Más votados
Notificarme las
Tadaima
Invitado
Tadaima

El compilador GCC es una mierda, pero el kernel de linux es una mierda llena de bugs y nadie se queja de eso, todos alaban esa porquería mal programada. Linus eres un mediocre y lo que me extraña es que nadie haya sacado un kernel mejor en el software libre. Lo que demuestra que los seres humanos somos muy flojos.

René López
Miembro

Pero si lo explicó tan claramente.. XD

nbasvdfnabsvdf
Invitado
nbasvdfnabsvdf

yo tampoco entendí nada, a pesar de que soy programador

Migbert Yanez
Miembro

Guaooooo que CLARITO…. JAJAJA no entendi ni papa de ese codigo… y la explicacion… buenoo

trackback

Información Bitacoras.com

Valora en Bitacoras.com: Linus Torvalds critica la ultima versión del compilador de software libre GCC diciendo que dicha versión “es una pura y absoluta mierda”. A raíz de un random panic que se origino en una función de carga de equilibrio …