LINUX.ORG.RU

История изменений

Исправление Lavos, (текущая версия) :

Попробовал у себя позапускать:

CFLAGS="-O3 -march=native -pipe" USE="-custom-cflags custom-optimization" emerge --nodeps firefox
CFLAGS="-O1 -march=native -pipe" USE="-custom-cflags custom-optimization" emerge --nodeps firefox
И глазами посмотреть как gcc запускается. В первом случае было -O3, во втором -O1.
УМВР.
В догонку: а вот -Ofast оно не умеет, там индусский код:
# Set optimization level
if [[ ${ARCH} == hppa ]]; then
        mozconfig_annotate "more than -O0 causes a segfault on hppa" --enable-optimize=-O0
elif [[ ${ARCH} == x86 ]]; then
        mozconfig_annotate "less then -O2 causes a segfault on x86" --enable-optimize=-O2
elif use custom-optimization || [[ ${ARCH} =~ (alpha|ia64) ]]; then
        # Set optimization level based on CFLAGS
        if is-flag -O0; then
                mozconfig_annotate "from CFLAGS" --enable-optimize=-O0
        elif [[ ${ARCH} == ppc ]] && has_version '>=sys-libs/glibc-2.8'; then
                mozconfig_annotate "more than -O1 segfaults on ppc with glibc-2.8" --enable-optimize=-O1
        elif is-flag -O3; then
                mozconfig_annotate "from CFLAGS" --enable-optimize=-O3
        elif is-flag -O1; then
                mozconfig_annotate "from CFLAGS" --enable-optimize=-O1
        elif is-flag -Os; then
                mozconfig_annotate "from CFLAGS" --enable-optimize=-Os
        else
                mozconfig_annotate "Gentoo's default optimization" --enable-optimize=-O2
        fi
else
        # Enable Mozilla's default
        mozconfig_annotate "mozilla default" --enable-optimize
fi

# Strip optimization so it does not end up in compile string
filter-flags '-O*'

# Strip over-aggressive CFLAGS
use custom-cflags || strip-flags

Исправление Lavos, :

Попробовал у себя позапускать:

CFLAGS="-O3 -march=native -pipe" USE="-custom-cflags custom-optimization" emerge --nodeps firefox
CFLAGS="-O1 -march=native -pipe" USE="-custom-cflags custom-optimization" emerge --nodeps firefox
И глазами посмотреть как gcc запускается. В первом случае было -O3, во втором -O1.
УМВР.
В догонку: а вот -Ofast оно не умеет, там индусский код:
# Set optimization level
if [[ ${ARCH} == hppa ]]; then
        mozconfig_annotate "more than -O0 causes a segfault on hppa" --enable-optimize=-O0
elif [[ ${ARCH} == x86 ]]; then
        mozconfig_annotate "less then -O2 causes a segfault on x86" --enable-optimize=-O2
elif use custom-optimization || [[ ${ARCH} =~ (alpha|ia64) ]]; then
        # Set optimization level based on CFLAGS
        if is-flag -O0; then
                mozconfig_annotate "from CFLAGS" --enable-optimize=-O0
        elif [[ ${ARCH} == ppc ]] && has_version '>=sys-libs/glibc-2.8'; then
                mozconfig_annotate "more than -O1 segfaults on ppc with glibc-2.8" --enable-optimize=-O1
        elif is-flag -O3; then
                mozconfig_annotate "from CFLAGS" --enable-optimize=-O3
        elif is-flag -O1; then
                mozconfig_annotate "from CFLAGS" --enable-optimize=-O1
        elif is-flag -Os; then
                mozconfig_annotate "from CFLAGS" --enable-optimize=-Os
        else
                mozconfig_annotate "Gentoo's default optimization" --enable-optimize=-O2
        fi
else
        # Enable Mozilla's default
        mozconfig_annotate "mozilla default" --enable-optimize
fi

# Strip optimization so it does not end up in compile string
filter-flags '-O*'

# Strip over-aggressive CFLAGS
use custom-cflags || strip-flags

Исходная версия Lavos, :

Попробовал у себя позапускать:

CFLAGS="-O3 -march=native -pipe" USE="-custom-cflags custom-optimization" emerge --nodeps firefox
CFLAGS="-O1 -march=native -pipe" USE="-custom-cflags custom-optimization" emerge --nodeps firefox
И глазами посмотреть как gcc запускается. В первом случае было -O3, во втором -O1.
УМВР.