This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] nat/fork-inferior: include linux-ptrace.h


Hello Simon,

On Wed, 27 Jun 2018 10:24:07 -0400, Simon Marchi wrote:

> > diff --git a/gdb/nat/fork-inferior.c b/gdb/nat/fork-inferior.c
> > index 8b59387fa5..05167628a6 100644
> > --- a/gdb/nat/fork-inferior.c
> > +++ b/gdb/nat/fork-inferior.c
> > @@ -26,6 +26,7 @@
> >  #include "common-gdbthread.h"
> >  #include "signals-state-save-restore.h"
> >  #include "gdb_tilde_expand.h"
> > +#include "linux-ptrace.h"
> >  #include <vector>
> > 
> >  extern char **environ;  
> 
> Hi Thomas,
> 
> fork-inferior.c is also included in native builds for BSDs, AIX, Solaris 
> and Darwin (see gdb/configure.nat).  I am a bit concerned that 
> linux-ptrace.h could use some Linux-specific things, and thus would 
> break the other builds.  However, I built-tested on FreeBSD and it seems 
> fine.  Worst case, we can probably wrap this include in "#ifdef 
> __linux__" if that becomes a problem.

Or better, this horrible mess of __UCLIBC__ and HAS_NOMMU macros should
be replaced by a proper autoconf check testing for the availability of
fork().

> Do you have push access, or do you prefer if I push the patch for you?

I don't have push access.

> I suppose that error was caught by a Buildroot autobuilder?  Would it be 
> possible to have the config, so I can add a similar configuration to my 
> collection of cross-compiled GDB builds I use for build-testing?

The error wasn't caught by the autobuilders, but by the automated build
logic we use for http://toolchains.bootlin.com to build toolchains for
a wide range of CPU architectures.

The failure was
https://gitlab.com/free-electrons/toolchains-builder/-/jobs/77021057,
and the Buildroot configuration being built was:

BR2_m68k=y
BR2_m68k_cf5208=y
BR2_WGET="wget --passive-ftp -nd -t 3 --no-check-certificate"
BR2_HOST_DIR="/opt/m68k-coldfire--uclibc--bleeding-edge-2018.06-1"
BR2_GNU_MIRROR="http://ftp.gnu.org/pub/gnu";
BR2_KERNEL_HEADERS_4_14=y
BR2_TOOLCHAIN_BUILDROOT_LOCALE=y
BR2_PTHREAD_DEBUG=y
BR2_BINUTILS_VERSION_2_30_X=y
BR2_GCC_VERSION_8_X=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_PACKAGE_HOST_GDB=y
BR2_GDB_VERSION_8_1=y
BR2_INIT_NONE=y
# BR2_PACKAGE_BUSYBOX is not set
BR2_PACKAGE_GDB=y
# BR2_TARGET_ROOTFS_TAR is not set

Note that with Buildroot's latest master, this configuration will build
fine, because we already merged the fix for the fork/vfork issue.

Best regards,

Thomas Petazzoni
-- 
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]