This is the mail archive of the
mailing list for the Cygwin project.
Re: /proc/uptime etc. - NtQuerySystemInformation() needs bigger structure
On Fri, Jul 05, 2002 at 09:44:38PM +0100, Chris January wrote:
>> >> --- winsup/cygwin/ntdll.h.old 2002-05-30 21:21:04.000000000 +0100
>> >> +++ winsup/cygwin/ntdll.h 2002-07-05 11:15:52.000000000 +0100
>> >> @@ -58,6 +58,7 @@ typedef struct _SYSTEM_PROCESSOR_TIMES
>> >> LARGE_INTEGER DpcTime;
>> >> LARGE_INTEGER InterruptTime;
>> >> ULONG InterruptCount;
>> >> + ULONG Unused;
>> >> } SYSTEM_PROCESSOR_TIMES, *PSYSTEM_PROCESSOR_TIMES;
>> >> typedef LONG KPRIORITY;
>> >I will look at this patch tonight, but I would be grateful if you could
>> >answer the following questions:
>> >What version of binutils are you using?
>> >If you compiled Cygwin using just the 1.3.12 sources with no
>> >does /proc/uptime have any content?
>> I think this is a symptom of the fact that gcc uses different alignment
>> than msvc. If you add a __attribute__ ((aligned (8))) to the structure
>> it should "fix" the problem.
>> This is one thing that was fixed by the -fnative-struct gcc option which
>> is, unfortunately, not available in gcc 3.1.
>I remember getting /proc working with aligned (4). Either I remember
>incorrectly or something strange is going on. Either way it would probably
>do no harm to explicitly set the alignment of the structures in ntdll.h
I wrote a little program to see what the difference was between gcc
2.95.3, gcc 3.1, and msvc. 2.95.3 could be coerced into setting similar
structure alignment to msvc. I couldn't get the same behavior with 3.1
without setting an explicit alignment to 8.
I don't know what's going on here either, though. I'm pretty sure that
I saw /proc/uptime working at one point. I've tried this with different
versions of binutils, too. It doesn't seem to have an effect. Weird.
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html