реклама на сайте
подробности

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> Компилятор С++ в С, Ищу программу!
axle
сообщение Nov 21 2008, 22:28
Сообщение #16


Частый гость
**

Группа: Новичок
Сообщений: 81
Регистрация: 19-04-07
Пользователь №: 27 167



Цитата(Вовка_Бызов @ Nov 20 2008, 20:18) *
Не подскажет ли всемогущий олл, где взять кросс-компилятор для получения С-кода из С++. Платформа - близкая к линуксу - но не совсем..


Есть вот такой фронтенд http://www.edg.com/index.php?location=c_frontend. Но просто так скачать его не получится. Если только поискать. smile.gif

Могу скзать, что точно работает. Включая шаблоны, исключения и т.д. Те кто говорит, что преобразование из С в С++ невозможно - просто несут бред. Мы используем этот фронтенд в составе проприетарного тулкита от одного известного производителя чипов. Видимо в там решили, что им будет проще лицензировать такую штуку, чем свой С++ компилятор разрабатывать.
Go to the top of the page
 
+Quote Post
Harbour
сообщение Nov 22 2008, 07:19
Сообщение #17


Местами Гуру
*****

Группа: Validating
Сообщений: 1 103
Регистрация: 5-12-04
Пользователь №: 1 323



Цитата(Вовка_Бызов @ Nov 21 2008, 12:34) *
Уже была попытка. Линкер ругается на некорректный тип объектного файла... Видимо - несоответствие платформы - я использовал g++ для интеля, а тут вроде как mips...

может повторюсь, но следует попробовать _собрать_ g++ на этой платформе
Go to the top of the page
 
+Quote Post
sergeeff
сообщение Nov 22 2008, 12:17
Сообщение #18


Профессионал
*****

Группа: Свой
Сообщений: 1 481
Регистрация: 10-04-05
Пользователь №: 4 007



Цитата(axle @ Nov 22 2008, 02:28) *
Есть вот такой фронтенд http://www.edg.com/index.php?location=c_frontend. Но просто так скачать его не получится. Если только поискать. smile.gif

Могу скзать, что точно работает. Включая шаблоны, исключения и т.д. Те кто говорит, что преобразование из С в С++ невозможно - просто несут бред. Мы используем этот фронтенд в составе проприетарного тулкита от одного известного производителя чипов. Видимо в там решили, что им будет проще лицензировать такую штуку, чем свой С++ компилятор разрабатывать.


По аккуратнеее насчет бреда. Во многих книгах гуру по С++ приводится список современных компиляторов С++ и сравнивается, могут ли они "скушать" какие-то С++ решения или нет. Далеко не надо ходить, можно посмотреть MS VS6.0 и MS VS2008. В 6 версии масса вещей не работает. А вы ссылаетесь на продукт, разработанный в 1992 году. Да, наверное, он некоторые простые конструкции С++ и перегонит в С, но насколько эффективно, насколько безошибочно?

Для иллюстрации. Известная штука Singletone - класс, допускающий создание только одного экземпляра объекта. При этом невозможно создать копию такого объекта. И как вы мыслите себе такое реализовать на С? С выдачей адекватного кода ошибки на этапе компиляции?
Go to the top of the page
 
+Quote Post
S.R.
сообщение Nov 22 2008, 15:11
Сообщение #19





Группа: Новичок
Сообщений: 3
Регистрация: 18-04-08
Из: Татарстан/Набережные Челны
Пользователь №: 36 863



Цитата(sergeeff @ Nov 22 2008, 16:17) *
По аккуратнеее насчет бреда. Во многих книгах гуру по С++ приводится список современных компиляторов С++ и сравнивается, могут ли они "скушать" какие-то С++ решения или нет. Далеко не надо ходить, можно посмотреть MS VS6.0 и MS VS2008. В 6 версии масса вещей не работает. А вы ссылаетесь на продукт, разработанный в 1992 году. Да, наверное, он некоторые простые конструкции С++ и перегонит в С, но насколько эффективно, насколько безошибочно?

Самая интересная фишка получается в том, что в плане соответствия стандарту языка самым продвинутым считается Comeau, а это именно фронт-компилятор в C. Так что насчет бреда...

Цитата
Для иллюстрации. Известная штука Singletone - класс, допускающий создание только одного экземпляра объекта. При этом невозможно создать копию такого объекта. И как вы мыслите себе такое реализовать на С? С выдачей адекватного кода ошибки на этапе компиляции?

На этапе компиляции ни один разумный компилятор не может и не должен сообщать о такой ошибке. Поскольку ее наличие может выяснится и при линковке.
А нормальный Singletone и не будет генерировать ошибок, просто возвращая адрес единственного существующего экземпляра...

Сообщение отредактировал S.R. - Nov 22 2008, 15:20


--------------------
WBR, Igor (AKA S.R.)
Go to the top of the page
 
+Quote Post
sergeeff
сообщение Nov 22 2008, 19:19
Сообщение #20


Профессионал
*****

Группа: Свой
Сообщений: 1 481
Регистрация: 10-04-05
Пользователь №: 4 007



Мне в последнее время все яснее становится, что надо самим себе ответить на вопрос:

1. Мы работаем, т.е. создаем современный промышленный продукт, продаваемый на рынке?
2. Или мы занимаемся наукоподобными изысками, характерными для младших научных сотрудников из "НИИЧАВО" середины 70-х годов прошлого века?

Найдешь для себя ответ, выберешь стиль профессиональной жизни и пути решения задач.
Go to the top of the page
 
+Quote Post
vik0
сообщение Nov 22 2008, 19:32
Сообщение #21


Местный
***

Группа: Свой
Сообщений: 381
Регистрация: 27-07-08
Из: теплые края
Пользователь №: 39 233



Цитата(sergeeff @ Nov 22 2008, 14:17) *
А вы ссылаетесь на продукт, разработанный в 1992 году. Да, наверное, он некоторые простые конструкции С++ и перегонит в С, но насколько эффективно, насколько безошибочно?

А вы текст дальше первого предложения не читаете?
Цитата
It supports the C++ language of the ISO/IEC 14882:2003 standard (the complete language; see our description of language features)
Go to the top of the page
 
+Quote Post
sergeeff
сообщение Nov 23 2008, 00:52
Сообщение #22


Профессионал
*****

Группа: Свой
Сообщений: 1 481
Регистрация: 10-04-05
Пользователь №: 4 007



Каждый топчет свою дорогу в этой жизни...
Go to the top of the page
 
+Quote Post
Вовка_Бызов
сообщение Nov 24 2008, 11:27
Сообщение #23


Частый гость
**

Группа: Свой
Сообщений: 182
Регистрация: 26-11-07
Из: Москва, Зеленоград
Пользователь №: 32 692



Цитата(amw @ Nov 21 2008, 21:04) *
И каково имя файла самого компилятора? mips-elf-gcc? sde-gcc?


mipsisa32-elf-g++

Проблема в том, что линкер начинает выдавать кучу разных необнаруженных ссылок (видимо - специфика C++):

__rethrow
__builtin_new
__builtin_delete
__builtin_vec_new
__builtin_vec_delete

Что касается CFront - пытаюсь уже второй день поставить его под красную шляпу (седьмую). Не пойму - может руки кривые, но приходится ковырять makefile-ы... В общем - еще до финала не дошел.. Хотя - надежды не исчезли wink.gif

Цитата(sergeeff @ Nov 22 2008, 22:19) *
Мне в последнее время все яснее становится, что надо самим себе ответить на вопрос:

1. Мы работаем, т.е. создаем современный промышленный продукт, продаваемый на рынке?
2. Или мы занимаемся наукоподобными изысками, характерными для младших научных сотрудников из "НИИЧАВО" середины 70-х годов прошлого века?

Найдешь для себя ответ, выберешь стиль профессиональной жизни и пути решения задач.


