diff options
author | Alan Modra <amodra@gmail.com> | 2022-09-19 10:37:57 +0930 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2022-09-21 09:06:21 +0930 |
commit | 8c8fa33c20ec0be7bfcaf7e1b605d37dca63733f (patch) | |
tree | d08701e022320f92cd10bebda85a6dad6b21a4d5 /gold/parameters.cc | |
parent | 7f99cbd91fcc8167bf0c3be369573df9052e5324 (diff) | |
download | gdb-8c8fa33c20ec0be7bfcaf7e1b605d37dca63733f.zip gdb-8c8fa33c20ec0be7bfcaf7e1b605d37dca63733f.tar.gz gdb-8c8fa33c20ec0be7bfcaf7e1b605d37dca63733f.tar.bz2 |
looping in alpha_vms_slurp_relocs
The direct cause for the looping was failing to test for error return
from _bfd_vms_get_object_record inside a while(1) loop. Fix that.
Also record status of first alpha_vms_slurp_relocs call and return
that for all subsequent calls. (The object format has one set of
relocation records for all sections.) If the first call fails, all
others should too.
* vms-alpha.c (struct vms_private_data_struct): Make reloc_done
a tri-state int.
(alpha_vms_slurp_relocs): Set reloc_done to 1 on success, -1 on
failure. Return that status on subsequent calls. Check
_bfd_vms_get_object_record return status.
(alpha_vms_get_reloc_upper_bound): Return status from
alpha_vms_slurp_relocs.
(alpha_vms_write_exec): Exclude sections with contents NULL due
to previous errors from layout, and don't try to write them.
Diffstat (limited to 'gold/parameters.cc')
0 files changed, 0 insertions, 0 deletions