diff --git a/documentation/README.html b/documentation/README.html index 32c99da..3b642f5 100644 --- a/documentation/README.html +++ b/documentation/README.html @@ -71,21 +71,6 @@ other than the one that opened it. Also yet unsolved is the issue of reading error codes from the errno variable which currently always contains the error code left by the last caller.

-

Take care: thread-safety does not imply that you can have multiple callers -access and close the same file. There is no resource tracking to that degree -yet. All that the thread-safety tries to afford you is not to get into big trouble -if simultaneous and overlapping accesses to files, memory allocation and other -resources are taking place.

- -

Also take care with file I/O involving the stdin/stdout/stderr -streams; read/write operations on these streams will be mapped to the Input()/Output()/ErrorOutput() -file handles of the process performing these operations. Since only this small set of -operations is mapped, functions such as fcntl() or select() will not -work on the stdin/stdout/stderr streams and the corresponding -file descriptors STDIN_FILENO/STDOUT_FILENO/STDERR_FILENO. -It is therefore strongly recommended to use the thread-safe library only for applications -which can cope with the limitations described above.

-

3. What does it not do?

@@ -157,6 +142,37 @@ library and the programs.

GNUmakefile.68k for the 68k platform and GNUmakefile.os4 for the AmigaOS4 PowerPC version.

+

5.1 Floating point math and functions (scanf(), printf(), etc.)

+ +

The plain libc.a, which your software would be linked against by default, does not contain +any floating point support code. This means, for example, that printf("%f",...) will not produce +the desired output and that scanf("%f",...) may not read any data at all. If your +program needs functions such as these or atod() then you must link against libm.a or +the equivalent.

+ +

To link the floating point support code with your software, use the -lm compiler option. Careful! +The order in which you specify the libraries to link against is important here. Thus, gcc -o test test.c -lm -lc +would correctly link the program test against the proper floating point math library, but +gcc -o test test.c -lc -lm would not.

+ +

5.2 The thread-safe library

+ +

Thread-safety does not imply that you can have multiple callers +access and close the same file. There is no resource tracking to that degree +yet. All that the thread-safety tries to afford you is not to get into big trouble +if simultaneous and overlapping accesses to files, memory allocation and other +resources are taking place.

+ +

Also take care with file I/O involving the stdin/stdout/stderr +streams; read/write operations on these streams will be mapped to the Input()/Output()/ErrorOutput() +file handles of the process performing these operations. Since only this small set of +operations is mapped, functions such as fcntl() or select() will not +work on the stdin/stdout/stderr streams and the corresponding +file descriptors STDIN_FILENO/STDOUT_FILENO/STDERR_FILENO. +It is therefore strongly recommended to use the thread-safe library only for applications +which can cope with the limitations described above.

+ +

6. Conventions and design issues

diff --git a/documentation/specs b/documentation/specs index bc1591b..6bafdb4 100644 --- a/documentation/specs +++ b/documentation/specs @@ -17,7 +17,7 @@ *link: -%{fbaserel:%{!resident:-m amiga_bss -fl libb}} %{resident:-m amiga_bss -amiga-datadata-reloc -fl libb} %{fbaserel32:%{!resident32:-m amiga_bss -fl libb32}} %{resident32:-m amiga_bss -amiga-datadata-reloc -fl libb32} %{g:-amiga-debug-hunk} %{m68020:-fl libm020} %{mc68020:-fl libm020} %{m68030:-fl libm020} %{m68040:-fl libm020} %{m68060:-fl libm020} %{m68020-40:-fl libm020} %{m68020-60:-fl libm020} %{m68881:-fl libm881} +%{fbaserel:%{!resident:-m amiga_bss -fl libb}} %{resident:-m amiga_bss -amiga-datadata-reloc -fl libb} %{fbaserel32:%{!resident32:-m amiga_bss -fl libb32}} %{resident32:-m amiga_bss -amiga-datadata-reloc -fl libb32} %{g:-amiga-debug-hunk} %{m68020:-fl libm020} %{mc68020:-fl libm020} %{m68030:-fl libm020} %{m68040:-fl libm020} %{m68060:-fl libm020} %{m68020-40:-fl libm020} %{m68020-60:-fl libm020} *lib: %{mstackextend:-lstack} -lc -lamiga -ldebug -lgcc -lc @@ -26,7 +26,7 @@ *startfile: -%{resident32:nr32crt0.o%s mainb32.o%s}%{!resident32:%{fbaserel32:nb32crt0.o%s mainb32.o%s}%{!fbaserel32:%{resident:nrcrt0.o%s mainb.o%s}%{!resident:%{fbaserel:nbcrt0.o%s mainb.o%s}%{!fbaserel:ncrt0.o%s mainnb.o%s}}}} +%{resident32:nr32crt0.o%s}%{!resident32:%{fbaserel32:nb32crt0.o%s}%{!fbaserel32:%{resident:nrcrt0.o%s}%{!resident:%{fbaserel:nbcrt0.o%s}%{!fbaserel:ncrt0.o%s}}}} *switches_need_spaces: