[M3commit] CVS Update: cm3

Jay Krell jkrell at elego.de
Wed Nov 12 14:38:13 CET 2008


CVSROOT:	/usr/cvs
Changes by:	jkrell at birch.	08/11/12 14:38:13

Modified files:
	cm3/m3-libs/m3core/src/unix/linux-32/: m3makefile 
	cm3/m3-libs/m3core/src/unix/linux-64/: m3makefile 
	cm3/m3-libs/m3core/src/unix/linux-i386/: m3makefile 
	cm3/m3-libs/m3core/src/unix/linux-libc6/: Upthread.i3 
Added files:
	cm3/m3-libs/m3core/src/unix/linux-32/: Upthreadtypes.i3 
	cm3/m3-libs/m3core/src/unix/linux-64/: Upthreadtypes.i3 
Removed files:
	cm3/m3-libs/m3core/src/unix/linux-amd64/: UpthreadMachine.i3 
	cm3/m3-libs/m3core/src/unix/linux-i386/: UpthreadMachine.i3 
	cm3/m3-libs/m3core/src/unix/linux-sparc32/: UpthreadMachine.i3 
	cm3/m3-libs/m3core/src/unix/linux-sparc64/: UpthreadMachine.i3 

Log message:
	fix alignment of pthread types
	array of char is not right
	This has not been seen to be a problem, but it is definitely highly
	suspicious.
	Unless perhaps record alignment is somehow always boosted beyond its
	constituents? (unlikely)
	perhaps these should be wrapped in arrays to avoid some
	undesired type equivalences?
	
	This is tedious/error prone, could use triple/quadruple checking.
	LINUXLIBC6 ./upgrade.py from a recent snapshot succeeded
	PPC_LINUX was already broken/crashing, not tested today (to be looked
	into)
	not likely any other Linux target in use (yet)
	only Linux platforms affected
	
	while at it, apparently fix SPARC32_LINUX, to use 32bit sizes instead
	of 64bit.
	
	Note that one of the types has "long long" alignment and therefore was
	never?
	properly implementable with an older compiler. Note also that
	bootstrapping
	will now require, if it didn't already, a compiler that supports
	LONGINT.
	(However this could be patched to an array of two INTEGERs for
	bootstrapping purposes.)
	
	note also this turned up a compiler internal error
	initializing an array of longint (later..)
	
	and some strange problems targeting I386_LINUX with
	an AMD64_LINUX front end -- the negative shifts in Unix.i3
	are reported as not constant, and there are some errors in m3x86.
	(later..)
	
	(should be upthreadTypes.i3 or upthreadtypes.i3? I chose to follow
	what the C headers do)




More information about the M3commit mailing list