ia64 missing initialization in unwind info

Alexandre Oliva aoliva@redhat.com
Tue Jan 1 22:04:00 GMT 2008


I needed this patch in order to get ia64-linux-gnu target libraries
built along with GCC to pass bootstrap4-debug compare when built with
or without debug information.

The space reserved to hold the unwind personality function address is
uninitialized and, in certain cases (for example, when compiling
certain files without debug information), it often contains garbage.

I haven't investigated why, when compiling with debug information, it
is most often zero-initialized, but the obvious solution is to have it
initialized.

I don't have a small testcase, the actual uninitialized pattern varies
depending on whether I'm natively or cross-assembling, which means it
could pass by accident, and it could possibly even vary depending on
memory layout.

The problem showed up in a native bootstrap of the GCC
var-tracking-assignments-branch on ia64-linux-gnu (RHEL5.1) with a
number of patches I plan to post and install today, in the files:

gcc/ada/rts/a-nscefu.o
ia64-unknown-linux-gnu/libstdc++-v3/src/.libs/locale-inst.o
ia64-unknown-linux-gnu/libstdc++-v3/src/locale-inst.o

Ok to install?

Happy GNU Year!

-------------- next part --------------
A non-text attachment was scrubbed...
Name: gas-ia64-zero-init-unwind-personality.patch
Type: text/x-patch
Size: 1207 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20080101/1012a81b/attachment.bin>
-------------- next part --------------

-- 
Alexandre Oliva         http://www.lsd.ic.unicamp.br/~oliva/
FSF Latin America Board Member         http://www.fsfla.org/
Red Hat Compiler Engineer   aoliva@{redhat.com, gcc.gnu.org}
Free Software Evangelist  oliva@{lsd.ic.unicamp.br, gnu.org}


More information about the Binutils mailing list