MIPS processors gain GNU/Linux binary prelinker
Oct 31, 2006 — by LinuxDevices Staff — from the LinuxDevices Archive — 5 views[Updated 3:15PM, PST] — With sponsorship from MIPS Technologies, GNU tools specialist CodeSourcery has added support for the MIPS architecture to the GNU/Linux prelinker, with the goal of helping MIPS-based embedded designs enjoy faster application start-up times. Additionally, the consulting and services company has joined MIPS Technologies's MIPS Alliance Program.
The prelink program aims to bring some of the advantages of Linux's older a.out format to the newer, more flexible ELF format, according to maintainer Jakub Jelinek. Pre-linking reduces application load time, along with the number of “copy-on-write” pages, and the number of non-shareable pages created by relocations, Jelinek adds.
CodeSourcery says its MIPS version of prelink decreases Firefox start-up time by 44 percent, on a MIPS32 24K processor. In comparison, a prelinked build of OpenOffice 1.1 drops start-up time from 5.5 seconds to 3.8 seconds, on a 651MHz Pentium processor, according to Jelinek.
CodeSourcery's MIPS prelinker supports both Windows and GNU/Linux development hosts, the company says. Chief Sourcerer Mark Mitchell notes that the tool is best used in applications where the target's C library is “not changing on any kind of frequent basis.” Prelinked binaries can recover when shared libraries do not load in the expected location, but it adds a slight performance penalty, Mitchell explains.
In a statement, Mitchell said, “We look forward to working with MIPS Technolgoies to further enhance support for the MIPS architecture in the GNU toolchain.”
MIPS Technologies CTO Mike Uhler added that “CodeSourcery's strong relationships with the broader GNU toolchain community ensure that the prelinker will quickly reach developers.”
CodeSourcery and MIPS jointly demonstrated their MIPS prelinker at a CELF event in Japan this week, where the project generated considerable interest, Mitchell said.
Availability
According to Mitchell, adding MIPS support to prelink requires patches to binutils, glibc, and the prelinker itself. The needed patches have all been submitted to the appropriate forums, he said, adding, “Eager developers could get the patches now, and build it themselves. And, I suspect it will roll out soon from Wind River and MontaVista and MIPS themselves, in their dev kits.”
Mitchell also hinted that CodeSourcery itself might offer the prelinker as part of a full G++ toolchain offering for the MIPS architecture. Currently, the company offers its enhanced G++ toolchains for ARM and ColdFire.
In addition to G++ toolchains, CodeSourcery offers project management, software design, and engineering services. Its clients include Wind River and the U.S. Air Force Research Laboratory, it says.
In addition to the MIPS Alliance Program, CodeSourcery also belongs to Power.org.
Jelinek's detailed, 46-page description of prelink is available here (pdf file download).
This article was originally published on LinuxDevices.com and has been donated to the open source community by QuinStreet Inc. Please visit LinuxToday.com for up-to-date news and articles about Linux and open source.