Size: a a a

pro.osdev - os development

2021 October 06

d

disba1ancer in pro.osdev - os development
си чате говорили, что UB, ибо в стандарте чётко прописано что по такому указателю не может быть объектов
источник

BD

Berkus Decker in pro.osdev - os development
nullptr при этом равен нулю, так что
источник

d

disba1ancer in pro.osdev - os development
но я не помню показывали мне ссылку или нет
источник

BD

Berkus Decker in pro.osdev - os development
поэтому это не уб, а низя
источник

d

disba1ancer in pro.osdev - os development
в плюсах другая формулировка, которая вроде как позволяет такое
источник

W

Wild_Wind in pro.osdev - os development
У меня работало. Но я читал не именно по 0x00000000, а с оффсетом небольшим. Это был какой-то lpc arm7 вроде
источник

W

Wild_Wind in pro.osdev - os development
источник

BD

Berkus Decker in pro.osdev - os development
По сишному стандарту вообще нельзя получить правильный указатель из адреса - https://stackoverflow.com/questions/35537579/c-standard-compliant-way-to-access-null-pointer-address
источник

BD

Berkus Decker in pro.osdev - os development
что конечно меганевероятный лул
источник

d

disba1ancer in pro.osdev - os development
а если получаем из ассемблера/линкера?
источник

d

disba1ancer in pro.osdev - os development
да есть такое
источник

BD

Berkus Decker in pro.osdev - os development
> The implementation defined way to access the 0 architectural address is, for GCC, the use of the -fno-isolate-erroneous-paths-dereference flag which produces the "expected" assembly code.
источник

d

disba1ancer in pro.osdev - os development
потому с моей точки зрения, большая часть современных ядер состоит из UB
источник

BD

Berkus Decker in pro.osdev - os development
в рамках сишной виртуальной машины - совершенно похуй откуда пришел инт который ты конвертишь в адрес
источник

BV

Boris Vinogradov in pro.osdev - os development
Наследие легаси компов
источник

BV

Boris Vinogradov in pro.osdev - os development
Интел кстати запрещает нулевые адреса
источник

d

disba1ancer in pro.osdev - os development
тогда UB получается везде, вообще везде...
источник

d

disba1ancer in pro.osdev - os development
это как?
источник

BV

Boris Vinogradov in pro.osdev - os development
А там если внимательно манул прочитаешь там это прям целым пунктом описано
источник

d

disba1ancer in pro.osdev - os development
там не маленький мануал, а где конкретно это искать я даже ума не приложу...
источник