Files
derek.holloway 7502bf64a4
CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
Flatten subprojects into a single base monorepo
2026-09-02 16:34:47 -07:00

207 lines
5.2 KiB
C

/* SOM internal definitions for BFD.
Copyright (C) 2010-2024 Free Software Foundation, Inc.
Contributed by Tristan Gingold <gingold@adacore.com>, AdaCore.
This file is part of BFD, the Binary File Descriptor library.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
#ifndef _SOM_INTERNAL_H
#define _SOM_INTERNAL_H
struct som_clock
{
unsigned int secs;
unsigned int nanosecs;
};
struct som_header
{
unsigned short system_id;
unsigned short a_magic;
unsigned int version_id;
struct som_clock file_time;
unsigned int entry_space;
unsigned int entry_subspace;
unsigned int entry_offset;
unsigned int aux_header_location;
unsigned int aux_header_size;
unsigned int som_length;
unsigned int presumed_dp;
unsigned int space_location;
unsigned int space_total;
unsigned int subspace_location;
unsigned int subspace_total;
unsigned int loader_fixup_location;
unsigned int loader_fixup_total;
unsigned int space_strings_location;
unsigned int space_strings_size;
unsigned int init_array_location;
unsigned int init_array_total;
unsigned int compiler_location;
unsigned int compiler_total;
unsigned int symbol_location;
unsigned int symbol_total;
unsigned int fixup_request_location;
unsigned int fixup_request_total;
unsigned int symbol_strings_location;
unsigned int symbol_strings_size;
unsigned int unloadable_sp_location;
unsigned int unloadable_sp_size;
unsigned int checksum;
};
struct som_aux_id
{
unsigned int mandatory : 1;
unsigned int copy : 1;
unsigned int append : 1;
unsigned int ignore : 1;
unsigned int reserved : 12;
/* Header type. */
unsigned int type : 16;
/* Length of the header in bytes, without the two word identifier. */
unsigned int length;
};
/* Generic auxiliary string header. */
struct som_string_auxhdr
{
struct som_aux_id header_id;
/* Length of the string, without the NUL. */
unsigned int string_length;
/* The string. */
char string[1];
};
struct som_name_pt
{
char *name;
unsigned int strx;
};
struct som_compilation_unit
{
/* Source file that produced the SOM. */
struct som_name_pt name;
/* Name of the language used when creating this SOM. */
struct som_name_pt language_name;
/* Identificaton of the compiler. */
struct som_name_pt product_id;
/* Version id of the compiler. */
struct som_name_pt version_id;
unsigned int flags;
struct som_clock compile_time;
struct som_clock source_time;
};
struct som_exec_auxhdr
{
struct som_aux_id som_auxhdr;
long exec_tsize;
long exec_tmem;
long exec_tfile;
long exec_dsize;
long exec_dmem;
long exec_dfile;
long exec_bsize;
long exec_entry;
long exec_flags;
long exec_bfill;
};
struct som_space_dictionary_record
{
unsigned int name;
unsigned int is_loadable : 1;
unsigned int is_defined : 1;
unsigned int is_private : 1;
unsigned int has_intermediate_code : 1;
unsigned int is_tspecific : 1;
unsigned int reserved : 11;
unsigned int sort_key : 8;
unsigned int reserved2 : 8;
int space_number;
int subspace_index;
unsigned int subspace_quantity;
int loader_fix_index;
unsigned int loader_fix_quantity;
int init_pointer_index;
unsigned int init_pointer_quantity;
};
struct som_subspace_dictionary_record
{
int space_index;
unsigned int access_control_bits : 7;
unsigned int memory_resident : 1;
unsigned int dup_common : 1;
unsigned int is_common : 1;
unsigned int is_loadable : 1;
unsigned int quadrant : 2;
unsigned int initially_frozen : 1;
unsigned int is_first : 1;
unsigned int code_only : 1;
unsigned int sort_key : 8;
unsigned int replicate_init : 1;
unsigned int continuation : 1;
unsigned int is_tspecific : 1;
unsigned int is_comdat : 1;
unsigned int reserved : 4;
int file_loc_init_value;
unsigned int initialization_length;
unsigned int subspace_start;
unsigned int subspace_length;
unsigned int reserved2 : 5;
unsigned int alignment : 27;
unsigned int name;
int fixup_request_index;
unsigned int fixup_request_quantity;
};
struct som_lst_header
{
unsigned short system_id;
unsigned short a_magic;
unsigned int version_id;
struct som_clock file_time;
unsigned int hash_loc;
unsigned int hash_size;
unsigned int module_count;
unsigned int module_limit;
unsigned int dir_loc;
unsigned int export_loc;
unsigned int export_count;
unsigned int import_loc;
unsigned int aux_loc;
unsigned int aux_size;
unsigned int string_loc;
unsigned int string_size;
unsigned int free_list;
unsigned int file_end;
unsigned int checksum;
};
#endif /* _SOM_INTERNAL_H */