Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support FreeBSD + avoid hard-coding excluded library versions #45

Open
wants to merge 4 commits into
base: release/2.0
Choose a base branch
from

Commits on Dec 5, 2021

  1. Support FreeBSD + avoid hard-coding excluded library versions

    Summary/motivation of changes:
    - FreeBSD has `sys/auxv.h` but it does not have `getauxval`, and its
      equivalent does not have `AT_PLATFORM`. Luckily, we don't actually
      need this at all on FreeBSD since, unlike Linux, libraries aren't put
      into platform-prefixed directories.
    - `bash` is not installed by default and when it is, it does not live in
      `/bin`. Thus the integration tests shebang has been changed to use
      `/usr/bin/env bash`, which should work across platforms.
    - BSD `diff`, which macOS also uses, does not support the `--color`
      flag, so that now enabled only on Linux.
    - Rather than including versioned shared libraries in the exclusion
      list, we can list unversioned library names and strip any version
      number from the library currently being inspected. This accounts for
      cases like FreeBSD's `libc.so.7`, which would have to be added as
      another special case alongside Linux's `libc.so.6` otherwise.
    ararslan committed Dec 5, 2021
    Configuration menu
    Copy the full SHA
    e73c28d View commit details
    Browse the repository at this point in the history

Commits on Dec 6, 2021

  1. use sh not bash

    haampie committed Dec 6, 2021
    Configuration menu
    Copy the full SHA
    dd31ae1 View commit details
    Browse the repository at this point in the history

Commits on Dec 7, 2021

  1. Use uname for some substitutions

    With this change, we use `getauxval` to get the platform on Linux when
    that function is available, and when it isn't, we use the POSIX `uname`
    to retrieve that info. The `utsname` struct gets passed around as well
    so that substitutions other than `$PLATFORM` can be applied downstream
    with only one additional function parameter.
    ararslan committed Dec 7, 2021
    Configuration menu
    Copy the full SHA
    307a8f8 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    8836e7e View commit details
    Browse the repository at this point in the history