This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patch] GDB 7.2: new feature for "backtrace" that cuts path to file (remain filename)


On Sat, 10 Mar 2012 21:14:43 +0100, iam ahal wrote:
> To Jan Kratochvil
> 
> It would be great if you write.

Here is a testcase (+"absolute" mode) but it still FAILs on:

FAIL: gdb.dwarf2/dw2-dir-file-name.exp: wdir_missing__ldir_missing__file_absolute: relative
FAIL: gdb.dwarf2/dw2-dir-file-name.exp: wdir_missing__ldir_relative_file_absolute: relative *maybe undefined testcase*
FAIL: gdb.dwarf2/dw2-dir-file-name.exp: wdir_missing__ldir_absolute_file_basename: relative
FAIL: gdb.dwarf2/dw2-dir-file-name.exp: wdir_missing__ldir_absolute_file_basename: as-recorded
FAIL: gdb.dwarf2/dw2-dir-file-name.exp: wdir_missing__ldir_absolute_file_relative: relative
FAIL: gdb.dwarf2/dw2-dir-file-name.exp: wdir_missing__ldir_absolute_file_relative: as-recorded
FAIL: gdb.dwarf2/dw2-dir-file-name.exp: wdir_missing__ldir_absolute_file_absolute_same: absolute
FAIL: gdb.dwarf2/dw2-dir-file-name.exp: wdir_missing__ldir_absolute_file_absolute_same: relative
FAIL: gdb.dwarf2/dw2-dir-file-name.exp: wdir_missing__ldir_absolute_file_absolute_same: as-recorded
FAIL: gdb.dwarf2/dw2-dir-file-name.exp: wdir_missing__ldir_absolute_file_absolute_different: absolute
FAIL: gdb.dwarf2/dw2-dir-file-name.exp: wdir_missing__ldir_absolute_file_absolute_different: relative
FAIL: gdb.dwarf2/dw2-dir-file-name.exp: wdir_missing__ldir_absolute_file_absolute_different: as-recorded

So there is either some misunderstanding what it should print or there is
really a bug.  I will check it more tomorrow.

The testcase was much smaller originally, there should be probably a generator
for it; just with available languages for running GDB it should be probably
maintainer-pregenerated.  OTOH I do not plan to write a generator myself now.


Thanks,
Jan


--- a/gdb/frame.c
+++ b/gdb/frame.c
@@ -45,6 +45,7 @@
 #include "inline-frame.h"
 #include  "tracepoint.h"
 #include "filenames.h"
+#include "source.h"
 
 static struct frame_info *get_prev_frame_1 (struct frame_info *this_frame);
 static struct frame_info *get_prev_frame_raw (struct frame_info *this_frame);
@@ -140,11 +141,13 @@ static struct frame_info *frame_stash = NULL;
 static const char filename_display_as_recorded[] = "as-recorded";
 static const char filename_display_basename[] = "basename";
 static const char filename_display_relative_directory[] = "relative";
+static const char filename_display_absolute[] = "absolute";
 
 static const char *filename_display_kind_names[] = {
   filename_display_as_recorded,
   filename_display_basename,
   filename_display_relative_directory,
+  filename_display_absolute,
   NULL
 };
 
@@ -2195,6 +2198,13 @@ get_filename_display_from_sal (const struct symtab_and_line *sal)
       else
 	return result == start ? filename : result;
     }
+  else if (filename_display_string == filename_display_absolute)
+    {
+      const char *retval = symtab_to_fullname (sal->symtab);
+
+      if (retval != NULL)
+	return retval;
+    }
 
   return filename;
 }
