aboutsummaryrefslogtreecommitdiff
path: root/bfd/nlm32-alpha.c
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>1995-11-29 22:05:37 +0000
committerIan Lance Taylor <ian@airs.com>1995-11-29 22:05:37 +0000
commita9713b91a74c2cc05db65ec58573f388d2c41cc0 (patch)
treec786fa623034d37112d9290b9380d06ff0c36a5c /bfd/nlm32-alpha.c
parent8f2bdc203241c910f5ddd969a5ebb5f7199f7edd (diff)
downloadgdb-a9713b91a74c2cc05db65ec58573f388d2c41cc0.zip
gdb-a9713b91a74c2cc05db65ec58573f388d2c41cc0.tar.gz
gdb-a9713b91a74c2cc05db65ec58573f388d2c41cc0.tar.bz2
* opncls.c (bfd_alloc_by_size_t): Set bfd_error_no_memory if
obstack_alloc fails. (bfd_alloc_finish): Set bfd_error_no_memory if obstack_finish fails. * libbfd.c (bfd_zmalloc): Set bfd_error_no_memory if malloc fails. * Many files: don't set bfd_error_no_memory if one of the above routines fails.
Diffstat (limited to 'bfd/nlm32-alpha.c')
-rw-r--r--bfd/nlm32-alpha.c38
1 files changed, 17 insertions, 21 deletions
diff --git a/bfd/nlm32-alpha.c b/bfd/nlm32-alpha.c
index b18eb65..c70f630 100644
--- a/bfd/nlm32-alpha.c
+++ b/bfd/nlm32-alpha.c
@@ -16,7 +16,7 @@ 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, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/* This file describes the 32 bit Alpha NLM format. You might think
that an Alpha chip would use a 64 bit format, but, for some reason,
@@ -461,7 +461,7 @@ nlm_alpha_read_reloc (abfd, sym, secp, rel)
|| r_type == ALPHA_R_GPDISP
|| r_type == ALPHA_R_IGNORE)
{
- rel->sym_ptr_ptr = bfd_abs_section.symbol_ptr_ptr;
+ rel->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr;
rel->addend = 0;
}
else if (r_symndx == ALPHA_RELOC_SECTION_TEXT)
@@ -478,7 +478,7 @@ nlm_alpha_read_reloc (abfd, sym, secp, rel)
else
{
BFD_ASSERT (0);
- rel->sym_ptr_ptr = bfd_abs_section.symbol_ptr_ptr;
+ rel->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr;
rel->addend = 0;
}
}
@@ -531,7 +531,7 @@ nlm_alpha_read_reloc (abfd, sym, secp, rel)
addend, but they do use a special code. Put this code in the
addend field. */
rel->addend = r_symndx;
- rel->sym_ptr_ptr = bfd_abs_section.symbol_ptr_ptr;
+ rel->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr;
break;
case ALPHA_R_OP_STORE:
@@ -562,7 +562,7 @@ nlm_alpha_read_reloc (abfd, sym, secp, rel)
some reason the address of this reloc type is not adjusted by
the section vma. We record the gp value for this object file
here, for convenience when doing the GPDISP relocation. */
- rel->sym_ptr_ptr = bfd_abs_section.symbol_ptr_ptr;
+ rel->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr;
rel->address = r_vaddr;
rel->addend = gp_value;
break;
@@ -584,7 +584,7 @@ nlm_alpha_read_reloc (abfd, sym, secp, rel)
}
else
BFD_ASSERT (0);
- rel->sym_ptr_ptr = bfd_abs_section.symbol_ptr_ptr;
+ rel->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr;
break;
default:
@@ -623,33 +623,29 @@ nlm_alpha_read_import (abfd, sym)
bfd_size_type rcount; /* number of relocs */
bfd_byte temp[NLM_TARGET_LONG_SIZE]; /* temporary 32-bit value */
unsigned char symlength; /* length of symbol name */
+ char *name;
if (bfd_read ((PTR) &symlength, sizeof (symlength), 1, abfd)
!= sizeof (symlength))
return false;
sym -> symbol.the_bfd = abfd;
- sym -> symbol.name = bfd_alloc (abfd, symlength + 1);
- if (!sym -> symbol.name)
- {
- bfd_set_error (bfd_error_no_memory);
- return false;
- }
- if (bfd_read ((PTR) sym -> symbol.name, symlength, 1, abfd)
- != symlength)
+ name = bfd_alloc (abfd, symlength + 1);
+ if (name == NULL)
+ return false;
+ if (bfd_read (name, symlength, 1, abfd) != symlength)
return false;
+ name[symlength] = '\0';
+ sym -> symbol.name = name;
sym -> symbol.flags = 0;
sym -> symbol.value = 0;
- sym -> symbol.section = &bfd_und_section;
+ sym -> symbol.section = bfd_und_section_ptr;
if (bfd_read ((PTR) temp, sizeof (temp), 1, abfd) != sizeof (temp))
return false;
rcount = bfd_h_get_32 (abfd, temp);
nlm_relocs = ((struct nlm_relent *)
bfd_alloc (abfd, rcount * sizeof (struct nlm_relent)));
if (!nlm_relocs)
- {
- bfd_set_error (bfd_error_no_memory);
- return false;
- }
+ return false;
sym -> relocs = nlm_relocs;
sym -> rcnt = 0;
while (sym -> rcnt < rcount)
@@ -693,7 +689,7 @@ nlm_alpha_write_import (abfd, sec, rel)
r_vaddr += bfd_section_size (abfd,
bfd_get_section_by_name (abfd,
NLM_CODE_NAME));
- if (bfd_get_section (sym) == &bfd_und_section)
+ if (bfd_is_und_section (bfd_get_section (sym)))
{
r_extern = 1;
r_symndx = 0;
@@ -842,7 +838,7 @@ nlm_alpha_write_external (abfd, count, sym, relocs)
/* The first two relocs for each external symbol are the .lita
address and the GP value. */
- r.sym_ptr_ptr = bfd_abs_section.symbol_ptr_ptr;
+ r.sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr;
r.howto = &nlm32_alpha_nw_howto;
r.address = nlm_alpha_backend_data (abfd)->lita_address;