58 lines
1.4 KiB
C
58 lines
1.4 KiB
C
$NetBSD$
|
|
|
|
--- include/os/unix/netbsd/linker.h.orig 2017-02-19 02:09:05.286832064 +0000
|
|
+++ include/os/unix/netbsd/linker.h
|
|
@@ -0,0 +1,52 @@
|
|
+/*
|
|
+Copyright (C) 2015 - 2015 Evan Teran
|
|
+ evan.teran@gmail.com
|
|
+
|
|
+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 2 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 LINKER_20170103_H_
|
|
+#define LINKER_20170103_H_
|
|
+
|
|
+namespace edb {
|
|
+namespace netbsd {
|
|
+
|
|
+// Bitness-templated version of struct r_debug defined in link.h
|
|
+template <class Addr>
|
|
+struct r_debug {
|
|
+ int r_version;
|
|
+ Addr r_map; // struct link_map*
|
|
+ Addr r_brk;
|
|
+ enum {
|
|
+ RT_CONSISTENT,
|
|
+ RT_ADD,
|
|
+ RT_DELETE
|
|
+ } r_state;
|
|
+ Addr r_ldbase;
|
|
+};
|
|
+
|
|
+// Bitness-templated version of struct link_map defined in link.h
|
|
+template <class Addr>
|
|
+struct link_map {
|
|
+ Addr l_addr;
|
|
+ Addr l_name; // char*
|
|
+ Addr l_ld; // ElfW(Dyn)*
|
|
+ Addr l_next, l_prev; // struct link_map*
|
|
+};
|
|
+
|
|
+}
|
|
+}
|
|
+
|
|
+#endif
|