diff options
Diffstat (limited to 'ld/plugin.c')
-rw-r--r-- | ld/plugin.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/ld/plugin.c b/ld/plugin.c index ffa0dd3..36094dd 100644 --- a/ld/plugin.c +++ b/ld/plugin.c @@ -1049,9 +1049,14 @@ plugin_call_claim_file (const struct ld_plugin_input_file *file, int *claimed) { if (curplug->claim_file_handler) { + off_t cur_offset; enum ld_plugin_status rv; + called_plugin = curplug; + cur_offset = lseek (file->fd, 0, SEEK_CUR); rv = (*curplug->claim_file_handler) (file, claimed); + if (!*claimed) + lseek (file->fd, cur_offset, SEEK_SET); called_plugin = NULL; if (rv != LDPS_OK) set_plugin_error (curplug->name); |