This is the mail archive of the ecos-discuss@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Error: .size expression for __restore_rt does not evaluate to a constant [FIX]


After checking what ".type" and ".size" actually mean (they annotate a
symbol with type and size), it seems likely that what is meant here is
to just refer to the "cyg_hal_sys_restore" symbol, and not the
"__restore" symbol.  I.e. the code probably has changed at some point
to incorporate a name change, but somebody forgot to update that
directive.  It's not necessary for the code to work so it is only
detected now that binutils got stricter about its input.

If this is the case, see the fix below

Cheers,
Tom



? synth_fix.patch
Index: syscall-i386-linux-1.0.S
===================================================================
RCS file: /cvs/ecos/ecos/packages/hal/synth/i386linux/current/src/syscall-i386-linux-1.0.S,v
retrieving revision 1.13
diff -u -8 -p -r1.13 syscall-i386-linux-1.0.S
--- syscall-i386-linux-1.0.S 23 Aug 2009 11:34:45 -0000 1.13
+++ syscall-i386-linux-1.0.S 4 Jun 2011 14:40:09 -0000
@@ -439,20 +439,20 @@ SYSCALL5(ipc)
// via another system call.


         .align 16
         .global cyg_hal_sys_restore_rt
 cyg_hal_sys_restore_rt:
         movl    $SYS_rt_sigreturn, %eax
         int     $0x80
 1:
-        .type __restore_rt,@function
-        .size __restore_rt,1b - __restore_rt
+        .type cyg_hal_sys_restore_rt,@function
+        .size cyg_hal_sys_restore_rt,1b - cyg_hal_sys_restore_rt

         .align 8
         .global cyg_hal_sys_restore
 cyg_hal_sys_restore:
         popl    %eax
         movl    $SYS_sigreturn, %eax
         int     $0x80
 1:
-        .type __restore,@function
-        .size __restore,1b - __restore
+        .type cyg_hal_sys_restore,@function
+        .size cyg_hal_sys_restore,1b - cyg_hal_sys_restore


-- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]