[M3devel] Open CM3 regression tests
Tony Hosking
hosking at cs.purdue.edu
Sun Jan 27 21:33:34 CET 2008
Are your sets larger than a single word? The M3 frontend compiles
small sets (elements <= BITSIZE(Word.T)) differently from large
(elements > BITSIZE(Word.T)). The out-of-line set operations are
only for large sets.
On Jan 27, 2008, at 12:55 PM, Olaf Wagner wrote:
> Quoting Tony Hosking <hosking at cs.purdue.edu>:
>
>> The set operations are coded in cm3/m3-libs/m3core/src/Csupport/
>> Common/hand.c.
>>
>> I notice Jay has made a number of changes here since September -- I
>> wonder if they have broken something.
>
> I tried different revisions of this file with no difference in the
> test results. I then took the latest version and added some printfs,
> and they got never displayed. So I checked what gets linked, but the
> symbols in question don't occur in the test program:
>
> % nm hand.o
> U __divdi3
> U __moddi3
> 000001e0 R _highbits
> 00000140 R _lowbits
> 00000000 T m3_div
> 000000ac T m3_divL
> 000001d4 T m3_mod
> 0000026c T m3_modL
> U printf
> 00000494 T set_difference
> 00000554 T set_eq
> 0000061c T set_ge
> 000006ac T set_gt
> 00000434 T set_intersection
> 0000077c T set_le
> 0000080c T set_lt
> 000003a8 T set_member
> 000005b8 T set_ne
> 000008d8 T set_range
> 000009d8 T set_singleton
> 000004f4 T set_sym_difference
> 000003d4 T set_union
>
> % nm /usr/local/cm3/pkg/m3core/FreeBSD4/libm3core.so.5 | grep set_
> 000243d0 T set_difference
> 00024490 T set_eq
> 00024558 T set_ge
> 000245fc T set_gt
> 00024370 T set_intersection
> 000246e0 T set_le
> 00024784 T set_lt
> 000242e4 T set_member
> 000244f4 T set_ne
> 00024864 T set_range
> 00024998 T set_singleton
> 00024430 T set_sym_difference
> 00024310 T set_union
>
> % ldd FreeBSD4/p1/p155/FreeBSD4/pgm
> FreeBSD4/p1/p155/FreeBSD4/pgm:
> libtest.so.5 => /d/home/wagner/work/cm3/m3-sys/m3tests/
> FreeBSD4/libtest.so.5 (0x28085000)
> libm3.so.5 => /usr/local/cm3/pkg/libm3/FreeBSD4/libm3.so.5
> (0x28088000)
> libm3core.so.5 => /usr/local/cm3/pkg/m3core/FreeBSD4/
> libm3core.so.5 (0x281aa000)
> libm.so.4 => /lib/libm.so.4 (0x28a2d000)
> libpthread.so.2 => /lib/libpthread.so.2 (0x28a46000)
> libc.so.6 => /lib/libc.so.6 (0x28a6a000)
>
> % nm /usr/local/cm3/pkg/m3core/FreeBSD4/libm3core.so.5 | grep set_
> 000243d0 T set_difference
> 00024490 T set_eq
> 00024558 T set_ge
> 000245fc T set_gt
> 00024370 T set_intersection
> 000246e0 T set_le
> 00024784 T set_lt
> 000242e4 T set_member
> 000244f4 T set_ne
> 00024864 T set_range
> 00024998 T set_singleton
> 00024430 T set_sym_difference
> 00024310 T set_union
> luthien [~/work/cm3/m3-sys/m3tests] wagner
> % ldd FreeBSD4/p1/p155/FreeBSD4/pgm
> FreeBSD4/p1/p155/FreeBSD4/pgm:
> libtest.so.5 => /d/home/wagner/work/cm3/m3-sys/m3tests/
> FreeBSD4/libtest.so.5 (0x28085000)
> libm3.so.5 => /usr/local/cm3/pkg/libm3/FreeBSD4/libm3.so.5
> (0x28088000)
> libm3core.so.5 => /usr/local/cm3/pkg/m3core/FreeBSD4/
> libm3core.so.5 (0x281aa000)
> libm.so.4 => /lib/libm.so.4 (0x28a2d000)
> libpthread.so.2 => /lib/libpthread.so.2 (0x28a46000)
> libc.so.6 => /lib/libc.so.6 (0x28a6a000)
> luthien [~/work/cm3/m3-sys/m3tests] wagner
> % nm -C -u FreeBSD4/p1/p155/FreeBSD4/pgm
> U Main_I3
> U RTHooks_I3
> U RTHooks__CheckLoadTracedRef
> U RTHooks__Concat
> U RTHooks__PopEFrame
> U RTHooks__PushEFrame
> U RTHooks__TextLitGetChar
> U RTHooks__TextLitGetChars
> U RTHooks__TextLitGetWideChar
> U RTHooks__TextLitGetWideChars
> U RTHooks__TextLitInfo
> U RTLinker__AddUnit
> U RTLinker__InitRuntime
> U RTProcess__Exit
> U Stdio_I3
> U Test_I3
> U Test__checkM
> U Test__done
> U Wr_I3
> U Wr__Flush
> U Wr__PutText
> w _Jv_RegisterClasses
> w __deregister_frame_info
> w __register_frame_info
> U _init_tls
> U _setjmp
> U atexit
> U exit
>
> Now I'm rather confused 8-/
>
> Any ideas?
>
> Olaf
> --
> Olaf Wagner -- elego Software Solutions GmbH
> Gustav-Meyer-Allee 25 / Gebäude 12, 13355 Berlin,
> Germany
> phone: +49 30 23 45 86 96 mobile: +49 177 2345 869 fax: +49 30 23
> 45 86 95
> http://www.elegosoft.com | Geschäftsführer: Olaf Wagner | Sitz:
> Berlin
> Handelregister: Amtsgericht Charlottenburg HRB 77719 | USt-IdNr:
> DE163214194
>
More information about the M3devel
mailing list