mirror of
https://github.com/frida/tinycc
synced 2024-11-24 08:39:37 +03:00
update manual, changelog
This commit is contained in:
parent
a327c7a552
commit
f22e961f80
@ -1,8 +1,11 @@
|
||||
version 0.9.24:
|
||||
|
||||
- added verbosity levels -v, -vv, -vvv
|
||||
- Accept standard input as an inputstream (Hanzac Chen)
|
||||
- Support c89 compilers other than gcc (Hanzac Chen)
|
||||
- -soname linker option (Marc Andre Tanner)
|
||||
- Just warn about unknown directives, ignore quotes in #error/#warning
|
||||
- Define __STDC_VERSION__=199901L (477)
|
||||
|
||||
- Switch to newer tccpe.c (includes support for resources)
|
||||
- Handle backslashes within #include/#error/#warning
|
||||
- Import changesets (part 4) 428,457,460,467: defines for openbsd etc.
|
||||
|
2
Makefile
2
Makefile
@ -66,7 +66,7 @@ test: test.ref test.out
|
||||
@if diff -u test.ref test.out ; then echo "Auto Test OK"; fi
|
||||
|
||||
tcctest.ref: tcctest.c
|
||||
$(CC) $(CFLAGS) -I. -o $@ $<
|
||||
$(CC) $(CFLAGS) -w -I. -o $@ $<
|
||||
|
||||
test.ref: tcctest.ref
|
||||
./tcctest.ref > $@
|
||||
|
31
tcc-doc.texi
31
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
|
||||
|
2
tcc.c
2
tcc.c
@ -1035,6 +1035,7 @@ static char *pstrcat(char *buf, int buf_size, const char *s)
|
||||
return buf;
|
||||
}
|
||||
|
||||
#ifndef LIBTCC
|
||||
static int strstart(const char *str, const char *val, const char **ptr)
|
||||
{
|
||||
const char *p, *q;
|
||||
@ -1050,6 +1051,7 @@ static int strstart(const char *str, const char *val, const char **ptr)
|
||||
*ptr = p;
|
||||
return 1;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* extract the basename of a file */
|
||||
static char *tcc_basename(const char *name)
|
||||
|
Loading…
Reference in New Issue
Block a user