{"action":"created","issue":{"url":"https://api.github.com/repos/mirleft/ocaml-nocrypto/issues/73","labels_url":"https://api.github.com/repos/mirleft/ocaml-nocrypto/issues/73/labels{/name}","comments_url":"https://api.github.com/repos/mirleft/ocaml-nocrypto/issues/73/comments","events_url":"https://api.github.com/repos/mirleft/ocaml-nocrypto/issues/73/events","html_url":"https://github.com/mirleft/ocaml-nocrypto/issues/73","id":93269607,"number":73,"title":"nocrypto.0.5.0 illegal instruction","user":{"login":"toolslive","id":1249832,"avatar_url":"https://avatars.githubusercontent.com/u/1249832?v=3","gravatar_id":"","url":"https://api.github.com/users/toolslive","html_url":"https://github.com/toolslive","followers_url":"https://api.github.com/users/toolslive/followers","following_url":"https://api.github.com/users/toolslive/following{/other_user}","gists_url":"https://api.github.com/users/toolslive/gists{/gist_id}","starred_url":"https://api.github.com/users/toolslive/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/toolslive/subscriptions","organizations_url":"https://api.github.com/users/toolslive/orgs","repos_url":"https://api.github.com/users/toolslive/repos","events_url":"https://api.github.com/users/toolslive/events{/privacy}","received_events_url":"https://api.github.com/users/toolslive/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":24,"created_at":"2015-07-06T12:41:11Z","updated_at":"2015-07-07T02:14:47Z","closed_at":null,"body":"on a Quad-Core AMD Opteron 2350 we got:\r\n```\r\n#0  _mm_aeskeygenassist_si128 (__C=<optimized out>, __X=...) at /usr/lib/gcc/x86_64-linux-gnu/4.8/include/wmmintrin.h:88\r\n#1  _nc_aesni_derive_e_key (rounds=<optimized out>, rk0=<optimized out>, key=0x1fe0b30 \"\") at src/native/aes/aesni.c:106\r\n#2  caml_nc_aes_derive_e_key (key=140673840720632, off1=<optimized out>, rk=140673840720576, rounds=<optimized out>) at src/native/aes/aesni.c:331\r\n#3  0x00000000006c5005 in camlNocrypto__Cipher_block__fun_2213 () at src/cipher_block.ml:371\r\n#4  0x00000000006c4f81 in camlNocrypto__Cipher_block__of_secret_with_1584 () at src/cipher_block.ml:368\r\n#5  0x00000000006c5bf2 in camlNocrypto__Fortuna__create_1298 () at src/fortuna.ml:22\r\n#6  0x00000000006c700c in camlNocrypto__Rng__create_1190 () at src/uncommon.ml:38\r\n#7  0x00000000006c76ba in camlNocrypto__Rng__entry () at src/rng.ml:49\r\n#8  0x0000000000504d19 in caml_program ()\r\n```\r\n\r\nso it's using instructions it shouldn't.\r\nAlso, it would be nice to have the detection at runtime, instead of at compile-time, as we often don't know where it will be deployed."},"comment":{"url":"https://api.github.com/repos/mirleft/ocaml-nocrypto/issues/comments/119049138","html_url":"https://github.com/mirleft/ocaml-nocrypto/issues/73#issuecomment-119049138","issue_url":"https://api.github.com/repos/mirleft/ocaml-nocrypto/issues/73","id":119049138,"user":{"login":"AltGr","id":807966,"avatar_url":"https://avatars.githubusercontent.com/u/807966?v=3","gravatar_id":"","url":"https://api.github.com/users/AltGr","html_url":"https://github.com/AltGr","followers_url":"https://api.github.com/users/AltGr/followers","following_url":"https://api.github.com/users/AltGr/following{/other_user}","gists_url":"https://api.github.com/users/AltGr/gists{/gist_id}","starred_url":"https://api.github.com/users/AltGr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AltGr/subscriptions","organizations_url":"https://api.github.com/users/AltGr/orgs","repos_url":"https://api.github.com/users/AltGr/repos","events_url":"https://api.github.com/users/AltGr/events{/privacy}","received_events_url":"https://api.github.com/users/AltGr/received_events","type":"User","site_admin":false},"created_at":"2015-07-07T02:14:47Z","updated_at":"2015-07-07T02:14:47Z","body":"There is the [`features` field](http://opam.ocaml.org/doc/Manual.html#opam), but it is not supposed to be user-overridable (although it can refer to another variable). It was first intended for boolean values but the implementation handles strings too."}}