diff options
-rw-r--r-- | bfd/coffcode.h | 2 | ||||
-rw-r--r-- | bfd/libbfd.h | 5 | ||||
-rw-r--r-- | bfd/reloc.c | 28 | ||||
-rw-r--r-- | bfd/targets.c | 2 | ||||
-rw-r--r-- | include/bfd.h | 2 |
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, |