Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New ARM backend generates bad code for camomile 0.8.3 "gen_mappings" program. #5623

Closed
vicuna opened this issue May 25, 2012 · 2 comments
Closed

Comments

@vicuna
Copy link

vicuna commented May 25, 2012

Original bug ID: 5623
Reporter: Richard Jones
Assigned to: meurer
Status: closed (set by @xavierleroy on 2015-12-11T18:04:50Z)
Resolution: fixed
Priority: normal
Severity: crash
Platform: arm7hl
OS: Linux
OS Version: Fedora 17
Version: 3.12.1
Category: back end (clambda to assembly)
Monitored by: "Richard Jones"

Bug description

The new ARM backend (from OCaml SVN) generates bad code which segfaults when camomile 0.8.3 is being built.

Steps to reproduce

Using OCaml from SVN, on arm7hl, do:

wget 'http://prdownloads.sourceforge.net/camomile/camomile-0.8.3.tar.bz2'
bzcat camomile-0.8.3.tar.bz2 | tar xf -
cd camomile-0.8.3
./configure
make

The build will segfault when it runs the 'gen_mappings' program.

Additional information

There is a thread about this on caml-list:
https://sympa.inria.fr/sympa/arc/caml-list/2012-05/msg00119.html

@vicuna
Copy link
Author

vicuna commented Jun 2, 2012

Comment author: meurer

Ok, this bug was quite tricky. Actually the Thumb-2 TBH instruction used to implement the Lswitch cannot handle backward jumps, which wasn't handled properly by the emitter. This should be fixed in trunk and 4.00 with revision 12548.

@vicuna
Copy link
Author

vicuna commented Jun 2, 2012

Comment author: meurer

Fixed in trunk and 4.00 with revision 12548.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant