зависимостей и продакшн проект воспроизвести не удалось. Вообщем суть такова. Возвращаю структуру из метода. внутри этой структуры только POD типы. Возвращается она валидно. Проверял адрес , все хорошо. Проблема в том что при вызове метода у структуры через возвращенную ссылку падает в segv. Начал смотреть ассемблер ( -О0 оптимизация). Он в итоге получает адрес этой структуры в %rax. А потом вместо вызова метода делает вот так:
movl (%rax), %rax
movl (%rax), %rax # ессно тут бабах
Ось убунта. Компилятор гцц 7.3 . Конечно много тут не проанализируешь но имея информацию сказанную выше может есть у кого соображения что могло пойти не так? Я голову сломал так и не понял
возвращается по значению?
Лучше сюда https://t.me/ProCxx
Обсуждают сегодня