mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2025-01-06 03:38:32 +00:00
* output.cc (posix_fallocate): Return 0 on success, errno on failure.
(Output_file::map_no_anonymous): Check for non-zero return code from posix_fallocate.
This commit is contained in:
parent
736086bae2
commit
bab9090fa3
@ -1,3 +1,9 @@
|
|||||||
|
2011-10-18 Cary Coutant <ccoutant@google.com>
|
||||||
|
|
||||||
|
* output.cc (posix_fallocate): Return 0 on success, errno on failure.
|
||||||
|
(Output_file::map_no_anonymous): Check for non-zero
|
||||||
|
return code from posix_fallocate.
|
||||||
|
|
||||||
2011-10-17 Cary Coutant <ccoutant@google.com>
|
2011-10-17 Cary Coutant <ccoutant@google.com>
|
||||||
|
|
||||||
PR gold/13245
|
PR gold/13245
|
||||||
|
@ -119,7 +119,9 @@ extern "C" void *gold_mremap(void *, size_t, size_t, int);
|
|||||||
static int
|
static int
|
||||||
posix_fallocate(int o, off_t offset, off_t len)
|
posix_fallocate(int o, off_t offset, off_t len)
|
||||||
{
|
{
|
||||||
return ftruncate(o, offset + len);
|
if (ftruncate(o, offset + len) < 0)
|
||||||
|
return errno;
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
#endif // !defined(HAVE_POSIX_FALLOCATE)
|
#endif // !defined(HAVE_POSIX_FALLOCATE)
|
||||||
|
|
||||||
@ -5075,8 +5077,12 @@ Output_file::map_no_anonymous(bool writable)
|
|||||||
// output file will wind up incomplete, but we will have already
|
// output file will wind up incomplete, but we will have already
|
||||||
// exited. The alternative to fallocate would be to use fdatasync,
|
// exited. The alternative to fallocate would be to use fdatasync,
|
||||||
// but that would be a more significant performance hit.
|
// but that would be a more significant performance hit.
|
||||||
if (writable && ::posix_fallocate(o, 0, this->file_size_) < 0)
|
if (writable)
|
||||||
gold_fatal(_("%s: %s"), this->name_, strerror(errno));
|
{
|
||||||
|
int err = ::posix_fallocate(o, 0, this->file_size_);
|
||||||
|
if (err != 0)
|
||||||
|
gold_fatal(_("%s: %s"), this->name_, strerror(err));
|
||||||
|
}
|
||||||
|
|
||||||
// Map the file into memory.
|
// Map the file into memory.
|
||||||
int prot = PROT_READ;
|
int prot = PROT_READ;
|
||||||
|
Loading…
Reference in New Issue
Block a user