Fix call to system fallocate to handle errno correctly.
2021-03-19 Holger Berger <holger.berger@googlemail.com> gold/ PR gold/26541 * output.cc (gold_fallocate): Use errno when calling system fallocate.
This commit is contained in:
parent
cc1849716f
commit
07b1c3dbd9
@ -1,3 +1,8 @@
|
||||
2021-03-19 Holger Berger <holger.berger@googlemail.com>
|
||||
|
||||
PR gold/26541
|
||||
* output.cc (gold_fallocate): Use errno when calling system fallocate.
|
||||
|
||||
2021-03-19 Cary Coutant <ccoutant@gmail.com>
|
||||
|
||||
PR gold/26585
|
||||
|
@ -141,12 +141,14 @@ gold_fallocate(int o, off_t offset, off_t len)
|
||||
|
||||
#ifdef HAVE_FALLOCATE
|
||||
{
|
||||
errno = 0;
|
||||
int err = ::fallocate(o, 0, offset, len);
|
||||
if (err != EINVAL && err != ENOSYS && err != EOPNOTSUPP)
|
||||
return err;
|
||||
if (err < 0 && errno != EINVAL && errno != ENOSYS && errno != EOPNOTSUPP)
|
||||
return errno;
|
||||
}
|
||||
#endif // defined(HAVE_FALLOCATE)
|
||||
|
||||
errno = 0;
|
||||
if (::ftruncate(o, offset + len) < 0)
|
||||
return errno;
|
||||
return 0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user