[M3devel] missed the memo? LINUXLIBC6 building WinBase?

Jay K jay.krell at cornell.edu
Sat Nov 23 12:13:43 CET 2013


This is deliberate, and slightly useful, and the warnings shouldn't occur in the head,
for several years now. Please upgrade more frequently.
 

In particular:
 

 - It is useful because "much" of the interfaces are describing types, 
   and types aren't just for function parameters, for functions that 
   aren't available, but they are used as part of files, and you can, 
   hypothetically, use them in your own functions (heck, you can
   write a Win32-on-Posix compatibility layer and provide the functions..).  
 

   In particular, mklib uses these types and is fairly portable. 
   It might have endian/alignment problems though, esp. endian. 
 

   I do have a plan to get rid of mklib though...i was slow to realize it
   because mklib exports too much and I wanted a replacement wthout that flaw,
   but just matching it is adequate. The frontend/backends shall output
   the .def files instead of mklib. And then the usual lib/ar/link can/should
  make the libraries. If anyone wants to use LTCG  on NT with the C backend,
  this is the way (or put everything in one source file via the backend, not a bad idea)..
 

  - In the past 20 years or so, there is only one widely used  
   platform that made the mistake of having multiple calling conventions 
   and that is NT/x86. Not NT in general, but NT/x86 specifically.  
   I expect nobody will make this mistake again. 
   I'm not sure MIPSo32/MIPSn32 or ARM-mess count as the same mistake. 
   On NT/x86, the calling convention does not bifurcate the entire target 
   and force building everything multiple times, because you can sprinkle it around and
   each "type" can call each "type". This is good and bad. 
   The other OS/processor combinations with multiple calling conventions
   define it as multiple ABIs with I believe no offical interop (except at the
   kernel level, for some of them). 
 

   Therefore, callling conventions can be safely ignored on all platforms except NT/x86. 
   Nobody will have any names to use here, overlapping the NT/x86 names or not. 
   If the day comes where I am wrong and some target has multiple conventions,
  we should change the pragma to accept multiple. If the names overlap with NT/x86,
  we would put platform qualifiers on them. Never again should we have the Win32 SQL.i3
  and Posix SQL.i3 that are the same, except for calling convention. What a waste -- almost
  the same, but for one little difference that could be handled another way, they go duplicated.
 That pattern bugs me.
 

  - Jay 



 
From: dragisha at m3w.org
Date: Fri, 22 Nov 2013 23:55:23 +0100
To: m3devel at elegosoft.com
Subject: Re: [M3devel] missed the memo? LINUXLIBC6 building WinBase?

Yes, it was in a memo. Sorry for disruption :).


On 22 Nov 2013, at 23:31, Dragiša Durić <dragisha at m3w.org> wrote:+ ./scripts/do-pkg.sh buildship m3core libm3 tcp/root/rpmbuild/BUILD/cm3/scripts/pkgmap.sh -c cm3 -build -DROOT='/root/rpmbuild/BUILD/cm3'   && cm3 -ship  -DROOT='/root/rpmbuild/BUILD/cm3'  m3core libm3 tc=== package m3-libs/m3core === +++ cm3 -build -DROOT='/root/rpmbuild/BUILD/cm3' $RARGS  && cm3 -ship $RARGS -DROOT='/root/rpmbuild/BUILD/cm3'  +++--- building in LINUXLIBC6 ---
ignoring ../src/m3overrides
new source -> compiling WinBase.i3"../src/win32/WinDef.i3", line 131: warning: unrecognized pragma (ignored) (WINAPI)"../src/win32/WinDef.i3", line 132: warning: unrecognized pragma (ignored) (WINAPI)"../src/win32/WinDef.i3", line 133: warning: unrecognized pragma (ignored) (WINAPI)"../src/win32/WinBase.i3", line 198: warning: unrecognized pragma (ignored) (WINAPI)"../src/win32/WinBase.i3", line 918: unsupported language or calling convention (WINAPI)"../src/win32/WinBase.i3", line 921: unsupported language or calling convention (WINAPI)"../src/win32/WinBase.i3", line 924: unsupported language or calling convention (WINAPI)"../src/win32/WinBase.i3", line 927: unsupported language or calling convention (WINAPI)"../src/win32/WinBase.i3", line 930: unsupported language or calling convention (WINAPI)"../src/win32/WinBase.i3", line 933: unsupported language or calling convention (WINAPI)"../src/win32/WinBase.i3", line 943: unsupported language or calling convention (WINAPI)"../src/win32/WinBase.i3", line 949: unsupported language or calling convention (WINAPI)"../src/win32/WinBase.i3", line 952: unsupported language or calling convention (WINAPI)"../src/win32/WinBase.i3", line 955: unsupported language or calling convention (WINAPI)

--Dragiša Durićdragisha at m3w.org




 		 	   		  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20131123/7b6b7b11/attachment-0002.html>


More information about the M3devel mailing list