RPM Package Manager, CVS Repository http://rpm5.org/cvs/ ____________________________________________________________________________
Server: rpm5.org Name: Jeff Johnson Root: /v/rpm/cvs Email: [EMAIL PROTECTED] Module: rpm Date: 27-Apr-2008 13:44:08 Branch: HEAD Handle: 2008042711440701 Modified files: rpm CHANGES rpm/tools debugedit.c Log: - jbj: permit firefox debugging by creating an empty dir (#444310). Summary: Revision Changes Path 1.2307 +1 -0 rpm/CHANGES 2.17 +28 -0 rpm/tools/debugedit.c ____________________________________________________________________________ patch -p0 <<'@@ .' Index: rpm/CHANGES ============================================================================ $ cvs diff -u -r1.2306 -r1.2307 CHANGES --- rpm/CHANGES 26 Apr 2008 16:12:45 -0000 1.2306 +++ rpm/CHANGES 27 Apr 2008 11:44:07 -0000 1.2307 @@ -1,5 +1,6 @@ 5.1.0 -> 5.2a0: + - jbj: permit firefox debugging by creating an empty dir (#444310). - afb/rse: add initial "devtool standalone" and Autoconf support for building against LZMA Utils - jbj: add --enable-build-gcov for CFLAGS -fprofile-arcs -ftest-coverage. - jbj: header: free tag data on error retrurn with damaged data. @@ . patch -p0 <<'@@ .' Index: rpm/tools/debugedit.c ============================================================================ $ cvs diff -u -r2.16 -r2.17 debugedit.c --- rpm/tools/debugedit.c 18 Oct 2007 04:41:05 -0000 2.16 +++ rpm/tools/debugedit.c 27 Apr 2008 11:44:08 -0000 2.17 @@ -918,6 +918,34 @@ break; } } + + /* Ensure the CU current directory will exist even if only empty. Source + filenames possibly located in its parent directories refer relatively to + it and the debugger (GDB) cannot safely optimize out the missing + CU current dir subdirectories. */ + if (comp_dir && list_file_fd != -1) + { + char *p; + size_t size; + + if (base_dir && has_prefix (comp_dir, base_dir)) + p = comp_dir + strlen (base_dir); + else if (dest_dir && has_prefix (comp_dir, dest_dir)) + p = comp_dir + strlen (dest_dir); + else + p = comp_dir; + + size = strlen (p) + 1; + while (size > 0) + { + ssize_t ret = write (list_file_fd, p, size); + if (ret == -1) + break; + size -= ret; + p += ret; + } + } + if (found_list_offs && comp_dir) edit_dwarf2_line (dso, list_offs, comp_dir, phase); @@ . ______________________________________________________________________ RPM Package Manager http://rpm5.org CVS Sources Repository rpm-cvs@rpm5.org