Skip to content

Commit

Permalink
elf: Define Go Build ID constants
Browse files Browse the repository at this point in the history
  • Loading branch information
tamird committed Jun 1, 2023
1 parent 00f38d8 commit 96cec7d
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 0 deletions.
2 changes: 2 additions & 0 deletions crates/examples/src/readobj/elf.rs
Original file line number Diff line number Diff line change
Expand Up @@ -562,6 +562,7 @@ fn print_notes<Elf: FileHeader>(
ELF_NOTE_CORE | ELF_NOTE_LINUX => FLAGS_NT_CORE,
ELF_NOTE_SOLARIS => FLAGS_NT_SOLARIS,
ELF_NOTE_GNU => FLAGS_NT_GNU,
ELF_NOTE_GO => FLAGS_NT_GO,
_ => {
// TODO: NT_VERSION
&[]
Expand Down Expand Up @@ -3234,6 +3235,7 @@ const FLAGS_NT_GNU: &[Flag<u32>] = &flags!(
NT_GNU_GOLD_VERSION,
NT_GNU_PROPERTY_TYPE_0,
);
const FLAGS_NT_GO: &[Flag<u32>] = &flags!(NT_GO_BUILD_ID);
const FLAGS_GNU_PROPERTY: &[Flag<u32>] = &flags!(
GNU_PROPERTY_STACK_SIZE,
GNU_PROPERTY_NO_COPY_ON_PROTECTED,
Expand Down
10 changes: 10 additions & 0 deletions src/elf.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1835,6 +1835,10 @@ pub const NT_SOLARIS_PAGESIZE_HINT: u32 = 1;
/// GNU entries in the note section have this name.
pub const ELF_NOTE_GNU: &[u8] = b"GNU";

/// Go entries in the note section have this name.
// See https://go-review.googlesource.com/9520 and https://go-review.googlesource.com/10704.
pub const ELF_NOTE_GO: &[u8] = b"Go";

// Note types for `ELF_NOTE_GNU`.

/// ABI information.
Expand Down Expand Up @@ -1870,6 +1874,12 @@ pub const NT_GNU_HWCAP: u32 = 2;
/// The descriptor consists of any nonzero number of bytes.
pub const NT_GNU_BUILD_ID: u32 = 3;

/// Build ID bits as generated by Go's gc compiler.
///
/// The descriptor consists of any nonzero number of bytes.
// See https://go-review.googlesource.com/10707.
pub const NT_GO_BUILD_ID: u32 = 4;

/// Version note generated by GNU gold containing a version string.
pub const NT_GNU_GOLD_VERSION: u32 = 4;

Expand Down

0 comments on commit 96cec7d

Please sign in to comment.