Философия - вещь сильная.. Тока зачастую, живем мы в мире обстоятельств и выбираем пути под их неимоверною тяжестью... wink.gif

Цитата(sergeeff @ Nov 22 2008, 15:17) *
Для иллюстрации. Известная штука Singletone - класс, допускающий создание только одного экземпляра объекта. При этом невозможно создать копию такого объекта. И как вы мыслите себе такое реализовать на С? С выдачей адекватного кода ошибки на этапе компиляции?

На самом деле - как я понял - компиляторы <С++ в С> используют язык С в качестве аналога некоего кросс-платформенного ассемблера. Т.е. код, генерируемый таким компилятором, НЕ является читаемым с точки зрения программиста. И все изыски С++ там реализуются программными средствами языка С.
Go to the top of the page
 
+Quote Post
amw
сообщение Nov 24 2008, 12:11
Сообщение #24


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 22-09-05
Из: Kharkov
Пользователь №: 8 847



Цитата(Вовка_Бызов @ Nov 24 2008, 13:27) *
mipsisa32-elf-g++

Я Вас удивлю.
ЭТО И ЕСТЬ C++ (Си Плюс Плюс) компилятор от GCC.
Цитата
Проблема в том, что линкер начинает выдавать кучу разных необнаруженных ссылок (видимо - специфика C++):

__rethrow
__builtin_new
__builtin_delete
__builtin_vec_new
__builtin_vec_delete

А это либо ключи выставлены неправильно, либо нехватает библиотеки libstdc++
Ее можно и самому скомпилить.
А что говорит
Код
mipsisa32-elf-g++ -v

Чем он отличается от SDE предлагаемого самим mips.com?
Попробуйте его (в смысле SDE). MIPS там много полезностей сделала (оптимизация, спец-ключи для архитектур ...).

Для сранения
Код
$sde-g++ -v
Reading specs from /opt/toolchains/mips-sde/bin/../lib/gcc/sde/3.4.4/specs
Configured with: /var/tmp/releasetool.tmp/bank-20070420-1231/B-i386-linux/toolchain/mipssde-6.06.01/configure --target=sde --prefix=/usr/local/sde6 --enable-languages=c,c++ --without-newlib --disable-shared --disable-nls --disable-tui --disable-multilib
Thread model: mipssde
gcc version 3.4.4 mipssde-6.06.01-20070420


$sde-g++ --target-help

Target specific options:
  -mno-xgot                 Do not lift restrictions on GOT size
  -mxgot                    Lift restrictions on GOT size
  -mips16e                  Generate mips16e code
  -mno-mips16               Generate normal-mode code
  -mips16                   Generate mips16 code
  -mno-explicit-relocs      Use assembler macros instead of relocation operators
  -mexplicit-relocs         Use NewABI-style %reloc() assembly operators
  -mno-check-zero-division  Don't trap on integer divide by zero
  -mcheck-zero-division     Trap on integer divide by zero
  -mno-fix-24k-e48          Don't work around the 24K errata no. 48
  -mfix-24k-e48             Work around the 24K errata no. 48
  -mno-fix-sb1              Don't work around errata for early SB-1 revision 2 cores
  -mfix-sb1                 Work around errata for early SB-1 revision 2 cores
  -mno-fix4300              Don't work around early 4300 hardware bug
  -mfix4300                 Work around early 4300 hardware bug
  -mfused-madd              Generate fused multiply/add instructions
  -mno-fused-madd           Don't generate fused multiply/add instructions
  -mno-mad                  Don't use multiply accumulate
  -mmad                     Use multiply accumulate
  -mno-dsp                  Don't use MIPS DSP ASE instructions
  -mdsp                     Use MIPS DSP ASE instructions
  -mno-smartmips            Don't use SmartMIPS instructions
  -msmartmips               Use SmartMIPS instructions
  -mno-mips3d               Don't use MIPS-3D instructions
  -mips3d                   Use MIPS-3D instructions
  -mno-paired-single        Don't use paired-single floating point instructions
  -mpaired-single           Use paired-single floating point instructions
  -mdouble-float            Don't use single (32-bit) FP only
  -msingle-float            Use single (32-bit) FP only
  -mel                      Use little-endian byte order
  -meb                      Use big-endian byte order
  -mno-uninit-const-in-rodata Don't put uninitialized constants in ROM
  -muninit-const-in-rodata  Put uninitialized constants in ROM (needs -membedded-data)
  -mno-embedded-data        Don't use ROM instead of RAM
  -membedded-data           Use ROM instead of RAM
  -mno-embedded-pic         Don't use embedded PIC
  -membedded-pic            Use embedded PIC
  -mno-long-calls           Don't use indirect calls
  -mlong-calls              Use indirect calls
  -mno-abicalls             Don't use Irix PIC
  -mabicalls                Use Irix PIC
  -mgp32                    Use 32-bit general registers
  -mgp64                    Use 64-bit general registers
  -mfp32                    Use 32-bit FP registers
  -mfp64                    Use 64-bit FP registers
  -mhard-float              Use hardware floating point
  -msoft-float              Use software floating point
  -mno-mips-tfile           Don't use mips-tfile asm postpass
  -mmips-tfile              Use mips-tfile asm postpass
  -mno-memcpy               Optimize block moves
  -mmemcpy                  Don't optimize block moves
  -mno-stats                Don't output compiler statistics
  -mstats                   Output compiler statistics (now ignored)
  -mno-gpopt                Don't use GP relative sdata/sbss sections (now ignored)
  -mno-gpOPT                Don't use GP relative sdata/sbss sections (now ignored)
  -mgpopt                   Use GP relative sdata/sbss sections (now ignored)
  -mgpOPT                   Use GP relative sdata/sbss sections (now ignored)
  -mno-rnames               Don't use symbolic register names
  -mrnames                  Use symbolic register names
  -mgas                     Use GNU as
  -mmips-as                 Use MIPS as
  -mno-split-addresses      Don't optimize lui/addiu address loads
  -msplit-addresses         Optimize lui/addiu address loads
  -mlong32                  Use 32-bit long type
  -mlong64                  Use 64-bit long type
  -mint64                   Use 64-bit int type
  -mno-float                Don't use floating point libraries
  -mcode-xonly              Execute-only MIPS16 code, strings and jump tables in data seg
  -mno-data-in-code         Don't place MIPS16 constant data in the code section
  -mbranch-cost=            Specify cost of branch instructions
  -mno-branch-likely        Alias for -mbranch-likely=no
  -mbranch-likely           Specify when to use branch likely instructions
  -mflush-func=             Specify cache flush function
  -mno-flush-func           Don't call any cache flush functions
  -mips                     Specify a Standard MIPS ISA
  -mabi=                    Specify an ABI
  -march=                   Specify CPU for code generation purposes
  -mtune=                   Specify CPU for scheduling purposes

There are undocumented target specific options as well.
MIPS options:
-EB                     generate big endian output
-EL                     generate little endian output
-g, -g2                 do not remove unneeded NOPs or swap branches
-G NUM                  allow referencing objects up to NUM bytes
                        implicitly with the gp register [default 8]
-mips1                  generate MIPS ISA I instructions
-mips2                  generate MIPS ISA II instructions
-mips3                  generate MIPS ISA III instructions
-mips4                  generate MIPS ISA IV instructions
-mips5                  generate MIPS ISA V instructions
-mips32                 generate MIPS32 ISA instructions
-mips32r2               generate MIPS32 release 2 ISA instructions
-mips64                 generate MIPS64 ISA instructions
-mips64r2               generate MIPS64 release 2 ISA instructions
-march=CPU/-mtune=CPU   generate code/schedule for CPU, where CPU is one of:
                        mips1, mips2, mips3, mips4, mips5, mips32,
                        mips32r2, mips64, mips64r2, r3000, r2000, r3900,
                        r6000, r4000, r4010, vr4100, vr4111, vr4120,
                        vr4130, vr4181, vr4300, r4400, r4600, orion,
                        r4650, r8000, r10000, r12000, vr5000, vr5400,
                        vr5500, rm5200, rm5230, rm5231, rm5261, rm5721,
                        rm7000, rm9000, 4kc, 4km, 4kp, 4ksc, 4kec, 4kem,
                        4kep, 4ksd, m4k, m4kp, 24k, 24kc, 24kf2_1, 24kf,
                        24kf1_1, 24kfx, 24kx, 24ke, 24kec, 24kef2_1,
                        24kef, 24kef1_1, 24kefx, 24kex, 34k, 34kc,
                        34kf2_1, 34kf, 34kf1_1, 34kfx, 34kx, 74kc,
                        74kf2_1, 74kf, 74kf1_1, 74kfx, 74kx, 74kf3_2,
                        5kc, 5kf, 20kc, 25kf, sb1, from-abi
-mCPU                   equivalent to -march=CPU -mtune=CPU. Deprecated.
-no-mCPU                don't generate code specific to CPU.
                        For -mCPU and -no-mCPU, CPU must be one of:
                        3900, 4010, 4100, 4650
-mips16                 generate mips16 instructions
-no-mips16              do not generate mips16 instructions
-mips16e                generate mips16e instructions
-no-mips16e             do not generate mips16e instructions
-smartmips              generate smartmips instructions
-no-smartmips           do not generate smartmips instructions
-mfix-vr4120            work around certain VR4120 errata
-mgp32                  use 32-bit GPRs, regardless of the chosen ISA
-mfp32                  use 32-bit FPRs, regardless of the chosen ISA
-O0                     remove unneeded NOPs, do not swap branches
-O                      remove unneeded NOPs and swap branches
--[no-]construct-floats [dis]allow floating point values to be constructed
--trap, --no-break      trap exception on div by 0 and mult overflow
--break, --no-trap      break exception on div by 0 and mult overflow
-KPIC, -call_shared     generate SVR4 position independent code
-non_shared             do not generate position independent code
-xgot                   assume a 32 bit GOT
-mpdr, -mno-pdr         enable/disable creation of .pdr sections
-mabi=ABI               create ABI conformant object file for:
                        32, o64, n32, 64, eabi
-32                     create o32 ABI object file (default)
-n32                    create n32 ABI object file
-64                     create 64 ABI object file
elf32ebmip:
  -Bgroup               Selects group name lookup rules for DSO
  --disable-new-dtags   Disable new dynamic tags
  --enable-new-dtags    Enable new dynamic tags
  --eh-frame-hdr        Create .eh_frame_hdr section
  -z combreloc          Merge dynamic relocs into one section and sort
  -z defs               Report unresolved symbols in object files.
  -z execstack          Mark executable as requiring executable stack
  -z initfirst          Mark DSO to be initialized first at runtime
  -z interpose          Mark object to interpose all DSOs but executable
  -z loadfltr           Mark object requiring immediate process
  -z muldefs            Allow multiple definitions
  -z nocombreloc        Don't merge dynamic relocs into one section
  -z nocopyreloc        Don't create copy relocs
  -z nodefaultlib       Mark object not to use default search paths
  -z nodelete           Mark DSO non-deletable at runtime
  -z nodlopen           Mark DSO not available to dlopen
  -z nodump             Mark DSO not available to dldump
  -z noexecstack        Mark executable as not requiring executable stack
  -z norelro            Don't create RELRO program header
  -z now                Mark object non-lazy runtime binding
  -z origin             Mark object requiring immediate $ORIGIN processing
                          at runtime
  -z relro              Create RELRO program header
  -z KEYWORD            Ignored for Solaris compatibility
