On 14.11.2012 15:28, Regan Heath wrote:
> Well.. druntime is built into a lib, and phobos is built using that
> lib.  So, the only way I can imagine reproducing this error is by
> altering dmd2\src\druntime\import\core\sys\windows\windows.d, rebuilding
> druntime, then rebuilding phobos and replacing the phobos.lib in
> dmd2\windows\lib.
> 
> BUT, doing so fails at the rebuild of phobos, giving the error:
> std\file.d(530): Error: undefined identifier WIN32_FILE_ATTRIBUTE_DATA,
> did you mean struct xxWIN32_FILE_ATTRIBUTE_DATA?
> 
> So.. it's almost like in your case the rdmd/dmd command line is not
> using the pre-built phobos.lib, but trying to recompile std.file itself.
> 
> I assume you have a dmd2\windows\lib\phobos.lib?  What are the dates on
> various files.. is it possible you are time shifted in such a way which
> is confusing the compiler into ignoring phobos.lib and rebuilding from
> source?

Yes, I have it. Times are normal. All files are from yesterday when I
installed the dmd.

> What happens if you run dumpobj (dmc\dm\bin) on phobos.lib, .e.g
>   dumpobj -p phobos.lib > output.txt
> 
> then open output.txt and look for WIN32_FILE_ATTRIBUTE_DATA.  Bear in
> mind the output wraps the symbol names as needed so simply searching for
> "WIN32_FILE_ATTRIBUTE_DATA" wont find anything.

> 81499  PUB386  1  4 3e 5f 44 34 63 6f 72 65 33 73 79 73 37 77   
> ..>_D4core3sys7w
>              69 6e 64 6f 77 73 37 77 69 6e 64 6f 77 73 32 35   
> indows7windows25
>              57 49 4e 33 32 5f 46 49 4c 45 5f 41 54 54 52 49   
> WIN32_FILE_ATTRI
>              42 55 54 45 5f 44 41 54 41 36 5f 5f 69 6e 69 74   
> BUTE_DATA6__init
>              5a  0  0  0  0  0                                 Z.....
> 
> 87599  LNAMES 4a 5f 44 36 32 54 79 70 65 49 6e 66 6f 5f 53 34   
> J_D62TypeInfo_S4
>              63 6f 72 65 33 73 79 73 37 77 69 6e 64 6f 77 73   
> core3sys7windows
>              37 77 69 6e 64 6f 77 73 32 35 57 49 4e 33 32 5f   
> 7windows25WIN32_
>              46 49 4c 45 5f 41 54 54 52 49 42 55 54 45 5f 44   
> FILE_ATTRIBUTE_D
>              41 54 41 36 5f 5f 69 6e 69 74 5a                  ATA6__initZ
> 
> 8776f  CMD386  0 10  0  0  0  0  0  0  1  2  a  0  0  0  0  0   
> ................
>               0  0  0 32  0  0  0 3c  0  0  0 24  0  0  0  0   
> ...2...<...$....
>               0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0   
> ................
>               0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  4   
> ................
>               0  0  0  0  0  0  0 63 6f 72 65 2e 73 79 73 2e   
> .......core.sys.
>              77 69 6e 64 6f 77 73 2e 77 69 6e 64 6f 77 73 2e   
> windows.windows.
>              57 49 4e 33 32 5f 46 49 4c 45 5f 41 54 54 52 49   
> WIN32_FILE_ATTRI
>              42 55 54 45 5f 44 41 54 41  0                     BUTE_DATA. 

^ These three I have the same.

