| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
tests/Makefile:
- print-search-dirs when 'hello' fails
- split off hello-run
win32/include/_mingw.h:
- fix for compatibility with mingw headers
(While our headers in win32 are from mingw-64 and don't have
the problem)
tiny_libmaker:
- don't use "dangerous" mktemp
|
| |
|
|
|
|
|
|
| |
Should fix some warnings wrt. access out of array bounds.
tccelf.c: fix "static function unused" warning
x86_64-gen.c: fix "ctype.ref uninitialzed" warning and cleanup
tcc-win32.txt: remove obsolete limitation notes.
|
| |
|
|
|
| |
Use ${parameter%word} construct to fix fn_dirname in configure script.
Bonus: on less fork.
|
| |
|
|
|
|
|
|
| |
Also:
- fix "make tcc_p" (profiling version)
- remove old gcc flags:
-mpreferred-stack-boundary=2 -march=i386 -falign-functions=0
- remove test "hello" for Darwin (cannot compile to file)
|
| |
|
|
|
|
|
|
|
|
|
|
| |
With:
tcc -g hello.c
gdb a.out
b main
gdb refused to know "main" because of broken dwarf info.
This partially reverts commit 0d598aca087e46ea67f97dda50df3eed522d5e7a.
I don't remember what the problem was but it was the wrong way
to fix it.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
tests:
- add "hello" to test first basic compilation to file/memory
- add "more" test (tests2 suite)
- remove some tests
tests2:
- move into tests dir
- Convert some files from DOS to unix LF
- remove 2>&1 redirection
win32:
- tccrun.c: modify exception filter to exit correctly (needed for btest)
- tcctest.c: exclude weak_test() (feature does not exist on win32)
|
| | |
|
| |
|
|
|
| |
When copying function arguments on stack in prolog, use multiple of 4
bytes for alignment.
|
| |
|
|
|
| |
For consistency with tcc_add_symbol().
Use uintptr_t here also.
|
| |
|
|
|
| |
Hack before a complete solution after 0.9.26's release to be able to
compile tcc with clang.
|
| | |
|
| | |
|
| |
|
|
| |
I forgot the commas.
|
| |
|
|
|
|
| |
- #define addr_t as ElfW(Addr)
- replace uplong by addr_t
- #define TCC_HAS_RUNTIME_PLTGOT and use it
|
| | |
|
| | |
|
| |
|
|
| |
Also use uppercase TRUE/FALSE instead of true/false
|
| |
|
|
|
|
| |
Fix initialization of args_size before doing register allocation.
When adding hardfloat calling convention the initialization stopped
being performed when !defined (TCC_ARM_EABI).
|
| |
|
|
|
| |
Cast to integer should not be affected by the current rounding mode
as set by fesetround.
|
| |
|
|
| |
The signed flag was not encoded in the instruction.
|
| |
|
|
| |
The source register was not encoded in the instruction.
|
| |
|
|
| |
This reverts commit 93785149ed61b7165510ff30149f297cf0821c88.
|
| |
|
|
| |
This reverts commit 505329b5b3ee4cb47d0a3590ccd62a65dbf83fc9.
|
| | |
|
| |
|
|
| |
This reverts commit 981eb84d8ab91aafe73d5eeb218ffe31d28b1014.
|
| | |
|
| |
|
|
|
|
| |
Make sur elf_hash is never invoked with a NULL value.
Signed-off-by: Thomas Preud'homme <robotux@celest.fr>
|
| |
|
|
|
|
| |
Initialize the ref field to 0 when manipulating a CType.
Signed-off-by: Thomas Preud'homme <robotux@celest.fr>
|
| |
|
|
|
|
| |
Add tcc.c as a prerequesite of the %-tcc$(EXESUF) target and compile $<
instead of tcc.c to make sure tcc.c is search in directories specified
by VPATH.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
| |
Also
- move CPPFLAGS to Makefile
- Use top_srcdir in lib/Makefile
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
Favor ARM hardfloat over ARM softfloat calling convention. In
particular, this solve the problem of the raspbian distribution where
the softfloat ld.so pathname (lib/ld-linux.so.3) is actually a symlink
to the hardfloat ld.so pathname (/lib/arm-linux-gnueabihf/ld-2.13.so).
|
| |
|
|
|
|
| |
Fix overflow detection for R_ARM_CALL, R_ARM_PC24, R_ARM_JUMP24 and
R_ARM_PLT32 relocations on ARM. 26 bits means 25 bits for positive and
negative offsets !
|
| |
|
|
|
| |
Ensure stack pointer is correctly adjusted in prolog to be aligned on 8
bytes after the change of frame linking.
|
| |
|
|
|
|
|
|
| |
gcc fails the builtin_frame_address test on ARM so we disable it. As a
consequence, the diff between gcc and tcc's output is unecessarily
bigger. Given the big size of the diff currently, this doesn't make a
big difference but may allow to detect a regression in tcc's
implementation of builtin_frame_address.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Change the linking of the frames on ARM. Instead of having fp points 12
bytes above where the old fp is stored, let fp points where the old fp
is stored. That is, we switch from:
| . |
| . |
| . |
| |
| params | <-- fp
--------
| oldlr |
--------
| oldip |
--------
| oldfp |
--------
to:
| . |
| . |
| . |
| |
| params |
--------
| oldlr |
--------
| oldip |
--------
| oldfp | <-- fp
--------
|
| | |
|
| |
|
|
|
|
|
|
| |
Indirect functions shall have STT_FUNC type in executable dynsym
section. Indeed, a dlsym call following a lazy resolution would pick the
symbol value from the executable dynsym entry. This would contain the
address of the function wanted by the caller of dlsym instead of the
address of the function that would return that address.
|
| |
|
|
|
|
|
|
|
| |
Not wise if stddef.h was already included. This is related to commit
3aa26a794e24a298493a2bc9d70fbd9aebf6437a
Instead hack stddef.h to have identical definition and thus
avoid the issue mentionned there.
|
| |
|
|
|
|
| |
Store [f]getc return value into an int instead of char, as per
prototype. This fix an issue when char is unsigned (as is on arm for
both tcc and gcc).
|
| |
|
|
|
|
|
|
|
|
| |
This reverts commit 63193d1794b037eb4f3b6551596fa8a6d423e0c3.
Had some problems (_STATIC_ASSERT) and was too ugly anyway.
For retry, I'd suggest to implement a general function
static inline void memswap (void *p1, void* p2, size_t n);
and then use that. If you do so, please keep the original code
as comment.
|
| |
|
|
|
|
|
| |
from commit fc574f14984d11f1ead50560d1bdc5ae0eaf6d8d.
The files from include are copied to win32/include with make
install or build-tcc.bat.
|
| |
|
|
|
| |
Fix path of Makefile symlinks in a out-of-tree build where the root
directory of the source is given as a relative path.
|
| |
|
|
| |
This fix commit e79281f58ec302e8cc9dfc7d00e06f426fcd2acd
|
| |
|
|
|
|
|
|
| |
monolitic executable or library that contains all needed to compile programs, truly tinycc portable."
This reverts commit 59e18aee0e509a3ca75dbe6f909e18c1d17893d1.
tcc is being stabilized now in order to do a new release soon.
Therefore, such a change is not appropriate now.
|