re: Poor performance when using Texas Instruments code generation tools in Wine

2005-02-22 Thread Dan Kegel
Anders wrote:
We have been using TI code generation tools (compiler and linker) on 
Wine, and it has worked well. However, when we started evaluating newer 
versions of the codegen tools, the linking time was dramatically 
increased (from 20 sec to 30 minutes...).

We have done some profiling using oprofile, and found that most of this 
time (96%) is spent in the HEAP_FindFreeBlock* *function in the ntdll 
module. The time needed to locate a free heap block increases gradually, 
from a few iterations up to about 15000 in the project we are building. 
Wow, that's worth looking into!
Can you write a small C program that has the same behavior?
That would help us reproduce the problem and then solve it.
Thanks,
Dan
--
Trying to get a job as a c++ developer?  See 
http://kegel.com/academy/getting-hired.html


Re: msi: detect registry keypaths

2005-02-22 Thread Aric Stewart
Ahh you are correct, That is unnecessary.  I can rework it or you can 
remove that test.
Thanks for pointing it out.

-aric
Alexandre Julliard wrote:
Aric Stewart <[EMAIL PROTECTED]> writes:
 

-FIXME("Only working for installed files, not registry keys\n");
-if ( GetFileAttributesW(path) != INVALID_FILE_ATTRIBUTES )
-rrc = INSTALLSTATE_LOCAL;
+if (path[0]=='0')
+{
+FIXME("Registry entry.. check entry\n");
+if (path[0])
+rrc = INSTALLSTATE_LOCAL;
+else
+rrc = INSTALLSTATE_ABSENT;
+}
   

Since path[0] is first checked against '0' this test doesn't seem to
make much sense. What are you trying to do here?
 




Re: status of wine dll's

2005-02-22 Thread Juan Lang
Alexandre wrote:
> I'm not convinced we want to remove it completely, there just might be
> an app somewhere that looks for it explicitly, and it doesn't cost
> anything to keep it.

If so, that app won't work on windows; most versions of windows only ship
with rsaenh.dll.  The only ones that have rsabase are really old versions,
and those that are sold in the crypto-export-restricted countries.  I
think removal makes more sense, keeping rsabase costs a little confusion.

--Juan



__ 
Do you Yahoo!? 
Read only the mail you want - Yahoo! Mail SpamGuard. 
http://promotions.yahoo.com/new_mail 



Re: dlls/gdi: fix GetGlyphOutline(resend)

2005-02-22 Thread Huw Davies
On Tue, Feb 22, 2005 at 11:31:30PM +0900, TANABE Hiroshi wrote:
> @@ -2903,7 +2901,8 @@
>  TM.tmStruckOut = font->strikeout;
>  
>  /* Yes TPMF_FIXED_PITCH is correct; braindead api */
> -if(!FT_IS_FIXED_WIDTH(ft_face))
> +if(!FT_IS_FIXED_WIDTH(ft_face) &&
> +   (pOS2->version == 0xU || pOS2->panose[3]!=9))
>  TM.tmPitchAndFamily = TMPF_FIXED_PITCH;
>  else
>  TM.tmPitchAndFamily = 0;


Isn't this a bug in FreeType?  If we have to have this in Wine, could
you use the defines in wingdi.h instead of the '3' and the '9'?

Huw.
-- 
Huw Davies
[EMAIL PROTECTED]



Re: regression

2005-02-22 Thread Oliver Stieber
 --- Mike Hearn <[EMAIL PROTECTED]> wrote: 
> On Tue, 22 Feb 2005 01:04:33 +, Oliver Stieber
> wrote:
> > It doesn't look like ole at all, 
> > I've attached the last bit of a log with
> more-or-less
> > everything turned on.
> 
> Well, I don't see the NtMapViewOfSection error in
> that log. I'm not sure
> what to make of it, that exception code is not in
> our ntstatus.h
> 
It turns out that NtMapViewOfSection isn't the direct
problem, The NtMapViewOfSection error message is
coming up with almost any app, but it was overwriting
the Creatures 2 backtrace is such a way they it looked
like part of the log.

