summaryrefslogtreecommitdiff
path: root/src/logic/slbt_exec_link.c
AgeCommit message (Collapse)AuthorFilesLines
2020-09-08driver, link mode: properly implement the -module semantics.midipix1-1/+27
Prior to this commit, -module was not respected when the specified output name happened to end with the platform's shared library suffix. In addition, the logic for generating shared libraries with -module in effect has been incomplete and partially also incorrect.
2019-02-19driver, compile & link mode: support arbitrary & known compiler wrappers.midipix1-4/+14
2018-11-10link mode: host flavors: properly support suffixed suffixes.midipix1-21/+33
2018-10-21slbt_exec_link_finalize_argument_vector(): remove redundant -L arguments.midipix1-0/+14
2018-10-21slbt_exec_link_finalize_argument_vector(): refactor argument removal logic.midipix1-36/+40
2018-10-21slbt_exec_link_finalize_argument_vector(): remove placeholder arguments.midipix1-1/+4
2018-10-21slbt_exec_link_finalize_argument_vector(): remove redundant -l arguments.midipix1-2/+48
2018-10-21slbt_exec_link_finalize_argument_vector(): properly handle local archives.midipix1-0/+4
2018-10-15slbt_exec_link_create_dep_file(): simplify given the recent argv normalization.midipix1-19/+4
2018-10-15slbt_exec_link_finalize_argument_vector(): fix sneaky typo.midipix1-2/+2
2018-08-13internals: slbt_adjust_linker_argument() now uses the context's fdcwd.midipix1-2/+6
2018-08-13internals: slbt_mkdir() now uses the context's fdcwd.midipix1-1/+1
2018-07-18slbt_adjust_object_argument(): support validly alternate (non-)pic objects.midipix1-17/+57
2018-07-18slbt_adjust_input_argument(): split: slbt_adjust_{wrapper|object}_argument().midipix1-9/+42
2018-07-16project: update the _XOPEN_SOURCE requirement to reflect use of openat(3).midipix1-4/+0
2018-07-11compile & link modes: accommodate conceptually challenged, PICky targets.midipix1-1/+3
2018-07-11link mode: properly handle explicit archive input arguments.midipix1-5/+13
2018-07-11whitespace meditation.midipix1-9/+9
2018-07-11slbt_adjust_linker_argument(): properly handle external archives and libraries.midipix1-7/+9
2018-07-10slbt_adjust_linker_argument(): process dependencies also for non-pic .la args.midipix1-1/+1
2018-07-10slbt_adjust_linker_argument(): properly handle explicit .a/.so arguments.midipix1-0/+6
2018-07-07implementation: use of openat(): define _POSIX_C_SOURCE as needed.midipix1-0/+4
2018-07-06library interfaces: invocations of openat() now use the context's fdcwd.midipix1-6/+21
2018-07-05slbt_get_deps_meta(): fix typo (and hide).midipix1-1/+1
2018-06-29execution context: generated wrapper: replaced the stream with a pure fd.midipix1-9/+15
2018-06-29link mode: re-implemented slbt_exec_link_create_dep_file() w. pure fdio.midipix1-89/+120
2018-06-29link mode: re-implemented slbt_exec_link_adjust_argument_vector() w. pure fdio.midipix1-90/+73
2018-06-29slbt_exec_link_adjust_argument_vector(): free depsmeta memory upon error.midipix1-9/+26
2018-06-29link mode: re-implemented slbt_get_deps_meta() w. pure fdio.midipix1-41/+31
2018-06-27annual chores.midipix1-1/+1
2018-06-22link mode: properly handle the combination of -release and -version-info.midipix1-5/+29
2018-06-21link mode: slbt_exec_link_create_dep_file(): record top-level -L arguments.midipix1-0/+18
2018-06-21link mode: --disable-{shared|static}: use differently-named placeholders.midipix1-3/+1
2018-05-08link mode: pass --export-dynamic to the linker as needed.midipix1-0/+3
2017-12-20link mode: re-implemented slbt_exec_link_finalize_argument_vector().midipix1-94/+77
The above internal interface is now doing the right thing, namely to split the argument vector between object arguments and all other arguments, then rejoin the arguments by placing object arguments first, and all other arguments last.
2017-12-19link mode: argument vector ordering: treat {.a|.so} the same way as -lfoo.midipix1-25/+35
2017-10-26link mode: import library generation: added mdso support.midipix1-15/+43
2017-08-11link mode: use -fpic objects with -disable-static.midipix1-0/+3
2017-08-10link mode: argument reordering now supports libfoo.a --whole-archive wrapping.midipix1-11/+21
2017-08-10slibtool-shared: properly handle .la arguments when creating an archive.midipix1-1/+3
tool ==== slibtool-shared (or slibtool with -disable-static). scenario ======== - create libfoo.so (via libfoo.la). - create libbar.a (via libbar.la), with libfoo.la as an input argument. Before this fix, slibtool failed since it could not find libfoo.a.slibtool.deps. After this fix, slibtool properly handles this scenario, first by detecting that there is no archive for which secondary dependencies need to be processed, and then by detecting that libfoo.a is a symlink to /dev/null.
2017-08-10slbt_exec_link_create_dep_file(): properly initialize and track fdeps.midipix1-23/+13
2017-08-09link mode: reluctantly support packages that rely on argument reordering.midipix1-0/+122
2017-08-07error trace: remove and fix inadvertent calls to strerror(3).midipix1-4/+1
2017-02-08link mode: static archives: always have ar(1) act as ranlib(1).midipix1-27/+4
2017-02-05annual chores, properly performed.midipix1-1/+1
2017-02-04annual chores.midipix1-1/+1
2017-01-08link mode: fix fdepfile construction when determining dynlib dependency.midipix1-1/+1
2016-12-14link mode: create an archive /dev/null symlink placeholder as needed.midipix1-1/+27
2016-12-03link mode: properly determine whether -L and -ldeplib are needed.midipix1-2/+18
2016-12-03slbt_exec_link_create_dep_file(): fix construction of dynamic dep. file name.midipix1-2/+2