Commit Graph

589 Commits

Author SHA1 Message Date
Jorge Aparicio
ff17cfaa46 README: when and how to use this crate 2016-08-23 20:35:30 -05:00
Jorge Aparicio
72db6febd0 README: add AppVeyor badge 2016-08-23 20:23:28 -05:00
Jorge Aparicio
bcf5a641df README: fix link 2016-08-23 20:17:39 -05:00
Jorge Aparicio
79411ae643 use the gist crate
but not on OSX because it doesn't work there

closes #53
cc #51
2016-08-22 21:22:16 -05:00
Matt Ickstadt
ed393f32a1 appveyor: Use gist to post disassembly 2016-08-22 17:49:39 -05:00
Matt Ickstadt
5e867a2b98 travis: Use wgetpaste to post disassemblies to gist 2016-08-22 17:49:39 -05:00
Matt Ickstadt
6a96cf52b6 Add a Porting Reminders section to the README 2016-08-21 15:49:32 -05:00
Jorge Aparicio
ae9d294297 use utility function to compare the repr of floats
follow up of #43
2016-08-21 11:24:58 -05:00
Jorge Aparicio
43ce7db752 only show disassembly of optimized build
we can't really compare the disassembly of the debug build to
libcompiler-rt.a anyways
2016-08-21 11:09:32 -05:00
Jorge Aparicio
e5455d7f12 Merge pull request #49 from japaric/edge
qc: bias towards generation of edge cases
2016-08-21 11:03:44 -05:00
Matt Ickstadt
30428ec88f Use mem::swap to swap variables 2016-08-20 22:30:02 -05:00
Jorge Aparicio
e4dabb8c32 qc: bias towards generation of edge cases 2016-08-20 22:17:50 -05:00
Matt Ickstadt
fe3c35131f Implement soft float add builtins 2016-08-20 16:06:02 -05:00
Matt Ickstadt
35d68d8ab2 Move integer functions to separate module 2016-08-20 15:55:06 -05:00
Jorge Aparicio
f96d56dc37 Merge pull request #44 from Amanieu/sdiv
Add signed division functions
2016-08-19 09:16:53 -05:00
Amanieu d'Antras
59fe09c493 Add tests for ARM division builtins 2016-08-19 12:13:02 +01:00
Amanieu d'Antras
161234b8b3 Add signed division functions 2016-08-19 12:13:02 +01:00
Jorge Aparicio
3fddb6b427 rename muldi4 to muldi3
closes #42
2016-08-18 21:27:16 -05:00
Jorge Aparicio
f2341f101f Merge pull request #40 from mattico/add-x86_64
Add x86_64 builtins
2016-08-18 20:31:53 -05:00
Jorge Aparicio
ec2ff1e5cf Merge pull request #41 from mattico/dumpbin
appveyor: inspect binaries
2016-08-17 14:39:13 -05:00
Matt Ickstadt
f9c8ca854a Check off x86_64 builtins in README
[ci ignore]
2016-08-17 14:35:48 -05:00
Matt Ickstadt
77ffc1f9a0 Appveyor: Ignore errors from dumpbin parsing rlib 2016-08-17 14:14:47 -05:00
Matt Ickstadt
0ce86ac501 Appveyor: Source vcvarsall to get dumpbin in path 2016-08-17 13:51:35 -05:00
Matt Ickstadt
22331947ea Disable mangling for msvc stack builtins
This prevents linker errors in test builds due to the `jmp` instruction in __alloca
2016-08-17 12:55:15 -05:00
Matt Ickstadt
7e238f9973 Use jmp to implement __alloca fallthrough 2016-08-17 12:11:38 -05:00
Matt Ickstadt
f0dbe4c07c Add x86_64 builtins 2016-08-16 19:55:17 -05:00
Jorge Aparicio
63a87352d8 add core_intrinsics feature gate 2016-08-15 21:08:04 -05:00
Jorge Aparicio
de150c1701 adjust test: weak symbols are now in librlibc.rlib 2016-08-15 20:22:58 -05:00
Jorge Aparicio
b193bf698d remove unused feature gates 2016-08-14 22:08:36 -05:00
Jorge Aparicio
ae75d02bdd use rlibc crate instead 2016-08-14 22:03:19 -05:00
Jorge Aparicio
670f4e32aa check presence of weak symbols 2016-08-14 22:02:43 -05:00
Jorge Aparicio
a8c6135b38 exclude windows and macos 2016-08-14 22:01:15 -05:00
Jorge Aparicio
657a0cd18a add weak memcpy et al symbols
closes #28
2016-08-14 22:00:31 -05:00
Jorge Aparicio
a87180452e sort targets 2016-08-13 20:25:16 -05:00
Jorge Aparicio
331ffdfc79 Merge pull request #38 from japaric/ppc64le
try 32-bit qemu for ppc64le
2016-08-13 20:24:35 -05:00
Jorge Aparicio
44aa941787 disable tests for ppc64le, drop logic around QEMU_ARCH 2016-08-13 19:56:34 -05:00
Jorge Aparicio
2d84d8acd4 add missing apt-get update 2016-08-13 19:30:30 -05:00
Jorge Aparicio
c4fc85e357 Merge pull request #36 from japaric/qc
quickcheck: better generation of input arguments
2016-08-13 19:27:54 -05:00
Jorge Aparicio
18265c1061 try 32-bit qemu for ppc64le 2016-08-13 18:58:41 -05:00
Jorge Aparicio
ebb3175dc0 use wrapping_add in muldi4 2016-08-13 18:47:39 -05:00
Jorge Aparicio
f7864eb3cd fix a bug in udivmoddi4 2016-08-13 18:45:00 -05:00
Jorge Aparicio
b8b7cbeabd qemu-ppc64le still doesn't work 2016-08-13 18:33:40 -05:00
Jorge Aparicio
2160b520ff enable tests for ppc64le 2016-08-13 18:00:49 -05:00
Jorge Aparicio
7a5032317e need to set PATH for macos 2016-08-13 17:53:26 -05:00
Jorge Aparicio
b80d5f6912 arm targets no longer have flaky tests 2016-08-13 17:46:12 -05:00
Jorge Aparicio
54e090113a no need to explicitly call qemu-$ARCH 2016-08-13 17:45:43 -05:00
Jorge Aparicio
0433fc0deb sort targets 2016-08-13 17:43:40 -05:00
Jorge Aparicio
c7a48515ac don't call docker inside docker 2016-08-13 17:36:00 -05:00
Jorge Aparicio
a8f3f4eae6 use trusty 2016-08-13 17:32:08 -05:00
Jorge Aparicio
cc6aab07ea actually enter docker 2016-08-13 17:27:18 -05:00
Jorge Aparicio
ea81bca98f fix bash syntax 2016-08-13 17:24:52 -05:00
Jorge Aparicio
7b46e31124 CI: run all Linux targets inside docker 2016-08-13 17:22:12 -05:00
Jorge Aparicio
5581cc40af quickcheck: better generation of input arguments
closes #31
2016-08-13 16:58:44 -05:00
Jorge Aparicio
319c938e93 Merge pull request #35 from japaric/cortex
CI: test ARM Cortex targets
2016-08-13 13:16:13 -05:00
Jorge Aparicio
da0515756a install libssh2 2016-08-13 12:58:44 -05:00
Jorge Aparicio
2684ea570c change Xargo installation path 2016-08-13 12:55:09 -05:00
Jorge Aparicio
c135ca3157 binutils -> gcc 2016-08-13 12:47:59 -05:00
Jorge Aparicio
a3a0604b8e no rust-std for these targets 2016-08-13 12:45:37 -05:00
Jorge Aparicio
b5b26a0384 install binutils manually 2016-08-13 12:41:50 -05:00
Jorge Aparicio
5e69a93dfb binutils -> gcc? 2016-08-13 12:27:56 -05:00
Jorge Aparicio
1b757d626d CI: test ARM Cortex targets
closes #32
2016-08-13 12:12:37 -05:00
Amanieu d'Antras
d668c385ac Fix inline assembly to work on ARMv6-M 2016-08-13 17:29:38 +01:00
Amanieu d'Antras
1a60c3d52f Various changes 2016-08-13 09:56:40 +01:00
Amanieu d'Antras
07afa89f10 Remove the absv implementation, it isn't needed by Rust 2016-08-13 09:54:58 +01:00
Jorge Aparicio
f22f7cdd86 README: cross out a few intrinsics for the TODO list 2016-08-11 02:12:01 -05:00
Jorge Aparicio
25b25d5e8e appveyor: inspect binaries 2016-08-11 01:52:48 -05:00
Jorge Aparicio
57a3f411dd address second row of review 2016-08-11 01:45:48 -05:00
Jorge Aparicio
01a8a996b5 don't transmute in test 2016-08-11 01:42:34 -05:00
Jorge Aparicio
bcd525fe61 put div intrinsics in their own module + some docs 2016-08-11 01:26:27 -05:00
Jorge Aparicio
24344f1dca refactor: use Int traits, words -> U64, fmt 2016-08-11 01:15:51 -05:00
Jorge Aparicio
d66ff75198 note about calling convention 2016-08-11 00:36:19 -05:00
Jorge Aparicio
6be47a3524 move return into if branches 2016-08-11 00:33:27 -05:00
Jorge Aparicio
6d663ebb9c *mut T -> Option<&mut T> 2016-08-11 00:31:49 -05:00
Jorge Aparicio
4c93f05195 port __udivmodsi4, aeabi_uidivmod and udivsi3
also rewrite these last two new aeabi intrinsics as naked functions
2016-08-11 00:26:16 -05:00
Jorge Aparicio
2aaa38504f and libc6-dev 2016-08-11 00:26:16 -05:00
Jorge Aparicio
003d4d1521 some targets need gcc to be installed 2016-08-11 00:26:16 -05:00
Jorge Aparicio
2eb2ac115d port udivmoddi4 and __aeabi_uldivmod 2016-08-11 00:26:12 -05:00
Amanieu d'Antras
2880fd70ad Add traits for integer operations 2016-08-11 05:38:11 +01:00
Jorge Aparicio
989cd751cc ppc64: test on 32-bit QEMU 2016-08-10 13:01:22 -05:00
Jorge Aparicio
1d924aa047 mips: run test on 32-bit QEMU
cc #2
2016-08-10 11:50:41 -05:00
Jorge Aparicio
3d2573086f libgcc_s dev version 2016-08-09 16:17:06 -05:00
Jorge Aparicio
f484596465 32-bit version of libgcc 2016-08-09 15:55:25 -05:00
Jorge Aparicio
4e6c1b1be3 add libgcc 2016-08-09 15:46:57 -05:00
Jorge Aparicio
57c1e1344e put the target first 2016-08-09 15:37:51 -05:00
Jorge Aparicio
5e8812c574 use docker 2016-08-09 15:37:24 -05:00
Jorge Aparicio
a601cae4b4 use trusty 2016-08-09 12:43:41 -05:00
Jorge Aparicio
3aa17dec7a CI: test i586-unknown-linux-gnu 2016-08-09 12:25:49 -05:00
Jorge Aparicio
d6acb778e4 fix bash syntax 2016-08-09 12:04:24 -05:00
Jorge Aparicio
b191b89e87 fix armv7 2016-08-09 11:53:49 -05:00
Jorge Aparicio
4d0da42b08 don't run tests on targets that have QEMU issues
cc #2
2016-08-09 11:49:55 -05:00
Jorge Aparicio
59a8ab6c87 CI: test mipsel-unknown-linux-gnu 2016-08-08 23:26:13 -05:00
Jorge Aparicio
e9f11c6f12 CI: test powerpc64-unknown-linux-gnu 2016-08-08 23:05:25 -05:00
Jorge Aparicio
04c097a6e3 allow failure 2016-08-08 22:47:37 -05:00
Jorge Aparicio
b458b43397 fix case syntax 2016-08-08 22:31:14 -05:00
Jorge Aparicio
cb83ffc7f7 CI: test mips-unknown-linux-gnu 2016-08-08 22:03:44 -05:00
Jorge Aparicio
808ff7d469 allow failure 2016-08-08 21:57:18 -05:00
Jorge Aparicio
c3a501ec3b fix target name in case 2016-08-08 21:49:31 -05:00
Jorge Aparicio
378bab2a11 fix package name 2016-08-08 21:46:24 -05:00
Jorge Aparicio
32758212c8 put first in the queue 2016-08-08 21:43:13 -05:00
Jorge Aparicio
5e6dc52747 no sudo 2016-08-08 21:43:01 -05:00
Jorge Aparicio
d24e0e07a3 fix installation of c toolchain 2016-08-08 21:37:48 -05:00
Jorge Aparicio
ce538c6618 apt-get update 2016-08-08 21:32:12 -05:00
Jorge Aparicio
eb5a86b261 really install curl inside docker 2016-08-08 21:27:08 -05:00
Jorge Aparicio
f9d1455b29 install curl inside docker 2016-08-08 21:20:46 -05:00
Jorge Aparicio
ed2f8c937e don't skip install phase inside docker 2016-08-08 21:14:04 -05:00
Jorge Aparicio
f31fd01713 set PATH inside docker 2016-08-08 21:02:07 -05:00
Jorge Aparicio
87004d454c don't recursively call docker 2016-08-08 20:56:05 -05:00
Jorge Aparicio
3d3248119a enable docker 2016-08-08 20:45:46 -05:00
Jorge Aparicio
a2fd9ed440 install toolchain in docker 2016-08-08 20:41:08 -05:00
Jorge Aparicio
4c52ab7a89 run in xenial (docker) 2016-08-08 20:37:04 -05:00
Jorge Aparicio
e813daef4b explicitly use qemu-ppc64le 2016-08-08 20:04:17 -05:00
Jorge Aparicio
a1b1c8d66a CI: test powerpc64le-unknown-linux-gnu 2016-08-08 19:44:55 -05:00
Jorge Aparicio
e0be22eb44 use trusty 2016-08-08 19:36:20 -05:00
Jorge Aparicio
2431cd754b CI: test powerpc-unknown-linux-gnu 2016-08-08 19:31:37 -05:00
Amanieu d'Antras
68e0b7657c Remove the x86-specific floating-point builtins 2016-08-08 08:36:59 +01:00
Amanieu d'Antras
6f22c85b25 Remove builtins that are not called by LLVM 2016-08-08 08:25:11 +01:00
Jorge Aparicio
1d78c01304 Merge pull request #9 from japaric/appveyor
CI: AppVeyor
2016-08-08 02:08:29 -05:00
Jorge Aparicio
e414f9a954 properly call the rust installer to not require user input 2016-08-08 02:06:15 -05:00
Jorge Aparicio
74ca884c6d fix the syntax 2016-08-08 02:00:47 -05:00
Jorge Aparicio
1260f145b3 CI: AppVeyor 2016-08-08 01:58:16 -05:00
Jorge Aparicio
df0cf2502b Merge pull request #8 from Amanieu/arm_mem_builttins
Rewrite the arm mem* builtins without asm and naked functions
2016-08-08 01:42:03 -05:00
Amanieu d'Antras
9fbd25b4cd Rewrite the arm mem* builtins without asm and naked functions 2016-08-08 07:25:32 +01:00
Amanieu d'Antras
1b0cfdc477 Clean up function list in README 2016-08-08 06:54:00 +01:00
Jorge Aparicio
f271e63915 CI: allow failures for TARGET=armv7-unknown-linux-gnueabihf 2016-08-07 21:22:15 -05:00
Jorge Aparicio
c691a4e475 README: add Contributing and Progress sections 2016-08-07 21:05:42 -05:00
Jorge Aparicio
3ccdc29e4d macOS: actually install binutils 2016-08-07 17:32:53 -05:00
Jorge Aparicio
3cea133b4c macOS: use gnu binutils 2016-08-07 17:29:31 -05:00
Jorge Aparicio
a0de8f0bdb macOS: install binutils 2016-08-07 17:23:30 -05:00
Jorge Aparicio
48d9ff7e80 nm: drop --defined-only flag
it doesn't work on macOS
2016-08-07 17:18:37 -05:00
Jorge Aparicio
4cbba5979d ignore objdump exit code 2016-08-07 17:14:30 -05:00
Jorge Aparicio
f8099c755e use container-based infrastructure 2016-08-07 17:10:36 -05:00
Jorge Aparicio
0921a91b26 fix objdump commands 2016-08-07 17:07:58 -05:00
Jorge Aparicio
f58359f290 install libc6-dev for ARM targets 2016-08-07 17:07:12 -05:00
Jorge Aparicio
5dbc8d9729 swap install.sh and script.sh 2016-08-07 17:03:44 -05:00
Jorge Aparicio
898869871e only test on master 2016-08-07 16:59:54 -05:00
Jorge Aparicio
020467d378 set $PATH 2016-08-07 16:58:44 -05:00
Jorge Aparicio
178fa2a806 travis CI 2016-08-07 16:55:30 -05:00
Jorge Aparicio
51db348a3f README: link back to rust-lang/rust issue 2016-08-07 16:01:28 -05:00
Jorge Aparicio
773fd1a707 initial commit 2016-08-07 15:58:21 -05:00