International Business Machines Corp. (IBM)
Rochester, MNJan 2001 - present
Team Lead - Linux for POWER Toolchain:Jun 2007 - present
Lead team members:
Identified strategic 2011 development line items.
Identified strategic 2008 - 2010
development line items, assigned deliverable objectives to
individual team members, tracked progress, and managed line item schedule
risks as development progressed (specific examples available upon
Enabled string and dynamic linker optimizations and toolchain integration for ppc476 and ppca2 micro-electronics Power Architecture platforms.
Enabled and maintained the Linux
operating system's core GNU C-library (GLIBC) for the
following POWER platforms: power4,
power5, power6, power7, et al. POWER is the
IBM branded Power Architecture server line of
platform optimized libraries in Linux Distribution
Partner enterprise operating system offerings: Novell
SLES 10 (including service packs), Novell SLES 11 (including service packs), Redhat RHEL 5 (including updates), and Redhat RHEL 6.
Delivered three externalAdvance Toolchain releases (older releases here). 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-electronics
customers who have external customers of their own that are
Mentored two interns through the
release of two key product features (decimal floating point
trigonometric math functions, and quantlib optimziation for
the POWER6 processor).
Prepared and reviewed legal due-diligence presentations for clearing open source contributions for external release. Personally prepared four such proposals.
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.
Negotiated and debugged the integration of Libdfp into RHEL6, and SLES 11 SP1.
Served as architect for the
Advance Toolchain through three releases. I set
release schedules, determined package versions, resolved
package dependency conflicts, made project re-factoring
decisions, helped debug complicated bugs, and maintained (backports) the IBM GLIBC source repository branch for each release.
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
Worked on POWER6 optimized arithmetic, conversion, and comparison routines in PowerPC assembly language 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 (a Scheme derivative) for the 32-bit Power Architecture Application Binary Interface.
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.