Pregunta

Tengo problemas para vincular una biblioteca compartida utilizando gcc 3.2.3 con binutils 2.18. Cuando trato de enlazar la librería me sale el siguiente error:

.gnu.linkonce.t _... hace referencia en la sección .rodata: se define en la sección descartada .gnu.linkonce.t ...

He hecho una buena cantidad de googlear en esto y la mayoría de los lugares parecen indicar que es una regresión introducir en binutils 2.17 y posteriormente fijado en 2.18.50, pero tenía curiosidad por si alguien sabía si había alguna soluciones particulares para el problema sin tener que tocar binutils y gcc.

Gracias.

¿Fue útil?

Solución

Esto resultó ser un resultado extraño, donde el sistema fue una mala adaptación gcc con diferentes binutils. estaba siendo usado / usr / bin / gcc (3.2.3) y / usr / local / bin / ld estaba siendo utilizado con él debido a / usr / local / bin estar frente a / usr / bin en la ruta. Cuando cambiamos de manera que / usr / bin estaba en el frente de la trayectoria, el directorio / usr / bin / ld apropiada se llama (binutils 2.14) y esto parece haber resuelto el problema.

Otros consejos

Este error se encontró y se informó aquí GCC Bugzilla , un pequeño caso de prueba que se centra en el fallo se proporciona en los comentarios que he encontrado que es muy útil para no perder tiempo. Este error se corrigió a partir GCC 3.4.6.

he tenido este problema durante el uso de GCC 3.3.1 con binutils 2.15.92 y binutils 2.17.50 y ambos no funcionaba. Por lo tanto, para mí está claro que no era la mezcla de GCC y binutils versiones que hicieron el problema.

Si tiene que usar una versión más antigua GCC puede usar este parche proporcionado por H.J. y hacerlo de forma manual y luego reconstruir su antigua GCC de nuevo.

Fijar sin grupo COMDAT

Fijar con grupo COMDAT

Comprobar los archivos adjuntos en los enlaces proporcionados que muestra el diff exacta para la revisión.

he hice yo mismo y lo ha probado y ha funcionado con éxito, parches GCC 3.3.1 con el primer punto de referencia "sin grupo COMDAT", reconstruido y utilizado con binutils 2.15.92 y binutils 2.17.50.

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