> thanks -mike
> 
> 
>  





___ 
ALL-NEW Yahoo! Messenger - all new features - even more fun! 
http://uk.messenger.yahoo.com



Re: Checking Wine's spec files

2005-02-22 Thread Francois Gouget
On Mon, 21 Feb 2005, Alexandre Julliard wrote:
[...]
Yes I think they are very useful, though I wouldn't suggest blindly
fixing things based on the reports since I suspect that at least in
some cases we have wrong ordinals and this will cause complaints about
the wrong functions.
It turns out that a lot of the functions my script complains should have 
the -noname or not have the -noname property should:
 * really not have a name at all
 * or be marked as -private

Is this something we want to do?
This is shown by this small program which fails to link using the SDK's 
shell32.lib file:

__declspec(dllimport) int __stdcall DoEnvironmentSubst(int, int);
__declspec(dllimport) int __stdcall FileMenu_AbortInitMenu();
__declspec(dllimport) int __stdcall Shell_GetImageList(int, int);
__declspec(dllimport) int __stdcall SHRegCloseKey(int);
int main()
{
DoEnvironmentSubst(0,0);
FileMenu_AbortInitMenu();
Shell_GetImageList(0,0);
SHRegCloseKey(0);
return 0;
}

Similarly in kernel32.spec we have a bunch of entry-points for Windows 
9x APIs which Windows exports by ordinal only. However these APIs are 
given names:

  1 stdcall -register -i386 VxDCall0(long) VxDCall
 24 stdcall GlobalAlloc16(long long)
That seems wrong since none of the kernel32 dlls ever exports a VxDCall0 
or GlobalAlloc16 function. Shouldn't this be written as follows instead?

  1 stdcall -register -i386 @(long) VxDCall
 24 stdcall @(long long) GlobalAlloc16
The drawback is that this is going to make it harder to use these APIs 
from other dlls (as in one would have to use GetProcAddress())...
Is this something we want to do anyway? Maybe just for the functions 
which are not called from other dlls?

--
Francois Gouget [EMAIL PROTECTED]http://fgouget.free.fr/
I haven't lost my mind, it's backed up on tape around here somewhere...


Re: regression

2005-02-22 Thread Mike Hearn
On Tue, 22 Feb 2005 01:04:33 +, Oliver Stieber wrote:
> It doesn't look like ole at all, 
> I've attached the last bit of a log with more-or-less
> everything turned on.

Well, I don't see the NtMapViewOfSection error in that log. I'm not sure
what to make of it, that exception code is not in our ntstatus.h

thanks -mike




Re: Poor performance when using Texas Instruments code generation tools in Wine

2005-02-22 Thread Mike Hearn
On Tue, 22 Feb 2005 12:52:33 +0100, Anders RÃnningen wrote:
> We have done some profiling using oprofile, and found that most of this 
> time (96%) is spent in the HEAP_FindFreeBlock* *function in the ntdll 
> module. The time needed to locate a free heap block increases gradually, 
> from a few iterations up to about 15000 in the project we are building. 
> We suspect that this may be due to fragmentation caused by the heap 
> allocate/free algorithms.

That is quite possible. You can get a dump of the heap by doing a +heap
trace, so there must be a function somewhere that generates it. Just
trigger that when HeapFree gets too slow and see what it looks like.

You might (*might*) be able to get a feel for this by hacking the code to
use glibcs malloc/free instead of our own heap implementation (but
only when accessing the process heap). I do not know what might break if
you do that. Doug Leas malloc may or may not be higher performance than
ours.

thanks -mike




Re: ESD sound support in Wine 20050111

2005-02-22 Thread Mike Hearn
On Mon, 21 Feb 2005 13:11:46 -0800, Kumaran Santhanam wrote:
> I found a patch for ESD (Enlightenment Sound Daemon) support in Wine 
> from July 2004.  I modified this to work with Wine-20050111 and compiled 
> the wineesd.drv.so driver.  This driver works in both Wine and CrossOver 
> 4.1.  The patch and instructions are attached to this email.