> 1bba05  LNAMES 5b 5f 44 33 73 74 64 34 66 69 6c 65 32 30 67 65   
> [_D3std4file20ge
>              74 46 69 6c 65 41 74 74 72 69 62 75 74 65 73 57   
> tFileAttributesW
>              69 6e 46 78 41 61 5a 53 34 63 6f 72 65 33 73 79   
> inFxAaZS4core3sy
>              73 37 77 69 6e 64 6f 77 73 37 77 69 6e 64 6f 77   
> s7windows7window
>              73 32 35 57 49 4e 33 32 5f 46 49 4c 45 5f 41 54   
> s25WIN32_FILE_AT
>              54 52 49 42 55 54 45 5f 44 41 54 41               TRIBUTE_DATA
> 
> 1bba6b  LNAMES 7a 5f 44 33 73 74 64 34 66 69 6c 65 32 30 67 65   
> z_D3std4file20ge
>              74 46 80 83 89 41 74 74 72 69 62 75 74 65 73 57   
> tF...AttributesW
>              69 6e 46 78 41 61 5a 53 34 63 6f 72 65 33 73 79   
> inFxAaZS4core3sy
>              73 37 77 69 6e 64 6f 77 ff 73 32 35 57 49 4e 33   
> s7window.s25WIN3
>              32 5f 46 49 4c 45 5f 41 54 54 52 49 42 55 54 45   
> 2_FILE_ATTRIBUTE
>              5f 44 41 54 41 31 35 5f 5f 64 67 6c 69 74 65 72   
> _DATA15__dgliter
>              61 6c 32 32 36 38 4d 46 5a 43 36 6f 62 6a 65 63   
> al2268MFZC6objec
>              74 39 54 68 72 6f 77 61 62 6c 65                  t9Throwable 

^ These two - the same content, but the address (or offset or what it
is) is different. 1b8685 and 1b86eb respectively.

> 1bc1f1  EXTDEF 5b 5f 44 33 73 74 64 34 66 69 6c 65 32 30 67 65   
> [_D3std4file20ge
>              74 46 69 6c 65 41 74 74 72 69 62 75 74 65 73 57   
> tFileAttributesW
>              69 6e 46 78 41 61 5a 53 34 63 6f 72 65 33 73 79   
> inFxAaZS4core3sy
>              73 37 77 69 6e 64 6f 77 73 37 77 69 6e 64 6f 77   
> s7windows7window
>              73 32 35 57 49 4e 33 32 5f 46 49 4c 45 5f 41 54   
> s25WIN32_FILE_AT
>              54 52 49 42 55 54 45 5f 44 41 54 41  0            TRIBUTE_DATA.
> 
> 1bc58c  EXTDEF 5b 5f 44 33 73 74 64 34 66 69 6c 65 32 30 67 65   
> [_D3std4file20ge
>              74 46 69 6c 65 41 74 74 72 69 62 75 74 65 73 57   
> tFileAttributesW
>              69 6e 46 78 41 61 5a 53 34 63 6f 72 65 33 73 79   
> inFxAaZS4core3sy
>              73 37 77 69 6e 64 6f 77 73 37 77 69 6e 64 6f 77   
> s7windows7window
>              73 32 35 57 49 4e 33 32 5f 46 49 4c 45 5f 41 54   
> s25WIN32_FILE_AT
>              54 52 49 42 55 54 45 5f 44 41 54 41  0            TRIBUTE_DATA.
> 
> 1bf00e  EXTDEF 17 5f 44 31 31 54 79 70 65 49 6e 66 6f 5f 41 61   
> ._D11TypeInfo_Aa
>              36 5f 5f 69 6e 69 74 5a  0 5b 5f 44 33 73 74 64   
> 6__initZ.[_D3std
>              34 66 69 6c 65 32 30 67 65 74 46 69 6c 65 41 74   
> 4file20getFileAt
>              74 72 69 62 75 74 65 73 57 69 6e 46 78 41 61 5a   
> tributesWinFxAaZ
>              53 34 63 6f 72 65 33 73 79 73 37 77 69 6e 64 6f   
> S4core3sys7windo
>              77 73 37 77 69 6e 64 6f 77 73 32 35 57 49 4e 33   
> ws7windows25WIN3
>              32 5f 46 49 4c 45 5f 41 54 54 52 49 42 55 54 45   
> 2_FILE_ATTRIBUTE
>              5f 44 41 54 41  0                                 _DATA. 

^ These three are different when I do the dump:

> 1b8df4  EXTDEF 5b 5f 44 33 73 74 64 34 66 69 6c 65 32 30 67 65   
> [_D3std4file20ge
>              74 46 69 6c 65 41 74 74 72 69 62 75 74 65 73 57   
> tFileAttributesW
>              69 6e 46 78 41 61 5a 53 34 63 6f 72 65 33 73 79   
> inFxAaZS4core3sy
>              73 37 77 69 6e 64 6f 77 73 37 77 69 6e 64 6f 77   
> s7windows7window
>              73 32 35 57 49 4e 33 32 5f 46 49 4c 45 5f 41 54   
> s25WIN32_FILE_AT
>              54 52 49 42 55 54 45 5f 44 41 54 41  0 77 5f 44   
> TRIBUTE_DATA.w_D
>              33 73 74 64 38 64 61 74 65 74 69 6d 65 31 37 46   
> 3std8datetime17F
>              49 4c 45 54 49 4d 45 54 6f 53 79 73 54 69 6d 65   
> ILETIMEToSysTime
>              46 78 50 53 34 63 6f 72 65 33 73 79 73 37 77 69   
> FxPS4core3sys7wi
>              6e 64 6f 77 73 37 77 69 6e 64 6f 77 73 38 46 49   
> ndows7windows8FI
>              4c 45 54 49 4d 45 79 43 33 73 74 64 38 64 61 74   
> LETIMEyC3std8dat
>              65 74 69 6d 65 38 54 69 6d 65 5a 6f 6e 65 5a 53   
> etime8TimeZoneZS
>              33 73 74 64 38 64 61 74 65 74 69 6d 65 37 53 79   
> 3std8datetime7Sy
>              73 54 69 6d 65  0                                 sTime.
> 
> 1b918f  EXTDEF 5b 5f 44 33 73 74 64 34 66 69 6c 65 32 30 67 65   
> [_D3std4file20ge
>              74 46 69 6c 65 41 74 74 72 69 62 75 74 65 73 57   
> tFileAttributesW
>              69 6e 46 78 41 61 5a 53 34 63 6f 72 65 33 73 79   
> inFxAaZS4core3sy
>              73 37 77 69 6e 64 6f 77 73 37 77 69 6e 64 6f 77   
> s7windows7window
>              73 32 35 57 49 4e 33 32 5f 46 49 4c 45 5f 41 54   
> s25WIN32_FILE_AT
>              54 52 49 42 55 54 45 5f 44 41 54 41  0 77 5f 44   
> TRIBUTE_DATA.w_D
>              33 73 74 64 38 64 61 74 65 74 69 6d 65 31 37 46   
> 3std8datetime17F
>              49 4c 45 54 49 4d 45 54 6f 53 79 73 54 69 6d 65   
> ILETIMEToSysTime
>              46 78 50 53 34 63 6f 72 65 33 73 79 73 37 77 69   
> FxPS4core3sys7wi
>              6e 64 6f 77 73 37 77 69 6e 64 6f 77 73 38 46 49   
> ndows7windows8FI
>              4c 45 54 49 4d 45 79 43 33 73 74 64 38 64 61 74   
> LETIMEyC3std8dat
>              65 74 69 6d 65 38 54 69 6d 65 5a 6f 6e 65 5a 53   
> etime8TimeZoneZS
>              33 73 74 64 38 64 61 74 65 74 69 6d 65 37 53 79   
> 3std8datetime7Sy
>              73 54 69 6d 65  0                                 sTime.
> 
> 1bbc31  EXTDEF 17 5f 44 31 31 54 79 70 65 49 6e 66 6f 5f 41 75   
> ._D11TypeInfo_Au
>              36 5f 5f 69 6e 69 74 5a  0 3f 5f 44 33 73 74 64   
> 6__initZ.?_D3std
>              38 64 61 74 65 74 69 6d 65 39 4c 6f 63 61 6c 54   
> 8datetime9LocalT
>              69 6d 65 36 6f 70 43 61 6c 6c 46 4e 61 4e 62 5a   
> ime6opCallFNaNbZ
>              79 43 33 73 74 64 38 64 61 74 65 74 69 6d 65 39   
> yC3std8datetime9
>              4c 6f 63 61 6c 54 69 6d 65  0  7 5f 77 63 73 6c   
> LocalTime.._wcsl
>              65 6e  0 5b 5f 44 33 73 74 64 34 66 69 6c 65 32   
> en.[_D3std4file2
>              30 67 65 74 46 69 6c 65 41 74 74 72 69 62 75 74   
> 0getFileAttribut
>              65 73 57 69 6e 46 78 41 61 5a 53 34 63 6f 72 65   
> esWinFxAaZS4core
>              33 73 79 73 37 77 69 6e 64 6f 77 73 37 77 69 6e   
> 3sys7windows7win
>              64 6f 77 73 32 35 57 49 4e 33 32 5f 46 49 4c 45   
> dows25WIN32_FILE
>              5f 41 54 54 52 49 42 55 54 45 5f 44 41 54 41  0   
> _ATTRIBUTE_DATA.

I had to do the dump on linux, because I could not found the dumpobj
binary where you said it should be.

I hope this gives a hint where the problem might be.

Thanks,
Martin

Reply via email to