From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by walapai.inria.fr (8.13.6/8.13.6) with ESMTP id q14AS2D3020627 for ; Sat, 4 Feb 2012 11:28:02 +0100 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AoMBALMHLU9KfVM2kGdsb2JhbABDryAIIgEBAQEJCQ0HFAQhggsCJgYBAThORgEFAVeHXZszCoo5hCgBjhAHi2MHAgIJBQwHBgEBAS4Xgn0FGAILAgVtAwEEBAsBAQECAgEEAgECH4I5Y6NIPYQD X-IronPort-AV: E=Sophos;i="4.73,355,1325458800"; d="scan'208";a="130079109" Received: from mail-ee0-f54.google.com ([74.125.83.54]) by mail4-smtp-sop.national.inria.fr with ESMTP/TLS/RC4-SHA; 04 Feb 2012 11:27:56 +0100 Received: by eekb47 with SMTP id b47so1769352eek.27 for ; Sat, 04 Feb 2012 02:27:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=from:content-type:content-transfer-encoding:subject:date:message-id :to:mime-version:x-mailer; bh=avmwBeNt8kVR//pNGUvc8b6DEtiMlbERuVkHR6BYy6E=; b=mU74Hd8rIsdC2n+U4u+V5+p0bU9tgm3h2NTWXGM4i51lEstATpeGTGqklvNIdz9rsc mID6LlLi/GlFd+UsVyo1pJH+RwIyh4AM7DMbjxeIF207HxXBH6YsGpzRI7OxW87jpOiI gVkxcOCZ30SBxrNueFgenUXwoz9RIL+qnI390= Received: by 10.14.8.196 with SMTP id 44mr3309203eer.21.1328351276345; Sat, 04 Feb 2012 02:27:56 -0800 (PST) Received: from coruscant.in.benediktmeurer.de (ip-95-223-170-32.unitymediagroup.de. [95.223.170.32]) by mx.google.com with ESMTPS id b3sm33179469een.2.2012.02.04.02.27.55 (version=TLSv1/SSLv3 cipher=OTHER); Sat, 04 Feb 2012 02:27:55 -0800 (PST) From: Benedikt Meurer Content-Type: text/plain; charset=us-ascii Date: Sat, 4 Feb 2012 11:27:54 +0100 Message-Id: <6B4AB1FD-96CC-4801-A719-79F31D2851C4@googlemail.com> To: caml-list@inria.fr Mime-Version: 1.0 (Apple Message framework v1251.1) X-Mailer: Apple Mail (2.1251.1) Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by walapai.inria.fr id q14AS2D3020627 Subject: [Caml-list] New ARM backend merged into trunk Dear list, I just merged the latest patch for my new ARM backend into trunk (revision 12124). Compared to the old ARM backend, the new one does the following: - Support for both software and hardware floating-point (VFPv3). - Properly supports interworking with Thumb/Thumb-2 code for both OCaml and C code. - Supports dynamic linking and large memory models (PR#5049). - Optional support for position-independent code via a command line option -fPIC. This is disabled by default and not required for natdynlink. - Can emit both ARM and Thumb-2 code, with avg. code size savings of 28% for Thumb-2 (quite close the optimal 30% advertised by ARM Ltd.). - Supports both AAPCS (armel) as well as extended VFP calling conventions (armhf). - Supports several special ARM instructions to reduce code size and latency. - Uses standard ARM EABI runtime functions instead of relying on GCC internals. - Supports exception backtraces. - Supports profiling using gprof. It'd be great to get some early feedback / testing (esp. with the upcoming Debian/Ubuntu armhf port). Note however that the object files generated by the new backend aren't compatible with old object files (and therefore also .cmxs and .a files). Benedikt