Could you submit it to wine-patches please? An esd driver would be great!




RE: [ros-dev] RE: Collection of wine tools on windows

2005-02-22 Thread Casper Hornstrup
 

> -Original Message-
> From: [EMAIL PROTECTED] 
> [mailto:[EMAIL PROTECTED] On Behalf Of Steven Edwards
> Sent: 21. februar 2005 21:52
> To: ReactOS Development List; [EMAIL PROTECTED]; wine-devel@winehq.com
> Cc: [EMAIL PROTECTED]
> Subject: Re: [ros-dev] RE: Collection of wine tools on windows
> 
> Hi,
> 
> --- Casper Hornstrup <[EMAIL PROTECTED]> wrote:
> > I might vote for using WINE headers in ReactOS if WINE 
> relicensed its 
> > headers to a w32api or BSD like license that will allow use in a 
> > non-free application. What I would like to see most though, 
> is for all 
> > three projects to share w32api.
> 
> What do you mean? The headers are LGPL so you can use them in 
> a non-free application.
> 
> Thanks
> Steven

Yes, but then you need to publish the sources for the non-free application
under the LGPL. When using headers to build your application, you create a
derived work of those headers.

http://www.fsf.org/licensing/licenses/lgpl.html

"A "work based on the Library" means either the Library or any derivative work 
under copyright law: that is to say, a work
containing the Library or a portion of it, either verbatim or with 
modifications and/or translated straightforwardly into another
language. (Hereinafter, translation is included without limitation in the term 
"modification".)"

"4. You may copy and distribute the Library (or a portion or derivative of it, 
under Section 2) in object code or executable form
under the terms of Sections 1 and 2 above provided that you accompany it with 
the complete corresponding machine-readable source
code, which must be distributed under the terms of Sections 1 and 2 above on a 
medium customarily used for software interchange."

Casper




ESD sound support in Wine 20050111

2005-02-22 Thread Kumaran Santhanam
I found a patch for ESD (Enlightenment Sound Daemon) support in Wine 
from July 2004.  I modified this to work with Wine-20050111 and compiled 
the wineesd.drv.so driver.  This driver works in both Wine and CrossOver 
4.1.  The patch and instructions are attached to this email.

I have been using it for a few weeks and it seems to be working well. 
It would be great if it could be incorporated into the main Wine tree. 
Please let me know if you have any questions.

Best Regards,
Kumaran
Wine Enlightenment Sound Daemon support
---

[Jul 2004] Original driver code
by Zhangrong Huang <[EMAIL PROTECTED]>

[Feb 2005] Ported to Wine 20050111 and CrossOver Office Professional 4.1
by Kumaran Santhanam <[EMAIL PROTECTED]>


Instructions:
0) Make sure that esound-devel is installed.
1) Untar Wine-20050111.tar.gz
2) cd wine-20050111
3) patch -p1 configure
5) ./configure
6) make depend
7) make

Binary is built as dlls/winmm/wineesd/wineesd.drv.so


wineesd-20050111.patch.gz
Description: Zip compressed data


Re: possibly new regression

2005-02-22 Thread Sebastian Schlingmann
On Mon, 21 Feb 2005 21:49:32 +0100
Rein Klazes <[EMAIL PROTECTED]> wrote:

