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

Distinguish between strong and weak dependencies + capture undeclared dlopen()s #259

Open
ermo opened this issue Jun 11, 2024 · 0 comments
Labels
type: enhancement New feature or request

Comments

@ermo
Copy link
Member

ermo commented Jun 11, 2024

ermo
Ikey Doherty [BST/UTC+1]: I'm wondering if, with the new systemd approach, where some deps are optional and captured as those special ELF notes, we should perhaps introduce strong (buildtime-deps w/"normal" linking) and weak (buildtime-deps w/dopen() linking) dependencies...?

basically "required" vs. "recommended" at install time.

And then become really good at finding and then annotating undeclared dlopen() linking stuff?

And then help upstreams with getting it integrated in their code-bases/build systems...?

knowing about the undeclared stuff and accounting for it will likely help re. being able to synthesize a dep-complete rebuild graph and effectuating it.

Ikey Doherty
Well that requires us writing dlopen wrappers for them

Ie typedef the symbols etc

Not entirely convinced it'd be difficult to generate those in C from rust by examining a target .so

(...) i haven't got the bandwidth for it atm

but that could be a pretty slick thing down the future, an auto optional dep wrapper thingy

ermo
ok, will capture as an issue right away.

@ermo ermo added the type: enhancement New feature or request label Jun 11, 2024
@ermo ermo added this to the zz -- deferred milestone Jun 11, 2024
@ermo ermo changed the title Distinguish between strong and weak dependencies + capture undeclared dynload()s Distinguish between strong and weak dependencies + capture undeclared dlopen()s Jun 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: enhancement New feature or request
Projects
Development

No branches or pull requests

1 participant