The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Разработчики из Google предложили разработать свою libc для LLVM

26.06.2019 12:36

Один из разработчиков из компании Google поднял в списке рассылки LLVM тему разработки многоплатформенной стандартной Си-библиотеки (Libc) в рамках проекта LLVM. По ряду причин Google не устраивают текущие libc (glibc, musl) и компания на пути к разработке новой реализации, которую предлагается развивать как часть LLVM.

Наработки LLVM последнее время используются в качестве основы для построения сборочного инструментария Google. Основной идеей является то, что если Google уже начал развивать свою libc, то почему бы ему сразу не развивать свою систему в составе LLVM, который уже предлагает свою стандартную библиотеку для С++ (Libc++), но не имеет аналогичной стандартной библиотеки для Си (Libc).

Разработку планируется вести поэтапно, постепенно наращивая функциональность. Первые варианты предлагается оформить в виде прослойки между приложением и системной Libc, из которой будут заимствоваться ещё не реализованные возможности. После достижения определённого уровня в функциональности новая Libc сможет применяться в качестве полной замены системной Libc. Начать планируется с поддержки архитектуры x86-64, Linux и статического связывания (динамическая загрузка, компоновка и дополнительные архитектуры будут реализованы во вторую очередь).

Проект пока на начальной стадии развития, но уже определены базовые цели:

  • Модульность и развитие в соответствии с философией поставки гранулированной библиотеки, а не монолитного набора;
  • Поддержка статического связывания в режимах с PIE (Position-independent executables) и без PIE. Предоставление CRT (C runtime) и загрузчика PIE для статически связываемых исполняемых файлов;
  • Поддержка большей части функций стандартной Си-библиотеки с дополнениями POSIX и некоторыми специфичными для систем расширениями, востребованными в существующих приложениях;
  • Осторожное отношение к специфичным для производителей расширениям и их добавление только при необходимости. В отношении поддержки сторонних расширений предлагается применять подход проектов Clang и libc++;
  • Использование образцовых практик в разработке с использованием инструментария LLVM, таких как применение sanitizer и fuzzing-тестирования с самого начала.

Один из активных разработчиков LLVM указал, что поставка libc в составе инструментария LLVM не лишена смысла, но обычно при подобной необходимости используют библиотеку musl, которая качественно написана, поддерживает различные архитектуры и предоставляет необходимую функциональность, в том числе поддерживает динамическое связывание. Оправданным может быть встраивание musl в LLVM и развитие его как синхронизированного с основным проектом форка.

