source: trunk/doc/ReleaseNotes.os2@ 330

Last change on this file since 330 was 330, checked in by bird, 22 years ago

3.2.2 alpha1

  • Property cvs2svn:cvs-rev set to 1.1
  • Property svn:eol-style set to native
  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 3.0 KB
RevLine 
[330]1
2
3 R e l e a s e N o t e s
4 +------------------------+
5
6
7
8v3.2.2 Alpha 1:
9---------------
10
11 This is the first release from Innotek, and it contains the Innotek LIBC.
12 In addition to the new LIBC there is a number of other major changes:
13
14 o Name mangling in OMF mode have changed.
15 Until this release emxomf used to pretty much strip one leading '_'
16 from symbols when converting them to omf. This is now longer done
17 chiefly in order to correctly support mangling calling conventions
18 like __stdcall and __cdecl. This change have the following side
19 effects:
20 - _System and __cdecl no longer produces the same names and hence
21 all OS/2 API which are _System must be declared as _System in
22 order to link.
23 - Assembly code might need an extra underscore to work, or
24 perhaps change the prototypes to _System.
25 - Global variables are prepended and underscore, so mixing VAC and
26 GCC, or accessing globals from asm, take care.
27 (MSC v6.0 does this too, so it's not any uncommon practise.)
28
29 The OS/2 headers which are included are all updated to use _System.
30
31 o TCPIP headers are updated a quite a bit to match the toolkit ones
32 and to reflect the fact that the new libc does not a having common
33 handle space for files and sockets. These changes aren't 100%
34 completed yet, and usage probably will uncover some issues left in
35 there. Also for the programmer there is the following changes in
36 the apis provided:
37 - TCPV40HDRS are supported and should work like with the toolkit
38 headers. It will alias all functions to tcpip40_ editions
39 (using #defines) so we get the right imports thru -llibsocket.
40 - There is no support for sockets in select(). To do select on
41 sockets you will have to use bsdselect() or os2_select().
42 bsdselect() is only available for TCPV40HDRS. For
43 !defined(TCPV40HDRS) fd_set is in the emx/bsd format and not the
44 OS/2 tcpip v5.0 format.
45 - Socket IOCTLs are not supported by the ioctl() libc function
46 because of the separate handle space for sockets. For sockets
47 so_ioctl() and os2_ioctl() are used. os2_ioctl() is not available
48 when TCPV40HDRS is defined. According to the tcpref in v5.0
49 so_ioctl() only supports BSD ioctls.
50 - writev() and readv() also clashes with libc. For socket handles
51 use so_writev() and so_readv().
52
53 o The prefered OMF linker is now ilink. link386 will fail with an odd
54 error message if you tell gcc/g++ to make debug info. Set the
55 EMXOMFLD_LINKER environment variable to value ilink in order to use
56 ilink as OMF linker.
57 It likely that we will change the default OMF linker to ilink in an
58 later version of the GCC suite.
59
60 o .... what did we forget...
Note: See TracBrowser for help on using the repository browser.