diff options
| author | grischka <grischka> | 2008-03-31 19:50:58 +0000 |
|---|---|---|
| committer | grischka <grischka> | 2008-03-31 19:50:58 +0000 |
| commit | f22e961f805d25482d0eefabc7a1bca202cbe599 (patch) | |
| tree | 8da5d1e7cf2b1c303bbce38e83ac52fffda2daac /tcc-doc.texi | |
| parent | a327c7a55245536a00539f46b0cee689875e3754 (diff) | |
| download | tinycc-f22e961f805d25482d0eefabc7a1bca202cbe599.tar.gz tinycc-f22e961f805d25482d0eefabc7a1bca202cbe599.tar.bz2 | |
update manual, changelog
Diffstat (limited to 'tcc-doc.texi')
| -rw-r--r-- | tcc-doc.texi | 31 |
1 files changed, 19 insertions, 12 deletions
diff --git a/tcc-doc.texi b/tcc-doc.texi index 168a877..38426ca 100644 --- a/tcc-doc.texi +++ b/tcc-doc.texi @@ -414,13 +414,6 @@ is the same as writing @end itemize @section GNU C extensions -@cindex aligned attribute -@cindex packed attribute -@cindex section attribute -@cindex unused attribute -@cindex cdecl attribute -@cindex stdcall attribute -@cindex regparm attribute TCC implements some GNU C extensions: @@ -454,13 +447,22 @@ instead of @} @end example +@cindex aligned attribute +@cindex packed attribute +@cindex section attribute +@cindex unused attribute +@cindex cdecl attribute +@cindex stdcall attribute +@cindex regparm attribute +@cindex dllexport attribute + @item The keyword @code{__attribute__} is handled to specify variable or function attributes. The following attributes are supported: @itemize @item @code{aligned(n)}: align a variable or a structure field to n bytes (must be a power of two). - + @item @code{packed}: force alignment of a variable or a structure field to 1. @@ -478,6 +480,8 @@ section. between 1 and 3. The first @var{n} function parameters are respectively put in registers @code{%eax}, @code{%edx} and @code{%ecx}. + @item @code{dllexport}: export function from dll/executable (win32 only) + @end itemize Here are some examples: @@ -733,10 +737,13 @@ TCC for Windows supports the native Win32 executable file format (PE-i386). It generates both EXE and DLL files. DLL symbols can be imported thru DEF files generated with the @code{tiny_impdef} tool. -Currently TCC for Windows cannot generate nor read PE object files, so ELF -object files are used for that purpose. It can be a problem if -interoperability with MSVC is needed. Moreover, no leading underscore is -currently generated in the ELF symbols. +On the object file level, currently TCC supports only the ELF format, not COFF +as used by MINGW and MSVC. It is not possible to exchange object files or +libraries between TCC and these compilers. However libraries for TCC from objects +by TCC can be made using the @code{tiny_libmaker} tool or MINGW's @code{ar}. + +No leading underscore is generated in the ELF symbols. Only functions (no +data) can be exported. Bounds checking (@option{-b}) is not supported currently. @section GNU Linker Scripts @cindex scripts, linker |
