Commit 93a4464
committed
build: Add static component pointers for LTO
With GCC's link time optimization, the compiler ends up seeing two
declarations of MCA component structures. One in the component
itself, which has potentially a component-specific type, and one
in static-components.h, which is just declared as a base MCA
component struct. The compiler doesn't like this.
This patch adds a level of indirection used by the static component
lookup code. static-components.h now declares the existance of a
mca_component_t * and the list is of pointers to pointers. The
MCA base framework has to do an extra dereference, but this is only
in the initialization path. We also then have to have the actual
pointer exist, so add a macro MCA_BASE_COMPONENT_INIT that we need
to add to every component definition to create the pointer (and
perhaps do more initialization later).
Signed-off-by: Brian Barrett <bbarrett@amazon.com>1 parent a5485ef commit 93a4464
File tree
123 files changed
+149
-19
lines changed- config
- ompi/mca
- bml/r2
- coll
- accelerator
- acoll
- adapt
- basic
- demo
- ftagree
- han
- hcoll
- inter
- libnbc
- monitoring
- portals4
- self
- sync
- tuned
- ucc
- xhc
- fbtl
- ime
- posix
- fcoll
- dynamic_gen2
- dynamic
- individual
- vulcan
- fs
- gpfs
- ime
- lustre
- ufs
- hook
- base
- comm_method
- demo
- io/ompio
- mtl
- ofi
- portals4
- psm2
- op
- aarch64
- avx
- example
- osc
- monitoring
- portals4
- rdma
- sm
- ucx
- part/persist
- pml
- cm
- example
- monitoring
- ob1
- ucx
- v
- topo
- basic
- example
- treematch
- vprotocol
- example
- pessimist
- opal/mca
- accelerator
- cuda
- null
- rocm
- ze
- allocator
- basic
- bucket
- backtrace
- execinfo
- none
- printstack
- base
- btl
- ofi
- portals4
- self
- smcuda
- sm
- tcp
- template
- uct
- usnic
- dl
- dlopen
- libltdl
- hwloc/base
- if
- bsdx_ipv4
- bsdx_ipv6
- linux_ipv6
- posix_ipv4
- installdirs
- config
- env
- memchecker/valgrind
- memory/patcher
- mpool
- hugepage
- memkind
- patcher/overwrite
- pmix/base
- rcache
- gpusm
- grdma
- rgpusm
- reachable
- netlink
- weighted
- shmem
- mmap
- posix
- sysv
- smsc
- accelerator
- cma
- knem
- xpmem
- threads
- argobots
- pthreads
- qthreads
- timer
- darwin
- linux
- oshmem/mca
- atomic
- basic
- ucx
- memheap
- buddy
- ptmalloc
- scoll
- basic
- mpi
- ucc
- spml/ucx
- sshmem
- mmap
- sysv
- ucx
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
123 files changed
+149
-19
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
499 | 499 | | |
500 | 500 | | |
501 | 501 | | |
502 | | - | |
| 502 | + | |
503 | 503 | | |
504 | 504 | | |
505 | 505 | | |
| |||
763 | 763 | | |
764 | 764 | | |
765 | 765 | | |
766 | | - | |
767 | | - | |
| 766 | + | |
| 767 | + | |
768 | 768 | | |
769 | 769 | | |
770 | 770 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
52 | 52 | | |
53 | 53 | | |
54 | 54 | | |
| 55 | + | |
55 | 56 | | |
56 | 57 | | |
57 | 58 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
75 | 75 | | |
76 | 76 | | |
77 | 77 | | |
| 78 | + | |
78 | 79 | | |
79 | 80 | | |
80 | 81 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
90 | 90 | | |
91 | 91 | | |
92 | 92 | | |
| 93 | + | |
93 | 94 | | |
94 | 95 | | |
95 | 96 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
74 | 74 | | |
75 | 75 | | |
76 | 76 | | |
| 77 | + | |
77 | 78 | | |
78 | 79 | | |
79 | 80 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
82 | 82 | | |
83 | 83 | | |
84 | 84 | | |
| 85 | + | |
85 | 86 | | |
86 | 87 | | |
87 | 88 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
82 | 82 | | |
83 | 83 | | |
84 | 84 | | |
| 85 | + | |
85 | 86 | | |
86 | 87 | | |
87 | 88 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
78 | 78 | | |
79 | 79 | | |
80 | 80 | | |
| 81 | + | |
81 | 82 | | |
82 | 83 | | |
83 | 84 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
104 | 104 | | |
105 | 105 | | |
106 | 106 | | |
| 107 | + | |
107 | 108 | | |
108 | 109 | | |
109 | 110 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
64 | 64 | | |
65 | 65 | | |
66 | 66 | | |
| 67 | + | |
67 | 68 | | |
68 | 69 | | |
69 | 70 | | |
| |||
0 commit comments