Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Evergreen:11.1
rpm-python
debugedit-comp-dir.diff
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File debugedit-comp-dir.diff of Package rpm-python
Include compilation directory in source file list if used. --- tools/debugedit.c | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) Index: tools/debugedit.c =================================================================== --- tools/debugedit.c.orig +++ tools/debugedit.c @@ -492,6 +492,7 @@ edit_dwarf2_line (DSO *dso, uint_32 off, uint_32 value, dirt_cnt; size_t comp_dir_len = strlen (comp_dir); size_t abs_file_cnt = 0, abs_dir_cnt = 0; + int comp_dir_used = 0; if (phase != 0) return 0; @@ -600,6 +601,7 @@ edit_dwarf2_line (DSO *dso, uint_32 off, memcpy (p, dirt[value], dir_len); p[dir_len] = '/'; memcpy (p + dir_len + 1, file, file_len + 1); + comp_dir_used = 1; } canonicalize_path (s, s); if (list_file_fd != -1) @@ -632,7 +634,31 @@ edit_dwarf2_line (DSO *dso, uint_32 off, read_uleb128 (ptr); } ++ptr; - + + if (comp_dir_used && list_file_fd != -1 + && (base_dir == NULL || has_prefix (comp_dir, base_dir))) + { + char *p; + size_t size; + ssize_t ret; + + size = comp_dir_len + 1; + p = comp_dir; + if (base_dir) + { + p += strlen (base_dir); + size -= strlen (base_dir); + } + while (size > 0) + { + ret = write (list_file_fd, p, size); + if (ret == -1) + break; + size -= ret; + p += ret; + } + } + if (dest_dir) { unsigned char *srcptr, *buf = NULL;
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor