[PR,gdb/17046] Use standard setjmp.h on Darwin

Message ID 1410816254-24831-1-git-send-email-jrtc27@jrtc27.com
State New, archived
Headers

Commit Message

Jessica Clarke Sept. 15, 2014, 9:24 p.m. UTC
  The `machine/setjmp.h' header is no longer present on OS X 10.10, and is
non-standard. Instead, `darwin-nat.c' should be using the standard
`setjmp.h' header.

gdb/ChangeLog:

2014-09-15  James Clarke  <jrtc27@jrtc27.com>

	PR gdb/17046
	* darwin-nat.c: Import standard setjmp.h rather than the non-standard
	machine/setjmp.h header that no longer exists as of OS X 10.10.
---
 gdb/darwin-nat.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Sergio Durigan Junior Sept. 15, 2014, 9:35 p.m. UTC | #1
On Monday, September 15 2014, James Clarke wrote:

> The `machine/setjmp.h' header is no longer present on OS X 10.10, and is
> non-standard. Instead, `darwin-nat.c' should be using the standard
> `setjmp.h' header.

Thanks.

I am not a Mac user, and I know nothing about the details of the system,
but I did a little investigation and I think this is the right fix
indeed.

FWIW, I found
<https://lists.macosforge.org/pipermail/macports-tickets/2014-June/163911.html>
which is a related discussion.

This is not an approval, BTW.

> gdb/ChangeLog:
>
> 2014-09-15  James Clarke  <jrtc27@jrtc27.com>
>
> 	PR gdb/17046
> 	* darwin-nat.c: Import standard setjmp.h rather than the non-standard
> 	machine/setjmp.h header that no longer exists as of OS X 10.10.
> ---
>  gdb/darwin-nat.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/gdb/darwin-nat.c b/gdb/darwin-nat.c
> index af4ec01..e550785 100644
> --- a/gdb/darwin-nat.c
> +++ b/gdb/darwin-nat.c
> @@ -42,7 +42,7 @@
>  
>  #include <sys/ptrace.h>
>  #include <sys/signal.h>
> -#include <machine/setjmp.h>
> +#include <setjmp.h>
>  #include <sys/types.h>
>  #include <unistd.h>
>  #include <signal.h>
> -- 
> 2.1.0
  
Jessica Clarke Sept. 15, 2014, 11:45 p.m. UTC | #2
That’s where I got the fix from. Not quite sure why this include location
was chosen in the first place; `setjmp.h' was a standard header in pure
ANSI C. The only reason I can think of is that older versions had 
`setjmp.h’ which simply includes `machine/setjmp.h’, which had the actual
definitions.

James Clarke

> On 15 Sep 2014, at 22:35, Sergio Durigan Junior <sergiodj@redhat.com> wrote:
> 
> On Monday, September 15 2014, James Clarke wrote:
> 
>> The `machine/setjmp.h' header is no longer present on OS X 10.10, and is
>> non-standard. Instead, `darwin-nat.c' should be using the standard
>> `setjmp.h' header.
> 
> Thanks.
> 
> I am not a Mac user, and I know nothing about the details of the system,
> but I did a little investigation and I think this is the right fix
> indeed.
> 
> FWIW, I found
> <https://lists.macosforge.org/pipermail/macports-tickets/2014-June/163911.html>
> which is a related discussion.
> 
> This is not an approval, BTW.
> 
> -- 
> Sergio
> GPG key ID: 0x65FC5E36
> Please send encrypted e-mail if possible
> http://sergiodj.net/
  
Tristan Gingold Sept. 16, 2014, 8:40 a.m. UTC | #3
On 15 Sep 2014, at 23:24, James Clarke <jrtc27@jrtc27.com> wrote:

> The `machine/setjmp.h' header is no longer present on OS X 10.10, and is
> non-standard. Instead, `darwin-nat.c' should be using the standard
> `setjmp.h' header.
> 
> gdb/ChangeLog:
> 
> 2014-09-15  James Clarke  <jrtc27@jrtc27.com>
> 
> 	PR gdb/17046
> 	* darwin-nat.c: Import standard setjmp.h rather than the non-standard
> 	machine/setjmp.h header that no longer exists as of OS X 10.10.

Yes, this is indeed obvious.

Please commit.

Tristan.
  
Simon Marchi Jan. 6, 2015, 10:42 p.m. UTC | #4
On 14-09-16 04:40 AM, Tristan Gingold wrote:
> 
> On 15 Sep 2014, at 23:24, James Clarke <jrtc27@jrtc27.com> wrote:
> 
>> The `machine/setjmp.h' header is no longer present on OS X 10.10, and is
>> non-standard. Instead, `darwin-nat.c' should be using the standard
>> `setjmp.h' header.
>>
>> gdb/ChangeLog:
>>
>> 2014-09-15  James Clarke  <jrtc27@jrtc27.com>
>>
>> 	PR gdb/17046
>> 	* darwin-nat.c: Import standard setjmp.h rather than the non-standard
>> 	machine/setjmp.h header that no longer exists as of OS X 10.10.
> 
> Yes, this is indeed obvious.
> 
> Please commit.
> 
> Tristan.

Hi Tristan and James,

My mac-user friend mentioned that he needed this fix to build gdb, and wondered
why it had not been merged (fell between cracks I suppose).

Thanks,

Simon
  
Simon Marchi Jan. 12, 2015, 1:41 p.m. UTC | #5
On 15-01-06 05:42 PM, Simon Marchi wrote:
> On 14-09-16 04:40 AM, Tristan Gingold wrote:
>>
>> On 15 Sep 2014, at 23:24, James Clarke <jrtc27@jrtc27.com> wrote:
>>
>>> The `machine/setjmp.h' header is no longer present on OS X 10.10, and is
>>> non-standard. Instead, `darwin-nat.c' should be using the standard
>>> `setjmp.h' header.
>>>
>>> gdb/ChangeLog:
>>>
>>> 2014-09-15  James Clarke  <jrtc27@jrtc27.com>
>>>
>>> 	PR gdb/17046
>>> 	* darwin-nat.c: Import standard setjmp.h rather than the non-standard
>>> 	machine/setjmp.h header that no longer exists as of OS X 10.10.
>>
>> Yes, this is indeed obvious.
>>
>> Please commit.
>>
>> Tristan.
> 
> Hi Tristan and James,
> 
> My mac-user friend mentioned that he needed this fix to build gdb, and wondered
> why it had not been merged (fell between cracks I suppose).
> 
> Thanks,
> 
> Simon

I'll push this as obvious on Friday if it hasn't been already.

Simon
  
Joel Brobecker Jan. 12, 2015, 5:21 p.m. UTC | #6
> >>> 2014-09-15  James Clarke  <jrtc27@jrtc27.com>
> >>>
> >>> 	PR gdb/17046
> >>> 	* darwin-nat.c: Import standard setjmp.h rather than the non-standard
> >>> 	machine/setjmp.h header that no longer exists as of OS X 10.10.
[...]
> I'll push this as obvious on Friday if it hasn't been already.

Given that branching is potentially tomorrow, and that this causes
a build failure for which the only workaround is to edit the code,
I just pushed it now.  That way, we won't have to push it on the branch
after we've created it.

https://www.sourceware.org/ml/gdb-cvs/2015-01/msg00090.html
  
Simon Marchi Jan. 12, 2015, 5:49 p.m. UTC | #7
On 15-01-12 12:21 PM, Joel Brobecker wrote:
>>>>> 2014-09-15  James Clarke  <jrtc27@jrtc27.com>
>>>>>
>>>>> 	PR gdb/17046
>>>>> 	* darwin-nat.c: Import standard setjmp.h rather than the non-standard
>>>>> 	machine/setjmp.h header that no longer exists as of OS X 10.10.
> [...]
>> I'll push this as obvious on Friday if it hasn't been already.
> 
> Given that branching is potentially tomorrow, and that this causes
> a build failure for which the only workaround is to edit the code,
> I just pushed it now.  That way, we won't have to push it on the branch
> after we've created it.
> 
> https://www.sourceware.org/ml/gdb-cvs/2015-01/msg00090.html

Thanks a lot!
  

Patch

diff --git a/gdb/darwin-nat.c b/gdb/darwin-nat.c
index af4ec01..e550785 100644
--- a/gdb/darwin-nat.c
+++ b/gdb/darwin-nat.c
@@ -42,7 +42,7 @@ 
 
 #include <sys/ptrace.h>
 #include <sys/signal.h>
-#include <machine/setjmp.h>
+#include <setjmp.h>
 #include <sys/types.h>
 #include <unistd.h>
 #include <signal.h>