aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* More aggressive 'uncasting' before storing small integersxleroy2012-06-302-104/+145
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1944 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* checklink: Faster printingvarobert2012-06-292-64/+121
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1943 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* checklink: Indentationvarobert2012-06-291-17/+17
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1942 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* checklink: removed garbage codevarobert2012-06-291-1/+1
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1941 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* Changelog: updatedxleroy2012-06-285-28/+97
| | | | | | | | | | driver/Interp.ml: clean up dead code lib/Integers.v: add shifted_or_is_add lib/Floats.v: add from_words_eq .depend: updated git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1940 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* Use Flocq for floatsxleroy2012-06-2854-168/+26114
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1939 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* Make min_int / -1 and min_int % -1 semantically undefinedxleroy2012-06-0916-44/+81
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1919 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* More properties on mul/div/modxleroy2012-06-091-0/+39
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1918 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* checklink: improved user-friendlinessvarobert2012-06-045-161/+184
| | | | | | | | Command-line options have been renamed and reordered. Error messages verbosity is more fine-grained. Possibly spurious debug messages are more clearly separated from the actual conclusions of the process. git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1913 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* checklink: improved error messagesvarobert2012-06-012-16/+48
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1909 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* checklink: new disassembler, error severity, ...varobert2012-06-015-1054/+1085
| | | | | | | | | | | | | | - Added the -disass command-line option to disassemble symbols found in the ELF ; - Field mismatch now stops the matching of two code fragments, while it used to only emit an error in the log ; - Fixed a long-lasting bug in the command-line option ; - Some error messages have been improved. git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1908 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* checklink: better error messagesvarobert2012-05-311-9/+10
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1907 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* checklink: fixed FSQRTEx parsingvarobert2012-05-311-1/+1
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1906 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* Better error reports for checklinkvarobert2012-05-302-77/+98
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1905 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* Removed Oandimm, etc, cases, because of 2-address constraints...xleroy2012-05-292-24/+0
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1904 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* Memdata: cleanup continuedxleroy2012-05-262-178/+131
| | | | | | | Maps: add filter1 operation (could be useful some day) git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1903 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* CSE: add recognition of some combined operators, conditions, and addressing ↵xleroy2012-05-2628-471/+1172
| | | | | | | | | | modes (cf. CombineOp.v) Memory model: cleaning up Memdata Inlining and new Constprop: updated for ARM. git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1902 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* cchecklink continues when sections overlapvarobert2012-05-243-62/+77
| | | | | | | cchecklink now reports overlapping sections but keeps analyzing. Error messages have also been made clearer. git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1901 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* More efficient implementation of reg_valnumxleroy2012-05-222-90/+168
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1900 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* Merge of the newmem branch:xleroy2012-05-2149-1945/+5923
| | | | | | | | | | - Revised memory model with Max and Cur permissions, but without bounds - Constant propagation of 'const' globals - Function inlining at RTL level - (Unprovable) elimination of unreferenced static definitions git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1899 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* Hack with nxorxleroy2012-05-183-0/+10
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1898 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* Use freg <-> 2 ireg move instructions to fix up calling conventionsxleroy2012-05-181-4/+2
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1895 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* cchecklink now reads segments instead of sectionsvarobert2012-05-108-285/+354
| | | | | | | | | | | | | cchecklink is now using program header information to figure out the initial address space of the program, rather than the information in the parent section of each symbol. This decouples the resolution of symbols from inaccurate section information, reflecting more the actual program loading. Additionally, a -relaxed option has been added to deal with some strange ELFs, for instance when symbols data is dynamically bootstrapped from another place by boot code different than the program loader. git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1893 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* Fixed float comparison in checklinkvarobert2012-05-021-2/+5
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1882 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* Added small data area support to checklinkvarobert2012-04-203-58/+201
| | | | | | | | Accesses to small data areas are dynamically resolved by constructing a mapping from registers to virtual addresses they are supposed to point to. This mapping is reported. git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1880 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* New section mapping checks and symbol data lookupvarobert2012-04-134-57/+118
| | | | | | | | | Section mapping is now discovered on-the-fly, and linker script remappings are reported as warnings at the end. Symbol data lookup is now able to gracefully fail if the symbol's virtual address is not within the range of its parent section's virtual address space. git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1878 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* Added long versions of Pbf and Pbtvarobert2012-04-121-42/+80
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1877 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* Added Pallocframe second formvarobert2012-04-121-3/+13
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1876 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* Faster ndxes_of_sym_namevarobert2012-04-125-26/+51
| | | | | | | | | ndxes_of_sym_name used to have an O(s^2) complexity where s was the number of symbols in the ELF file. It has now been reduced to an O(s*ln(s)) by pre-computing the sets of symbols corresponding to each normalized symbol name. git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1875 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* Configuration, build and install for cchecklink. Clean-ups in myocamlbuild.ml.xleroy2012-04-043-4/+27
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1874 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* Tracing each data chunk in debug modevarobert2012-04-042-0/+16
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1873 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* Added safety to potentially overflowing arithmeticsvarobert2012-04-0410-151/+206
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1872 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* Manual argument passing to checklink's makevarobert2012-04-041-1/+1
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1871 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* Catch Integer_overflow during fuzz testingvarobert2012-04-041-0/+3
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1870 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* Better error messages for data symbolsvarobert2012-04-042-10/+7
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1869 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* Better fuzzing optionsvarobert2012-04-044-55/+81
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1868 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* New Makefile for testing checklinkvarobert2012-04-041-0/+52
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1867 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* Adjustments to cchecklink's options and verbosityvarobert2012-04-045-108/+217
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1866 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* Cleaning up checklinkvarobert2012-04-043-44/+2
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1865 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* Finer-grained exception catching during fuzzingvarobert2012-04-041-59/+57
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1864 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* Support for fcmpzd instruction (float compare with +0.0)xleroy2012-03-298-6/+74
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1858 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* A file with the version numberxleroy2012-03-281-0/+1
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1857 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* checklink: first import of Valentin Robert's validator for asm and linkxleroy2012-03-2841-79/+5565
| | | | | | | cparser: renamed Errors to Cerrors; removed packing into Cparser. git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1856 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* make clean must erase tools/ndfunxleroy2012-03-131-0/+1
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1852 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* MAJ docv1.10xleroy2012-03-123-12/+7
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1850 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* Option -randvol to expose randomization of volatiles in Interp.mlxleroy2012-03-121-0/+2
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1849 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* Minor updatesxleroy2012-03-114-198/+19
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1848 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* Proof didn't go through for ARMxleroy2012-03-111-2/+2
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1847 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* Another update from Andrew Tolmachxleroy2012-03-091-1/+1
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1840 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* PrintCminor: printing Sskipxleroy2012-03-094-6/+6
| | | | | | | test/cminor: updating git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1839 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e