From 871a3f3b24ff84e37f859434993327ef2efba3d0 Mon Sep 17 00:00:00 2001 From: "J.T. Conklin" Date: Wed, 21 Feb 1996 00:29:38 +0000 Subject: [PATCH] * bfd.c (tdata): Add netbsd_core_data. * bfd-in2.h: Regenerated. --- bfd/ChangeLog | 10 ++++++++++ bfd/bfd-in2.h | 2 ++ bfd/bfd.c | 36 +++++++++++++++++++++++++++++++++++- 3 files changed, 47 insertions(+), 1 deletion(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index ffebdbf73f..ceaefd35dc 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,13 @@ +Tue Feb 20 16:22:44 1996 J.T. Conklin + + * bfd.c (tdata): Add netbsd_core_data. + * bfd-in2.h: Regenerated. + +Tue Feb 20 16:50:02 1996 Ian Lance Taylor + + * bout.c (b_out_squirt_out_relocs): Use udata.i rather than flags + to get the symbol index, matching 14 Jul 95 change. + Tue Feb 20 08:26:27 1996 Fred Fish * coff-alpha.c (alpha_ecoff_get_relocated_section_contents): diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h index c5ea2153ed..9e2ded580e 100644 --- a/bfd/bfd-in2.h +++ b/bfd/bfd-in2.h @@ -599,6 +599,7 @@ extern boolean bfd_elf64_size_dynamic_sections PARAMS ((bfd *, const char *, const char *, boolean, struct bfd_link_info *, struct sec **)); extern void bfd_elf_set_dt_needed_name PARAMS ((bfd *, const char *)); +extern const char *bfd_elf_get_dt_soname PARAMS ((bfd *)); /* SunOS shared library support routines for the linker. */ @@ -1997,6 +1998,7 @@ struct _bfd struct osf_core_struct *osf_core_data; struct cisco_core_struct *cisco_core_data; struct versados_data_struct *versados_data; + struct netbsd_core_struct *netbsd_core_data; PTR any; } tdata; diff --git a/bfd/bfd.c b/bfd/bfd.c index c565bf8179..5a23c5d690 100644 --- a/bfd/bfd.c +++ b/bfd/bfd.c @@ -1,5 +1,5 @@ /* Generic BFD library interface and support routines. - Copyright (C) 1990, 91, 92, 93, 94 Free Software Foundation, Inc. + Copyright (C) 1990, 91, 92, 93, 94, 95, 1996 Free Software Foundation, Inc. Written by Cygnus Support. This file is part of BFD, the Binary File Descriptor library. @@ -175,6 +175,7 @@ CODE_FRAGMENT . struct osf_core_struct *osf_core_data; . struct cisco_core_struct *cisco_core_data; . struct versados_data_struct *versados_data; +. struct netbsd_core_struct *netbsd_core_data; . PTR any; . } tdata; . @@ -814,6 +815,39 @@ bfd_set_gp_size (abfd, i) elf_gp_size (abfd) = i; } +/* Get the GP value. This is an internal function used by some of the + relocation special_function routines on targets which support a GP + register. */ + +bfd_vma +_bfd_get_gp_value (abfd) + bfd *abfd; +{ + if (abfd->format == bfd_object) + { + if (abfd->xvec->flavour == bfd_target_ecoff_flavour) + return ecoff_data (abfd)->gp; + else if (abfd->xvec->flavour == bfd_target_elf_flavour) + return elf_gp (abfd); + } + return 0; +} + +/* Set the GP value. */ + +void +_bfd_set_gp_value (abfd, v) + bfd *abfd; + bfd_vma v; +{ + if (abfd->format != bfd_object) + return; + if (abfd->xvec->flavour == bfd_target_ecoff_flavour) + ecoff_data (abfd)->gp = v; + else if (abfd->xvec->flavour == bfd_target_elf_flavour) + elf_gp (abfd) = v; +} + /* FUNCTION bfd_scan_vma -- 2.34.1