Skip to content

ICE: Hiding a symbol in an rlib using asm! causes issues #18953

Closed
@bharrisau

Description

@bharrisau

This is obviously my fault, but reporting it anyway.

I am using the asm! macro to make weak symbols in an rlib. When using the rlib with extern crate and trying to over-ride the weak symbol with a strong one, an ICE is generated.

task 'rustc' panicked at 'index out of bounds: the len is 0 but the index is 433', /build/rust-git/src/rust/src/librustc/lib.rs:1

stack backtrace:
   1:     0x2b650307fc20 - rt::backtrace::imp::write::hcc244d480521f5e9Pdt
   2:     0x2b6503082ca0 - <unknown>
   3:     0x2b650294ec80 - unwind::begin_unwind_inner::h5eadd82ce47d0284E9c
   4:     0x2b650294e900 - unwind::begin_unwind_fmt::h776d307dc6ed351966c
   5:     0x2b650294e8c0 - rust_begin_unwind
   6:     0x2b650298e350 - panicking::panic_fmt::hec098d294ebfb5fb68j
   7:     0x2b650298e1a0 - panicking::panic_bounds_check::h6f58fc03a7f8fc9dF7j
   8:     0x2b6501888bc0 - <unknown>
   9:     0x2b65061a01d0 - <unknown>
  10:     0x2b65063bfc70 - _ZNK4llvm9SourceMgr12PrintMessageERNS_11raw_ostreamENS_5SMLocENS0_8DiagKindERKNS_5TwineENS_8ArrayRefINS_7SMRangeEEENS8_INS_7SMFixItEEEb
  11:     0x2b65063bfea0 - _ZNK4llvm9SourceMgr12PrintMessageENS_5SMLocENS0_8DiagKindERKNS_5TwineENS_8ArrayRefINS_7SMRangeEEENS6_INS_7SMFixItEEEb
  12:     0x2b650619be80 - <unknown>
  13:     0x2b65061a2ed0 - <unknown>
  14:     0x2b65061a5480 - <unknown>
  15:     0x2b6505c07ee0 - _ZNK4llvm10AsmPrinter13EmitInlineAsmENS_9StringRefEPKNS_6MDNodeENS_9InlineAsm10AsmDialectE
  16:     0x2b6505c08620 - _ZNK4llvm10AsmPrinter13EmitInlineAsmEPKNS_12MachineInstrE
  17:     0x2b6505c03e90 - _ZN4llvm10AsmPrinter16EmitFunctionBodyEv
  18:     0x2b65058257a0 - <unknown>
  19:     0x2b650633ff40 - _ZN4llvm13FPPassManager13runOnFunctionERNS_8FunctionE
  20:     0x2b65063405a0 - _ZN4llvm13FPPassManager11runOnModuleERNS_6ModuleE
  21:     0x2b65063405f0 - _ZN4llvm6legacy15PassManagerImpl3runERNS_6ModuleE
  22:     0x2b65055e9af0 - LLVMRustWriteOutputFile
  23:     0x2b6501882870 - back::write::write_output_file::hf52e1818d5684c7e4jc
  24:     0x2b6501889f00 - <unknown>
  25:     0x2b650187e100 - <unknown>
  26:     0x2b650188fa70 - <unknown>
  27:     0x2b650188a480 - back::write::run_passes::h36cd15358abc1d05hVc
  28:     0x2b6502097af0 - <unknown>
  29:     0x2b650187e100 - <unknown>
  30:     0x2b6502043310 - driver::driver::phase_5_run_llvm_passes::haab60ec0089417cdclC
  31:     0x2b650203a470 - driver::driver::compile_input::h02996843b5f2a565eRB
  32:     0x2b65020bd800 - <unknown>
  33:     0x2b65020bd6f0 - <unknown>
  34:     0x2b6501896bc0 - <unknown>
  35:     0x2b65018969b0 - <unknown>
  36:     0x2b65015a5a30 - <unknown>
  37:     0x2b650299be00 - <unknown>
  38:     0x2b650299bdf0 - rust_try
  39:     0x2b650294c600 - unwind::try::h333ab25385d8e012mYc
  40:     0x2b650294c490 - task::Task::run::h2157d702c714dd0du4b
  41:     0x2b65015a5770 - <unknown>
  42:     0x2b650294dca0 - <unknown>
  43:     0x2b65079de250 - start_thread
  44:     0x2b6502d2a3b9 - clone
  45:                0x0 - <unknown>

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-inline-assemblyArea: Inline assembly (`asm!(…)`)I-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions