Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions .github/workflows/crossdev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -188,6 +188,22 @@ jobs:
args: --skip-system
gcc: true
llvm: false
- target: armv4-none-eabisf
args: --skip-system
gcc: true
llvm: false
- target: armv5tej-none-eabisf
args: --skip-system
gcc: true
llvm: false
- target: armv6j-none-eabihf
args: --skip-system
gcc: true
llvm: false
- target: armv7a-none-eabi
args: --skip-system
gcc: true
llvm: false
- target: avr
args: --skip-system
gcc: true
Expand Down
37 changes: 16 additions & 21 deletions crossdev
Original file line number Diff line number Diff line change
Expand Up @@ -273,7 +273,7 @@ parse_target() {
KPKG="[none]"
LCAT="dev-embedded" LPKG="avr-libc"
GUSE+=" -openmp -fortran -go" # doesn't work
MULTILIB_USE="yes" #377039
MULTILIB_USE="yes" # avr requires multilib, that provides libgcc for all sub-architectures #378387, #377039
BUSE+=" cxx"
WITH_DEF_HEADERS="no"
;;
Expand Down Expand Up @@ -342,7 +342,8 @@ parse_target() {
# for that.
GUSE+=" zlib zstd"

# We need multilib for openmp to be built w/ -mgomp
# We need multilib for openmp to be built w/ -mgomp
# https://gcc.gnu.org/legacy-ml/gcc-help/2020-01/msg00106.html
MULTILIB_USE="yes"
WITH_DEF_HEADERS="no"
;;
Expand All @@ -367,6 +368,7 @@ parse_target() {
GUSE+=" zlib zstd"

# We need multilib for openmp to be built w/ -mgomp
# https://gcc.gnu.org/legacy-ml/gcc-help/2020-01/msg00106.html
MULTILIB_USE="yes"
WITH_DEF_HEADERS="no"
;;
Expand Down Expand Up @@ -446,15 +448,17 @@ parse_target() {
;;

# Bare metal targets
*-newlib|*-elf|*-eabi|*-rtems*)
*-newlib|*-elf|*-eabi*|*-rtems*)
LPKG="newlib"
KPKG="[none]"
GMASK+=" default-stack-clash-protection hardened ssp"
GUSE+=" cxx -openmp" #489798
GUSE+=" -fortran" #589672, needs syscalls
GUSE+=" -hardened" #687598, needs -fstack-check=specific support
GUSE+=" -default-stack-clash-protection -ssp" # SSP isn't supported for freestanding anyway
MULTILIB_USE="yes" #407275

[[ "$CTARGET" != armv*-eabi[hs]f ]] \
&& MULTILIB_USE="yes" #868636, #407275
WITH_DEF_HEADERS="no"
;;

Expand Down Expand Up @@ -546,7 +550,7 @@ parse_target() {
mingw*|*-mingw*) pie_support=no
;;
# Many bare-metal targets don't work with pie as-is
*-elf|*-eabi)
*-elf|*-eabi*)
# mips can't generate freestanding PIC:
# cc1: error: position-independent code requires ‘-mabicalls’
# arm firmware packages don't expect pie-by-default:
Expand Down Expand Up @@ -1518,22 +1522,12 @@ set_portage() {

[[ ${pkg} == "[none]" ]] && return 0

case ${CTARGET} in
# avr requires multilib, that provides
# libgcc for all sub-architectures #378387
avr*)
mask+=" -multilib"
force+=" multilib"
;;
accel-nvptx*|nvptx*|*-newlib|*-elf|*-eabi)
# nvptx: needs multilib because of https://gcc.gnu.org/legacy-ml/gcc-help/2020-01/msg00106.html.
mask+=" -multilib"
force+=" multilib"
;;
*)
mask+=" multilib"
;;
esac
if [[ ${MULTILIB_USE} == "yes" ]]; then
mask+=" -multilib"
force+=" multilib"
else
mask+=" multilib"
fi

set_use_mask ${pkg} "${mask}"
set_use_force ${pkg} "${force}"
Expand Down Expand Up @@ -1825,6 +1819,7 @@ doemerge() {

[[ ${pn} == "[none]" ]] && return 0

# MULTILIB_USE could be overriden at runtime
set_use ${pn} ${USE} $( [[ ${MULTILIB_USE} == "no" ]] && echo - )multilib

[[ ${INIT_TARGET_ONLY} == "yes" ]] && return 0
Expand Down
Loading