Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in
  • dav1d dav1d
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 27
    • Issues 27
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 15
    • Merge requests 15
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Releases
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • VideoLANVideoLAN
  • dav1ddav1d
  • Merge requests
  • !1349

meson: Request the linker to error out on unintended autoimported variables

  • Review changes

  • Download
  • Email patches
  • Plain diff
Closed Martin Storsjö requested to merge mstorsjo/dav1d:no-auto-import into master Jan 17, 2022
  • Overview 11
  • Commits 1
  • Pipelines 1
  • Changes 1

Technically, there's two related linker options that almost do the same, --disable-auto-import and --disable-runtime-pseudo-reloc. The runtime pseudo relocs is the aspect that don't work if built with -mcmodel=small. (If the linker manages to autoimport variables without using runtime pseudo relocs, as e.g. lld can do in some cases, that would be tolerable, even if we don't expect that to be needed.)

This currently breaks the build with libplacebo enabled though, as pl_vulkan_default_params and pl_render_default_params still are used autoimported. This only exposes the preexisting issue, because if currently built with freshly updated msys2/mingw64, it errors out at runtime with an error like

32 bit pseudo relocation at 00007FF6FF833ABC out of range, targeting 00007FFB753B25C0, yielding the value 0000000475B7EB00.

since https://github.com/mingw-w64/mingw-w64/commit/ca35236d9799af8a3d2f9baa35b60e6c11abeb24.) Thus I wonder how the fix in 31634245 ever worked and/or if it was enough.

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: no-auto-import

VideoLAN code repository instance