Age | Commit message (Collapse) | Author |
|
HiPE on ARM is currently severely broken if the rest of the VM is
compiled to run in Thumb mode -- calling native code quickly ends
up executing code in the wrong mode and crashing the VM. This is
a problem on e.g. Ubuntu which configures its system GCC to generate
Thumb by default. It can also be triggered by overriding CC or
CFLAGS when compiling the VM.
There were three issues that caused the breakage:
1. Assembly-coded functions in hipe_arm_glue.S weren't explicitly
tagged as functions, preventing the linker from generating the
correct mode-switching call instructions for calls from C to
these functions.
Fixed by tagging those symbols as functions.
2. A few BIF wrappers were so simple that they performed tailcalls
to the C BIFs. This fails to switch mode when C is in Thumb.
Fixed by performing ordinary recursive calls when C is in Thumb.
3. The assembly-coded source files weren't explicitly tagged as ARM.
Tested with the HiPE testsuite on ARMv7, with the VM built as ARM
and as Thumb. Also manually inspected the object code for the beam
executable and checked that call sites from C to HiPE's ARM runtime
code and vice versa used the correct mode-switching instructions.
|
|
* tombenner/doc_fixes:
Fix grammar and formatting issues
Fix typo ("to use to use")
Add a comma after "For example" when appropriate
Use colons before <code> when appropriate
Move periods inside parenthetical sentences
Add an apostrophe to contractions of "let us"
|
|
* derek121/mnesia-doc-fixes:
Fix grammar
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* mikpe/fix-eacces-spelling:
fix eacces spelling
|
|
* hans/eldap/bad_return_close/OTP-12349:
eldap: Remove trailing white space.
eldap: Test cases for a few return values (open, close)
eldap: updated eldap:close in tests
eldap: Makes close/1 return as documented.
|
|
* hans/eldap/test_improvents/OTP-12355:
eldap: Corrects SSL over IPv6 test.
eldap: Removes eldap_misc_SUITE that is now included in eldap_basic_SUITE.
eldap: Add encode/decode tests.
eldap: Merge eldap_connections_SUITE into eldab_basic_SUITE
eldap: Adds ssl to connections test suite
eldap: Updates basic test suite - Splits one large testcase into smaller ones. - Makes tests independent - Adds some tests.
|
|
* haguenau/fix-endianness-speling:
Replaced "Endianess" with "Endianness" everywhere
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- Splits one large testcase into smaller ones.
- Makes tests independent
- Adds some tests.
|
|
* ia/ssh/ssh-connection-protocol-timeout/OTP-12004:
ssh: Improve errorhandling in ssh_connection.erl
|
|
If a channel is closed by the peer while using a function with call semantics
in ssh_connection.erl return {error, closed}. Document that the functions
can return {error, timeout | closed} and not only ssh_request_status()
|
|
* marcus/revert-ssh-testcase2/OTP-12004:
fix failed conflict resolution
|
|
|
|
* marcus/fix-eldap-notes:
add missing release notes
|
|
|
|
* rickard/atomic64/OTP-12351:
Use the new 64-bit atomic ops API
Introduce a 64-bit atomic ops API
|
|
|
|
The 64-bit atomic ops API is implemented by
* native word size atomic ops on 64-bit architectures, and
* native double word size atomic ops on 32-bit architectures
when available. When native double word size atomic is not
available, the fallback using modification counters is
used.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* hans/ssh/fix_app_appup:
ssh: Fix syntax error in .appup
|
|
|
|
* marcus/revert-ssh-testcase/OTP-12004:
revert ssh testcase
|
|
|
|
* dgud/debugger/still-invoked-gs-functions/OTP-12357:
debugger: Do not use the old removed gs functionality
|
|
|
|
* hans/ssh/fix_app_appup:
ssh: Fix .app and .appup
|
|
|
|
* rickard/appup-files/OTP-12358:
Add .appup file
|
|
|
|
* rickard/autoconf/OTP-12348:
Update megaco.appup.src
|