From: Chris Packham <Chris.Packham@alliedtelesis.co.nz>
To: Florian Weimer <fweimer@redhat.com>,
Chris Packham via Libc-help <libc-help@sourceware.org>
Subject: Re: Errors cross-compiling gdbserver with glibc-2.34
Date: Mon, 9 Aug 2021 21:10:47 +0000 [thread overview]
Message-ID: <5105d4b9-4f83-eb82-c050-3ba9f212b35f@alliedtelesis.co.nz> (raw)
In-Reply-To: <87im0frlwm.fsf@oldenburg.str.redhat.com>
On 9/08/21 9:46 pm, Florian Weimer wrote:
> * Chris Packham via Libc-help:
>
>> I'm looking at updating crosstool-ng to add glibc-2.34. I can generate a
>> toolchain fine but when I try to build gdbserver (which can be enabled
>> as part of the crosstool-ng build) I get some odd gnulib build errors.
>>
>> https://github.com/crosstool-ng/crosstool-ng/pull/1570#issuecomment-893784531
>>
>> I can disable building gdbserver as part of crosstool-ng and
>> successfully generate a toolchain. But when I use that toolchain to
>> manually build gdbserver I get the same error (included below as it has
>> a bit more useful output than on the link above).
>>
>> CXX amd64-linux-siginfo.o
>> In file included from
>> /home/ctng/x-tools/x86_64-unknown-linux-gnu/x86_64-unknown-linux-gnu/sysroot/usr/include/bits/sigstksz.h:24,
>> from
>> /home/ctng/x-tools/x86_64-unknown-linux-gnu/x86_64-unknown-linux-gnu/sysroot/usr/include/signal.h:328,
>> from build-gnulib-gdbserver/import/signal.h:52,
>> from
>> ../../../gdb-9.2/gdb/gdbserver/../nat/amd64-linux-siginfo.c:20:
>> build-gnulib-gdbserver/import/unistd.h:135:3: error: #error "Please
>> include config.h first."
> gnulib apparently overrides <unistd.h> with an incompatible header.
> There is nothing that glibc can do about this.
Yes I came to the same conclusion after I send my initial email.
As of glibc commit 6c57d32048 ("sysconf: Add
_SC_MINSIGSTKSZ/_SC_SIGSTKSZ [BZ #20305]") there is a new include chain
from signal.h to unistd.h. There's nothing wrong with that it just
happens that unistd.h is one of the headers that the gnulib bundled with
gdb overrides.
It's likely that I'll end up needing to patch gdb to fix this (currently
no idea what the patch would look like). I haven't attempted to compile
a newer gdb so I don't know if this is something already dealt with
(there is a source code re-arrangement in gdb-10 that requires some
changes in crosstool-ng that I haven't got round to). If anyone that
works with gnulib and/or gdb is on this list I'd like to know if you've
already encountered this.
Hopefully this is at least a breadcrumb for future web searchers to follow.
> Thanks,
> Florian
next prev parent reply other threads:[~2021-08-09 21:10 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-08-09 9:29 Chris Packham
2021-08-09 9:46 ` Florian Weimer
2021-08-09 21:10 ` Chris Packham [this message]
2021-08-11 10:36 ` Szabolcs Nagy
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5105d4b9-4f83-eb82-c050-3ba9f212b35f@alliedtelesis.co.nz \
--to=chris.packham@alliedtelesis.co.nz \
--cc=fweimer@redhat.com \
--cc=libc-help@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).