upcoming release: what needs to be done

Mike Frysinger vapier at gentoo.org
Thu Mar 15 00:39:35 UTC 2012


On Monday 12 March 2012 17:50:48 Dmitry V. Levin wrote:
> - test on supported non-x86 architectures;

build fails with <=glibc-2.12 because SWAP_FLAG_DISCARD wasn't added until
then.  files.c unconditionally uses that.

ia64 has these warnings ... maybe just deleting these defines from the ia64
header would work ?
./linux/ia64/syscallent.h:47:0: warning: "sys_alarm" redefined
./linux/dummy.h:114:0: note: this is the location of the previous definition
./linux/ia64/syscallent.h:115:0: warning: "sys_getresgid" redefined
./linux/dummy.h:73:0: note: this is the location of the previous definition

alpha looks broken with signals ... these funcs pass the target's syscall arg
pointer to the C library's sigprocmask() which obviously won't be valid:
signal.c: In function ‘sys_sigprocmask’:
signal.c:1185:3: warning: passing argument 1 of ‘printsigmask’ makes pointer from integer without a cast
signal.c:352:1: note: expected ‘struct sigset_t *’ but argument is of type ‘long int’
signal.c:1188:3: warning: passing argument 2 of ‘sprintsigmask’ makes pointer from integer without a cast
signal.c:283:1: note: expected ‘struct sigset_t *’ but argument is of type ‘long int’

ppc64 had a build warning in the syscall code, but i posted a patch to fix
that.  then it hit a strict aliasing warning in sys_cap{g,s}et (and looking at
the code, it does look pretty wrong):
system.c: In function ‘sys_capset’:
system.c:559: warning: dereferencing pointer ‘arg0’ does break strict-aliasing rules
system.c:559: warning: dereferencing pointer ‘arg0’ does break strict-aliasing rules
system.c:548: note: initialized from here
system.c:574: warning: dereferencing pointer ‘arg1’ does break strict-aliasing rules
system.c:572: warning: dereferencing pointer ‘arg1’ does break strict-aliasing rules
system.c:570: warning: dereferencing pointer ‘arg1’ does break strict-aliasing rules
system.c:549: note: initialized from here
system.c: In function ‘sys_capget’:
system.c:519: warning: dereferencing pointer ‘arg0’ does break strict-aliasing rules
system.c:519: warning: dereferencing pointer ‘arg0’ does break strict-aliasing rules
system.c:508: note: initialized from here
system.c:534: warning: dereferencing pointer ‘arg1’ does break strict-aliasing rules
system.c:532: warning: dereferencing pointer ‘arg1’ does break strict-aliasing rules
system.c:530: warning: dereferencing pointer ‘arg1’ does break strict-aliasing rules
system.c:509: note: initialized from here

getting past those, and make compiled cleanly & passed check on:
	alpha ia64 ppc ppc64 s390 s390x x86_64
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.strace.io/pipermail/strace-devel/attachments/20120314/196931d3/attachment.bin>


More information about the Strace-devel mailing list