- 2016 - actual
Tech Lead of the Toolchain/Compilers Team at Oracle.
At the Toolchain Team we take care of development tools,
both internally and upstream. Compilers (GCC), assembler,
linker, and binary utilities (GNU binutils), debuggers
(GDB), etc. We focus on several architectures, with special
emphasis on x86, aarch64 and SPARC. We also look after the
toolchain packages in the GNU/Linux distributions developed
and/or used within Oracle.
- 2013 - 2016
Member of the GNU/Linux Engineering Group, improving the GNU
toolchain for SPARC targets, both internally and upstream.
- SPARC support in the GNU assembler, linker and binary
utilities (objdump, nm, etc)
- Support for the SPARC M8 cpu.
- Support for the SPARC M7 cpu.
- Miscellaneous improvements and bug fixes.
- SPARC port of the GNU C Library
- Addition of SPARC optimized routines.
- Miscellaneous improvements and bug fixes.
- SPARC port of GDB, the GNU debugger
- Added reverse debugging support for sparc targets.
- Added support for DTrace USDT probes in
x8664 and sparc targets.
- Miscellaneous improvements and bug fixes.
- SPARC backend of GCC, the GNU Compiler Collection
- Support for the latest SPARC processors, T5, M7, M8.
- Miscellaneous improvements and bug fixes.
- SPARC support in elfutils
- Support for the latest ELF sparc capabilities,
relocations, etc.
- Support for core and live backtraces.
- Miscellaneous improvements and bug fixes.
- SPARC port of the Linux kernel
- uprobes support in sparc.
- Miscellaneous bug fixes.
- Work on SILO, the SPARC bootloader
- Patches to build silo as a 64-bit binaries.
- Support for big images, handling of hypervisor VM.
- Miscellaneous improvements and bug fixes.
- SPARC port of SystemTap
- Port to sparc64 in both 64- and 32-bits.
- Support for sparc systemtap USDT probes in GDB.
- Work on Linux For SPARC
(http://oss.oracle.com/projects/linux-sparc)
- SPARC-specific fixes (and their maintenance) for packages.
- Full SPARC ports of many programs.
- Distro maintenance.
- 2008 - 2013
Software engineer in Terma GmbH
(http://www.terma.com),
Space Division.
- Modelling of NGMP devices in System-C
- ESOC Emulator Suite:
- Support for SPARCv8 and SPARCv8e.
- Support for the LEON2 and LEON3
processors.
- Sentinel-1 Operational Simulator:
- Implementation of the Data Handling subsystems.
- On-Board Software integration.
- Tailoring of the ESOC Emulator.
- Software performance (Emulator, SIMSAT).
- Build system and development tools.
- Simulus 5:
- Responsible for the SIMSAT 4.2 Kernel.
- Relocation of the ESOC Emulator suite to generate
SPARCv9 assembly code in SPARC machines running either
GNU/Linux or Solaris.
- Porting of the ESOC Emulator suite to SLES-11 and
gcc 4.
- Support for synchronous Traps in the ESOC
Emulator.
- Performance improvements in the ESOC Emulator.
- SIMSAT 4.0: Support for SMP2 complex arrays, and
bug fixing.
- Galileo Ground Control System: Implementation of
the CMCF interface in the System Supervisor.
- Herschel-Planck Mission Planning System.
- 2005 - 2008
Software engineer in Deimos Space
(http://www.deimos-space.com),
Real Time Systems Division.
Participation on the following projects:
- MGF (Message Generation Facility, Galileo Ground System
Element).
- AS4 (Advanced Survillance Space Software System).
- RDG (Raw Data Generator, Galileo).
- 2004 - 2005
Works on Dataware Sistemas
(http://www.dataware.es),
writing software for enterprise management. Organizes and
implements a workshop on GNU autotools and GNU development
tools on Unisys Spain.
- 2002 - 2004
Since end of 2002 collaborates with the Software and Systems
Technology Group (UPM), leaded by Prof. Juan Garbajosa; Jose
has had a relevant participation in the project DOBERTSEE
(Low-Cost On-Board Software Development Toolkit, ESTEC
Contract No. 15133/01/NL/ND). The main objective of this
project is to produce an affordable, integrated Software
Engineering Environment (SEE) fully compliant with ECSS-E40
standard process model for developing on-board embedded
real-time software. One of the components that he designs is
the kernel of a flexible programming language environment
that supports a wide range of programming languages, one of
them Java.
Develops the programming environment and the text-editing
infrastructure. This covers both the high level SEE Tcl
component and the low level Tcl extension.