[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: help with getting toolchain/libc up to sniff?



As promised, here a summary of what the patches do.

Thanks,

	--david

------------------
GCC patches:

Fix unwind info for C startup/finalization code so that it can be
unwound:

 config/ia64/crtbegin.asm:
	(__dso_handle): Really define it as a BSS symbol.
	(__do_global_dtors_aux): Add unwind directives.
	(__do_jv_register_classes): Likewise.
 config/ia64/crtend.asm:
	(__do_global_ctors_aux): Add unwind directives.

Fix two compiler bugs which caused bad unwind info for sibcalls
and for functions which had multiple copies of the epilogue (patches
by Jim Wilson).

 config/ia64/ia64.c:
	(ia64_expand_epilogue): Mark "alloc" in front of a sibcall as
		frame-related.
	(process_set): Generate unwind directives for sibcall "alloc".
 emit-rtl.c:
	(emit_copy_of_insn_after): Also copy frame-related predicate.

Fix GCC for libunwind.

 gcc.c:
	(init_spec): Also specific -lunwind for the shared case.


------------------
GLIBC patches:

Make GLIBC buildable with a libunwind-enabled GCC (patches by HJ Lu):

 Makeconfig: Use $(static-gnulib) instead of $(gnulib).
	If compiler is libunwind-enabled, link against -lunwind.
 Makerules:
	(LDLIBS-c.so): Use $(libc.so-gnulib) instead of $(gnulib).
 config.h.in:
	(HAVE_CC_WITH_LIBUNWIND): New macro.
 config.make.in:
	(have-cc-with-libunwind): New macro.
 configure.in:
	Add a check to see whether compiler is libunwind-enabled.

Fix unwind-info for NPTL _init/_fini routines.

 nptl/sysdeps/unix/sysv/linux/ia64/pt-initfini.c:
	(_init): Add unwind directives.
	(_fini): Likewise.

------------------
Binutils/GAS patch:

Fix handling of psp-relative offsets (patch by Jim Wilson).

 tc-ia64.c:
	(ENCODED_PSP_OFFSET): New macro.
	Fix off-by-16 bug by using ENCODED_PSP_OFFSET() macro to
	calculate all psp-relative offsets.



Reply to: