Skip to content

fix(datadog-agent-commons): add AIX platform settings - #2034

Merged
gh-worker-dd-mergequeue-cf854d[bot] merged 4 commits into
mainfrom
thieman/dadp-142-datadog-agent-commons-aix
Jul 10, 2026
Merged

fix(datadog-agent-commons): add AIX platform settings#2034
gh-worker-dd-mergequeue-cf854d[bot] merged 4 commits into
mainfrom
thieman/dadp-142-datadog-agent-commons-aix

Conversation

@thieman

@thieman thieman commented Jul 6, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds AIX platform defaults to datadog-agent-commons so platform settings resolve when building ADP on AIX.

This is one of the Saluki-side blockers from DADP-142 / the AIX Confluence notes. After getting past process-memory and stringtheory, the AIX ADP build stopped in datadog-agent-commons because platform/mod.rs referenced platform constants/functions that are not defined for AIX.

Key changes

  • Add platform/aix_impl.rs with AIX config, log, and syslog defaults.
  • Wire the AIX platform module into platform/mod.rs.
  • Add an AIX-only unit test for the expected platform paths.

AIX defaults

The AIX defaults match the standard Datadog Agent paths used in the AIX build notes:

  • Config directory: /etc/datadog-agent
  • Log directory: /var/log/datadog
  • Local syslog URI: unixgram:///dev/log

Continuation context

This PR is part of a three-PR Saluki-side AIX enablement stack:

  1. fix(process-memory): support RSS queries on AIX #2031: process-memory AIX RSS support.
  2. fix(stringtheory): support big-endian platforms for MetaString #2032: stringtheory big-endian MetaString fallback.
  3. This PR: datadog-agent-commons AIX platform settings.

A separate upstream/fork fix is still needed for aws-lc-rs; during validation I used the local checkout of Travis's fork/branch on the AIX host. That temporary override is not included in this PR.

Temporary AIX validation setup used on soaix499:

export PATH=/opt/freeware/lib/RustSDK/1.92/bin:/opt/freeware/bin:/usr/sbin:/usr/bin:/bin
export CC=/opt/freeware/bin/gcc-8
export CXX=/opt/freeware/bin/g++-8
export AR=/usr/bin/ar
export RANLIB=/usr/bin/ranlib
export CARGO_HOME=$HOME/dd/cargo-home
export CARGO_TARGET_DIR=$HOME/dd/saluki-target
export CARGO_REGISTRIES_CRATES_IO_PROTOCOL=sparse

Test plan

  • RED on AIX before implementation:
    • Added the AIX-specific platform test.
    • With the proper AIX build env, cargo test -p datadog-agent-commons platform::tests::aix_uses_standard_agent_paths --no-run failed because AIX platform constants/functions were missing.
  • Local:
    • cargo fmt --package datadog-agent-commons --all
    • cargo check -p datadog-agent-commons
    • cargo test -p datadog-agent-commons platform::tests
    • git diff --check
  • AIX 7.3 (soaix499):
    • cargo test -p datadog-agent-commons platform::tests::aix_uses_standard_agent_paths
    • Result: aix_uses_standard_agent_paths ... ok
  • AIX 7.3 (soaix499) with temporary local aws-lc-rs patch plus fix(process-memory): support RSS queries on AIX #2031 and fix(stringtheory): support big-endian platforms for MetaString #2032 synced:
    • cargo build -p agent-data-plane
    • Result: completed successfully in debug profile and produced /home/zkvhn/dd/saluki-target/debug/agent-data-plane.
    • Binary identified by file as 64-bit XCOFF executable or object module not stripped.

Notes

  • This PR does not include the temporary local aws-lc-rs patch used for AIX validation.
  • I committed with --no-verify because the local hook/check path attempted broad workspace/nightly checks and was killed by the local machine while unrelated to this targeted crate change. The targeted commands above were run separately.

Add AIX defaults for Datadog Agent configuration, log, and syslog paths so datadog-agent-commons can compile on AIX. Cover the AIX paths with a platform-specific unit test.
@pr-commenter

pr-commenter Bot commented Jul 6, 2026

Copy link
Copy Markdown

Binary Size Analysis (Agent Data Plane)

Baseline: f546aa0 · Comparison: 9421f83 · diff
Analysis Configuration: stripped binaries · Pass/Fail Threshold: +5%
Sizes: 41.66 MiB (baseline) vs 41.66 MiB (comparison)
Size Change: +376 B (+0.00%)

✅ Binary size difference within threshold

Changes by Module
Module File Size Symbols
anon.1235f2e820aba4ef2ff8e9c2f637e5d7.1071.llvm.15723741892226773521 +3.19 KiB 1
anon.b4e720ff31d34137fbb65f39e9824087.393.llvm.8649721099890346063 -3.19 KiB 1
anon.ad91e51c62512cff203a6c63aaecf20c.748.llvm.18240059250610999947 +1.16 KiB 1
anon.baa254c6efe0ddb0c5fb9978267b984a.118.llvm.10975290733698820588 -1.16 KiB 1
anon.b4e720ff31d34137fbb65f39e9824087.267.llvm.17067152758127668586 +827 B 1
anon.378850dbbf8ae21337c61fbb126d1fab.4.llvm.1752145038242997239 -826 B 1
anon.b4e720ff31d34137fbb65f39e9824087.428.llvm.17067152758127668586 +647 B 1
anon.4fce6c7d2aa45dd9a6f02a2c0752f076.156.llvm.9573164220153040075 -646 B 1
anon.ad91e51c62512cff203a6c63aaecf20c.742.llvm.18240059250610999947 +554 B 1
anon.b4e720ff31d34137fbb65f39e9824087.444.llvm.8649721099890346063 -553 B 1
anon.b4e720ff31d34137fbb65f39e9824087.121.llvm.17067152758127668586 +459 B 1
anon.1235f2e820aba4ef2ff8e9c2f637e5d7.723.llvm.15723741892226773521 -458 B 1
anon.4ca31b3bac3e97cabc0f30d1a0c8e5d8.138.llvm.17523740156918517224 +448 B 1
anon.b4e720ff31d34137fbb65f39e9824087.202.llvm.8649721099890346063 -447 B 1
anon.b4e720ff31d34137fbb65f39e9824087.177.llvm.17067152758127668586 +401 B 1
anon.f501cb52d9f8c824484a231912eebd4c.76.llvm.2639425098806111472 -400 B 1
anon.531ecee85ab079972cb101889f0a4383.67.llvm.13065252657477731053 +399 B 1
anon.b4e720ff31d34137fbb65f39e9824087.172.llvm.8649721099890346063 -398 B 1
anon.531ecee85ab079972cb101889f0a4383.55.llvm.13065252657477731053 +395 B 1
anon.b4e720ff31d34137fbb65f39e9824087.115.llvm.8649721099890346063 -394 B 1
Detailed Symbol Changes
    FILE SIZE        VM SIZE    
 --------------  -------------- 
  [NEW] +3.19Ki  [NEW]     +89    anon.1235f2e820aba4ef2ff8e9c2f637e5d7.1071.llvm.15723741892226773521
  [NEW] +1.16Ki  [NEW]     +91    anon.ad91e51c62512cff203a6c63aaecf20c.748.llvm.18240059250610999947
  [NEW]    +827  [NEW]    +100    anon.b4e720ff31d34137fbb65f39e9824087.267.llvm.17067152758127668586
  [NEW]    +647  [NEW]    +104    anon.b4e720ff31d34137fbb65f39e9824087.428.llvm.17067152758127668586
  [NEW]    +554  [NEW]     +96    anon.ad91e51c62512cff203a6c63aaecf20c.742.llvm.18240059250610999947
  [NEW]    +459  [NEW]     +93    anon.b4e720ff31d34137fbb65f39e9824087.121.llvm.17067152758127668586
  [NEW]    +448  [NEW]     +83    anon.4ca31b3bac3e97cabc0f30d1a0c8e5d8.138.llvm.17523740156918517224
  [NEW]    +401  [NEW]     +37    anon.b4e720ff31d34137fbb65f39e9824087.177.llvm.17067152758127668586
  [NEW]    +399  [NEW]     +35    anon.531ecee85ab079972cb101889f0a4383.67.llvm.13065252657477731053
  [NEW]    +395  [NEW]     +30    anon.531ecee85ab079972cb101889f0a4383.55.llvm.13065252657477731053
  +0.1%    +367  [ = ]       0    [521 Others]
  [DEL]    -394  [DEL]     -30    anon.b4e720ff31d34137fbb65f39e9824087.115.llvm.8649721099890346063
  [DEL]    -398  [DEL]     -35    anon.b4e720ff31d34137fbb65f39e9824087.172.llvm.8649721099890346063
  [DEL]    -400  [DEL]     -37    anon.f501cb52d9f8c824484a231912eebd4c.76.llvm.2639425098806111472
  [DEL]    -447  [DEL]     -83    anon.b4e720ff31d34137fbb65f39e9824087.202.llvm.8649721099890346063
  [DEL]    -458  [DEL]     -93    anon.1235f2e820aba4ef2ff8e9c2f637e5d7.723.llvm.15723741892226773521
  [DEL]    -553  [DEL]     -96    anon.b4e720ff31d34137fbb65f39e9824087.444.llvm.8649721099890346063
  [DEL]    -646  [DEL]    -104    anon.4fce6c7d2aa45dd9a6f02a2c0752f076.156.llvm.9573164220153040075
  [DEL]    -826  [DEL]    -100    anon.378850dbbf8ae21337c61fbb126d1fab.4.llvm.1752145038242997239
  [DEL] -1.16Ki  [DEL]     -91    anon.baa254c6efe0ddb0c5fb9978267b984a.118.llvm.10975290733698820588
  [DEL] -3.19Ki  [DEL]     -89    anon.b4e720ff31d34137fbb65f39e9824087.393.llvm.8649721099890346063
  +0.0%    +376  [ = ]       0    TOTAL

@pr-commenter

pr-commenter Bot commented Jul 6, 2026

Copy link
Copy Markdown

Regression Detector (Agent Data Plane)

Run ID: 4d6eb176-6fb2-4cb2-a5a4-dd7f93d8d5c6
Baseline: f546aa02 · Comparison: 9421f83a · diff

Optimization Goals: ✅ No significant changes detected

Fine details of change detection per experiment (5)

Experiments configured erratic: true are tagged (ignored) and skipped when determining which experiments regressed or improved. Experiments which are detected as erratic at runtime are tagged (erratic) to flag that the run's sample dispersion was high, but their regression / improvement signal still counts.

experiment goal Δ mean % links
quality_gates_rss_dsd_heavy memory ⚪ +0.54 metrics profiles logs
quality_gates_rss_idle memory ⚪ +0.27 metrics profiles logs
quality_gates_rss_dsd_medium memory ⚪ +0.25 metrics profiles logs
quality_gates_rss_dsd_ultraheavy memory ⚪ +0.09 metrics profiles logs
quality_gates_rss_dsd_low memory ⚪ -0.28 metrics profiles logs
Bounds Checks: ✅ Passed (5)
experiment check replicates observed links
quality_gates_rss_dsd_heavy memory_usage 10/10 ✅ 136 MiB ≤ 140 MiB metrics profiles logs
quality_gates_rss_dsd_low memory_usage 10/10 ✅ 43.2 MiB ≤ 50 MiB metrics profiles logs
quality_gates_rss_dsd_medium memory_usage 10/10 ✅ 64.8 MiB ≤ 75 MiB metrics profiles logs
quality_gates_rss_dsd_ultraheavy memory_usage 10/10 ✅ 193 MiB ≤ 200 MiB metrics profiles logs
quality_gates_rss_idle memory_usage 10/10 ✅ 29 MiB ≤ 40 MiB metrics profiles logs
Explanation

A change is flagged as a regression when |Δ mean %| > 5.00% in the regressing direction for its optimization goal AND SMP marks the experiment as a regression (is_regression: true). Improvements use the matching criteria for the improving direction. Experiments configured erratic: true (tagged (ignored)) are skipped outright; experiments detected as erratic at runtime (tagged (erratic)) still count, since that flag describes sample dispersion rather than directional certainty. The Δ mean % cell is colored accordingly: 🟢 = improvement, 🔴 = regression, ⚪ = neutral. Reduction in CPU or memory is an improvement; reduction in ingress throughput is a regression.

@thieman
thieman marked this pull request as ready for review July 10, 2026 16:54
@thieman
thieman requested a review from a team as a code owner July 10, 2026 16:54
@thieman
thieman requested a review from pgimalac July 10, 2026 16:55

@pgimalac pgimalac left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM !

thieman added 2 commits July 10, 2026 14:49
AIX uses the same default Agent paths and local syslog URI as Linux. Reuse the Linux platform implementation for both operating systems instead of carrying a duplicate AIX module.
AIX now uses the Linux platform implementation directly, so the separate AIX-only assertion duplicated the Linux defaults without adding useful coverage.
gh-worker-dd-mergequeue-cf854d Bot pushed a commit that referenced this pull request Jul 10, 2026
## Summary

