Commit | Line | Data |
---|---|---|
252b5132 | 1 | /* NLM (NetWare Loadable Module) executable support for BFD. |
2571583a | 2 | Copyright (C) 1993-2017 Free Software Foundation, Inc. |
252b5132 | 3 | |
7920ce38 | 4 | This file is part of BFD, the Binary File Descriptor library. |
252b5132 | 5 | |
7920ce38 NC |
6 | This program is free software; you can redistribute it and/or modify |
7 | it under the terms of the GNU General Public License as published by | |
cd123cb7 | 8 | the Free Software Foundation; either version 3 of the License, or |
7920ce38 | 9 | (at your option) any later version. |
252b5132 | 10 | |
7920ce38 NC |
11 | This program is distributed in the hope that it will be useful, |
12 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
14 | GNU General Public License for more details. | |
252b5132 | 15 | |
7920ce38 NC |
16 | You should have received a copy of the GNU General Public License |
17 | along with this program; if not, write to the Free Software | |
cd123cb7 NC |
18 | Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, |
19 | MA 02110-1301, USA. */ | |
252b5132 | 20 | |
252b5132 | 21 | #include "sysdep.h" |
3db64b00 | 22 | #include "bfd.h" |
252b5132 RH |
23 | #include "libbfd.h" |
24 | #include "libnlm.h" | |
25 | ||
26 | /* Make an NLM object. We just need to allocate the backend | |
27 | information. */ | |
28 | ||
b34976b6 | 29 | bfd_boolean |
7920ce38 | 30 | nlm_mkobject (bfd * abfd) |
252b5132 | 31 | { |
dc810e39 | 32 | bfd_size_type amt = sizeof (struct nlm_obj_tdata); |
7920ce38 NC |
33 | |
34 | nlm_tdata (abfd) = bfd_zalloc (abfd, amt); | |
252b5132 | 35 | if (nlm_tdata (abfd) == NULL) |
b34976b6 | 36 | return FALSE; |
252b5132 RH |
37 | |
38 | if (nlm_architecture (abfd) != bfd_arch_unknown) | |
39 | bfd_default_set_arch_mach (abfd, nlm_architecture (abfd), | |
40 | nlm_machine (abfd)); | |
41 | ||
7920ce38 | 42 | /* Since everything is done at close time, do we need any initialization ? */ |
b34976b6 | 43 | return TRUE; |
252b5132 RH |
44 | } |
45 | ||
46 | /* Set the architecture and machine for an NLM object. */ | |
47 | ||
b34976b6 | 48 | bfd_boolean |
7920ce38 NC |
49 | nlm_set_arch_mach (bfd * abfd, |
50 | enum bfd_architecture arch, | |
51 | unsigned long machine) | |
252b5132 RH |
52 | { |
53 | bfd_default_set_arch_mach (abfd, arch, machine); | |
54 | return arch == nlm_architecture (abfd); | |
55 | } |