aboutsummaryrefslogtreecommitdiff
path: root/gdb/machoread.c
diff options
context:
space:
mode:
authorSimon Marchi <simon.marchi@efficios.com>2020-11-02 10:26:14 -0500
committerSimon Marchi <simon.marchi@efficios.com>2020-11-02 10:28:45 -0500
commitdda83cd783075941aabe9b0292b004b11f00c831 (patch)
tree185c06ef106c06ecc55ea045a4916495c1a3526b /gdb/machoread.c
parent1c2bec1918cee91221bccc30db4f0253dc31d1b7 (diff)
downloadgdb-dda83cd783075941aabe9b0292b004b11f00c831.zip
gdb-dda83cd783075941aabe9b0292b004b11f00c831.tar.gz
gdb-dda83cd783075941aabe9b0292b004b11f00c831.tar.bz2
gdb, gdbserver, gdbsupport: fix leading space vs tabs issues
Many spots incorrectly use only spaces for indentation (for example, there are a lot of spots in ada-lang.c). I've always found it awkward when I needed to edit one of these spots: do I keep the original wrong indentation, or do I fix it? What if the lines around it are also wrong, do I fix them too? I probably don't want to fix them in the same patch, to avoid adding noise to my patch. So I propose to fix as much as possible once and for all (hopefully). One typical counter argument for this is that it makes code archeology more difficult, because git-blame will show this commit as the last change for these lines. My counter counter argument is: when git-blaming, you often need to do "blame the file at the parent commit" anyway, to go past some other refactor that touched the line you are interested in, but is not the change you are looking for. So you already need a somewhat efficient way to do this. Using some interactive tool, rather than plain git-blame, makes this trivial. For example, I use "tig blame <file>", where going back past the commit that changed the currently selected line is one keystroke. It looks like Magit in Emacs does it too (though I've never used it). Web viewers of Github and Gitlab do it too. My point is that it won't really make archeology more difficult. The other typical counter argument is that it will cause conflicts with existing patches. That's true... but it's a one time cost, and those are not conflicts that are difficult to resolve. I have also tried "git rebase --ignore-whitespace", it seems to work well. Although that will re-introduce the faulty indentation, so one needs to take care of fixing the indentation in the patch after that (which is easy). gdb/ChangeLog: * aarch64-linux-tdep.c: Fix indentation. * aarch64-ravenscar-thread.c: Fix indentation. * aarch64-tdep.c: Fix indentation. * aarch64-tdep.h: Fix indentation. * ada-lang.c: Fix indentation. * ada-lang.h: Fix indentation. * ada-tasks.c: Fix indentation. * ada-typeprint.c: Fix indentation. * ada-valprint.c: Fix indentation. * ada-varobj.c: Fix indentation. * addrmap.c: Fix indentation. * addrmap.h: Fix indentation. * agent.c: Fix indentation. * aix-thread.c: Fix indentation. * alpha-bsd-nat.c: Fix indentation. * alpha-linux-tdep.c: Fix indentation. * alpha-mdebug-tdep.c: Fix indentation. * alpha-nbsd-tdep.c: Fix indentation. * alpha-obsd-tdep.c: Fix indentation. * alpha-tdep.c: Fix indentation. * amd64-bsd-nat.c: Fix indentation. * amd64-darwin-tdep.c: Fix indentation. * amd64-linux-nat.c: Fix indentation. * amd64-linux-tdep.c: Fix indentation. * amd64-nat.c: Fix indentation. * amd64-obsd-tdep.c: Fix indentation. * amd64-tdep.c: Fix indentation. * amd64-windows-tdep.c: Fix indentation. * annotate.c: Fix indentation. * arc-tdep.c: Fix indentation. * arch-utils.c: Fix indentation. * arch/arm-get-next-pcs.c: Fix indentation. * arch/arm.c: Fix indentation. * arm-linux-nat.c: Fix indentation. * arm-linux-tdep.c: Fix indentation. * arm-nbsd-tdep.c: Fix indentation. * arm-pikeos-tdep.c: Fix indentation. * arm-tdep.c: Fix indentation. * arm-tdep.h: Fix indentation. * arm-wince-tdep.c: Fix indentation. * auto-load.c: Fix indentation. * auxv.c: Fix indentation. * avr-tdep.c: Fix indentation. * ax-gdb.c: Fix indentation. * ax-general.c: Fix indentation. * bfin-linux-tdep.c: Fix indentation. * block.c: Fix indentation. * block.h: Fix indentation. * blockframe.c: Fix indentation. * bpf-tdep.c: Fix indentation. * break-catch-sig.c: Fix indentation. * break-catch-syscall.c: Fix indentation. * break-catch-throw.c: Fix indentation. * breakpoint.c: Fix indentation. * breakpoint.h: Fix indentation. * bsd-uthread.c: Fix indentation. * btrace.c: Fix indentation. * build-id.c: Fix indentation. * buildsym-legacy.h: Fix indentation. * buildsym.c: Fix indentation. * c-typeprint.c: Fix indentation. * c-valprint.c: Fix indentation. * c-varobj.c: Fix indentation. * charset.c: Fix indentation. * cli/cli-cmds.c: Fix indentation. * cli/cli-decode.c: Fix indentation. * cli/cli-decode.h: Fix indentation. * cli/cli-script.c: Fix indentation. * cli/cli-setshow.c: Fix indentation. * coff-pe-read.c: Fix indentation. * coffread.c: Fix indentation. * compile/compile-cplus-types.c: Fix indentation. * compile/compile-object-load.c: Fix indentation. * compile/compile-object-run.c: Fix indentation. * completer.c: Fix indentation. * corefile.c: Fix indentation. * corelow.c: Fix indentation. * cp-abi.h: Fix indentation. * cp-namespace.c: Fix indentation. * cp-support.c: Fix indentation. * cp-valprint.c: Fix indentation. * cris-linux-tdep.c: Fix indentation. * cris-tdep.c: Fix indentation. * darwin-nat-info.c: Fix indentation. * darwin-nat.c: Fix indentation. * darwin-nat.h: Fix indentation. * dbxread.c: Fix indentation. * dcache.c: Fix indentation. * disasm.c: Fix indentation. * dtrace-probe.c: Fix indentation. * dwarf2/abbrev.c: Fix indentation. * dwarf2/attribute.c: Fix indentation. * dwarf2/expr.c: Fix indentation. * dwarf2/frame.c: Fix indentation. * dwarf2/index-cache.c: Fix indentation. * dwarf2/index-write.c: Fix indentation. * dwarf2/line-header.c: Fix indentation. * dwarf2/loc.c: Fix indentation. * dwarf2/macro.c: Fix indentation. * dwarf2/read.c: Fix indentation. * dwarf2/read.h: Fix indentation. * elfread.c: Fix indentation. * eval.c: Fix indentation. * event-top.c: Fix indentation. * exec.c: Fix indentation. * exec.h: Fix indentation. * expprint.c: Fix indentation. * f-lang.c: Fix indentation. * f-typeprint.c: Fix indentation. * f-valprint.c: Fix indentation. * fbsd-nat.c: Fix indentation. * fbsd-tdep.c: Fix indentation. * findvar.c: Fix indentation. * fork-child.c: Fix indentation. * frame-unwind.c: Fix indentation. * frame-unwind.h: Fix indentation. * frame.c: Fix indentation. * frv-linux-tdep.c: Fix indentation. * frv-tdep.c: Fix indentation. * frv-tdep.h: Fix indentation. * ft32-tdep.c: Fix indentation. * gcore.c: Fix indentation. * gdb_bfd.c: Fix indentation. * gdbarch.sh: Fix indentation. * gdbarch.c: Re-generate * gdbarch.h: Re-generate. * gdbcore.h: Fix indentation. * gdbthread.h: Fix indentation. * gdbtypes.c: Fix indentation. * gdbtypes.h: Fix indentation. * glibc-tdep.c: Fix indentation. * gnu-nat.c: Fix indentation. * gnu-nat.h: Fix indentation. * gnu-v2-abi.c: Fix indentation. * gnu-v3-abi.c: Fix indentation. * go32-nat.c: Fix indentation. * guile/guile-internal.h: Fix indentation. * guile/scm-cmd.c: Fix indentation. * guile/scm-frame.c: Fix indentation. * guile/scm-iterator.c: Fix indentation. * guile/scm-math.c: Fix indentation. * guile/scm-ports.c: Fix indentation. * guile/scm-pretty-print.c: Fix indentation. * guile/scm-value.c: Fix indentation. * h8300-tdep.c: Fix indentation. * hppa-linux-nat.c: Fix indentation. * hppa-linux-tdep.c: Fix indentation. * hppa-nbsd-nat.c: Fix indentation. * hppa-nbsd-tdep.c: Fix indentation. * hppa-obsd-nat.c: Fix indentation. * hppa-tdep.c: Fix indentation. * hppa-tdep.h: Fix indentation. * i386-bsd-nat.c: Fix indentation. * i386-darwin-nat.c: Fix indentation. * i386-darwin-tdep.c: Fix indentation. * i386-dicos-tdep.c: Fix indentation. * i386-gnu-nat.c: Fix indentation. * i386-linux-nat.c: Fix indentation. * i386-linux-tdep.c: Fix indentation. * i386-nto-tdep.c: Fix indentation. * i386-obsd-tdep.c: Fix indentation. * i386-sol2-nat.c: Fix indentation. * i386-tdep.c: Fix indentation. * i386-tdep.h: Fix indentation. * i386-windows-tdep.c: Fix indentation. * i387-tdep.c: Fix indentation. * i387-tdep.h: Fix indentation. * ia64-libunwind-tdep.c: Fix indentation. * ia64-libunwind-tdep.h: Fix indentation. * ia64-linux-nat.c: Fix indentation. * ia64-linux-tdep.c: Fix indentation. * ia64-tdep.c: Fix indentation. * ia64-tdep.h: Fix indentation. * ia64-vms-tdep.c: Fix indentation. * infcall.c: Fix indentation. * infcmd.c: Fix indentation. * inferior.c: Fix indentation. * infrun.c: Fix indentation. * iq2000-tdep.c: Fix indentation. * language.c: Fix indentation. * linespec.c: Fix indentation. * linux-fork.c: Fix indentation. * linux-nat.c: Fix indentation. * linux-tdep.c: Fix indentation. * linux-thread-db.c: Fix indentation. * lm32-tdep.c: Fix indentation. * m2-lang.c: Fix indentation. * m2-typeprint.c: Fix indentation. * m2-valprint.c: Fix indentation. * m32c-tdep.c: Fix indentation. * m32r-linux-tdep.c: Fix indentation. * m32r-tdep.c: Fix indentation. * m68hc11-tdep.c: Fix indentation. * m68k-bsd-nat.c: Fix indentation. * m68k-linux-nat.c: Fix indentation. * m68k-linux-tdep.c: Fix indentation. * m68k-tdep.c: Fix indentation. * machoread.c: Fix indentation. * macrocmd.c: Fix indentation. * macroexp.c: Fix indentation. * macroscope.c: Fix indentation. * macrotab.c: Fix indentation. * macrotab.h: Fix indentation. * main.c: Fix indentation. * mdebugread.c: Fix indentation. * mep-tdep.c: Fix indentation. * mi/mi-cmd-catch.c: Fix indentation. * mi/mi-cmd-disas.c: Fix indentation. * mi/mi-cmd-env.c: Fix indentation. * mi/mi-cmd-stack.c: Fix indentation. * mi/mi-cmd-var.c: Fix indentation. * mi/mi-cmds.c: Fix indentation. * mi/mi-main.c: Fix indentation. * mi/mi-parse.c: Fix indentation. * microblaze-tdep.c: Fix indentation. * minidebug.c: Fix indentation. * minsyms.c: Fix indentation. * mips-linux-nat.c: Fix indentation. * mips-linux-tdep.c: Fix indentation. * mips-nbsd-tdep.c: Fix indentation. * mips-tdep.c: Fix indentation. * mn10300-linux-tdep.c: Fix indentation. * mn10300-tdep.c: Fix indentation. * moxie-tdep.c: Fix indentation. * msp430-tdep.c: Fix indentation. * namespace.h: Fix indentation. * nat/fork-inferior.c: Fix indentation. * nat/gdb_ptrace.h: Fix indentation. * nat/linux-namespaces.c: Fix indentation. * nat/linux-osdata.c: Fix indentation. * nat/netbsd-nat.c: Fix indentation. * nat/x86-dregs.c: Fix indentation. * nbsd-nat.c: Fix indentation. * nbsd-tdep.c: Fix indentation. * nios2-linux-tdep.c: Fix indentation. * nios2-tdep.c: Fix indentation. * nto-procfs.c: Fix indentation. * nto-tdep.c: Fix indentation. * objfiles.c: Fix indentation. * objfiles.h: Fix indentation. * opencl-lang.c: Fix indentation. * or1k-tdep.c: Fix indentation. * osabi.c: Fix indentation. * osabi.h: Fix indentation. * osdata.c: Fix indentation. * p-lang.c: Fix indentation. * p-typeprint.c: Fix indentation. * p-valprint.c: Fix indentation. * parse.c: Fix indentation. * ppc-linux-nat.c: Fix indentation. * ppc-linux-tdep.c: Fix indentation. * ppc-nbsd-nat.c: Fix indentation. * ppc-nbsd-tdep.c: Fix indentation. * ppc-obsd-nat.c: Fix indentation. * ppc-ravenscar-thread.c: Fix indentation. * ppc-sysv-tdep.c: Fix indentation. * ppc64-tdep.c: Fix indentation. * printcmd.c: Fix indentation. * proc-api.c: Fix indentation. * producer.c: Fix indentation. * producer.h: Fix indentation. * prologue-value.c: Fix indentation. * prologue-value.h: Fix indentation. * psymtab.c: Fix indentation. * python/py-arch.c: Fix indentation. * python/py-bpevent.c: Fix indentation. * python/py-event.c: Fix indentation. * python/py-event.h: Fix indentation. * python/py-finishbreakpoint.c: Fix indentation. * python/py-frame.c: Fix indentation. * python/py-framefilter.c: Fix indentation. * python/py-inferior.c: Fix indentation. * python/py-infthread.c: Fix indentation. * python/py-objfile.c: Fix indentation. * python/py-prettyprint.c: Fix indentation. * python/py-registers.c: Fix indentation. * python/py-signalevent.c: Fix indentation. * python/py-stopevent.c: Fix indentation. * python/py-stopevent.h: Fix indentation. * python/py-threadevent.c: Fix indentation. * python/py-tui.c: Fix indentation. * python/py-unwind.c: Fix indentation. * python/py-value.c: Fix indentation. * python/py-xmethods.c: Fix indentation. * python/python-internal.h: Fix indentation. * python/python.c: Fix indentation. * ravenscar-thread.c: Fix indentation. * record-btrace.c: Fix indentation. * record-full.c: Fix indentation. * record.c: Fix indentation. * reggroups.c: Fix indentation. * regset.h: Fix indentation. * remote-fileio.c: Fix indentation. * remote.c: Fix indentation. * reverse.c: Fix indentation. * riscv-linux-tdep.c: Fix indentation. * riscv-ravenscar-thread.c: Fix indentation. * riscv-tdep.c: Fix indentation. * rl78-tdep.c: Fix indentation. * rs6000-aix-tdep.c: Fix indentation. * rs6000-lynx178-tdep.c: Fix indentation. * rs6000-nat.c: Fix indentation. * rs6000-tdep.c: Fix indentation. * rust-lang.c: Fix indentation. * rx-tdep.c: Fix indentation. * s12z-tdep.c: Fix indentation. * s390-linux-tdep.c: Fix indentation. * score-tdep.c: Fix indentation. * ser-base.c: Fix indentation. * ser-mingw.c: Fix indentation. * ser-uds.c: Fix indentation. * ser-unix.c: Fix indentation. * serial.c: Fix indentation. * sh-linux-tdep.c: Fix indentation. * sh-nbsd-tdep.c: Fix indentation. * sh-tdep.c: Fix indentation. * skip.c: Fix indentation. * sol-thread.c: Fix indentation. * solib-aix.c: Fix indentation. * solib-darwin.c: Fix indentation. * solib-frv.c: Fix indentation. * solib-svr4.c: Fix indentation. * solib.c: Fix indentation. * source.c: Fix indentation. * sparc-linux-tdep.c: Fix indentation. * sparc-nbsd-tdep.c: Fix indentation. * sparc-obsd-tdep.c: Fix indentation. * sparc-ravenscar-thread.c: Fix indentation. * sparc-tdep.c: Fix indentation. * sparc64-linux-tdep.c: Fix indentation. * sparc64-nbsd-tdep.c: Fix indentation. * sparc64-obsd-tdep.c: Fix indentation. * sparc64-tdep.c: Fix indentation. * stabsread.c: Fix indentation. * stack.c: Fix indentation. * stap-probe.c: Fix indentation. * stubs/ia64vms-stub.c: Fix indentation. * stubs/m32r-stub.c: Fix indentation. * stubs/m68k-stub.c: Fix indentation. * stubs/sh-stub.c: Fix indentation. * stubs/sparc-stub.c: Fix indentation. * symfile-mem.c: Fix indentation. * symfile.c: Fix indentation. * symfile.h: Fix indentation. * symmisc.c: Fix indentation. * symtab.c: Fix indentation. * symtab.h: Fix indentation. * target-float.c: Fix indentation. * target.c: Fix indentation. * target.h: Fix indentation. * tic6x-tdep.c: Fix indentation. * tilegx-linux-tdep.c: Fix indentation. * tilegx-tdep.c: Fix indentation. * top.c: Fix indentation. * tracefile-tfile.c: Fix indentation. * tracepoint.c: Fix indentation. * tui/tui-disasm.c: Fix indentation. * tui/tui-io.c: Fix indentation. * tui/tui-regs.c: Fix indentation. * tui/tui-stack.c: Fix indentation. * tui/tui-win.c: Fix indentation. * tui/tui-winsource.c: Fix indentation. * tui/tui.c: Fix indentation. * typeprint.c: Fix indentation. * ui-out.h: Fix indentation. * unittests/copy_bitwise-selftests.c: Fix indentation. * unittests/memory-map-selftests.c: Fix indentation. * utils.c: Fix indentation. * v850-tdep.c: Fix indentation. * valarith.c: Fix indentation. * valops.c: Fix indentation. * valprint.c: Fix indentation. * valprint.h: Fix indentation. * value.c: Fix indentation. * value.h: Fix indentation. * varobj.c: Fix indentation. * vax-tdep.c: Fix indentation. * windows-nat.c: Fix indentation. * windows-tdep.c: Fix indentation. * xcoffread.c: Fix indentation. * xml-syscall.c: Fix indentation. * xml-tdesc.c: Fix indentation. * xstormy16-tdep.c: Fix indentation. * xtensa-config.c: Fix indentation. * xtensa-linux-nat.c: Fix indentation. * xtensa-linux-tdep.c: Fix indentation. * xtensa-tdep.c: Fix indentation. gdbserver/ChangeLog: * ax.cc: Fix indentation. * dll.cc: Fix indentation. * inferiors.h: Fix indentation. * linux-low.cc: Fix indentation. * linux-nios2-low.cc: Fix indentation. * linux-ppc-ipa.cc: Fix indentation. * linux-ppc-low.cc: Fix indentation. * linux-x86-low.cc: Fix indentation. * linux-xtensa-low.cc: Fix indentation. * regcache.cc: Fix indentation. * server.cc: Fix indentation. * tracepoint.cc: Fix indentation. gdbsupport/ChangeLog: * common-exceptions.h: Fix indentation. * event-loop.cc: Fix indentation. * fileio.cc: Fix indentation. * filestuff.cc: Fix indentation. * gdb-dlfcn.cc: Fix indentation. * gdb_string_view.h: Fix indentation. * job-control.cc: Fix indentation. * signals.cc: Fix indentation. Change-Id: I4bad7ae6be0fbe14168b8ebafb98ffe14964a695
Diffstat (limited to 'gdb/machoread.c')
-rw-r--r--gdb/machoread.c652
1 files changed, 326 insertions, 326 deletions
diff --git a/gdb/machoread.c b/gdb/machoread.c
index fb4e205..079b6e7 100644
--- a/gdb/machoread.c
+++ b/gdb/machoread.c
@@ -88,7 +88,7 @@ macho_symtab_add_minsym (minimal_symbol_reader &reader,
if (sym->name == NULL || *sym->name == '\0')
{
/* Skip names that don't exist (shouldn't happen), or names
- that are null strings (may happen). */
+ that are null strings (may happen). */
return;
}
@@ -101,37 +101,37 @@ macho_symtab_add_minsym (minimal_symbol_reader &reader,
symaddr = sym->value + sym->section->vma;
if (sym->section == bfd_abs_section_ptr)
- ms_type = mst_abs;
+ ms_type = mst_abs;
else if (sym->section->flags & SEC_CODE)
- {
- if (sym->flags & (BSF_GLOBAL | BSF_WEAK))
- ms_type = mst_text;
- else
- ms_type = mst_file_text;
- }
+ {
+ if (sym->flags & (BSF_GLOBAL | BSF_WEAK))
+ ms_type = mst_text;
+ else
+ ms_type = mst_file_text;
+ }
else if (sym->section->flags & SEC_ALLOC)
- {
- if (sym->flags & (BSF_GLOBAL | BSF_WEAK))
- {
- if (sym->section->flags & SEC_LOAD)
- ms_type = mst_data;
- else
- ms_type = mst_bss;
- }
- else if (sym->flags & BSF_LOCAL)
- {
- /* Not a special stabs-in-elf symbol, do regular
- symbol processing. */
- if (sym->section->flags & SEC_LOAD)
- ms_type = mst_file_data;
- else
- ms_type = mst_file_bss;
- }
- else
- ms_type = mst_unknown;
- }
+ {
+ if (sym->flags & (BSF_GLOBAL | BSF_WEAK))
+ {
+ if (sym->section->flags & SEC_LOAD)
+ ms_type = mst_data;
+ else
+ ms_type = mst_bss;
+ }
+ else if (sym->flags & BSF_LOCAL)
+ {
+ /* Not a special stabs-in-elf symbol, do regular
+ symbol processing. */
+ if (sym->section->flags & SEC_LOAD)
+ ms_type = mst_file_data;
+ else
+ ms_type = mst_file_bss;
+ }
+ else
+ ms_type = mst_unknown;
+ }
else
- return; /* Skip this symbol. */
+ return; /* Skip this symbol. */
reader.record_with_info (sym->name, symaddr, ms_type,
gdb_bfd_section_index (objfile->obfd,
@@ -180,133 +180,133 @@ macho_symtab_read (minimal_symbol_reader &reader,
bfd_mach_o_asymbol *mach_o_sym = (bfd_mach_o_asymbol *)sym;
switch (state)
- {
- case S_NO_SO:
+ {
+ case S_NO_SO:
if (mach_o_sym->n_type == N_SO)
- {
- /* Start of object stab. */
+ {
+ /* Start of object stab. */
if (sym->name == NULL || sym->name[0] == 0)
- {
- /* Unexpected empty N_SO. */
- complaint (_("Unexpected empty N_SO stab"));
- }
- else
- {
- file_so = sym;
- state = S_FIRST_SO;
- }
- }
- else if (sym->flags & BSF_DEBUGGING)
- {
- if (mach_o_sym->n_type == N_OPT)
- {
- /* No complaint for OPT. */
- break;
- }
-
- /* Debugging symbols are not expected here. */
- complaint (_("%s: Unexpected debug stab outside SO markers"),
- objfile_name (objfile));
- }
- else
- {
- /* Non-debugging symbols go to the minimal symbol table. */
- macho_symtab_add_minsym (reader, objfile, sym);
- }
- break;
-
- case S_FIRST_SO:
- case S_SECOND_SO:
+ {
+ /* Unexpected empty N_SO. */
+ complaint (_("Unexpected empty N_SO stab"));
+ }
+ else
+ {
+ file_so = sym;
+ state = S_FIRST_SO;
+ }
+ }
+ else if (sym->flags & BSF_DEBUGGING)
+ {
+ if (mach_o_sym->n_type == N_OPT)
+ {
+ /* No complaint for OPT. */
+ break;
+ }
+
+ /* Debugging symbols are not expected here. */
+ complaint (_("%s: Unexpected debug stab outside SO markers"),
+ objfile_name (objfile));
+ }
+ else
+ {
+ /* Non-debugging symbols go to the minimal symbol table. */
+ macho_symtab_add_minsym (reader, objfile, sym);
+ }
+ break;
+
+ case S_FIRST_SO:
+ case S_SECOND_SO:
if (mach_o_sym->n_type == N_SO)
- {
+ {
if (sym->name == NULL || sym->name[0] == 0)
- {
- /* Unexpected empty N_SO. */
- complaint (_("Empty SO section"));
- state = S_NO_SO;
- }
- else if (state == S_FIRST_SO)
- {
- /* Second SO stab for the file name. */
- file_so = sym;
- state = S_SECOND_SO;
- }
- else
- complaint (_("Three SO in a raw"));
- }
- else if (mach_o_sym->n_type == N_OSO)
- {
+ {
+ /* Unexpected empty N_SO. */
+ complaint (_("Empty SO section"));
+ state = S_NO_SO;
+ }
+ else if (state == S_FIRST_SO)
+ {
+ /* Second SO stab for the file name. */
+ file_so = sym;
+ state = S_SECOND_SO;
+ }
+ else
+ complaint (_("Three SO in a raw"));
+ }
+ else if (mach_o_sym->n_type == N_OSO)
+ {
if (sym->name == NULL || sym->name[0] == 0)
- {
- /* Empty OSO. Means that this file was compiled with
- stabs. */
- state = S_STAB_FILE;
- warning (_("stabs debugging not supported for %s"),
- file_so->name);
- }
- else
- {
- /* Non-empty OSO for a Dwarf file. */
- oso_file = symbol_table + i;
- nbr_syms = 0;
- state = S_DWARF_FILE;
- }
- }
- else
- complaint (_("Unexpected stab after SO"));
- break;
-
- case S_STAB_FILE:
- case S_DWARF_FILE:
+ {
+ /* Empty OSO. Means that this file was compiled with
+ stabs. */
+ state = S_STAB_FILE;
+ warning (_("stabs debugging not supported for %s"),
+ file_so->name);
+ }
+ else
+ {
+ /* Non-empty OSO for a Dwarf file. */
+ oso_file = symbol_table + i;
+ nbr_syms = 0;
+ state = S_DWARF_FILE;
+ }
+ }
+ else
+ complaint (_("Unexpected stab after SO"));
+ break;
+
+ case S_STAB_FILE:
+ case S_DWARF_FILE:
if (mach_o_sym->n_type == N_SO)
- {
+ {
if (sym->name == NULL || sym->name[0] == 0)
- {
- /* End of file. */
- if (state == S_DWARF_FILE)
+ {
+ /* End of file. */
+ if (state == S_DWARF_FILE)
oso_vector_ptr->emplace_back (oso_file, symbol_table + i,
nbr_syms);
- state = S_NO_SO;
- }
- else
- {
- complaint (_("Missing nul SO"));
- file_so = sym;
- state = S_FIRST_SO;
- }
- }
- else if (sym->flags & BSF_DEBUGGING)
- {
- if (state == S_STAB_FILE)
- {
- /* FIXME: to be implemented. */
- }
- else
- {
- switch (mach_o_sym->n_type)
- {
- case N_FUN:
- if (sym->name == NULL || sym->name[0] == 0)
- break;
- /* Fall through. */
- case N_STSYM:
- /* Interesting symbol. */
- nbr_syms++;
- break;
- case N_ENSYM:
- case N_BNSYM:
- case N_GSYM:
- break;
- default:
- complaint (_("unhandled stab for dwarf OSO file"));
- break;
- }
- }
- }
- else
- complaint (_("non-debugging symbol within SO"));
- break;
- }
+ state = S_NO_SO;
+ }
+ else
+ {
+ complaint (_("Missing nul SO"));
+ file_so = sym;
+ state = S_FIRST_SO;
+ }
+ }
+ else if (sym->flags & BSF_DEBUGGING)
+ {
+ if (state == S_STAB_FILE)
+ {
+ /* FIXME: to be implemented. */
+ }
+ else
+ {
+ switch (mach_o_sym->n_type)
+ {
+ case N_FUN:
+ if (sym->name == NULL || sym->name[0] == 0)
+ break;
+ /* Fall through. */
+ case N_STSYM:
+ /* Interesting symbol. */
+ nbr_syms++;
+ break;
+ case N_ENSYM:
+ case N_BNSYM:
+ case N_GSYM:
+ break;
+ default:
+ complaint (_("unhandled stab for dwarf OSO file"));
+ break;
+ }
+ }
+ }
+ else
+ complaint (_("non-debugging symbol within SO"));
+ break;
+ }
}
if (state != S_NO_SO)
@@ -354,8 +354,8 @@ struct macho_sym_hash_entry
static struct bfd_hash_entry *
macho_sym_hash_newfunc (struct bfd_hash_entry *entry,
- struct bfd_hash_table *table,
- const char *string)
+ struct bfd_hash_table *table,
+ const char *string)
{
struct macho_sym_hash_entry *ret = (struct macho_sym_hash_entry *) entry;
@@ -363,7 +363,7 @@ macho_sym_hash_newfunc (struct bfd_hash_entry *entry,
subclass. */
if (ret == NULL)
ret = (struct macho_sym_hash_entry *) bfd_hash_allocate (table,
- sizeof (* ret));
+ sizeof (* ret));
if (ret == NULL)
return NULL;
@@ -407,7 +407,7 @@ macho_resolve_oso_sym_with_minsym (struct objfile *main_objfile, asymbol *sym)
static void
macho_add_oso_symfile (oso_el *oso, const gdb_bfd_ref_ptr &abfd,
const char *name,
- struct objfile *main_objfile,
+ struct objfile *main_objfile,
symfile_add_flags symfile_flags)
{
int storage;
@@ -427,7 +427,7 @@ macho_add_oso_symfile (oso_el *oso, const gdb_bfd_ref_ptr &abfd,
if (!bfd_check_format (abfd.get (), bfd_object))
{
warning (_("`%s': can't read symbols: %s."), oso->name,
- bfd_errmsg (bfd_get_error ()));
+ bfd_errmsg (bfd_get_error ()));
return;
}
@@ -438,8 +438,8 @@ macho_add_oso_symfile (oso_el *oso, const gdb_bfd_ref_ptr &abfd,
}
if (!bfd_hash_table_init_n (&table, macho_sym_hash_newfunc,
- sizeof (struct macho_sym_hash_entry),
- oso->nbr_syms))
+ sizeof (struct macho_sym_hash_entry),
+ oso->nbr_syms))
{
warning (_("`%s': can't create hash table"), oso->name);
return;
@@ -465,42 +465,42 @@ macho_add_oso_symfile (oso_el *oso, const gdb_bfd_ref_ptr &abfd,
bfd_mach_o_asymbol *mach_o_sym = (bfd_mach_o_asymbol *)sym;
switch (mach_o_sym->n_type)
- {
- case N_ENSYM:
- case N_BNSYM:
- case N_GSYM:
- sym = NULL;
- break;
- case N_FUN:
- if (sym->name == NULL || sym->name[0] == 0)
- sym = NULL;
- break;
- case N_STSYM:
- break;
- default:
- sym = NULL;
- break;
- }
+ {
+ case N_ENSYM:
+ case N_BNSYM:
+ case N_GSYM:
+ sym = NULL;
+ break;
+ case N_FUN:
+ if (sym->name == NULL || sym->name[0] == 0)
+ sym = NULL;
+ break;
+ case N_STSYM:
+ break;
+ default:
+ sym = NULL;
+ break;
+ }
if (sym != NULL)
- {
- struct macho_sym_hash_entry *ent;
-
- ent = (struct macho_sym_hash_entry *)
- bfd_hash_lookup (&table, sym->name, TRUE, FALSE);
- if (ent->sym != NULL)
- complaint (_("Duplicated symbol %s in symbol table"), sym->name);
- else
- {
- if (mach_o_debug_level > 4)
- {
- struct gdbarch *arch = main_objfile->arch ();
- printf_unfiltered
- (_("Adding symbol %s (addr: %s)\n"),
- sym->name, paddress (arch, sym->value));
- }
- ent->sym = sym;
- }
- }
+ {
+ struct macho_sym_hash_entry *ent;
+
+ ent = (struct macho_sym_hash_entry *)
+ bfd_hash_lookup (&table, sym->name, TRUE, FALSE);
+ if (ent->sym != NULL)
+ complaint (_("Duplicated symbol %s in symbol table"), sym->name);
+ else
+ {
+ if (mach_o_debug_level > 4)
+ {
+ struct gdbarch *arch = main_objfile->arch ();
+ printf_unfiltered
+ (_("Adding symbol %s (addr: %s)\n"),
+ sym->name, paddress (arch, sym->value));
+ }
+ ent->sym = sym;
+ }
+ }
}
/* Relocate symbols of the OSO. */
@@ -510,79 +510,79 @@ macho_add_oso_symfile (oso_el *oso, const gdb_bfd_ref_ptr &abfd,
bfd_mach_o_asymbol *mach_o_sym = (bfd_mach_o_asymbol *)sym;
if (mach_o_sym->n_type & BFD_MACH_O_N_STAB)
- continue;
+ continue;
if ((mach_o_sym->n_type & BFD_MACH_O_N_TYPE) == BFD_MACH_O_N_UNDF
- && sym->value != 0)
- {
- /* For common symbol use the min symtab and modify the OSO
- symbol table. */
- CORE_ADDR res;
-
- res = macho_resolve_oso_sym_with_minsym (main_objfile, sym);
- if (res != 0)
- {
- sym->section = bfd_com_section_ptr;
- sym->value = res;
- }
- }
+ && sym->value != 0)
+ {
+ /* For common symbol use the min symtab and modify the OSO
+ symbol table. */
+ CORE_ADDR res;
+
+ res = macho_resolve_oso_sym_with_minsym (main_objfile, sym);
+ if (res != 0)
+ {
+ sym->section = bfd_com_section_ptr;
+ sym->value = res;
+ }
+ }
else if ((mach_o_sym->n_type & BFD_MACH_O_N_TYPE) == BFD_MACH_O_N_SECT)
- {
- /* Normal symbol. */
- asection *sec = sym->section;
- bfd_mach_o_section *msec;
- unsigned int sec_type;
-
- /* Skip buggy ones. */
- if (sec == NULL || sections_rebased[sec->index] != 0)
- continue;
-
- /* Only consider regular, non-debugging sections. */
- msec = bfd_mach_o_get_mach_o_section (sec);
- sec_type = msec->flags & BFD_MACH_O_SECTION_TYPE_MASK;
- if ((sec_type == BFD_MACH_O_S_REGULAR
- || sec_type == BFD_MACH_O_S_ZEROFILL)
- && (msec->flags & BFD_MACH_O_S_ATTR_DEBUG) == 0)
- {
- CORE_ADDR addr = 0;
-
- if ((mach_o_sym->n_type & BFD_MACH_O_N_EXT) != 0)
- {
- /* Use the min symtab for global symbols. */
- addr = macho_resolve_oso_sym_with_minsym (main_objfile, sym);
- }
- else
- {
- struct macho_sym_hash_entry *ent;
-
- ent = (struct macho_sym_hash_entry *)
- bfd_hash_lookup (&table, sym->name, FALSE, FALSE);
- if (ent != NULL)
- addr = bfd_asymbol_value (ent->sym);
- }
-
- /* Adjust the section. */
- if (addr != 0)
- {
- CORE_ADDR res = addr - sym->value;
-
- if (mach_o_debug_level > 3)
- {
- struct gdbarch *arch = main_objfile->arch ();
- printf_unfiltered
- (_("resolve sect %s with %s (set to %s)\n"),
- sec->name, sym->name,
- paddress (arch, res));
- }
- bfd_set_section_vma (sec, res);
- sections_rebased[sec->index] = 1;
- }
- }
- else
- {
- /* Mark the section as never rebased. */
- sections_rebased[sec->index] = 2;
- }
- }
+ {
+ /* Normal symbol. */
+ asection *sec = sym->section;
+ bfd_mach_o_section *msec;
+ unsigned int sec_type;
+
+ /* Skip buggy ones. */
+ if (sec == NULL || sections_rebased[sec->index] != 0)
+ continue;
+
+ /* Only consider regular, non-debugging sections. */
+ msec = bfd_mach_o_get_mach_o_section (sec);
+ sec_type = msec->flags & BFD_MACH_O_SECTION_TYPE_MASK;
+ if ((sec_type == BFD_MACH_O_S_REGULAR
+ || sec_type == BFD_MACH_O_S_ZEROFILL)
+ && (msec->flags & BFD_MACH_O_S_ATTR_DEBUG) == 0)
+ {
+ CORE_ADDR addr = 0;
+
+ if ((mach_o_sym->n_type & BFD_MACH_O_N_EXT) != 0)
+ {
+ /* Use the min symtab for global symbols. */
+ addr = macho_resolve_oso_sym_with_minsym (main_objfile, sym);
+ }
+ else
+ {
+ struct macho_sym_hash_entry *ent;
+
+ ent = (struct macho_sym_hash_entry *)
+ bfd_hash_lookup (&table, sym->name, FALSE, FALSE);
+ if (ent != NULL)
+ addr = bfd_asymbol_value (ent->sym);
+ }
+
+ /* Adjust the section. */
+ if (addr != 0)
+ {
+ CORE_ADDR res = addr - sym->value;
+
+ if (mach_o_debug_level > 3)
+ {
+ struct gdbarch *arch = main_objfile->arch ();
+ printf_unfiltered
+ (_("resolve sect %s with %s (set to %s)\n"),
+ sec->name, sym->name,
+ paddress (arch, res));
+ }
+ bfd_set_section_vma (sec, res);
+ sections_rebased[sec->index] = 1;
+ }
+ }
+ else
+ {
+ /* Mark the section as never rebased. */
+ sections_rebased[sec->index] = 2;
+ }
+ }
}
bfd_hash_table_free (&table);
@@ -623,19 +623,19 @@ macho_symfile_read_all_oso (std::vector<oso_el> *oso_vector_ptr,
pfx_len = get_archive_prefix_len (oso->name);
if (pfx_len > 0)
{
- int last_ix;
- oso_el *oso2;
- int ix2;
+ int last_ix;
+ oso_el *oso2;
+ int ix2;
std::string archive_name (oso->name, pfx_len);
- /* Compute number of oso for this archive. */
- for (last_ix = ix; last_ix < oso_vector_ptr->size (); last_ix++)
- {
+ /* Compute number of oso for this archive. */
+ for (last_ix = ix; last_ix < oso_vector_ptr->size (); last_ix++)
+ {
oso2 = &(*oso_vector_ptr)[last_ix];
- if (strncmp (oso2->name, archive_name.c_str (), pfx_len) != 0)
- break;
- }
+ if (strncmp (oso2->name, archive_name.c_str (), pfx_len) != 0)
+ break;
+ }
/* Open the archive and check the format. */
gdb_bfd_ref_ptr archive_bfd (gdb_bfd_open (archive_name.c_str (),
@@ -644,14 +644,14 @@ macho_symfile_read_all_oso (std::vector<oso_el> *oso_vector_ptr,
{
warning (_("Could not open OSO archive file \"%s\""),
archive_name.c_str ());
- ix = last_ix;
+ ix = last_ix;
continue;
}
if (!bfd_check_format (archive_bfd.get (), bfd_archive))
{
warning (_("OSO archive file \"%s\" not an archive."),
archive_name.c_str ());
- ix = last_ix;
+ ix = last_ix;
continue;
}
@@ -662,59 +662,59 @@ macho_symfile_read_all_oso (std::vector<oso_el> *oso_vector_ptr,
{
warning (_("Could not read archive members out of "
"OSO archive \"%s\""), archive_name.c_str ());
- ix = last_ix;
+ ix = last_ix;
continue;
}
- /* Load all oso in this library. */
+ /* Load all oso in this library. */
while (member_bfd != NULL)
{
const char *member_name = bfd_get_filename (member_bfd.get ());
- int member_len = strlen (member_name);
-
- /* If this member is referenced, add it as a symfile. */
- for (ix2 = ix; ix2 < last_ix; ix2++)
- {
- oso2 = &(*oso_vector_ptr)[ix2];
-
- if (oso2->name
- && strlen (oso2->name) == pfx_len + member_len + 2
- && !memcmp (member_name, oso2->name + pfx_len + 1,
- member_len))
- {
- macho_add_oso_symfile (oso2, member_bfd,
+ int member_len = strlen (member_name);
+
+ /* If this member is referenced, add it as a symfile. */
+ for (ix2 = ix; ix2 < last_ix; ix2++)
+ {
+ oso2 = &(*oso_vector_ptr)[ix2];
+
+ if (oso2->name
+ && strlen (oso2->name) == pfx_len + member_len + 2
+ && !memcmp (member_name, oso2->name + pfx_len + 1,
+ member_len))
+ {
+ macho_add_oso_symfile (oso2, member_bfd,
bfd_get_filename (member_bfd.get ()),
- main_objfile, symfile_flags);
- oso2->name = NULL;
- break;
- }
- }
+ main_objfile, symfile_flags);
+ oso2->name = NULL;
+ break;
+ }
+ }
member_bfd = gdb_bfd_openr_next_archived_file (archive_bfd.get (),
member_bfd.get ());
}
- for (ix2 = ix; ix2 < last_ix; ix2++)
- {
- oso2 = &(*oso_vector_ptr)[ix2];
-
- if (oso2->name != NULL)
- warning (_("Could not find specified archive member "
- "for OSO name \"%s\""), oso->name);
- }
- ix = last_ix;
+ for (ix2 = ix; ix2 < last_ix; ix2++)
+ {
+ oso2 = &(*oso_vector_ptr)[ix2];
+
+ if (oso2->name != NULL)
+ warning (_("Could not find specified archive member "
+ "for OSO name \"%s\""), oso->name);
+ }
+ ix = last_ix;
}
else
{
gdb_bfd_ref_ptr abfd (gdb_bfd_open (oso->name, gnutarget));
if (abfd == NULL)
- warning (_("`%s': can't open to read symbols: %s."), oso->name,
- bfd_errmsg (bfd_get_error ()));
- else
- macho_add_oso_symfile (oso, abfd, oso->name, main_objfile,
+ warning (_("`%s': can't open to read symbols: %s."), oso->name,
+ bfd_errmsg (bfd_get_error ()));
+ else
+ macho_add_oso_symfile (oso, abfd, oso->name, main_objfile,
symfile_flags);
- ix++;
- }
+ ix++;
+ }
}
}
@@ -749,7 +749,7 @@ macho_check_dsym (struct objfile *objfile, std::string *filenamep)
return NULL;
if (bfd_mach_o_lookup_command (objfile->obfd,
- BFD_MACH_O_LC_UUID, &main_uuid) == 0)
+ BFD_MACH_O_LC_UUID, &main_uuid) == 0)
{
warning (_("can't find UUID in %s"), objfile_name (objfile));
return NULL;
@@ -768,13 +768,13 @@ macho_check_dsym (struct objfile *objfile, std::string *filenamep)
}
if (bfd_mach_o_lookup_command (dsym_bfd.get (),
- BFD_MACH_O_LC_UUID, &dsym_uuid) == 0)
+ BFD_MACH_O_LC_UUID, &dsym_uuid) == 0)
{
warning (_("can't find UUID in %s"), dsym_filename);
return NULL;
}
if (memcmp (dsym_uuid->command.uuid.uuid, main_uuid->command.uuid.uuid,
- sizeof (main_uuid->command.uuid.uuid)))
+ sizeof (main_uuid->command.uuid.uuid)))
{
warning (_("dsym file UUID doesn't match the one in %s"),
objfile_name (objfile));
@@ -814,7 +814,7 @@ macho_symfile_read (struct objfile *objfile, symfile_add_flags symfile_flags)
symbol_table.resize (storage_needed / sizeof (asymbol *));
- minimal_symbol_reader reader (objfile);
+ minimal_symbol_reader reader (objfile);
symcount = bfd_canonicalize_symtab (objfile->obfd,
symbol_table.data ());
@@ -827,7 +827,7 @@ macho_symfile_read (struct objfile *objfile, symfile_add_flags symfile_flags)
macho_symtab_read (reader, objfile, symcount, symbol_table.data (),
&oso_vector);
- reader.install ();
+ reader.install ();
}
/* Try to read .eh_frame / .debug_frame. */
@@ -840,27 +840,27 @@ macho_symfile_read (struct objfile *objfile, symfile_add_flags symfile_flags)
gdb_bfd_ref_ptr dsym_bfd (macho_check_dsym (objfile, &dsym_filename));
if (dsym_bfd != NULL)
{
- struct bfd_section *asect, *dsect;
+ struct bfd_section *asect, *dsect;
if (mach_o_debug_level > 0)
printf_unfiltered (_("dsym file found\n"));
- /* Set dsym section size. */
- for (asect = objfile->obfd->sections, dsect = dsym_bfd->sections;
- asect && dsect;
- asect = asect->next, dsect = dsect->next)
- {
- if (strcmp (asect->name, dsect->name) != 0)
- break;
- bfd_set_section_size (dsect, bfd_section_size (asect));
- }
+ /* Set dsym section size. */
+ for (asect = objfile->obfd->sections, dsect = dsym_bfd->sections;
+ asect && dsect;
+ asect = asect->next, dsect = dsect->next)
+ {
+ if (strcmp (asect->name, dsect->name) != 0)
+ break;
+ bfd_set_section_size (dsect, bfd_section_size (asect));
+ }
/* Add the dsym file as a separate file. */
- symbol_file_add_separate (dsym_bfd.get (), dsym_filename.c_str (),
+ symbol_file_add_separate (dsym_bfd.get (), dsym_filename.c_str (),
symfile_flags, objfile);
/* Don't try to read dwarf2 from main file or shared libraries. */
- return;
+ return;
}
}
@@ -877,7 +877,7 @@ macho_symfile_read (struct objfile *objfile, symfile_add_flags symfile_flags)
static bfd_byte *
macho_symfile_relocate (struct objfile *objfile, asection *sectp,
- bfd_byte *buf)
+ bfd_byte *buf)
{
bfd *abfd = objfile->obfd;
@@ -888,7 +888,7 @@ macho_symfile_relocate (struct objfile *objfile, asection *sectp,
if (mach_o_debug_level > 0)
printf_unfiltered (_("Relocate section '%s' of %s\n"),
- sectp->name, objfile_name (objfile));
+ sectp->name, objfile_name (objfile));
return bfd_simple_get_relocated_section_contents (abfd, sectp, buf, NULL);
}
@@ -900,7 +900,7 @@ macho_symfile_finish (struct objfile *objfile)
static void
macho_symfile_offsets (struct objfile *objfile,
- const section_addr_info &addrs)
+ const section_addr_info &addrs)
{
unsigned int i;
struct obj_section *osect;