CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
47 lines
1.5 KiB
Plaintext
47 lines
1.5 KiB
Plaintext
# The -mdynamic-no-pic ensures that the compiler executable is built without
|
||
# position-independent-code -- the usual default on Darwin. This speeds compiles
|
||
# by 8-20% (measurements made against GCC-11).
|
||
# However, we cannot add it unless the bootstrap compiler supports
|
||
# -mno-dynamic-no-pic to undo it, since libiberty, at least, needs this.
|
||
|
||
# We use Werror, since some versions of clang report unknown command line flags
|
||
# as a warning only.
|
||
|
||
# We only need to determine this for the host tool used to build stage1 (or a
|
||
# non-bootstrapped compiler), later stages will be built by GCC which supports
|
||
# the required flags.
|
||
|
||
# We cannot use mdynamic-no-pic when building shared host resources.
|
||
|
||
ifeq (${host_shared},no)
|
||
BOOTSTRAP_TOOL_CAN_USE_MDYNAMIC_NO_PIC := $(shell \
|
||
$(CC) -S -xc /dev/null -o /dev/null -Werror -mno-dynamic-no-pic 2>/dev/null \
|
||
&& echo true)
|
||
else
|
||
BOOTSTRAP_TOOL_CAN_USE_MDYNAMIC_NO_PIC := false
|
||
endif
|
||
|
||
@if gcc-bootstrap
|
||
ifeq (${BOOTSTRAP_TOOL_CAN_USE_MDYNAMIC_NO_PIC},true)
|
||
STAGE1_CFLAGS += -mdynamic-no-pic
|
||
else
|
||
STAGE1_CFLAGS += -fPIC
|
||
endif
|
||
ifeq (${host_shared},no)
|
||
# Add -mdynamic-no-pic to later stages when we know it is built with GCC.
|
||
BOOT_CFLAGS += -mdynamic-no-pic
|
||
endif
|
||
@endif gcc-bootstrap
|
||
|
||
@unless gcc-bootstrap
|
||
ifeq (${BOOTSTRAP_TOOL_CAN_USE_MDYNAMIC_NO_PIC},true)
|
||
# FIXME: we should also enable this for cross and non-bootstrap builds but
|
||
# that needs amendment to libcc1.
|
||
# CFLAGS += -mdynamic-no-pic
|
||
# CXXFLAGS += -mdynamic-no-pic
|
||
else
|
||
CFLAGS += -fPIC
|
||
CXXFLAGS += -fPIC
|
||
endif
|
||
@endunless gcc-bootstrap
|