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

[new release] owee (0.8) #27453

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Conversation

let-def
Copy link
Contributor

@let-def let-def commented Feb 15, 2025

OCaml library to work with DWARF format

CHANGES:

Sun Feb 16 08:22:39 AM JST 2025

  • Add program header parsing by @JosiahWhite
    (Needed to improve Magic-Trace support for Rust programs,
    or, more generallry, ELF spec)

@JosiahWhite
Copy link

@let-def This looks to be due to the compiled test-4.bin/test-5.bin files containing extra debug symbols for c runtime functions

@let-def
Copy link
Contributor Author

let-def commented Feb 17, 2025

@let-def This looks to be due to the compiled test-4.bin/test-5.bin files containing extra debug symbols for c runtime functions

Yes, thanks for looking into it. The simplest fix is to test only for debug lines from the file being tested by grepping the output.

An alternative approach would be to test only object files, not linked binaries. However, GCC (at least mine) generates compressed debug line sections for object files, which would require updating the debug_line support to handle zlib and possibly zstd sections. This is another can of worms that might be addressed in a future version.

Separately testing binaries is still worthwhile, so I will use the "grep" workaround for now, unless anyone knows of a more principled approach.

CHANGES:

Fri May 12 19:02:16 JST 2023

- Test fixes by @gretay-js
- Bug fix in interval map by @poechsel
- Added support for relocations by @poechsel
@let-def
Copy link
Contributor Author

let-def commented Feb 17, 2025

@shonfeder: The build error on s390x can be ignored I think. The support is limited to x86-64 for the time being.

@shonfeder
Copy link
Contributor

@let-def than you for the CI review and for the fixes!

The last thing I am seeing is this failure on Windows:

  #=== ERROR while compiling owee.0.8 ===========================================#
  # context     2.3.0 | win32/x86_64 | ocaml.5.3.0 | file://D:/a/opam-repository/opam-repository
  # path        D:\opamroot\default\.opam-switch\build\owee.0.8
  # command     D:\opamroot\default\bin\dune.exe build -p owee -j 3 @install
  # exit-code   1
  # env-file    D:\opamroot\log\owee-1816-626a32.env
  # output-file D:\opamroot\log\owee-1816-626a32.out
  ### output ###
  # File "src/dune", line 5, characters 36-46:
  # 5 |  (foreign_stubs (language c) (names owee_stubs))
  #                                         ^^^^^^^^^^
  # (cd _build/default/src && D:\opamroot\default\bin\x86_64-w64-mingw32-gcc.exe -O2 -fno-strict-aliasing -fwrapv -mms-bitfields -fdiagnostics-color=always -g -I D:/opamroot/default/lib/ocaml -I D:/opamroot/default/lib/ocaml\unix -o owee_stubs.o -c owee_stubs.c)
  # owee_stubs.c:18:10: fatal error: dlfcn.h: No such file or directory
  #    18 | #include <dlfcn.h>
  #       |          ^~~~~~~~~
  # compilation terminated.

Should we perhaps mark this as unavailable on windows?

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