This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [Buildroot] [PATCH 2/2] package/gdb: use stat() privided by the system
- From: Sergio Durigan Junior <sergiodj at redhat dot com>
- To: Pedro Alves <palves at redhat dot com>
- Cc: Rich Felker <dalias at aerifal dot cx>, Romain Naour <romain dot naour at smile dot fr>, Thomas Petazzoni <thomas dot petazzoni at bootlin dot com>, Romain Naour <romain dot naour at gmail dot com>, buildroot at buildroot dot org, gdb-patches at sourceware dot org
- Date: Tue, 11 Sep 2018 14:21:58 -0400
- Subject: Re: [Buildroot] [PATCH 2/2] package/gdb: use stat() privided by the system
- References: <20180909163750.14196-1-romain.naour@gmail.com> <20180909163750.14196-2-romain.naour@gmail.com> <20180910174900.0b9f4133@windsurf> <d588888e-dccc-50c8-5a6e-9c5c46a512cb@smile.fr> <20180910224128.GT1878@brightrain.aerifal.cx> <87lg88oolv.fsf@redhat.com> <13772de6-1197-4182-e13f-3b4f27dfa22d@redhat.com>
On Tuesday, September 11 2018, Pedro Alves wrote:
> On 09/11/2018 01:38 AM, Sergio Durigan Junior wrote:
>
>> This is happening because, before the commit mentioned above,
>> 'common-utils.c' (which gets transformed into 'common-utils-ipa.c'
>> during the gdbserver build) wasn't calling 'stat'. It doesn't seem like
>> a regression; it seems like a hidden problem that was uncovered by the
>> need of 'stat'.
>>
>> I don't know why this problem is manifesting only when compiling IPA,
>> and not when compiling 'common-utils.c' during GDB's/gdbserver's build.
>
> Because the IPA doesn't link with gnulib. And the answer to that wouldn't
> be as simple as "just link it in", because the IPA objects are supposed
> to be compiled with -fPIC and -fvisibility=hidden. So we'd need a third
> build of gnulib for the IPA.
That explains it. It seems strange to me that we still include the
gnulib headers when compiling IPA; I confess I just assumed IPA was
linking with gnulib because of this.
> It doesn't seem like this code that calls stat (is_regular_file?) is
> useful for the IPA, so a quicker/simpler fix would be to simply move
> that function out of common-utils.c into some other file that is not
> shared with the IPA.
It's not useful for IPA; it could be moved to common/filestuff.c, for
example. But IMHO, we should probably have an explicit file just for
IPA, because otherwise we'll forget about this restriction and re-add
some 'stat' calls to common-utils.c.
Thanks,
--
Sergio
GPG key ID: 237A 54B1 0287 28BF 00EF 31F4 D0EB 7628 65FC 5E36
Please send encrypted e-mail if possible
http://sergiodj.net/