Bug 35928 - incorrect "asm volatile" statements rejected by gcc8-8.2.1-alt3
Summary: incorrect "asm volatile" statements rejected by gcc8-8.2.1-alt3
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: libqt5-script (show other bugs)
Version: unstable
Hardware: all Linux
: P3 normal
Assignee: Sergey V Turchin
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-01-18 14:16 MSK by AEN
Modified: 2019-08-20 12:36 MSK (History)
5 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description AEN 2019-01-18 14:16:47 MSK
Прошу исправить.
Comment 1 Sergey V Turchin 2019-01-18 15:16:13 MSK
2 glebfm: А это точно не компилятор? Там просто пробел перед скобкой.
Comment 3 AEN 2019-01-18 15:21:15 MSK
Появилось это после новой сборки rpm.
Comment 4 Sergey V Turchin 2019-01-18 15:39:41 MSK
После нового компилятора. После rpm такое появиться не могло.
Comment 5 AEN 2019-01-18 15:45:24 MSK
(In reply to comment #4)
> После нового компилятора. После rpm такое появиться не могло.

Если Вы в этом уверены, то вешайте конкретный баг на новый компилятор.
Но все же хорошо бы исправить сборку.
Спасибо.
Comment 6 AEN 2019-01-18 15:54:20 MSK
Так не пойдет.
Это Ваш пакет. Вешайте новый обоснованный баг.
Comment 7 Dmitry V. Levin 2019-01-18 16:04:31 MSK
error$ grep -FB1 'asm volatile' *
qt5-script-5.11.3-alt1-../3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp:483:5: error: expected '(' before 'volatile'
qt5-script-5.11.3-alt1: asm volatile (
--
qt5-script-5.11.3-alt1-../3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp:483:15: error: expected ')' before string constant
qt5-script-5.11.3-alt1: asm volatile (
--
qt5-script-5.11.3-alt1-../3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp:518:5: error: expected '(' before 'volatile'
qt5-script-5.11.3-alt1: asm volatile (
--
qt5-script-5.11.3-alt1-../3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp:518:15: error: expected ')' before string constant
qt5-script-5.11.3-alt1: asm volatile (
--
qt5-script-5.11.3-alt1-../3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp:534:5: error: expected '(' before 'volatile'
qt5-script-5.11.3-alt1: asm volatile (
--
qt5-script-5.11.3-alt1-../3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp:534:15: error: expected ')' before string constant
qt5-script-5.11.3-alt1: asm volatile (
--
virtualbox-5.2.22-alt4-/usr/src/RPM/BUILD/VirtualBox-5.2.22_OSE/src/VBox/Runtime/r3/linux/semevent-linux.cpp:40:5: error: expected '(' before 'volatile'
virtualbox-5.2.22-alt4: asm volatile (".global epoll_pwait");
--
virtualbox-5.2.22-alt4-/usr/src/RPM/BUILD/VirtualBox-5.2.22_OSE/src/VBox/Runtime/r3/linux/semevent-linux.cpp:40:15: error: expected unqualified-id before string constant
virtualbox-5.2.22-alt4: asm volatile (".global epoll_pwait");
--
virtualbox-5.2.22-alt4-/usr/src/RPM/BUILD/VirtualBox-5.2.22_OSE/src/VBox/Runtime/r3/linux/semevent-linux.cpp:40:15: error: expected ')' before string constant
virtualbox-5.2.22-alt4: asm volatile (".global epoll_pwait");
Comment 8 Dmitry V. Levin 2019-01-18 16:12:38 MSK
Но нужен test case поменьше, чем эти два пакета.
К сожалению, у меня нет времени этим полноценно заниматься до конца месяца.
Comment 9 Dmitry V. Levin 2019-01-24 05:19:45 MSK
Я посмотрел код, который не компилируется,
там используется asm volatile вне контекста функции.

Поскольку asm volatile вне контекста функции означает просто asm,
gcc раньше молча игнорировал volatile, а теперь это синтаксическая ошибка.

Я думаю, вам лучше просто заменить asm volatile на asm в тех местах,
где gcc считает этот volatile ошибкой.

В случае с qt5-script заменить следует все упоминания asm volatile в файле src/3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp
Comment 10 Repository Robot 2019-01-24 15:26:19 MSK
qt5-script-5.11.3-alt2 -> sisyphus:

Thu Jan 24 2019 Sergey V Turchin <zerg@altlinux> 5.11.3-alt2
- add workaround against rejecting 'asm volatile' statements by gcc-8 (ALT#35928)
Comment 11 AEN 2019-01-24 15:34:58 MSK
Спасибо!