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: [Buildroot] [PATCH 2/2] package/gdb: use stat() privided by the system


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/


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