[Openmp-commits] [PATCH] D64943: [Clang][OpenMP offload] Eliminate use of OpenMP linker script

Sergey Dmitriev via Phabricator via Openmp-commits openmp-commits at lists.llvm.org
Thu Sep 12 09:15:03 PDT 2019

sdmitriev added a comment.

In D64943#1667469 <https://reviews.llvm.org/D64943#1667469>, @JonChesterfield wrote:

> I'm on board with getting rid of the linker script. Gold's limited support for that seems conclusive.
> I believe the current script does two things:
>  1/ takes a binary and embeds it in a section named .omp_offloading.amdgcn-amd-amdhsa
>  2/ provides start/end symbols for that section and for .omp_offloading.entries.
> 2/ is discussed above.
>  1/ can be implemented as a call to (llvm-)objcopy
> > If binary is used as the value for --input-target, the input file will be embedded as a data section in an ELF relocatable object, with symbols _binary_<file_name>_start, _binary_<file_name>_end, and _binary_<file_name>_size representing the start, end and size of the data, where <file_name> is the path of the input file as specified on the command line with non-alphanumeric characters converted to _.
> I think dropping the linker script means that cmake will need to invoke an extra executable. As far as I can see, that tool can be objcopy instead of clang-offload-wrapper.
> Does this diff mix getting rid of the linker script with other changes? E.g. it looks like the metadata generation is moving from clang to the new tool, but that seems orthogonal to dropping the linker script.

Metadata is still generated by the clang, there are no changes in this area. What is moving to a wrapper tool is the generation of the offload registration code. Let me just attach the slides that I presented on the inter company meeting were the proposal was discussed. It'll probably answer most of your questions. F9983224: openmp_linker_script.pdf <https://reviews.llvm.org/F9983224>



More information about the Openmp-commits mailing list