blob: 4fa3c9030155e327dadf50b69ea5680f683e4256 [file] [log] [blame]
// Copyright 2022 The Fuchsia Authors
//
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file or at
// https://opensource.org/licenses/MIT
#ifndef ELF_INTERP_INC
#error "ELF_INTERP_INC must be defined to a \"\" quoted file name string"
#endif
// The linker interprets this magic section name and generates a PT_INTERP
// segment pointing at it. It contains the NUL-terminated interpreter
// name. In kernel-land, we use this for physboot-compatible ELF objects
// to identify the particular physboot binary they were built to go with by
// its ELF build ID as a text string of lowercase hexadecimal.
.section .interp, "aR", %progbits
.balign 1
// This is a generated file that does `.incbin "some-file-name"`.
// The file it includes is expected to contain text with no trailing newline.
// For example, a stamp file from buildidtool that has just a build ID in hex.
#include ELF_INTERP_INC
// Provide the traditional NUL terminator that's expected to be included in
// the p_filesz calculation for the PT_INTERP segment.
.byte 0