This is the mail archive of the gdb@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: gettext.m4 update


On 11.09.2017 15:36, Kamil Rytarowski wrote:
> Hello,
> 
> The current gettext.m4 bundled into GDB is too old for the NetBSD case.
> 
> We mark GDB as BROKEN_GETTEXT_DETECTION and comment that it fails to add
> -lintl to the linker command line.
> 
> Could we please update it to a newer version?
> 
> gettext.m4 is located in https://ftp.gnu.org/pub/gnu/gettext/
> 

I know what breaks the NetBSD buildbot [1].

The following rule (intl/Makefile.in) [2] breaks:

.c.o:
	$(COMPILE) $<

.y.c:
	$(YACC) $(YFLAGS) --output $@ $<
	rm -f $*.h

This means that if plural.y is newer than plural.c it will be regenerated.

There is required Bison < 3.0 (the last one used for regeneration was
1.35), which is already too old to keep it around.

Git does not track mtime in files, and this enforces regeneration of
plural.c, at least in random checkouts. The NetBSD buildbot was
unfortunate to get plural.y newer:

$ stat -f %Fm ./binutils-gdb-master/intl/plural.c
1477324070.931854837
$ stat -f %Fm ./binutils-gdb-master/intl/plural.y
1477324070.931949821


The cleanest and newfangled solution would be to upgrade to newer
gettext and enforce regeneration always.

A kludge would be to insert touch(1) call before execution of intl/Makefile.

I don't know about any good solutions in the middle.

[1]
https://gdb-build.sergiodj.net/builders/NetBSD-x86_64-m64/builds/2456/steps/compile%20gdb/logs/stdio

[2]
https://github.com/wallento/binutils-gdb/blob/master/intl/Makefile.in#L135

Attachment: signature.asc
Description: OpenPGP digital signature


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