Куча говна / Говнокод #27601 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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 3.14159265, (Updated )

Комментарии (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 — это медленно, зато небезопасно.
            Ответить
        • > А вот нахуя для 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
    Ответить

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

Где здесь C++, guest?!

    А не использовать ли нам bbcode?


    8