--- /dev/null
+++ b/gdb/testsuite/gdb.dwarf2/dw2-dir-file-name.S
@@ -0,0 +1,2577 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2012 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#define ABBREV_NAME 1
+#define ABBREV_COMP_DIR_NAME 2
+
+	.section .debug_info
+
+.Lwdir_missing__ldir_missing__file_basename_begin:
+	.4byte	.Lwdir_missing__ldir_missing__file_basename_end - .Lwdir_missing__ldir_missing__file_basename_start	/* Length of Compilation Unit */
+.Lwdir_missing__ldir_missing__file_basename_start:
+	.2byte	2				/* DWARF Version */
+	.4byte	.Labbrev1_begin			/* Offset into abbrev section */
+	.byte	4				/* Pointer size */
+
+	.uleb128 ABBREV_NAME			/* Abbrev: DW_TAG_compile_unit */
+	.ascii	"GNU C\0"			/* DW_AT_producer */
+	.byte	2				/* DW_AT_language (DW_LANG_C) */
+	.4byte	.Lline_wdir_missing__ldir_missing__file_basename_begin	/* DW_AT_stmt_list */
+	.4byte	wdir_missing__ldir_missing__file_basename_start	/* DW_AT_low_pc */
+	.4byte	wdir_missing__ldir_missing__file_basename_end		/* DW_AT_high_pc */
+	.ascii	FILE "\0"			/* DW_AT_name */
+
+	.uleb128	3			/* Abbrev: DW_TAG_subprogram */
+	.asciz		"wdir_missing__ldir_missing__file_basename"	/* DW_AT_name */
+	.4byte		wdir_missing__ldir_missing__file_basename_start	/* DW_AT_low_pc */
+	.4byte		wdir_missing__ldir_missing__file_basename_end		/* DW_AT_high_pc */
+
+	.byte		0			/* End of children of CU */
+.Lwdir_missing__ldir_missing__file_basename_end:
+
+.Lwdir_missing__ldir_missing__file_relative_begin:
+	.4byte	.Lwdir_missing__ldir_missing__file_relative_end - .Lwdir_missing__ldir_missing__file_relative_start	/* Length of Compilation Unit */
+.Lwdir_missing__ldir_missing__file_relative_start:
+	.2byte	2				/* DWARF Version */
+	.4byte	.Labbrev1_begin			/* Offset into abbrev section */
+	.byte	4				/* Pointer size */
+
+	.uleb128 ABBREV_NAME			/* Abbrev: DW_TAG_compile_unit */
+	.ascii	"GNU C\0"			/* DW_AT_producer */
+	.byte	2				/* DW_AT_language (DW_LANG_C) */
+	.4byte	.Lline_wdir_missing__ldir_missing__file_relative_begin	/* DW_AT_stmt_list */
+	.4byte	wdir_missing__ldir_missing__file_relative_start	/* DW_AT_low_pc */
+	.4byte	wdir_missing__ldir_missing__file_relative_end		/* DW_AT_high_pc */
+	.ascii	FDIR "/" FILE "\0"		/* DW_AT_name */
+
+	.uleb128	3			/* Abbrev: DW_TAG_subprogram */
+	.asciz		"wdir_missing__ldir_missing__file_relative"	/* DW_AT_name */
+	.4byte		wdir_missing__ldir_missing__file_relative_start	/* DW_AT_low_pc */
+	.4byte		wdir_missing__ldir_missing__file_relative_end		/* DW_AT_high_pc */
+
+	.byte		0			/* End of children of CU */
+.Lwdir_missing__ldir_missing__file_relative_end:
+
+.Lwdir_missing__ldir_missing__file_absolute_begin:
+	.4byte	.Lwdir_missing__ldir_missing__file_absolute_end - .Lwdir_missing__ldir_missing__file_absolute_start	/* Length of Compilation Unit */
+.Lwdir_missing__ldir_missing__file_absolute_start:
+	.2byte	2				/* DWARF Version */
+	.4byte	.Labbrev1_begin			/* Offset into abbrev section */
+	.byte	4				/* Pointer size */
+
+	.uleb128 ABBREV_NAME			/* Abbrev: DW_TAG_compile_unit */
+	.ascii	"GNU C\0"			/* DW_AT_producer */
+	.byte	2				/* DW_AT_language (DW_LANG_C) */
+	.4byte	.Lline_wdir_missing__ldir_missing__file_absolute_begin	/* DW_AT_stmt_list */
+	.4byte	wdir_missing__ldir_missing__file_absolute_start	/* DW_AT_low_pc */
+	.4byte	wdir_missing__ldir_missing__file_absolute_end		/* DW_AT_high_pc */
+	.ascii	BDIR "/" FILE "\0"		/* DW_AT_name */
+
+	.uleb128	3			/* Abbrev: DW_TAG_subprogram */
+	.asciz		"wdir_missing__ldir_missing__file_absolute"	/* DW_AT_name */
+	.4byte		wdir_missing__ldir_missing__file_absolute_start	/* DW_AT_low_pc */
+	.4byte		wdir_missing__ldir_missing__file_absolute_end		/* DW_AT_high_pc */
+
+	.byte		0			/* End of children of CU */
+.Lwdir_missing__ldir_missing__file_absolute_end:
+
+.Lwdir_missing__ldir_relative_file_basename_begin:
+	.4byte	.Lwdir_missing__ldir_relative_file_basename_end - .Lwdir_missing__ldir_relative_file_basename_start	/* Length of Compilation Unit */
+.Lwdir_missing__ldir_relative_file_basename_start:
+	.2byte	2				/* DWARF Version */
+	.4byte	.Labbrev1_begin			/* Offset into abbrev section */
+	.byte	4				/* Pointer size */
+
+	.uleb128 ABBREV_NAME			/* Abbrev: DW_TAG_compile_unit */
+	.ascii	"GNU C\0"			/* DW_AT_producer */
+	.byte	2				/* DW_AT_language (DW_LANG_C) */
+	.4byte	.Lline_wdir_missing__ldir_relative_file_basename_begin	/* DW_AT_stmt_list */
+	.4byte	wdir_missing__ldir_relative_file_basename_start	/* DW_AT_low_pc */
+	.4byte	wdir_missing__ldir_relative_file_basename_end		/* DW_AT_high_pc */
+	.ascii	FILE "\0"			/* DW_AT_name */
+
+	.uleb128	3			/* Abbrev: DW_TAG_subprogram */
+	.asciz		"wdir_missing__ldir_relative_file_basename"	/* DW_AT_name */
+	.4byte		wdir_missing__ldir_relative_file_basename_start	/* DW_AT_low_pc */
+	.4byte		wdir_missing__ldir_relative_file_basename_end		/* DW_AT_high_pc */
+
+	.byte		0			/* End of children of CU */
+.Lwdir_missing__ldir_relative_file_basename_end:
+
+.Lwdir_missing__ldir_relative_file_relative_begin:
+	.4byte	.Lwdir_missing__ldir_relative_file_relative_end - .Lwdir_missing__ldir_relative_file_relative_start	/* Length of Compilation Unit */
+.Lwdir_missing__ldir_relative_file_relative_start:
+	.2byte	2				/* DWARF Version */
+	.4byte	.Labbrev1_begin			/* Offset into abbrev section */
+	.byte	4				/* Pointer size */
+
+	.uleb128 ABBREV_NAME			/* Abbrev: DW_TAG_compile_unit */
+	.ascii	"GNU C\0"			/* DW_AT_producer */
+	.byte	2				/* DW_AT_language (DW_LANG_C) */
+	.4byte	.Lline_wdir_missing__ldir_relative_file_relative_begin	/* DW_AT_stmt_list */
+	.4byte	wdir_missing__ldir_relative_file_relative_start	/* DW_AT_low_pc */
+	.4byte	wdir_missing__ldir_relative_file_relative_end		/* DW_AT_high_pc */
+	.ascii	FDIR "/" FILE "\0"		/* DW_AT_name */
+
+	.uleb128	3			/* Abbrev: DW_TAG_subprogram */
+	.asciz		"wdir_missing__ldir_relative_file_relative"	/* DW_AT_name */
+	.4byte		wdir_missing__ldir_relative_file_relative_start	/* DW_AT_low_pc */
+	.4byte		wdir_missing__ldir_relative_file_relative_end		/* DW_AT_high_pc */
+
+	.byte		0			/* End of children of CU */
+.Lwdir_missing__ldir_relative_file_relative_end:
+
+.Lwdir_missing__ldir_relative_file_absolute_begin:
+	.4byte	.Lwdir_missing__ldir_relative_file_absolute_end - .Lwdir_missing__ldir_relative_file_absolute_start	/* Length of Compilation Unit */
+.Lwdir_missing__ldir_relative_file_absolute_start:
+	.2byte	2				/* DWARF Version */
+	.4byte	.Labbrev1_begin			/* Offset into abbrev section */
+	.byte	4				/* Pointer size */
+
+	.uleb128 ABBREV_NAME			/* Abbrev: DW_TAG_compile_unit */
+	.ascii	"GNU C\0"			/* DW_AT_producer */
+	.byte	2				/* DW_AT_language (DW_LANG_C) */
+	.4byte	.Lline_wdir_missing__ldir_relative_file_absolute_begin	/* DW_AT_stmt_list */
+	.4byte	wdir_missing__ldir_relative_file_absolute_start	/* DW_AT_low_pc */
+	.4byte	wdir_missing__ldir_relative_file_absolute_end		/* DW_AT_high_pc */
+	.ascii	BDIR "/" FILE "\0"		/* DW_AT_name */
+
+	.uleb128	3			/* Abbrev: DW_TAG_subprogram */
+	.asciz		"wdir_missing__ldir_relative_file_absolute"	/* DW_AT_name */
+	.4byte		wdir_missing__ldir_relative_file_absolute_start	/* DW_AT_low_pc */
+	.4byte		wdir_missing__ldir_relative_file_absolute_end		/* DW_AT_high_pc */
+
+	.byte		0			/* End of children of CU */
+.Lwdir_missing__ldir_relative_file_absolute_end:
+
+.Lwdir_missing__ldir_absolute_file_basename_begin:
+	.4byte	.Lwdir_missing__ldir_absolute_file_basename_end - .Lwdir_missing__ldir_absolute_file_basename_start	/* Length of Compilation Unit */
+.Lwdir_missing__ldir_absolute_file_basename_start:
+	.2byte	2				/* DWARF Version */
+	.4byte	.Labbrev1_begin			/* Offset into abbrev section */
+	.byte	4				/* Pointer size */
+
+	.uleb128 ABBREV_NAME			/* Abbrev: DW_TAG_compile_unit */
+	.ascii	"GNU C\0"			/* DW_AT_producer */
+	.byte	2				/* DW_AT_language (DW_LANG_C) */
+	.4byte	.Lline_wdir_missing__ldir_absolute_file_basename_begin	/* DW_AT_stmt_list */
+	.4byte	wdir_missing__ldir_absolute_file_basename_start	/* DW_AT_low_pc */
+	.4byte	wdir_missing__ldir_absolute_file_basename_end		/* DW_AT_high_pc */
+	.ascii	FILE "\0"			/* DW_AT_name */
+
+	.uleb128	3			/* Abbrev: DW_TAG_subprogram */
+	.asciz		"wdir_missing__ldir_absolute_file_basename"	/* DW_AT_name */
+	.4byte		wdir_missing__ldir_absolute_file_basename_start	/* DW_AT_low_pc */
+	.4byte		wdir_missing__ldir_absolute_file_basename_end		/* DW_AT_high_pc */
+
+	.byte		0			/* End of children of CU */
+.Lwdir_missing__ldir_absolute_file_basename_end:
+
+.Lwdir_missing__ldir_absolute_file_relative_begin:
+	.4byte	.Lwdir_missing__ldir_absolute_file_relative_end - .Lwdir_missing__ldir_absolute_file_relative_start	/* Length of Compilation Unit */
+.Lwdir_missing__ldir_absolute_file_relative_start:
+	.2byte	2				/* DWARF Version */
+	.4byte	.Labbrev1_begin			/* Offset into abbrev section */
+	.byte	4				/* Pointer size */
+
+	.uleb128 ABBREV_NAME			/* Abbrev: DW_TAG_compile_unit */
+	.ascii	"GNU C\0"			/* DW_AT_producer */
+	.byte	2				/* DW_AT_language (DW_LANG_C) */
+	.4byte	.Lline_wdir_missing__ldir_absolute_file_relative_begin	/* DW_AT_stmt_list */
+	.4byte	wdir_missing__ldir_absolute_file_relative_start	/* DW_AT_low_pc */
+	.4byte	wdir_missing__ldir_absolute_file_relative_end		/* DW_AT_high_pc */
+	.ascii	FDIR "/" FILE "\0"		/* DW_AT_name */
+
+	.uleb128	3			/* Abbrev: DW_TAG_subprogram */
+	.asciz		"wdir_missing__ldir_absolute_file_relative"	/* DW_AT_name */
+	.4byte		wdir_missing__ldir_absolute_file_relative_start	/* DW_AT_low_pc */
+	.4byte		wdir_missing__ldir_absolute_file_relative_end		/* DW_AT_high_pc */
+
+	.byte		0			/* End of children of CU */
+.Lwdir_missing__ldir_absolute_file_relative_end:
+
+.Lwdir_missing__ldir_absolute_file_absolute_same_begin:
+	.4byte	.Lwdir_missing__ldir_absolute_file_absolute_same_end - .Lwdir_missing__ldir_absolute_file_absolute_same_start	/* Length of Compilation Unit */
+.Lwdir_missing__ldir_absolute_file_absolute_same_start:
+	.2byte	2				/* DWARF Version */
+	.4byte	.Labbrev1_begin			/* Offset into abbrev section */
+	.byte	4				/* Pointer size */
+
+	.uleb128 ABBREV_NAME			/* Abbrev: DW_TAG_compile_unit */
+	.ascii	"GNU C\0"			/* DW_AT_producer */
+	.byte	2				/* DW_AT_language (DW_LANG_C) */
+	.4byte	.Lline_wdir_missing__ldir_absolute_file_absolute_same_begin	/* DW_AT_stmt_list */
+	.4byte	wdir_missing__ldir_absolute_file_absolute_same_start	/* DW_AT_low_pc */
+	.4byte	wdir_missing__ldir_absolute_file_absolute_same_end		/* DW_AT_high_pc */
+	.ascii	BDIR "/" FILE "\0"		/* DW_AT_name */
+
+	.uleb128	3			/* Abbrev: DW_TAG_subprogram */
+	.asciz		"wdir_missing__ldir_absolute_file_absolute_same"	/* DW_AT_name */
+	.4byte		wdir_missing__ldir_absolute_file_absolute_same_start	/* DW_AT_low_pc */
+	.4byte		wdir_missing__ldir_absolute_file_absolute_same_end		/* DW_AT_high_pc */
+
+	.byte		0			/* End of children of CU */
+.Lwdir_missing__ldir_absolute_file_absolute_same_end:
+
+.Lwdir_missing__ldir_absolute_file_absolute_different_begin:
+	.4byte	.Lwdir_missing__ldir_absolute_file_absolute_different_end - .Lwdir_missing__ldir_absolute_file_absolute_different_start	/* Length of Compilation Unit */
+.Lwdir_missing__ldir_absolute_file_absolute_different_start:
+	.2byte	2				/* DWARF Version */
+	.4byte	.Labbrev1_begin			/* Offset into abbrev section */
+	.byte	4				/* Pointer size */
+
+	.uleb128 ABBREV_NAME			/* Abbrev: DW_TAG_compile_unit */
+	.ascii	"GNU C\0"			/* DW_AT_producer */
+	.byte	2				/* DW_AT_language (DW_LANG_C) */
+	.4byte	.Lline_wdir_missing__ldir_absolute_file_absolute_different_begin	/* DW_AT_stmt_list */
+	.4byte	wdir_missing__ldir_absolute_file_absolute_different_start	/* DW_AT_low_pc */
+	.4byte	wdir_missing__ldir_absolute_file_absolute_different_end		/* DW_AT_high_pc */
+	.ascii	BDIR "/" FILE "\0"		/* DW_AT_name */
+
+	.uleb128	3			/* Abbrev: DW_TAG_subprogram */
+	.asciz		"wdir_missing__ldir_absolute_file_absolute_different"	/* DW_AT_name */
+	.4byte		wdir_missing__ldir_absolute_file_absolute_different_start	/* DW_AT_low_pc */
+	.4byte		wdir_missing__ldir_absolute_file_absolute_different_end		/* DW_AT_high_pc */
+
+	.byte		0			/* End of children of CU */
+.Lwdir_missing__ldir_absolute_file_absolute_different_end:
+
+.Lwdir_relative_ldir_missing__file_basename_begin:
+	.4byte	.Lwdir_relative_ldir_missing__file_basename_end - .Lwdir_relative_ldir_missing__file_basename_start	/* Length of Compilation Unit */
+.Lwdir_relative_ldir_missing__file_basename_start:
+	.2byte	2				/* DWARF Version */
+	.4byte	.Labbrev1_begin			/* Offset into abbrev section */
+	.byte	4				/* Pointer size */
+
+	.uleb128 ABBREV_COMP_DIR_NAME		/* Abbrev: DW_TAG_compile_unit */
+	.ascii	"GNU C\0"			/* DW_AT_producer */
+	.byte	2				/* DW_AT_language (DW_LANG_C) */
+	.4byte	.Lline_wdir_relative_ldir_missing__file_basename_begin	/* DW_AT_stmt_list */
+	.4byte	wdir_relative_ldir_missing__file_basename_start	/* DW_AT_low_pc */
+	.4byte	wdir_relative_ldir_missing__file_basename_end		/* DW_AT_high_pc */
+	.ascii	WDIR "\0"			/* DW_AT_comp_dir */
+	.ascii	FILE "\0"			/* DW_AT_name */
+
+	.uleb128	3			/* Abbrev: DW_TAG_subprogram */
+	.asciz		"wdir_relative_ldir_missing__file_basename"	/* DW_AT_name */
+	.4byte		wdir_relative_ldir_missing__file_basename_start	/* DW_AT_low_pc */
+	.4byte		wdir_relative_ldir_missing__file_basename_end		/* DW_AT_high_pc */
+
+	.byte		0			/* End of children of CU */
+.Lwdir_relative_ldir_missing__file_basename_end:
+
+.Lwdir_relative_ldir_missing__file_relative_begin:
+	.4byte	.Lwdir_relative_ldir_missing__file_relative_end - .Lwdir_relative_ldir_missing__file_relative_start	/* Length of Compilation Unit */
+.Lwdir_relative_ldir_missing__file_relative_start:
+	.2byte	2				/* DWARF Version */
+	.4byte	.Labbrev1_begin			/* Offset into abbrev section */
+	.byte	4				/* Pointer size */
+
+	.uleb128 ABBREV_COMP_DIR_NAME		/* Abbrev: DW_TAG_compile_unit */
+	.ascii	"GNU C\0"			/* DW_AT_producer */
+	.byte	2				/* DW_AT_language (DW_LANG_C) */
+	.4byte	.Lline_wdir_relative_ldir_missing__file_relative_begin	/* DW_AT_stmt_list */
+	.4byte	wdir_relative_ldir_missing__file_relative_start	/* DW_AT_low_pc */
+	.4byte	wdir_relative_ldir_missing__file_relative_end		/* DW_AT_high_pc */
+	.ascii	WDIR "\0"			/* DW_AT_comp_dir */
+	.ascii	FDIR "/" FILE "\0"		/* DW_AT_name */
+
+	.uleb128	3			/* Abbrev: DW_TAG_subprogram */
+	.asciz		"wdir_relative_ldir_missing__file_relative"	/* DW_AT_name */
+	.4byte		wdir_relative_ldir_missing__file_relative_start	/* DW_AT_low_pc */
+	.4byte		wdir_relative_ldir_missing__file_relative_end		/* DW_AT_high_pc */
+
+	.byte		0			/* End of children of CU */
+.Lwdir_relative_ldir_missing__file_relative_end:
+
+.Lwdir_relative_ldir_missing__file_absolute_begin:
+	.4byte	.Lwdir_relative_ldir_missing__file_absolute_end - .Lwdir_relative_ldir_missing__file_absolute_start	/* Length of Compilation Unit */
+.Lwdir_relative_ldir_missing__file_absolute_start:
+	.2byte	2				/* DWARF Version */
+	.4byte	.Labbrev1_begin			/* Offset into abbrev section */
+	.byte	4				/* Pointer size */
+
+	.uleb128 ABBREV_COMP_DIR_NAME		/* Abbrev: DW_TAG_compile_unit */
+	.ascii	"GNU C\0"			/* DW_AT_producer */
+	.byte	2				/* DW_AT_language (DW_LANG_C) */
+	.4byte	.Lline_wdir_relative_ldir_missing__file_absolute_begin	/* DW_AT_stmt_list */
+	.4byte	wdir_relative_ldir_missing__file_absolute_start	/* DW_AT_low_pc */
+	.4byte	wdir_relative_ldir_missing__file_absolute_end		/* DW_AT_high_pc */
+	.ascii	WDIR "\0"			/* DW_AT_comp_dir */
+	.ascii	BDIR "/" FILE "\0"		/* DW_AT_name */
+
+	.uleb128	3			/* Abbrev: DW_TAG_subprogram */
+	.asciz		"wdir_relative_ldir_missing__file_absolute"	/* DW_AT_name */
+	.4byte		wdir_relative_ldir_missing__file_absolute_start	/* DW_AT_low_pc */
+	.4byte		wdir_relative_ldir_missing__file_absolute_end		/* DW_AT_high_pc */
+
+	.byte		0			/* End of children of CU */
+.Lwdir_relative_ldir_missing__file_absolute_end:
+
+.Lwdir_relative_ldir_relative_file_basename_begin:
+	.4byte	.Lwdir_relative_ldir_relative_file_basename_end - .Lwdir_relative_ldir_relative_file_basename_start	/* Length of Compilation Unit */
+.Lwdir_relative_ldir_relative_file_basename_start:
+	.2byte	2				/* DWARF Version */
+	.4byte	.Labbrev1_begin			/* Offset into abbrev section */
+	.byte	4				/* Pointer size */
+
+	.uleb128 ABBREV_COMP_DIR_NAME		/* Abbrev: DW_TAG_compile_unit */
+	.ascii	"GNU C\0"			/* DW_AT_producer */
+	.byte	2				/* DW_AT_language (DW_LANG_C) */
+	.4byte	.Lline_wdir_relative_ldir_relative_file_basename_begin	/* DW_AT_stmt_list */
+	.4byte	wdir_relative_ldir_relative_file_basename_start	/* DW_AT_low_pc */
+	.4byte	wdir_relative_ldir_relative_file_basename_end		/* DW_AT_high_pc */
+	.ascii	WDIR "\0"			/* DW_AT_comp_dir */
+	.ascii	FILE "\0"			/* DW_AT_name */
+
+	.uleb128	3			/* Abbrev: DW_TAG_subprogram */
+	.asciz		"wdir_relative_ldir_relative_file_basename"	/* DW_AT_name */
+	.4byte		wdir_relative_ldir_relative_file_basename_start	/* DW_AT_low_pc */
+	.4byte		wdir_relative_ldir_relative_file_basename_end		/* DW_AT_high_pc */
+
+	.byte		0			/* End of children of CU */
+.Lwdir_relative_ldir_relative_file_basename_end:
+
+.Lwdir_relative_ldir_relative_file_relative_begin:
+	.4byte	.Lwdir_relative_ldir_relative_file_relative_end - .Lwdir_relative_ldir_relative_file_relative_start	/* Length of Compilation Unit */
+.Lwdir_relative_ldir_relative_file_relative_start:
+	.2byte	2				/* DWARF Version */
+	.4byte	.Labbrev1_begin			/* Offset into abbrev section */
+	.byte	4				/* Pointer size */
+
+	.uleb128 ABBREV_COMP_DIR_NAME		/* Abbrev: DW_TAG_compile_unit */
+	.ascii	"GNU C\0"			/* DW_AT_producer */
+	.byte	2				/* DW_AT_language (DW_LANG_C) */
+	.4byte	.Lline_wdir_relative_ldir_relative_file_relative_begin	/* DW_AT_stmt_list */
+	.4byte	wdir_relative_ldir_relative_file_relative_start	/* DW_AT_low_pc */
+	.4byte	wdir_relative_ldir_relative_file_relative_end		/* DW_AT_high_pc */
+	.ascii	WDIR "\0"			/* DW_AT_comp_dir */
+	.ascii	FDIR "/" FILE "\0"		/* DW_AT_name */
+
+	.uleb128	3			/* Abbrev: DW_TAG_subprogram */
+	.asciz		"wdir_relative_ldir_relative_file_relative"	/* DW_AT_name */
+	.4byte		wdir_relative_ldir_relative_file_relative_start	/* DW_AT_low_pc */
+	.4byte		wdir_relative_ldir_relative_file_relative_end		/* DW_AT_high_pc */
+
+	.byte		0			/* End of children of CU */
+.Lwdir_relative_ldir_relative_file_relative_end:
+
+.Lwdir_relative_ldir_relative_file_absolute_begin:
+	.4byte	.Lwdir_relative_ldir_relative_file_absolute_end - .Lwdir_relative_ldir_relative_file_absolute_start	/* Length of Compilation Unit */
+.Lwdir_relative_ldir_relative_file_absolute_start:
+	.2byte	2				/* DWARF Version */
+	.4byte	.Labbrev1_begin			/* Offset into abbrev section */
+	.byte	4				/* Pointer size */
+
+	.uleb128 ABBREV_COMP_DIR_NAME		/* Abbrev: DW_TAG_compile_unit */
+	.ascii	"GNU C\0"			/* DW_AT_producer */
+	.byte	2				/* DW_AT_language (DW_LANG_C) */
+	.4byte	.Lline_wdir_relative_ldir_relative_file_absolute_begin	/* DW_AT_stmt_list */
+	.4byte	wdir_relative_ldir_relative_file_absolute_start	/* DW_AT_low_pc */
+	.4byte	wdir_relative_ldir_relative_file_absolute_end		/* DW_AT_high_pc */
+	.ascii	WDIR "\0"			/* DW_AT_comp_dir */
+	.ascii	BDIR "/" FILE "\0"		/* DW_AT_name */
+
+	.uleb128	3			/* Abbrev: DW_TAG_subprogram */
+	.asciz		"wdir_relative_ldir_relative_file_absolute"	/* DW_AT_name */
+	.4byte		wdir_relative_ldir_relative_file_absolute_start	/* DW_AT_low_pc */
+	.4byte		wdir_relative_ldir_relative_file_absolute_end		/* DW_AT_high_pc */
+
+	.byte		0			/* End of children of CU */
+.Lwdir_relative_ldir_relative_file_absolute_end:
+
+.Lwdir_relative_ldir_absolute_file_basename_begin:
+	.4byte	.Lwdir_relative_ldir_absolute_file_basename_end - .Lwdir_relative_ldir_absolute_file_basename_start	/* Length of Compilation Unit */
+.Lwdir_relative_ldir_absolute_file_basename_start:
+	.2byte	2				/* DWARF Version */
+	.4byte	.Labbrev1_begin			/* Offset into abbrev section */
+	.byte	4				/* Pointer size */
+
+	.uleb128 ABBREV_COMP_DIR_NAME		/* Abbrev: DW_TAG_compile_unit */
+	.ascii	"GNU C\0"			/* DW_AT_producer */
+	.byte	2				/* DW_AT_language (DW_LANG_C) */
+	.4byte	.Lline_wdir_relative_ldir_absolute_file_basename_begin	/* DW_AT_stmt_list */
+	.4byte	wdir_relative_ldir_absolute_file_basename_start	/* DW_AT_low_pc */
+	.4byte	wdir_relative_ldir_absolute_file_basename_end		/* DW_AT_high_pc */
+	.ascii	WDIR "\0"			/* DW_AT_comp_dir */
+	.ascii	FILE "\0"			/* DW_AT_name */
+
+	.uleb128	3			/* Abbrev: DW_TAG_subprogram */
+	.asciz		"wdir_relative_ldir_absolute_file_basename"	/* DW_AT_name */
+	.4byte		wdir_relative_ldir_absolute_file_basename_start	/* DW_AT_low_pc */
+	.4byte		wdir_relative_ldir_absolute_file_basename_end		/* DW_AT_high_pc */
+
+	.byte		0			/* End of children of CU */
+.Lwdir_relative_ldir_absolute_file_basename_end:
+
+.Lwdir_relative_ldir_absolute_file_relative_begin:
+	.4byte	.Lwdir_relative_ldir_absolute_file_relative_end - .Lwdir_relative_ldir_absolute_file_relative_start	/* Length of Compilation Unit */
+.Lwdir_relative_ldir_absolute_file_relative_start:
+	.2byte	2				/* DWARF Version */
+	.4byte	.Labbrev1_begin			/* Offset into abbrev section */
+	.byte	4				/* Pointer size */
+
+	.uleb128 ABBREV_COMP_DIR_NAME		/* Abbrev: DW_TAG_compile_unit */
+	.ascii	"GNU C\0"			/* DW_AT_producer */
+	.byte	2				/* DW_AT_language (DW_LANG_C) */
+	.4byte	.Lline_wdir_relative_ldir_absolute_file_relative_begin	/* DW_AT_stmt_list */
+	.4byte	wdir_relative_ldir_absolute_file_relative_start	/* DW_AT_low_pc */
+	.4byte	wdir_relative_ldir_absolute_file_relative_end		/* DW_AT_high_pc */
+	.ascii	WDIR "\0"			/* DW_AT_comp_dir */
+	.ascii	FDIR "/" FILE "\0"		/* DW_AT_name */
+
+	.uleb128	3			/* Abbrev: DW_TAG_subprogram */
+	.asciz		"wdir_relative_ldir_absolute_file_relative"	/* DW_AT_name */
+	.4byte		wdir_relative_ldir_absolute_file_relative_start	/* DW_AT_low_pc */
+	.4byte		wdir_relative_ldir_absolute_file_relative_end		/* DW_AT_high_pc */
+
+	.byte		0			/* End of children of CU */
+.Lwdir_relative_ldir_absolute_file_relative_end:
+
+.Lwdir_relative_ldir_absolute_file_absolute_same_begin:
+	.4byte	.Lwdir_relative_ldir_absolute_file_absolute_same_end - .Lwdir_relative_ldir_absolute_file_absolute_same_start	/* Length of Compilation Unit */
+.Lwdir_relative_ldir_absolute_file_absolute_same_start:
+	.2byte	2				/* DWARF Version */
+	.4byte	.Labbrev1_begin			/* Offset into abbrev section */
+	.byte	4				/* Pointer size */
+
+	.uleb128 ABBREV_COMP_DIR_NAME		/* Abbrev: DW_TAG_compile_unit */
+	.ascii	"GNU C\0"			/* DW_AT_producer */
+	.byte	2				/* DW_AT_language (DW_LANG_C) */
+	.4byte	.Lline_wdir_relative_ldir_absolute_file_absolute_same_begin	/* DW_AT_stmt_list */
+	.4byte	wdir_relative_ldir_absolute_file_absolute_same_start	/* DW_AT_low_pc */
+	.4byte	wdir_relative_ldir_absolute_file_absolute_same_end		/* DW_AT_high_pc */
+	.ascii	WDIR "\0"			/* DW_AT_comp_dir */
+	.ascii	BDIR "/" FILE "\0"		/* DW_AT_name */
+
+	.uleb128	3			/* Abbrev: DW_TAG_subprogram */
+	.asciz		"wdir_relative_ldir_absolute_file_absolute_same"	/* DW_AT_name */
+	.4byte		wdir_relative_ldir_absolute_file_absolute_same_start	/* DW_AT_low_pc */
+	.4byte		wdir_relative_ldir_absolute_file_absolute_same_end		/* DW_AT_high_pc */
+
+	.byte		0			/* End of children of CU */
+.Lwdir_relative_ldir_absolute_file_absolute_same_end:
+
+.Lwdir_relative_ldir_absolute_file_absolute_different_begin:
+	.4byte	.Lwdir_relative_ldir_absolute_file_absolute_different_end - .Lwdir_relative_ldir_absolute_file_absolute_different_start	/* Length of Compilation Unit */
+.Lwdir_relative_ldir_absolute_file_absolute_different_start:
+	.2byte	2				/* DWARF Version */
+	.4byte	.Labbrev1_begin			/* Offset into abbrev section */
+	.byte	4				/* Pointer size */
+
+	.uleb128 ABBREV_COMP_DIR_NAME		/* Abbrev: DW_TAG_compile_unit */
+	.ascii	"GNU C\0"			/* DW_AT_producer */
+	.byte	2				/* DW_AT_language (DW_LANG_C) */
+	.4byte	.Lline_wdir_relative_ldir_absolute_file_absolute_different_begin	/* DW_AT_stmt_list */
+	.4byte	wdir_relative_ldir_absolute_file_absolute_different_start	/* DW_AT_low_pc */
+	.4byte	wdir_relative_ldir_absolute_file_absolute_different_end		/* DW_AT_high_pc */
+	.ascii	WDIR "\0"			/* DW_AT_comp_dir */
+	.ascii	BDIR "/" FILE "\0"		/* DW_AT_name */
+
+	.uleb128	3			/* Abbrev: DW_TAG_subprogram */
+	.asciz		"wdir_relative_ldir_absolute_file_absolute_different"	/* DW_AT_name */
+	.4byte		wdir_relative_ldir_absolute_file_absolute_different_start	/* DW_AT_low_pc */
+	.4byte		wdir_relative_ldir_absolute_file_absolute_different_end		/* DW_AT_high_pc */
+
+	.byte		0			/* End of children of CU */
+.Lwdir_relative_ldir_absolute_file_absolute_different_end:
+
+.Lwdir_absolute_ldir_missing__file_basename_begin:
+	.4byte	.Lwdir_absolute_ldir_missing__file_basename_end - .Lwdir_absolute_ldir_missing__file_basename_start	/* Length of Compilation Unit */
+.Lwdir_absolute_ldir_missing__file_basename_start:
+	.2byte	2				/* DWARF Version */
+	.4byte	.Labbrev1_begin			/* Offset into abbrev section */
+	.byte	4				/* Pointer size */
+
+	.uleb128 ABBREV_COMP_DIR_NAME		/* Abbrev: DW_TAG_compile_unit */
+	.ascii	"GNU C\0"			/* DW_AT_producer */
+	.byte	2				/* DW_AT_language (DW_LANG_C) */
+	.4byte	.Lline_wdir_absolute_ldir_missing__file_basename_begin	/* DW_AT_stmt_list */
+	.4byte	wdir_absolute_ldir_missing__file_basename_start	/* DW_AT_low_pc */
+	.4byte	wdir_absolute_ldir_missing__file_basename_end		/* DW_AT_high_pc */
+	.ascii	BDIR "/" WDIR "\0"		/* DW_AT_comp_dir */
+	.ascii	FILE "\0"			/* DW_AT_name */
+
+	.uleb128	3			/* Abbrev: DW_TAG_subprogram */
+	.asciz		"wdir_absolute_ldir_missing__file_basename"	/* DW_AT_name */
+	.4byte		wdir_absolute_ldir_missing__file_basename_start	/* DW_AT_low_pc */
+	.4byte		wdir_absolute_ldir_missing__file_basename_end		/* DW_AT_high_pc */
+
+	.byte		0			/* End of children of CU */
+.Lwdir_absolute_ldir_missing__file_basename_end:
+
+.Lwdir_absolute_ldir_missing__file_relative_begin:
+	.4byte	.Lwdir_absolute_ldir_missing__file_relative_end - .Lwdir_absolute_ldir_missing__file_relative_start	/* Length of Compilation Unit */
+.Lwdir_absolute_ldir_missing__file_relative_start:
+	.2byte	2				/* DWARF Version */
+	.4byte	.Labbrev1_begin			/* Offset into abbrev section */
+	.byte	4				/* Pointer size */
+
+	.uleb128 ABBREV_COMP_DIR_NAME		/* Abbrev: DW_TAG_compile_unit */
+	.ascii	"GNU C\0"			/* DW_AT_producer */
+	.byte	2				/* DW_AT_language (DW_LANG_C) */
+	.4byte	.Lline_wdir_absolute_ldir_missing__file_relative_begin	/* DW_AT_stmt_list */
+	.4byte	wdir_absolute_ldir_missing__file_relative_start	/* DW_AT_low_pc */
+	.4byte	wdir_absolute_ldir_missing__file_relative_end		/* DW_AT_high_pc */
+	.ascii	BDIR "/" WDIR "\0"		/* DW_AT_comp_dir */
+	.ascii	FDIR "/" FILE "\0"		/* DW_AT_name */
+
+	.uleb128	3			/* Abbrev: DW_TAG_subprogram */
+	.asciz		"wdir_absolute_ldir_missing__file_relative"	/* DW_AT_name */
+	.4byte		wdir_absolute_ldir_missing__file_relative_start	/* DW_AT_low_pc */
+	.4byte		wdir_absolute_ldir_missing__file_relative_end		/* DW_AT_high_pc */
+
+	.byte		0			/* End of children of CU */
+.Lwdir_absolute_ldir_missing__file_relative_end:
+
+.Lwdir_absolute_ldir_missing__file_absolute_same_begin:
+	.4byte	.Lwdir_absolute_ldir_missing__file_absolute_same_end - .Lwdir_absolute_ldir_missing__file_absolute_same_start	/* Length of Compilation Unit */
+.Lwdir_absolute_ldir_missing__file_absolute_same_start:
+	.2byte	2				/* DWARF Version */
+	.4byte	.Labbrev1_begin			/* Offset into abbrev section */
+	.byte	4				/* Pointer size */
+
+	.uleb128 ABBREV_COMP_DIR_NAME		/* Abbrev: DW_TAG_compile_unit */
+	.ascii	"GNU C\0"			/* DW_AT_producer */
+	.byte	2				/* DW_AT_language (DW_LANG_C) */
+	.4byte	.Lline_wdir_absolute_ldir_missing__file_absolute_same_begin	/* DW_AT_stmt_list */
+	.4byte	wdir_absolute_ldir_missing__file_absolute_same_start	/* DW_AT_low_pc */
+	.4byte	wdir_absolute_ldir_missing__file_absolute_same_end		/* DW_AT_high_pc */
+	.ascii	BDIR "/" WDIR "\0"		/* DW_AT_comp_dir */
+	.ascii	BDIR "/" FILE "\0"		/* DW_AT_name */
+
+	.uleb128	3			/* Abbrev: DW_TAG_subprogram */
+	.asciz		"wdir_absolute_ldir_missing__file_absolute_same"	/* DW_AT_name */
+	.4byte		wdir_absolute_ldir_missing__file_absolute_same_start	/* DW_AT_low_pc */
+	.4byte		wdir_absolute_ldir_missing__file_absolute_same_end		/* DW_AT_high_pc */
+
+	.byte		0			/* End of children of CU */
+.Lwdir_absolute_ldir_missing__file_absolute_same_end:
+
+.Lwdir_absolute_ldir_missing__file_absolute_different_begin:
+	.4byte	.Lwdir_absolute_ldir_missing__file_absolute_different_end - .Lwdir_absolute_ldir_missing__file_absolute_different_start	/* Length of Compilation Unit */
+.Lwdir_absolute_ldir_missing__file_absolute_different_start:
+	.2byte	2				/* DWARF Version */
+	.4byte	.Labbrev1_begin			/* Offset into abbrev section */
+	.byte	4				/* Pointer size */
+
+	.uleb128 ABBREV_COMP_DIR_NAME		/* Abbrev: DW_TAG_compile_unit */
+	.ascii	"GNU C\0"			/* DW_AT_producer */
+	.byte	2				/* DW_AT_language (DW_LANG_C) */
+	.4byte	.Lline_wdir_absolute_ldir_missing__file_absolute_different_begin	/* DW_AT_stmt_list */
+	.4byte	wdir_absolute_ldir_missing__file_absolute_different_start	/* DW_AT_low_pc */
+	.4byte	wdir_absolute_ldir_missing__file_absolute_different_end		/* DW_AT_high_pc */
+	.ascii	BDIR "/" WDIR "\0"		/* DW_AT_comp_dir */
+	.ascii	BDIR "/" FILE "\0"		/* DW_AT_name */
+
+	.uleb128	3			/* Abbrev: DW_TAG_subprogram */
+	.asciz		"wdir_absolute_ldir_missing__file_absolute_different"	/* DW_AT_name */
+	.4byte		wdir_absolute_ldir_missing__file_absolute_different_start	/* DW_AT_low_pc */
+	.4byte		wdir_absolute_ldir_missing__file_absolute_different_end		/* DW_AT_high_pc */
+
+	.byte		0			/* End of children of CU */
+.Lwdir_absolute_ldir_missing__file_absolute_different_end:
+
+.Lwdir_absolute_ldir_relative_file_basename_begin:
+	.4byte	.Lwdir_absolute_ldir_relative_file_basename_end - .Lwdir_absolute_ldir_relative_file_basename_start	/* Length of Compilation Unit */
+.Lwdir_absolute_ldir_relative_file_basename_start:
+	.2byte	2				/* DWARF Version */
+	.4byte	.Labbrev1_begin			/* Offset into abbrev section */
+	.byte	4				/* Pointer size */
+
+	.uleb128 ABBREV_COMP_DIR_NAME		/* Abbrev: DW_TAG_compile_unit */
+	.ascii	"GNU C\0"			/* DW_AT_producer */
+	.byte	2				/* DW_AT_language (DW_LANG_C) */
+	.4byte	.Lline_wdir_absolute_ldir_relative_file_basename_begin	/* DW_AT_stmt_list */
+	.4byte	wdir_absolute_ldir_relative_file_basename_start	/* DW_AT_low_pc */
+	.4byte	wdir_absolute_ldir_relative_file_basename_end		/* DW_AT_high_pc */
+	.ascii	BDIR "/" WDIR "\0"		/* DW_AT_comp_dir */
+	.ascii	FILE "\0"			/* DW_AT_name */
+
+	.uleb128	3			/* Abbrev: DW_TAG_subprogram */
+	.asciz		"wdir_absolute_ldir_relative_file_basename"	/* DW_AT_name */
+	.4byte		wdir_absolute_ldir_relative_file_basename_start	/* DW_AT_low_pc */
+	.4byte		wdir_absolute_ldir_relative_file_basename_end		/* DW_AT_high_pc */
+
+	.byte		0			/* End of children of CU */
+.Lwdir_absolute_ldir_relative_file_basename_end:
+
+.Lwdir_absolute_ldir_relative_file_relative_begin:
+	.4byte	.Lwdir_absolute_ldir_relative_file_relative_end - .Lwdir_absolute_ldir_relative_file_relative_start	/* Length of Compilation Unit */
+.Lwdir_absolute_ldir_relative_file_relative_start:
+	.2byte	2				/* DWARF Version */
+	.4byte	.Labbrev1_begin			/* Offset into abbrev section */
+	.byte	4				/* Pointer size */
+
+	.uleb128 ABBREV_COMP_DIR_NAME		/* Abbrev: DW_TAG_compile_unit */
+	.ascii	"GNU C\0"			/* DW_AT_producer */
+	.byte	2				/* DW_AT_language (DW_LANG_C) */
+	.4byte	.Lline_wdir_absolute_ldir_relative_file_relative_begin	/* DW_AT_stmt_list */
+	.4byte	wdir_absolute_ldir_relative_file_relative_start	/* DW_AT_low_pc */
+	.4byte	wdir_absolute_ldir_relative_file_relative_end		/* DW_AT_high_pc */
+	.ascii	BDIR "/" WDIR "\0"		/* DW_AT_comp_dir */
+	.ascii	FDIR "/" FILE "\0"		/* DW_AT_name */
+
+	.uleb128	3			/* Abbrev: DW_TAG_subprogram */
+	.asciz		"wdir_absolute_ldir_relative_file_relative"	/* DW_AT_name */
+	.4byte		wdir_absolute_ldir_relative_file_relative_start	/* DW_AT_low_pc */
+	.4byte		wdir_absolute_ldir_relative_file_relative_end		/* DW_AT_high_pc */
+
+	.byte		0			/* End of children of CU */
+.Lwdir_absolute_ldir_relative_file_relative_end:
+
+.Lwdir_absolute_ldir_relative_file_absolute_same_begin:
+	.4byte	.Lwdir_absolute_ldir_relative_file_absolute_same_end - .Lwdir_absolute_ldir_relative_file_absolute_same_start	/* Length of Compilation Unit */
+.Lwdir_absolute_ldir_relative_file_absolute_same_start:
+	.2byte	2				/* DWARF Version */
+	.4byte	.Labbrev1_begin			/* Offset into abbrev section */
+	.byte	4				/* Pointer size */
+
+	.uleb128 ABBREV_COMP_DIR_NAME		/* Abbrev: DW_TAG_compile_unit */
+	.ascii	"GNU C\0"			/* DW_AT_producer */
+	.byte	2				/* DW_AT_language (DW_LANG_C) */
+	.4byte	.Lline_wdir_absolute_ldir_relative_file_absolute_same_begin	/* DW_AT_stmt_list */
+	.4byte	wdir_absolute_ldir_relative_file_absolute_same_start	/* DW_AT_low_pc */
+	.4byte	wdir_absolute_ldir_relative_file_absolute_same_end		/* DW_AT_high_pc */
+	.ascii	BDIR "/" WDIR "\0"		/* DW_AT_comp_dir */
+	.ascii	BDIR "/" FILE "\0"		/* DW_AT_name */
+
+	.uleb128	3			/* Abbrev: DW_TAG_subprogram */
+	.asciz		"wdir_absolute_ldir_relative_file_absolute_same"	/* DW_AT_name */
+	.4byte		wdir_absolute_ldir_relative_file_absolute_same_start	/* DW_AT_low_pc */
+	.4byte		wdir_absolute_ldir_relative_file_absolute_same_end		/* DW_AT_high_pc */
+
+	.byte		0			/* End of children of CU */
+.Lwdir_absolute_ldir_relative_file_absolute_same_end:
+
+.Lwdir_absolute_ldir_relative_file_absolute_different_begin:
+	.4byte	.Lwdir_absolute_ldir_relative_file_absolute_different_end - .Lwdir_absolute_ldir_relative_file_absolute_different_start	/* Length of Compilation Unit */
+.Lwdir_absolute_ldir_relative_file_absolute_different_start:
+	.2byte	2				/* DWARF Version */
+	.4byte	.Labbrev1_begin			/* Offset into abbrev section */
+	.byte	4				/* Pointer size */
+
+	.uleb128 ABBREV_COMP_DIR_NAME		/* Abbrev: DW_TAG_compile_unit */
+	.ascii	"GNU C\0"			/* DW_AT_producer */
+	.byte	2				/* DW_AT_language (DW_LANG_C) */
+	.4byte	.Lline_wdir_absolute_ldir_relative_file_absolute_different_begin	/* DW_AT_stmt_list */
+	.4byte	wdir_absolute_ldir_relative_file_absolute_different_start	/* DW_AT_low_pc */
+	.4byte	wdir_absolute_ldir_relative_file_absolute_different_end		/* DW_AT_high_pc */
+	.ascii	XDIR "\0"			/* DW_AT_comp_dir */
+	.ascii	BDIR "/" FILE "\0"		/* DW_AT_name */
+
+	.uleb128	3			/* Abbrev: DW_TAG_subprogram */
+	.asciz		"wdir_absolute_ldir_relative_file_absolute_different"	/* DW_AT_name */
+	.4byte		wdir_absolute_ldir_relative_file_absolute_different_start	/* DW_AT_low_pc */
+	.4byte		wdir_absolute_ldir_relative_file_absolute_different_end		/* DW_AT_high_pc */
+
+	.byte		0			/* End of children of CU */
+.Lwdir_absolute_ldir_relative_file_absolute_different_end:
+
+.Lwdir_absolute_ldir_absolute_file_basename_same_begin:
+	.4byte	.Lwdir_absolute_ldir_absolute_file_basename_same_end - .Lwdir_absolute_ldir_absolute_file_basename_same_start	/* Length of Compilation Unit */
+.Lwdir_absolute_ldir_absolute_file_basename_same_start:
+	.2byte	2				/* DWARF Version */
+	.4byte	.Labbrev1_begin			/* Offset into abbrev section */
+	.byte	4				/* Pointer size */
+
+	.uleb128 ABBREV_COMP_DIR_NAME		/* Abbrev: DW_TAG_compile_unit */
+	.ascii	"GNU C\0"			/* DW_AT_producer */
+	.byte	2				/* DW_AT_language (DW_LANG_C) */
+	.4byte	.Lline_wdir_absolute_ldir_absolute_file_basename_same_begin	/* DW_AT_stmt_list */
+	.4byte	wdir_absolute_ldir_absolute_file_basename_same_start	/* DW_AT_low_pc */
+	.4byte	wdir_absolute_ldir_absolute_file_basename_same_end		/* DW_AT_high_pc */
+	.ascii	BDIR "/" WDIR "\0"		/* DW_AT_comp_dir */
+	.ascii	FILE "\0"			/* DW_AT_name */
+
+	.uleb128	3			/* Abbrev: DW_TAG_subprogram */
+	.asciz		"wdir_absolute_ldir_absolute_file_basename_same"	/* DW_AT_name */
+	.4byte		wdir_absolute_ldir_absolute_file_basename_same_start	/* DW_AT_low_pc */
+	.4byte		wdir_absolute_ldir_absolute_file_basename_same_end		/* DW_AT_high_pc */
+
+	.byte		0			/* End of children of CU */
+.Lwdir_absolute_ldir_absolute_file_basename_same_end:
+
+.Lwdir_absolute_ldir_absolute_file_basename_different_begin:
+	.4byte	.Lwdir_absolute_ldir_absolute_file_basename_different_end - .Lwdir_absolute_ldir_absolute_file_basename_different_start	/* Length of Compilation Unit */
+.Lwdir_absolute_ldir_absolute_file_basename_different_start:
+	.2byte	2				/* DWARF Version */
+	.4byte	.Labbrev1_begin			/* Offset into abbrev section */
+	.byte	4				/* Pointer size */
+
+	.uleb128 ABBREV_COMP_DIR_NAME		/* Abbrev: DW_TAG_compile_unit */
+	.ascii	"GNU C\0"			/* DW_AT_producer */
+	.byte	2				/* DW_AT_language (DW_LANG_C) */
+	.4byte	.Lline_wdir_absolute_ldir_absolute_file_basename_different_begin	/* DW_AT_stmt_list */
+	.4byte	wdir_absolute_ldir_absolute_file_basename_different_start	/* DW_AT_low_pc */
+	.4byte	wdir_absolute_ldir_absolute_file_basename_different_end		/* DW_AT_high_pc */
+	.ascii	XDIR "\0"			/* DW_AT_comp_dir */
+	.ascii	FILE "\0"			/* DW_AT_name */
+
+	.uleb128	3			/* Abbrev: DW_TAG_subprogram */
+	.asciz		"wdir_absolute_ldir_absolute_file_basename_different"	/* DW_AT_name */
+	.4byte		wdir_absolute_ldir_absolute_file_basename_different_start	/* DW_AT_low_pc */
+	.4byte		wdir_absolute_ldir_absolute_file_basename_different_end		/* DW_AT_high_pc */
+
+	.byte		0			/* End of children of CU */
+.Lwdir_absolute_ldir_absolute_file_basename_different_end:
+
+.Lwdir_absolute_ldir_absolute_file_relative_same_begin:
+	.4byte	.Lwdir_absolute_ldir_absolute_file_relative_same_end - .Lwdir_absolute_ldir_absolute_file_relative_same_start	/* Length of Compilation Unit */
+.Lwdir_absolute_ldir_absolute_file_relative_same_start:
+	.2byte	2				/* DWARF Version */
+	.4byte	.Labbrev1_begin			/* Offset into abbrev section */
+	.byte	4				/* Pointer size */
+
+	.uleb128 ABBREV_COMP_DIR_NAME		/* Abbrev: DW_TAG_compile_unit */
+	.ascii	"GNU C\0"			/* DW_AT_producer */
+	.byte	2				/* DW_AT_language (DW_LANG_C) */
+	.4byte	.Lline_wdir_absolute_ldir_absolute_file_relative_same_begin	/* DW_AT_stmt_list */
+	.4byte	wdir_absolute_ldir_absolute_file_relative_same_start	/* DW_AT_low_pc */
+	.4byte	wdir_absolute_ldir_absolute_file_relative_same_end		/* DW_AT_high_pc */
+	.ascii	BDIR "/" WDIR "\0"		/* DW_AT_comp_dir */
+	.ascii	FDIR "/" FILE "\0"		/* DW_AT_name */
+
+	.uleb128	3			/* Abbrev: DW_TAG_subprogram */
+	.asciz		"wdir_absolute_ldir_absolute_file_relative_same"	/* DW_AT_name */
+	.4byte		wdir_absolute_ldir_absolute_file_relative_same_start	/* DW_AT_low_pc */
+	.4byte		wdir_absolute_ldir_absolute_file_relative_same_end		/* DW_AT_high_pc */
+
+	.byte		0			/* End of children of CU */
+.Lwdir_absolute_ldir_absolute_file_relative_same_end:
+
+.Lwdir_absolute_ldir_absolute_file_relative_different_begin:
+	.4byte	.Lwdir_absolute_ldir_absolute_file_relative_different_end - .Lwdir_absolute_ldir_absolute_file_relative_different_start	/* Length of Compilation Unit */
+.Lwdir_absolute_ldir_absolute_file_relative_different_start:
+	.2byte	2				/* DWARF Version */
+	.4byte	.Labbrev1_begin			/* Offset into abbrev section */
+	.byte	4				/* Pointer size */
+
+	.uleb128 ABBREV_COMP_DIR_NAME		/* Abbrev: DW_TAG_compile_unit */
+	.ascii	"GNU C\0"			/* DW_AT_producer */
+	.byte	2				/* DW_AT_language (DW_LANG_C) */
+	.4byte	.Lline_wdir_absolute_ldir_absolute_file_relative_different_begin	/* DW_AT_stmt_list */
+	.4byte	wdir_absolute_ldir_absolute_file_relative_different_start	/* DW_AT_low_pc */
+	.4byte	wdir_absolute_ldir_absolute_file_relative_different_end		/* DW_AT_high_pc */
+	.ascii	XDIR "\0"			/* DW_AT_comp_dir */
+	.ascii	FDIR "/" FILE "\0"		/* DW_AT_name */
+
+	.uleb128	3			/* Abbrev: DW_TAG_subprogram */
+	.asciz		"wdir_absolute_ldir_absolute_file_relative_different"	/* DW_AT_name */
+	.4byte		wdir_absolute_ldir_absolute_file_relative_different_start	/* DW_AT_low_pc */
+	.4byte		wdir_absolute_ldir_absolute_file_relative_different_end		/* DW_AT_high_pc */
+
+	.byte		0			/* End of children of CU */
+.Lwdir_absolute_ldir_absolute_file_relative_different_end:
+
+.Lwdir_absolute_ldir_absolute_file_absolute_same_begin:
+	.4byte	.Lwdir_absolute_ldir_absolute_file_absolute_same_end - .Lwdir_absolute_ldir_absolute_file_absolute_same_start	/* Length of Compilation Unit */
+.Lwdir_absolute_ldir_absolute_file_absolute_same_start:
+	.2byte	2				/* DWARF Version */
+	.4byte	.Labbrev1_begin			/* Offset into abbrev section */
+	.byte	4				/* Pointer size */
+
+	.uleb128 ABBREV_COMP_DIR_NAME		/* Abbrev: DW_TAG_compile_unit */
+	.ascii	"GNU C\0"			/* DW_AT_producer */
+	.byte	2				/* DW_AT_language (DW_LANG_C) */
+	.4byte	.Lline_wdir_absolute_ldir_absolute_file_absolute_same_begin	/* DW_AT_stmt_list */
+	.4byte	wdir_absolute_ldir_absolute_file_absolute_same_start	/* DW_AT_low_pc */
+	.4byte	wdir_absolute_ldir_absolute_file_absolute_same_end		/* DW_AT_high_pc */
+	.ascii	BDIR "/" WDIR "\0"		/* DW_AT_comp_dir */
+	.ascii	BDIR "/" FILE "\0"		/* DW_AT_name */
+
+	.uleb128	3			/* Abbrev: DW_TAG_subprogram */
+	.asciz		"wdir_absolute_ldir_absolute_file_absolute_same"	/* DW_AT_name */
+	.4byte		wdir_absolute_ldir_absolute_file_absolute_same_start	/* DW_AT_low_pc */
+	.4byte		wdir_absolute_ldir_absolute_file_absolute_same_end		/* DW_AT_high_pc */
+
+	.byte		0			/* End of children of CU */
+.Lwdir_absolute_ldir_absolute_file_absolute_same_end:
+
+.Lwdir_absolute_ldir_absolute_file_absolute_different_begin:
+	.4byte	.Lwdir_absolute_ldir_absolute_file_absolute_different_end - .Lwdir_absolute_ldir_absolute_file_absolute_different_start	/* Length of Compilation Unit */
+.Lwdir_absolute_ldir_absolute_file_absolute_different_start:
+	.2byte	2				/* DWARF Version */
+	.4byte	.Labbrev1_begin			/* Offset into abbrev section */
+	.byte	4				/* Pointer size */
+
+	.uleb128 ABBREV_COMP_DIR_NAME		/* Abbrev: DW_TAG_compile_unit */
+	.ascii	"GNU C\0"			/* DW_AT_producer */
+	.byte	2				/* DW_AT_language (DW_LANG_C) */
+	.4byte	.Lline_wdir_absolute_ldir_absolute_file_absolute_different_begin	/* DW_AT_stmt_list */
+	.4byte	wdir_absolute_ldir_absolute_file_absolute_different_start	/* DW_AT_low_pc */
+	.4byte	wdir_absolute_ldir_absolute_file_absolute_different_end		/* DW_AT_high_pc */
+	.ascii	XDIR "\0"			/* DW_AT_comp_dir */
+	.ascii	BDIR "/" FILE "\0"		/* DW_AT_name */
+
+	.uleb128	3			/* Abbrev: DW_TAG_subprogram */
+	.asciz		"wdir_absolute_ldir_absolute_file_absolute_different"	/* DW_AT_name */
+	.4byte		wdir_absolute_ldir_absolute_file_absolute_different_start	/* DW_AT_low_pc */
+	.4byte		wdir_absolute_ldir_absolute_file_absolute_different_end		/* DW_AT_high_pc */
+
+	.byte		0			/* End of children of CU */
+.Lwdir_absolute_ldir_absolute_file_absolute_different_end:
+
+/* Abbrev table */
+	.section .debug_abbrev
+.Labbrev1_begin:
+
+	.uleb128	ABBREV_NAME		/* Abbrev code */
+	.uleb128	0x11			/* DW_TAG_compile_unit */
+	.byte		1			/* has_children */
+	.uleb128	0x25			/* DW_AT_producer */
+	.uleb128	0x8			/* DW_FORM_string */
+	.uleb128	0x13			/* DW_AT_language */
+	.uleb128	0xb			/* DW_FORM_data1 */
+	.uleb128	0x10			/* DW_AT_stmt_list */
+	.uleb128	0x6			/* DW_FORM_data4 */
+	.uleb128	0x11			/* DW_AT_low_pc */
+	.uleb128	0x1			/* DW_FORM_addr */
+	.uleb128	0x12			/* DW_AT_high_pc */
+	.uleb128	0x1			/* DW_FORM_addr */
+	.uleb128	0x3			/* DW_AT_name */
+	.uleb128	0x8			/* DW_FORM_string */
+	.byte		0x0			/* Terminator */
+	.byte		0x0			/* Terminator */
+
+	.uleb128	ABBREV_COMP_DIR_NAME	/* Abbrev code */
+	.uleb128	0x11			/* DW_TAG_compile_unit */
+	.byte		1			/* has_children */
+	.uleb128	0x25			/* DW_AT_producer */
+	.uleb128	0x8			/* DW_FORM_string */
+	.uleb128	0x13			/* DW_AT_language */
+	.uleb128	0xb			/* DW_FORM_data1 */
+	.uleb128	0x10			/* DW_AT_stmt_list */
+	.uleb128	0x6			/* DW_FORM_data4 */
+	.uleb128	0x11			/* DW_AT_low_pc */
+	.uleb128	0x1			/* DW_FORM_addr */
+	.uleb128	0x12			/* DW_AT_high_pc */
+	.uleb128	0x1			/* DW_FORM_addr */
+	.uleb128	0x1b			/* DW_AT_comp_dir */
+	.uleb128	0x8			/* DW_FORM_string */
+	.uleb128	0x3			/* DW_AT_name */
+	.uleb128	0x8			/* DW_FORM_string */
+	.byte		0x0			/* Terminator */
+	.byte		0x0			/* Terminator */
+
+	.uleb128	3			/* Abbrev code */
+	.uleb128	0x2e			/* DW_TAG_subprogram */
+	.byte		0			/* has_children */
+	.uleb128	0x3			/* DW_AT_name */
+	.uleb128	0x8			/* DW_FORM_string */
+	.uleb128	0x11			/* DW_AT_low_pc */
+	.uleb128	0x1			/* DW_FORM_addr */
+	.uleb128	0x12			/* DW_AT_high_pc */
+	.uleb128	0x1			/* DW_FORM_addr */
+	.byte		0x0			/* Terminator */
+	.byte		0x0			/* Terminator */
+
+	.byte		0x0			/* Terminator */
+	.byte		0x0			/* Terminator */
+
+/* Line table */
+	.section .debug_line
+
+
+.Lline_wdir_missing__ldir_missing__file_basename_begin:
+	.4byte		.Lline_wdir_missing__ldir_missing__file_basename_end - .Lline_wdir_missing__ldir_missing__file_basename_start	/* Initial length */
+.Lline_wdir_missing__ldir_missing__file_basename_start:
+	.2byte		2			/* Version */
+	.4byte		.Lline_wdir_missing__ldir_missing__file_basename_lines - .Lline_wdir_missing__ldir_missing__file_basename_hdr	/* header_length */
+.Lline_wdir_missing__ldir_missing__file_basename_hdr:
+	.byte		1			/* Minimum insn length */
+	.byte		1			/* default_is_stmt */
+	.byte		1			/* line_base */
+	.byte		1			/* line_range */
+	.byte		4			/* opcode_base */
+
+	/* Standard lengths */
+	.byte		0
+	.byte		1
+	.byte		1
+
+	/* Include directories */
+	.byte		0
+
+	/* File names */
+	.ascii	FILE "\0"
+	.uleb128	0
+	.uleb128	0
+	.uleb128	0
+
+	.byte		0
+
+.Lline_wdir_missing__ldir_missing__file_basename_lines:
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	998	/* ... to 999 */
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		wdir_missing__ldir_missing__file_basename_start
+	.byte		1	/* DW_LNS_copy */
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	1	/* ... to 1000 */
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		wdir_missing__ldir_missing__file_basename_end
+	.byte		1	/* DW_LNS_copy */
+	.byte		0	/* DW_LNE_end_of_sequence */
+	.uleb128	1
+	.byte		1
+.Lline_wdir_missing__ldir_missing__file_basename_end:
+
+
+.Lline_wdir_missing__ldir_missing__file_relative_begin:
+	.4byte		.Lline_wdir_missing__ldir_missing__file_relative_end - .Lline_wdir_missing__ldir_missing__file_relative_start	/* Initial length */
+.Lline_wdir_missing__ldir_missing__file_relative_start:
+	.2byte		2			/* Version */
+	.4byte		.Lline_wdir_missing__ldir_missing__file_relative_lines - .Lline_wdir_missing__ldir_missing__file_relative_hdr	/* header_length */
+.Lline_wdir_missing__ldir_missing__file_relative_hdr:
+	.byte		1			/* Minimum insn length */
+	.byte		1			/* default_is_stmt */
+	.byte		1			/* line_base */
+	.byte		1			/* line_range */
+	.byte		4			/* opcode_base */
+
+	/* Standard lengths */
+	.byte		0
+	.byte		1
+	.byte		1
+
+	/* Include directories */
+	.byte		0
+
+	/* File names */
+	.ascii	FDIR "/" FILE "\0"
+	.uleb128	0
+	.uleb128	0
+	.uleb128	0
+
+	.byte		0
+
+.Lline_wdir_missing__ldir_missing__file_relative_lines:
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	998	/* ... to 999 */
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		wdir_missing__ldir_missing__file_relative_start
+	.byte		1	/* DW_LNS_copy */
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	1	/* ... to 1000 */
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		wdir_missing__ldir_missing__file_relative_end
+	.byte		1	/* DW_LNS_copy */
+	.byte		0	/* DW_LNE_end_of_sequence */
+	.uleb128	1
+	.byte		1
+.Lline_wdir_missing__ldir_missing__file_relative_end:
+
+
+.Lline_wdir_missing__ldir_missing__file_absolute_begin:
+	.4byte		.Lline_wdir_missing__ldir_missing__file_absolute_end - .Lline_wdir_missing__ldir_missing__file_absolute_start	/* Initial length */
+.Lline_wdir_missing__ldir_missing__file_absolute_start:
+	.2byte		2			/* Version */
+	.4byte		.Lline_wdir_missing__ldir_missing__file_absolute_lines - .Lline_wdir_missing__ldir_missing__file_absolute_hdr	/* header_length */
+.Lline_wdir_missing__ldir_missing__file_absolute_hdr:
+	.byte		1			/* Minimum insn length */
+	.byte		1			/* default_is_stmt */
+	.byte		1			/* line_base */
+	.byte		1			/* line_range */
+	.byte		4			/* opcode_base */
+
+	/* Standard lengths */
+	.byte		0
+	.byte		1
+	.byte		1
+
+	/* Include directories */
+	.byte		0
+
+	/* File names */
+	.ascii	BDIR "/" FILE "\0"
+	.uleb128	0
+	.uleb128	0
+	.uleb128	0
+
+	.byte		0
+
+.Lline_wdir_missing__ldir_missing__file_absolute_lines:
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	998	/* ... to 999 */
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		wdir_missing__ldir_missing__file_absolute_start
+	.byte		1	/* DW_LNS_copy */
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	1	/* ... to 1000 */
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		wdir_missing__ldir_missing__file_absolute_end
+	.byte		1	/* DW_LNS_copy */
+	.byte		0	/* DW_LNE_end_of_sequence */
+	.uleb128	1
+	.byte		1
+.Lline_wdir_missing__ldir_missing__file_absolute_end:
+
+
+.Lline_wdir_missing__ldir_relative_file_basename_begin:
+	.4byte		.Lline_wdir_missing__ldir_relative_file_basename_end - .Lline_wdir_missing__ldir_relative_file_basename_start	/* Initial length */
+.Lline_wdir_missing__ldir_relative_file_basename_start:
+	.2byte		2			/* Version */
+	.4byte		.Lline_wdir_missing__ldir_relative_file_basename_lines - .Lline_wdir_missing__ldir_relative_file_basename_hdr	/* header_length */
+.Lline_wdir_missing__ldir_relative_file_basename_hdr:
+	.byte		1			/* Minimum insn length */
+	.byte		1			/* default_is_stmt */
+	.byte		1			/* line_base */
+	.byte		1			/* line_range */
+	.byte		4			/* opcode_base */
+
+	/* Standard lengths */
+	.byte		0
+	.byte		1
+	.byte		1
+
+	/* Include directories */
+	.ascii	LDIR "\0"
+	.byte		0
+
+	/* File names */
+	.ascii	FILE "\0"
+	.uleb128	1
+	.uleb128	0
+	.uleb128	0
+
+	.byte		0
+
+.Lline_wdir_missing__ldir_relative_file_basename_lines:
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	998	/* ... to 999 */
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		wdir_missing__ldir_relative_file_basename_start
+	.byte		1	/* DW_LNS_copy */
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	1	/* ... to 1000 */
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		wdir_missing__ldir_relative_file_basename_end
+	.byte		1	/* DW_LNS_copy */
+	.byte		0	/* DW_LNE_end_of_sequence */
+	.uleb128	1
+	.byte		1
+.Lline_wdir_missing__ldir_relative_file_basename_end:
+
+
+.Lline_wdir_missing__ldir_relative_file_relative_begin:
+	.4byte		.Lline_wdir_missing__ldir_relative_file_relative_end - .Lline_wdir_missing__ldir_relative_file_relative_start	/* Initial length */
+.Lline_wdir_missing__ldir_relative_file_relative_start:
+	.2byte		2			/* Version */
+	.4byte		.Lline_wdir_missing__ldir_relative_file_relative_lines - .Lline_wdir_missing__ldir_relative_file_relative_hdr	/* header_length */
+.Lline_wdir_missing__ldir_relative_file_relative_hdr:
+	.byte		1			/* Minimum insn length */
+	.byte		1			/* default_is_stmt */
+	.byte		1			/* line_base */
+	.byte		1			/* line_range */
+	.byte		4			/* opcode_base */
+
+	/* Standard lengths */
+	.byte		0
+	.byte		1
+	.byte		1
+
+	/* Include directories */
+	.ascii	LDIR "\0"
+	.byte		0
+
+	/* File names */
+	.ascii	FDIR "/" FILE "\0"
+	.uleb128	1
+	.uleb128	0
+	.uleb128	0
+
+	.byte		0
+
+.Lline_wdir_missing__ldir_relative_file_relative_lines:
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	998	/* ... to 999 */
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		wdir_missing__ldir_relative_file_relative_start
+	.byte		1	/* DW_LNS_copy */
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	1	/* ... to 1000 */
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		wdir_missing__ldir_relative_file_relative_end
+	.byte		1	/* DW_LNS_copy */
+	.byte		0	/* DW_LNE_end_of_sequence */
+	.uleb128	1
+	.byte		1
+.Lline_wdir_missing__ldir_relative_file_relative_end:
+
+
+.Lline_wdir_missing__ldir_relative_file_absolute_begin:
+	.4byte		.Lline_wdir_missing__ldir_relative_file_absolute_end - .Lline_wdir_missing__ldir_relative_file_absolute_start	/* Initial length */
+.Lline_wdir_missing__ldir_relative_file_absolute_start:
+	.2byte		2			/* Version */
+	.4byte		.Lline_wdir_missing__ldir_relative_file_absolute_lines - .Lline_wdir_missing__ldir_relative_file_absolute_hdr	/* header_length */
+.Lline_wdir_missing__ldir_relative_file_absolute_hdr:
+	.byte		1			/* Minimum insn length */
+	.byte		1			/* default_is_stmt */
+	.byte		1			/* line_base */
+	.byte		1			/* line_range */
+	.byte		4			/* opcode_base */
+
+	/* Standard lengths */
+	.byte		0
+	.byte		1
+	.byte		1
+
+	/* Include directories */
+	.ascii	LDIR "\0"
+	.byte		0
+
+	/* File names */
+	.ascii	BDIR "/" FILE "\0"
+	.uleb128	1
+	.uleb128	0
+	.uleb128	0
+
+	.byte		0
+
+.Lline_wdir_missing__ldir_relative_file_absolute_lines:
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	998	/* ... to 999 */
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		wdir_missing__ldir_relative_file_absolute_start
+	.byte		1	/* DW_LNS_copy */
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	1	/* ... to 1000 */
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		wdir_missing__ldir_relative_file_absolute_end
+	.byte		1	/* DW_LNS_copy */
+	.byte		0	/* DW_LNE_end_of_sequence */
+	.uleb128	1
+	.byte		1
+.Lline_wdir_missing__ldir_relative_file_absolute_end:
+
+
+.Lline_wdir_missing__ldir_absolute_file_basename_begin:
+	.4byte		.Lline_wdir_missing__ldir_absolute_file_basename_end - .Lline_wdir_missing__ldir_absolute_file_basename_start	/* Initial length */
+.Lline_wdir_missing__ldir_absolute_file_basename_start:
+	.2byte		2			/* Version */
+	.4byte		.Lline_wdir_missing__ldir_absolute_file_basename_lines - .Lline_wdir_missing__ldir_absolute_file_basename_hdr	/* header_length */
+.Lline_wdir_missing__ldir_absolute_file_basename_hdr:
+	.byte		1			/* Minimum insn length */
+	.byte		1			/* default_is_stmt */
+	.byte		1			/* line_base */
+	.byte		1			/* line_range */
+	.byte		4			/* opcode_base */
+
+	/* Standard lengths */
+	.byte		0
+	.byte		1
+	.byte		1
+
+	/* Include directories */
+	.ascii	BDIR "/" LDIR "\0"
+	.byte		0
+
+	/* File names */
+	.ascii	FILE "\0"
+	.uleb128	1
+	.uleb128	0
+	.uleb128	0
+
+	.byte		0
+
+.Lline_wdir_missing__ldir_absolute_file_basename_lines:
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	998	/* ... to 999 */
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		wdir_missing__ldir_absolute_file_basename_start
+	.byte		1	/* DW_LNS_copy */
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	1	/* ... to 1000 */
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		wdir_missing__ldir_absolute_file_basename_end
+	.byte		1	/* DW_LNS_copy */
+	.byte		0	/* DW_LNE_end_of_sequence */
+	.uleb128	1
+	.byte		1
+.Lline_wdir_missing__ldir_absolute_file_basename_end:
+
+
+.Lline_wdir_missing__ldir_absolute_file_relative_begin:
+	.4byte		.Lline_wdir_missing__ldir_absolute_file_relative_end - .Lline_wdir_missing__ldir_absolute_file_relative_start	/* Initial length */
+.Lline_wdir_missing__ldir_absolute_file_relative_start:
+	.2byte		2			/* Version */
+	.4byte		.Lline_wdir_missing__ldir_absolute_file_relative_lines - .Lline_wdir_missing__ldir_absolute_file_relative_hdr	/* header_length */
+.Lline_wdir_missing__ldir_absolute_file_relative_hdr:
+	.byte		1			/* Minimum insn length */
+	.byte		1			/* default_is_stmt */
+	.byte		1			/* line_base */
+	.byte		1			/* line_range */
+	.byte		4			/* opcode_base */
+
+	/* Standard lengths */
+	.byte		0
+	.byte		1
+	.byte		1
+
+	/* Include directories */
+	.ascii	BDIR "/" LDIR "\0"
+	.byte		0
+
+	/* File names */
+	.ascii	FDIR "/" FILE "\0"
+	.uleb128	1
+	.uleb128	0
+	.uleb128	0
+
+	.byte		0
+
+.Lline_wdir_missing__ldir_absolute_file_relative_lines:
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	998	/* ... to 999 */
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		wdir_missing__ldir_absolute_file_relative_start
+	.byte		1	/* DW_LNS_copy */
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	1	/* ... to 1000 */
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		wdir_missing__ldir_absolute_file_relative_end
+	.byte		1	/* DW_LNS_copy */
+	.byte		0	/* DW_LNE_end_of_sequence */
+	.uleb128	1
+	.byte		1
+.Lline_wdir_missing__ldir_absolute_file_relative_end:
+
+
+.Lline_wdir_missing__ldir_absolute_file_absolute_same_begin:
+	.4byte		.Lline_wdir_missing__ldir_absolute_file_absolute_same_end - .Lline_wdir_missing__ldir_absolute_file_absolute_same_start	/* Initial length */
+.Lline_wdir_missing__ldir_absolute_file_absolute_same_start:
+	.2byte		2			/* Version */
+	.4byte		.Lline_wdir_missing__ldir_absolute_file_absolute_same_lines - .Lline_wdir_missing__ldir_absolute_file_absolute_same_hdr	/* header_length */
+.Lline_wdir_missing__ldir_absolute_file_absolute_same_hdr:
+	.byte		1			/* Minimum insn length */
+	.byte		1			/* default_is_stmt */
+	.byte		1			/* line_base */
+	.byte		1			/* line_range */
+	.byte		4			/* opcode_base */
+
+	/* Standard lengths */
+	.byte		0
+	.byte		1
+	.byte		1
+
+	/* Include directories */
+	.ascii	BDIR "/" LDIR "\0"
+	.byte		0
+
+	/* File names */
+	.ascii	BDIR "/" FILE "\0"
+	.uleb128	1
+	.uleb128	0
+	.uleb128	0
+
+	.byte		0
+
+.Lline_wdir_missing__ldir_absolute_file_absolute_same_lines:
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	998	/* ... to 999 */
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		wdir_missing__ldir_absolute_file_absolute_same_start
+	.byte		1	/* DW_LNS_copy */
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	1	/* ... to 1000 */
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		wdir_missing__ldir_absolute_file_absolute_same_end
+	.byte		1	/* DW_LNS_copy */
+	.byte		0	/* DW_LNE_end_of_sequence */
+	.uleb128	1
+	.byte		1
+.Lline_wdir_missing__ldir_absolute_file_absolute_same_end:
+
+
+.Lline_wdir_missing__ldir_absolute_file_absolute_different_begin:
+	.4byte		.Lline_wdir_missing__ldir_absolute_file_absolute_different_end - .Lline_wdir_missing__ldir_absolute_file_absolute_different_start	/* Initial length */
+.Lline_wdir_missing__ldir_absolute_file_absolute_different_start:
+	.2byte		2			/* Version */
+	.4byte		.Lline_wdir_missing__ldir_absolute_file_absolute_different_lines - .Lline_wdir_missing__ldir_absolute_file_absolute_different_hdr	/* header_length */
+.Lline_wdir_missing__ldir_absolute_file_absolute_different_hdr:
+	.byte		1			/* Minimum insn length */
+	.byte		1			/* default_is_stmt */
+	.byte		1			/* line_base */
+	.byte		1			/* line_range */
+	.byte		4			/* opcode_base */
+
+	/* Standard lengths */
+	.byte		0
+	.byte		1
+	.byte		1
+
+	/* Include directories */
+	.ascii	XDIR "\0"
+	.byte		0
+
+	/* File names */
+	.ascii	BDIR "/" FILE "\0"
+	.uleb128	1
+	.uleb128	0
+	.uleb128	0
+
+	.byte		0
+
+.Lline_wdir_missing__ldir_absolute_file_absolute_different_lines:
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	998	/* ... to 999 */
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		wdir_missing__ldir_absolute_file_absolute_different_start
+	.byte		1	/* DW_LNS_copy */
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	1	/* ... to 1000 */
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		wdir_missing__ldir_absolute_file_absolute_different_end
+	.byte		1	/* DW_LNS_copy */
+	.byte		0	/* DW_LNE_end_of_sequence */
+	.uleb128	1
+	.byte		1
+.Lline_wdir_missing__ldir_absolute_file_absolute_different_end:
+
+
+.Lline_wdir_relative_ldir_missing__file_basename_begin:
+	.4byte		.Lline_wdir_relative_ldir_missing__file_basename_end - .Lline_wdir_relative_ldir_missing__file_basename_start	/* Initial length */
+.Lline_wdir_relative_ldir_missing__file_basename_start:
+	.2byte		2			/* Version */
+	.4byte		.Lline_wdir_relative_ldir_missing__file_basename_lines - .Lline_wdir_relative_ldir_missing__file_basename_hdr	/* header_length */
+.Lline_wdir_relative_ldir_missing__file_basename_hdr:
+	.byte		1			/* Minimum insn length */
+	.byte		1			/* default_is_stmt */
+	.byte		1			/* line_base */
+	.byte		1			/* line_range */
+	.byte		4			/* opcode_base */
+
+	/* Standard lengths */
+	.byte		0
+	.byte		1
+	.byte		1
+
+	/* Include directories */
+	.byte		0
+
+	/* File names */
+	.ascii	FILE "\0"
+	.uleb128	0
+	.uleb128	0
+	.uleb128	0
+
+	.byte		0
+
+.Lline_wdir_relative_ldir_missing__file_basename_lines:
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	998	/* ... to 999 */
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		wdir_relative_ldir_missing__file_basename_start
+	.byte		1	/* DW_LNS_copy */
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	1	/* ... to 1000 */
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		wdir_relative_ldir_missing__file_basename_end
+	.byte		1	/* DW_LNS_copy */
+	.byte		0	/* DW_LNE_end_of_sequence */
+	.uleb128	1
+	.byte		1
+.Lline_wdir_relative_ldir_missing__file_basename_end:
+
+
+.Lline_wdir_relative_ldir_missing__file_relative_begin:
+	.4byte		.Lline_wdir_relative_ldir_missing__file_relative_end - .Lline_wdir_relative_ldir_missing__file_relative_start	/* Initial length */
+.Lline_wdir_relative_ldir_missing__file_relative_start:
+	.2byte		2			/* Version */
+	.4byte		.Lline_wdir_relative_ldir_missing__file_relative_lines - .Lline_wdir_relative_ldir_missing__file_relative_hdr	/* header_length */
+.Lline_wdir_relative_ldir_missing__file_relative_hdr:
+	.byte		1			/* Minimum insn length */
+	.byte		1			/* default_is_stmt */
+	.byte		1			/* line_base */
+	.byte		1			/* line_range */
+	.byte		4			/* opcode_base */
+
+	/* Standard lengths */
+	.byte		0
+	.byte		1
+	.byte		1
+
+	/* Include directories */
+	.byte		0
+
+	/* File names */
+	.ascii	FDIR "/" FILE "\0"
+	.uleb128	0
+	.uleb128	0
+	.uleb128	0
+
+	.byte		0
+
+.Lline_wdir_relative_ldir_missing__file_relative_lines:
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	998	/* ... to 999 */
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		wdir_relative_ldir_missing__file_relative_start
+	.byte		1	/* DW_LNS_copy */
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	1	/* ... to 1000 */
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		wdir_relative_ldir_missing__file_relative_end
+	.byte		1	/* DW_LNS_copy */
+	.byte		0	/* DW_LNE_end_of_sequence */
+	.uleb128	1
+	.byte		1
+.Lline_wdir_relative_ldir_missing__file_relative_end:
+
+
+.Lline_wdir_relative_ldir_missing__file_absolute_begin:
+	.4byte		.Lline_wdir_relative_ldir_missing__file_absolute_end - .Lline_wdir_relative_ldir_missing__file_absolute_start	/* Initial length */
+.Lline_wdir_relative_ldir_missing__file_absolute_start:
+	.2byte		2			/* Version */
+	.4byte		.Lline_wdir_relative_ldir_missing__file_absolute_lines - .Lline_wdir_relative_ldir_missing__file_absolute_hdr	/* header_length */
+.Lline_wdir_relative_ldir_missing__file_absolute_hdr:
+	.byte		1			/* Minimum insn length */
+	.byte		1			/* default_is_stmt */
+	.byte		1			/* line_base */
+	.byte		1			/* line_range */
+	.byte		4			/* opcode_base */
+
+	/* Standard lengths */
+	.byte		0
+	.byte		1
+	.byte		1
+
+	/* Include directories */
+	.byte		0
+
+	/* File names */
+	.ascii	BDIR "/" FILE "\0"
+	.uleb128	0
+	.uleb128	0
+	.uleb128	0
+
+	.byte		0
+
+.Lline_wdir_relative_ldir_missing__file_absolute_lines:
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	998	/* ... to 999 */
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		wdir_relative_ldir_missing__file_absolute_start
+	.byte		1	/* DW_LNS_copy */
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	1	/* ... to 1000 */
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		wdir_relative_ldir_missing__file_absolute_end
+	.byte		1	/* DW_LNS_copy */
+	.byte		0	/* DW_LNE_end_of_sequence */
+	.uleb128	1
+	.byte		1
+.Lline_wdir_relative_ldir_missing__file_absolute_end:
+
+
+.Lline_wdir_relative_ldir_relative_file_basename_begin:
+	.4byte		.Lline_wdir_relative_ldir_relative_file_basename_end - .Lline_wdir_relative_ldir_relative_file_basename_start	/* Initial length */
+.Lline_wdir_relative_ldir_relative_file_basename_start:
+	.2byte		2			/* Version */
+	.4byte		.Lline_wdir_relative_ldir_relative_file_basename_lines - .Lline_wdir_relative_ldir_relative_file_basename_hdr	/* header_length */
+.Lline_wdir_relative_ldir_relative_file_basename_hdr:
+	.byte		1			/* Minimum insn length */
+	.byte		1			/* default_is_stmt */
+	.byte		1			/* line_base */
+	.byte		1			/* line_range */
+	.byte		4			/* opcode_base */
+
+	/* Standard lengths */
+	.byte		0
+	.byte		1
+	.byte		1
+
+	/* Include directories */
+	.ascii	LDIR "\0"
+	.byte		0
+
+	/* File names */
+	.ascii	FILE "\0"
+	.uleb128	1
+	.uleb128	0
+	.uleb128	0
+
+	.byte		0
+
+.Lline_wdir_relative_ldir_relative_file_basename_lines:
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	998	/* ... to 999 */
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		wdir_relative_ldir_relative_file_basename_start
+	.byte		1	/* DW_LNS_copy */
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	1	/* ... to 1000 */
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		wdir_relative_ldir_relative_file_basename_end
+	.byte		1	/* DW_LNS_copy */
+	.byte		0	/* DW_LNE_end_of_sequence */
+	.uleb128	1
+	.byte		1
+.Lline_wdir_relative_ldir_relative_file_basename_end:
+
+
+.Lline_wdir_relative_ldir_relative_file_relative_begin:
+	.4byte		.Lline_wdir_relative_ldir_relative_file_relative_end - .Lline_wdir_relative_ldir_relative_file_relative_start	/* Initial length */
+.Lline_wdir_relative_ldir_relative_file_relative_start:
+	.2byte		2			/* Version */
+	.4byte		.Lline_wdir_relative_ldir_relative_file_relative_lines - .Lline_wdir_relative_ldir_relative_file_relative_hdr	/* header_length */
+.Lline_wdir_relative_ldir_relative_file_relative_hdr:
+	.byte		1			/* Minimum insn length */
+	.byte		1			/* default_is_stmt */
+	.byte		1			/* line_base */
+	.byte		1			/* line_range */
+	.byte		4			/* opcode_base */
+
+	/* Standard lengths */
+	.byte		0
+	.byte		1
+	.byte		1
+
+	/* Include directories */
+	.ascii	LDIR "\0"
+	.byte		0
+
+	/* File names */
+	.ascii	FDIR "/" FILE "\0"
+	.uleb128	1
+	.uleb128	0
+	.uleb128	0
+
+	.byte		0
+
+.Lline_wdir_relative_ldir_relative_file_relative_lines:
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	998	/* ... to 999 */
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		wdir_relative_ldir_relative_file_relative_start
+	.byte		1	/* DW_LNS_copy */
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	1	/* ... to 1000 */
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		wdir_relative_ldir_relative_file_relative_end
+	.byte		1	/* DW_LNS_copy */
+	.byte		0	/* DW_LNE_end_of_sequence */
+	.uleb128	1
+	.byte		1
+.Lline_wdir_relative_ldir_relative_file_relative_end:
+
+
+.Lline_wdir_relative_ldir_relative_file_absolute_begin:
+	.4byte		.Lline_wdir_relative_ldir_relative_file_absolute_end - .Lline_wdir_relative_ldir_relative_file_absolute_start	/* Initial length */
+.Lline_wdir_relative_ldir_relative_file_absolute_start:
+	.2byte		2			/* Version */
+	.4byte		.Lline_wdir_relative_ldir_relative_file_absolute_lines - .Lline_wdir_relative_ldir_relative_file_absolute_hdr	/* header_length */
+.Lline_wdir_relative_ldir_relative_file_absolute_hdr:
+	.byte		1			/* Minimum insn length */
+	.byte		1			/* default_is_stmt */
+	.byte		1			/* line_base */
+	.byte		1			/* line_range */
+	.byte		4			/* opcode_base */
+
+	/* Standard lengths */
+	.byte		0
+	.byte		1
+	.byte		1
+
+	/* Include directories */
+	.ascii	LDIR "\0"
+	.byte		0
+
+	/* File names */
+	.ascii	BDIR "/" FILE "\0"
+	.uleb128	1
+	.uleb128	0
+	.uleb128	0
+
+	.byte		0
+
+.Lline_wdir_relative_ldir_relative_file_absolute_lines:
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	998	/* ... to 999 */
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		wdir_relative_ldir_relative_file_absolute_start
+	.byte		1	/* DW_LNS_copy */
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	1	/* ... to 1000 */
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		wdir_relative_ldir_relative_file_absolute_end
+	.byte		1	/* DW_LNS_copy */
+	.byte		0	/* DW_LNE_end_of_sequence */
+	.uleb128	1
+	.byte		1
+.Lline_wdir_relative_ldir_relative_file_absolute_end:
+
+
+.Lline_wdir_relative_ldir_absolute_file_basename_begin:
+	.4byte		.Lline_wdir_relative_ldir_absolute_file_basename_end - .Lline_wdir_relative_ldir_absolute_file_basename_start	/* Initial length */
+.Lline_wdir_relative_ldir_absolute_file_basename_start:
+	.2byte		2			/* Version */
+	.4byte		.Lline_wdir_relative_ldir_absolute_file_basename_lines - .Lline_wdir_relative_ldir_absolute_file_basename_hdr	/* header_length */
+.Lline_wdir_relative_ldir_absolute_file_basename_hdr:
+	.byte		1			/* Minimum insn length */
+	.byte		1			/* default_is_stmt */
+	.byte		1			/* line_base */
+	.byte		1			/* line_range */
+	.byte		4			/* opcode_base */
+
+	/* Standard lengths */
+	.byte		0
+	.byte		1
+	.byte		1
+
+	/* Include directories */
+	.ascii	BDIR "/" LDIR "\0"
+	.byte		0
+
+	/* File names */
+	.ascii	FILE "\0"
+	.uleb128	1
+	.uleb128	0
+	.uleb128	0
+
+	.byte		0
+
+.Lline_wdir_relative_ldir_absolute_file_basename_lines:
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	998	/* ... to 999 */
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		wdir_relative_ldir_absolute_file_basename_start
+	.byte		1	/* DW_LNS_copy */
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	1	/* ... to 1000 */
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		wdir_relative_ldir_absolute_file_basename_end
+	.byte		1	/* DW_LNS_copy */
+	.byte		0	/* DW_LNE_end_of_sequence */
+	.uleb128	1
+	.byte		1
+.Lline_wdir_relative_ldir_absolute_file_basename_end:
+
+
+.Lline_wdir_relative_ldir_absolute_file_relative_begin:
+	.4byte		.Lline_wdir_relative_ldir_absolute_file_relative_end - .Lline_wdir_relative_ldir_absolute_file_relative_start	/* Initial length */
+.Lline_wdir_relative_ldir_absolute_file_relative_start:
+	.2byte		2			/* Version */
+	.4byte		.Lline_wdir_relative_ldir_absolute_file_relative_lines - .Lline_wdir_relative_ldir_absolute_file_relative_hdr	/* header_length */
+.Lline_wdir_relative_ldir_absolute_file_relative_hdr:
+	.byte		1			/* Minimum insn length */
+	.byte		1			/* default_is_stmt */
+	.byte		1			/* line_base */
+	.byte		1			/* line_range */
+	.byte		4			/* opcode_base */
+
+	/* Standard lengths */
+	.byte		0
+	.byte		1
+	.byte		1
+
+	/* Include directories */
+	.ascii	BDIR "/" LDIR "\0"
+	.byte		0
+
+	/* File names */
+	.ascii	FDIR "/" FILE "\0"
+	.uleb128	1
+	.uleb128	0
+	.uleb128	0
+
+	.byte		0
+
+.Lline_wdir_relative_ldir_absolute_file_relative_lines:
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	998	/* ... to 999 */
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		wdir_relative_ldir_absolute_file_relative_start
+	.byte		1	/* DW_LNS_copy */
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	1	/* ... to 1000 */
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		wdir_relative_ldir_absolute_file_relative_end
+	.byte		1	/* DW_LNS_copy */
+	.byte		0	/* DW_LNE_end_of_sequence */
+	.uleb128	1
+	.byte		1
+.Lline_wdir_relative_ldir_absolute_file_relative_end:
+
+
+.Lline_wdir_relative_ldir_absolute_file_absolute_same_begin:
+	.4byte		.Lline_wdir_relative_ldir_absolute_file_absolute_same_end - .Lline_wdir_relative_ldir_absolute_file_absolute_same_start	/* Initial length */
+.Lline_wdir_relative_ldir_absolute_file_absolute_same_start:
+	.2byte		2			/* Version */
+	.4byte		.Lline_wdir_relative_ldir_absolute_file_absolute_same_lines - .Lline_wdir_relative_ldir_absolute_file_absolute_same_hdr	/* header_length */
+.Lline_wdir_relative_ldir_absolute_file_absolute_same_hdr:
+	.byte		1			/* Minimum insn length */
+	.byte		1			/* default_is_stmt */
+	.byte		1			/* line_base */
+	.byte		1			/* line_range */
+	.byte		4			/* opcode_base */
+
+	/* Standard lengths */
+	.byte		0
+	.byte		1
+	.byte		1
+
+	/* Include directories */
+	.ascii	BDIR "/" LDIR "\0"
+	.byte		0
+
+	/* File names */
+	.ascii	BDIR "/" FILE "\0"
+	.uleb128	1
+	.uleb128	0
+	.uleb128	0
+
+	.byte		0
+
+.Lline_wdir_relative_ldir_absolute_file_absolute_same_lines:
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	998	/* ... to 999 */
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		wdir_relative_ldir_absolute_file_absolute_same_start
+	.byte		1	/* DW_LNS_copy */
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	1	/* ... to 1000 */
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		wdir_relative_ldir_absolute_file_absolute_same_end
+	.byte		1	/* DW_LNS_copy */
+	.byte		0	/* DW_LNE_end_of_sequence */
+	.uleb128	1
+	.byte		1
+.Lline_wdir_relative_ldir_absolute_file_absolute_same_end:
+
+
+.Lline_wdir_relative_ldir_absolute_file_absolute_different_begin:
+	.4byte		.Lline_wdir_relative_ldir_absolute_file_absolute_different_end - .Lline_wdir_relative_ldir_absolute_file_absolute_different_start	/* Initial length */
+.Lline_wdir_relative_ldir_absolute_file_absolute_different_start:
+	.2byte		2			/* Version */
+	.4byte		.Lline_wdir_relative_ldir_absolute_file_absolute_different_lines - .Lline_wdir_relative_ldir_absolute_file_absolute_different_hdr	/* header_length */
+.Lline_wdir_relative_ldir_absolute_file_absolute_different_hdr:
+	.byte		1			/* Minimum insn length */
+	.byte		1			/* default_is_stmt */
+	.byte		1			/* line_base */
+	.byte		1			/* line_range */
+	.byte		4			/* opcode_base */
+
+	/* Standard lengths */
+	.byte		0
+	.byte		1
+	.byte		1
+
+	/* Include directories */
+	.ascii	XDIR "\0"
+	.byte		0
+
+	/* File names */
+	.ascii	BDIR "/" FILE "\0"
+	.uleb128	1
+	.uleb128	0
+	.uleb128	0
+
+	.byte		0
+
+.Lline_wdir_relative_ldir_absolute_file_absolute_different_lines:
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	998	/* ... to 999 */
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		wdir_relative_ldir_absolute_file_absolute_different_start
+	.byte		1	/* DW_LNS_copy */
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	1	/* ... to 1000 */
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		wdir_relative_ldir_absolute_file_absolute_different_end
+	.byte		1	/* DW_LNS_copy */
+	.byte		0	/* DW_LNE_end_of_sequence */
+	.uleb128	1
+	.byte		1
+.Lline_wdir_relative_ldir_absolute_file_absolute_different_end:
+
+
+.Lline_wdir_absolute_ldir_missing__file_basename_begin:
+	.4byte		.Lline_wdir_absolute_ldir_missing__file_basename_end - .Lline_wdir_absolute_ldir_missing__file_basename_start	/* Initial length */
+.Lline_wdir_absolute_ldir_missing__file_basename_start:
+	.2byte		2			/* Version */
+	.4byte		.Lline_wdir_absolute_ldir_missing__file_basename_lines - .Lline_wdir_absolute_ldir_missing__file_basename_hdr	/* header_length */
+.Lline_wdir_absolute_ldir_missing__file_basename_hdr:
+	.byte		1			/* Minimum insn length */
+	.byte		1			/* default_is_stmt */
+	.byte		1			/* line_base */
+	.byte		1			/* line_range */
+	.byte		4			/* opcode_base */
+
+	/* Standard lengths */
+	.byte		0
+	.byte		1
+	.byte		1
+
+	/* Include directories */
+	.byte		0
+
+	/* File names */
+	.ascii	FILE "\0"
+	.uleb128	0
+	.uleb128	0
+	.uleb128	0
+
+	.byte		0
+
+.Lline_wdir_absolute_ldir_missing__file_basename_lines:
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	998	/* ... to 999 */
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		wdir_absolute_ldir_missing__file_basename_start
+	.byte		1	/* DW_LNS_copy */
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	1	/* ... to 1000 */
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		wdir_absolute_ldir_missing__file_basename_end
+	.byte		1	/* DW_LNS_copy */
+	.byte		0	/* DW_LNE_end_of_sequence */
+	.uleb128	1
+	.byte		1
+.Lline_wdir_absolute_ldir_missing__file_basename_end:
+
+
+.Lline_wdir_absolute_ldir_missing__file_relative_begin:
+	.4byte		.Lline_wdir_absolute_ldir_missing__file_relative_end - .Lline_wdir_absolute_ldir_missing__file_relative_start	/* Initial length */
+.Lline_wdir_absolute_ldir_missing__file_relative_start:
+	.2byte		2			/* Version */
+	.4byte		.Lline_wdir_absolute_ldir_missing__file_relative_lines - .Lline_wdir_absolute_ldir_missing__file_relative_hdr	/* header_length */
+.Lline_wdir_absolute_ldir_missing__file_relative_hdr:
+	.byte		1			/* Minimum insn length */
+	.byte		1			/* default_is_stmt */
+	.byte		1			/* line_base */
+	.byte		1			/* line_range */
+	.byte		4			/* opcode_base */
+
+	/* Standard lengths */
+	.byte		0
+	.byte		1
+	.byte		1
+
+	/* Include directories */
+	.byte		0
+
+	/* File names */
+	.ascii	FDIR "/" FILE "\0"
+	.uleb128	0
+	.uleb128	0
+	.uleb128	0
+
+	.byte		0
+
+.Lline_wdir_absolute_ldir_missing__file_relative_lines:
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	998	/* ... to 999 */
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		wdir_absolute_ldir_missing__file_relative_start
+	.byte		1	/* DW_LNS_copy */
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	1	/* ... to 1000 */
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		wdir_absolute_ldir_missing__file_relative_end
+	.byte		1	/* DW_LNS_copy */
+	.byte		0	/* DW_LNE_end_of_sequence */
+	.uleb128	1
+	.byte		1
+.Lline_wdir_absolute_ldir_missing__file_relative_end:
+
+
+.Lline_wdir_absolute_ldir_missing__file_absolute_same_begin:
+	.4byte		.Lline_wdir_absolute_ldir_missing__file_absolute_same_end - .Lline_wdir_absolute_ldir_missing__file_absolute_same_start	/* Initial length */
+.Lline_wdir_absolute_ldir_missing__file_absolute_same_start:
+	.2byte		2			/* Version */
+	.4byte		.Lline_wdir_absolute_ldir_missing__file_absolute_same_lines - .Lline_wdir_absolute_ldir_missing__file_absolute_same_hdr	/* header_length */
+.Lline_wdir_absolute_ldir_missing__file_absolute_same_hdr:
+	.byte		1			/* Minimum insn length */
+	.byte		1			/* default_is_stmt */
+	.byte		1			/* line_base */
+	.byte		1			/* line_range */
+	.byte		4			/* opcode_base */
+
+	/* Standard lengths */
+	.byte		0
+	.byte		1
+	.byte		1
+
+	/* Include directories */
+	.byte		0
+
+	/* File names */
+	.ascii	BDIR "/" FILE "\0"
+	.uleb128	0
+	.uleb128	0
+	.uleb128	0
+
+	.byte		0
+
+.Lline_wdir_absolute_ldir_missing__file_absolute_same_lines:
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	998	/* ... to 999 */
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		wdir_absolute_ldir_missing__file_absolute_same_start
+	.byte		1	/* DW_LNS_copy */
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	1	/* ... to 1000 */
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		wdir_absolute_ldir_missing__file_absolute_same_end
+	.byte		1	/* DW_LNS_copy */
+	.byte		0	/* DW_LNE_end_of_sequence */
+	.uleb128	1
+	.byte		1
+.Lline_wdir_absolute_ldir_missing__file_absolute_same_end:
+
+
+.Lline_wdir_absolute_ldir_missing__file_absolute_different_begin:
+	.4byte		.Lline_wdir_absolute_ldir_missing__file_absolute_different_end - .Lline_wdir_absolute_ldir_missing__file_absolute_different_start	/* Initial length */
+.Lline_wdir_absolute_ldir_missing__file_absolute_different_start:
+	.2byte		2			/* Version */
+	.4byte		.Lline_wdir_absolute_ldir_missing__file_absolute_different_lines - .Lline_wdir_absolute_ldir_missing__file_absolute_different_hdr	/* header_length */
+.Lline_wdir_absolute_ldir_missing__file_absolute_different_hdr:
+	.byte		1			/* Minimum insn length */
+	.byte		1			/* default_is_stmt */
+	.byte		1			/* line_base */
+	.byte		1			/* line_range */
+	.byte		4			/* opcode_base */
+
+	/* Standard lengths */
+	.byte		0
+	.byte		1
+	.byte		1
+
+	/* Include directories */
+	.byte		0
+
+	/* File names */
+	.ascii	BDIR "/" FILE "\0"
+	.uleb128	0
+	.uleb128	0
+	.uleb128	0
+
+	.byte		0
+
+.Lline_wdir_absolute_ldir_missing__file_absolute_different_lines:
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	998	/* ... to 999 */
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		wdir_absolute_ldir_missing__file_absolute_different_start
+	.byte		1	/* DW_LNS_copy */
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	1	/* ... to 1000 */
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		wdir_absolute_ldir_missing__file_absolute_different_end
+	.byte		1	/* DW_LNS_copy */
+	.byte		0	/* DW_LNE_end_of_sequence */
+	.uleb128	1
+	.byte		1
+.Lline_wdir_absolute_ldir_missing__file_absolute_different_end:
+
+
+.Lline_wdir_absolute_ldir_relative_file_basename_begin:
+	.4byte		.Lline_wdir_absolute_ldir_relative_file_basename_end - .Lline_wdir_absolute_ldir_relative_file_basename_start	/* Initial length */
+.Lline_wdir_absolute_ldir_relative_file_basename_start:
+	.2byte		2			/* Version */
+	.4byte		.Lline_wdir_absolute_ldir_relative_file_basename_lines - .Lline_wdir_absolute_ldir_relative_file_basename_hdr	/* header_length */
+.Lline_wdir_absolute_ldir_relative_file_basename_hdr:
+	.byte		1			/* Minimum insn length */
+	.byte		1			/* default_is_stmt */
+	.byte		1			/* line_base */
+	.byte		1			/* line_range */
+	.byte		4			/* opcode_base */
+
+	/* Standard lengths */
+	.byte		0
+	.byte		1
+	.byte		1
+
+	/* Include directories */
+	.ascii	LDIR "\0"
+	.byte		0
+
+	/* File names */
+	.ascii	FILE "\0"
+	.uleb128	1
+	.uleb128	0
+	.uleb128	0
+
+	.byte		0
+
+.Lline_wdir_absolute_ldir_relative_file_basename_lines:
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	998	/* ... to 999 */
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		wdir_absolute_ldir_relative_file_basename_start
+	.byte		1	/* DW_LNS_copy */
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	1	/* ... to 1000 */
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		wdir_absolute_ldir_relative_file_basename_end
+	.byte		1	/* DW_LNS_copy */
+	.byte		0	/* DW_LNE_end_of_sequence */
+	.uleb128	1
+	.byte		1
+.Lline_wdir_absolute_ldir_relative_file_basename_end:
+
+
+.Lline_wdir_absolute_ldir_relative_file_relative_begin:
+	.4byte		.Lline_wdir_absolute_ldir_relative_file_relative_end - .Lline_wdir_absolute_ldir_relative_file_relative_start	/* Initial length */
+.Lline_wdir_absolute_ldir_relative_file_relative_start:
+	.2byte		2			/* Version */
+	.4byte		.Lline_wdir_absolute_ldir_relative_file_relative_lines - .Lline_wdir_absolute_ldir_relative_file_relative_hdr	/* header_length */
+.Lline_wdir_absolute_ldir_relative_file_relative_hdr:
+	.byte		1			/* Minimum insn length */
+	.byte		1			/* default_is_stmt */
+	.byte		1			/* line_base */
+	.byte		1			/* line_range */
+	.byte		4			/* opcode_base */
+
+	/* Standard lengths */
+	.byte		0
+	.byte		1
+	.byte		1
+
+	/* Include directories */
+	.ascii	LDIR "\0"
+	.byte		0
+
+	/* File names */
+	.ascii	FDIR "/" FILE "\0"
+	.uleb128	1
+	.uleb128	0
+	.uleb128	0
+
+	.byte		0
+
+.Lline_wdir_absolute_ldir_relative_file_relative_lines:
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	998	/* ... to 999 */
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		wdir_absolute_ldir_relative_file_relative_start
+	.byte		1	/* DW_LNS_copy */
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	1	/* ... to 1000 */
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		wdir_absolute_ldir_relative_file_relative_end
+	.byte		1	/* DW_LNS_copy */
+	.byte		0	/* DW_LNE_end_of_sequence */
+	.uleb128	1
+	.byte		1
+.Lline_wdir_absolute_ldir_relative_file_relative_end:
+
+
+.Lline_wdir_absolute_ldir_relative_file_absolute_same_begin:
+	.4byte		.Lline_wdir_absolute_ldir_relative_file_absolute_same_end - .Lline_wdir_absolute_ldir_relative_file_absolute_same_start	/* Initial length */
+.Lline_wdir_absolute_ldir_relative_file_absolute_same_start:
+	.2byte		2			/* Version */
+	.4byte		.Lline_wdir_absolute_ldir_relative_file_absolute_same_lines - .Lline_wdir_absolute_ldir_relative_file_absolute_same_hdr	/* header_length */
+.Lline_wdir_absolute_ldir_relative_file_absolute_same_hdr:
+	.byte		1			/* Minimum insn length */
+	.byte		1			/* default_is_stmt */
+	.byte		1			/* line_base */
+	.byte		1			/* line_range */
+	.byte		4			/* opcode_base */
+
+	/* Standard lengths */
+	.byte		0
+	.byte		1
+	.byte		1
+
+	/* Include directories */
+	.ascii	LDIR "\0"
+	.byte		0
+
+	/* File names */
+	.ascii	BDIR "/" FILE "\0"
+	.uleb128	1
+	.uleb128	0
+	.uleb128	0
+
+	.byte		0
+
+.Lline_wdir_absolute_ldir_relative_file_absolute_same_lines:
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	998	/* ... to 999 */
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		wdir_absolute_ldir_relative_file_absolute_same_start
+	.byte		1	/* DW_LNS_copy */
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	1	/* ... to 1000 */
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		wdir_absolute_ldir_relative_file_absolute_same_end
+	.byte		1	/* DW_LNS_copy */
+	.byte		0	/* DW_LNE_end_of_sequence */
+	.uleb128	1
+	.byte		1
+.Lline_wdir_absolute_ldir_relative_file_absolute_same_end:
+
+
+.Lline_wdir_absolute_ldir_relative_file_absolute_different_begin:
+	.4byte		.Lline_wdir_absolute_ldir_relative_file_absolute_different_end - .Lline_wdir_absolute_ldir_relative_file_absolute_different_start	/* Initial length */
+.Lline_wdir_absolute_ldir_relative_file_absolute_different_start:
+	.2byte		2			/* Version */
+	.4byte		.Lline_wdir_absolute_ldir_relative_file_absolute_different_lines - .Lline_wdir_absolute_ldir_relative_file_absolute_different_hdr	/* header_length */
+.Lline_wdir_absolute_ldir_relative_file_absolute_different_hdr:
+	.byte		1			/* Minimum insn length */
+	.byte		1			/* default_is_stmt */
+	.byte		1			/* line_base */
+	.byte		1			/* line_range */
+	.byte		4			/* opcode_base */
+
+	/* Standard lengths */
+	.byte		0
+	.byte		1
+	.byte		1
+
+	/* Include directories */
+	.ascii	LDIR "\0"
+	.byte		0
+
+	/* File names */
+	.ascii	BDIR "/" FILE "\0"
+	.uleb128	1
+	.uleb128	0
+	.uleb128	0
+
+	.byte		0
+
+.Lline_wdir_absolute_ldir_relative_file_absolute_different_lines:
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	998	/* ... to 999 */
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		wdir_absolute_ldir_relative_file_absolute_different_start
+	.byte		1	/* DW_LNS_copy */
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	1	/* ... to 1000 */
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		wdir_absolute_ldir_relative_file_absolute_different_end
+	.byte		1	/* DW_LNS_copy */
+	.byte		0	/* DW_LNE_end_of_sequence */
+	.uleb128	1
+	.byte		1
+.Lline_wdir_absolute_ldir_relative_file_absolute_different_end:
+
+
+.Lline_wdir_absolute_ldir_absolute_file_basename_same_begin:
+	.4byte		.Lline_wdir_absolute_ldir_absolute_file_basename_same_end - .Lline_wdir_absolute_ldir_absolute_file_basename_same_start	/* Initial length */
+.Lline_wdir_absolute_ldir_absolute_file_basename_same_start:
+	.2byte		2			/* Version */
+	.4byte		.Lline_wdir_absolute_ldir_absolute_file_basename_same_lines - .Lline_wdir_absolute_ldir_absolute_file_basename_same_hdr	/* header_length */
+.Lline_wdir_absolute_ldir_absolute_file_basename_same_hdr:
+	.byte		1			/* Minimum insn length */
+	.byte		1			/* default_is_stmt */
+	.byte		1			/* line_base */
+	.byte		1			/* line_range */
+	.byte		4			/* opcode_base */
+
+	/* Standard lengths */
+	.byte		0
+	.byte		1
+	.byte		1
+
+	/* Include directories */
+	.ascii	BDIR "/" LDIR "\0"
+	.byte		0
+
+	/* File names */
+	.ascii	FILE "\0"
+	.uleb128	1
+	.uleb128	0
+	.uleb128	0
+
+	.byte		0
+
+.Lline_wdir_absolute_ldir_absolute_file_basename_same_lines:
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	998	/* ... to 999 */
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		wdir_absolute_ldir_absolute_file_basename_same_start
+	.byte		1	/* DW_LNS_copy */
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	1	/* ... to 1000 */
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		wdir_absolute_ldir_absolute_file_basename_same_end
+	.byte		1	/* DW_LNS_copy */
+	.byte		0	/* DW_LNE_end_of_sequence */
+	.uleb128	1
+	.byte		1
+.Lline_wdir_absolute_ldir_absolute_file_basename_same_end:
+
+
+.Lline_wdir_absolute_ldir_absolute_file_basename_different_begin:
+	.4byte		.Lline_wdir_absolute_ldir_absolute_file_basename_different_end - .Lline_wdir_absolute_ldir_absolute_file_basename_different_start	/* Initial length */
+.Lline_wdir_absolute_ldir_absolute_file_basename_different_start:
+	.2byte		2			/* Version */
+	.4byte		.Lline_wdir_absolute_ldir_absolute_file_basename_different_lines - .Lline_wdir_absolute_ldir_absolute_file_basename_different_hdr	/* header_length */
+.Lline_wdir_absolute_ldir_absolute_file_basename_different_hdr:
+	.byte		1			/* Minimum insn length */
+	.byte		1			/* default_is_stmt */
+	.byte		1			/* line_base */
+	.byte		1			/* line_range */
+	.byte		4			/* opcode_base */
+
+	/* Standard lengths */
+	.byte		0
+	.byte		1
+	.byte		1
+
+	/* Include directories */
+	.ascii	BDIR "/" LDIR "\0"
+	.byte		0
+
+	/* File names */
+	.ascii	FILE "\0"
+	.uleb128	1
+	.uleb128	0
+	.uleb128	0
+
+	.byte		0
+
+.Lline_wdir_absolute_ldir_absolute_file_basename_different_lines:
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	998	/* ... to 999 */
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		wdir_absolute_ldir_absolute_file_basename_different_start
+	.byte		1	/* DW_LNS_copy */
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	1	/* ... to 1000 */
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		wdir_absolute_ldir_absolute_file_basename_different_end
+	.byte		1	/* DW_LNS_copy */
+	.byte		0	/* DW_LNE_end_of_sequence */
+	.uleb128	1
+	.byte		1
+.Lline_wdir_absolute_ldir_absolute_file_basename_different_end:
+
+
+.Lline_wdir_absolute_ldir_absolute_file_relative_same_begin:
+	.4byte		.Lline_wdir_absolute_ldir_absolute_file_relative_same_end - .Lline_wdir_absolute_ldir_absolute_file_relative_same_start	/* Initial length */
+.Lline_wdir_absolute_ldir_absolute_file_relative_same_start:
+	.2byte		2			/* Version */
+	.4byte		.Lline_wdir_absolute_ldir_absolute_file_relative_same_lines - .Lline_wdir_absolute_ldir_absolute_file_relative_same_hdr	/* header_length */
+.Lline_wdir_absolute_ldir_absolute_file_relative_same_hdr:
+	.byte		1			/* Minimum insn length */
+	.byte		1			/* default_is_stmt */
+	.byte		1			/* line_base */
+	.byte		1			/* line_range */
+	.byte		4			/* opcode_base */
+
+	/* Standard lengths */
+	.byte		0
+	.byte		1
+	.byte		1
+
+	/* Include directories */
+	.ascii	BDIR "/" LDIR "\0"
+	.byte		0
+
+	/* File names */
+	.ascii	FDIR "/" FILE "\0"
+	.uleb128	1
+	.uleb128	0
+	.uleb128	0
+
+	.byte		0
+
+.Lline_wdir_absolute_ldir_absolute_file_relative_same_lines:
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	998	/* ... to 999 */
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		wdir_absolute_ldir_absolute_file_relative_same_start
+	.byte		1	/* DW_LNS_copy */
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	1	/* ... to 1000 */
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		wdir_absolute_ldir_absolute_file_relative_same_end
+	.byte		1	/* DW_LNS_copy */
+	.byte		0	/* DW_LNE_end_of_sequence */
+	.uleb128	1
+	.byte		1
+.Lline_wdir_absolute_ldir_absolute_file_relative_same_end:
+
+
+.Lline_wdir_absolute_ldir_absolute_file_relative_different_begin:
+	.4byte		.Lline_wdir_absolute_ldir_absolute_file_relative_different_end - .Lline_wdir_absolute_ldir_absolute_file_relative_different_start	/* Initial length */
+.Lline_wdir_absolute_ldir_absolute_file_relative_different_start:
+	.2byte		2			/* Version */
+	.4byte		.Lline_wdir_absolute_ldir_absolute_file_relative_different_lines - .Lline_wdir_absolute_ldir_absolute_file_relative_different_hdr	/* header_length */
+.Lline_wdir_absolute_ldir_absolute_file_relative_different_hdr:
+	.byte		1			/* Minimum insn length */
+	.byte		1			/* default_is_stmt */
+	.byte		1			/* line_base */
+	.byte		1			/* line_range */
+	.byte		4			/* opcode_base */
+
+	/* Standard lengths */
+	.byte		0
+	.byte		1
+	.byte		1
+
+	/* Include directories */
+	.ascii	BDIR "/" LDIR "\0"
+	.byte		0
+
+	/* File names */
+	.ascii	FDIR "/" FILE "\0"
+	.uleb128	1
+	.uleb128	0
+	.uleb128	0
+
+	.byte		0
+
+.Lline_wdir_absolute_ldir_absolute_file_relative_different_lines:
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	998	/* ... to 999 */
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		wdir_absolute_ldir_absolute_file_relative_different_start
+	.byte		1	/* DW_LNS_copy */
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	1	/* ... to 1000 */
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		wdir_absolute_ldir_absolute_file_relative_different_end
+	.byte		1	/* DW_LNS_copy */
+	.byte		0	/* DW_LNE_end_of_sequence */
+	.uleb128	1
+	.byte		1
+.Lline_wdir_absolute_ldir_absolute_file_relative_different_end:
+
+
+.Lline_wdir_absolute_ldir_absolute_file_absolute_same_begin:
+	.4byte		.Lline_wdir_absolute_ldir_absolute_file_absolute_same_end - .Lline_wdir_absolute_ldir_absolute_file_absolute_same_start	/* Initial length */
+.Lline_wdir_absolute_ldir_absolute_file_absolute_same_start:
+	.2byte		2			/* Version */
+	.4byte		.Lline_wdir_absolute_ldir_absolute_file_absolute_same_lines - .Lline_wdir_absolute_ldir_absolute_file_absolute_same_hdr	/* header_length */
+.Lline_wdir_absolute_ldir_absolute_file_absolute_same_hdr:
+	.byte		1			/* Minimum insn length */
+	.byte		1			/* default_is_stmt */
+	.byte		1			/* line_base */
+	.byte		1			/* line_range */
+	.byte		4			/* opcode_base */
+
+	/* Standard lengths */
+	.byte		0
+	.byte		1
+	.byte		1
+
+	/* Include directories */
+	.ascii	BDIR "/" LDIR "\0"
+	.byte		0
+
+	/* File names */
+	.ascii	BDIR "/" FILE "\0"
+	.uleb128	1
+	.uleb128	0
+	.uleb128	0
+
+	.byte		0
+
+.Lline_wdir_absolute_ldir_absolute_file_absolute_same_lines:
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	998	/* ... to 999 */
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		wdir_absolute_ldir_absolute_file_absolute_same_start
+	.byte		1	/* DW_LNS_copy */
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	1	/* ... to 1000 */
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		wdir_absolute_ldir_absolute_file_absolute_same_end
+	.byte		1	/* DW_LNS_copy */
+	.byte		0	/* DW_LNE_end_of_sequence */
+	.uleb128	1
+	.byte		1
+.Lline_wdir_absolute_ldir_absolute_file_absolute_same_end:
+
+
+.Lline_wdir_absolute_ldir_absolute_file_absolute_different_begin:
+	.4byte		.Lline_wdir_absolute_ldir_absolute_file_absolute_different_end - .Lline_wdir_absolute_ldir_absolute_file_absolute_different_start	/* Initial length */
+.Lline_wdir_absolute_ldir_absolute_file_absolute_different_start:
+	.2byte		2			/* Version */
+	.4byte		.Lline_wdir_absolute_ldir_absolute_file_absolute_different_lines - .Lline_wdir_absolute_ldir_absolute_file_absolute_different_hdr	/* header_length */
+.Lline_wdir_absolute_ldir_absolute_file_absolute_different_hdr:
+	.byte		1			/* Minimum insn length */
+	.byte		1			/* default_is_stmt */
+	.byte		1			/* line_base */
+	.byte		1			/* line_range */
+	.byte		4			/* opcode_base */
+
+	/* Standard lengths */
+	.byte		0
+	.byte		1
+	.byte		1
+
+	/* Include directories */
+	.ascii	XDIR "\0"
+	.byte		0
+
+	/* File names */
+	.ascii	BDIR "/" FILE "\0"
+	.uleb128	1
+	.uleb128	0
+	.uleb128	0
+
+	.byte		0
+
+.Lline_wdir_absolute_ldir_absolute_file_absolute_different_lines:
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	998	/* ... to 999 */
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		wdir_absolute_ldir_absolute_file_absolute_different_start
+	.byte		1	/* DW_LNS_copy */
+	.byte		3	/* DW_LNS_advance_line */
+	.sleb128	1	/* ... to 1000 */
+	.byte		0	/* DW_LNE_set_address */
+	.uleb128	5
+	.byte		2
+	.4byte		wdir_absolute_ldir_absolute_file_absolute_different_end
+	.byte		1	/* DW_LNS_copy */
+	.byte		0	/* DW_LNE_end_of_sequence */
+	.uleb128	1
+	.byte		1
+.Lline_wdir_absolute_ldir_absolute_file_absolute_different_end:
--- /dev/null
+++ b/gdb/testsuite/gdb.dwarf2/dw2-dir-file-name.c
@@ -0,0 +1,87 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2012 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+volatile int v;
+
+static void
+marker (void)
+{
+  v++;
+}
+
+/* *R* marks possibly invalid compiler output as the first path component is
+   not absolute.  Still DWARF-4 does not forbid such DWARF; GCC does not
+   produce it.  */
+
+#define FUNCBLOCK						\
+FUNC (wdir_missing__ldir_missing__file_basename)	   /*R*/\
+FUNC (wdir_missing__ldir_missing__file_relative)	   /*R*/\
+FUNC (wdir_missing__ldir_missing__file_absolute)		\
+FUNC (wdir_missing__ldir_relative_file_basename)	   /*R*/\
+FUNC (wdir_missing__ldir_relative_file_relative)	   /*R*/\
+FUNC (wdir_missing__ldir_relative_file_absolute)	   /*R*/\
+FUNC (wdir_missing__ldir_absolute_file_basename)		\
+FUNC (wdir_missing__ldir_absolute_file_relative)		\
+FUNC (wdir_missing__ldir_absolute_file_absolute_same)		\
+FUNC (wdir_missing__ldir_absolute_file_absolute_different)	\
+FUNC (wdir_relative_ldir_missing__file_basename)	   /*R*/\
+FUNC (wdir_relative_ldir_missing__file_relative)	   /*R*/\
+FUNC (wdir_relative_ldir_missing__file_absolute)	   /*R*/\
+FUNC (wdir_relative_ldir_relative_file_basename)	   /*R*/\
+FUNC (wdir_relative_ldir_relative_file_relative)	   /*R*/\
+FUNC (wdir_relative_ldir_relative_file_absolute)	   /*R*/\
+FUNC (wdir_relative_ldir_absolute_file_basename)	   /*R*/\
+FUNC (wdir_relative_ldir_absolute_file_relative)	   /*R*/\
+FUNC (wdir_relative_ldir_absolute_file_absolute_same)	   /*R*/\
+FUNC (wdir_relative_ldir_absolute_file_absolute_different) /*R*/\
+FUNC (wdir_absolute_ldir_missing__file_basename)		\
+FUNC (wdir_absolute_ldir_missing__file_relative)		\
+FUNC (wdir_absolute_ldir_missing__file_absolute_same)		\
+FUNC (wdir_absolute_ldir_missing__file_absolute_different)	\
+FUNC (wdir_absolute_ldir_relative_file_basename)		\
+FUNC (wdir_absolute_ldir_relative_file_relative)		\
+FUNC (wdir_absolute_ldir_relative_file_absolute_same)		\
+FUNC (wdir_absolute_ldir_relative_file_absolute_different)	\
+FUNC (wdir_absolute_ldir_absolute_file_basename_same)		\
+FUNC (wdir_absolute_ldir_absolute_file_basename_different)	\
+FUNC (wdir_absolute_ldir_absolute_file_relative_same)		\
+FUNC (wdir_absolute_ldir_absolute_file_relative_different)	\
+FUNC (wdir_absolute_ldir_absolute_file_absolute_same)		\
+FUNC (wdir_absolute_ldir_absolute_file_absolute_different)
+
+#define FUNC(name)					\
+  asm (#name "_start: .globl " #name "_start\n");	\
+  static void						\
+  name (void)						\
+  {							\
+    v++;						\
+  }							\
+  asm (#name "_end: .globl " #name "_end\n");
+FUNCBLOCK
+#undef FUNC
+
+int
+main (void)
+{
+
+#define FUNC(name)					\
+  name ();
+FUNCBLOCK
+#undef FUNC
+
+  return 0;
+}
--- /dev/null
+++ b/gdb/testsuite/gdb.dwarf2/dw2-dir-file-name.exp
@@ -0,0 +1,125 @@
+# Copyright 2012 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+load_lib dwarf.exp
+
+# This test can only be run on targets which support DWARF-2 and use gas.
+if {![dwarf2_support]} {
+    return 0  
+}
+
+set testfile "dw2-dir-file-name"
+set executable ${testfile}
+set binfile ${objdir}/${subdir}/${executable}
+set srcfile ${testfile}.c
+set srcabsdir ${objdir}/${subdir}/${testfile}.d
+set srctmpfile tmp-${testfile}.c
+
+# $srcdir may be relative.
+if {[file pathtype $srcabsdir] != "absolute"} {
+    unsuppoted "objdir pathtype is not absolute"
+    return -1
+}
+
+set opts {}
+lappend opts "additional_flags=-DBDIR=\"${srcabsdir}\""
+lappend opts "additional_flags=-DXDIR=\"${srcabsdir}/xdir\""
+lappend opts "additional_flags=-DWDIR=\"wdir\""
+lappend opts "additional_flags=-DLDIR=\"ldir\""
+lappend opts "additional_flags=-DFDIR=\"fdir\""
+lappend opts "additional_flags=-DFILE=\"${srctmpfile}\""
+if [prepare_for_testing ${testfile}.exp ${executable} "${srcfile} ${testfile}.S" $opts] {
+    return -1
+}
+
+remote_exec host "sh -c \"rm -f ${srcabsdir}{/rdir,}{/xdir,}{/wdir,}{/ldir,}{/fdir,}/${srctmpfile}\""
+remote_exec host "sh -c \"rmdir ${srcabsdir}{/rdir,}{/xdir,}{/wdir,}{/ldir,}{/fdir,}\""
+remote_exec host "sh -c \"mkdir ${srcabsdir}{,/rdir}{,/xdir}{,/wdir}{,/ldir}{,/fdir}\""
+remote_exec host "sh -c \"for d in ${srcabsdir}{,/rdir}{,/xdir}{,/wdir}{,/ldir}{,/fdir};do cp ${srcdir}/${subdir}/${srcfile} \\\$d/${srctmpfile}; done\""
+
+if ![runto_main] {
+    return -1
+}
+
+gdb_test "cd ${srcabsdir}/rdir" "Working directory [string_to_regexp ${srcabsdir}]/rdir\\."
+
+proc test { func workdir filename } { with_test_prefix "$func" {
+    # Clear the GDB cache.
+    gdb_test_no_output "set directories" ""
+
+    if {$workdir == ""} {
+        set absolute "$filename"
+    } else {
+        set absolute "$workdir/$filename"
+    }
+    if {[string index $absolute 0] != "/"} {
+	error "not absolute"
+    }
+
+    gdb_breakpoint $func
+    gdb_continue_to_breakpoint $func "$func \\(\\) at .*"
+
+    gdb_test_no_output "set backtrace filename-display absolute"
+    verbose -log "expect: ${absolute}"
+    gdb_test "frame" " in $func \\(\\) at [string_to_regexp ${absolute}]:999" "absolute"
+
+    gdb_test_no_output "set backtrace filename-display basename"
+    verbose -log "expect: [file tail $filename]"
+    gdb_test "frame" " in $func \\(\\) at [string_to_regexp [file tail $filename]]:999" "basename"
+
+# FIXME: FAILs
+    gdb_test_no_output "set backtrace filename-display relative"
+    verbose -log "expect: $filename"
+    gdb_test "frame" " in $func \\(\\) at [string_to_regexp $filename]:999" "relative"
+
+# FIXME: FAILs
+    gdb_test_no_output "set backtrace filename-display as-recorded"
+    verbose -log "expect: $filename"
+    gdb_test "frame" " in $func \\(\\) at [string_to_regexp $filename]:999" "as-recorded"
+}}
+
+set bdir "${srcabsdir}"
+set file "${srctmpfile}"
+test "wdir_missing__ldir_missing__file_basename" "$bdir/rdir" "$file"
+test "wdir_missing__ldir_missing__file_relative" "$bdir/rdir" "fdir/$file"
+test "wdir_missing__ldir_missing__file_absolute" "" "$bdir/$file"
+test "wdir_missing__ldir_relative_file_basename" "$bdir/rdir" "ldir/$file"
+test "wdir_missing__ldir_relative_file_relative" "$bdir/rdir" "ldir/fdir/$file"
+test "wdir_missing__ldir_relative_file_absolute" "" "$bdir/$file"
+test "wdir_missing__ldir_absolute_file_basename" "$bdir" "ldir/$file"
+test "wdir_missing__ldir_absolute_file_relative" "$bdir" "ldir/fdir/$file"
+test "wdir_missing__ldir_absolute_file_absolute_same" "" "$bdir/ldir/$file"
+test "wdir_missing__ldir_absolute_file_absolute_different" "" "$bdir/ldir/$file"
+test "wdir_relative_ldir_missing__file_basename" "$bdir/rdir/wdir" "$file"
+test "wdir_relative_ldir_missing__file_relative" "$bdir/rdir/wdir" "fdir/$file"
+test "wdir_relative_ldir_missing__file_absolute" "" "$bdir/$file"
+test "wdir_relative_ldir_relative_file_basename" "$bdir/rdir/wdir" "ldir/$file"
+test "wdir_relative_ldir_relative_file_relative" "$bdir/rdir/wdir" "ldir/fdir/$file"
+test "wdir_relative_ldir_relative_file_absolute" "" "$bdir/$file"
+test "wdir_relative_ldir_absolute_file_basename" "" "$bdir/ldir/$file"
+test "wdir_relative_ldir_absolute_file_relative" "" "$bdir/ldir/fdir/$file"
+test "wdir_relative_ldir_absolute_file_absolute_same" "" "$bdir/$file"
+test "wdir_relative_ldir_absolute_file_absolute_different" "" "$bdir/$file"
+test "wdir_absolute_ldir_missing__file_basename" "$bdir/wdir" "$file"
+test "wdir_absolute_ldir_missing__file_relative" "$bdir/wdir" "fdir/$file"
+test "wdir_absolute_ldir_missing__file_absolute_same" "" "$bdir/$file"
+test "wdir_absolute_ldir_missing__file_absolute_different" "" "$bdir/$file"
+test "wdir_absolute_ldir_relative_file_basename" "$bdir/wdir" "ldir/$file"
+test "wdir_absolute_ldir_relative_file_relative" "$bdir/wdir" "ldir/fdir/$file"
+test "wdir_absolute_ldir_relative_file_absolute_same" "" "$bdir/$file"
+test "wdir_absolute_ldir_relative_file_absolute_different" "" "$bdir/$file"
+test "wdir_absolute_ldir_absolute_file_basename_same" "" "$bdir/ldir/$file"
+test "wdir_absolute_ldir_absolute_file_relative_different" "" "$bdir/ldir/fdir/$file"
+test "wdir_absolute_ldir_absolute_file_absolute_same" "" "$bdir/$file"
+test "wdir_absolute_ldir_absolute_file_absolute_different" "" "$bdir/$file"


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]