Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(530)

Side by Side Diff: bfd/elfnn-ia64.c

Issue 11969036: Merge GDB 7.5.1 (Closed) Base URL: http://git.chromium.org/native_client/nacl-gdb.git@master
Patch Set: Created 7 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « bfd/elfn32-mips.c ('k') | bfd/elfxx-mips.c » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
None
OLDNEW
1 /* IA-64 support for 64-bit ELF 1 /* IA-64 support for 64-bit ELF
2 Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2 Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
3 2008, 2009, 2010, 2011 Free Software Foundation, Inc. 3 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
4 Contributed by David Mosberger-Tang <davidm@hpl.hp.com> 4 Contributed by David Mosberger-Tang <davidm@hpl.hp.com>
5 5
6 This file is part of BFD, the Binary File Descriptor library. 6 This file is part of BFD, the Binary File Descriptor library.
7 7
8 This program is free software; you can redistribute it and/or modify 8 This program is free software; you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by 9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation; either version 3 of the License, or 10 the Free Software Foundation; either version 3 of the License, or
11 (at your option) any later version. 11 (at your option) any later version.
12 12
13 This program is distributed in the hope that it will be useful, 13 This program is distributed in the hope that it will be useful,
(...skipping 20 matching lines...) Expand all
34 #define ARCH_SIZE NN 34 #define ARCH_SIZE NN
35 35
36 #if ARCH_SIZE == 64 36 #if ARCH_SIZE == 64
37 #define LOG_SECTION_ALIGN 3 37 #define LOG_SECTION_ALIGN 3
38 #endif 38 #endif
39 39
40 #if ARCH_SIZE == 32 40 #if ARCH_SIZE == 32
41 #define LOG_SECTION_ALIGN 2 41 #define LOG_SECTION_ALIGN 2
42 #endif 42 #endif
43 43
44 /* Only add code for vms when the vms target is enabled. This is required
45 because it depends on vms-lib.c for its archive format and we don't want
46 to compile that code if it is not used. */
47 #if ARCH_SIZE == 64 && \
48 (defined (HAVE_bfd_elf64_ia64_vms_vec) || defined (HAVE_all_vecs))
49 #define INCLUDE_IA64_VMS
50 #endif
51
52 typedef struct bfd_hash_entry *(*new_hash_entry_func) 44 typedef struct bfd_hash_entry *(*new_hash_entry_func)
53 (struct bfd_hash_entry *, struct bfd_hash_table *, const char *); 45 (struct bfd_hash_entry *, struct bfd_hash_table *, const char *);
54 46
55 /* In dynamically (linker-) created sections, we generally need to keep track 47 /* In dynamically (linker-) created sections, we generally need to keep track
56 of the place a symbol or expression got allocated to. This is done via hash 48 of the place a symbol or expression got allocated to. This is done via hash
57 tables that store entries of the following type. */ 49 tables that store entries of the following type. */
58 50
59 struct elfNN_ia64_dyn_sym_info 51 struct elfNN_ia64_dyn_sym_info
60 { 52 {
61 /* The addend for which this entry is relevant. */ 53 /* The addend for which this entry is relevant. */
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
179 static struct elfNN_ia64_dyn_sym_info * get_dyn_sym_info 171 static struct elfNN_ia64_dyn_sym_info * get_dyn_sym_info
180 (struct elfNN_ia64_link_hash_table *ia64_info, 172 (struct elfNN_ia64_link_hash_table *ia64_info,
181 struct elf_link_hash_entry *h, 173 struct elf_link_hash_entry *h,
182 bfd *abfd, const Elf_Internal_Rela *rel, bfd_boolean create); 174 bfd *abfd, const Elf_Internal_Rela *rel, bfd_boolean create);
183 static bfd_boolean elfNN_ia64_dynamic_symbol_p 175 static bfd_boolean elfNN_ia64_dynamic_symbol_p
184 (struct elf_link_hash_entry *h, struct bfd_link_info *info, int); 176 (struct elf_link_hash_entry *h, struct bfd_link_info *info, int);
185 static bfd_boolean elfNN_ia64_choose_gp 177 static bfd_boolean elfNN_ia64_choose_gp
186 (bfd *abfd, struct bfd_link_info *info, bfd_boolean final); 178 (bfd *abfd, struct bfd_link_info *info, bfd_boolean final);
187 static void elfNN_ia64_dyn_sym_traverse 179 static void elfNN_ia64_dyn_sym_traverse
188 (struct elfNN_ia64_link_hash_table *ia64_info, 180 (struct elfNN_ia64_link_hash_table *ia64_info,
189 bfd_boolean (*func) (struct elfNN_ia64_dyn_sym_info *, PTR), 181 bfd_boolean (*func) (struct elfNN_ia64_dyn_sym_info *, void *),
190 PTR info); 182 void * info);
191 static bfd_boolean allocate_global_data_got 183 static bfd_boolean allocate_global_data_got
192 (struct elfNN_ia64_dyn_sym_info *dyn_i, PTR data); 184 (struct elfNN_ia64_dyn_sym_info *dyn_i, void * data);
193 static bfd_boolean allocate_global_fptr_got 185 static bfd_boolean allocate_global_fptr_got
194 (struct elfNN_ia64_dyn_sym_info *dyn_i, PTR data); 186 (struct elfNN_ia64_dyn_sym_info *dyn_i, void * data);
195 static bfd_boolean allocate_local_got 187 static bfd_boolean allocate_local_got
196 (struct elfNN_ia64_dyn_sym_info *dyn_i, PTR data); 188 (struct elfNN_ia64_dyn_sym_info *dyn_i, void * data);
197 static bfd_boolean elfNN_ia64_hpux_vec 189 static bfd_boolean elfNN_ia64_hpux_vec
198 (const bfd_target *vec); 190 (const bfd_target *vec);
199 static bfd_boolean allocate_dynrel_entries 191 static bfd_boolean allocate_dynrel_entries
200 (struct elfNN_ia64_dyn_sym_info *dyn_i, PTR data); 192 (struct elfNN_ia64_dyn_sym_info *dyn_i, void * data);
201 static asection *get_pltoff 193 static asection *get_pltoff
202 (bfd *abfd, struct bfd_link_info *info, 194 (bfd *abfd, struct bfd_link_info *info,
203 struct elfNN_ia64_link_hash_table *ia64_info); 195 struct elfNN_ia64_link_hash_table *ia64_info);
204 196
205 197
206 /* ia64-specific relocation. */ 198 /* ia64-specific relocation. */
207 199
208 /* Given a ELF reloc, return the matching HOWTO structure. */ 200 /* Given a ELF reloc, return the matching HOWTO structure. */
209 201
210 static void 202 static void
(...skipping 309 matching lines...) Expand 10 before | Expand all | Expand 10 after
520 continue; 512 continue;
521 513
522 else 514 else
523 { 515 {
524 /* We can't do anything with undefined symbols. */ 516 /* We can't do anything with undefined symbols. */
525 if (h->root.type == bfd_link_hash_undefined 517 if (h->root.type == bfd_link_hash_undefined
526 || h->root.type == bfd_link_hash_undefweak) 518 || h->root.type == bfd_link_hash_undefweak)
527 continue; 519 continue;
528 520
529 tsec = h->root.u.def.section; 521 tsec = h->root.u.def.section;

error: old chunk mismatch

OLDNEW
« no previous file with comments | « bfd/elfn32-mips.c ('k') | bfd/elfxx-mips.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698