Revision tags: v0.11.0 |
|
#
eb8bb17f |
| 25-Nov-2024 |
Unive Tien <unive.tien.wiwynn@gmail.com> |
dsp: base: add encode_pldm_header_only_errno()
Currently, `encode_pldm_header_only()` returns PLDM Completion Code, which is deprecated, but most of this API's use case were internally inside libpld
dsp: base: add encode_pldm_header_only_errno()
Currently, `encode_pldm_header_only()` returns PLDM Completion Code, which is deprecated, but most of this API's use case were internally inside libpldm itself, therefore, add `encode_pldm_header_only_errno()` as an internal API.
Change-Id: I87822a4f6afe8aa8eb87034179c37341d7ca4190 Signed-off-by: Unive Tien <unive.tien.wiwynn@gmail.com>
show more ...
|
Revision tags: v0.10.0 |
|
#
36324f6b |
| 24-Sep-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
Apply GCC's tainted_args attribute to library entrypoints
The implementation applies `__attribute__((tainted_args))` by integrating it into the existing ABI macro annotations.
In the process, quite
Apply GCC's tainted_args attribute to library entrypoints
The implementation applies `__attribute__((tainted_args))` by integrating it into the existing ABI macro annotations.
In the process, quite a number of APIs were discovered to be unsafe in ways that were not immediately fixable. Often this is because they lack arguments that enable the appropriate bounds-checking to be applied.
Redesigning them is work beyond the scope of the immediate effort. Instead, we also introduce a new annotation, LIBPLDM_ABI_DEPRECATED_UNSAFE, that simply lacks `__attribute__((tainted_args))` and therefore doesn't trigger the extra analysis.
Change-Id: Ib8994eaa3907a5432d040426ad03687cbf4c2136 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
Revision tags: v0.9.1, v0.9.0 |
|
#
d861a681 |
| 03-Jun-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
dsp: base: Rework {un,}pack_pldm_header() error handling
The current preference is that library APIs return negative errno values to signal implementation errors. That doesn't jive with existing sta
dsp: base: Rework {un,}pack_pldm_header() error handling
The current preference is that library APIs return negative errno values to signal implementation errors. That doesn't jive with existing stable APIs returning PLDM completion codes, so provide a means to translate between the two.
The first users are the {un,}pack_pldm_header() functions.
Change-Id: I7b7cb97a1d8b96ec0fec1c0a5fbd8503da834d86 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
#
48761c62 |
| 03-Jun-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
libpldm: Reorganize source and test files
Primarily this is about moving specification-specific files into 'dsp/' (in the "DMTF Standard Publication" sense[1]) subdirectories of both src/ and tests/
libpldm: Reorganize source and test files
Primarily this is about moving specification-specific files into 'dsp/' (in the "DMTF Standard Publication" sense[1]) subdirectories of both src/ and tests/.
[1]: https://www.dmtf.org/sites/default/files/standards/documents/DSP4014_2.14.0.pdf
libpldm is a concrete C implementation of the PLDM family of specifications. This invokes some accidental complexity[2] such as the msgbuf APIs and other concerns.
[2]: https://en.wikipedia.org/wiki/No_Silver_Bullet
Separate the essential complexity (everything under the dsp/ subdirectories) from the accidental complexity (almost everything else).
While doing so, I took the opportunity to drop the 'libpldm_' prefix and '_test' suffix from a variety of tests. The 'libpldm_' prefix is a hangover from the days when libpldm was a subproject of OpenBMC's pldm repo. The '_test' suffix feels redundant given the parent directory path.
Note that we maintain separation of the src/ and tests/. The test suite is implemented in C++ while libpldm's APIs are declared and defined in C. The ability to chop all the tests and C++ out of the implementation by ignoring a subtree seems like a desirable property when vendoring the library into other projects.
Finally, update the x86_64 GCC ABI dump, as rearranging the source causes a lot of churn in its definitions.
Change-Id: Icffcc6cf48b3101ecd38168827c0a81cffb8f083 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|