------- Additional Comments From nickc at redhat dot com 2005-10-11 16:05 ------- Subject: Re: objcopy trashes PE executable when using "add-gnu-debuglink"
Hi, > currently one can fix this manually by executing additional step: > objcopy --change-section-vma .gnu_debuglink=+<addr> test_xxx.exe > I did a grep on the sources but could not really find a location where the > wrong > VMA might be produced.. > Could this be a bug in bfd library itself? Yes, although I am not sure if an easy fix exists. In the meantime please could you try the attached patch which might work. The problem with it is that it has to guess as to the correct VMA value to use. I am not sure if matters though. It might be that any non-zero value will be valid, even if it overlaps with another section. Cheers Nick Index: binutils/objcopy.c =================================================================== RCS file: /cvs/src/src/binutils/objcopy.c,v retrieving revision 1.87 diff -c -3 -p -r1.87 objcopy.c *** binutils/objcopy.c 3 Oct 2005 19:37:44 -0000 1.87 --- binutils/objcopy.c 11 Oct 2005 15:40:46 -0000 *************** copy_object (bfd *ibfd, bfd *obfd) *** 1349,1354 **** --- 1349,1361 ---- bfd_nonfatal (gnu_debuglink_filename); return FALSE; } + + if (bfd_get_flavour (obfd) == bfd_target_coff_flavour) + /* Try to set the VMA of the section to some non-zero value so + that it will work for PE format files. (We have no way to + distinguish between COFF and PE flavours). If this does not + work, just ignore the failure. */ + bfd_set_section_vma (obfd, gnu_debuglink_section, 0xf0000000); } if (bfd_count_sections (obfd) == 0) -- http://sourceware.org/bugzilla/show_bug.cgi?id=1391 ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is. _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-binutils