elf32elmip:
  -Bgroup               Selects group name lookup rules for DSO
  --disable-new-dtags   Disable new dynamic tags
  --enable-new-dtags    Enable new dynamic tags
  --eh-frame-hdr        Create .eh_frame_hdr section
  -z combreloc          Merge dynamic relocs into one section and sort
  -z defs               Report unresolved symbols in object files.
  -z execstack          Mark executable as requiring executable stack
  -z initfirst          Mark DSO to be initialized first at runtime
  -z interpose          Mark object to interpose all DSOs but executable
  -z loadfltr           Mark object requiring immediate process
  -z muldefs            Allow multiple definitions
  -z nocombreloc        Don't merge dynamic relocs into one section
  -z nocopyreloc        Don't create copy relocs
  -z nodefaultlib       Mark object not to use default search paths
  -z nodelete           Mark DSO non-deletable at runtime
  -z nodlopen           Mark DSO not available to dlopen
  -z nodump             Mark DSO not available to dldump
  -z noexecstack        Mark executable as not requiring executable stack
  -z norelro            Don't create RELRO program header
  -z now                Mark object non-lazy runtime binding
  -z origin             Mark object requiring immediate $ORIGIN processing
                          at runtime
  -z relro              Create RELRO program header
  -z KEYWORD            Ignored for Solaris compatibility
elf32ltsmip:
  -Bgroup               Selects group name lookup rules for DSO
  --disable-new-dtags   Disable new dynamic tags
  --enable-new-dtags    Enable new dynamic tags
  --eh-frame-hdr        Create .eh_frame_hdr section
  -z combreloc          Merge dynamic relocs into one section and sort
  -z defs               Report unresolved symbols in object files.
  -z execstack          Mark executable as requiring executable stack
  -z initfirst          Mark DSO to be initialized first at runtime
  -z interpose          Mark object to interpose all DSOs but executable
  -z loadfltr           Mark object requiring immediate process
  -z muldefs            Allow multiple definitions
  -z nocombreloc        Don't merge dynamic relocs into one section
  -z nocopyreloc        Don't create copy relocs
  -z nodefaultlib       Mark object not to use default search paths
  -z nodelete           Mark DSO non-deletable at runtime
  -z nodlopen           Mark DSO not available to dlopen
  -z nodump             Mark DSO not available to dldump
  -z noexecstack        Mark executable as not requiring executable stack
  -z norelro            Don't create RELRO program header
  -z now                Mark object non-lazy runtime binding
  -z origin             Mark object requiring immediate $ORIGIN processing
                          at runtime
  -z relro              Create RELRO program header
  -z KEYWORD            Ignored for Solaris compatibility
elf32ltsmipn32:
  -Bgroup               Selects group name lookup rules for DSO
  --disable-new-dtags   Disable new dynamic tags
  --enable-new-dtags    Enable new dynamic tags
  --eh-frame-hdr        Create .eh_frame_hdr section
  -z combreloc          Merge dynamic relocs into one section and sort
  -z defs               Report unresolved symbols in object files.
  -z execstack          Mark executable as requiring executable stack
  -z initfirst          Mark DSO to be initialized first at runtime
  -z interpose          Mark object to interpose all DSOs but executable
  -z loadfltr           Mark object requiring immediate process
  -z muldefs            Allow multiple definitions
  -z nocombreloc        Don't merge dynamic relocs into one section
  -z nocopyreloc        Don't create copy relocs
  -z nodefaultlib       Mark object not to use default search paths
  -z nodelete           Mark DSO non-deletable at runtime
  -z nodlopen           Mark DSO not available to dlopen
  -z nodump             Mark DSO not available to dldump
  -z noexecstack        Mark executable as not requiring executable stack
  -z norelro            Don't create RELRO program header
  -z now                Mark object non-lazy runtime binding
  -z origin             Mark object requiring immediate $ORIGIN processing
                          at runtime
  -z relro              Create RELRO program header
  -z KEYWORD            Ignored for Solaris compatibility
elf64ltsmip:
  -Bgroup               Selects group name lookup rules for DSO
  --disable-new-dtags   Disable new dynamic tags
  --enable-new-dtags    Enable new dynamic tags
  --eh-frame-hdr        Create .eh_frame_hdr section
  -z combreloc          Merge dynamic relocs into one section and sort
  -z defs               Report unresolved symbols in object files.
  -z execstack          Mark executable as requiring executable stack
  -z initfirst          Mark DSO to be initialized first at runtime
  -z interpose          Mark object to interpose all DSOs but executable
  -z loadfltr           Mark object requiring immediate process
  -z muldefs            Allow multiple definitions
  -z nocombreloc        Don't merge dynamic relocs into one section
  -z nocopyreloc        Don't create copy relocs
  -z nodefaultlib       Mark object not to use default search paths
  -z nodelete           Mark DSO non-deletable at runtime
  -z nodlopen           Mark DSO not available to dlopen
  -z nodump             Mark DSO not available to dldump
  -z noexecstack        Mark executable as not requiring executable stack
  -z norelro            Don't create RELRO program header
  -z now                Mark object non-lazy runtime binding
  -z origin             Mark object requiring immediate $ORIGIN processing
                          at runtime
  -z relro              Create RELRO program header
  -z KEYWORD            Ignored for Solaris compatibility
elf32btsmip:
  -Bgroup               Selects group name lookup rules for DSO
  --disable-new-dtags   Disable new dynamic tags
  --enable-new-dtags    Enable new dynamic tags
  --eh-frame-hdr        Create .eh_frame_hdr section
  -z combreloc          Merge dynamic relocs into one section and sort
  -z defs               Report unresolved symbols in object files.
  -z execstack          Mark executable as requiring executable stack
  -z initfirst          Mark DSO to be initialized first at runtime
  -z interpose          Mark object to interpose all DSOs but executable
  -z loadfltr           Mark object requiring immediate process
  -z muldefs            Allow multiple definitions
  -z nocombreloc        Don't merge dynamic relocs into one section
  -z nocopyreloc        Don't create copy relocs
  -z nodefaultlib       Mark object not to use default search paths
  -z nodelete           Mark DSO non-deletable at runtime
  -z nodlopen           Mark DSO not available to dlopen
  -z nodump             Mark DSO not available to dldump
  -z noexecstack        Mark executable as not requiring executable stack
  -z norelro            Don't create RELRO program header
  -z now                Mark object non-lazy runtime binding
  -z origin             Mark object requiring immediate $ORIGIN processing
                          at runtime
  -z relro              Create RELRO program header
  -z KEYWORD            Ignored for Solaris compatibility
elf32btsmipn32:
  -Bgroup               Selects group name lookup rules for DSO
  --disable-new-dtags   Disable new dynamic tags
  --enable-new-dtags    Enable new dynamic tags
  --eh-frame-hdr        Create .eh_frame_hdr section
  -z combreloc          Merge dynamic relocs into one section and sort
  -z defs               Report unresolved symbols in object files.
  -z execstack          Mark executable as requiring executable stack
  -z initfirst          Mark DSO to be initialized first at runtime
  -z interpose          Mark object to interpose all DSOs but executable
  -z loadfltr           Mark object requiring immediate process
  -z muldefs            Allow multiple definitions
  -z nocombreloc        Don't merge dynamic relocs into one section
  -z nocopyreloc        Don't create copy relocs
  -z nodefaultlib       Mark object not to use default search paths
  -z nodelete           Mark DSO non-deletable at runtime
  -z nodlopen           Mark DSO not available to dlopen
  -z nodump             Mark DSO not available to dldump
  -z noexecstack        Mark executable as not requiring executable stack
  -z norelro            Don't create RELRO program header
  -z now                Mark object non-lazy runtime binding
  -z origin             Mark object requiring immediate $ORIGIN processing
                          at runtime
  -z relro              Create RELRO program header
  -z KEYWORD            Ignored for Solaris compatibility
elf64btsmip:
  -Bgroup               Selects group name lookup rules for DSO
  --disable-new-dtags   Disable new dynamic tags
  --enable-new-dtags    Enable new dynamic tags
  --eh-frame-hdr        Create .eh_frame_hdr section
  -z combreloc          Merge dynamic relocs into one section and sort
  -z defs               Report unresolved symbols in object files.
  -z execstack          Mark executable as requiring executable stack
  -z initfirst          Mark DSO to be initialized first at runtime
  -z interpose          Mark object to interpose all DSOs but executable
  -z loadfltr           Mark object requiring immediate process
  -z muldefs            Allow multiple definitions
  -z nocombreloc        Don't merge dynamic relocs into one section
  -z nocopyreloc        Don't create copy relocs
  -z nodefaultlib       Mark object not to use default search paths
  -z nodelete           Mark DSO non-deletable at runtime
  -z nodlopen           Mark DSO not available to dlopen
  -z nodump             Mark DSO not available to dldump
  -z noexecstack        Mark executable as not requiring executable stack
  -z norelro            Don't create RELRO program header
  -z now                Mark object non-lazy runtime binding
  -z origin             Mark object requiring immediate $ORIGIN processing
                          at runtime
  -z relro              Create RELRO program header
  -z KEYWORD            Ignored for Solaris compatibility


Сообщение отредактировал amw - Nov 24 2008, 12:23


--------------------
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть.
© Lewis Carroll. Alice's adventures in wonderland.
Go to the top of the page
 
+Quote Post
Вовка_Бызов
сообщение Nov 24 2008, 12:44
Сообщение #25


Частый гость
**

Группа: Свой
Сообщений: 182
Регистрация: 26-11-07
Из: Москва, Зеленоград
Пользователь №: 32 692



Цитата(amw @ Nov 24 2008, 15:11) *
Я Вас удивлю.
ЭТО И ЕСТЬ C++ (Си Плюс Плюс) компилятор от GCC.

Дык я и не сомневаюсь - потому и пользовался им (кстати - скаченным с ftp.mips.com)

Цитата(amw @ Nov 24 2008, 15:11) *
А что говорит
Код
mipsisa32-elf-g++ -v

Код
mipsisa32-elf-g++ -v
[i]gcc version 2.96-mips3264-020217[/i]

Правда - чем он отличается от SDE - я не знаю..

Цитата(amw @ Nov 24 2008, 15:11) *
А это либо ключи выставлены неправильно, либо нехватает библиотеки libstdc++
Ее можно и самому скомпилить.

В в этом-то все трудности. Чего ребята там наворотили при построении загрузочного образа (который, кстати, транслируется как одно целое) - не знаю.. Но в том месте, где вываливает куча неопределенных ссылок - библиотеки НЕ подключаются... Хотя в проекте они указаны.. В общем - пока сижу с cfront-ом.. Потом буду звонить и спрашивать тупо..
Go to the top of the page
 
+Quote Post
amw
сообщение Nov 24 2008, 18:11
Сообщение #26


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 22-09-05
Из: Kharkov
Пользователь №: 8 847



Цитата(Вовка_Бызов @ Nov 24 2008, 14:44) *
Дык я и не сомневаюсь - потому и пользовался им (кстати - скаченным с ftp.mips.com)
Код
mipsisa32-elf-g++ -v
[i]gcc version 2.96-mips3264-020217[/i]

2.96 !!!
Староват однако. И больше -v ничего не выводит?
Цитата
Правда - чем он отличается от SDE - я не знаю..
В в этом-то все трудности. Чего ребята там наворотили при построении загрузочного образа (который, кстати, транслируется как одно целое) - не знаю.. Но в том месте, где вываливает куча неопределенных ссылок - библиотеки НЕ подключаются... Хотя в проекте они указаны.. В общем - пока сижу с cfront-ом.. Потом буду звонить и спрашивать тупо..

Попробуйте перекомпилить sde-g++.


--------------------
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть.
© Lewis Carroll. Alice's adventures in wonderland.
Go to the top of the page
 
+Quote Post

2 страниц V  < 1 2
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 16:13
Рейтинг@Mail.ru


Страница сгенерированна за 0.02728 секунд с 7
ELECTRONIX ©2004-2016