Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
* GDB ARIndex cleanup
@ 2009-03-26 15:29 Pierre Muller
  2009-03-26 20:53 ` Eli Zaretskii
  2009-03-26 23:18 ` Joel Brobecker
  0 siblings, 2 replies; 33+ messages in thread
From: Pierre Muller @ 2009-03-26 15:29 UTC (permalink / raw)
  To: gdb-patches; +Cc: gdb, 'Eli Zaretskii'


  After several commits related to 
Awk Regression Index page
http://sourceware.org/gdb/current/ari/

I finally came down to 2 Critical items left, i.e. :
Things previously eliminated but returned. This should always be empty.

These are :
inline	11	Do not use the inline attribute; since the compiler
generally ignores this, better algorithm selection is needed to improved
performance

GNU/Linux	7	Do not use `Linux', instead use `Linux kernel' or
`GNU/Linux system'; comments should clearly differentiate between the two
(this test assumes that word `Linux' appears on the same line as the word
`GNU' or `kernel'

I wanted to get feedback on these two issues:

1) "inline"
for inline, someone once said that the
rule that we should not use "inline" keyword
is old, and maybe not correct anymore.

  If everyone agrees that this rule should stay,
I will be happy to commit an obvious fix removing
all of them as this seems quite mechanical,
but I wanted to get some feedback first.

2) GNU/Linux issues.

  This is more difficult for me to fix, as
the difference between "Linux kernel" and "GNU/Linux system" 
is still kind of fuzzy...

  Could someone else look into those issues?

3) I also recompiled doschk program 
so that the list of incompatibilities with 
the DOS limitations is generated again...

Eli, there are probably several directories that we could
disregard for this, but I think that 
there are also real issues left.


Pierre Muller
Pascal language support maintainer for GDB



PS: 
Here is a list of Linux detected problems:

lines 39,43p gdb/ppc-linux-tdep.h
int ppc_linux_trap_reg_p (struct gdbarch *gdbarch);

/* Linux target descriptions.  */
extern struct target_desc *tdesc_powerpc_32l;
extern struct target_desc *tdesc_powerpc_altivec32l;

lines 1273,1279p gdb/amd64-tdep.c
    }

  /* The list of issues to contend with here is taken from
     resume_execution in arch/x86/kernel/kprobes.c, Linux 2.6.28.
     Yay for Free Software!  */

  /* Relocate the %rip back to the program's instruction stream,
lines 70,76p gdb/linux-nat.c
the specific pid, and not passing WNOHANG.

When waiting for an event in all threads, waitpid is not quite good. Prior
to
version 2.4, Linux can either wait for event in main thread, or in secondary
threads. (2.4 has the __WALL flag).  So, if we use blocking waitpid, we
might
miss an event.  The solution is to use non-blocking waitpid, together with
sigsuspend.  First, we use non-blocking waitpid to get an event in the main

lines 430,436p gdb/i386-tdep.c
                        paddr_nz (from), paddr_nz (to), insn[0], insn[1]);

  /* The list of issues to contend with here is taken from
     resume_execution in arch/i386/kernel/kprobes.c, Linux 2.6.20.
     Yay for Free Software!  */

  /* Relocate the %eip, if necessary.  */

lines 165,171p gdb/i386-tdep.h
#define I386_SEL_KPL    0x0000  /* Kernel Privilige Level. */

/* The length of the longest i386 instruction (according to
   include/asm-i386/kprobes.h in Linux 2.6.  */
#define I386_MAX_INSN_LEN (16)

/* Functions exported from i386-tdep.c.  */

lines 659,665p gdb/ppc-linux-tdep.c
  return addr;
}

/* Wrappers to handle Linux-only registers.  */

static void
ppc_linux_supply_gregset (const struct regset *regset,

lines 1175,1181p gdb/ppc-linux-tdep.c
  gdbarch_register_osabi (bfd_arch_rs6000, bfd_mach_rs6k, GDB_OSABI_LINUX,
                         ppc_linux_init_abi);

  /* Initialize the Linux target descriptions.  */
  initialize_tdesc_powerpc_32l ();
  initialize_tdesc_powerpc_altivec32l ();
  initialize_tdesc_powerpc_vsx32l ();


^ permalink raw reply	[flat|nested] 33+ messages in thread

end of thread, other threads:[~2009-04-15 18:55 UTC | newest]

Thread overview: 33+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-03-26 15:29 GDB ARIndex cleanup Pierre Muller
2009-03-26 20:53 ` Eli Zaretskii
2009-03-27  8:23   ` Pierre Muller
2009-03-27  8:47     ` Eli Zaretskii
2009-03-27 14:12       ` Eli Zaretskii
2009-03-27 15:35         ` Eli Zaretskii
2009-04-02 15:12         ` Thiago Jung Bauermann
2009-04-02 19:40           ` Eli Zaretskii
2009-04-02 20:34             ` Joel Brobecker
2009-03-26 23:18 ` Joel Brobecker
2009-03-27  2:22   ` Daniel Jacobowitz
2009-03-27  8:43   ` Pierre Muller
2009-03-27 16:04     ` Joel Brobecker
2009-03-27 16:46       ` Daniel Jacobowitz
2009-04-14 23:06   ` [RFC] GDB ARIndex Linux rule cleanup Pierre Muller
2009-04-14 23:23     ` Mark Kettenis
2009-04-14 23:38       ` Pedro Alves
2009-04-14 23:41         ` Joel Brobecker
2009-04-15  7:06           ` Pierre Muller
2009-04-15  7:33           ` Eli Zaretskii
2009-04-15 14:00     ` Ulrich Weigand
2009-04-15 14:21       ` Pedro Alves
2009-04-15 15:32         ` Ulrich Weigand
2009-04-15 15:54           ` Pedro Alves
2009-04-15 14:25       ` Eli Zaretskii
2009-04-15 15:15         ` Daniel Jacobowitz
2009-04-15 15:23         ` Ulrich Weigand
2009-04-15 15:34           ` Mark Kettenis
2009-04-15 16:00             ` Eli Zaretskii
2009-04-15 16:04           ` Eli Zaretskii
2009-04-15 17:34             ` Ulrich Weigand
2009-04-15 18:07               ` Eli Zaretskii
2009-04-15 18:55                 ` Ulrich Weigand

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox