Files
RedBear-OS/local/recipes/dev/gcc16/source/gcc/dwarf2codeview.h
T
vasilito 48a924c561 recipes: regenerate Cargo.lock for the 0.3.2 fork versions
The libredox 0.1.19 / redox_syscall 0.9.1 bump left 45 recipe lockfiles
pinning libredox 0.1.18+rb0.3.1 and redox_syscall 0.9.0+rb0.3.1. The
cookbook builds with --locked, so every affected recipe died with

  error: cannot update the lock file .../Cargo.lock because --locked was
  passed to prevent this

which is what took out redox-driver-sys -- and with it every Red Bear
driver -- during the redbear-full build. Regenerating the fork lockfiles
was not enough; the recipes that consume the forks as path deps carry
their own. This is step 6 of local/docs/FORK-BUMP-PATCHING-POLICY.md
applied to the recipe layer.

Also drop the hardcoded GCC version in recipes/libs/libstdcxx-v3: the
literal include/c++/13.2.0 stopped resolving the moment the cross
toolchain moved to 16.1.0, leaving -I pointing at a directory that does
not exist. Now resolves the newest installed C++ header directory and
fails loudly if there is none. Same failure class as the hardcoded
13.2.0 in mk/prefix.mk.

Note: a few recipe-level Cargo.lock files (redox-driver-pci, cpufreqd,
redbear-acmd/-ecmd/-ftdi) sit beside a recipe.toml whose [source] is
path = "source", so they are not build inputs; redox-driver-pci's even
references a redox-driver-core/Cargo.toml that does not exist. They are
left alone rather than given meaning they do not have.

redox-driver-sys now cooks clean.
2026-08-03 14:15:38 +03:00

103 lines
3.0 KiB
C

/* dwarf2codeview.h - DWARF interface for CodeView generation.
Copyright (C) 2023-2026 Free Software Foundation, Inc.
This file is part of GCC.
GCC 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, or (at your option) any later
version.
GCC 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 GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
#ifndef GCC_DWARF2CODEVIEW_H
#define GCC_DWARF2CODEVIEW_H 1
#include "dwarf2out.h"
#include "flags.h"
/* Constants for in-built types. */
#define T_VOID 0x0003
#define T_HRESULT 0x0008
#define T_CHAR 0x0010
#define T_SHORT 0x0011
#define T_LONG 0x0012
#define T_QUAD 0x0013
#define T_UCHAR 0x0020
#define T_USHORT 0x0021
#define T_ULONG 0x0022
#define T_UQUAD 0x0023
#define T_BOOL08 0x0030
#define T_REAL32 0x0040
#define T_REAL64 0x0041
#define T_REAL80 0x0042
#define T_REAL128 0x0043
#define T_RCHAR 0x0070
#define T_WCHAR 0x0071
#define T_INT4 0x0074
#define T_UINT4 0x0075
#define T_CHAR16 0x007a
#define T_CHAR32 0x007b
#define T_CHAR8 0x007c
#define CV_POINTER_32 0x0400
#define CV_POINTER_64 0x0600
#define T_32PVOID (T_VOID | CV_POINTER_32)
#define T_64PVOID (T_VOID | CV_POINTER_64)
/* LF_POINTER attributes. */
#define CV_PTR_NEAR32 0x0a
#define CV_PTR_64 0x0c
/* enum CV_ptrmode_e in cvinfo.h, shifted by 5 for the lfPointerAttr bitfield */
#define CV_PTR_MODE_MASK 0xe0
#define CV_PTR_MODE_LVREF 0x20
#define CV_PTR_MODE_PMEM 0x40
#define CV_PTR_MODE_PMFUNC 0x60
#define CV_PTR_MODE_RVREF 0x80
/* enum CV_pmtype_e in in cvinfo.h */
#define CV_PMTYPE_D_Single 0x01
#define CV_PMTYPE_F_Single 0x05
/* LF_MODIFIER values. */
#define MOD_const 0x1
#define MOD_volatile 0x2
#define CV_ACCESS_PRIVATE 1
#define CV_ACCESS_PROTECTED 2
#define CV_ACCESS_PUBLIC 3
/* CV_methodprop_e values in cvinfo.h, shifted by 2 for CV_fldattr_t. */
#define CV_METHOD_VANILLA 0x00
#define CV_METHOD_VIRTUAL 0x04
#define CV_METHOD_STATIC 0x08
#define CV_METHOD_FRIEND 0x0c
#define CV_METHOD_INTRO 0x10
#define CV_METHOD_PUREVIRT 0x14
#define CV_METHOD_PUREINTRO 0x18
#define CV_PROP_FWDREF 0x80
/* Debug Format Interface. Used in dwarf2out.cc. */
extern void codeview_debug_finish (void);
extern void codeview_source_line (unsigned int, const char *);
extern void codeview_start_source_file (const char *);
extern void codeview_switch_text_section ();
extern void codeview_end_epilogue (void);
extern void codeview_debug_early_finish (dw_die_ref die);
extern void codeview_begin_block (unsigned int, unsigned int, tree);
extern void codeview_end_block (unsigned int, unsigned int);
extern void codeview_abstract_function (tree);
#endif /* GCC_DWARF2CODEVIEW_H */