sdmitriev marked an inline comment as done.
sdmitriev added inline comments.


================
Comment at: clang/tools/clang-offload-bundler/ClangOffloadBundler.cpp:485
+                                    "=" + InputFileNames[I]));
+    ObjcopyArgs.push_back(InputFileNames[HostInputIndex]);
+    ObjcopyArgs.push_back(OutputFileNames.front());
----------------
ABataev wrote:
> As I understand, the resulting object file has the same structure as before? 
> And we still can get an access to the host object file using standard 
> programs, like readelf, objdump, etc.?
Yes, the structure is the same. The only difference is in the section flags 
that contain device objects - such sections used to have ALLOC attribute, but 
they do not have it now which I believe is a good think.

That is what we had earlier:

```
bash-4.2$ cat y.c
#pragma omp declare target
void foo() {}
#pragma omp end declare target
bash-4.2$ clang -fopenmp -fopenmp-targets=x86_64-pc-linux-gnu -c y.c
bash-4.2$ objdump -h y.o 

y.o:     file format elf64-x86-64

Sections:
Idx Name          Size      VMA               LMA               File off  Algn
  0 .text         00000008  0000000000000000  0000000000000000  00000040  2**4
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  1 .text.startup 00000010  0000000000000000  0000000000000000  00000050  2**4
                  CONTENTS, ALLOC, LOAD, RELOC, READONLY, CODE
  2 __CLANG_OFFLOAD_BUNDLE__openmp-x86_64-pc-linux-gnu 000003f8  
0000000000000000  0000000000000000  00000060  2**4
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  3 __CLANG_OFFLOAD_BUNDLE__host-x86_64-unknown-linux-gnu 00000630  
0000000000000000  0000000000000000  00000460  2**4
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  4 .eh_frame     00000058  0000000000000000  0000000000000000  00000a90  2**3
                  CONTENTS, ALLOC, LOAD, RELOC, READONLY, DATA
  5 .init_array.0 00000008  0000000000000000  0000000000000000  00000ae8  2**3
                  CONTENTS, ALLOC, LOAD, RELOC, DATA
  6 .comment      0000006a  0000000000000000  0000000000000000  00000af0  2**0
                  CONTENTS, READONLY
  7 .note.GNU-stack 00000000  0000000000000000  0000000000000000  00000b5a  2**0
                  CONTENTS, READONLY
  8 .llvm_addrsig 00000002  0000000000000000  0000000000000000  00000b5a  2**0
                  CONTENTS, READONLY, EXCLUDE
bash-4.2$ 
```

And here is what we have with this patch:

```
bash-4.2$ clang -fopenmp -fopenmp-targets=x86_64-pc-linux-gnu -c y.c
bash-4.2$ objdump -h y.o 

y.o:     file format elf64-x86-64

Sections:
Idx Name          Size      VMA               LMA               File off  Algn
  0 .text         00000006  0000000000000000  0000000000000000  00000040  2**4
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  1 .text.startup 00000010  0000000000000000  0000000000000000  00000050  2**4
                  CONTENTS, ALLOC, LOAD, RELOC, READONLY, CODE
  2 .init_array.0 00000008  0000000000000000  0000000000000000  00000060  2**3
                  CONTENTS, ALLOC, LOAD, RELOC, DATA
  3 .comment      0000006a  0000000000000000  0000000000000000  00000068  2**0
                  CONTENTS, READONLY
  4 .note.GNU-stack 00000000  0000000000000000  0000000000000000  000000d2  2**0
                  CONTENTS, READONLY
  5 .eh_frame     00000058  0000000000000000  0000000000000000  000000d8  2**3
                  CONTENTS, ALLOC, LOAD, RELOC, READONLY, DATA
  6 .llvm_addrsig 00000002  0000000000000000  0000000000000000  00000238  2**0
                  CONTENTS, READONLY, EXCLUDE
  7 __CLANG_OFFLOAD_BUNDLE__openmp-x86_64-pc-linux-gnu 000003f8  
0000000000000000  0000000000000000  00000353  2**0
                  CONTENTS, READONLY
  8 __CLANG_OFFLOAD_BUNDLE__host-x86_64-unknown-linux-gnu 00000630  
0000000000000000  0000000000000000  0000074b  2**0
                  CONTENTS, READONLY
bash-4.2$ 
```



Repository:
  rC Clang

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D66485/new/

https://reviews.llvm.org/D66485



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to