Require GNU make 3.82

Message ID 20190715101124.77677-1-alan.hayward@arm.com
State New, archived
Headers

Commit Message

Alan Hayward July 15, 2019, 10:11 a.m. UTC
  Gdbserver has failed to build with GNU make 3.81 since commit 08f10e02be.

Update the NEWS file to state that versions earlier than 3.82 are not
supported.

3.82 was released in 2010, 3.81 was released 2006. A quick investigation
of the default GNU make version provided across various distros found the
earliest provided version to be 3.82:
*RHEL 7, Centos 6 - make 3.82
*Fedora 27 - make 4.2.1
*OpenSuse 42.2, SLES11 - make 4.2.1
*Ubuntu 16.04/18.04 - make 4.1
*Debian Jessie - make 4.0

Note that Glibc requires at least 4.0, whereas GCC still allows 3.81.

gdb/ChangeLog:

2019-07-15  Alan Hayward  <alan.hayward@arm.com>

	* NEWS: Require GNU make 3.82.
---
 gdb/NEWS | 5 +++++
 1 file changed, 5 insertions(+)
  

Comments

Kevin Buettner July 16, 2019, 12:51 a.m. UTC | #1
On Mon, 15 Jul 2019 10:11:29 +0000
Alan Hayward <Alan.Hayward@arm.com> wrote:

> Gdbserver has failed to build with GNU make 3.81 since commit 08f10e02be.
> 
> Update the NEWS file to state that versions earlier than 3.82 are not
> supported.
> 
> 3.82 was released in 2010, 3.81 was released 2006. A quick investigation
> of the default GNU make version provided across various distros found the
> earliest provided version to be 3.82:
> *RHEL 7, Centos 6 - make 3.82
> *Fedora 27 - make 4.2.1
> *OpenSuse 42.2, SLES11 - make 4.2.1
> *Ubuntu 16.04/18.04 - make 4.1
> *Debian Jessie - make 4.0
> 
> Note that Glibc requires at least 4.0, whereas GCC still allows 3.81.
> 
> gdb/ChangeLog:
> 
> 2019-07-15  Alan Hayward  <alan.hayward@arm.com>
> 
> 	* NEWS: Require GNU make 3.82.

This seems okay to me, though I think that Eli needs to approve it. 
Regardless, I think you should wait a few days to push it in case
there are any objections.  (The other solution is to rewrite the
Makefile rules that caused the breakage.)

Kevin
  
Alan Hayward July 16, 2019, 10:35 a.m. UTC | #2
> On 16 Jul 2019, at 01:51, Kevin Buettner <kevinb@redhat.com> wrote:

> 

> On Mon, 15 Jul 2019 10:11:29 +0000

> Alan Hayward <Alan.Hayward@arm.com> wrote:

> 

>> Gdbserver has failed to build with GNU make 3.81 since commit 08f10e02be.

>> 

>> Update the NEWS file to state that versions earlier than 3.82 are not

>> supported.

>> 

>> 3.82 was released in 2010, 3.81 was released 2006. A quick investigation

>> of the default GNU make version provided across various distros found the

>> earliest provided version to be 3.82:

>> *RHEL 7, Centos 6 - make 3.82

>> *Fedora 27 - make 4.2.1

>> *OpenSuse 42.2, SLES11 - make 4.2.1

>> *Ubuntu 16.04/18.04 - make 4.1

>> *Debian Jessie - make 4.0

>> 

>> Note that Glibc requires at least 4.0, whereas GCC still allows 3.81.

>> 

>> gdb/ChangeLog:

>> 

>> 2019-07-15  Alan Hayward  <alan.hayward@arm.com>

>> 

>> 	* NEWS: Require GNU make 3.82.

> 

> This seems okay to me, though I think that Eli needs to approve it. 

> Regardless, I think you should wait a few days to push it in case

> there are any objections.  (The other solution is to rewrite the

> Makefile rules that caused the breakage.)

> 

> Kevin


Agreed. I’ll give it a good week after the last comment before pushing.

I did have a look at why the changes broke. I couldn’t see any reason
why it would break, other than it being a bug in 3.81.


Alan.
  
Eli Zaretskii July 18, 2019, 6:17 a.m. UTC | #3
> From: Alan Hayward <Alan.Hayward@arm.com>
> CC: nd <nd@arm.com>, Alan Hayward <Alan.Hayward@arm.com>
> Date: Mon, 15 Jul 2019 10:11:29 +0000
> 
> Gdbserver has failed to build with GNU make 3.81 since commit 08f10e02be.

Which feature of Make 3.82 and later is required to successfully
build gdbserver?