> On Sun, 20 Feb 2005 16:41:09 +0100, you wrote:
> 
> > On Sun, 20 Feb 2005 16:04:54 +0100
> > Rein Klazes <[EMAIL PROTECTED]> wrote:
> > > 
> > > Does this patch help?
> > > 
> > > Rein.
> > 
> > Unfortunately not - still the exact same error.
> 
> Surprise :(
> 
> OK, I can try once more, perhaps the counter is much more then the
> program expects (it resets when windows is restarted, here it counts up
> from 1970/1/1). Try attached patch (first reverse previous patch, them
> make; make install and test again)
> 
> Then if it does not work. As the patch fixes a real problem, reverting
> is not an option. You will need to debug this to find out why the crash
> happens.
> 
> If you run this with WINEDEBUG=+relay, can you look for both
> QueryPerformanceCounter or QueryPerformanceFrequency in the lines just
> before the crash?
> 
> With some luck the addresses of the call (look at ret=..) is near
> where the crash happens ( it is reported by the debugger: 0x00500280)
> and we can look at the disassembled code (debugger command 
> "disass adr1, addr2").
> 
> Rein.

Thanks a lot! That did it. Everything is back to normal again.

-- 
Sebastian Schlingmann




RE: Collection of wine tools on windows

2005-02-22 Thread Casper Hornstrup
 

> -Original Message-
> From: [EMAIL PROTECTED] 
> [mailto:[EMAIL PROTECTED] On Behalf Of Ivan Leo Puoti
> Sent: 21. februar 2005 09:26
> To: wine-devel@winehq.com
> Cc: [EMAIL PROTECTED]
> Subject: Re: Collection of wine tools on windows
> 
> Dimitrie O. Paun wrote:
>   > Heh, the MinGW folks seem to have some strange 
> requirements for their
> > headers, I don't think they'll drop theirs. But we can 
> start by having 
> > ReactOS adopt our headers.
> > 
> > We should also offer our headers as a separate package that 
> works out 
> > of the box as a replacement for the MinGW ones. This way people can 
> > just get our headers if they are better than the MinGW ones.
> 
> Can't the win32api package headers be used to replace the 
> mingw headers?
> 
> Ivan.

W32api IS the MinGW headers.

I might vote for using WINE headers in ReactOS if WINE relicensed
its headers to a w32api or BSD like license that will allow use in
a non-free application. What I would like to see most though, is
for all three projects to share w32api.

Casper




Re: Poor performance when using Texas Instruments code generation tools in Wine

2005-02-22 Thread Fabian Cenedese

>> We have done some profiling using oprofile, and found that most of this 
>> time (96%) is spent in the HEAP_FindFreeBlock* *function in the ntdll 
>> module. The time needed to locate a free heap block increases gradually, 
>> from a few iterations up to about 15000 in the project we are building. 
>> We suspect that this may be due to fragmentation caused by the heap 
>> allocate/free algorithms.
>> 
>Hi!
>  Maybe this can also explain the slowdown of long-running apps under wine ?
>For example, DC++ runs perfectly when started, but after 12 hours of operation
>the window updates, search and other program functions are so incredibly slow,
>that it's better to kill it and restart.
>   With regards, Pavel Troller

I don't know if that is specific to wine. The same happens to my edonkey on
WinXP. Uses more and more memory and also handles until a restart is the
better alternative.

bye  Fabi





Re: msi: detect registry keypaths

2005-02-22 Thread Alexandre Julliard
Aric Stewart <[EMAIL PROTECTED]> writes:

> -FIXME("Only working for installed files, not registry keys\n");
> -if ( GetFileAttributesW(path) != INVALID_FILE_ATTRIBUTES )
> -rrc = INSTALLSTATE_LOCAL;
> +if (path[0]=='0')
> +{
> +FIXME("Registry entry.. check entry\n");
> +if (path[0])
> +rrc = INSTALLSTATE_LOCAL;
> +else
> +rrc = INSTALLSTATE_ABSENT;
> +}

Since path[0] is first checked against '0' this test doesn't seem to
make much sense. What are you trying to do here?

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: SHELL32: cleanup, create unicode versions of some functions

2005-02-22 Thread Mike McCormack
Alexandre Julliard wrote:
Actually the right way to get rid of them is to convert to Unicode. In
the few cases where we actually have to work with Ansi characters they
will most likely be in the Unix codepage and then switching to
lstrcmpiA would be wrong.
I'm on the way to converting some of the shell32 code to unicode, so the 
strcasecmp instances in there won't be round for too long.

Mike



Re: Poor performance when using Texas Instruments code generation tools in Wine

2005-02-22 Thread Pavel Troller
> Hi !
> 
> We have some performance problems with Wine that we could use some help on..
> 
> Here's the story:
> 
> We have been using TI code generation tools (compiler and linker) on 
> Wine, and it has worked well. However, when we started evaluating newer 
> versions of the codegen tools, the linking time was dramatically 
> increased (from 20 sec to 30 minutes...).
> 
> We have done some profiling using oprofile, and found that most of this 
> time (96%) is spent in the HEAP_FindFreeBlock* *function in the ntdll 
> module. The time needed to locate a free heap block increases gradually, 
> from a few iterations up to about 15000 in the project we are building. 
> We suspect that this may be due to fragmentation caused by the heap 
> allocate/free algorithms.
> 
Hi!
  Maybe this can also explain the slowdown of long-running apps under wine ?
For example, DC++ runs perfectly when started, but after 12 hours of operation
the window updates, search and other program functions are so incredibly slow,
that it's better to kill it and restart.
   With regards, Pavel Troller



Re: Poor performance when using Texas Instruments code generation tools in Wine

2005-02-22 Thread Michael Stefaniuc
Anders Rønningen wrote:
Hi !
We have some performance problems with Wine that we could use some help 
on..

Here's the story:
We have been using TI code generation tools (compiler and linker) on 
Wine, and it has worked well. However, when we started evaluating newer 
versions of the codegen tools, the linking time was dramatically 
increased (from 20 sec to 30 minutes...).

We have done some profiling using oprofile, and found that most of this 
time (96%) is spent in the HEAP_FindFreeBlock* *function in the ntdll 
module. The time needed to locate a free heap block increases gradually, 
from a few iterations up to about 15000 in the project we are building. 
We suspect that this may be due to fragmentation caused by the heap 
allocate/free algorithms.

We do not have the same problem when building the code under Windows, so 
we tried to use the native ntdll.dll from Windows instead of 
ntdll.dll.so, hoping that this would solve the performance issue. We are 
aware that this is not recommended, but wanted to give it a try anyway. 
We added the dll file to the global dll-override section in the config 
file under ~/.wine/config, but it seems like Wine just looks for the 
builtin dll. We see from strace that we access the correct config file 
at startup. Is override of ntdll not supported, or have we missed 
something? If it is supported, is it likely that it is going to work?
ntdll is one of the DLLs which will never be able to be used in Wine. So 
 Wine ignores any dll-override line for it.

We have read some posts in the newsgroup about the heap issues. It seems 
that people agree that the heap should be improved, either by tweaking 
the existing code, or by using another heap implementation. Is any work 
planned on this?
Not that i know off. The Linux kernel VM is a good place to get ideas 
how to limit memory fragmentation.

bye
michael
--
Michael Stefaniuc   Tel.: +49-711-96437-199
Sr. Network EngineerFax.: +49-711-96437-111
Red Hat GmbHEmail: [EMAIL PROTECTED]
Hauptstaetterstr. 58http://www.redhat.de/
D-70178 Stuttgart



Re: Poor performance when using Texas Instruments code generation tools in Wine

2005-02-22 Thread Jonathan Wilson
native ntdll.dll requires kernel system call hooks that WINE doesnt support .
native ntdll.dll will never work on WINE.



Poor performance when using Texas Instruments code generation tools in Wine

2005-02-22 Thread Anders Rønningen
Hi !
We have some performance problems with Wine that we could use some help on..
Here's the story:
We have been using TI code generation tools (compiler and linker) on 
Wine, and it has worked well. However, when we started evaluating newer 
versions of the codegen tools, the linking time was dramatically 
increased (from 20 sec to 30 minutes...).

We have done some profiling using oprofile, and found that most of this 
time (96%) is spent in the HEAP_FindFreeBlock* *function in the ntdll 
module. The time needed to locate a free heap block increases gradually, 
from a few iterations up to about 15000 in the project we are building. 
We suspect that this may be due to fragmentation caused by the heap 
allocate/free algorithms.

We do not have the same problem when building the code under Windows, so 
we tried to use the native ntdll.dll from Windows instead of 
ntdll.dll.so, hoping that this would solve the performance issue. We are 
aware that this is not recommended, but wanted to give it a try anyway. 
We added the dll file to the global dll-override section in the config 
file under ~/.wine/config, but it seems like Wine just looks for the 
builtin dll. We see from strace that we access the correct config file 
at startup. Is override of ntdll not supported, or have we missed 
something? If it is supported, is it likely that it is going to work?

We have read some posts in the newsgroup about the heap issues. It seems 
that people agree that the heap should be improved, either by tweaking 
the existing code, or by using another heap implementation. Is any work 
planned on this?

--
Regards / Mvh - Anders Rønningen
Engineer R&D
TANDBERG
Phone:  +47 67 125 125
Direct: +47 67 838 584
Mobile: +47 97 791 217
Fax:+47 67 125 234
mailto:[EMAIL PROTECTED]
http://www.tandberg.net



Re: Microsoft genuine downloads looking for wine

2005-02-22 Thread Hans Leidekker
On Monday 21 February 2005 15:45, Bill Medland wrote:

> > > > By quickly looking at the program, I noticed it looks for a registry
> > > > key, this key is...
> > > > SOFTWARE\Wine\Wine\Config
> > > > the wine configuration key.

I was thinking, there may come a day when we have our own check
(say, "GenuWineCheck") to see if we're running genuine Wine, i.e.
builtin dlls only. Something like the "tainted" check in the linux
kernel, that enables you to discriminate binary-only modules.

Because, in the end, who would want to support applications on
Wine with binary only dlls mixed in? ;-)

 -Hans



Re: Pretty Good Solitaire shootout: Wine vs. Crossover

2005-02-22 Thread Fabian Cenedese

>> fixme:ole:SPCF_CreateInstance
>> (0x40a50d00,(nil),{7bf80980-bf32-101a-8bbb-00aa00300cab},0x403f1ec0),
>> creating stdpic with PICTYPE_NONE.
>> fixme:ole:OLEPictureImpl_Load Could only read 67468 of 138330 bytes in
>> no-header case?
>> fixme:ole:OLEPictureImpl_Load Unknown magic 746c, 67468 read bytes: 6c
>
>Basically what is happening here is that the format VB (sometimes) stores
>images in hasn't been fully reverse engineered. There are a few gaps in
>our knowledge.
>
>IIRC (I looked at this last summer) 0x746c means "Visual Basic resource"
>and is a trivial wrapper, the reason the code pukes out is that it seems
>to be wrapped twice or something. But I'm not sure why or what this means.

This looks like the error I already tried to fix last year (without knowing what
I did :)

http://www.winehq.org/hypermail/wine-devel/2004/01/0911.html
http://www.winehq.org/hypermail/wine-devel/2004/01/0968.html
http://www.winehq.org/hypermail/wine-devel/2004/02/0036.html
http://www.winehq.org/hypermail/wine-devel/2004/02/0053.html

Maybe that's worth trying again in your case.

bye  Fabi





Re: SHELL32: cleanup, create unicode versions of some functions

2005-02-22 Thread Alexandre Julliard
"Dmitry Timoshkov" <[EMAIL PROTECTED]> writes:

> Almost all of them can be directly replaced by lstrcmpiA, the exceptions are:

Actually the right way to get rid of them is to convert to Unicode. In
the few cases where we actually have to work with Ansi characters they
will most likely be in the Unix codepage and then switching to
lstrcmpiA would be wrong.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



How do I extract the symbols from a pdb file?

2005-02-22 Thread Fredrik Öhrström
Hi all! I am trying to to write a tool that uses the code in dbghelp to do 
this but I am unclear on
which interface I should use to do this. Can I link to dbghlp.dll.so or do I 
have
to write a tool inside Wine for this?

I am going to use the symbol info to load a full minidump and extract 
information from it

Thanks!
Fredrik Öhrström
_
Don't just search. Find. Check out the new MSN Search! 
http://search.msn.click-url.com/go/onm00200636ave/direct/01/