Bug 24830 - Segmentation fault
Summary: Segmentation fault
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: avr-gcc (show other bugs)
Version: unstable
Hardware: all Linux
: P3 normal
Assignee: Grigory Milev
QA Contact: qa-sisyphus
URL:
Keywords:
: 24565 (view as bug list)
Depends on:
Blocks:
 
Reported: 2010-12-27 12:02 MSK by Dmitry A. Kharitonov
Modified: 2011-01-18 17:25 MSK (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dmitry A. Kharitonov 2010-12-27 12:02:42 MSK
avr-gcc -mmcu=atmega8535 -Wall -Werror -gdwarf-2 -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT main.o -MF dep/main.o.d -I/usr/include/avr -I. -mcall-prologues -fmerge-constants -mint8 -DPINCONF_H=\"pinconf.h\" -DALL_H=\"all.h\" -DF_CPU=8000000ll   -c -o main.o main.c
<built-in>:0:0: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.


Перекомпилировать нужно.
Comment 1 Dmitry A. Kharitonov 2010-12-27 12:12:04 MSK
В бранче 5.1 работает нормально
Comment 2 Ivan A. Melnikov 2010-12-28 09:12:57 MSK
Это дуп #24565, нет?
Comment 3 Grigory Milev 2011-01-18 13:27:04 MSK
*** Bug 24565 has been marked as a duplicate of this bug. ***
Comment 4 Grigory Milev 2011-01-18 13:28:28 MSK
Падение связано с опцией -mint8, читаем ниже...

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46261
avr-libc doesn't support that option (-mint8)
https://bugzilla.redhat.com/show_bug.cgi?id=626889
This switch is no longer maintained, see the link of my previous post.

Предлагаю не использовать данную опцию, т.к. ее поддержка для платформы AVR
прикрыта.
Comment 5 Dmitry A. Kharitonov 2011-01-18 15:58:17 MSK
(В ответ на комментарий №4)
> Падение связано с опцией -mint8, читаем ниже...
> Предлагаю не использовать данную опцию, т.к. ее поддержка для платформы AVR
> прикрыта.

Вы можете работающую версию в бранче 5.1 как-то отфоркнуть в отдельный пакет? Без этой опции оператор if и всё с ним связанное (while,for,switch,?:) совсем криво транслируются. И это не программирование получается, а разгадка ребусов.
Comment 6 Grigory Milev 2011-01-18 16:33:56 MSK
Честно говоря, не совсем понимаю, что там криво транслируется. Судя по получаемому asm коду, там все вполне корректно транслируется. Я бы хотел понять, что же не так без -mint8?
Comment 7 Dmitry A. Kharitonov 2011-01-18 17:25:29 MSK
без -min8 компилятор по умолчанию везде использует 16 битные конструкции и сразу вылезают в разных, труднопредсказемых местах ошибки вида #22884.