summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Add aarch64-w64-mingw32 targetMark Harmstone2023-01-1014-24/+109
| | | | | | | This adds a mingw target for aarch64, including windres and dlltool. Note that the old value of jmp_aarch64_bytes was wrong, and this does the same thing as MSVC does.
* Add .secrel32 for pe-aarch64Mark Harmstone2023-01-104-20/+108
| | | | Adds the .secrel32 pseudo-directive and its corresponding relocation.
* Add pe-aarch64 relocationsMark Harmstone2023-01-109-43/+1388
| | | | | | | This adds the remaining pe-aarch64 relocations, and gets them working. It also brings in the constant directives from ELF, as otherwise .word would be 2 rather than 4 bytes, and .xword and .dword wouldn't be defined.
* Fix size of external_reloc for pe-aarch64Mark Harmstone2023-01-102-6/+1
| | | | | | | | | | | | | | | This patch series finishes off the work by Jedidiah Thompson, and adds support for creating aarch64 PE images. This should be essentially complete: I've used this to create a "hello world" Windows program in asm, and (with GCC patches) a UEFI program in C. I think the only things missing are the .secidx relocation, which is needed for PDBs, and the SEH pseudos used for C++ exceptions. This first patch fixes the size of RELSZ; I'm not sure why it was 14 in the first place. This is the size of the "Base Relocation Block" in https://learn.microsoft.com/en-us/windows/win32/debug/pe-format, and AFAIK should be 10 for everything.
* gdb/dwarf2: Fix 'rw_pieced_value' for values casted to different type.Rohr, Stephan2023-01-102-4/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The 'rw_pieced_value' function is executed when fetching a (lazy) variable described by 'DW_OP_piece' or 'DW_OP_bit_piece'. The function checks the 'type' and 'enclosing_type' fields of the value for identity. * The 'type' field describes the type of a value. * In most cases, the 'enclosing_type' field is identical to the 'type' field. * Scenarios where the 'type' and 'enclosing_type' of an object differ are described in 'gdb/value.c'. Possible cases are: * If a value represents a C++ object, then the 'type' field gives the object's compile-time type. If the object actually belongs to some class derived from `type', perhaps with other base classes and additional members, then `type' is just a subobject of the real thing, and the full object is probably larger than `type' would suggest. * If 'type' is a dynamic class (i.e. one with a vtable), then GDB can actually determine the object's run-time type by looking at the run-time type information in the vtable. GDB may then elect to read the entire object. * If the user casts a variable to a different type (e.g. 'print (<type> []) <variable>'), the value's type is updated before reading the value. If a lazy value is fetched, GDB allocates space based on the enclosing type's length and typically reads the 'full' object. This is not implemented for pieced values and causes an internal error if 'type' and 'enclosing_type' of a value are not identical. However, GDB can read the value based on its type. Thus, this patch fixes the previously mentioned cases by removing the check for identity. Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=28605 gdb/ChangeLog: 2022-04-13 Stephan Rohr <stephan.rohr@intel.com> * dwarf2/loc.c (rw_pieced_value): Fix check on 'type' and 'enlcosing_type' when reading pieced value 'v'. gdb/testsuite/ChangeLog: 2022-04-13 Stephan Rohr <stephan.rohr@intel.com> * gdb.dwarf2/shortpiece.exp: Added test cases.
* Convert say_where to method on code_breakpointTom Tromey2023-01-102-25/+28
| | | | | | | 'say_where' is only useful (and only called for) code breakpoints, so convert it to be a protected method on code_breakpoint.
* gdb/doc: use @value{GDBP} in some spotsSimon Marchi2023-01-101-117/+117
| | | | | | | | Examples are supposed to use @value{GDBP} instead of the literal "(gdb)" (many of them already do). Update a bunch of spots where it wasn't the case. Change-Id: I601adaad61fd277a5fceea1759e49cede72e456d
* gdb/doc: use @value{GDBN} in some spotsSimon Marchi2023-01-101-4/+4
| | | | | | Change some spots to use "@value{GDBN}" instead of just "GDB". Change-Id: I3fc26438e603538271cf33e4d148be5fda9ece7e
* gdb/doc: some whitespace fixesSimon Marchi2023-01-102-24/+24
| | | | | | For consistency, replace tabs with spaces in all gdb.texinfo menus. Change-Id: I0801a72cf82a8afe49ec842244f42d30719634ce
* IBM zSystems: Fix offset relative to static TLSStefan Schulze Frielinghaus2023-01-104-4/+24
| | | | | | | | | | | | | | | | | For local exec TLS relocations of the form foo@NTPOFF+x the addend was ignored. bfd/ChangeLog: * elf32-s390.c (elf_s390_relocate_section): Honor addend for R_390_TLS_LE32. * elf64-s390.c (elf_s390_relocate_section): Honor addend for R_390_TLS_LE64. ld/ChangeLog: * testsuite/ld-s390/reloctlsle-1.d: New test. * testsuite/ld-s390/reloctlsle-1.s: New test.
* PR 29981 references to init.texiPekka Seppänen2023-01-101-1/+0
|
* Re: Move bfd_init to bfd.cAlan Modra2023-01-103-44/+44
| | | | | | | | | | | | | Commit b1c95bc4dd73 resulted in ...bfd.texi:246: @include: could not find init.texi which went unnoticed due to not building in a clean directory. This fixes the problem by moving bfd_init earlier, giving it a doc node, and stitching the nodes back together. * bfd.c (bfd_init): Move earlier. Give it a doc inode. Adjust other inodes to suit. * doc/bfd.texi: Don't include init.texi. Adjust nodes to suit.
* sim: disable recursive make in (most) subdirsMike Frysinger2023-01-104-707/+13
| | | | | Now that all (other than ppc) build in the top-level, we can disable the recursive make calls to them. This speeds things up nicely.
* sim: common: move test-hw-events to top-level buildMike Frysinger2023-01-104-5/+17
| | | | | | This is an internal developer target that isn't normally compiled, but it can still be occasionally useful. Move it to the top-level build so we can kill off common/Make-common.in.
* sim: move arch-specific file compilation of common/ files to top-levelMike Frysinger2023-01-1033-124/+137
|
* sim: v850: move arch-specific file compilation to top-levelMike Frysinger2023-01-102-6/+3
| | | | | The arch-specific compiler flags are duplicated, but they'll be cleaned up once we move all subdir compiles to the top-level.
* sim: sh: move arch-specific file compilation to top-levelMike Frysinger2023-01-102-6/+0
|
* sim: rx: move arch-specific file compilation to top-levelMike Frysinger2023-01-103-9/+3
| | | | | The arch-specific flags are only used by the arch-specific modules, not the common/ files, so we can delete them too.
* sim: rl78: move arch-specific file compilation to top-levelMike Frysinger2023-01-102-6/+0
|
* sim: riscv: move arch-specific file compilation to top-levelMike Frysinger2023-01-102-6/+3
| | | | | The arch-specific compiler flags are duplicated, but they'll be cleaned up once we move all subdir compiles to the top-level.
* sim: pru: move arch-specific file compilation to top-levelMike Frysinger2023-01-102-6/+0
|
* sim: or1k: move arch-specific file compilation to top-levelMike Frysinger2023-01-102-6/+3
| | | | | The arch-specific compiler flags are duplicated, but they'll be cleaned up once we move all subdir compiles to the top-level.
* sim: msp430: move arch-specific file compilation to top-levelMike Frysinger2023-01-102-6/+0
|
* sim: moxie: move arch-specific file compilation to top-levelMike Frysinger2023-01-103-9/+3
| | | | | The arch-specific flags are only used by the arch-specific modules, not the common/ files, so we can delete them too.
* sim: mn10300: move arch-specific file compilation to top-levelMike Frysinger2023-01-102-6/+8
| | | | | The arch-specific compiler flags are duplicated, but they'll be cleaned up once we move all subdir compiles to the top-level.
* sim: mips: move arch-specific file compilation to top-levelMike Frysinger2023-01-102-6/+10
| | | | | The arch-specific compiler flags are duplicated, but they'll be cleaned up once we move all subdir compiles to the top-level.
* sim: microblaze: move arch-specific file compilation to top-levelMike Frysinger2023-01-102-6/+0
|
* sim: mcore: move arch-specific file compilation to top-levelMike Frysinger2023-01-102-6/+0
|
* sim: m68hc11: move arch-specific file compilation to top-levelMike Frysinger2023-01-102-6/+17
| | | | | The arch-specific compiler flags are duplicated, but they'll be cleaned up once we move all subdir compiles to the top-level.
* sim: m32r: move arch-specific file compilation to top-levelMike Frysinger2023-01-103-9/+26
|
* sim: m32c: move arch-specific file compilation to top-levelMike Frysinger2023-01-103-9/+3
| | | | | The arch-specific flags are only used by the arch-specific modules, not the common/ files, so we can delete them too.
* sim: lm32: move arch-specific file compilation to top-levelMike Frysinger2023-01-102-6/+0
|
* sim: iq2000: move arch-specific file compilation to top-levelMike Frysinger2023-01-102-6/+0
|
* sim: h8300: move arch-specific file compilation to top-levelMike Frysinger2023-01-102-6/+0
|
* sim: ft32: move arch-specific file compilation to top-levelMike Frysinger2023-01-102-6/+0
|
* sim: frv: move arch-specific file compilation to top-levelMike Frysinger2023-01-103-12/+9
| | | | | The arch-specific flags are only used by the arch-specific modules, not the common/ files, so we can delete them too.
* sim: example-synacor: move arch-specific file compilation to top-levelMike Frysinger2023-01-102-6/+0
|
* sim: erc32: move arch-specific file compilation to top-levelMike Frysinger2023-01-103-16/+11
| | | | | The arch-specific flags are only used by the arch-specific modules, not the common/ files, so we can delete them too.
* sim: d10v: move arch-specific file compilation to top-levelMike Frysinger2023-01-102-6/+0
|
* sim: cris: move arch-specific file compilation to top-levelMike Frysinger2023-01-102-6/+0
|
* sim: cr16: move arch-specific file compilation to top-levelMike Frysinger2023-01-102-6/+0
|
* sim: bfin: move arch-specific file compilation to top-levelMike Frysinger2023-01-103-8/+3
| | | | | The arch-specific flags are only used by the arch-specific modules, not the common/ files, so we can delete them too.
* sim: bpf: move arch-specific file compilation to top-levelMike Frysinger2023-01-103-29/+15
| | | | | We can drop the arch-specific rules from the subdir as they're no longer used.
* sim: avr: move arch-specific file compilation to top-levelMike Frysinger2023-01-102-6/+0
|
* sim: arm: move arch-specific file compilation to top-levelMike Frysinger2023-01-103-9/+3
| | | | | The arch-specific flags are only used by the arch-specific modules, not the common/ files, so we can delete them too.
* sim: aarch64: move arch-specific file compilation to top-levelMike Frysinger2023-01-102-6/+0
|
* sim: build: add basic framework for compiling arch objects in top-levelMike Frysinger2023-01-104-10/+31
| | | | | | The code so far has been assuming that we only compile common/ objects. Now that we're ready to compile arch-specific objects, refactor some of the flags & checks a bit to support both.
* sim: modules.c: move generation to top-levelMike Frysinger2023-01-103-32/+49
| | | | | | | Now that all arches create libsim.a from the top-level, we have full access to their inputs, and can move the actual generation from the subdir up to the top-level. This avoids recursive makes and will help simplify state passing between the two.
* sim: build: drop common/nrun.o subdir hackMike Frysinger2023-01-102-6/+0
| | | | | Now that all the subdirs handle their own builds, we can drop this common rule as it's unused, and we don't want to use it anymore.
* sim: build: drop support for creating libsim.a in subdirsMike Frysinger2023-01-1036-130/+3
| | | | | Now that all ports have moved to creating libsim.a in the top-level, drop all the support code to create it in a subdir.