• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Использование xtensa-lx106-elf-objdump

pvvx

Активный участник сообщества
CHERTS - устраните пожалуйста безобразие в виде не поддержки русского языка (и других) в своей сборке :) :
C:\Espressif\xtensa-lx106-elf\bin\xtensa-lx106-elf-objdump -S eagle.app.v6.out > eagle.app.v6.asm
tcp_output(pcb);//пї_пї_пї_Гєпї_пї_пї_пї_Нїпї_пї_Жїпї_пї_пї_пї_пї_пї_К_пї_пї_Д+пї_пї_Д_пї_пї_пї_пї_пї_FINпї_пї_пї_Ц+пї_пї_Дпї_
Какого фига оно перекодирует коменты? Ей делать больше нечего?
В Eclipse и "C" - всё Ok.
 
Последнее редактирование:

CHERTS

Moderator
Команда форума
CHERTS - устраните пожалуйста безобразие в виде не поддержки русского языка (и других) в своей сборке :) :
C:\Espressif\xtensa-lx106-elf\bin\xtensa-lx106-elf-objdump -S eagle.app.v6.out > eagle.app.v6.asm
tcp_output(pcb);//пї_пї_пї_Гєпї_пї_пї_пї_Нїпї_пї_Жїпї_пї_пї_пї_пї_пї_К_пї_пї_Д+пї_пї_Д_пї_пї_пї_пї_пї_FINпї_пї_пї_Ц+пї_пї_Дпї_
Какого фига оно перекодирует коменты? Ей делать больше нечего?
В Eclipse и "C" - всё Ok.
А кто сказал что там русский язык? Мне кажется там китайский.
 

CHERTS

Moderator
Команда форума
Например такое
tcp_output(pcb);//пїЅпїЅпїЅпїЅпїЅЖїпїЅпїЅпїЅпїЅпїЅпїЅУµД±пїЅпїЅД·пїЅпїЅНіпїЅИҐ
по китайски будет
锟斤拷锟斤拷锟狡匡拷锟斤拷锟斤拷锟接的憋拷锟侥凤拷锟酵筹拷去
а такое
pcb->remote_ip = *ipaddr;//пїЅпїЅпїЅпїЅпїЅпїЅIPпїЅпїЅЦ·пїЅпїЅР§пїЅпїЅпїЅпїЅпїЅпїЅпїЅУјпїЅВјпїЅРјпїЅВјпїЅпїЅIPпїЅпїЅЦ·пїЅпїЅпїЅпїЅпїЅт·µ»ШґпїЅпїЅпїЅ
по китайски
锟斤拷锟斤拷锟斤拷IP锟斤拷址锟斤拷效锟斤拷锟斤拷锟斤拷锟接硷拷录锟叫硷拷录锟斤拷IP锟斤拷址锟斤拷锟斤拷锟津返回达拷锟斤拷

ну а перевод.... кхе... уж простите, я не спец по китайскому языку, но судя по всему китайцы смеются над тем, кто это будет читать, бред там какой то написан

А вот тут, файл lwip\core\tcp_in.c
if (flags & TCP_ACK) {//报文包含ACK
right_wnd_edge = pcb->snd_wnd + pcb->snd_wl2;//发送窗口 + 序列应答最后窗口更新
уже лучше, хоть что то ясно, хотя опять же я не спец по китайскому языку

Так что устрянять нечего, в исходных файлах lwip кодировка изначально исковеркана, т.к. они были сохранены китайцами не в UTF8, поэтому objdump и коверкает комментарии.

P.S. Для перекодировки можно использовать сервис http://foxtools.ru/Text, исх.кодировка Неизвестна, конечная ставим Китайская упрощенная.
 
Последнее редактирование:

pvvx

Активный участник сообщества
А кто сказал что там русский язык? Мне кажется там китайский.
Это я написал комент в eclipse, странслировал и смотрю листинг asm, для оптимизации.
Вот коммерческий транслятор xt-objdump :
if(c <= ' ') { // строка кончилась или пробел
4024a997: 20b837 bgeu a8, a3, 4024a9bb <cmpcpystr+0x6b>
А в вашей системе он занимается перекодировкой, а не своими делами, от этого работает более чем в 20 раз тормознее - десятки секунд. И нечево кивать на китайский :)
Так и скажите - "Мопед не мой, я только разместил объяву" :)
 
Последнее редактирование:

CHERTS

Moderator
Команда форума
Это я написал комент в eclipse, странслировал и смотрю листинг asm, для оптимизации.
Вот коммерческий транслятор xt-objdump :
if(c <= ' ') { // строка кончилась или пробел
4024a997: 20b837 bgeu a8, a3, 4024a9bb <cmpcpystr+0x6b>
А в вашей системе он занимается перекодировкой, а не своими делами, от этого работает более чем в 20 раз тормознее - десятки секунд. И нечево кивать на китайский :)
Так и скажите - "Мопед не мой, я только разместил объяву" :)
Только что написал в nodemcu комент на русском, собрал и странслировал, с русским все впорядке






Так что проблема не в компиляторе, а в... Ну вообще не я писал неофициальный компилятор, я лишь собрал его под Windows, если он как-то криво транслирует в asm, наверно вопрос не ко мне, а к авторам gcc.
 

pvvx

Активный участник сообщества
Ну вообще не я писал неофициальный компилятор, я лишь собрал его под Windows, если он как-то криво транслирует в asm, наверно вопрос не ко мне, а к авторам gcc.
В последней версии вроде нормально. Не перекодирует и быстрее работает. Скорее всего либы были странслированы старой вашей версией или что-то типа. Пересобрал проект и стало нормально.
 

jcmvbkbc

New member
В последней версии вроде нормально. Не перекодирует и быстрее работает. Скорее всего либы были странслированы старой вашей версией или что-то типа. Пересобрал проект и стало нормально.
objdump вызванный с -S берёт исходный текст прямо из файлов исходного текста. Компилятор на эти комментарии никак не действует и в объектный файл они не попадают, так что перекомпиляция исходников ничего не должна изменить в результатах работы objdump.
 
Сверху Снизу