From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2805 invoked by alias); 26 Mar 2009 13:10:10 -0000 Received: (qmail 2257 invoked by uid 22791); 26 Mar 2009 13:10:09 -0000 X-SWARE-Spam-Status: No, hits=-2.1 required=5.0 tests=AWL,BAYES_00 X-Spam-Check-By: sourceware.org Received: from mailhost.u-strasbg.fr (HELO mailhost.u-strasbg.fr) (130.79.200.151) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 26 Mar 2009 13:10:01 +0000 Received: from baal.u-strasbg.fr (baal.u-strasbg.fr [IPv6:2001:660:2402::41]) by mailhost.u-strasbg.fr (8.14.2/jtpda-5.5pre1) with ESMTP id n2QD9nDR041478 ; Thu, 26 Mar 2009 14:09:49 +0100 (CET) Received: from mailserver.u-strasbg.fr (ms1.u-strasbg.fr [IPv6:2001:660:2402:d::10]) by baal.u-strasbg.fr (8.14.0/jtpda-5.5pre1) with ESMTP id n2QD9n1w039576 ; Thu, 26 Mar 2009 14:09:49 +0100 (CET) (envelope-from muller@ics.u-strasbg.fr) Received: from d620muller (www-ics.u-strasbg.fr [130.79.210.225]) (user=mullerp mech=LOGIN) by mailserver.u-strasbg.fr (8.14.3/jtpda-5.5pre1) with ESMTP id n2QD9msE068997 (version=TLSv1/SSLv3 cipher=RC4-MD5 bits=128 verify=NO) ; Thu, 26 Mar 2009 14:09:49 +0100 (CET) (envelope-from muller@ics.u-strasbg.fr) From: "Pierre Muller" To: Cc: , "'Eli Zaretskii'" Subject: GDB ARIndex cleanup Date: Thu, 26 Mar 2009 15:29:00 -0000 Message-ID: <000001c9ae14$24fb7cd0$6ef27670$@u-strasbg.fr> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2009-03/txt/msg00590.txt.bz2 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 ();