Kibab

Походу на Jabber.ru случилась чистка неактивных аккаунтов. У меня несколько контактов, которых я давно не видел, отписались от меня и отозвали подписку.

Kibab

Ах да, Shairport требует для работы либо Avahi, либо mDNSResponder. Первый — свободный проект, но ему не повезло оказаться основанным на быдлобиблиотеках GNOME, всякие там gobject-introspection и прочее. Они написаны настолько криво, что под ARM не собираются. mDNSResponder — от Apple, зависимостей практически нет, однако всё потребовалось добавить в одном месте __packed__ в хедерах, потому что ребята из Apple тестят всё на CLang, у которого на ARM, похоже, структуры __packed__, даже если это явно не сказано, у GCC же с этим проблемы. Вот они и проебали __packed__ в одном месте :-)

Kibab

водрузил на DreamPlug программку Shairport — теперь в iTunes на Маке видно ещё один канал вывода звука. Можно переключить на него и музыка идёт по WiFi на Дримплаг и оттуда на колонки. Прикольно :-)

Kibab

поймал прикольный баг с типизацией переменных. Вот 'char foo' — это signed или unsigned? Вроде как implementation specific. Вот arm-gcc считает, что это unsigned, а clang-amd64 — что signed. Как результат — баг в geom_label_ntfs на ARM. github.com

Kibab

Штатный u-Boot, установленный на Dreamplug, не поддерживает uBoot API и команду bootelf. Пересобрал новую версию uboot и добавил обе возможности. Через OpenOCD и JTAG запускается, можно грузануть ubldr и далее фряшное ядро. Осталось только зашить обновлённую версию в NOR.

Kibab

Ядро с миром, собранные Clang, практически неработоспособны. Очень странные эффекты, хотя система грузится в мультиюзер, но работать невозможно — локауты в самых неожиданных местах.