Here is a shorter snippet that exhibits the issue, however in this case both -O2 and -O3 fail with the same error Error: immediate value out of range -- `movt r1,-77'
// Shutdown lock data union shutdown_data { struct { SSHORT flag; SSHORT delay; } data_items; SLONG data_long; }; void notify_shutdown(Database* dbb) { shutdown_data data; data.data_items.flag = 1; data.data_items.delay = -77; LOCK_write_data(dbb->dbb_lock->lck_id, data.data_long); } the called function is in another source file and looks like this SLONG LOCK_write_data(SRQ_PTR request_offset, SLONG data) { /************************************** * * L O C K _ w r i t e _ d a t a * ************************************** * * Functional description * Write a longword into the lock block. * **************************************/ LOCK_TRACE(("LOCK_write_data (%ld)\n", request_offset)); lrq* request = get_request(request_offset); acquire(request->lrq_owner); ++LOCK_header->lhb_write_data; request = (LRQ) SRQ_ABS_PTR(request_offset); /* Re-init after a potential remap */ lbl* lock = (LBL) SRQ_ABS_PTR(request->lrq_lock); remove_que(&lock->lbl_lhb_data); if (lock->lbl_data = data) insert_data_que(lock); if (lock->lbl_series < LCK_MAX_SERIES) ++LOCK_header->lhb_operations[lock->lbl_series]; else ++LOCK_header->lhb_operations[0]; release(request->lrq_owner); return data; } -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/730440 Title: armel: incorrect immediate for movt -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs