Как собрать старый исходный код с последним GCC? - PullRequest
1 голос
/ 12 сентября 2010

Я пытаюсь собрать исходный код OSKit.Это изначально написано против gcc 2.95.2, но на моем ящике я получил gcc 4.3.2.И 4.3.2 не допускает следующий синтаксис:

 asm volatile("
  pushfl
  popl %0" : "=r" (eflags));
 return eflags;

4.3.2 всегда жалуется, что:

error: missing terminating " character

Существует так много синтаксиса, как это, есть ли способпозволить 4.3.2 принять это?Или есть более общий способ позволить 4.3.2 вести себя как 2.95.2?Или где я могу скачать версию 2.95.2 gcc?

Спасибо!

Обновление

Моя настоящая цель - собрать OSKit .OSKit утверждает, что он совместим с GCC 2.7.x или 2.95.2.Моя Ubuntu 8.10 установлена ​​с GCC 4.3.2.

Я попробовал следующие последовательности компиляции:

4.3.2 build 2.95.2 --- не удалось

4.3.2 -> 3.3.6 -> 2.7.2.3 --- успех.

4.3.2 -> 2.7.2.3 --- успех

3.3.6 -> 2.95.2 --- ошибка

Хотя у меня все еще нет 2.95.2, я получил по крайней мере 2.7.2.3.

Но OSKit все еще не работает с 2.7.2.3 ...

В настоящее время я нене знаю, что делать ... :(

Может кто-нибудь дать мне совет? @ _ @

Ответы [ 2 ]

1 голос
/ 12 сентября 2010

Я считаю, что вам нужно что-то вроде:

 asm volatile("pushfl\n\t"
              "popl %0"
              : "=r" (eflags)
             );
 return eflags;

Ссылка: GCC-Inline-Assembly-HOWTO

0 голосов
/ 12 сентября 2010

Вы можете скачать здесь: http://ftp.gnu.org/gnu/gcc/

Самый правильный способ - загрузить старую версию и установить ее в каталог за пределами вашей PATH.

GCC сильно изменился от версии 2 до 4 ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...