Aktywne Wpisy
MrMas +557
Zakazać trzymania psów powyżej 5 kg w blokach mieszkalnych i myślę że większość problemów z psiarzami i sfrustrowanymi psami się rozwiąże
A taki mały szczur to poleci jak się go kopnie więc problemu nie ma
Tak btw to uważam że trzymanie dużego psa w kawalerce to znęcanie się w pewnym stopniu
#psiarze
A taki mały szczur to poleci jak się go kopnie więc problemu nie ma
Tak btw to uważam że trzymanie dużego psa w kawalerce to znęcanie się w pewnym stopniu
#psiarze
ZenujacaDoomerka +231
Żadna kobieta urodzona po 1993 nie umie gotować, znają tylko McDonald, ładowanie telefonu,"twerkowanie", biseksualizm, jedzenie ostrych chrupkow, kłamanie
Pytanie dotyczy bare metal c++. Moim problemem jest undefined instruction w
__cxa_guard_acquire
podczas inicjalizacji lokalnej (w funkcji), statycznej (static), nie trywialnej (mającej własny konstruktor) zmiennej.Wydaje mi się, że rozwiązaniem może być wymuszenie inicjalizacji tego rodzaju obiektów w startupie, a nie przy pierwszym wejściu do danego scope, w podobny sposób w jaki są inicjalizowane obiekty globalne.
Nie wiem jednak jak to zrobić. Wołam do pomocy @Gynvael bo napisał artykuł który kwestię trochę wyjaśnia, ale o pomoc proszę każdego.
__cxa_guard_acquire
generuje instrukcję, której procesor ARMowy nie łyka.@kiciek: Co za procek? Która wersja GCCka?
arm-none-eab-g++ 7. Konkretnie nie pamiętam: chyba 7.3.
Na stacktrace miałem hardfaulta wywołanego tą instrukcją (0xff). To wywołanie nie było z przerwania.
Tak szczerze, jeśli masz tylko jeden wątek, to pomyśl czy by się tych funkcji jakoś nie pozbyć, bo mutexy bez multithreadingu są umiarkowanie potrzebne.
Według ARMa ich implementacje _cxaguard... nie są thread safe. Że funkcja pochodzi z biblioteki, to wolę jej nie edytować - szczególnie, że przeniesienie wywołań konstruktorów do startupu wydaje się mi pomysłem dobrze wpływającym na deterministyczność.
Jeśli
Swoją drogą, masz może pełną instrukcje z tej funkcji? ARM ma 2 albo 4 bajtowe instrukcje, więc 0xff to tylko jej część. Jestem ciekaw, czy to faktycznie jakaś 'nie taka' instrukcja, czy jakiś inny błąd.
Z tego co rozumię, zeby osiągnąć swój cel muszę wygenerować listę konstruktorów podobna do tej o której wspominają tu.
Wyciągnąć z linkera symbole i zrobić magiczne coś jak tutaj.
Piszę magiczne, bo nie wiem czym dokładnie jest ta lista konstruktorów.
@kiciek: litości.. rozumiem, umiem, ale potrafię
#grammarnazi