binutils/backport-Fix-a-build-problem-when-using-FreeBSD-12.patch
2021-04-16 15:25:09 +08:00

58 lines
2.1 KiB
Diff

From b143e2d506bee1020752597f979d5af174edc36d Mon Sep 17 00:00:00 2001
From: Sebastian Huber <sebastian.huber@embedded-brains.de>
Date: Fri, 11 Dec 2020 13:27:45 +0000
Subject: [PATCH] Fix a build problem when using FreeBSD 12.
* ar.c (write_archive): Cast iostream pointer to FILE *.
* arsup.c (ar_save): Likewise.
* objcopy.c (copy_file): Likewise.
---
binutils/ChangeLog | 6 ++++++
binutils/ar.c | 2 +-
binutils/arsup.c | 2 +-
binutils/objcopy.c | 2 +-
4 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/binutils/ar.c b/binutils/ar.c
index 6598dd9..8329223 100644
--- a/binutils/ar.c
+++ b/binutils/ar.c
@@ -1305,7 +1305,7 @@ write_archive (bfd *iarch)
ofd = dup (ofd);
if (iarch == NULL || iarch->iostream == NULL)
skip_stat = TRUE;
- else if (ofd == -1 || fstat (fileno (iarch->iostream), &target_stat) != 0)
+ else if (ofd == -1 || fstat (fileno ((FILE *) iarch->iostream), &target_stat) != 0)
bfd_fatal (old_name);
#endif
diff --git a/binutils/arsup.c b/binutils/arsup.c
index 8b4437f..dad4174 100644
--- a/binutils/arsup.c
+++ b/binutils/arsup.c
@@ -355,7 +355,7 @@ ar_save (void)
#if !defined (_WIN32) || defined (__CYGWIN32__)
/* It's OK to fail; at worst it will result in SMART_RENAME using a slow
copy fallback to write the output. */
- ofd = dup (fileno (obfd->iostream));
+ ofd = dup (fileno ((FILE *) obfd->iostream));
if (lstat (real_name, &target_stat) != 0)
skip_stat = TRUE;
#endif
diff --git a/binutils/objcopy.c b/binutils/objcopy.c
index 06ecf3e..0ea3ea1 100644
--- a/binutils/objcopy.c
+++ b/binutils/objcopy.c
@@ -3745,7 +3745,7 @@ copy_file (const char *input_filename, const char *output_filename, int ofd,
/* To allow us to do "strip *" without dying on the first
non-object file, failures are nonfatal. */
ibfd = bfd_openr (input_filename, input_target);
- if (ibfd == NULL || fstat (fileno (ibfd->iostream), in_stat) != 0)
+ if (ibfd == NULL || fstat (fileno ((FILE *) ibfd->iostream), in_stat) != 0)
{
bfd_nonfatal_message (input_filename, NULL, NULL, NULL);
status = 1;
--
1.8.3.1