source: trunk/src/emx/ChangeLog.LIBC@ 2231

Last change on this file since 2231 was 2230, checked in by bird, 20 years ago

* empty log message *

  • Property cvs2svn:cvs-rev set to 1.101
  • Property svn:eol-style set to native
  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 21.1 KB
Line 
1/* $Id: ChangeLog.LIBC 2230 2005-07-07 04:04:04Z bird $ */
2
32005-07-06: knut st. osmundsen <bird-gccos2-spam@anduin.net>
4 - libc:
5 o Changed utimes() to allow NULL pointer parameter.
6 Please note that BSD will crash in if you try it there.
7 o Renamed the BSD setmode to bsd_setmode and put back the
8 PC setmode.
9
102005-07-05: knut st. osmundsen <bird-gccos2-spam@anduin.net>
11 - libc:
12 o Fixed spawn/fork + fork() + exec/spawn/fork in the child.
13 o Kill any known decentants to prevent them from being
14 adopted by our parent. (On UNIX processes begin made
15 orphants are adopted and killed by the init process.)
16 o Added signal handler types for POSIX, BSD and GNU conformance.
17 o Reap embryos when the waiter thread is querying spm about
18 the death certificate. This, together with a tiny fix
19 in __spawnve() cures the bad spm process leaks when spawning
20 non-libc processes seen with make when building libc.
21
222005-07-04: knut st. osmundsen <bird-gccos2-spam@anduin.net>
23 - libc:
24 o Added the BSD optreset global to getopt.
25 o Changed PC setmode to _setmode. As it collides with a BSD 4.4. interface.
26 o Added the BSD 4.4. setmode/getmode functions from FreeBSD.
27 o Added getsid and getpgid, correcting the getpgrp implementation.
28 o Added/replaced setbuf, setbuffer and setlinebuf from BSD.
29
302005-07-03: knut st. osmundsen <bird-gccos2-spam@anduin.net>
31 - libc:
32 o Collected the different panic routines into one single routine
33 in the backend, __libc_Back_panic[V](). The routine supports
34 very simple printf like message formatting. By default it wil
35 dump any available registers and attempt dumping the process
36 before killing it. This behaviour can be configured with the
37 env var.: LIBC_PANIC=[nodump][terse][quiet][breakpoint]
38
392005-07-02: knut st. osmundsen <bird-gccos2-spam@anduin.net>
40 - libc:
41 o Added obstack.h and it's implementation from GLIBC.
42 o malloc and realloc must set errno to ENOMEM on failure.
43 o Fixed assertion during realloc(p, -256) to return failure
44 instead. Added a few more overflow checks.
45 o Added %m (GLIBC extension) to the printf familiy. %m means
46 priting strerror(errno), it takes no arguments.
47 o Fixed serveral bugs in the C/POSIX locale
48 o Implemented the LC_MESSAGES locale.
49 o Fixed mixup in fts.c port.
50 o Replaced the EMX ftw with the BSD one so we implement the SuS specs.
51 o Clear FD_CLOEXEC on the handle returned by dup, dup2 and fcntl(F_DUPFD,,).
52 o Fixed a buffer size validation bug in the backend for getcwd and
53 friends. Was requiring a byte to much.
54 o Updated some TCPIP headers with GLIBC __USE_MISC #includes. (more to go)
55 o sys/fcntl.h shall include sys/stat.h in XSI mode.
56 o Added stpncpy from GLIBC.
57 o Added sys/builtin.h to sys/smutex.h.
58 o Updated features.h and sys/gnu/cdefs.h with more recent versions from cvs.
59 o Ported from GLIBC 2.3.x CVS.
60 o Fixed some waitid() and waitpid() problems related to stopping and resuming children.
61 o Updated argz.h because of bustage caused by new cdefs.h (THROW).
62 - libcrypt:
63 o Created stub library.
64 - version.smak, libc.smak:
65 o Back to betas, beta6 now.
66
672005-07-01: knut st. osmundsen <bird-gccos2-spam@anduin.net>
68 - libc:
69 o Made isinf[lf] return -1 for negative infinity like GLIBC does.
70 o Added prototypes for nan[lf] to math.h, gcc inlines these.
71 o Ported GLIBC argp and getopt (argp requires the GLIBC one).
72 This means no optreset anylonger.
73 o Some corrections / hacks in the weak_alias departement.
74 o Shopped missing math stuff from GLIBC.
75 o Added fpu_control.h, ieee754.h and endian.h from the GLIBC tradition.
76
772005-06-30: knut st. osmundsen <bird-gccos2-spam@anduin.net>
78 - libc:
79 o Added fwide() (dummy until LIBC07).
80 o Renamed struct _FILE to struct __sFILE to match BSD.
81 o Added wait.h for GLIBC compatability, content is #include <sys/wait.h>.
82 o Added _D_EXACT_NAMLEN and _D_ALLOC_NAMLEN macros to sys/dirent.h to
83 make GLIBC code happy.
84 o Added REG_NOERROR to regex.h to make GLIBC code happy.
85 o The three default heap handles can be duplicates of one another, this
86 could cause deadlocks in certain cases usually involing tiled memory.
87 o Added asprintf() and vasprintf().
88 o Added get_current_dir_name() (GLIBC extension).
89 o Added the strdupa() and strndupa() GLIBC extensions. These are macros
90 use alloca() to allocate the memory for the string.
91 o Added the getdelim() and getline() GLIBC extensions.
92 o Added getlogin_r() (still just a fake).
93 o Added TEMP_FAILURE_RETRY() macro to unistd.h. This is yet another GLIBC hack.
94
952005-06-29: knut st. osmundsen <bird-gccos2-spam@anduin.net>
96 - *:
97 o Fixed stack alignment, it must be 16 bytes not 4!
98 o Fixed bustage caused by the include cleanup.
99 - libc:
100 o Added ieeefp.h and functions from FreeBSD - this is
101 the SysV/386 FP control interface. (inline only)
102 o Added fgets_unlocked and gets_unlocked.
103
1042005-06-28: knut st. osmundsen <bird-gccos2-spam@anduin.net>
105 - *:
106 o Released v0.6 beta 5.
107 o Changed versions to v0.6 rc1.
108 o Created the libc06b5 forwarder dll.
109 - libc:
110 o Added _NSIG and making NSIG and _NSIG equal to SIGRTMAX + 1.
111 o Added memrawchr and strchrnul from glibc, enabling us to shop .S
112 files from glibc at the same time.
113 o On glibc lot's of limits.h stuff is included from direct.h because of
114 need for NAME_MAX, let's do something similar.
115 o Corrected MAXNAMLEN / d_name field length.
116
1172005-06-27: knut st. osmundsen <bird-gccos2-spam@anduin.net>
118 - emxomfld, ld:
119 o Generate .def-file for dlls without one. (This only makes sense for
120 emxomfld since ld doesn't implement __declspec(dllexport) yet, but
121 anyway.)
122 - emxomf, emxomfld:
123 o Kicked out all the old weak handling (from early 3.2.2 alphas).
124
1252005-06-26: knut st. osmundsen <bird-gccos2-spam@anduin.net>
126 - libc:
127 o Added [__]isinf[fl] which seems to have been mislaid during the
128 math source import.
129 o Rewrote the libcXXXX.dll install rule to not play with emxload since
130 emxload sticks around when first loaded.
131 o Made unsetenv() cause tzset reload just like putenv() and setenv().
132 o Changed putenv() behaviour for removal (no '=' in input) to be identical
133 to unsetenv(). This solves duplicate variable testcase.
134 o Changed filestreams opened for both reading and writing to switch
135 more willingly between read and write mode.
136 o Made sscan() return EOF on EOF.
137 o Made sscan() skip blanks in input for '%%'.
138 o Implemented the stdio_unlocked stuff with BSD and GLIBC extension.
139 TODO: Require a new locktype which support recursive usage! Currently
140 a hack using 8 free flag bits is used.
141 o Corrected realpath() behaviour to return the path up to the failure
142 point on error. _realrealpath() also does this now.
143 (This also saves us a temp buffer and a copy of the result.)
144 o Fixed a bug in the handling of ".." in the path resolver.
145 o Extended that path resolver to check the directoryness of the input
146 according to flags and any trailing slashes.
147 o Change the path resolver to be very strict about UNC - UNC have exactly
148 two slashes at the start of the path.
149
1502005-06-25: knut st. osmundsen <bird-gccos2-spam@anduin.net>
151 - libc:
152 o Fixed SIGINT and similar issues with fork().
153 TODO: LIBC signals depending on 16-bit OS/2 signals will
154 still cause trouble, this needs fixing.
155 o Extended the fmutex error message.
156 o Fixed regression in the fmutex must completion code (bad fs handling).
157
1582005-06-23: knut st. osmundsen <bird-gccos2-spam@anduin.net>
159 - libc:
160 o Fixed some more incorrectness of the 'C' locale, it only
161 defines the first 128 chars.
162 o Build hack for math.h.
163 o Updated sys/stat.h, sys/resource.h and sys/_types.h to
164 FreeBSD 5.3 level.
165 o btowc(): WEOF is 32-bit, wchar_t is 16.
166 o *printf(): wide char support.
167 o sysctl(): Changed the boottime alogrithm.
168 o strxfrm(): Corrected the return values.
169 o __ftime(): Corrected regression causing the time to be 35 years wrong.
170 o strftime(): Added C99 %F.
171 o strptime(): Fixed a few parsing and calculation bugs.
172
1732005-06-19: knut st. osmundsen <bird-gccos2-spam@anduin.net>
174 - libc:
175 o File resize optimization: The JFS, HPFS and probably NET
176 will never return space which isn't zeroed when expanding
177 a file. Associate a file system information object with the
178 filehandles to keep track of such features. This also fixes
179 the fsStatFH() implementation trouble.
180 This attribute doesn't apply to CDFS. While RAMFS fails
181 the test, it zeros at open but not at setfilesize.
182 o Fixed invalid inode and dev numbers for new files, was passing
183 the wrong path around.
184
1852005-06-13: knut st. osmundsen <bird-gccos2-spam@anduin.net>
186 - libc:
187 o Auto init fmutexes.
188 o Fixed potential deadlock the first time a must-complete
189 fmutex was entered.
190 o Replaced mktemp and mkstemp with BSD versions. Also adding
191 mkstemps, mkdtemp, arc4random, arc4random_addrandom and
192 arc4random_stir.
193 o Limited the namespace pollution caused by machine/param.h
194 (included by sys/param.h which is used by lot's of tcpip headers).
195 Define _BSD_NAMESPACE_POLLUTION to get it all.
196 o Fixed bug in getitimer/setitmer, it didn't zero the old value struct
197 if the timer wasn't running.
198 o Fixed a bug in __ftime(), the time was jolting around.
199
2002005-06-12: knut st. osmundsen <bird-gccos2-spam@anduin.net>
201 - libc:
202 o Changed the LIBC_PATHREADWRITERS to a generic LIBC_HOOK_DLLS.
203 See src/emx/src/lib/sys/hooks.c for details.
204
2052005-06-11: knut st. osmundsen <bird-gccos2-spam@anduin.net>
206 - libc:
207 o The smallcnv stuff is gone, waste of space since we're not really into
208 static linking. Should've done this when switching to gdtoa.
209 o Ported the msun and some other math bits from current FreeBSD libc.
210 This mostly replaces the EMX math, except for some double long variants
211 and some EMX specific ones. This is a risky change, but it's needed
212 if we're gonna catch up on the C99 bits and make libstdc++ happy.
213 There are some new headers, complex.h and fenv.h being the importan ones.
214 float.h have gotten some updates while math.h is totally replaced.
215 More than 100 standard functions were added!
216 NOTE: msun is using MATH_ERREXCEPT (math_errhandling) and not
217 MATH_ERRNO for error reporting.
218 I really hope this is not gonna uncover more OS/2 387 mess.
219 o Handle .cmd, .bat, .btm and hash-bang script files if DosExecPgm()
220 fails. (I'm a little bit uncertain about argv[0], but it appears to work.)
221
2222005-06-05: knut st. osmundsen <bird-gccos2-spam@anduin.net>
223 - libc:
224 o the setitimer backend was making incorrect assumptions about the
225 HTIMER range - NULLHANDLE is valid for HTIMER. Changed it to use ~0U
226 as invalid handle. (untested)
227 o Default TCPIP mode is __USB_LIBC_TCPIP. When either TCPV40HDRS or TCPV41HDRS
228 are defined we are in strict mode and __USB_LIBC_TCPIP will not be defined.
229 - libomflib, emxomfar:
230 o Allow multiple modules by the same basename. This is not in tradition with
231 other librarians, but it solves incompatible behaviour between emxomfar and ar.
232 - ld:
233 o Avoid using alloca since we might easily run out of stack for big objects
234 with debuginfo.
235 - emxomf:
236 o Added support for new EMX a.out stab N_EXP (0x6c). This encodes export
237 definitions. (gcc can do __declspec(dllexport) now.)
238 TODO: ld needs updating, probably this is the right time to drop the
239 old ld and fixup the binutils port!
240
2412005-05-08: knut st. osmundsen <bird-gccos2-spam@anduin.net>
242 - libc:
243 o Added _getenv_[int|long|longlong]. Using this for LIBC_THREAD_MIN_STACK_SIZE.
244 o Ported the BSD SysV Semaphore module.
245 o Added a signal notification callback to the thread structure.
246 o Changed tcpip term callback to more generic exitlist callback (SPM).
247 o Ported the BSD SysV Shared Memory module.
248
2492005-05-05: knut st. osmundsen <bird-gccos2-spam@anduin.net>
250 - libc:
251 o Added fts.h and ported the BSD implementation.
252 It's not 100% correct since we're lacking fchdir and cannot open
253 directories - will update it when this is in place.
254 o Disabled the UF_ and SF_ defines in sys/stat.h since we don't have st_flags.
255 o Added mkfifo (stub).
256 o Added lutimes and futimes, replacing __utimes.
257
2582005-05-01: knut st. osmundsen <bird-gccos2-spam@anduin.net>
259 - libc:
260 o Fixed incorrect d_type returned by readdir and readdir_r.
261 o Changed chdir() to unix style, added _chdir_os2() as a backwards compatible
262 api. _chdir2() and chdir() are operating identically now.
263 o Fixed several incorrect/incomplete path resolve cases. Some causing
264 invalid ino values.
265 o Unlock the libc DLL before installing it (cp, make or someone might be using it).
266 o Unix root rewrite rule ends it's pszTo with a slash, this caused
267 two slashes and thus UNC trouble.
268 o Quick rewrite of access() (also affects eaccess()) to work in chroot environment.
269 o Added O_BINARY to all opens in bsd/db.
270
2712005-04-30: knut st. osmundsen <bird-gccos2-spam@anduin.net>
272 - libmoddef:
273 o Allow empty definition strings. (weakld failed on python _curses_m)
274 - weakld:
275 o Fixed incorrect .def-file parse error message.
276 - sys/param.h:
277 o Added MAXBSIZE, BKVASIZE and BKVAMASK which are used by some BSD tools.
278 - libc:
279 o Added fchmod and reimplemented chmod and lchmod. Still missing FS level
280 unix attribute handling, but this is a start.
281
2822005-04-25: knut st. osmundsen <bird-gccos2-spam@anduin.net>
283 - libc:
284 o Added the sysctl interface from BSD. Not all values are
285 supported, nor are we compatible with tcpip41 sysctl yet.
286
2872005-04-24: knut st. osmundsen <bird-gccos2-spam@anduin.net>
288 - libc:
289 o Fixed bug in getfsstate(). (df from coreutils works now!)
290 o Implemented process priority management. Added nice(), setpriority()
291 and getpriority() in the process.
292 o Added process enumeration and access function to sharedpm.
293
2942005-04-23: knut st. osmundsen <bird-gccos2-spam@anduin.net>
295 - emxomf:
296 o Refined the 'G' hack fixing globals in the text segment.
297 - libc:
298 o Added cs:eip to the abnormal termination message. (signals.c)
299 o Default stack size 512KB when caller specifies 0. (beginthr.c)
300 o Use the env.var. LIBC_THREAD_MIN_STACK_SIZE value as a byte count
301 specifying the minimum stack size. When not specified minium size
302 defaults to 4096. (beginthr.c)
303 o Added the libsocket and libsyslog libraries to the libc IMPORT library.
304 There are now two sets of libc_dll.a/lib libraries, one for tcpipv4 and
305 one for tcpipv41+ (default).
306 o Added nanosleep() and changed usleep() and sleep() to use it.
307 o Added wmemcpy(), wmemset(), wmemcmp(), wmemchr() and wmemmove(). (untested)
308 o Added SUN/HP/RTLinux api gethrtime() as a wrapper around the DosTmr* apis.
309 o Rewrote atexit() fixing problem with the callbacks calling exit() recursivly
310 and adding on_exit().
311 o Added stdio_ext.h and implemented __fpending() and __fbufsize().
312 (Just to make coreutils easier to port.)
313
3142005-03-23: knut st. osmundsen <bird-gccos2-spam@anduin.net>
315 - src/lib/sys/__spawnve.c:
316 o Fixed double free of pFS (should've been pSig).
317 Thanks for froloff.
318
3192005-03-19: knut st. osmundsen <bird-gccos2-spam@anduin.net>
320 - 386/builtin.h:
321 o Fixed serveral bugs in the atomic inc/dec functions.
322 Added a testcase for these.
323 - libc:
324 o Fixed various typos in the socket per process counting. Thanks to
325 nickk for point these out.
326
3272005-03-13: knut st. osmundsen <bird-gccos2-spam@anduin.net>
328 - version.smak:
329 o 6b4 -> 6b5.
330
331 - libc:
332 o Implemented socket duplication.
333 o Fixed various socket close & fork bugs.
334 o Applied parts of tcpipver patches from Lorne and Froloff.
335 o Fixed various UNC trouble reported by David.
336 o Fixed open problem in DosEx.
337 o Fixed incorrect pool allocation in DosEx.
338 o Fixed missing free pool item in DoxEx - *big* leak.
339 o Fixed TID/PID mixup when calling DosVerifyPidTid() from fmutex wait loop.
340 o Applied patch from Nickk for broken settimeofday().
341 o Moved iconv into LIBC.
342 o Ported GLIBC intl and made it a part of LIBC.
343 o Implemented -Zargs-wild and -Zargs-resp crt0 variations.
344 o Added support for single quoted arguments. (pray this doesn't screw up...)
345 o Replaced the __atod implementation with the NETLIB gdtoa implementation
346 used by BSD. (The old routine kept hitting assertions.)
347 o Created libc06a4 forwarder dll.
348
349 - libiconv, libdl, libm:
350 o Made these empty stub libraries.
351
352 - emxomf:
353 o Fixed getopt(,,"l::") problem. BSD getopt doesn't pass FLAG_PERMUTE for getopt and
354 thus it would consume the next argument unless it was an option. Using
355 getopt_long(,,"l::", NULL, NULL) solves the problem.
356
357 - testcases:
358 o Testcases for various new problems/code.
359
3602005-02-01: knut st. osmundsen <bird-gccos2-spam@anduin.net>
361 - libc:
362 o Fixed bogus bubble sort in setlocale/LC_COLLATE.
363
3642005-01-31: knut st. osmundsen <bird-gccos2-spam@anduin.net>
365 - libc:
366 o Applied readdir_r() errno fix from Lorne.
367 o Fixed lstat() backend on request from Lorne.
368
3692005-01-30: knut st. osmundsen <bird-gccos2-spam@anduin.net>
370 - libc:
371 o Applies setlocale patch from Lorne which fixes two bugs in LC_COLLATE.
372
3732005-01-28: knut st. osmundsen <bird-gccos2-spam@anduin.net>
374 - libc:
375 o Applied setlocale patch from Lorne.
376 o Faked the C99 lconv additions by copying the local ones.
377
3782005-01-16: knut st. osmundsen <bird-gccos2-spam@anduin.net>
379 - libos2:
380 o Added SafeDosStartSession from Dmitry Froloff.
381 - libc:
382 o Fixed year problem in settimeofday.
383 o Check if fxsave/fxrstor is supported before using them in fork().
384 ASSUMES cpuid eax=1 works on all targets.
385 o Implemented nl_langinfo(CODESET).
386 o Added bunch a of ASCII codeset name conversions.
387 o Fixed bug in socket inherit over exec/spawn. Thanks to Froloff.
388 o Forgot to take the signal semaphore when receiving a signal
389 from the 16bit handler. Thanks to Froloff.
390 o rmdir errno fix from Lorne.
391 o rmdir shall fail on symlink.
392 o rmdir shall return ENOTDIR if the path isn't a directory (but exists).
393 o Fixed setlocale(LC_ALL/LC_MONETARY, "C").
394 o Changed the process reaper to use internal signal api to skip some overhead.
395 o Fixed a return path from signal raise where the signal sem wasn't
396 released. (The out of queue node hang.)
397 - libsocket:
398 o os2_select: Fixed a couple of filehandle conversion bugs. Thanks to Froloff.
399 o soclose shouldn't return EBADF but ENOSOCK according to the specs.
400 - libsocket, libc:
401 o Return ENOSOCK instead of ENOSYS when attempting socket operation on filehandle.
402
403
4042005-01-??: knut st. osmundsen <bird-gccos2-spam@anduin.net>
405 - libc:
406 o Fixed problem with fork'ed children beliving they were
407 still forking after fork() returned. (DLL load issue)
408 o Fixed signal queue node leak. Thanks to Lorne.
409
4102004-12-20: knut st. osmundsen <bird-gccos2-spam@anduin.net>
411 - libc:
412 o Added inode and dev calculation for fstat and stat.
413 TODO: save unix EAs. opendir d_fileno?
414 o Ported all string/w* functions from FreeBSD except wcsxfrm.c.
415
4162004-12-12: knut st. osmundsen <bird-gccos2-spam@anduin.net>
417 - os2emx.h:
418 o Corrected define of NP_NBLK. (thanks to froloff)
419 - __mcount:
420 o Export stub in all builds but the profiling build.
421 - libdl:
422 o Removed and stubbed it (install). It's all in LIBC now.
423 TODO: make libm and libdl stubbing in LIBC!
424
4252004-12-09: knut st. osmundsen <bird-gccos2-spam@anduin.net>
426 - waitpid(), waitid(), wait(), wait4(), wait3(),
427 __libc_Back_processWait():
428 o Fixed missing WNOHANG handling.
429 Created waitpid-1.c testcase in testcase/misc for this problem.
430 o Clearified error codes ECHILD and EINVAL, use the waitpid() specs.
431
432 - ChangeLog.Libc:
433 o Created this file.
434
Note: See TracBrowser for help on using the repository browser.