Skip to content

1.32.0 cargo binary for powerpc64le linux SIGILLs #58334

Closed
@infinity0

Description

@infinity0

Using the cargo from this we get the following SIGILL. The rustc is fine however.

Using gdb to set a breakpoint in rand_pool_acquire_entropy and then single-stepping, we eventually reach:

   │0x10087fac8 <rand_pool_acquire_entropy+136>     mr      r4,r3161,3 
  >│0x10087facc <rand_pool_acquire_entropy+140>     bl      0x100000000
   │0x10087fad0 <rand_pool_acquire_entropy+144>     nop              87ebc0 <rand_pool_bytes_needed+240>

which does not seem to be a real address to actual code. When jumping to this address, the gdb disassembler then executes one instruction (probably it decodes by accident) and then it SIGILLs at address 0x100000004:

  >│0x100000000     .long 0x464c457f
   │0x100000004     .long 0x10102
Program received signal SIGILL, Illegal instruction.
0x0000000100000004 in ?? ()

The Debian cargo 1.32.0 binary works fine, partly this is because it dynamically links to the system openssl.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions