[PATCH] Require GNU make 3.82

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

[PATCH] Require GNU make 3.82

Alan Hayward
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  <[hidden email]>

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

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
--
2.20.1 (Apple Git-117)

Reply | Threaded
Open this post in threaded view
|

Re: [PATCH] Require GNU make 3.82

Kevin Buettner
On Mon, 15 Jul 2019 10:11:29 +0000
Alan Hayward <[hidden email]> 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  <[hidden email]>
>
> * 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
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH] Require GNU make 3.82

Alan Hayward


> On 16 Jul 2019, at 01:51, Kevin Buettner <[hidden email]> wrote:
>
> On Mon, 15 Jul 2019 10:11:29 +0000
> Alan Hayward <[hidden email]> 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  <[hidden email]>
>>
>> * 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.
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH] Require GNU make 3.82

Eli Zaretskii
In reply to this post by Alan Hayward
> From: Alan Hayward <[hidden email]>
> CC: nd <[hidden email]>, Alan Hayward <[hidden email]>
> 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.
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH] Require GNU make 3.82

Eli Zaretskii
> Date: Thu, 18 Jul 2019 09:17:23 +0300
> From: Eli Zaretskii <[hidden email]>
> CC: [hidden email], [hidden email]
>
> The test is OK, thanks.

Sorry, I meant "text".
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH] Require GNU make 3.82

Alan Hayward
In reply to this post by Eli Zaretskii


> On 18 Jul 2019, at 07:17, Eli Zaretskii <[hidden email]> wrote:
>
>> From: Alan Hayward <[hidden email]>
>> CC: nd <[hidden email]>, Alan Hayward <[hidden email]>
>> 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.
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH] Require GNU make 3.82

Alan Hayward
I pushed this patch.


> On 18 Jul 2019, at 11:57, Alan Hayward <[hidden email]> wrote:
>
>
>
>> On 18 Jul 2019, at 07:17, Eli Zaretskii <[hidden email]> wrote:
>>
>>> From: Alan Hayward <[hidden email]>
>>> CC: nd <[hidden email]>, Alan Hayward <[hidden email]>
>>> 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.