mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-29 08:24:05 +08:00
==> ChangeLog <==
2005-03-14 Eric Christopher <echristo@redhat.com> * config/tc-mips.c: Include dw2gencfi.h. (mips_cfi_frame_initial_instructions): New. * config/tc-mips.h (TARGET_USE_CFIPOP): Define. (tc_cfi_frame_initial_instructions): Ditto. (DWARF2_DEFAULT_RETURN_COLUMN): Ditto. (DWARF2_CIE_DATA_ALIGNMENT): Ditto. * Makefile.am: Update dependencies. * Makefile.in: Regenerate. ==> testsuite/ChangeLog <== 2005-03-14 Eric Christopher <echristo@redhat.com> * gas/cfi/cfi-mips-1.d, gas/cfi/cfi-mips-1.s: New dump test. * gas/cfi/cfi.exp: Run it. * gas/cfi/cfi-common-1.d: Update. * gas/cfi/cfi-common-2.d: Ditto. * gas/cfi/cfi-common-3.d: Ditto. * gas/cfi/cfi-common-4.d: Ditto.
This commit is contained in:
@ -1,3 +1,14 @@
|
|||||||
|
2005-03-14 Eric Christopher <echristo@redhat.com>
|
||||||
|
|
||||||
|
* config/tc-mips.c: Include dw2gencfi.h.
|
||||||
|
(mips_cfi_frame_initial_instructions): New.
|
||||||
|
* config/tc-mips.h (TARGET_USE_CFIPOP): Define.
|
||||||
|
(tc_cfi_frame_initial_instructions): Ditto.
|
||||||
|
(DWARF2_DEFAULT_RETURN_COLUMN): Ditto.
|
||||||
|
(DWARF2_CIE_DATA_ALIGNMENT): Ditto.
|
||||||
|
* Makefile.am: Update dependencies.
|
||||||
|
* Makefile.in: Regenerate.
|
||||||
|
|
||||||
2005-03-15 Alan Modra <amodra@bigpond.net.au>
|
2005-03-15 Alan Modra <amodra@bigpond.net.au>
|
||||||
|
|
||||||
* po/es.po: Commit new Spanish translation.
|
* po/es.po: Commit new Spanish translation.
|
||||||
|
@ -1302,7 +1302,7 @@ DEPTC_mips_elf = $(INCDIR)/symcat.h $(srcdir)/config/obj-elf.h \
|
|||||||
$(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
|
$(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
|
||||||
$(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(srcdir)/config/tc-mips.h \
|
$(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(srcdir)/config/tc-mips.h \
|
||||||
subsegs.h $(INCDIR)/obstack.h $(INCDIR)/safe-ctype.h \
|
subsegs.h $(INCDIR)/obstack.h $(INCDIR)/safe-ctype.h \
|
||||||
$(INCDIR)/opcode/mips.h itbl-ops.h dwarf2dbg.h $(INCDIR)/elf/mips.h \
|
$(INCDIR)/opcode/mips.h itbl-ops.h dwarf2dbg.h dw2gencfi.h $(INCDIR)/elf/mips.h \
|
||||||
$(INCDIR)/elf/reloc-macros.h ecoff.h $(INCDIR)/coff/sym.h \
|
$(INCDIR)/elf/reloc-macros.h ecoff.h $(INCDIR)/coff/sym.h \
|
||||||
$(INCDIR)/coff/ecoff.h
|
$(INCDIR)/coff/ecoff.h
|
||||||
DEPTC_mmix_elf = $(INCDIR)/symcat.h $(srcdir)/config/obj-elf.h \
|
DEPTC_mmix_elf = $(INCDIR)/symcat.h $(srcdir)/config/obj-elf.h \
|
||||||
|
@ -1141,7 +1141,7 @@ DEPTC_mips_elf = $(INCDIR)/symcat.h $(srcdir)/config/obj-elf.h \
|
|||||||
$(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
|
$(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
|
||||||
$(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(srcdir)/config/tc-mips.h \
|
$(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(srcdir)/config/tc-mips.h \
|
||||||
subsegs.h $(INCDIR)/obstack.h $(INCDIR)/safe-ctype.h \
|
subsegs.h $(INCDIR)/obstack.h $(INCDIR)/safe-ctype.h \
|
||||||
$(INCDIR)/opcode/mips.h itbl-ops.h dwarf2dbg.h $(INCDIR)/elf/mips.h \
|
$(INCDIR)/opcode/mips.h itbl-ops.h dwarf2dbg.h dw2gencfi.h $(INCDIR)/elf/mips.h \
|
||||||
$(INCDIR)/elf/reloc-macros.h ecoff.h $(INCDIR)/coff/sym.h \
|
$(INCDIR)/elf/reloc-macros.h ecoff.h $(INCDIR)/coff/sym.h \
|
||||||
$(INCDIR)/coff/ecoff.h
|
$(INCDIR)/coff/ecoff.h
|
||||||
|
|
||||||
|
@ -33,6 +33,7 @@
|
|||||||
#include "opcode/mips.h"
|
#include "opcode/mips.h"
|
||||||
#include "itbl-ops.h"
|
#include "itbl-ops.h"
|
||||||
#include "dwarf2dbg.h"
|
#include "dwarf2dbg.h"
|
||||||
|
#include "dw2gencfi.h"
|
||||||
|
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
#define DBG(x) printf x
|
#define DBG(x) printf x
|
||||||
@ -14016,3 +14017,11 @@ mips_dwarf2_addr_size (void)
|
|||||||
else
|
else
|
||||||
return 4;
|
return 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Standard calling conventions leave the CFA at SP on entry. */
|
||||||
|
void
|
||||||
|
mips_cfi_frame_initial_instructions (void)
|
||||||
|
{
|
||||||
|
cfi_add_CFA_def_cfa_register (SP);
|
||||||
|
}
|
||||||
|
|
||||||
|
@ -161,4 +161,12 @@ extern enum dwarf2_format mips_dwarf2_format (void);
|
|||||||
extern int mips_dwarf2_addr_size (void);
|
extern int mips_dwarf2_addr_size (void);
|
||||||
#define DWARF2_ADDR_SIZE(bfd) mips_dwarf2_addr_size ()
|
#define DWARF2_ADDR_SIZE(bfd) mips_dwarf2_addr_size ()
|
||||||
|
|
||||||
|
#define TARGET_USE_CFIPOP 1
|
||||||
|
|
||||||
|
#define tc_cfi_frame_initial_instructions mips_cfi_frame_initial_instructions
|
||||||
|
extern void mips_cfi_frame_initial_instructions (void);
|
||||||
|
|
||||||
|
#define DWARF2_DEFAULT_RETURN_COLUMN 31
|
||||||
|
#define DWARF2_CIE_DATA_ALIGNMENT -4
|
||||||
|
|
||||||
#endif /* TC_MIPS */
|
#endif /* TC_MIPS */
|
||||||
|
@ -1,3 +1,12 @@
|
|||||||
|
2005-03-14 Eric Christopher <echristo@redhat.com>
|
||||||
|
|
||||||
|
* gas/cfi/cfi-mips-1.d, gas/cfi/cfi-mips-1.s: New dump test.
|
||||||
|
* gas/cfi/cfi.exp: Run it.
|
||||||
|
* gas/cfi/cfi-common-1.d: Update.
|
||||||
|
* gas/cfi/cfi-common-2.d: Ditto.
|
||||||
|
* gas/cfi/cfi-common-3.d: Ditto.
|
||||||
|
* gas/cfi/cfi-common-4.d: Ditto.
|
||||||
|
|
||||||
2005-03-12 Zack Weinberg <zack@codesourcery.com>
|
2005-03-12 Zack Weinberg <zack@codesourcery.com>
|
||||||
|
|
||||||
* gas/arm/thumbv6k.d, gas/arm/thumbv6k.s: New dump test.
|
* gas/arm/thumbv6k.d, gas/arm/thumbv6k.s: New dump test.
|
||||||
|
@ -8,7 +8,7 @@ The section .eh_frame contains:
|
|||||||
Code alignment factor: .*
|
Code alignment factor: .*
|
||||||
Data alignment factor: .*
|
Data alignment factor: .*
|
||||||
Return address column: .*
|
Return address column: .*
|
||||||
Augmentation data: 1b
|
Augmentation data: [01]b
|
||||||
|
|
||||||
DW_CFA_nop
|
DW_CFA_nop
|
||||||
DW_CFA_nop
|
DW_CFA_nop
|
||||||
|
@ -8,7 +8,7 @@ The section .eh_frame contains:
|
|||||||
Code alignment factor: .*
|
Code alignment factor: .*
|
||||||
Data alignment factor: .*
|
Data alignment factor: .*
|
||||||
Return address column: .*
|
Return address column: .*
|
||||||
Augmentation data: 1b
|
Augmentation data: [01]b
|
||||||
#...
|
#...
|
||||||
00000014 000000[12][c0] 00000018 FDE cie=00000000 pc=.*
|
00000014 000000[12][c0] 00000018 FDE cie=00000000 pc=.*
|
||||||
DW_CFA_advance_loc: 4 to .*
|
DW_CFA_advance_loc: 4 to .*
|
||||||
|
@ -8,7 +8,7 @@ The section .eh_frame contains:
|
|||||||
Code alignment factor: .*
|
Code alignment factor: .*
|
||||||
Data alignment factor: .*
|
Data alignment factor: .*
|
||||||
Return address column: .*
|
Return address column: .*
|
||||||
Augmentation data: 1b
|
Augmentation data: [01]b
|
||||||
#...
|
#...
|
||||||
00000014 00000010 00000018 FDE cie=00000000 pc=.*
|
00000014 00000010 00000018 FDE cie=00000000 pc=.*
|
||||||
DW_CFA_advance_loc: 4 to .*
|
DW_CFA_advance_loc: 4 to .*
|
||||||
|
@ -8,7 +8,7 @@ The section .eh_frame contains:
|
|||||||
Code alignment factor: .*
|
Code alignment factor: .*
|
||||||
Data alignment factor: .*
|
Data alignment factor: .*
|
||||||
Return address column: .*
|
Return address column: .*
|
||||||
Augmentation data: 1b
|
Augmentation data: [01]b
|
||||||
#...
|
#...
|
||||||
00000014 00000010 00000018 FDE cie=00000000 pc=.*
|
00000014 00000010 00000018 FDE cie=00000000 pc=.*
|
||||||
DW_CFA_remember_state
|
DW_CFA_remember_state
|
||||||
|
27
gas/testsuite/gas/cfi/cfi-mips-1.d
Normal file
27
gas/testsuite/gas/cfi/cfi-mips-1.d
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
#readelf: -wf
|
||||||
|
#name: CFI on mips, 1
|
||||||
|
The section .eh_frame contains:
|
||||||
|
|
||||||
|
00000000 00000014 00000000 CIE
|
||||||
|
Version: 1
|
||||||
|
Augmentation: "zR"
|
||||||
|
Code alignment factor: 1
|
||||||
|
Data alignment factor: -4
|
||||||
|
Return address column: 31
|
||||||
|
Augmentation data: 0b
|
||||||
|
|
||||||
|
DW_CFA_def_cfa_reg: r29
|
||||||
|
DW_CFA_def_cfa: r29 ofs 0
|
||||||
|
DW_CFA_nop
|
||||||
|
DW_CFA_nop
|
||||||
|
|
||||||
|
00000018 0000001c 0000001c FDE cie=00000000 pc=00000000..0000002c
|
||||||
|
DW_CFA_advance_loc: 4 to 00000004
|
||||||
|
DW_CFA_def_cfa_offset: 8
|
||||||
|
DW_CFA_advance_loc: 4 to 00000008
|
||||||
|
DW_CFA_offset: r30 at cfa-8
|
||||||
|
DW_CFA_advance_loc: 4 to 0000000c
|
||||||
|
DW_CFA_def_cfa: r30 ofs 8
|
||||||
|
DW_CFA_advance_loc: 24 to 00000024
|
||||||
|
DW_CFA_def_cfa: r29 ofs 0
|
||||||
|
DW_CFA_nop
|
39
gas/testsuite/gas/cfi/cfi-mips-1.s
Normal file
39
gas/testsuite/gas/cfi/cfi-mips-1.s
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
.file 1 "foo.c"
|
||||||
|
.section .mdebug.abi64
|
||||||
|
.previous
|
||||||
|
.text
|
||||||
|
.align 2
|
||||||
|
.globl foo
|
||||||
|
.ent foo
|
||||||
|
.cfi_startproc
|
||||||
|
foo:
|
||||||
|
.frame $fp,8,$31 # vars= 8, regs= 1/0, args= 0, gp= 0
|
||||||
|
.mask 0x40000000,-8
|
||||||
|
.fmask 0x00000000,0
|
||||||
|
.set noreorder
|
||||||
|
.set nomacro
|
||||||
|
|
||||||
|
.cfi_def_cfa $sp, 0
|
||||||
|
addiu $sp,$sp,-8
|
||||||
|
.cfi_adjust_cfa_offset 8
|
||||||
|
sw $fp,0($sp)
|
||||||
|
.cfi_offset $30, -8
|
||||||
|
move $fp,$sp
|
||||||
|
.cfi_def_cfa $fp, 8
|
||||||
|
|
||||||
|
nop
|
||||||
|
nop
|
||||||
|
nop
|
||||||
|
|
||||||
|
move $sp,$fp
|
||||||
|
lw $fp,0($sp)
|
||||||
|
addiu $sp,$sp,8
|
||||||
|
.cfi_def_cfa $sp, 0
|
||||||
|
j $31
|
||||||
|
nop
|
||||||
|
.set macro
|
||||||
|
.set reorder
|
||||||
|
.end foo
|
||||||
|
.cfi_endproc
|
||||||
|
.size foo, .-foo
|
||||||
|
.ident "GCC: (GNU) 4.0.0 20041226 (experimental)"
|
@ -59,6 +59,8 @@ if [istarget "x86_64-*"] then {
|
|||||||
} elseif { [istarget "arm*-*"] || [istarget "xscale*-*"] } then {
|
} elseif { [istarget "arm*-*"] || [istarget "xscale*-*"] } then {
|
||||||
run_dump_test "cfi-arm-1"
|
run_dump_test "cfi-arm-1"
|
||||||
|
|
||||||
|
} elseif { [istarget "mips*-*"] } then {
|
||||||
|
run_dump_test "cfi-mips-1"
|
||||||
} else {
|
} else {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user