Comments (5)
Xref glibc causing pain in other ways: #5860. One possibility is to stop supporting glibc in clients and DR's own "normal" binaries: require clients to use musl or somesuch, and switch to musl in DR's binaries, since the glibc owners are making it quite difficult to keep using it in our project not just for the private loader but also for "normal" uses such as in the drrun launcher where we want backward compatibility without having to build on an old toolchain.
from dynamorio.
In my opinion, DynamoRIO's capability of being able to work with system glibc reasonably well is a great advantage over pin. I think we should just keep an eye on new versions of glibc and fix broken fields, unless this becomes too unmanageable of course. :)
from dynamorio.
In my opinion, DynamoRIO's capability of being able to work with system glibc reasonably well is a great advantage over pin. I think we should just keep an eye on new versions of glibc and fix broken fields, unless this becomes too unmanageable of course. :)
This is useful feedback. Could you elaborate: are there features missing from musl you want to use in your clients, or you want to avoid having to build/link your clients in non-standard ways?
from dynamorio.
are there features missing from musl you want to use in your clients, or you want to avoid having to build/link your clients in non-standard ways?
I'd say it's more of the latter, although I can imagine someone would prefer glibc because of its performance or some third-party libraries require glibc.
from dynamorio.
Hi, I am running into the SIGFPE crash on Arch Linux using glibc 2.39-4.
After some investigation, it looks like the offset changed in the glibc 2.39(-4?) on Arch Linux. I am not sure why the offset is different (the offset in d21d6e3 looks like the right offset with using glibc 2.39-0ubuntu8.1_amd64 on ubuntu).
Left Arch Linux glibc 2.39-4, Right Ubuntu glibc 2.39-0ubuntu8.1_amd64
I got drrun to work after patching offset to the following. Just want to leave this comment incase anyone ran into the same issue.
+0x02d8 _dl_tls_static_size : size_t
+0x02e0 _dl_tls_static_align : size_t
glibc version info:
% /usr/lib/libc.so.6
GNU C Library (GNU libc) stable release version 2.39.
Copyright (C) 2024 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Compiled by GNU CC version 13.2.1 20240417.
libc ABIs: UNIQUE IFUNC ABSOLUTE
Minimum supported kernel: 4.4.0
For bug reporting instructions, please see:
<https://gitlab.archlinux.org/archlinux/packaging/packages/glibc/-/issues>.
% pacman -Q glibc
glibc 2.39-4
from dynamorio.
Related Issues (20)
- xsave* also loads data
- drcachesim.TLB-threads fails in aarch64-precommit HOT 3
- AArch64 SVE: Add 128 bit vector length tests to CI
- CRASH drcachesim with fewer simulated cores than present in a core-sharded-on-disk trace
- Unable to see read/write addresses in dynamorio kernel traces that got generated with libipt HOT 1
- [CRASH] when using drsym_lookup_address [Windows 19045]
- ubuntu22 GA workflows failing apt-get update HOT 2
- [drmemtrace analyzer] Incorrect end timestamp and instr counts in shard-final interval HOT 1
- AArch64: ASSERT when tracing stg using memval_simple
- record_filter flips trace_entry_t records
- Error happens when elf app doesnโt have a rseq_cs struct HOT 7
- Update opcode_mix initializers
- Stack overflow crash on app signal delivery to gone-native threads HOT 1
- Add drmemtrace -record_syscall targets to function list file
- Add unscheduled-thread modeling to the drmemtrace scheduler
- sigmask not restored for native signal delivery with copied frame
- Refactor drmemtrace scheduler to specialize code by mapping option
- Add timestamps-of-interest drmemtrace scheduler feature
- CRASH while running on Ubuntu 24.04 HOT 2
- window_test only checks first trace window; should check all HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dynamorio.