-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 7/14/10 10:45 PM, Jean-François Mertens wrote:
> 
> On 14 Jul 2010, at 22:00, Alexander Hansen wrote:
> 
>> On 7/14/10 2:33 PM, Jean-François Mertens wrote:
>>> B) With 32bit (thus ghc-6.8.3-2),
>>>
>>>> ../compiler/ghc-inplace -H16m -O -I/sw/include -L/sw/lib -optc-O2 -
>>>> package-name rts -static -I../gmp/gmpbuild -I. -#include
>>>> HCIncludes.h -dcmm-lint  -hisuf p_hi -hcsuf p_hc -osuf p_o -prof   -
>>>> c Updates.cmm -o Updates.p_o
>>>> /tmp/ghc29322_0/ghc29322_0.s:unknown:Undefined local symbol
>>>> LDV_recordDead_FILL_SLOP_DYNAMIC
>>>
>> I didn't reproduce the error on 10.5.8/i386/Xcode 3.1.4.  The build
>> succeeded for me.
> Am on identical setup.. [possible diffs in X11 (here X11-2.5.1) are
> obviously irrelevant]

That's the same, too.

> Before sending the previous msg, I did check for the most obvious candidate
> by re-running the same command without the '-I/sw/include' flag
> (since it precedes all others) _ no succes: same result...
> Thus, diffs in fink installations also can't explain the thing, at the
> level
> of this command (note the "-c" : no linking is involved, and the "local"
> in the error msg must mean something from the compiler's point of view..).
> 
> Seems thus there is some hard work to do ... I hope the maintainer can
> help us..
> 
> First : to be sure, this happens during stage1 , i.e.,
> ../compiler/ghc-inplace -> stage1/ghc-inplace.
> Alexander: do you really have there an identical command to the above
> (if you still have a build-log)?
> 

I'll generate the log again--I've since rebooted the machine.


> If yes, it would seem that identical commands on identical installations
> _ since the fink installation
> itsef plays apparently no role _ have different effects...; so the only
> conclusion would be that my
> stage1 compiler differs from yours (and may be wrong)...
> [I know Apple's OS may seem like a randomising machine
> ("by useless complications" + iGimmicks, or others that have no place in
> an OS..
> _ I hate this _; but not at this level...!]
> 
> [I did't see anything obviously wrong by scanning higher up in the build..]
> 
> Or is there some other possibility, that I overlooked ?
> 
> 
> Next question is probably to Brendan...
> I ran the same command adding " -v5 -keep-tmp-files" at the end.
> The output seemed completely reasonable; in particular, the cmmcpp temp
> file ends with
> apparently the following defs for the 2 symbols stg_upd_frame and
> stg_marked_upd_frame
> defined in Updates.cmm :
> 
>> 54    INFO_TABLE_RET( stg_upd_frame, 38, bits32 unused1, bits32
>> unused2, "ptr" bits32 unused3)
>> 55    { bits32 updatee; updatee = bits32[Sp+SIZEOF_StgHeader+0]; Sp =
>> Sp + (SIZEOF_StgHeader+4); ; ; bits32 info; info = bits32[updatee+0];
>> bits32 bd; ; foreign "C" LDV_recordDead_FILL_SLOP_DYNAMIC(updatee
>> "ptr"); bits32[updatee+SIZEOF_StgHeader+0] = R1; prim %write_barrier()
>> []; bd = ((((updatee) & ((1<<20)-1) & ~((1<<12)-1)) >> (12 -5)) |
>> ((updatee) & ~((1<<20)-1))); if (bits32[bd+16] != 0 :: bits32) {
>> bits32 __bd; bits32 mut_list; mut_list = bits32[(BaseReg - 8)+220] +
>> ((%sx32(bits32[bd+16]))*4); __bd = bits32[mut_list]; if
>> (bits32[__bd+4] >= bits32[__bd+0] + (1<<12)) { bits32 __new_bd; ("ptr"
>> __new_bd) = foreign "C" allocBlock_lock() [R1]; bits32[__new_bd+8] =
>> __bd; __bd = __new_bd; bits32[mut_list] = __bd; } bits32 free; free =
>> bits32[__bd+4]; bits32[free] = updatee; bits32[__bd+4] = free +
>> ((1)*4);; bits32[updatee+0] = stg_IND_OLDGEN_info;
>> LDV_RECORD_CREATE(updatee); ; jump %ENTRY_CODE(bits32[Sp + ((0)*4)]);
>> } else { bits32[updatee+0] = stg_IND_direct_info;
>> LDV_RECORD_CREATE(updatee); ; jump %ENTRY_CODE(bits32[Sp + ((0)*4)]);
>> }; ; }
>> 56   
>> 57   
>> 58    INFO_TABLE_RET( stg_marked_upd_frame, 38, bits32 unused1, bits32
>> unused2, "ptr" bits32 unused3)
>> 59    { bits32 updatee; updatee = bits32[Sp+SIZEOF_StgHeader+0]; Sp =
>> Sp + (SIZEOF_StgHeader+4); ; ; bits32 info; info = bits32[updatee+0];
>> bits32 bd; ; foreign "C" LDV_recordDead_FILL_SLOP_DYNAMIC(updatee
>> "ptr"); bits32[updatee+SIZEOF_StgHeader+0] = R1; prim %write_barrier()
>> []; bd = ((((updatee) & ((1<<20)-1) & ~((1<<12)-1)) >> (12 -5)) |
>> ((updatee) & ~((1<<20)-1))); if (bits32[bd+16] != 0 :: bits32) {
>> bits32 __bd; bits32 mut_list; mut_list = bits32[(BaseReg - 8)+220] +
>> ((%sx32(bits32[bd+16]))*4); __bd = bits32[mut_list]; if
>> (bits32[__bd+4] >= bits32[__bd+0] + (1<<12)) { bits32 __new_bd; ("ptr"
>> __new_bd) = foreign "C" allocBlock_lock() [R1]; bits32[__new_bd+8] =
>> __bd; __bd = __new_bd; bits32[mut_list] = __bd; } bits32 free; free =
>> bits32[__bd+4]; bits32[free] = updatee; bits32[__bd+4] = free +
>> ((1)*4);; bits32[updatee+0] = stg_IND_OLDGEN_info;
>> LDV_RECORD_CREATE(updatee); ; jump %ENTRY_CODE(bits32[Sp + ((0)*4)]);
>> } else { bits32[updatee+0] = stg_IND_direct_info;
>> LDV_RECORD_CREATE(updatee); ; jump %ENTRY_CODE(bits32[Sp + ((0)*4)]);
>> }; ; }
> 
> where in both places the "Undefined local symbol" from the error msg
> seems declared as
>> foreign "C" LDV_recordDead_FILL_SLOP_DYNAMIC(updatee "ptr")
> i.e., in my very impressionistic readng, anything but local ..
> [Later (say "Optimised Cmm"), this yields like
>> call "ccall" LDV_recordDead_FILL_SLOP_DYNAMIC((_cj,
>> PtrHint))[_unsafe_call_];
> and then in asm ("Native code"):
>>     call LDV_recordDead_FILL_SLOP_DYNAMIC
> 
> ]
> ...
> 
> 
> What is the exact meaning of that error message ?
> Any ideas ? Or further things to look for ?
> 
> JF


- -- 
Alexander Hansen
Fink User Liaison
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkw/Mh0ACgkQB8UpO3rKjQ9EbQCeMST+FrKaPDmkygCO49KAfNFQ
2HMAn3VGW7U9+z9kpzNfoAi1prd66MSx
=r+qF
-----END PGP SIGNATURE-----

------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
Fink-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/fink-users

Reply via email to