Skip to content

Missing debug symbols for x86_64-unknown-uefi binaries #87157

Open
@x1tan

Description

@x1tan

Since nightly-2020-11-15 building a binary for the x86_64-unknown-uefi target (dev/debug build) does not include debug symbols anymore.

I expected to see this happen:

$ objdump -h target-bisector-nightly-2020-11-14-x86_64-unknown-linux-gnu/x86_64-unknown-uefi/debug/rust-efi-runtime-driver.efi

target-bisector-nightly-2020-11-14-x86_64-unknown-linux-gnu/x86_64-unknown-uefi/debug/rust-efi-runtime-driver.efi:     file format pei-x86-64

Sections:
Idx Name          Size      VMA               LMA               File off  Algn
  0 .text         0000f25c  0000000140001000  0000000140001000  00000400  2**4
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  1 .rdata        00001f99  0000000140011000  0000000140011000  0000f800  2**4
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  2 .data         00000090  0000000140013000  0000000140013000  00011800  2**4
                  CONTENTS, ALLOC, LOAD, DATA
  3 .eh_fram      00000040  0000000140014000  0000000140014000  00011a00  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  4 .reloc        000009d0  0000000140015000  0000000140015000  00011c00  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  5 .debug_abbrev 000053f4  0000000140016000  0000000140016000  00012600  2**0
                  CONTENTS, READONLY, DEBUGGING
  6 .debug_aranges 0000d7a0  000000014001c000  000000014001c000  00017a00  2**0
                  CONTENTS, READONLY, DEBUGGING
  7 .debug_info   000715cc  000000014002a000  000000014002a000  00025200  2**0
                  CONTENTS, READONLY, DEBUGGING
  8 .debug_line   000442ec  000000014009c000  000000014009c000  00096800  2**0
                  CONTENTS, READONLY, DEBUGGING
  9 .debug_loc    0000167c  00000001400e1000  00000001400e1000  000dac00  2**0
                  CONTENTS, READONLY, DEBUGGING
 10 .debug_pubnames 00017456  00000001400e3000  00000001400e3000  000dc400  2**0
                  CONTENTS, READONLY, DEBUGGING
 11 .debug_pubtypes 00023e5e  00000001400fb000  00000001400fb000  000f3a00  2**0
                  CONTENTS, READONLY, DEBUGGING
 12 .debug_ranges 00027c30  000000014011f000  000000014011f000  00117a00  2**0
                  CONTENTS, READONLY, DEBUGGING
 13 .debug_str    0007c284  0000000140147000  0000000140147000  0013f800  2**0
                  CONTENTS, READONLY, DEBUGGING

Instead, this happened:

$ objdump -h target-bisector-nightly-2020-11-15-x86_64-unknown-linux-gnu/x86_64-unknown-uefi/debug/rust-efi-runtime-driver.efi 

target-bisector-nightly-2020-11-15-x86_64-unknown-linux-gnu/x86_64-unknown-uefi/debug/rust-efi-runtime-driver.efi:     file format pei-x86-64

Sections:
Idx Name          Size      VMA               LMA               File off  Algn
  0 .text         0000f25c  0000000140001000  0000000140001000  00000400  2**4
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  1 .rdata        00001f89  0000000140011000  0000000140011000  0000f800  2**4
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  2 .data         0000008c  0000000140013000  0000000140013000  00011800  2**4
                  CONTENTS, ALLOC, LOAD, DATA
  3 .eh_fram      00000040  0000000140014000  0000000140014000  00011a00  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  4 .reloc        000009c8  0000000140015000  0000000140015000  00011c00  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA

Version it worked on

nightly-2020-11-14

Version with regression

nightly-2020-11-15

Possible commits

cargo-bisect-rustc identified the following commits:


********************************************************************************
Regression in nightly-2020-11-15
********************************************************************************
looking for regression commit between 2020-11-14 and 2020-11-15
cloning rust repository
fetching (via local git) commits from 74f7e32f43b5fb0f83896d124566d8242eb786b1 to 98d66340d6e63eda115afc8b0da1d87965881936
opening existing repository at "rust.git"
refreshing repository
looking up first commit
looking up second commit
checking that commits are by bors and thus have ci artifacts...
finding bors merge commits
found 7 bors merge commits in the specified range
  commit[0] 2020-11-13UTC: Auto merge of #78888 - richkadel:llvm-coverage-tests, r=tmandry
  commit[1] 2020-11-13UTC: Auto merge of #78683 - Nemo157:issue-78673, r=lcnr
  commit[2] 2020-11-14UTC: Auto merge of #78736 - petrochenkov:lazyenum, r=Aaron1011
  commit[3] 2020-11-14UTC: Auto merge of #78951 - petrochenkov:unknown, r=ehuss
  commit[4] 2020-11-14UTC: Auto merge of #78959 - petrochenkov:likeuefi, r=nagisa
  commit[5] 2020-11-14UTC: Auto merge of #75272 - the8472:spec-copy, r=KodrAus
  commit[6] 2020-11-14UTC: Auto merge of #78809 - vn-ki:fix-issue-76064, r=oli-obk

PR #78959 appears to be (at least) related to UEFI.

@rustbot modify labels: +regression-from-stable-to-nightly -regression-untriaged

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-debuginfoArea: Debugging information in compiled programs (DWARF, PDB, etc.)C-bugCategory: This is a bug.O-UEFIUEFIP-mediumMedium priorityT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.regression-from-stable-to-stablePerformance or correctness regression from one stable version to another.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions