/* Remap file names for debug info for GNU assembler.
- Copyright 2007 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
This file is part of GAS, the GNU Assembler.
02110-1301, USA. */
#include "as.h"
+#include "filenames.h"
/* Structure recording the mapping from source file and directory
names at compile time to those to be embedded in debug
debug_prefix_maps = map;
}
-/* Perform user-specified mapping of debug filename prefixes. Return
- the new name corresponding to FILENAME. */
+/* Perform user-specified mapping of debug filename prefixes. Returns
+ a newly allocated buffer containing the name corresponding to FILENAME.
+ It is the caller's responsibility to free the buffer. */
const char *
remap_debug_filename (const char *filename)
size_t name_len;
for (map = debug_prefix_maps; map; map = map->next)
- if (strncmp (filename, map->old_prefix, map->old_len) == 0)
+ if (filename_ncmp (filename, map->old_prefix, map->old_len) == 0)
break;
if (!map)
- return filename;
+ return xstrdup (filename);
name = filename + map->old_len;
name_len = strlen (name) + 1;
s = (char *) alloca (name_len + map->new_len);