This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] Missing -fexception CFLAGS


Folks,

While developing the AArch64 port of glibc there were failures in
nptl/tst-cancelx4.c and nptl/tst-cancelx5.c as follows:

cleanup handler not called for 'open'
cleanup handler not called for 'send'
cleanup handler not called for 'recv'
cleanup handler not called for 'pause'
cleanup handler not called for 'select'

The aarch64 port uses the ports/sysdeps/unix/sysv/linux/generic/
implementation of each of these functions.  The aarch64 gcc compiler
does not enable async unwind tables without explicit options. These
five functions currently do not have explicit 'CFLAGS-xxxx.c =
-fexception -fasync-unwind-tables' in the relevant libc Makefiles.

The original aarch64 port submission attempted to fix the issue by
adding CFLAGS-xxx= entries into the aarch64 specific Makefile, however
I believe the solution should be generic rather than target specific.

I'd appreciate feedback on the sanity of this solution.

Patch attached, proposed ChangeLog below.

Thanks
/Marcus


2012-11-02  Marcus Shawcroft  <marcus.shawcroft@linaro.org>

	* io/Makefile (CFLAGS-open.c, CFLAGS-open64.c): Define.
	* misc/Makefile (CFLAGS-select.c): Define.
	* nptl/Makefile (CFLAGS-open.c, CFLAGS-open64.c, CFLAGS-pause.c)
	  (CFLAGS-recv.c, CFLAGS-send.c): Define.
	* posix/Makefile (CFLAGS-pause.c): Define.

Attachment: fexceptions-patch.diff
Description: Binary data


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]