aboutsummaryrefslogtreecommitdiff
path: root/libiberty
diff options
context:
space:
mode:
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;