aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bfd/coffcode.h2
-rw-r--r--bfd/libbfd.h5
-rw-r--r--bfd/reloc.c28
-rw-r--r--bfd/targets.c2
-rw-r--r--include/bfd.h2
5 files changed, 37 insertions, 2 deletions
diff --git a/bfd/coffcode.h b/bfd/coffcode.h
index e80370d..c7098cd 100644
--- a/bfd/coffcode.h
+++ b/bfd/coffcode.h
@@ -255,6 +255,8 @@ CODE_FRAGMENT
. {* A pointer to the linenumber information for this symbol *}
.struct lineno_cache_entry *lineno;
.
+. {* Have the line numbers been relocated yet ? *}
+.boolean done_lineno;
.} coff_symbol_type;
diff --git a/bfd/libbfd.h b/bfd/libbfd.h
index 81f327d..69f6398 100644
--- a/bfd/libbfd.h
+++ b/bfd/libbfd.h
@@ -213,6 +213,11 @@ void EXFUN(bfd_constructor_entry, (bfd *abfd,
CONST struct reloc_howto_struct *EXFUN(bfd_default_reloc_type_lookup
, (CONST struct bfd_arch_info *,
bfd_reloc_code_type code));
+boolean EXFUN(bfd_generic_relax_section
+ , (bfd *abfd,
+ asection *section,
+ asymbol **symbols,
+ struct bfd_seclet_struct *seclet));
bfd_byte *
EXFUN(bfd_generic_get_relocated_section_contents, (bfd *abfd,
struct bfd_seclet_struct *seclet)
diff --git a/bfd/reloc.c b/bfd/reloc.c
index 622d198..89a92b4 100644
--- a/bfd/reloc.c
+++ b/bfd/reloc.c
@@ -737,7 +737,35 @@ return (struct reloc_howto_struct *)NULL;
}
+/*
+INTERNAL_FUNCTION
+ bfd_generic_relax_section
+
+SYNOPSIS
+ boolean bfd_generic_relax_section
+ (bfd *abfd,
+ asection *section,
+ asymbol **symbols,
+ struct bfd_seclet_struct *seclet);
+
+DESCRIPTION
+ Provides default handling for relaxing for back ends which
+ don't do relaxing - ie does nothing
+*/
+
+boolean
+DEFUN(bfd_generic_relax_section,(abfd, section, symbols, seclet),
+ bfd *abfd AND
+ asection *section AND
+ asymbol **symbols AND
+ struct bfd_seclet_struct *seclet)
+{
+
+ return false;
+
+}
+
/*
INTERNAL_FUNCTION
bfd_generic_get_relocated_section_contents
diff --git a/bfd/targets.c b/bfd/targets.c
index d67e6e2..bfd05d4 100644
--- a/bfd/targets.c
+++ b/bfd/targets.c
@@ -268,7 +268,7 @@ Symbols and reloctions
. SDEF (void, _bfd_debug_info_end, (bfd *));
. SDEF (void, _bfd_debug_info_accumulate, (bfd *, struct sec *));
. SDEF (bfd_byte *, _bfd_get_relocated_section_contents, (bfd*,struct bfd_seclet_struct *));
-
+. SDEF (boolean,_bfd_relax_section,(bfd *, struct sec *, struct symbol_cache_entry **, struct bfd_seclet_struct *));
Special entry points for gdb to swap in coff symbol table parts
. SDEF(void, _bfd_coff_swap_aux_in,(
diff --git a/include/bfd.h b/include/bfd.h
index bc0961b..514103a 100644
--- a/include/bfd.h
+++ b/include/bfd.h
@@ -1277,7 +1277,7 @@ typedef struct bfd_target
SDEF (void, _bfd_debug_info_end, (bfd *));
SDEF (void, _bfd_debug_info_accumulate, (bfd *, struct sec *));
SDEF (bfd_byte *, _bfd_get_relocated_section_contents, (bfd*,struct bfd_seclet_struct *));
- SDEF (boolean,_bfd_relax_section,(bfd *, struct sec *, struct symbol_cache_entry **));
+ SDEF (boolean,_bfd_relax_section,(bfd *, struct sec *, struct symbol_cache_entry **, struct bfd_seclet_struct *));
SDEF(void, _bfd_coff_swap_aux_in,(
bfd *abfd ,
PTR ext,