> diff --git a/gdb/NEWS b/gdb/NEWS
> index 4e479bf738..3a92b24e44 100644
> --- a/gdb/NEWS
> +++ b/gdb/NEWS
> @@ -251,6 +251,11 @@ maint show test-options-completion-result
>    GDB) in the output directory for each test script.  Multiple invocations
>    are appended with .1, .2, .3 etc.
>  
> +* Building GDB and GDBserver now requires GNU make >= 3.82.
> +
> +  Using another implementation of the make program or an earlier version of
> +  GNU make to build GDB or GDBserver is not supported.
> +

The test is OK, thanks.
  
Eli Zaretskii July 18, 2019, 10 a.m. UTC | #4
> Date: Thu, 18 Jul 2019 09:17:23 +0300
> From: Eli Zaretskii <eliz@gnu.org>
> CC: gdb-patches@sourceware.org, nd@arm.com
> 
> The test is OK, thanks.

Sorry, I meant "text".
  
Alan Hayward July 18, 2019, 10:57 a.m. UTC | #5
> On 18 Jul 2019, at 07:17, Eli Zaretskii <eliz@gnu.org> wrote:

> 

>> From: Alan Hayward <Alan.Hayward@arm.com>

>> CC: nd <nd@arm.com>, Alan Hayward <Alan.Hayward@arm.com>

>> Date: Mon, 15 Jul 2019 10:11:29 +0000

>> 

>> Gdbserver has failed to build with GNU make 3.81 since commit 08f10e02be.

> 

> Which feature of Make 3.82 and later is required to successfully

> build gdbserver?

> 


It’s not a specific feature in 3.82 that is required.

It looks like it is a bug in 3.81. The GDB makefile isn’t doing anything special
and everything works using 3.82 upwards.

Rewriting the makefile to work around the issue is probably going to be a little
messy.


>> diff --git a/gdb/NEWS b/gdb/NEWS

>> index 4e479bf738..3a92b24e44 100644

>> --- a/gdb/NEWS

>> +++ b/gdb/NEWS

>> @@ -251,6 +251,11 @@ maint show test-options-completion-result

>>   GDB) in the output directory for each test script.  Multiple invocations

>>   are appended with .1, .2, .3 etc.

>> 

>> +* Building GDB and GDBserver now requires GNU make >= 3.82.

>> +

>> +  Using another implementation of the make program or an earlier version of

>> +  GNU make to build GDB or GDBserver is not supported.

>> +

> 

> The test is OK, thanks.


Thanks!

Alan.
  
Alan Hayward Aug. 1, 2019, 4:09 p.m. UTC | #6
I pushed this patch.


> On 18 Jul 2019, at 11:57, Alan Hayward <Alan.Hayward@arm.com> wrote:

> 

> 

> 

>> On 18 Jul 2019, at 07:17, Eli Zaretskii <eliz@gnu.org> wrote:

>> 

>>> From: Alan Hayward <Alan.Hayward@arm.com>

>>> CC: nd <nd@arm.com>, Alan Hayward <Alan.Hayward@arm.com>

>>> Date: Mon, 15 Jul 2019 10:11:29 +0000

>>> 

>>> Gdbserver has failed to build with GNU make 3.81 since commit 08f10e02be.

>> 

>> Which feature of Make 3.82 and later is required to successfully

>> build gdbserver?

>> 

> 

> It’s not a specific feature in 3.82 that is required.

> 

> It looks like it is a bug in 3.81. The GDB makefile isn’t doing anything special

> and everything works using 3.82 upwards.

> 

> Rewriting the makefile to work around the issue is probably going to be a little

> messy.

> 

> 

>>> diff --git a/gdb/NEWS b/gdb/NEWS

>>> index 4e479bf738..3a92b24e44 100644

>>> --- a/gdb/NEWS

>>> +++ b/gdb/NEWS

>>> @@ -251,6 +251,11 @@ maint show test-options-completion-result

>>>  GDB) in the output directory for each test script.  Multiple invocations

>>>  are appended with .1, .2, .3 etc.

>>> 

>>> +* Building GDB and GDBserver now requires GNU make >= 3.82.

>>> +

>>> +  Using another implementation of the make program or an earlier version of

>>> +  GNU make to build GDB or GDBserver is not supported.

>>> +

>> 

>> The test is OK, thanks.

> 

> Thanks!

> 

> Alan.
  

Patch

diff --git a/gdb/NEWS b/gdb/NEWS
index 4e479bf738..3a92b24e44 100644
--- a/gdb/NEWS
+++ b/gdb/NEWS
@@ -251,6 +251,11 @@  maint show test-options-completion-result
   GDB) in the output directory for each test script.  Multiple invocations
   are appended with .1, .2, .3 etc.
 
+* Building GDB and GDBserver now requires GNU make >= 3.82.
+
+  Using another implementation of the make program or an earlier version of
+  GNU make to build GDB or GDBserver is not supported.
+
 *** Changes in GDB 8.3
 
 * GDB and GDBserver now support access to additional registers on