Adds big-endian support to `stringtheory::MetaString` while keeping the existing optimized three-word union representation.

This is one of the Saluki-side blockers from DADP-142 / the AIX Confluence notes. After getting past `process-memory`, the AIX ADP build stopped at `stringtheory` because the previous `MetaString` implementation explicitly required 64-bit little-endian platforms.

## Key changes

- Keep `MetaString` on the existing compact three-word representation for both little- and big-endian 64-bit targets.
- Make the discriminant/tag byte endian-aware:
  - little-endian uses byte `23`, preserving the existing layout and 23-byte inline capacity.
  - big-endian uses byte `16`, the high byte of the third machine word, with a 16-byte inline capacity so inline string bytes remain contiguous.
- Preserve owned/static/interned/shared tagging through the high byte of the third `usize` across endianness.
- Remove the separate big-endian fallback implementation in favor of the unified layout in `lib/stringtheory/src/lib.rs`.
- Add tests for endian-specific layout constants, discriminant byte values, inline capacity boundaries, contiguous inline storage, and the public big-endian API surface.

## Design notes

- The optimized `MetaString` layout stores all variants in three machine words and determines the active variant from a single tag byte.
- On little-endian targets, that tag byte is the final byte of the 24-byte layout. On big-endian targets, the high byte of the third `usize` is instead the first byte of the third machine word, so the tag byte index must change.
- Big-endian inline capacity is intentionally reduced from 23 bytes to 16 bytes. This keeps inline string contents as a contiguous prefix, so `Deref<Target = str>` can still return a borrowed `&str` without allocating.
- Owned strings remain non-cheap to clone on both endiannesses because `From<String>` now uses the same owned-string variant everywhere.

## Continuation context

This PR is part of a three-PR Saluki-side AIX enablement stack:

1. #2031: `process-memory` AIX RSS support.
2. This PR: `stringtheory` big-endian `MetaString` support.
3. #2034: `datadog-agent-commons` AIX platform settings.

A separate upstream/fork fix is still needed for `aws-lc-rs`; during validation I used the local checkout of Travis's fork/branch on the AIX host. That temporary override is **not** included in this PR.

Temporary AIX validation setup used on `soaix499`:

```sh
export PATH=/opt/freeware/lib/RustSDK/1.92/bin:/opt/freeware/bin:/usr/sbin:/usr/bin:/bin
export CC=/opt/freeware/bin/gcc-8
export CXX=/opt/freeware/bin/g++-8
export AR=/usr/bin/ar
export RANLIB=/usr/bin/ranlib
export CARGO_HOME=$HOME/dd/cargo-home
export CARGO_TARGET_DIR=$HOME/dd/saluki-target
export CARGO_REGISTRIES_CRATES_IO_PROTOCOL=sparse
```

## Test plan

- RED on AIX before implementation:
  - Added temporary big-endian coverage while developing the initial fix.
  - `cargo test -p stringtheory --test big_endian --no-run` failed at the existing little-endian compile gate.
  - The final PR folds that coverage into the normal crate unit tests and removes the temporary integration test.
- Local/native little-endian:
  - `make fmt`
  - `cargo nextest run -p stringtheory`
  - Focused inline-boundary tests for the tag-byte off-by-one case:
    - `cargo test -p stringtheory inlined_string_uses_every_byte_before_tag_byte -- --exact`
    - `cargo test -p stringtheory inlined_string_rejects_one_byte_past_tag_byte -- --exact`
  - `cargo check --workspace`
  - `cargo check --workspace --tests`
  - `make check-deny`
  - `git diff --check`
- Big-endian compile target:
  - `rustup target add s390x-unknown-linux-gnu`
  - `cargo check -p stringtheory --target s390x-unknown-linux-gnu`
  - `cargo check -p stringtheory --tests --target s390x-unknown-linux-gnu`
- AIX 7.3 (`soaix499`) on latest PR head `90a2aa6560` archived to `~/dd/saluki-pr2032-latest`:
  - `cargo test -p stringtheory --lib --ignore-rust-version`
  - Result: `45 passed; 0 failed`, including the endian-specific layout and public API unit tests.
- AIX 7.3 (`soaix499`) with temporary local `aws-lc-rs` patch and the process-memory fix synced:
  - `cargo build -p agent-data-plane` got past `stringtheory` and failed at the next known blocker, AIX platform constants in `datadog-agent-commons`.

## Notes

- This PR does not include the temporary local `aws-lc-rs` patch used for AIX validation.
- The current branch commits were created with normal pre-commit checks enabled. Earlier notes about bypassing local hooks are obsolete after the rebase and follow-up commits.





Co-authored-by: travis.thieman <travis.thieman@datadoghq.com>
@gh-worker-dd-mergequeue-cf854d
gh-worker-dd-mergequeue-cf854d Bot merged commit 5f214f2 into main Jul 10, 2026
84 checks passed
@gh-worker-dd-mergequeue-cf854d
gh-worker-dd-mergequeue-cf854d Bot deleted the thieman/dadp-142-datadog-agent-commons-aix branch July 10, 2026 19:31
gh-worker-dd-mergequeue-cf854d Bot pushed a commit that referenced this pull request Jul 10, 2026
## Summary

Adds AIX support to the `process-memory` crate by reading `/proc/<pid>/psinfo` and extracting the resident set size from the AIX `psinfo_t` layout.

This is one of the Saluki-side blockers from DADP-142 / the AIX Confluence notes. With only the temporary `aws-lc-rs` AIX branch applied, the AIX ADP build previously stopped at `process-memory` because the crate rejected all non-Linux/macOS/Windows targets.

## Key changes

- Add an AIX `Querier` backend for resident set size queries.
- Include AIX in the crate's supported target list.
- Parse `psinfo_t.pr_rssize` as a native-endian `uint64_t` value in KiB units, then convert to bytes with overflow checks.
- Add AIX parser coverage for successful parsing, zero RSS, truncated `psinfo`, and overflow.
- Add AIX-only integration coverage that compares `Querier` against the raw `/proc/<pid>/psinfo` RSS field.
- Keep the `dhat` allocation test active on non-AIX targets and make the harness-free test binary a no-op on AIX, where `dhat` is intentionally not enabled.

## AIX implementation notes

- AIX on `soaix499` does not expose `/proc/self/psinfo`; it exposes `/proc/<pid>/psinfo`.
- IBM's AIX `/proc` documentation states that `/proc` files provide 64-bit mode-invariant data to observers and that future structure growth appends fields.
- IBM documents `psinfo_t.pr_rssize` as `uint64_t pr_rssize`, resident set size in KiB (1024) units.
- I verified the AIX 7.3 `psinfo_t` layout on `soaix499` with a small C program using `<sys/procfs.h>`:
  - `sizeof(psinfo_t) = 448`
  - `offsetof(psinfo_t, pr_size) = 96`
  - `offsetof(psinfo_t, pr_rssize) = 104`
  - `offsetof(psinfo_t, pr_start) = 112`
- Manual magnitude validation on `soaix499` showed `Querier`, raw `pr_rssize * 1024`, and `ps v <pid>` report the same RSS magnitude. Treating `pr_rssize` as pages would report roughly 4x too high on the 4 KiB page-size test host.
- The implementation is fail-closed: open/read/truncation/overflow failures return `None` rather than panicking.

## Continuation context

This PR is part of a three-PR Saluki-side AIX enablement stack:

1. This PR: `process-memory` AIX RSS support.
2. #2032: `stringtheory` big-endian `MetaString` fallback.
3. #2034: `datadog-agent-commons` AIX platform settings.

A separate upstream/fork fix is still needed for `aws-lc-rs`; during validation I used the local checkout of Travis's fork/branch on the AIX host. That temporary override is **not** included in this PR.

## Test plan

Local:

- `make fmt`
- `cargo check -p process-memory`
- `cargo check -p process-memory --tests`
- `cargo test -p process-memory`
- Direct parser test compile/run for `lib/process-memory/src/aix.rs`.

AIX 7.3 (`soaix499`):

- `cargo test -p process-memory`
- Result:
  - AIX unit tests: `4 passed`
  - AIX integration tests: `1 passed`
  - `tests/no_runtime_allocations.rs` runs successfully as a no-op on AIX
  - Doc tests: `0 failed`
- Manual RSS magnitude check:
  - `Querier` and raw `pr_rssize * 1024` reported about `5.9-6.1 MiB` for the test process.
  - `ps v <pid>` reported the same RSS magnitude.
  - Treating `pr_rssize` as a page count would have reported about `23.7-24.4 MiB`.

## Notes

- This PR does not include the temporary local `aws-lc-rs` patch used for broader AIX validation.
- The latest commits were made with the normal pre-commit hook path; the hook completed successfully, including formatting, clippy, license/advisory checks, prose checks, and API docs build.


Co-authored-by: toby.lawrence <toby.lawrence@datadoghq.com>
gh-worker-dd-mergequeue-cf854d Bot pushed a commit that referenced this pull request Jul 13, 2026
## Human Summary

Adds a script and Makefile target to build a release ADP binary on AIX. This comes with two intentional divergences from how we build on the other platforms:

- We can't use `cargo auditable` because it does not support XCOFF. Clanker tried to get it to work with some manual patching but wasn't able to. Seems like this will be a more significant contribution to upstream if we want this to work.
- We can't use link-time optimization (LTO) because it doesn't seem to work on AIX at all, even for a hello-world crate. This is actually called out in IBM's docs [here](https://www.ibm.com/docs/en/osfroa/1.90.0?topic=started-introducing-rustc-compiler).

Neither of these should be showstoppers, but please comment if they are. The plan will be to call this script from within the Agent's `packaging/aix` machinery when we do AIX builds. Working on that follow-up now.

## Summary

- Adds `make build-adp-aix` for native AIX ADP builds using the IBM Rust SDK and AIX Toolbox GCC toolchain.
- Adds `ci/tooling/build-adp-aix.sh` to record the AIX build environment and run the native Cargo build.
- Adds an `aix-optimized-release` Cargo profile that keeps the optimized-release binary settings that work on AIX while disabling LTO.
- Checks the major toolchain versions for cargo/rustc/gcc/g++ so AIX builds fail loudly if the toolchain drifts unexpectedly.

## Notes

- The AIX enablement and AWS-LC dependency changes from #2031, #2032, #2034, #2060, and #2082 are now on `main`; this PR is rebased on top of them and only carries the build helper/profile changes.
- `aws-lc-sys` is built from the bumped dependency without patching Cargo's registry cache.
- On the AIX test host, `gcc-8` fails in an AWS-LC compiler feature probe; `/opt/freeware/bin/gcc` (`gcc 13.3`) succeeds, so the helper defaults to that compiler.
- AIX currently does not use `cargo auditable`: cargo-auditable emits ELF/generic Unix linker inputs and flags that AIX's XCOFF linker rejects.
- AIX currently uses `aix-optimized-release` instead of `optimized-release`: the IBM Rust SDK 1.92 fails LTO even for a tiny hello-world crate with `failed to get bitcode from object file for LTO (Can't find section .ipa)`.
- The helper still uses the same metadata inputs that affect the ADP binary (`APP_FULL_NAME`, `APP_SHORT_NAME`, `APP_IDENTIFIER`, `APP_VERSION`, `APP_GIT_HASH`, `APP_BUILD_TIME`, `APP_DEV_BUILD`) and passes `BUILD_FEATURES` through to Cargo.
- Toolchain version prefixes are overrideable through `ADP_AIX_EXPECTED_*_PREFIX` variables when an intentional toolchain update occurs.

## Test Plan

- [x] `bash -n ci/tooling/build-adp-aix.sh`
- [x] `ADP_AIX_BUILD_DRY_RUN=true make build-adp-aix`
- [x] `cargo metadata --no-deps --format-version 1`
- [x] AIX: `CARGO_HOME=/opt/cargo-home-aix-adp-pr-stack CARGO_TARGET_DIR=/opt/saluki-aix-adp-pr-stack-target make build-adp-aix`
- [x] AIX: `/opt/saluki-aix-adp-pr-stack-target/aix-optimized-release/agent-data-plane --help`
- [x] AIX: `/opt/saluki-aix-adp-pr-stack-target/aix-optimized-release/agent-data-plane version`
- [x] Pre-commit hook: `fmt`, `check-clippy`, `check-licenses`, `check-deny`, `check-docs`, `generate-api-docs`

AIX toolchain observed:

- `cargo 1.92.0 (IBM Open SDK for Rust on AIX 1.92.0.0)`
- `rustc 1.92.0 (IBM Open SDK for Rust on AIX 1.92.0.0)`
- `gcc (GCC) 13.3.0`
- `g++ (GCC) 13.3.0`

AIX build result:

- `Finished aix-optimized-release profile [optimized + debuginfo] target(s) in 26m 22s`
- Binary: `64-bit XCOFF executable or object module not stripped`


Co-authored-by: travis.thieman <travis.thieman@datadoghq.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants