Home > other >  junk at end of line, first unrecognized character is `a' while defining a variable in assembly
junk at end of line, first unrecognized character is `a' while defining a variable in assembly

Time:01-05

While defining a variable in a section like this,

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

I get

arch/arm64/kernel/head.S:994: Error: junk at end of line, first unrecognized character is `a'

If I change 0x123456789abcdef0 to 0x1234567890000000, it compiles ok. So it seems the compiler (gcc) doesn't understand the hex chanaracters. I tried 0x123456789ABCDEF0 but it's the same error starting from A. How can I do this?

CodePudding user response:

.double is for assembling floating-point values.

If you want the 64-bit integer 0x123456789abcdef0, use .dword or .xword or .8byte.

  •  Tags:  
  • Related