public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH,AIX] Enable XCOFF in libbacktrace on AIX
@ 2017-05-15 14:26 REIX, Tony
  2017-07-21 18:05 ` Ian Lance Taylor
  0 siblings, 1 reply; 5+ messages in thread
From: REIX, Tony @ 2017-05-15 14:26 UTC (permalink / raw)
  To: gcc-patches; +Cc: SARTER, MATTHIEU (ext), David Edelsohn

[-- Attachment #1: Type: text/plain, Size: 1470 bytes --]

Description:
 * This patch enables libbacktrace to handle XCOFF on AIX.

Tests:
 * Fedora25/x86_64 + GCC v7.1.0 : Configure/Build: SUCCESS
   - build made by means of a .spec file based on Fedora gcc-7.0.1-0.12 .spec file
 ../configure --enable-bootstrap --enable-languages=c,c++,objc,obj-c++,fortran,go,lto --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --with-linker-hash-style=gnu --enable-plugin --enable-initfini-array --with-isl --enable-libmpx --enable-offload-targets=nvptx-none --without-cuda-driver --enable-gnu-indirect-function --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux

ChangeLog:
  * libbacktrace/Makefile.am : Add xcoff.c
  * libbacktrace/Makefile.in : Regenerated
  * libbacktrace/configure.ac : Add XCOFF output file type
  * libbacktrace/configure : Regenerated
  * libbacktrace/fileline.c : Handle AIX procfs tree
  * libbacktrace/filetype.awk : Add AIX XCOFF type detection
  * libbacktrace/xcoff.c : New file for handling XCOFF format

Regards,

Tony Reix
Bull - ATOS
IBM Coop Architect & Technical Leader
Office : +33 (0) 4 76 29 72 67
1 rue de Provence - 38432 Échirolles - France
www.atos.net

[-- Attachment #2: patchLibbacktraceXCOFF.txt --]
[-- Type: text/plain, Size: 6916 bytes --]

diff -Nur gcc-7-20170203.orig/libbacktrace/Makefile.am gcc-7-20170203/libbacktrace/Makefile.am
--- gcc-7-20170203.orig/libbacktrace/Makefile.am	2017-01-02 01:19:31 -0600
+++ gcc-7-20170203/libbacktrace/Makefile.am	2017-03-22 14:09:40 -0500
@@ -57,7 +57,8 @@
 FORMAT_FILES = \
 	elf.c \
 	pecoff.c \
-	unknown.c
+	unknown.c \
+	xcoff.c
 
 VIEW_FILES = \
 	read.c \
@@ -134,3 +135,5 @@
 stest.lo: config.h backtrace.h internal.h
 state.lo: config.h backtrace.h backtrace-supported.h internal.h
 unknown.lo: config.h backtrace.h internal.h
+xcoff.lo: config.h backtrace.h internal.h
+
diff -Nur gcc-7-20170203.orig/libbacktrace/Makefile.in gcc-7-20170203/libbacktrace/Makefile.in
--- gcc-7-20170203.orig/libbacktrace/Makefile.in	2016-11-16 16:36:10 -0600
+++ gcc-7-20170203/libbacktrace/Makefile.in	2017-03-22 14:06:51 -0500
@@ -301,7 +301,8 @@
 FORMAT_FILES = \
 	elf.c \
 	pecoff.c \
-	unknown.c
+	unknown.c \
+	xcoff.c
 
 VIEW_FILES = \
 	read.c \
@@ -764,6 +765,7 @@
 stest.lo: config.h backtrace.h internal.h
 state.lo: config.h backtrace.h backtrace-supported.h internal.h
 unknown.lo: config.h backtrace.h internal.h
+xcoff.lo: config.h backtrace.h internal.h
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff -Nur gcc-7-20170203.orig/libbacktrace/configure gcc-7-20170203/libbacktrace/configure
--- gcc-7-20170203.orig/libbacktrace/configure	2016-11-16 16:36:13 -0600
+++ gcc-7-20170203/libbacktrace/configure	2017-03-22 14:13:40 -0500
@@ -11844,6 +11844,9 @@
 pecoff) FORMAT_FILE="pecoff.lo"
         backtrace_supports_data=no
 	;;
+xcoff) FORMAT_FILE="xcoff.lo"
+       backtrace_supports_data=no
+       ;;
 *) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: could not determine output file type" >&5
 $as_echo "$as_me: WARNING: could not determine output file type" >&2;}
    FORMAT_FILE="unknown.lo"
diff -Nur gcc-7-20170203.orig/libbacktrace/configure.ac gcc-7-20170203/libbacktrace/configure.ac
--- gcc-7-20170203.orig/libbacktrace/configure.ac	2017-01-02 01:19:31 -0600
+++ gcc-7-20170203/libbacktrace/configure.ac	2017-03-22 13:59:23 -0500
@@ -231,6 +231,9 @@
 pecoff) FORMAT_FILE="pecoff.lo"
         backtrace_supports_data=no
 	;;
+xcoff) FORMAT_FILE="xcoff.lo"
+       backtrace_supports_data=no
+       ;;
 *) AC_MSG_WARN([could not determine output file type])
    FORMAT_FILE="unknown.lo"
    backtrace_supported=no
diff -Nur gcc-7-20170203.orig/libbacktrace/fileline.c gcc-7-20170203/libbacktrace/fileline.c
--- gcc-7-20170203.orig/libbacktrace/fileline.c	2017-01-02 01:19:54 -0600
+++ gcc-7-20170203/libbacktrace/fileline.c	2017-02-27 13:46:50 -0600
@@ -37,6 +37,9 @@
 #include <errno.h>
 #include <fcntl.h>
 #include <stdlib.h>
+#ifdef _AIX
+#include <unistd.h> /* getpid */
+#endif
 
 #include "backtrace.h"
 #include "internal.h"
@@ -83,6 +86,9 @@
   for (pass = 0; pass < 4; ++pass)
     {
       const char *filename;
+#ifdef _AIX
+      char buf[64];
+#endif
       int does_not_exist;
 
       switch (pass)
@@ -94,7 +100,12 @@
 	  filename = getexecname ();
 	  break;
 	case 2:
+#ifdef _AIX
+	  snprintf(buf, sizeof(buf), "/proc/%d/object/a.out", getpid());
+	  filename = buf;
+#else
 	  filename = "/proc/self/exe";
+#endif
 	  break;
 	case 3:
 	  filename = "/proc/curproc/file";
diff -Nur gcc-7-20170203.orig/libbacktrace/filetype.awk gcc-7-20170203/libbacktrace/filetype.awk
--- gcc-7-20170203.orig/libbacktrace/filetype.awk	2016-11-16 16:36:10 -0600
+++ gcc-7-20170203/libbacktrace/filetype.awk	2017-03-22 14:06:04 -0500
@@ -3,3 +3,6 @@
 /\177ELF\002/ { if (NR == 1) { print "elf64"; exit } }
 /\114\001/    { if (NR == 1) { print "pecoff"; exit } }
 /\144\206/    { if (NR == 1) { print "pecoff"; exit } }
+/\001\337/    { if (NR == 1) { print "xcoff"; exit } }
+/\001\367/    { if (NR == 1) { print "xcoff"; exit } }
+
diff -Nur gcc-7-20170203.orig/libbacktrace/xcoff.c gcc-7-20170203/libbacktrace/xcoff.c
--- gcc-7-20170203.orig/libbacktrace/xcoff.c	1969-12-31 18:00:00 -0600
+++ gcc-7-20170203/libbacktrace/xcoff.c	2017-03-23 12:04:32 -0500
@@ -0,0 +1,77 @@
+/* xcoff.c -- Get debug data from a XCOFFF file for backtraces.
+   Copyright (C) 2012-2017 Free Software Foundation, Inc.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+    (1) Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+
+    (2) Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in
+    the documentation and/or other materials provided with the
+    distribution.
+
+    (3) The name of the author may not be used to
+    endorse or promote products derived from this software without
+    specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.  */
+
+#include "config.h"
+
+#include <sys/types.h>
+
+#include "backtrace.h"
+#include "internal.h"
+
+/* A trivial routine that always fails to find fileline data.  */
+
+static int
+xcoff_fileline (struct backtrace_state *state ATTRIBUTE_UNUSED,
+		uintptr_t pc, backtrace_full_callback callback,
+		backtrace_error_callback error_callback ATTRIBUTE_UNUSED,
+		void *data)
+
+{
+  static char buf[32];
+
+  snprintf (buf, sizeof(buf), "pc=0x%llx", (unsigned long long)pc);
+  return callback (data, pc, "unknown_file", 123, buf);
+}
+
+static void
+xcoff_syminfo (struct backtrace_state *state ATTRIBUTE_UNUSED, uintptr_t addr,
+               backtrace_syminfo_callback callback,
+               backtrace_error_callback error_callback ATTRIBUTE_UNUSED,
+               void *data)
+{
+  callback (data, addr, "unknown", 0, 0);
+}
+
+/* Initialize the backtrace data when we don't know how to read the
+   debug info.  */
+
+int
+backtrace_initialize (struct backtrace_state *state ATTRIBUTE_UNUSED,
+		      int descriptor ATTRIBUTE_UNUSED,
+		      backtrace_error_callback error_callback ATTRIBUTE_UNUSED,
+		      void *data ATTRIBUTE_UNUSED, fileline *fileline_fn)
+{
+  state->syminfo_fn = xcoff_syminfo;
+  state->fileline_data = NULL;
+  *fileline_fn = xcoff_fileline;
+  return 1;
+}
+

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH,AIX] Enable XCOFF in libbacktrace on AIX
  2017-05-15 14:26 [PATCH,AIX] Enable XCOFF in libbacktrace on AIX REIX, Tony
@ 2017-07-21 18:05 ` Ian Lance Taylor
  2017-07-23  9:12   ` Rainer Orth
  0 siblings, 1 reply; 5+ messages in thread
From: Ian Lance Taylor @ 2017-07-21 18:05 UTC (permalink / raw)
  To: REIX, Tony; +Cc: gcc-patches, SARTER, MATTHIEU (ext), David Edelsohn

[-- Attachment #1: Type: text/plain, Size: 1796 bytes --]

On Mon, May 15, 2017 at 7:24 AM, REIX, Tony <tony.reix@atos.net> wrote:
> Description:
>  * This patch enables libbacktrace to handle XCOFF on AIX.
>
> Tests:
>  * Fedora25/x86_64 + GCC v7.1.0 : Configure/Build: SUCCESS
>    - build made by means of a .spec file based on Fedora gcc-7.0.1-0.12 .spec file
>  ../configure --enable-bootstrap --enable-languages=c,c++,objc,obj-c++,fortran,go,lto --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --with-linker-hash-style=gnu --enable-plugin --enable-initfini-array --with-isl --enable-libmpx --enable-offload-targets=nvptx-none --without-cuda-driver --enable-gnu-indirect-function --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux
>
> ChangeLog:
>   * libbacktrace/Makefile.am : Add xcoff.c
>   * libbacktrace/Makefile.in : Regenerated
>   * libbacktrace/configure.ac : Add XCOFF output file type
>   * libbacktrace/configure : Regenerated
>   * libbacktrace/fileline.c : Handle AIX procfs tree
>   * libbacktrace/filetype.awk : Add AIX XCOFF type detection
>   * libbacktrace/xcoff.c : New file for handling XCOFF format

Thanks.  Committed with some minor changes, as follows.

Ian


2017-07-21  Tony Reix  <tony.reix@atos.net>

* filetype.awk: Add AIX XCOFF type detection.
* configure.ac: Recognize xcoff format.
* Makefile.am (FORMAT_FILES): Add xcoff.c.
* fileline.c: Include <unistd.h>.
(fileline_initialize): Add case for AIX procfs.
* xcoff.c: New file.
* configure, Makefile.in: Rebuild.

[-- Attachment #2: patch.txt --]
[-- Type: text/plain, Size: 5497 bytes --]

Index: Makefile.am
===================================================================
--- Makefile.am	(revision 250406)
+++ Makefile.am	(working copy)
@@ -57,7 +57,8 @@ BACKTRACE_FILES = \
 FORMAT_FILES = \
 	elf.c \
 	pecoff.c \
-	unknown.c
+	unknown.c \
+	xcoff.c
 
 VIEW_FILES = \
 	read.c \
@@ -155,3 +156,5 @@ sort.lo: config.h backtrace.h internal.h
 stest.lo: config.h backtrace.h internal.h
 state.lo: config.h backtrace.h backtrace-supported.h internal.h
 unknown.lo: config.h backtrace.h internal.h
+xcoff.lo: config.h backtrace.h internal.h
+
Index: configure.ac
===================================================================
--- configure.ac	(revision 250406)
+++ configure.ac	(working copy)
@@ -233,6 +233,9 @@ elf*) FORMAT_FILE="elf.lo" ;;
 pecoff) FORMAT_FILE="pecoff.lo"
         backtrace_supports_data=no
 	;;
+xcoff) FORMAT_FILE="xcoff.lo"
+       backtrace_supports_data=no
+       ;;
 *) AC_MSG_WARN([could not determine output file type])
    FORMAT_FILE="unknown.lo"
    backtrace_supported=no
Index: fileline.c
===================================================================
--- fileline.c	(revision 250406)
+++ fileline.c	(working copy)
@@ -37,6 +37,7 @@ POSSIBILITY OF SUCH DAMAGE.  */
 #include <errno.h>
 #include <fcntl.h>
 #include <stdlib.h>
+#include <unistd.h>
 
 #include "backtrace.h"
 #include "internal.h"
@@ -57,6 +58,7 @@ fileline_initialize (struct backtrace_st
   int pass;
   int called_error_callback;
   int descriptor;
+  char buf[64];
 
   if (!state->threaded)
     failed = state->fileline_initialization_failed;
@@ -80,7 +82,7 @@ fileline_initialize (struct backtrace_st
 
   descriptor = -1;
   called_error_callback = 0;
-  for (pass = 0; pass < 4; ++pass)
+  for (pass = 0; pass < 5; ++pass)
     {
       const char *filename;
       int does_not_exist;
@@ -99,6 +101,10 @@ fileline_initialize (struct backtrace_st
 	case 3:
 	  filename = "/proc/curproc/file";
 	  break;
+	case 4:
+	  snprintf (buf, sizeof (buf), "/proc/%d/object/a.out", getpid ());
+	  filename = buf;
+	  break;
 	default:
 	  abort ();
 	}
Index: filetype.awk
===================================================================
--- filetype.awk	(revision 250406)
+++ filetype.awk	(working copy)
@@ -3,3 +3,6 @@
 /\177ELF\002/ { if (NR == 1) { print "elf64"; exit } }
 /\114\001/    { if (NR == 1) { print "pecoff"; exit } }
 /\144\206/    { if (NR == 1) { print "pecoff"; exit } }
+/\001\337/    { if (NR == 1) { print "xcoff"; exit } }
+/\001\367/    { if (NR == 1) { print "xcoff"; exit } }
+
Index: xcoff.c
===================================================================
--- xcoff.c	(revision 0)
+++ xcoff.c	(working copy)
@@ -0,0 +1,76 @@
+/* xcoff.c -- Get debug data from a XCOFFF file for backtraces.
+   Copyright (C) 2017 Free Software Foundation, Inc.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+    (1) Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+
+    (2) Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in
+    the documentation and/or other materials provided with the
+    distribution.
+
+    (3) The name of the author may not be used to
+    endorse or promote products derived from this software without
+    specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.  */
+
+#include "config.h"
+
+#include <sys/types.h>
+
+#include "backtrace.h"
+#include "internal.h"
+
+/* A trivial routine that always fails to find fileline data.  */
+
+static int
+xcoff_fileline (struct backtrace_state *state ATTRIBUTE_UNUSED,
+		uintptr_t pc, backtrace_full_callback callback,
+		backtrace_error_callback error_callback ATTRIBUTE_UNUSED,
+		void *data)
+
+{
+  static char buf[32];
+
+  snprintf (buf, sizeof(buf), "pc=0x%llx", (unsigned long long) pc);
+  return callback (data, pc, "unknown_file", 123, buf);
+}
+
+static void
+xcoff_syminfo (struct backtrace_state *state ATTRIBUTE_UNUSED, uintptr_t addr,
+               backtrace_syminfo_callback callback,
+               backtrace_error_callback error_callback ATTRIBUTE_UNUSED,
+               void *data)
+{
+  callback (data, addr, "unknown", 0, 0);
+}
+
+/* Initialize the backtrace data when we don't know how to read the
+   debug info.  */
+
+int
+backtrace_initialize (struct backtrace_state *state ATTRIBUTE_UNUSED,
+		      int descriptor ATTRIBUTE_UNUSED,
+		      backtrace_error_callback error_callback ATTRIBUTE_UNUSED,
+		      void *data ATTRIBUTE_UNUSED, fileline *fileline_fn)
+{
+  state->syminfo_fn = xcoff_syminfo;
+  state->fileline_data = NULL;
+  *fileline_fn = xcoff_fileline;
+  return 1;
+}

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH,AIX] Enable XCOFF in libbacktrace on AIX
  2017-07-21 18:05 ` Ian Lance Taylor
@ 2017-07-23  9:12   ` Rainer Orth
  0 siblings, 0 replies; 5+ messages in thread
From: Rainer Orth @ 2017-07-23  9:12 UTC (permalink / raw)
  To: Ian Lance Taylor
  Cc: REIX, Tony, gcc-patches, SARTER, MATTHIEU (ext), David Edelsohn

[-- Attachment #1: Type: text/plain, Size: 2619 bytes --]

Hi Ian,

> On Mon, May 15, 2017 at 7:24 AM, REIX, Tony <tony.reix@atos.net> wrote:
>> Description:
>>  * This patch enables libbacktrace to handle XCOFF on AIX.
>>
>> Tests:
>>  * Fedora25/x86_64 + GCC v7.1.0 : Configure/Build: SUCCESS
>>    - build made by means of a .spec file based on Fedora gcc-7.0.1-0.12 .spec file
>>  ../configure --enable-bootstrap --enable-languages=c,c++,objc,obj-c++,fortran,go,lto --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --with-linker-hash-style=gnu --enable-plugin --enable-initfini-array --with-isl --enable-libmpx --enable-offload-targets=nvptx-none --without-cuda-driver --enable-gnu-indirect-function --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux
>>
>> ChangeLog:
>>   * libbacktrace/Makefile.am : Add xcoff.c
>>   * libbacktrace/Makefile.in : Regenerated
>>   * libbacktrace/configure.ac : Add XCOFF output file type
>>   * libbacktrace/configure : Regenerated
>>   * libbacktrace/fileline.c : Handle AIX procfs tree
>>   * libbacktrace/filetype.awk : Add AIX XCOFF type detection
>>   * libbacktrace/xcoff.c : New file for handling XCOFF format
>
> Thanks.  Committed with some minor changes, as follows.
>
> Ian
>
>
> 2017-07-21  Tony Reix  <tony.reix@atos.net>
>
> * filetype.awk: Add AIX XCOFF type detection.
> * configure.ac: Recognize xcoff format.
> * Makefile.am (FORMAT_FILES): Add xcoff.c.
> * fileline.c: Include <unistd.h>.
> (fileline_initialize): Add case for AIX procfs.
> * xcoff.c: New file.
> * configure, Makefile.in: Rebuild.

this patch broke Solaris bootstrap:

/vol/gcc/src/hg/trunk/local/libbacktrace/fileline.c: In function 'fileline_initialize':
/vol/gcc/src/hg/trunk/local/libbacktrace/fileline.c:105:41: error: format '%d' expects argument of type 'int', but argument 4 has type 'pid_t {aka long int}' [-Werror=format=]
    snprintf (buf, sizeof (buf), "/proc/%d/object/a.out", getpid ());
                                        ~^                ~~~~~~~~~
                                        %ld

The following patch allowed bootstrap to finish.

	Rainer

-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University


2017-07-23  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* fileline.c (fileline_initialize): Print pid_t as long.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: lb.patch --]
[-- Type: text/x-patch, Size: 439 bytes --]

diff --git a/libbacktrace/fileline.c b/libbacktrace/fileline.c
--- a/libbacktrace/fileline.c
+++ b/libbacktrace/fileline.c
@@ -102,7 +102,8 @@ fileline_initialize (struct backtrace_st
 	  filename = "/proc/curproc/file";
 	  break;
 	case 4:
-	  snprintf (buf, sizeof (buf), "/proc/%d/object/a.out", getpid ());
+	  snprintf (buf, sizeof (buf), "/proc/%ld/object/a.out",
+		    (long) getpid ());
 	  filename = buf;
 	  break;
 	default:

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH,AIX] Enable XCOFF in libbacktrace on AIX
@ 2017-06-15 15:36 David Edelsohn
  0 siblings, 0 replies; 5+ messages in thread
From: David Edelsohn @ 2017-06-15 15:36 UTC (permalink / raw)
  To: Ian Lance Taylor (ianlancetaylor@gmail.com); +Cc: GCC Patches

Ping.

https://gcc.gnu.org/ml/gcc-patches/2017-06/msg00383.html

https://gcc.gnu.org/ml/gcc-patches/2017-05/msg01186.html

Thanks, David

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH,AIX] Enable XCOFF in libbacktrace on AIX
@ 2017-06-06 23:32 David Edelsohn
  0 siblings, 0 replies; 5+ messages in thread
From: David Edelsohn @ 2017-06-06 23:32 UTC (permalink / raw)
  To: REIX, TONY, Ian Taylor; +Cc: SARTER, MATTHIEU (ext), GCC Patches

Tony,

This patch seems like a reasonable start for the minimal libbacktrace
framework needed by GCC Go.  The libbacktrace maintainer, Ian, needs
to approve the patch.

https://gcc.gnu.org/ml/gcc-patches/2017-05/msg01186.html

I'll defer to Ian on the style of the fileline.c changes.

Thanks, David

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2017-07-23  9:12 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-05-15 14:26 [PATCH,AIX] Enable XCOFF in libbacktrace on AIX REIX, Tony
2017-07-21 18:05 ` Ian Lance Taylor
2017-07-23  9:12   ` Rainer Orth
2017-06-06 23:32 David Edelsohn
2017-06-15 15:36 David Edelsohn

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).