Представлен релиз набора системных утилит GNU Binutils 2.36, в состав которого входят такие программы, как GNU linker, GNU assembler, nm, objdump, strings, strip...Подробнее: https://www.opennet.me/opennews/art.shtml?num=54464
ассемблер -- это хорошо, очень хорошо
А llvm-bitcode - ещё лучше!
эталонный вброс в гнутом треде
Не одобрено мэтром СПО.
Осталось только не одобрить этого самого мэтра.
Дык уже больше года как
https://www.opennet.me/opennews/art.shtml?num=51498
Корпорасты убрали неугодного и подмяли под себя фонд.
а с llvm-bitcoin вообще будет красота
Да собственно bitcoin и без llvm хорош. Так что и хрен с ним, с LLVM.
Как бы все что выше - не прерогатива бинутилсов уже.
WebAssembly лучше.
Не согласен!
Ассемблер — это для стиляг. Настоящие программисты смотрят команды в справочнике и вбивают их коды в двоичном виде дырочками в перфокартах.
так то я тот ещё щёголь ;)
настоящие программисты набирают программы прямо на пульте, в двоичном коде, ну на крайняк в восьмиричном или шестнадцатиричном)))
Ну как Сеймур Крэй говорят продиктовал 4Кбайта загрузчика по телефону и заработало!!!
Билл Гейтс свой бейсик для компьютера Альтаир на перфоленте писал через телетайп. Потому что он настоящий программист, а не хипстер какой-то. И бейсик те же 4 килобайта весил.
Судя по продаже IBM операционки которой у него не было - таки жуликоватый хипстер, хоть и первобытный.
Он и в Альтаир продал бейсик, который он еще не написал. Хотя бы в силу того что у него даже не было этого компьютера. Но код им самим пришлось писать. И на стороне заказали только код для операций с числами с плавающей точкой.
А что поделать, если у тебя еще нет модема - ты и 8 килобайт продиктуешь, если другие опции недоступны.
Факс, письмо, курьерская доставка, фельдъегерская служба. Из всех доступных вариантов они выбрали самый неподходящий.
Настоящие программисты используют бабочек.
Вот вы мамонты! Настоящие джедаи давно настукивают команды в JTAG двумя кнопками!
Если вы на чистой сишке компилируете код, в финальной стадии компиляции формируется код на ассемблере с синтаксисом AT&T. Так вот, GCC вызывает GNU assembler, который в свою очередь и формирует двоичный код из ассемблерного листинга. GCC зависит от GNU binutils.Про роль линкеров ld и gold говорить не буду. Мэйнтейнеры пакетов их хорошо знают.
Синтаксис AT&T, древнее самой Intel. Пакет GNU binutils совмещает в себе очень важные программы. Это невидимые трудяги.
Согласен!
Поддерживаю предыдущего оратора.
Аминь
Всё, что нагнули лучше не стало.
всё что гнётся не ломается
Не гнется, не ломается, а только кувыркается!
Зато, если оттянуть и отпустить, по носу звезданёт сильно.
> Про роль линкеров ld и gold говорить не буду.Расскажи.
Сижу на bfd. С gold, говорят, не все пакеты собираются.
Ведро начиная с 5.2 что ли не собирается с голд. С лто голд вроде лучше и сегодня справляется
Для ведра держу свю версию gcc и binutils. Систему одним компилятором и линковщиком собираю, а ведро другим.
Да-да-да. Ассемблер - наше все, ага. Более гадкого чем гнутый я не видел, а на ассемблерах всяких лет 15 писал.
Более гадкого синтаксиса, чем у интел x86 нет ни у кого. Хотя в этом не ассемблер виноват, а сверхдебильная архитектура набора инструкций этого самого x86. В самом же синтаксисе интеловского ассемблера самое дебильное, это что операнды в инструкциях mov располагаются задом наперед. Редкостный маразм. Я так думаю, что изобретатели сего ассемблера били зазомбированы операторами присваивания.
Ну а обозначение РОН собственнвми именами вместо их естественного нумерования -- просто взрыв долбоебизма. AMD попыталась это исправить в своем x86_64, но безуспешно -- секту x86 просто так не разгонишь.
А где там, что за опция такая> В утилиту ar добавлена поддержка модификатора "l" для задания зависимостей для статической библиотеки.
Changes in 2.36:
* Add libdep plugin, for linking dependencies of static libraries that
were recorded by ar in the __.LIBDEP archive member.* Add --error-handling-script=<NAME> command line option to allow a helper
script to be invoked when an undefined symbol or a missing library is
encountered. This option can be suppressed via the configure time
switch: --enable-error-handling-script=no.* Add -z lam-u48 to x86-64 ELF linker to generate LAM_U48 property.
* Add -z lam-u57 to x86-64 ELF linker to enerate LAM_U57 property.
* Add -z lam-u48-report=[none|warning|error] to report missing LAM_U48
property.* Add -z lam-u57-report=[none|warning|error] to report missing LAM_U57
property.* Add -z lam-report=[none|warning|error] to report missing LAM_U48 and
LAM_U57 properties.* Add -z x86-64-{baseline|v[234]} to the x86 ELF linker to mark
x86-64-{baseline|v[234]} ISA level as needed.* Add -z unique-symbol to avoid duplicated local symbol names.
* The creation of PE format DLLs now defaults to using a more secure set of DLL
characteristics.* The linker now deduplicates the types in .ctf sections. The new
command-line option --ctf-share-types describes how to do this:
its default value, share-unconflicted, produces the most compact
output.* The linker now omits the "variable section" from .ctf sections by
default, saving space. This is almost certainly what you want
unless you are working on a project that has its own analogue
of symbol tables that are not reflected in the ELF symtabs.* Add support for the SHF_GNU_RETAIN ELF section flag.
This flag specifies that the section should not be garbage collected by the
linker.Changes in 2.35: