mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-28 20:43:45 +08:00
c9cb8905b4
As a small step towards removing inferior_list/inferior_list_entry, this patch replaces the usage of inferior_list for the list of dlls by an std::list. The dll_info type now uses an std::string for name and has a simple constructor. I am able to build gdbserver with mingw on Linux, but I am not able to test this on a Windows machine (the only platform that uses this code). gdb/gdbserver/ChangeLog: * dll.h: Include <list>. (struct dll_info): Add constructor. <entry>: Remove field. (all_dlls): Change type to std::list<dll_info>. * dll.c: Include <algorithm>. (get_dll): Remove macro. (all_dlls): Change type to std::list<dll_info *>. (free_one_dll): Remove. (match_dll): Likewise. (loaded_dll): Adjust. (unloaded_dll): Adjust to all_dlls type change, use std::find_if. Inline code from match_dll. (clear_dlls): Adjust to all_dlls type change. * server.c (emit_dll_description): Remove. (handle_qxfer_libraries): Adjust to all_dlls type change, integrate emit_dll_description's functionality.
41 lines
1.2 KiB
C++
41 lines
1.2 KiB
C++
/* Copyright (C) 1993-2017 Free Software Foundation, Inc.
|
|
|
|
This file is part of GDB.
|
|
|
|
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, see <http://www.gnu.org/licenses/>. */
|
|
|
|
#ifndef DLL_H
|
|
#define DLL_H
|
|
|
|
#include <list>
|
|
|
|
struct dll_info
|
|
{
|
|
dll_info (const std::string &name_, CORE_ADDR base_addr_)
|
|
: name (name_), base_addr (base_addr_)
|
|
{}
|
|
|
|
std::string name;
|
|
CORE_ADDR base_addr;
|
|
};
|
|
|
|
extern std::list<dll_info> all_dlls;
|
|
extern int dlls_changed;
|
|
|
|
extern void clear_dlls (void);
|
|
extern void loaded_dll (const char *name, CORE_ADDR base_addr);
|
|
extern void unloaded_dll (const char *name, CORE_ADDR base_addr);
|
|
|
|
#endif /* DLL_H */
|