diff options
author | Geoffrey Keating <geoffk@geoffk.org> | 2000-12-12 20:05:16 +0000 |
---|---|---|
committer | Geoffrey Keating <geoffk@geoffk.org> | 2000-12-12 20:05:16 +0000 |
commit | 5d6f4f16793f8c4ac42ff7524daf1035d2980e4e (patch) | |
tree | 4af407083f80e9b92a504b623966fb8dfe10b09b | |
parent | 6d02a66752fabe76bdec0b36f34be7f3c25ac993 (diff) | |
download | gdb-5d6f4f16793f8c4ac42ff7524daf1035d2980e4e.zip gdb-5d6f4f16793f8c4ac42ff7524daf1035d2980e4e.tar.gz gdb-5d6f4f16793f8c4ac42ff7524daf1035d2980e4e.tar.bz2 |
2000-12-12 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
* config/tc-ppc.c (md_pseudo_table): Add .file and .loc.
(md_assemble): Call dwarf2_emit_insn.
(shlib): Fix typo SHILB -> SHLIB.
(md_parse_option): Likewise.
(ppc_elf_validate_fix): Likewise:
* config/tc-ppc.h (DWARF2_LINE_MIN_INSN_LENGTH): New.
-rw-r--r-- | gas/ChangeLog | 9 | ||||
-rw-r--r-- | gas/config/tc-ppc.c | 15 | ||||
-rw-r--r-- | gas/config/tc-ppc.h | 1 |
3 files changed, 21 insertions, 4 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 5e683a3..ff053dc 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,12 @@ +2000-12-12 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> + + * config/tc-ppc.c (md_pseudo_table): Add .file and .loc. + (md_assemble): Call dwarf2_emit_insn. + (shlib): Fix typo SHILB -> SHLIB. + (md_parse_option): Likewise. + (ppc_elf_validate_fix): Likewise: + * config/tc-ppc.h (DWARF2_LINE_MIN_INSN_LENGTH): New. + 2000-12-12 Nick Clifton <nickc@redhat.com> * cgen.h: Fix formatting. diff --git a/gas/config/tc-ppc.c b/gas/config/tc-ppc.c index 9985f43..4d4c321 100644 --- a/gas/config/tc-ppc.c +++ b/gas/config/tc-ppc.c @@ -29,6 +29,7 @@ #ifdef OBJ_ELF #include "elf/ppc.h" +#include "dwarf2dbg.h" #endif #ifdef TE_PE @@ -197,6 +198,8 @@ const pseudo_typeS md_pseudo_table[] = { "rdata", ppc_elf_rdata, 0 }, { "rodata", ppc_elf_rdata, 0 }, { "lcomm", ppc_elf_lcomm, 0 }, + { "file", dwarf2_directive_file, 0 }, + { "loc", dwarf2_directive_loc, 0 }, #endif #ifdef TE_PE @@ -674,7 +677,7 @@ static struct hash_control *ppc_macro_hash; #ifdef OBJ_ELF /* What type of shared library support to use */ -static enum { SHLIB_NONE, SHLIB_PIC, SHILB_MRELOCATABLE } shlib = SHLIB_NONE; +static enum { SHLIB_NONE, SHLIB_PIC, SHLIB_MRELOCATABLE } shlib = SHLIB_NONE; /* Flags to set in the elf header */ static flagword ppc_flags = 0; @@ -879,13 +882,13 @@ md_parse_option (c, arg) /* -mrelocatable/-mrelocatable-lib -- warn about initializations that require relocation */ else if (strcmp (arg, "relocatable") == 0) { - shlib = SHILB_MRELOCATABLE; + shlib = SHLIB_MRELOCATABLE; ppc_flags |= EF_PPC_RELOCATABLE; } else if (strcmp (arg, "relocatable-lib") == 0) { - shlib = SHILB_MRELOCATABLE; + shlib = SHLIB_MRELOCATABLE; ppc_flags |= EF_PPC_RELOCATABLE_LIB; } @@ -1553,7 +1556,7 @@ ppc_elf_validate_fix (fixp, seg) case SHLIB_PIC: return; - case SHILB_MRELOCATABLE: + case SHLIB_MRELOCATABLE: if (fixp->fx_r_type <= BFD_RELOC_UNUSED && fixp->fx_r_type != BFD_RELOC_16_GOTOFF && fixp->fx_r_type != BFD_RELOC_HI16_GOTOFF @@ -2097,6 +2100,10 @@ md_assemble (str) f = frag_more (4); md_number_to_chars (f, insn, 4); +#ifdef OBJ_ELF + dwarf2_emit_insn (4); +#endif + /* Create any fixups. At this point we do not use a bfd_reloc_code_real_type, but instead just use the BFD_RELOC_UNUSED plus the operand index. This lets us easily diff --git a/gas/config/tc-ppc.h b/gas/config/tc-ppc.h index 09e71dc..f246cd7 100644 --- a/gas/config/tc-ppc.h +++ b/gas/config/tc-ppc.h @@ -258,6 +258,7 @@ extern const char *ppc_comment_chars; && S_IS_DEFINED ((FIX)->fx_addsy) \ && ! S_IS_COMMON ((FIX)->fx_addsy))) +#define DWARF2_LINE_MIN_INSN_LENGTH 4 #endif /* OBJ_ELF */ /* call md_apply_fix3 with segment instead of md_apply_fix */ |