projects
/
deliverable
/
binutils-gdb.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ubsan: nds32: left shift cannot be represented in type 'int'
[deliverable/binutils-gdb.git]
/
binutils
/
objcopy.c
diff --git
a/binutils/objcopy.c
b/binutils/objcopy.c
index 99cc7beca8f7241bddee8c0242670b4b895b0461..6e614b17cf04726b2aca29917efbe53cc980b5a3 100644
(file)
--- a/
binutils/objcopy.c
+++ b/
binutils/objcopy.c
@@
-2460,7
+2460,9
@@
merge_gnu_build_notes (bfd * abfd,
bfd_vma prev_start = 0;
bfd_vma prev_end = 0;
bfd_vma prev_start = 0;
bfd_vma prev_end = 0;
- new = new_contents = xmalloc (size);
+ /* Not sure how, but the notes might grow in size.
+ (eg see PR 1774507). Allow for this here. */
+ new = new_contents = xmalloc (size * 2);
for (pnote = pnotes, old = contents;
pnote < pnotes_end;
pnote ++)
for (pnote = pnotes, old = contents;
pnote < pnotes_end;
pnote ++)
@@
-2527,8
+2529,11
@@
merge_gnu_build_notes (bfd * abfd,
#endif
new_size = new - new_contents;
#endif
new_size = new - new_contents;
- memcpy (contents, new_contents, new_size);
- size = new_size;
+ if (new_size < size)
+ {
+ memcpy (contents, new_contents, new_size);
+ size = new_size;
+ }
free (new_contents);
done:
free (new_contents);
done:
@@
-3752,6
+3757,14
@@
copy_file (const char *input_filename, const char *output_filename,
status = 1;
return;
}
status = 1;
return;
}
+
+ if (gnu_debuglink_filename != NULL)
+ {
+ non_fatal (_("--add-gnu-debuglink ignored for archive %s"),
+ bfd_get_filename (ibfd));
+ gnu_debuglink_filename = NULL;
+ }
+
/* This is a no-op on non-Coff targets. */
set_long_section_mode (obfd, ibfd, long_section_names);
/* This is a no-op on non-Coff targets. */
set_long_section_mode (obfd, ibfd, long_section_names);
This page took
0.023608 seconds
and
4
git commands to generate.