aboutsummaryrefslogtreecommitdiff
path: root/binutils/dwarf.c
diff options
context:
space:
mode:
Diffstat (limited to 'binutils/dwarf.c')
-rw-r--r--binutils/dwarf.c28
1 files changed, 4 insertions, 24 deletions
diff --git a/binutils/dwarf.c b/binutils/dwarf.c
index 424353c..4b46100 100644
--- a/binutils/dwarf.c
+++ b/binutils/dwarf.c
@@ -12318,34 +12318,14 @@ load_debug_sup_file (const char * main_filename, void * file)
}
if (filename[0] != '/' && strchr (main_filename, '/'))
- {
- char * new_name;
- int new_len;
-
- new_len = asprintf (& new_name, "%.*s/%s",
+ filename = xasprintf ("%.*s/%s",
(int) (strrchr (main_filename, '/') - main_filename),
main_filename,
filename);
- if (new_len < 3)
- {
- warn (_("unable to construct path for supplementary debug file\n"));
- if (new_len > -1)
- free (new_name);
- return;
- }
- filename = new_name;
- }
else
- {
- /* PR 27796: Make sure that we pass a filename that can be free'd to
- add_separate_debug_file(). */
- filename = strdup (filename);
- if (filename == NULL)
- {
- warn (_("out of memory constructing filename for .debug_sup link\n"));
- return;
- }
- }
+ /* PR 27796: Make sure that we pass a filename that can be free'd to
+ add_separate_debug_file(). */
+ filename = xstrdup (filename);
void * handle = open_debug_file (filename);
if (handle == NULL)