International Business Machines Corp. (IBM)
Rochester, MNJan 2001 - present
Team Lead (current) - Linux for POWER Toolchain:Jun 2007 - present
Lead team members:
Identified strategic 2008 & 2009
development line items, assigned deliverable objectives to
individual team members, and managed line item schedule
risks as development progressed (specific examples available upon
Enabled and maintained the Linux
operating system's core GNU C-library (GLIBC) for the
following POWER ™ platforms: power4,
power5, power6, et al. POWER ™ is the
IBM branded PowerPC architecture server line of
Deployed POWER ™
platform optimized libraries in Linux Distribution
Partner enterprise operating system offerings: Novell
SLES 10, Novell SLES 11, and Redhat RHEL 5.
Delivered three externalAdvance Toolchain releases. The Advance
Toolchain is an IBM developed stand-alone GNU
Toolchain (compiler, linker, binary utilities, system
libraries, GNU debugger, and performance tools) that provides
advance availability of the latest GNU Toolchain
package versions before they show up in a Linux OS
Delivered two custom Advance
Toolchain builds for IBM-internal micro-architecture
customers who have external customers of their own that we
Mentored two interns through the
release of two key product features (decimal floating point
trigonometric math functions, and quantlib optimziation for
the POWER6 processor).
Linux GNU C-library (GLIBC) Community Contributor:
Ported the Libdfp GLIBC add-on
library into a stand-alone library using Autoconf and GNU
Make for the build framework.
Served as architect for the
Advance Toolchain through three releases. I set
release schedules, determined package versions, resolved
package dependency conflicts, make project re-factoring
decisions, and helped debug complicated bugs.
Designed and coded competing
solution for full featured printf-hooks for GLIBC which
added plug-in support for new printf format specifiers to
Added struct-versioned interfaces to
GLIBC's PowerPC get, set, swap, and make context functions.
This patch was discarded as the context routines API was
deprecated by the maintainer. I created the following
tutorial as a result: Creating
a Versioned Struct Wrapper For a GLIBC
GLIBC developer - Linux for POWER Toolchain:Jan 2006 - Jun 2007
Designed and Created the Decimal Floating Point C Library (Libdfp) as a GLIBC add-on.
Worked on POWER6 optimized arithmetic, conversion, and comparison routines in PowerPC assembler with the POWER6 instruction set.
Advance Toolchain Development
Created the Advance Toolchain (described above) as an integration test-bed for the Linux for POWER Toolchain department's co-dependent packages. This grew into a customer supported toolchain for the XL C Compiler, Powerpack product, and OpenHPC product.
Created scripts for auto-generating & updating repomd RPM (binary package) repositories.
Negotiated the technical aspects of a business relationship with University of Illinois at Urbana Champaign whereby they build the official Advance Toolchain releases and we provide them with the build scripts, build instructions, release notes, and debugging support.
Developed Docbook stylesheets in DSSSL for the 32-bit PowerPC ELF ABI.
Answered customer bugs as third-level support (generally we get two major month-long high-severity bugs per year).
Answered GLIBC community bugs by interpreting the POSIX and C99 standards, reproducing bugs, creating test cases, reducing text-cases, providing alternate solutions, and suggesting fixes.