Abstract
The C library component of Polyglot.
Polyglot utilizes a combination of custom and open source tools and libraries to provide developers with a consistent environment for building tools, etc. for a wide variety of targets with minimal changes to the code being built. It supports a variety of architectures and operating systems/firmware in as target-agnostic way as possible. This allows for developers to minimize the amount of time/effort required to port tools-in particular, forensic tools-to a wide variety of targets.
The project is comprised of two main components: a frontend toolchain that understands how to utilize other tools in order to build code for a specific target, and a minimalistic C library specific to Polyglot. These collectively provide the method to build code for a specific target, and the capability for code to interact with the underlying operating system when run on the target. Both components are written in a way to minimize the amount of target-specific knowledge required to both develop and utilize the project.
- Developers:
-
Huddleston, Timothy [1] ; Stewart, Ellen [1] ; Kvarfordt, Kent [1] ; McCready, Kyle [1] ; Hudson, Sara [1]
- Idaho National Laboratory (INL), Idaho Falls, ID (United States)
- Release Date:
- 2024-04-23
- Project Type:
- Open Source, Publicly Available Repository
- Software Type:
- Scientific
- Programming Languages:
-
C
- Licenses:
-
GNU Lesser General Public License v2.1
- Sponsoring Org.:
-
USDOE Office of Nuclear Energy (NE)Primary Award/Contract Number:AC07-05ID14517
- Code ID:
- 132352
- Research Org.:
- Idaho National Laboratory (INL), Idaho Falls, ID (United States)
- Country of Origin:
- United States
- Keywords:
- Polyglot; embedded systems; toolchain; self-contained executables; polygraph
Citation Formats
Huddleston, Timothy A., Stewart, Ellen N., Kvarfordt, Kent B., McCready, Kyle J., and Hudson, Sara A.
Polyglot C Library.
Computer Software.
https://github.com/idaholab/polyglot-libc.
USDOE Office of Nuclear Energy (NE).
23 Apr. 2024.
Web.
doi:10.11578/dc.20240620.2.
Huddleston, Timothy A., Stewart, Ellen N., Kvarfordt, Kent B., McCready, Kyle J., & Hudson, Sara A.
(2024, April 23).
Polyglot C Library.
[Computer software].
https://github.com/idaholab/polyglot-libc.
https://doi.org/10.11578/dc.20240620.2.
Huddleston, Timothy A., Stewart, Ellen N., Kvarfordt, Kent B., McCready, Kyle J., and Hudson, Sara A.
"Polyglot C Library." Computer software.
April 23, 2024.
https://github.com/idaholab/polyglot-libc.
https://doi.org/10.11578/dc.20240620.2.
@misc{
doecode_132352,
title = {Polyglot C Library},
author = {Huddleston, Timothy A. and Stewart, Ellen N. and Kvarfordt, Kent B. and McCready, Kyle J. and Hudson, Sara A.},
abstractNote = {The C library component of Polyglot.
Polyglot utilizes a combination of custom and open source tools and libraries to provide developers with a consistent environment for building tools, etc. for a wide variety of targets with minimal changes to the code being built. It supports a variety of architectures and operating systems/firmware in as target-agnostic way as possible. This allows for developers to minimize the amount of time/effort required to port tools-in particular, forensic tools-to a wide variety of targets.
The project is comprised of two main components: a frontend toolchain that understands how to utilize other tools in order to build code for a specific target, and a minimalistic C library specific to Polyglot. These collectively provide the method to build code for a specific target, and the capability for code to interact with the underlying operating system when run on the target. Both components are written in a way to minimize the amount of target-specific knowledge required to both develop and utilize the project.},
doi = {10.11578/dc.20240620.2},
url = {https://doi.org/10.11578/dc.20240620.2},
howpublished = {[Computer Software] \url{https://doi.org/10.11578/dc.20240620.2}},
year = {2024},
month = {apr}
}