Своё мнение также выразил автор проекта Musl, который попытался аргументировать почему предложение Google и включение Libc в поставку LLVM являются очень плохими идеями:

  • Разработка и сопровождение корректной, совместимой и высококачественной Libc является очень трудной задачей. Проблема не в объёме кода, а в обеспечении корректного поведения и трудностях с реализацией интерфейсов с учётом огромного пласта когда-либо написанных приложений на С/C++, а также приложений на других языках, runtime которых использует Libc. Подход в лоб без учёта нюансов лишь приведёт к тому, что многие существующие программы не смогут работать с Libc, но тогда такой проект не будет интересен потребителям.
  • Корпоративная разработка может испортить Libc, но протолкнуть для широкого использования, итогом чего станет необходимость добавления хаков для обеспечения совместимости в приложениях. Разработка под эгидой корпоративного открытого проекта будет тянуть одеяло в сторону потребностей и решений компании, в ущерб интересов сообщества. Например, в случае выявления проблемы, которая вызвана ошибкой в другой своей программе, в подконтрольной разработке проще обеспечить совместимость Libc с этой ошибкой, чем исправить саму ошибку. Apple использует для этих целей форк BSD libc, а Google применяет в Fuchsia форк musl. Опыт разработчика musl говорит о том, что с ним связывались в основном юристы для уточнения вопросов лицензирования, но никогда не обращались для уточнения технических деталей перед внесением в свои ответвления бесполезных и нарушающих работу изменений.
  • Отсутствие монокультуры при разработке libc и ориентация на развиваемые на основе достижения консенсуса стандарты, вместо единоличного управления, что мотивирует разработчиков прикладных приложений использовать стандарты, а не привязываться к конкретным реализациям. Именно поэтому автор musl против включения его библиотеки в состав LLVM, как и против разработки libc в рамках LLVM, так как в этом случае утрачивается независимый характер libc и определённая реализация становится решением первого класса для LLVM, а все остальные - второго.


  1. Главная ссылка к новости (https://news.ycombinator.com/i...)
  2. OpenNews: Выпуск системной библиотеки Glibc 2.29
  3. OpenNews: Конфликт между Ричардом Столлманом и командой разработчиков Glibc
  4. OpenNews: Для Linux и Redox представлена реализация Libc на языке Rust
  5. OpenNews: Проект OpenWRT перешел на использование Musl в качестве libc по умолчанию
  6. OpenNews: Выпуск стандартной Си-библиотеки Musl 1.1.17 с устранением уязвимости
Лицензия: CC-BY
Тип: Тема для размышления
Ключевые слова: libc, musl, llvm
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (130) Ajax | 1 уровень | Линейный | Раскрыть всё | RSS
  • 1.2, Аноним (2), 13:43, 26/06/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +24 +/
    Rich Felker дело говорит. Я думаю, к его мнению многие прислушаются.
     
     
  • 2.14, Дон Ягон (ok), 14:22, 26/06/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Rich Felker дело говорит.

    Безусловно.

    > Я думаю, к его мнению многие прислушаются.

    Хотелось бы, но совсем не удивлюсь, если не прислушаются.

     
  • 2.72, Аноним (72), 22:33, 26/06/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Я думаю, к его мнению многие прислушаются.

    Многие, но не Google.

     
     
  • 3.129, кккк (?), 09:33, 28/06/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >Многие, но не Google.

    Ну и бох с ними - пусть пишут свой 101 велосипед, только она будет вне LLVM.

     

  • 1.3, Аноним (3), 13:45, 26/06/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    У них же вроде и так есть Bionic.
     
     
  • 2.7, Elv (?), 13:56, 26/06/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Она, по-моему, только часть Android. Тут же речь идёт про LLVM в целом...
    Да и честно говоря лично у меня были немалые трудности при использовании Bionic после долгой работы с glibc, хотя там имела место привычка юзать _np функции из glibc.
     

  • 1.4, Иван (??), 13:52, 26/06/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    Ага со сливом всего проходящего через либу на google.com
     
  • 1.5, Аноним (5), 13:54, 26/06/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +18 +/
    Браузера им мало, ещё и libc хотят монополизировать?
     
     
  • 2.8, llolik (ok), 13:59, 26/06/2019 [^] [^^] [^^^] [ответить]  
  • +18 +/
    Они хотят свой особый libc, в который они могут вносить свои правки ни с кем не считаясь.

    libc (да и musl, в принципе, тоже, т.к. обещает совместимость) штука очень консервативная, ибо фундамент, и чтобы в ней что-то менять нужны очень веские основания и консенсус всех участников разработки. Гуглу это не нравится.

     
     
  • 3.125, Аноним (125), 01:39, 28/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > чтобы в ней что-то менять нужны очень веские основания и консенсус всех участников разработки

    Ясен пень, т.к. спецификацию на libc делают не разработчики libc, она даётся из вне и должна работать так как описано в стандарте. Иначе такая libc не нужна. Это вам не IE6, где можно быстренько поправить скриптик в блокноте.

     
  • 2.76, Аноним (76), 00:55, 27/06/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Браузера им мало, ещё и libc хотят монополизировать?

    Ещё мой дед говаривал мудрые поговорки, мало чего помю, но вроде звучали они как-то так:
    -Не можешь победить, возглавь!
    -Если за дело взялся Гугл, жди беды!
    -Бойтесь Гуглайцев, дары приносящих...

     
     
  • 3.80, EnemyOfDemocracy (?), 02:52, 27/06/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    О Гугле хорошо или за остальное забанят ваще везде.
     
  • 2.142, Аноним (-), 18:24, 02/07/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Я пользуюсь Firefox
     

  • 1.6, Аноним (6), 13:54, 26/06/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +22 +/
    Я не одобряю увеличение влияние гугла. Отказать!
     
     
  • 2.123, Голос разума (?), 22:03, 27/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Исполнено. Гуглу отказано. Спасибо за написанное вами здесь, не одобрительное сообщение.
     

  • 1.9, Георгий (??), 14:08, 26/06/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Почему не форкнуть и не рефакторнуть musl, если уж на то пошло.
     
     
  • 2.11, Георгий (??), 14:10, 26/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    А, понял. Им проще форкнуть Bionic.
     
  • 2.27, Аноним (27), 14:45, 26/06/2019 [^] [^^] [^^^] [ответить]  
  • +4 +/
    А почему бы им просто не пойти в попу?
     
     
  • 3.39, Аноним (39), 16:19, 26/06/2019 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Вы там аккуратнее с предложениями, они ведь могут и выполнить.
     
  • 2.30, НяшМяш (ok), 15:08, 26/06/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    В тексте и так написано, что гугл форкнул musl. Все, кто когда-нибудь работал с Android NDK, знают, какой там творится ад.
     
     
  • 3.40, Elv (?), 16:22, 26/06/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вот как раз недавно пришлось работать с ним, поддерживаю... Сама по себе Bionic тоже далеко не торт.
     

  • 1.10, Аноним (10), 14:10, 26/06/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    >По ряду причин Google не устраивают текущие libc

    Нужно больше зондов! И чтоб подлиннее!

     
     
  • 2.66, Андрей (??), 19:12, 26/06/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Без объяснения этого ряда причин звучит просто как NIH.
     

  • 1.15, Аноним (-), 14:22, 26/06/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Кстати поиск гугла сильно хуже чем 10 лет назад... с чего бы... может, мало велосипедов написано...
     
     
  • 2.17, Аноним (17), 14:28, 26/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Ты точно яндекс не видел?
     
     
  • 3.20, Аноним (-), 14:30, 26/06/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Он заблочен... а что с ним? Он лучше?
     
     
  • 4.22, Аноним (22), 14:34, 26/06/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    однако, да, музыку яндекс ищет лучше...
    понимаю, что пиратсво плохо, но еще хуже когда нет свободы.
     
     
  • 5.26, Дон Ягон (ok), 14:45, 26/06/2019 [^] [^^] [^^^] [ответить]  
  • +11 +/
    > что пиратсво плохо

    Пиратство, это когда ты продаёшь не лицензионные копии.
    И плохо это только потому, что какой-то левый тип получает деньги ни за что.

    А скачивать музыку из сети, положив писюн на "правообладателей" - это хорошо, нравственно и правильно.

     
     
  • 6.33, Аноним (33), 15:47, 26/06/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > И плохо это только потому, что какой-то левый тип получает деньги ни за что.

    А можете внятно объяснить, почему плохо, когда кто-то получает халявные деньги???

     
     
  • 7.35, Andrey Mitrofanov_N0 (??), 15:57, 26/06/2019 [^] [^^] [^^^] [ответить]  
  • +5 +/
    >> И плохо это только потому, что какой-то левый тип получает деньги ни за что.
    > А можете внятно объяснить, почему плохо, когда кто-то получает халявные деньги???

    Мама с папой говорили, что деньги надо -- за работу.

    А кода не работая - деньги....
    ....невидимая рука рынка творит сплошь какую-то фигню.

    Вот, на это наше АйТи взгляните.  Видите?!

     
  • 7.37, Дон Ягон (ok), 16:06, 26/06/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Для кого плохо Для того, кто получает - это, безусловно, хорошо Для правооблад... текст свёрнут, показать
     
     
  • 8.78, Аноним (76), 01:33, 27/06/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А можно выстроить такие отношения, когда вы поддерживаете копейкой непосредствен... текст свёрнут, показать
     
     
  • 9.114, Андрей (??), 15:07, 27/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Вот учёные давным давно с приходом Интернета получили такую возможность Наприме... текст свёрнут, показать
     
  • 6.43, ыы (?), 16:56, 26/06/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > скачивать музыку из сети, положив писюн на "правообладателей" - это хорошо, нравственно и правильно.

    При этом вы кладете его и на авторов музыки.

     
     
  • 7.45, Дон Ягон (ok), 17:02, 26/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    >> скачивать музыку из сети, положив писюн на "правообладателей" - это хорошо, нравственно и правильно.
    > При этом вы кладете его и на авторов музыки.

    Значительное число пока ещё живых исполнителей, которых я слушаю, одобряют распространение музыки через сеть забесплатно. Или, по крайней мере, относятся к этому с пониманием.

    Понравившимся исполнителям я могу так просто задонатить, посетить их концерт или купить лицензионный диск, в бОльшей степени ради оформления и для коллекции.

    В любом случае не вижу смысла позволять им зарабатывать на копировании, стоимость которого равна нулю. Особенно, если их цель была заработать, а не высказаться (почти наверняка подобная музыка мне и не зайдёт в любом случае).

     
     
  • 8.46, ыы (?), 17:07, 26/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Они одобряют воровство Ну чтож нашли друг друга как говорится Есть исполни... текст свёрнут, показать
     
     
  • 9.49, Дон Ягон (ok), 17:26, 26/06/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Копирование не является воровством Как бы я не презирал столлмана, в данном слу... текст свёрнут, показать
     
  • 6.74, Юрист (?), 22:36, 26/06/2019 [^] [^^] [^^^] [ответить]  
  • +9 +/
    > Пиратство, это когда ты продаёшь не лицензионные копии.

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

     
     
  • 7.96, сосед (?), 10:44, 27/06/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Согласен и пиратство и кража - это когда у кого-то что-то отнимают, а не копируют. Пираством Поднебесная занимается на государственном уровне  так что сказки про "воровство" и "пиратсво" в сфере IT оставьте полным отморозкам, жаждущих денег за их "гениальные" произведения и мысли.
     
     
  • 8.100, Andrey Mitrofanov_N0 (??), 10:59, 27/06/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Вот ты гений-то Браво Специальный олимпиец ... текст свёрнут, показать
     
  • 2.50, Аноним84701 (ok), 17:27, 26/06/2019 [^] [^^] [^^^] [ответить]  
  • +5 +/
    > Кстати поиск гугла сильно хуже чем 10 лет назад... с чего бы...

    Поиск хуже, чем еще пару лет назад.
    Особенно заметно стало после недавней (для меня - хз насколько у гугля это уже "индивидуализированно") модернизации интерфейса и (особенно) в "безЖСном" режиме, где уже вообще не выставить никаких фильтров (менюшку убрали) плюс оно теперь не показывает "нет результатов, увы" или "вот 2 результата по точному запросу, а вот отсюда и далее уже приблизительно", а просто показывает что-то типа "ищем не там где потерали, а за углом, где есть фонарь!".


     
     
  • 3.120, Аноним (120), 18:36, 27/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    вот это бесит, плюсы и кавычки уже пару лет не работают
     
  • 2.53, гугель (?), 17:57, 26/06/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Кстати поиск гугла сильно хуже чем 10 лет назад... с чего бы.

    с того что десять лет назад ты так не усердствовал с защитой от трекинга

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

     

  • 1.16, Грусть (?), 14:22, 26/06/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Начать планируется с поддержки архитектуры x86-64, Linux и статического связывания

    На этом и закончат.

     
     
  • 2.19, Аноним (17), 14:30, 26/06/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Раньше утверждал - чем меньше в компьютере мс, тем лучше. Теперь к компании добавился гугл.
     
     
  • 3.21, Аноним (-), 14:31, 26/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Корпорация Добра перешла на Темную сторону, Люк...
     
     
  • 4.23, Аноним (22), 14:36, 26/06/2019 [^] [^^] [^^^] [ответить]  
  • +7 +/
    она там всегда и была. просто хорошо маскировалась :)
     
  • 4.51, Аноним84701 (ok), 17:34, 26/06/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Корпорация Добра перешла на Темную сторону, Люк...

    https://www.engadget.com › 2015/10/02 › alphabet-do-the-right-thing
    > Alphabet replaces Google's 'Don't be evil' with 'Do the right thing'

    На третий день Зоркий Глаз … ;)

     
     
  • 5.97, Michael Shigorin (ok), 10:52, 27/06/2019 [^] [^^] [^^^] [ответить]  
  • –5 +/
    ...вот только их "right" какое-то ультралевое...
     
  • 3.81, хотел спросить (?), 03:22, 27/06/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    mariadb тоже зло?

    под винду точно работает лучше чем оракловский mysql

    под centos еще ни разу не слетатал ни тот ни другой

     

  • 1.18, Аноним (-), 14:29, 26/06/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    А почему не на Go??
     
  • 1.24, Аноним (24), 14:42, 26/06/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Так и запишем, нежелание использовать свободное по и открывать код.
     
     
  • 2.44, Аноним (44), 16:56, 26/06/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > и открывать код.

    Давно BSD лицензия LLVM стала не открытой?

     
     
  • 3.73, Аноним (73), 22:35, 26/06/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Но есть такие, как Гугель. Они-то могут одним движением руки превратить то, что под ней в закрытое.
     
     
  • 4.75, Аноним (72), 22:38, 26/06/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Они могли бы просто не открывать исходники своей libc. Но их план более коварен: сначала открыть, а потом — взять и закрыть.
     
  • 4.86, Аноним (86), 07:20, 27/06/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    много в этом поможет GPL если авторство будет принадлежать гуглу?
     
  • 3.104, Аноним (104), 12:13, 27/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Apache 2.0 License with LLVM exceptions.
     

  • 1.25, Аноним (27), 14:44, 26/06/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Долой руки копирастов от свободного кода libc.
     
  • 1.28, Аноним (28), 14:50, 26/06/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +8 +/
    Всё равно напишут своё. И потом все свои проекты прибьют гвоздями к этой новой libc, как уже прибивают к BoringSSL и clang. У Google хронический NIH синдром.
     
  • 1.31, Аноним (31), 15:27, 26/06/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    Попахвает https://ru.wikipedia.org/wiki/Embrace,_Extend,_and_Extinguish
     
     
  • 2.54, Какаянахренразница (ok), 17:57, 26/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    И у меня сразу возникла та же мысль...
     
  • 2.58, proninyaroslav (ok), 18:30, 26/06/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Он уже не попахивает а довольно сильно воняет. Причём уже длительно время. Начиная с гугла, заканчивая майкрософтом в последнее время (добрались таки).
     
  • 2.59, proninyaroslav (ok), 18:31, 26/06/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А с учётом того что гугл почти монополист во многих областях (веб, десктопы [браузеры, electron], мобилки) то диктовать свои правила они не боятся совершенно.
     

  • 1.34, An (??), 15:53, 26/06/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Наверно их все пошлют подальше и как было сказано выше на этом все закончится.  
     
     
  • 2.41, Аноним (41), 16:49, 26/06/2019 [^] [^^] [^^^] [ответить]  
  • +5 +/
    > Наверно их все пошлют

    Согласен. Как уже послали с Андроидом, Хромом, Гмейлом...

     
     
  • 3.98, Michael Shigorin (ok), 10:53, 27/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Кстати, да -- осталось с остатков гмайла в качестве всеядного mx свалить.
     
     
  • 4.115, товарищ майор (?), 15:12, 27/06/2019 [^] [^^] [^^^] [ответить]  
  • +4 +/
    правильно, на скрепную яндекс-почту!

     

  • 1.38, Аноним (38), 16:07, 26/06/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Было бы не плохо что бы гугл запилил бы себе какой ни будь свой интернет и там и отдуплялся, барыжил бы выдачу, клики, пузырял бы пузыри информационные, кантачил бы с гнидой из амазона, решал бы вопросы с марком цукерфакером, а вот от интернетов бы шоб ручки свои шаловливые чтоб убрал под своё пропуканое одеяло, вот то было-б дело делов!...
     
     
  • 2.55, гугель (?), 17:59, 26/06/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    так мы вроде и того, уже ж?

    В смысле, это ведь наш интернет, и в нем все примерно так и есть!

     
  • 2.71, xm (ok), 20:09, 26/06/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    На самом деле это ближе чем вы думаете. У них уже есть на пару с Facebook свой глобальный бэкбон.
     
  • 2.103, Аноним (103), 11:22, 27/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Этот ваш "гугл" напоминает наше правительство с роскомзапретами
     
     
  • 3.126, Аноним3 (?), 03:49, 28/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    согласен совсем о роскомзапретились)))
     

  • 1.42, anonymous (??), 16:54, 26/06/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Подход в лоб без учёта нюансов лишь приведёт к тому, что многие существующие программы не смогут работать с Libc, но тогда такой проект не будет интересен потребителям.

    Ну тогда это шанс. Корпорации в общем и гугл в частности - это настолько крупные потребители, что они могут забить на интересы прочих мелких потребителей. И наконец-то выпустят libc который работает по стандартам, а не по принципу обратной совместимости костылей. И если разработчик отказывается следовать стандарту, и его программа падает - тем хуже для разработчика, гуглу это что слону дробинка.

     
     
  • 2.56, гугель (?), 17:59, 26/06/2019 [^] [^^] [^^^] [ответить]  
  • +4 +/
    а стандартами будет то, что мы укажем. Костыли-не костыли - жрать что дали и не вякать!

     

  • 1.47, Аноним (47), 17:16, 26/06/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    И кто-то ругает до сих пор MS? Последние хоть не паразитировали на открытом коде. Просто пишут закрытый/открытый код как им хочется.

    Если LLVM прогнется, то пошли они в лес. Кто-то так или иначе форкнет как OpenLLVM или LibreLLVM. Проверено сообществом.

     
     
  • 2.61, proninyaroslav (ok), 18:37, 26/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Майкрософт со временем тоже начнёт свою паразитарную деятельность в опенсорсе/свободном ПО (WSL и прочие ништяки уже на подходе). А по LLVM Столлман уже давно выразил свою позицию и не считает его свободным (поскольку лицензия не копилефт). И творить с LLVM могут что угодно, не считаясь с остальными.
     
     
  • 3.79, Wilem (?), 02:23, 27/06/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Майкрософт уже внезапно главный контрибьютор в экосистему раста, по объему кода если правильно помню, да и сам actix — ключевой фреймворк. И WSL — это посто-таки подарок для пользователей винды, мс в этом большие молодцы.
     
     
  • 4.99, proninyaroslav (ok), 10:55, 27/06/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну гугл тоже активный участник (например в ядре), что это меняет?
     
     
  • 5.101, Andrey Mitrofanov_N0 (??), 11:04, 27/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну гугл тоже активный участник (например в ядре), что это меняет?

    Это значит, что ему нужно быть скромнее, меньше активничать.

    А что?....

     

  • 1.48, Аноним (48), 17:22, 26/06/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Право на форк. Ответ рабочего класса буржуям. Гугл стремится к монополии и контролю. Ну и как вам живется при капитализме, товарищи? ( В.И. Ленин).
     
     
  • 2.62, Аноним (62), 18:45, 26/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Действительно, КПСС быстро бы запретили всё это. Гугл был бы быстро национализирован, а его топ менеджмент — раскулачен и сослан в ГУЛАГ. Только код писать бы некому было.
     
     
  • 3.94, 1 (??), 10:13, 27/06/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    топменеджмент научать в ГУЛАГ-е писать код.

    Совсем чтоль без головы ? Где код, а где топменеджмент ?

     
  • 3.105, pda (?), 12:26, 27/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Шарашка - как решение проблемы!
     
  • 3.106, Аноним (106), 12:32, 27/06/2019 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Вы все страшилки которые навыдумывали собирали в одну кучу? Почему ещё не добавили передача сотрудниц гугла в общее пользование, программерские трудодни, гонения по нац^W и^W рел^W признаку симпатии к ОС. Ну и прочие перестроечные байки из журнала огонек.
     

  • 1.52, Ordu (ok), 17:47, 26/06/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    Это, конечно, всё хорошо, но где объяснение причин для собственной libc? Заявления типа "у нас в гугле возникают проблемы с использованием glibc" как-то не выглядят особо убедительно. Какую конкретно проблему решит новая реализация libc?
     
     
  • 2.65, Аноним (65), 18:50, 26/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    >Какую конкретно проблему решит новая реализация libc?

    Как я понял из письма, они хотят разбиение libc на мелкие компоненты и статическую линковку. В последнем случае glibc отпадает, потому что статическая линковка там нормально не поддерживается. Чем им musl не угодила, я не знаю.

     
     
  • 3.68, Ordu (ok), 19:19, 26/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    >>Какую конкретно проблему решит новая реализация libc?
    > Как я понял из письма, они хотят разбиение libc на мелкие компоненты
    > и статическую линковку. В последнем случае glibc отпадает, потому что статическая
    > линковка там нормально не поддерживается. Чем им musl не угодила, я
    > не знаю.

    Да, для меня это тоже выглядит острым приступом NiH синдрома.

     
  • 3.130, Аноним (130), 20:07, 28/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    >glibc отпадает, потому что статическая линковка там нормально не поддерживается

    Stop reopening

     

  • 1.57, Аноним (57), 17:59, 26/06/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Есть 4 компонента кретичные для безопасности ОС:

    Ядро ОС Linux, компилятор С gcc, стандартная библиотека glibc и набор утилит binutils.

    Власть Google, или другой монополии над любой из них допускать нельзя!

     
     
  • 2.63, Аноним (62), 18:46, 26/06/2019 [^] [^^] [^^^] [ответить]  
  • +7 +/
    >Есть 4 компонента кретичные для безопасности ОС

    Кретичные — это ведь от слова кретинизм, да?

     
     
  • 3.70, Аноним (57), 19:26, 26/06/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Ну не надо по себе судить, я от слова креативность наверно "е" взял. ;)
     
     
  • 4.82, хотел спросить (?), 03:27, 27/06/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    это потому что кре... ативный ты )))
     
  • 2.67, анонн (?), 19:17, 26/06/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Есть 4 компонента кретичные для безопасности ОС:
    > Ядро ОС Linux, компилятор С gcc, стандартная библиотека glibc и набор утилит  binutils.

    Всегда подозревал, что HardenedBSD на самом деле дырявое реш3то!


     
     
  • 3.69, Аноним (57), 19:24, 26/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Имел в ввиду 4 компонента для *NIX. А для примера привёл назван е компонент с GNU/Linux.

    1. Ядро ОС
    2. Компилятор
    3. Системная библиотека
    4. Базовые системные утылиты

    Если школу или кому другому в них удастся засунуть закладки - получит контроль над системой. И защититься не получится.

     

  • 1.60, Аноним (60), 18:36, 26/06/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Благодарю за перевод и возможные дополнения
     
  • 1.77, Joe B. (?), 01:10, 27/06/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    А потом они форкнут LLVM
     
     
  • 2.121, Аноним (121), 18:59, 27/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Сначала напишут кучу кода, опубликуют его на весь мир под пермиссивной лицензией, а затем форкнут. Хитрый план, не так ли?
     

  • 1.84, Аноним (84), 04:31, 27/06/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    как вам /lib/libmsvcrt.so.1.0.0 от Microsoft?)
     
     
  • 2.87, anonus (?), 09:07, 27/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Полна фигня. Вот для винды бы лучше и сделали нормальную libc.
     

  • 1.88, Ilya Indigo (ok), 09:19, 27/06/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Очередной NIH от Google.
     
     
  • 2.89, Andrey Mitrofanov_N0 (??), 09:27, 27/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Очередной NIH от Google.

    Гугль прижимающийся своими НИХом к эпплову НИХу.
    К кому только не прижмутся -- лишь бы не GPLv3+.
    пох-нах оценит!P-D

     
     
  • 3.90, Ilya Indigo (ok), 09:34, 27/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    >> Очередной NIH от Google.
    > Гугль прижимающийся своими НИХом к эпплову НИХу.
    > К кому только не прижмутся -- лишь бы не GPLv3+.
    > пох-нах оценит!P-D

    Яблочный NIH умеет шейдеры компилировать, от него есть реальная польза для Mesa!

     
     
  • 4.91, Andrey Mitrofanov_N0 (??), 09:41, 27/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    >>> Очередной NIH от Google.
    >> Гугль прижимающийся своими НИХом к эпплову НИХу.
    >> К кому только не прижмутся -- лишь бы не GPLv3+.
    >> пох-нах оценит!P-D
    > Яблочный NIH умеет шейдеры

    Столмановский тоже вродь научили.  Почти.  

    Но это никому не интересно, согласен.

    Противно даже!  " Нормальному мужику такое впадлу предлагать. "

    >компилировать, от него есть реальная польза для Mesa!

     

  • 1.92, Аноним (92), 10:05, 27/06/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Я изучал стандартную библиотеку языка С:
    glibс - это треш, в котором черт ногу сломит (макрос на макросе) - очень сложно разобраться и понять что там происходит. Видимо девиз тех, кто это писал такой: Смотрите как мы можем, смотрите какие мы умные, а вы нет!
    musl - они думают, что они лучше glibc, но по факту не так уж и сильно. Более того, это ещё один пример того как НЕ надо писать на языке Си. Ребята очнитесь вы там, вы пишите код для людей, а не ебу** заклинания для компилятора.
    bsd libc (в openbsd) - по сути такое же гавно (в плане стиля кода), как и
     
     
  • 2.93, Аноним (92), 10:11, 27/06/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Продолжение:
    остальные - не пишите так код!
    Р/S IMHO Лично мне куда больше нравится стиль в книге The Standard C Library (реализация ANSI C library)
     
     
  • 3.95, Аноним (92), 10:39, 27/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Вот вам пример из исходников:
    https://git.musl-libc.org/cgit/musl/tree/src/string/strncat.c
    А теперь, кто внимательный, видите здесь, что-то странное (лишнее)?
     
     
  • 4.102, Andrey Mitrofanov_N0 (??), 11:22, 27/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Вот вам пример из исходников:
    > https://git.musl-libc.org/cgit/musl/tree/src/string/strncat.c
    > А теперь, кто внимательный, видите здесь, что-то странное (лишнее)?

    Из n надь вычесть strlen(s).  И единицу.   И проверить underflow при том.  

    Я выиграл?  Не отвечайте.  Я знаю, что проиграл -- "программирование" не моё.

     
  • 4.108, solardiz (ok), 13:03, 27/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Не вижу. Если Вы видите, сообщите, пожалуйста, что именно там "странное (лишнее)".
     
     
  • 5.109, Аноним (92), 13:41, 27/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Нужно писать так d 0 вместо этого d 0 В данном случае, это никак не ... текст свёрнут, показать
     
     
  • 6.111, solardiz (ok), 14:13, 27/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Спасибо. Насчет лишнего "++" согласен что нагляднее без него, скажу Rich'у. В остальном по наглядности кода мне не очевидно чья версия лучше.
     
     
  • 7.112, Аноним (92), 14:24, 27/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    А вы попробуйте посмотреть на это с точки зрения неопытного Си программиста
     
     
  • 8.113, letsmac (ok), 14:53, 27/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    А зачем неопытному Си программисту лезть в ДНК ... текст свёрнут, показать
     
     
  • 9.117, Аноним (92), 17:36, 27/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Наверное затем, чтобы понять как устроено ДНК и тем самым стать более опытным ка... текст свёрнут, показать
     
     
  • 10.135, Ordu (ok), 17:16, 29/06/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Чтобы стать более опытным, надо смотреть в реальный код, а не в адаптированный д... текст свёрнут, показать
     
     
  • 11.137, Аноним (92), 10:26, 30/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Никто и не отрицает важность умения читать и понимать то что написали другие люд... текст свёрнут, показать
     
     
  • 12.138, Ordu (ok), 10:57, 30/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Как ты думаешь, если бы реальный код любой код , то зачем мне нужно было г... текст свёрнут, показать
     
     
  • 13.140, Аноним (92), 12:37, 30/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Я прекрасно вас понял Просто, то что вы назвали адаптированным кодом, прозвучал... текст свёрнут, показать
     
     
  • 14.141, Ordu (ok), 13:09, 30/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Пишут Ещё и не так пишут Бывает такой кошмар в коде, что сей пример на его фон... текст свёрнут, показать
     
  • 6.116, Аноним (116), 15:27, 27/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    >показывать всем какой вы умный

    Вот и не показывай.

    strlen(d) из оригинала может быть заменен на специфический для платформы очень быстрый набор инструкций, а твой "for (; *to != '\0'; ++to)" (который на самом деле while(*to) to++;) - нет.

    и откуда вы лезете с '\0' то? Впрочем, все эти размазывания присвоений на 3 строчки - явно карпарифный стандарт с галеры, где платят за количество строк кода. Можешь устариваться в гуголь, там такое любят.


     
     
  • 7.118, Аноним (92), 18:14, 27/06/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А вы забавный:)))

    Я понял, Вы походу настолько суровы, что вместо NULL тоже везде пишете 0. Имена всех ваших переменных не длиннее одной буквы, а об оптимизации вы думаете ещё до того как получите хоть какой-то рабочий код.

    Чтоже так тоже можно, но я предпочитаю думать о тех людях кто будет поддерживать код после меня, помня о том что возможно это буду я сам:))

    ПС
    А на счет '\0', и мой цикл for, ну что тут сказать, могу вам посоветовать почитать книгу:
    The Practice of Programming (B.Kernighan and R.Pike)
    И все претензии предъявлять этим уважаемым господам:))

     
  • 7.132, Аноним (132), 11:39, 29/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    >strlen(d) из оригинала может быть заменен на специфический для платформы очень быстрый набор инструкций, а твой "for (; *to != '\0'; ++to)" (который на самом деле while(*to) to++;) - нет.

    Дайте пример! Хочу увидеть где можно ускорить и без того простейший инкремент.

     
     
  • 8.133, Аноним84701 (ok), 12:49, 29/06/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Например, обрабатывать не байтик за байтиком https sourceware org git p glib... текст свёрнут, показать
     
     
  • 9.136, Аноним (47), 18:17, 29/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Так или иначе везде циклы, я-то думал, что будет что-то фантастическое в одну д... текст свёрнут, показать
     
  • 6.131, Аноним (132), 11:37, 29/06/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Смешно.

    Ваш for (; *to != '\0'; ++to) это strlen в упрощенном виде:
    https://git.musl-libc.org/cgit/musl/tree/src/string/strlen.c

    С точки зрения компилятора ваш код ничем не отличается от того, что в musl.

    Итого, вы придрались к оформлению и к *d++ = 0, где инкремент может выпилить компилятор. Возникает вопрос зачем 100500 раз везде писать "for (; *to != '\0'; ++to)" вместо strlen? Вот это и есть дурной тон программирования. Другой вопрос почему strlen не сделан в виде макроса.

     
     
  • 7.139, Аноним (92), 12:07, 30/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    В этом и весь смысл Вы всё равно должны учесть, что всё это рассчитано главный ... текст свёрнут, показать
     

  • 1.110, Аноним (110), 13:44, 27/06/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    >По ряду причин Google не устраивают текущие libc (glibc, musl) и компания на пути к разработке новой реализации

    Non copyleft licenses are considered as permissive licenses, mostly because they allow creating derivative works under other license terms.
    It is important to make a difference between Free software and Open source software. All Free Software is Open source Software, but not all Open source Software is considered as Free software.

     
     
  • 2.119, Аноним (121), 18:20, 27/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    >All Free Software is Open source Software, but not all Open source Software is considered as Free software.

    ЛПП, см https://en.wikipedia.org/wiki/Comparison_of_free_and_open-source_software_lice Есть экзотические лицензии, одобренные FSF и не одобренные OSI. При этом подавляющее большинство лицензий либо одобрены тем и другим, либо не одобрены тем и другим

     
     
  • 3.122, Аноним (122), 19:51, 27/06/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Просто FSF различает open и free software, а OSI — нет.
     
  • 3.124, Андрей (??), 23:23, 27/06/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > одобренные FSF и не одобренные OSI

    Не ожидал. Впрочем так же, как и то, что документация к gcc, флагманскому проекту FSF, является non-free в Debian.

     

  • 1.134, Аноним (-), 15:46, 29/06/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >Опыт разработчика musl говорит о том, что с ним связывались в основном юристы для уточнения вопросов лицензирования, но никогда не обращались для уточнения технических деталей перед внесением в свои ответвления бесполезных и нарушающих работу изменений.

    Ну чё пацаны, похоже Гуглятина готовит фундамент для развития своей будущей проприетарной оси Chrome.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    Слёрм
    Inferno Solutions
    Hosting by Ihor
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2019 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру