aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2023-08-30 22:42:53 +0930
committerAlan Modra <amodra@gmail.com>2023-08-31 07:48:16 +0930
commitd7d4e9115548d2ddc01c2f1e6f2c1188dc823066 (patch)
treedf0ac1759018d7b27a57836c0e96e0b3b7528212
parent50e193c1862029e8de71c7bcd0863c17ad37bfa5 (diff)
downloadbinutils-d7d4e9115548d2ddc01c2f1e6f2c1188dc823066.zip
binutils-d7d4e9115548d2ddc01c2f1e6f2c1188dc823066.tar.gz
binutils-d7d4e9115548d2ddc01c2f1e6f2c1188dc823066.tar.bz2
DEFAULT_BUFFERSIZE
There isn't any reason to think that a particular buffer size is ideal in bfd, so let's just not define it. * libbfd-in.h (DEFAULT_BUFFERSIZE): Don't define. * libbfd.h: Regenerate. * archive.c (AR_WRITE_BUFFERSIZE): Substitute value. * vms-lib.c (_bfd_vms_lib_write_archive_contents): Likewise. * coff-rs6000.c (do_copy): Likewise, and use sizeof.
-rw-r--r--bfd/archive.c2
-rw-r--r--bfd/coff-rs6000.c10
-rw-r--r--bfd/libbfd-in.h4
-rw-r--r--bfd/libbfd.h4
-rw-r--r--bfd/vms-lib.c2
5 files changed, 7 insertions, 15 deletions
diff --git a/bfd/archive.c b/bfd/archive.c
index 47b37bb..2f18955 100644
--- a/bfd/archive.c
+++ b/bfd/archive.c
@@ -2223,7 +2223,7 @@ _bfd_write_archive_contents (bfd *arch)
}
}
-#define AR_WRITE_BUFFERSIZE (DEFAULT_BUFFERSIZE * 1024)
+#define AR_WRITE_BUFFERSIZE (8 * 1024 * 1024)
/* FIXME: Find a way to test link_info.reduce_memory_overheads
and change the buffer size. */
diff --git a/bfd/coff-rs6000.c b/bfd/coff-rs6000.c
index 7dd80a5..d7b6a4b 100644
--- a/bfd/coff-rs6000.c
+++ b/bfd/coff-rs6000.c
@@ -2019,20 +2019,20 @@ static bool
do_copy (bfd *out_bfd, bfd *in_bfd)
{
bfd_size_type remaining;
- bfd_byte buffer[DEFAULT_BUFFERSIZE];
+ bfd_byte buffer[8 * 1024];
if (bfd_seek (in_bfd, 0, SEEK_SET) != 0)
return false;
remaining = arelt_size (in_bfd);
- while (remaining >= DEFAULT_BUFFERSIZE)
+ while (remaining >= sizeof (buffer))
{
- if (bfd_read (buffer, DEFAULT_BUFFERSIZE, in_bfd) != DEFAULT_BUFFERSIZE
- || bfd_write (buffer, DEFAULT_BUFFERSIZE, out_bfd) != DEFAULT_BUFFERSIZE)
+ if (bfd_read (buffer, sizeof (buffer), in_bfd) != sizeof (buffer)
+ || bfd_write (buffer, sizeof (buffer), out_bfd) != sizeof (buffer))
return false;
- remaining -= DEFAULT_BUFFERSIZE;
+ remaining -= sizeof (buffer);
}
if (remaining)
diff --git a/bfd/libbfd-in.h b/bfd/libbfd-in.h
index fc4b7bc..153587c 100644
--- a/bfd/libbfd-in.h
+++ b/bfd/libbfd-in.h
@@ -39,10 +39,6 @@
extern "C" {
#endif
-/* If you want to read and write large blocks, you might want to do it
- in quanta of this amount */
-#define DEFAULT_BUFFERSIZE 8192
-
/* Set a tdata field. Can't use the other macros for this, since they
do casts, and casting to the left of assignment isn't portable. */
#define set_tdata(bfd, v) ((bfd)->tdata.any = (v))
diff --git a/bfd/libbfd.h b/bfd/libbfd.h
index e0ba9a7..d5f42f2 100644
--- a/bfd/libbfd.h
+++ b/bfd/libbfd.h
@@ -45,10 +45,6 @@
extern "C" {
#endif
-/* If you want to read and write large blocks, you might want to do it
- in quanta of this amount */
-#define DEFAULT_BUFFERSIZE 8192
-
/* Set a tdata field. Can't use the other macros for this, since they
do casts, and casting to the left of assignment isn't portable. */
#define set_tdata(bfd, v) ((bfd)->tdata.any = (v))
diff --git a/bfd/vms-lib.c b/bfd/vms-lib.c
index 2734557..dae95b4 100644
--- a/bfd/vms-lib.c
+++ b/bfd/vms-lib.c
@@ -2261,7 +2261,7 @@ _bfd_vms_lib_write_archive_contents (bfd *arch)
if (amt == VMS_BLOCK_SIZE - sz)
{
/* Copy the remaining. */
- char buffer[DEFAULT_BUFFERSIZE];
+ char buffer[8 * 1024];
while (1)
{