summaryrefslogtreecommitdiff
path: root/binutils/objcopy.c
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2007-01-10 13:36:34 +0000
committerAlan Modra <amodra@gmail.com>2007-01-10 13:36:34 +0000
commit485be063485746449d56642a4ed73b18dce247a4 (patch)
tree3e922ec22ce525f7fecd4ad59b67c93b640690bf /binutils/objcopy.c
parent20ac0504943144239f1cabbed69573dc6b97c99c (diff)
downloadbinutils-gdb-485be063485746449d56642a4ed73b18dce247a4.tar.gz
* bucomm.h (make_tempdir): Declare independently of HAVE_MKDTEMP.
* bucomm.c (template_in_dir): New function, split out from.. (make_tempname): ..here. Open the file with O_EXCL if !HAVE_MKSTEMP. (make_tempdir): Use template_in_dir. Handle directory creation when !HAVE_MKDTEMP. * objcopy.c (MKDIR): Don't define. (copy_archive): Use make_tempdir when !HAVE_MKDTEMP too. Fix error message.
Diffstat (limited to 'binutils/objcopy.c')
-rw-r--r--binutils/objcopy.c29
1 files changed, 2 insertions, 27 deletions
diff --git a/binutils/objcopy.c b/binutils/objcopy.c
index 0b2badab5fa..70238dace33 100644
--- a/binutils/objcopy.c
+++ b/binutils/objcopy.c
@@ -1764,15 +1764,6 @@ copy_object (bfd *ibfd, bfd *obfd)
return TRUE;
}
-#if ! defined(HAVE_MKDTEMP)
-#undef MKDIR
-#if defined (_WIN32) && !defined (__CYGWIN32__)
-#define MKDIR(DIR, MODE) mkdir (DIR)
-#else
-#define MKDIR(DIR, MODE) mkdir (DIR, MODE)
-#endif
-#endif
-
/* Read each archive element in turn from IBFD, copy the
contents to temp file, and keep the temp file handle.
If 'force_output_target' is TRUE then make sure that
@@ -1794,19 +1785,10 @@ copy_archive (bfd *ibfd, bfd *obfd, const char *output_target,
char * dir;
/* Make a temp directory to hold the contents. */
-#if defined(HAVE_MKDTEMP)
dir = make_tempdir (bfd_get_filename (obfd));
-
if (dir == NULL)
fatal (_("cannot create tempdir for archive copying (error: %s)"),
strerror (errno));
-#else
- dir = make_tempname (bfd_get_filename (obfd));
-
- if (MKDIR (dir, 0700) != 0)
- fatal (_("cannot mkdir %s for archive copying (error: %s)"),
- dir, strerror (errno));
-#endif
obfd->has_armap = ibfd->has_armap;
@@ -1833,17 +1815,10 @@ copy_archive (bfd *ibfd, bfd *obfd, const char *output_target,
/* If the file already exists, make another temp dir. */
if (stat (output_name, &buf) >= 0)
{
-#if defined(HAVE_MKDTEMP)
output_name = make_tempdir (output_name);
if (output_name == NULL)
- fatal (_("cannot create temporary dir '%s' for archive copying (error: %s)"),
- output_name, strerror (errno));
-#else
- output_name = make_tempname (output_name);
- if (MKDIR (output_name, 0700) != 0)
- fatal (_("cannot mkdir %s for archive copying (error: %s)"),
- output_name, strerror (errno));
-#endif
+ fatal (_("cannot create tempdir for archive copying (error: %s)"),
+ strerror (errno));
l = xmalloc (sizeof (struct name_list));
l->name = output_name;