• R/O
  • HTTP
  • SSH
  • HTTPS

List of commits

Tags
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

RSS
Rev. Tiempo Autor
bf777b3 ysato-h8300 2016-01-09 15:30:42 Yoshinori Sato

use ptsname.

2bb20c8 2016-01-08 23:32:07 Yoshinori Sato

Fix warning for clang.

c7a2014 2016-01-08 23:31:23 Yoshinori Sato

Add missing src

c3a6afc 2015-11-21 03:06:53 Yoshinori Sato

Use generic sim functions

e65b4ac 2015-11-21 03:06:11 Yoshinori Sato

Conver signal number

1e65677 2015-11-20 23:49:10 Yoshinori Sato

Merge branch 'master' into ysato-h8300

45dda21 2015-11-20 23:47:59 Yoshinori Sato

Merge branch 'master' of ssh://sourceware.org/git/binutils-gdb

a915c10 2015-11-20 23:16:30 Nick Clifton

Remove a if-clause that is redundant because the same test has been performed earlier on.

PR binutils/19224
* h8300-dis.c (bfd_h8_disassemble): Remove redundant if clause.

9b334a2 2015-11-20 23:15:24 Tristan Gingold

Fix missing update in previous patch.

bfd/
* mach-o-x86-64.c (x86_64_howto_table): Change name here too.

a4f8732 2015-11-20 23:08:29 Ronald Hoogenboom

Fix building objcopy under mingw64 by replacing uses of strndup with xstrndup.

* objcopy.c (parse_symflags): Use xstrndup in place of strndup.
(copy_main): Likewise.

f075eb5 2015-11-20 22:53:06 Tristan Gingold

binutils: add support for arm-*-darwin and aarch64-*-darwin.

Currently only in bfd and binutils.

ChangeLog/
* configure.ac: Add aarch64-*-darwin* and arm-*-darwin*.
* configure: Regenerate.

bfd/ChangeLog/
* targets.c (aarch64_mach_o_vec, arm_mach_o_vec): Declare.
(_bfd_target_vector): Add new vectors.
* reloc.c (BFD_RELOC_MACH_O_SUBTRACTOR32)
(BFD_RELOC_MACH_O_SUBTRACTOR64, BFD_RELOC_MACH_O_ARM64_ADDEND)
(BFD_RELOC_MACH_O_ARM64_GOT_LOAD_PAGE21)
(BFD_RELOC_MACH_O_ARM64_GOT_LOAD_PAGEOFF12)
(BFD_RELOC_MACH_O_ARM64_POINTER_TO_GOT): New relocations.
(BFD_RELOC_MACH_O_X86_64_SUBTRACTOR32)
(BFD_RELOC_MACH_O_X86_64_SUBTRACTOR64): Remove.
* mach-o-x86-64.c (bfd_mach_o_x86_64_swap_reloc_out): Change
name of subtractor relocations.
* config.bfd: Handle aarch64-*-darwin*, arm-*-darwin*.
* Makefile.am (BFD32_BACKENDS): Add mach-o-arm.lo.
(BFD32_BACKENDS_CFILES): Add mach-o-arm.c.
(BFD64_BACKENDS): Add mach-o-aarch64.lo.
(BFD64_BACKENDS_CFILES): Add mach-o-aarch64.c.
* configure.ac: Handle aarch64_mach_o_vec and arm_mach_o_vec.
* mach-o-aarch64.c: New file.
* mach-o-arm.c: New file.
* Makefile.in: Regenerate.
* bfd-in2.h: Regenerate.
* configure: Regenerate.
* libbfd.h: Regenerate.

11b8aeb 2015-11-20 21:58:16 David Bridgham

Synchronize PDP11 page size between BFD and LD.

* pdp11.c (TARGET_PAGE_SIZE): Set to 256 to match definition in
ld/emulparams/pdp11.sh.

f8c2a96 2015-11-20 21:35:43 Nick Clifton

Update translations.

binutils * po/ca.po: New Catalan translation.
* configure.ac (ALL_LINGUAS): Add ca.
* configure: Regenerate.

gas * po/fr.po: Updated French translation.
* po/uk.po: Updated Ukraninan translation.
* po/zh_CN.po: New simplified Chinese translation.
* configure.ac (ALL_LINGUAS): Add zh_CN.
* configure: Regenerate.

opcodes * po/zh_CN.po: Updated simplified Chinese translation.

bb09744 2015-11-20 19:36:07 Jose E. Marchesi

callfuncs.exp: avoid spurious register differences in sparc64 targets.

The Linux kernel disables the FPU upon returning to userland. This
introduces spurious failures in the register preservation tests in
callfuncs.exp, since the pstate.PEF bit gets cleared after system
calls.

This patch filters out the pstate register in sparc64-*-linux-gnu
targets, so the relevant tests are no longer fooled and pass.

gdb/testsuite/ChangeLog:

2015-11-20 Jose E. Marchesi <jose.marchesi@oracle.com>

* gdb.base/callfuncs.exp (fetch_all_registers): Filter out the
pstate register when comparing registers values in
sparc64-*-linux-gnu targets to avoid spurious differences.

9c88ed8 2015-11-20 18:48:56 Jose E. Marchesi

sparc: fix build of gdb/testsuite/gdb.arch/sparc-sysstep.c

This patch adds a missing include that makes the test program to not
be built (--Wimplicit-function-declaration).

gdb/testsuite/ChangeLog:

2015-11-20 Jose E. Marchesi <jose.marchesi@oracle.com>

* gdb.arch/sparc-sysstep.c: Include unistd.h for getpid.

96161e2 2015-11-20 09:22:04 Sandra Loosemore

Fix think-o in calls to gdb_compile.

2015-11-19 Sandra Loosemore <sandra@codesourcery.com>

gdb/testsuite/
* gdb.base/nested-subp1.exp: Pass executable, not executable name,
as type argument to gdb_compile.
* gdb.base/nested-subp2.exp: Likewise.
* gdb.base/nested-subp3.exp: Likewise.

7fcdc24 2015-11-20 09:00:08 GDB Administrator

Automatic date update in version.in

06e03ff 2015-11-20 03:32:55 Pedro Alves

gdbserver: Fix qSupported:xmlRegisters=i386;UnknownFeature+ handling

The target_process_qsupported method is called for each qSupported
feature that the common code does not recognize. The only current
implementation, for x86 Linux (x86_linux_process_qsupported), assumes
that it either is called with the "xmlRegisters=i386" feature, or that
it is isn't called at all, indicating the connected GDB predates x86
XML descriptions.

That's a bad assumption however. If GDB sends in a new/unknown (to
core gdbserver) feature after "xmlRegisters=i386", say, something like
qSupported:xmlRegisters=i386;UnknownFeature+, then when
target_process_qsupported is called for "UnknownFeature+",
x86_linux_process_qsupported clears the 'use_xml' global and calls
x86_linux_update_xmltarget, and gdbserver ends up _not_ reporting a
XML description...

This commit changes the target_process_qsupported API to instead pass
down a vector of unprocessed qSupported features in one go.

(There's an early call to target_process_qsupported(NULL) that
indicates "starting qSupported processing". There's no matching call
to mark the end of processing, though. I first fixed this by passing
(char *)-1 to indicate that, and adjusted the x86 backend to only
clear 'use_xml' when qSupported processing starts, and then only call
x86_linux_update_xmltarget() when (char *)-1 was passed. However, I
wasn't that happy with the hack and came up this alternative version.)

gdb/gdbserver/ChangeLog:
2015-11-19 Pedro Alves <palves@redhat.com>

* linux-low.c (linux_process_qsupported): Change prototype.
Adjust.
* linux-low.h (struct linux_target_ops) <process_qsupported>:
Change prototype.
* linux-x86-low.c (x86_linux_process_qsupported): Change prototype
and adjust to loop over all features.
* server.c (handle_query) <qSupported>: Adjust to call
target_process_qsupported once, passing it a vector of unprocessed
features.
* target.h (struct target_ops) <process_qsupported>: Change
prototype.
(target_process_qsupported): Adjust.

b35d5ed 2015-11-20 03:31:49 Pedro Alves

gdb: Workaround bad gdbserver qSupported:xmlRegisters=i386;UnknwnFeat+ handling

gdbserver's target_process_qsupported is called for each feature that
the gdbserver common code does not recognize. The only current
implementation, for x86 Linux, does this:

static void
x86_linux_process_qsupported (const char *query)
{
/* Return if gdb doesn't support XML. If gdb sends "xmlRegisters="
with "i386" in qSupported query, it supports x86 XML target
descriptions. */
use_xml = 0;
if (query != NULL && startswith (query, "xmlRegisters="))
{
char *copy = xstrdup (query + 13);
char *p;

for (p = strtok (copy, ","); p != NULL; p = strtok (NULL, ","))
{
if (strcmp (p, "i386") == 0)
{
use_xml = 1;
break;
}
}

free (copy);
}

x86_linux_update_xmltarget ();
}

Notice that this clears use_xml and calls x86_linux_update_xmltarget
each time target_process_qsupported is called. So if gdb sends in any
unknown feature after "xmlRegisters=i386", like e.g.,
"xmlRegisters=i386;UnknownFeature+" gdbserver ends up not reporting a
XML description...

Work around this by having GDB send the "xmlRegisters=" feature last.

gdb/ChangeLog:
2015-11-19 Pedro Alves <palves@redhat.com>

* remote.c (remote_query_supported): Send the "xmlRegisters="
feature last.

bb82e93 2015-11-20 00:17:46 Simon Marchi

Fix iov_len calculation in aarch64_linux_set_debug_regs

There is this build failure when building in C++:

/home/simark/src/binutils-gdb/gdb/nat/aarch64-linux-hw-point.c: In function ‘void aarch64_linux_set_debug_regs(const aarch64_debug_reg_state*, int, int)’:
/home/simark/src/binutils-gdb/gdb/nat/aarch64-linux-hw-point.c:564:64: error: ‘count’ cannot appear in a constant-expression
iov.iov_len = (offsetof (struct user_hwdebug_state, dbg_regs[count - 1])
^
We can simplify the computation and make g++ happy at the same time by
formulating as:

size of fixed part + size of variable part

thus...

size of fixed part + count * size of one variable part element

thus...

offsetof (struct user_hwdebug_state, dbg_regs) + count * sizeof (regs.dbg_reg[0]);

gdb/ChangeLog:

* nat/aarch64-linux-hw-point.c (aarch64_linux_set_debug_regs): Change
form of iov_len computation.

9a08470 2015-11-19 23:32:54 Pedro Alves

[C++] Default to -Werror in C++ mode too

Both x86_64 GNU/Linux and x86_64 mingw-w64 build cleanly with
--enable-targets=all. This enables -Werror by default in C++ mode
too, in order to let the buildbot catch C++ build regressions for us.

gdb/ChangeLog:
2015-11-19 Pedro Alves <palves@redhat.com>

* configure.ac (ERROR_ON_WARNING): Don't check whether in C++
mode.
* configure: Regenerate.

gdb/gdbserver/ChangeLog:
2015-11-19 Pedro Alves <palves@redhat.com>

* configure.ac (ERROR_ON_WARNING): Don't check whether in C++
mode.
* configure: Regenerate.

dad44a1 2015-11-19 23:32:54 Pedro Alves

[C++] Drop -fpermissive hack

Both x86_64 GNU/Linux and x86_64 mingw-w64 build cleanly with
--enable-targets=all. Let's drop the -fpermissive hack, in order to
let the buildbot catch C++ build regressions for us.

gdb/ChangeLog:
2015-11-19 Pedro Alves <palves@redhat.com>

* build-with-cxx.m4 (GDB_AC_BUILD_WITH_CXX): Remove -fpermissive.
* configure: Regenerate.

gdb/gdbserver/ChangeLog:
2015-11-19 Pedro Alves <palves@redhat.com>

* configure: Regenerate.

c6d8112 2015-11-19 23:32:53 Pedro Alves

[C++] breakpoint.c: "no memory" software watchpoints and enum casts

Fixes:

src/gdb/breakpoint.c: In function ‘void update_watchpoint(watchpoint*, int)’:
src/gdb/breakpoint.c:2147:31: error: invalid conversion from ‘int’ to ‘target_hw_bp_type’ [-fpermissive]
base->loc->watchpoint_type = -1;
^

Seems better to rely on "address == -1 && length == -1" than on a enum
value that's not really part of the set of supposedly valid enum
values. Also, factor that out to separate functions for better
localization of the concept.

gdb/ChangeLog:
2015-11-19 Pedro Alves <palves@redhat.com>

* breakpoint.c (software_watchpoint_add_no_memory_location)
(is_no_memory_software_watchpoint): New functions.
(update_watchpoint): Use
software_watchpoint_add_memoryless_location.
(breakpoint_address_bits): Use is_no_memory_software_watchpoint.

4d19317 2015-11-19 23:32:53 Simon Marchi

[C++] s390: Fix enum gdb_syscall conversion

Fixes:

src/gdb/s390-linux-tdep.c: In function ‘gdb_syscall s390_canonicalize_syscall(int, s390_abi_kind)’:
src/gdb/s390-linux-tdep.c:2622:16: error: invalid conversion from ‘int’ to ‘gdb_syscall’ [-fpermissive]
return syscall;
^
src/gdb/s390-linux-tdep.c:2722:16: error: invalid conversion from ‘int’ to ‘gdb_syscall’ [-fpermissive]
return syscall;
^
src/gdb/s390-linux-tdep.c:2725:24: error: invalid conversion from ‘int’ to ‘gdb_syscall’ [-fpermissive]
return syscall + 2;
^
src/gdb/s390-linux-tdep.c:2728:24: error: invalid conversion from ‘int’ to ‘gdb_syscall’ [-fpermissive]
return syscall + 5;
^
src/gdb/s390-linux-tdep.c:2731:24: error: invalid conversion from ‘int’ to ‘gdb_syscall’ [-fpermissive]
return syscall + 6;
^
src/gdb/s390-linux-tdep.c:2734:24: error: invalid conversion from ‘int’ to ‘gdb_syscall’ [-fpermissive]
return syscall + 7;
^

gdb/ChangeLog:
2015-11-19 Simon Marchi <simon.marchi@ericsson.com>
Pedro Alves <palves@redhat.com>

* s390-linux-tdep.c (s390_canonicalize_syscall): Add casts and
intermediate 'int' variable.

f8708a1 2015-11-19 23:32:53 Pedro Alves

[C++] linux-thread-db.c: dladdr cast

Fixes:

src/gdb/linux-thread-db.c: In function ‘int try_thread_db_load_1(thread_db_info*)’:
src/gdb/linux-thread-db.c:769:53: error: invalid conversion from ‘td_err_e (*)(ps_prochandle*, td_thragent_t**) {aka td_err_e (*)(ps_prochandle*, td_thragent**)}’ to ‘const void*’ [-fpermissive]
library = dladdr_to_soname (*info->td_ta_new_p);
^
src/gdb/linux-thread-db.c:637:1: error: initializing argument 1 of ‘const char* dladdr_to_soname(const void*)’ [-fpermissive]
dladdr_to_soname (const void *addr)
^

gdb/ChangeLog:
2015-11-19 Pedro Alves <palves@redhat.com>

* linux-thread-db.c (try_thread_db_load_1): Add cast.

915ef8b 2015-11-19 23:32:53 Pedro Alves

[C++] remote.c: Avoid enum arithmetic

Fixes:

src/gdb/remote.c: In function ‘void remote_unpush_target()’:
src/gdb/remote.c:4610:45: error: invalid conversion from ‘int’ to ‘strata’ [-fpermissive]
pop_all_targets_above (process_stratum - 1);
^
In file included from src/gdb/inferior.h:38:0,
from src/gdb/remote.c:25:
src/gdb/target.h:2299:13: error: initializing argument 1 of ‘void pop_all_targets_above(strata)’ [-fpermissive]
extern void pop_all_targets_above (enum strata above_stratum);
^

I used to carry a patch in the C++ branch that just did:

- pop_all_targets_above (process_stratum - 1);
+ pop_all_targets_above ((enum strata) (process_stratum - 1));

But then thought that maybe adding a routine that does exactly what we
need results in clearer code. This is the result.

gdb/ChangeLog:
2015-11-19 Pedro Alves <palves@redhat.com>

* remote.c (remote_unpush_target): Use
pop_all_targets_at_and_above instead of pop_all_targets_above.
* target.c (unpush_target_and_assert): New function, factored out
from ...
(pop_all_targets_above): ... here.
(pop_all_targets_at_and_above): New function.
* target.h (pop_all_targets_at_and_above): Declare.

c282563 2015-11-19 23:13:45 Matthew Wahab

[AArch64] Reject invalid immediate operands to MSR PAN

The support for accessing the ARMv8.1 PSTATE field PAN allows
instructions of the form MSR PAN, #<imm> with <imm> any unsigned 4-bit
integer. However, the architecture specification requires that the
immediate is either 0 or 1.

This patch implements the constraint on the immediate, generating an
error if the immediate operand is invalid, and adds tests for the
illegal forms.

opcodes/
2015-11-19 Matthew Wahab <matthew.wahab@arm.com>

* aarch64-opc.c (operand_general_constraint_met_p): Check validity
of MSR PAN immediate operand.

gas/testsuite/
2015-11-19 Matthew Wahab <matthew.wahab@arm.com>

* gas/aarch64/pan-illegal.d: New.
* gas/aarch64/pan-illegal.l: New.
* gas/aarch64/pan.s: Add tests for invalid immediates.

Change-Id: Ibb3056c975eb792104da138d94594224f56a993e

231c059 2015-11-19 23:01:04 Yao Qi

Change argument opcode type from enum aarch64_opcodes to uint32_t

The patch fixes the following errors in C++ build,

gdb/gdbserver/linux-aarch64-low.c: In function 'int emit_data_processing(uint32_t*, aarch64_opcodes, aarch64_register, aarch64_register, aarch64_operand)':
gdb/gdbserver/linux-aarch64-low.c:1071:52: error: invalid conversion from 'unsigned int' to 'aarch64_opcodes' [-fpermissive]
return emit_data_processing_reg (buf, opcode | operand_opcode, rd,
^
gdb/gdbserver:

2015-11-19 Yao Qi <yao.qi@linaro.org>

* linux-aarch64-low.c (emit_data_processing_reg): Change opcode
type to uint32_t.

6c1c9a8 2015-11-19 23:01:03 Yao Qi

Define enum out of the scope of struct

This patch moves the enum definition out of the scope of struct, and
fixes the following error.

gdb/gdbserver/linux-aarch64-low.c:681:18: error: 'OPERAND_REGISTER' was not declared in this scope
operand.type = OPERAND_REGISTER;
^
gdb/gdbserver:

2015-11-19 Yao Qi <yao.qi@linaro.org>

* linux-aarch64-low.c (enum aarch64_operand_type): New.
(struct aarch64_operand): Move enum out.

9caa331 2015-11-19 23:01:03 Yao Qi

Cast void * to user_fpsimd_state *.

This patch fixes the following build error in GDBserver,

gdb/gdbserver/linux-aarch64-low.c: In function 'void aarch64_fill_fpregset(regcache*, void*)':
gdb/gdbserver/linux-aarch64-low.c:134:38: error: invalid conversion from 'void*' to 'user_fpsimd_state*' [-fpermissive]
struct user_fpsimd_state *regset = buf;
^
gdb/gdbserver/linux-aarch64-low.c: In function 'void aarch64_store_fpregset(regcache*, const void*)':
gdb/gdbserver/linux-aarch64-low.c:146:44: error: invalid conversion from 'const void*' to 'const user_fpsimd_state*' [-fpermissive]
const struct user_fpsimd_state *regset = buf;
^
gdb/gdbserver:

2015-11-19 Yao Qi <yao.qi@linaro.org>

* linux-aarch64-low.c (aarch64_fill_fpregset): Cast buf to
struct user_fpsimd_state *.
(aarch64_store_fpregset): Likewise.