es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Junk al final de la línea, el primer carácter no reconocido es ‘a’ al definir un valor hexadecimal .double.

Mientras se define una variable en una sección como esta,

.section ".__mydebug", "aw"
mydstart:   .double 0x123456789abcdef0
myptr:  .double 0x8888888899999999

Obtengo el siguiente resultado,

arch/arm64/kernel/head.S:994: Error: basura al final de la línea, el primer carácter no reconocido es `a''

Si cambio 0x123456789abcdef0 a 0x1234567890000000, se compila correctamente. Parece que el compilador (gcc) no entiende los caracteres hexadecimales. Intenté 0x123456789ABCDEF0, pero obtengo el mismo error a partir de la A. ¿Cómo puedo solucionar esto?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    El problema no radica en que el compilador no pueda entender caracteres hexadecimales, sino en el uso del símbolo " en el nombre de la sección. El símbolo " es una entidad de codificación HTML para una comilla doble, y no debería ser utilizado en el código.

    Para solucionar el problema, reemplace " simplemente con ". El código corregido debería lucir así:

    .section ".__mydebug", "aw"
    mydstart:   .double 0x123456789abcdef0
    myptr:  .double 0x8888888899999999
    

    Esto debería compilar sin errores.

Comments are closed.