1. Куча / Говнокод #27601

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    fn main() {
        println!("Hello World!");
    }
    
    rustc --version --verbose:
    
    rustc 1.52.1 (9bc8c42bb 2021-05-09)
    binary: rustc
    commit-hash: 9bc8c42bb2f19e745a63f3445f1ac248fb015e53
    commit-date: 2021-05-09
    host: powerpc-unknown-linux-gnu
    release: 1.52.1
    LLVM version: 12.0.0
    
    Error output
    
    rustc ./hello.rs
    Illegal instruction (core dumped)

    https://github.com/rust-lang/rust/issues/85238

    Open: clienthax opened this issue on May 12 · 6 comments

    Запостил: 3.14159265, 22 Августа 2021

    Комментарии (26) RSS

    • > println!("Hello World!");
      > rustc ./hello.rs
      > Illegal instruction (core dumped)

      Объясните как ТАКОЕ возможно в зрелома-тема-ти-че-ски корректном языке?
      Вот это предлагается пихать в ядерные реакторы и ядро linux?
      Ответить
      • Думаю, ты понимаешь, за что я поэтому.
        Ответить
      • Эм, там что-то хитровыебанное и необычное в этом хелло ворлде? Или у них весь код в UD оптимизируется в этой версии?
        Ответить
        • Наверное не понят масштаб факапа.
          Падает сам безопасный компилятор...

          Написанный на ruste...
          r(gdb) run ./hello.rs
          Starting program: /root/.cargo/bin/rustc ./hello.rs
          warning: Unable to find dynamic linker breakpoint function.
          Program received signal SIGILL, Illegal instruction.
          0x00a87060 in OPENSSL_crypto207_probe ()

          Там что-то ёбнуло в «OpenSSL».
          А вот нахуя для helloworld понадобился «OpenSSL» я так и ня понел.

          Там ещё так смешно, ему нужен гццшный рантайм.:
          warning: Could not load shared library symbols for 7 libraries, e.g. /usr/lib/libgcc_s.so.1.
          Use the "info sharedlibrary" command to see the complete listing.
          Do you need "set solib-search-path" or "set sysroot"?

          Ответить
          • > нахуя для helloworld понадобился «OpenSSL»

            Ну видимо хеши какие-нибудь им считают? Или пакеты тянут прямо из главного экзешника конпелятора, а не отдельным.
            Ответить
            • Я не могу понять, если у анскилябр любая мелочь проксируется в вызовы сишных либ почему компилятор получился такой мееееделеееннныыый.

              Rust — это медленно, зато небезопасно.
              Ответить
              • потому что на каждом шагу делает проверку. это они у C# научились только не научились делать оптимизацию кода
                Ответить
          • > А вот нахуя для helloworld понадобился «OpenSSL» я так и ня понел.
            Для безопасности
            Ответить
            • То есть если я свою программу слинкую со всеми мне известными библиотеками по защите данных, то программа станет безопасной?
              Ответить
              • Подорожник приложить не забудь.
                Ответить
              • А вообще, это ведь как гомеопатия. Линкер все эти либы выкинет, но в молекулах кода о них останется память и он станет более безопасным.
                Ответить
                • В своё время был термин «вакцинация» или «иммунизация» компьютерных программ от вируса. Компьютерные вирусы искали в программах свою сигнатуру, чтобы не заражать их повторно. И вот некоторые разработчики додумались добавлять эту сигнатуру к программам (в виде неиспользуемых данных), чтобы вирус их не заражал.

                  А вдруг существуют компьютерные вирусы, которые не заражают программы, у которых в секции импорта значится «OpenSSL»? А вдруг?
                  Ответить
                  • const char* t1 "Я на районе Ваську Сикатого знаю";
                    const char* t2 "У меня брат сидел";
                    Ответить
          • но ведь падает не компилятор а то что либы нет... если операционка говно то и все на нем работающее тоже гавно... хотя если либы нет - то кто виноват?
            Ответить
          • У жeны oкaзaлся любoвник, и я уeхaл, брoсив всё, в дaльнee Пoдмoскoвьe, гдe у мeня былa oднoкoмнaтнaя квaртирa
            Ответить
      • > ма-тема-ти-че-ски корректном языке

        А они это реально заявляли, кстати? А то звучит как далёкое будущее, когда слезут с "временного" бекенда на крестах и "временных" либ на няшной.
        Ответить
    • opened on Sep 29, 2015 •
      
       oberien commented on Feb 1 2021 •
      // I just found the following miscompilation resulting from this bug, which simply compiles to ud2 on stable, beta and nightly:
      
      pub fn oops() -> u32 {
          (0..).sum() // or .last().unwrap() instead of .sum()
      }
      
      // It's a minified version of the following snippet where I mistyped take_while as filter:
      
      pub fn foo(end: u32) -> u32 {
          (0..)
              .map(|i| i * i)
              .filter(|&i| i < end)
              .sum()
      }


      В прошлый раз Ub в safe rust не могли починить ШЕСТЬ лет.
      Ответить
      • Повод задуматься, с тем ли языком ты связал свою судьбу...
        Ответить
    • Давайте в жопу ебаться
      Ответить
    • а мой компилятор не требует OpenSSL :) или опции там разные.. я вот уже прикрутил GC
      Ответить

    Добавить комментарий