aboutsummaryrefslogtreecommitdiff
path: root/libiberty
diff options
context:
space:
mode:
authorNidal Faour <nidal.faour@wdc.com>2019-01-22 09:47:52 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2019-01-22 09:47:52 +0000
commit4293cd6ed8dfd9f0eef8287e72372c55796f50da (patch)
tree783123db8cdcbbf1e67537a9a9dcabbc7daaa33d /libiberty
parentbecba8a79fb0a29aea9a8e10a6c298a124336b92 (diff)
downloadgcc-4293cd6ed8dfd9f0eef8287e72372c55796f50da.zip
gcc-4293cd6ed8dfd9f0eef8287e72372c55796f50da.tar.gz
gcc-4293cd6ed8dfd9f0eef8287e72372c55796f50da.tar.bz2
re PR lto/88422 (collect2.exe: fatal error: lto-wrapper returned 1 exit status: file not recognized: file truncated)
2019-01-22 Nidal Faour <nidal.faour@wdc.com> PR lto/88422 * simple-object.c (O_BINARY): Define if not already defined. (simple_object_copy_lto_debug_sections): Create file in binary mode. From-SVN: r268141
Diffstat (limited to 'libiberty')
-rw-r--r--libiberty/ChangeLog7
-rw-r--r--libiberty/simple-object.c6
2 files changed, 12 insertions, 1 deletions
diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog
index 08d0a43..db5e77a 100644
--- a/libiberty/ChangeLog
+++ b/libiberty/ChangeLog
@@ -1,3 +1,10 @@
+2019-01-22 Nidal Faour <nidal.faour@wdc.com>
+
+ PR lto/88422
+ * simple-object.c (O_BINARY): Define if not already defined.
+ (simple_object_copy_lto_debug_sections): Create file in binary
+ mode.
+
2019-01-21 Tom Tromey <tom@tromey.com>
* splay-tree.c (splay_tree_remove): Delete the key if necessary.
diff --git a/libiberty/simple-object.c b/libiberty/simple-object.c
index c1f38ce..b00c265 100644
--- a/libiberty/simple-object.c
+++ b/libiberty/simple-object.c
@@ -44,6 +44,10 @@ Boston, MA 02110-1301, USA. */
#define SEEK_SET 0
#endif
+#ifndef O_BINARY
+#define O_BINARY 0
+#endif
+
#include "simple-object-common.h"
/* The known object file formats. */
@@ -349,7 +353,7 @@ simple_object_copy_lto_debug_sections (simple_object_read *sobj,
return errmsg;
}
- outfd = creat (dest, 00777);
+ outfd = open (dest, O_CREAT|O_WRONLY|O_TRUNC|O_BINARY, 00777);
if (outfd == -1)
{
*err = errno;