mirror of
https://github.com/autc04/Retro68.git
synced 2024-06-01 00:41:46 +00:00
90 lines
3.5 KiB
C
90 lines
3.5 KiB
C
/* Copyright (C) 2021 Free Software Foundation, Inc.
|
|
Contributed by Oracle.
|
|
|
|
This file is part of GNU Binutils.
|
|
|
|
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, 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, 51 Franklin Street - Fifth Floor, Boston,
|
|
MA 02110-1301, USA. */
|
|
|
|
#ifndef _PERFAN_DEBUG_H
|
|
#define _PERFAN_DEBUG_H
|
|
|
|
extern unsigned int mpmt_debug_opt;
|
|
// To set mpmt_debug_opt use:
|
|
// MPMT_DEBUG=4095 ; export MPMT_DEBUG
|
|
#define DEBUG_FLAG (mpmt_debug_opt & 1)
|
|
#define DUMP_ELF_SEC (mpmt_debug_opt & 2)
|
|
#define DUMP_ELF_SYM (mpmt_debug_opt & 4)
|
|
#define DUMP_RELA_SEC (mpmt_debug_opt & 8)
|
|
#define DUMP_ELF_RELOC DUMP_RELA_SEC
|
|
#define DUMP_DWARFLIB (mpmt_debug_opt & 16)
|
|
#define DUMP_DWR_LINE_REGS (mpmt_debug_opt & 32)
|
|
#define DUMP_USER_LABELS (mpmt_debug_opt & 64)
|
|
#define DEBUG_MAPS (mpmt_debug_opt & 128)
|
|
#define DEBUG_DBE_FILE (mpmt_debug_opt & 256)
|
|
#define DEBUG_DATA_WINDOW (mpmt_debug_opt & 512)
|
|
#define DEBUG_STABS (mpmt_debug_opt & 1024)
|
|
#define DEBUG_DATAOBJ (mpmt_debug_opt & 2048)
|
|
#define DEBUG_LOADOBJ (mpmt_debug_opt & 4096)
|
|
#define DEBUG_SAXPARSER (mpmt_debug_opt & 8192)
|
|
#define DUMP_JAVA_CLASS (mpmt_debug_opt & 16384)
|
|
#define DEBUG_COMPARISON (mpmt_debug_opt & 32768)
|
|
#define DEBUG_READ_AR (mpmt_debug_opt & 65536)
|
|
#define DEBUG_ERR_MSG (mpmt_debug_opt & 131072)
|
|
#define DUMP_JCLASS_READER (mpmt_debug_opt & 262144)
|
|
#define DEBUG_DBE (mpmt_debug_opt & 524288)
|
|
#define DEBUG_ARCHIVE (mpmt_debug_opt & 1048576)
|
|
#define DEBUG_IO (mpmt_debug_opt & 2097152)
|
|
#define DUMP_DYN_FILE (mpmt_debug_opt & 4194304)
|
|
#define DUMP_JAR_FILE (mpmt_debug_opt & 8388608)
|
|
#define DUMP_CALL_STACK (mpmt_debug_opt & 16777216)
|
|
#define DEBUG_THREADS (mpmt_debug_opt & 33554432)
|
|
#define DBE_USE_MMAP (mpmt_debug_opt & 67108864)
|
|
|
|
#ifdef DEBUG
|
|
|
|
// Turn on assertion checking whenever debugging
|
|
#define ASSERTS 1
|
|
|
|
// debug macro - provides a clean way of inserting debugging code without
|
|
// having the distracting #ifdef DEBUG ... #else ... #endif directives
|
|
// interspersed throughout the code. It also provides an easy way
|
|
// to turn them off with no loss of efficiency. It is not limited
|
|
// to printf() commands; any code may be inserted. Variables
|
|
// needed only by the debugging code can be declared inside a
|
|
// debug { ... } statement.
|
|
//
|
|
// usage:
|
|
// debug <statement>
|
|
// or, debug { <statements> }
|
|
// If DEBUG is on, map "DEBUG_CODE" to nothing!
|
|
// This results in the <statement> being executed normally
|
|
|
|
#define DEBUG_CODE
|
|
|
|
#else
|
|
// If DEBUG is off, map "DEBUG_CODE" to something harmless.
|
|
// The clever hack used here is to use a conditional with a
|
|
// constant condition, which is optimized out by the compiler,
|
|
// so that <statement> is not present in the compiled code!
|
|
|
|
#define DEBUG_CODE if (0)
|
|
|
|
#endif /*DEBUG*/
|
|
|
|
#define Dprintf(x, ...) DEBUG_CODE if(x) fprintf(stderr, __VA_ARGS__)
|
|
|
|
#endif /* ! _DEBUG_H */
|