ff4ff35918
Red Bear OS is a full fork. All sources must be available from git clone with zero network access. Removed gitignore rules that excluded fetched source trees under recipes/*/source/, local/recipes/kde/*/source/, local/recipes/qt/*/source/, and vendor source trees. Build artifacts (target/, build/, source.tar, *.o, *.so) remain excluded. 127291 files added — kernel, relibc, base, bootloader, pkgar, all KDE/Qt frameworks, mesa, wayland, DRM drivers, and every other recipe source.
119 lines
3.7 KiB
C++
119 lines
3.7 KiB
C++
/* Copyright (C) 2021-2024 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 _GP_PRINT_H
|
|
#define _ER_PRINT_H
|
|
|
|
#include "Command.h"
|
|
#include "DbeApplication.h"
|
|
#include "Histable.h"
|
|
#include "Print.h"
|
|
|
|
void ipc_mainLoop (int argc, char *argv[]);
|
|
|
|
class DbeView;
|
|
template <class ITEM> class Vector;
|
|
|
|
// er_print object
|
|
class er_print : public DbeApplication
|
|
{
|
|
public:
|
|
|
|
er_print (int argc, char *argv[]);
|
|
virtual ~er_print ();
|
|
void start (int argc, char *argv[]);
|
|
bool free_memory_before_exit ();
|
|
|
|
private:
|
|
|
|
char *error_msg;
|
|
DbeView *dbev;
|
|
char *out_fname;
|
|
FILE *inp_file;
|
|
FILE *dis_file;
|
|
FILE *out_file;
|
|
int dbevindex;
|
|
char *cov_string;
|
|
int limit;
|
|
Vector<Histable*> *cstack;
|
|
bool was_QQUIT;
|
|
|
|
// override methods in base class
|
|
int check_args (int argc, char *argv[]);
|
|
void usage ();
|
|
|
|
int is_valid_seg_name (char *seg_name, int prev);
|
|
int cmp_seg_name (char *full_name, char *seg_name);
|
|
int process_object_select (char *cov);
|
|
int set_libexpand (char *cov, enum LibExpand expand);
|
|
int set_libdefaults ();
|
|
|
|
bool end_command (char *cmd);
|
|
void run (int argc, char *argv[]);
|
|
void proc_script ();
|
|
void proc_cmd (CmdType cmd_type, int cparam, char *arg1, char *arg2,
|
|
char *arg3 = NULL, char *arg4 = NULL, bool xdefault = true);
|
|
void disp_list (int no_header, int size, int align[],
|
|
char *header[], char **lists[]);
|
|
void exp_list ();
|
|
void describe ();
|
|
void obj_list ();
|
|
void seg_list ();
|
|
void print_objects ();
|
|
void print_overview ();
|
|
void print_overview_nodes (Vector<void*> *data, int level,
|
|
Vector<char *> *metric_cmds, Vector<char *> *non_metric_cmds);
|
|
void print_overview_tree (Vector<void*> *data, int level, Vector<void*> *values,
|
|
Vector<char *> *metric_cmds, Vector<char *> *non_metric_cmds);
|
|
void print_segments ();
|
|
void filter_list (CmdType cmd_type);
|
|
int check_exp_id (int exp_id, char *sel);
|
|
int get_exp_id (char *sel, int &bgn_index, int &end_index);
|
|
void print_func (Histable::Type type, Print_mode mode,
|
|
MetricList *mlist1, MetricList *mlist2,
|
|
char *func_name = NULL, char *sel = NULL);
|
|
void print_gprof (CmdType cmd_type, char *func_name, char *sel);
|
|
void print_ctree (CmdType cmd_type);
|
|
void print_dobj (Print_mode type, MetricList *mlist1,
|
|
char *dobj_name = NULL, char *sel = NULL);
|
|
void memobj (char *, int);
|
|
void mo_list (bool showtab, FILE *outf);
|
|
void mo_define (char *, char *, char *, char *, char *);
|
|
void indxobj (char *, int);
|
|
void indxo_list (bool showtab, FILE *outf);
|
|
void indxo_define (char *, char *, char *, char *);
|
|
void ifreq ();
|
|
void dump_nodes ();
|
|
void dump_stacks ();
|
|
void dump_unk_pcs ();
|
|
void dump_funcs (char *);
|
|
void dump_dataobjects (char *);
|
|
void dump_map ();
|
|
void dump_entities ();
|
|
void dump_stats ();
|
|
void dump_proc_warnings ();
|
|
void send_signal ();
|
|
void print_cmd (er_print_common_display *);
|
|
FILE *set_outfile (char *cmd, FILE *&set_file, bool append);
|
|
void gen_mapfile (char *seg_name, char *cmd);
|
|
};
|
|
|
|
#endif /* _ER_PRINT_H */
|