From: Daniele Nicolodi <daniele@domain.hid>
To: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
Cc: xenomai@xenomai.org
Subject: Re: [Xenomai-core] gcc-4.6 issue
Date: Thu, 11 Aug 2011 20:42:59 +0200 [thread overview]
Message-ID: <4E4422B3.6090101@domain.hid> (raw)
In-Reply-To: <4E440FC2.4070807@domain.hid>
[-- Attachment #1: Type: text/plain, Size: 527 bytes --]
On 11/08/11 19:22, Gilles Chanteperdrix wrote:
> Please try and find the point in the latency test where the hang happens
> (it probably happens when calling a xenomai service, so, not
> sched_setscheduler), and then post the two disassemblies of this service
> implementation in libnative.so, the one compiled with 4.4, the other
> with 4.6.
The latency test hangs in rt_task_create() attached the function
disassemblies obtained with gcc-4.4 and gcc-4.6. Hope that this helps,
those are Aramaic to me.
Cheers,
--
Daniele
[-- Attachment #2: rt_task_create_gcc-4.4.dump --]
[-- Type: text/plain, Size: 6027 bytes --]
00004f90 <rt_task_create>:
4f90: 55 push %ebp
4f91: 31 c0 xor %eax,%eax
4f93: 89 e5 mov %esp,%ebp
4f95: 57 push %edi
4f96: 56 push %esi
4f97: 53 push %ebx
4f98: 83 ec 7c sub $0x7c,%esp
4f9b: e8 17 d8 ff ff call 27b7 <__i686.get_pc_thunk.bx>
4fa0: 81 c3 24 17 00 00 add $0x1724,%ebx
4fa6: 53 push %ebx
4fa7: 89 c3 mov %eax,%ebx
4fa9: b8 2b 02 00 02 mov $0x200022b,%eax
4fae: cd 80 int $0x80
4fb0: 5b pop %ebx
4fb1: 8b 45 08 mov 0x8(%ebp),%eax
4fb4: 8d 75 a0 lea -0x60(%ebp),%esi
4fb7: 8b 7d 18 mov 0x18(%ebp),%edi
--
4ff9: 75 11 jne 500c <rt_task_create+0x7c>
4ffb: e8 98 d5 ff ff call 2598 <getpagesize@plt>
5000: 8d b8 00 40 00 00 lea 0x4000(%eax),%edi
5006: 89 bb cc 00 00 00 mov %edi,0xcc(%ebx)
500c: 8b 55 10 mov 0x10(%ebp),%edx
500f: 85 d2 test %edx,%edx
5011: 75 07 jne 501a <rt_task_create+0x8a>
5013: c7 45 90 00 80 00 00 movl $0x8000,-0x70(%ebp)
501a: c7 44 24 04 01 00 00 movl $0x1,0x4(%esp)
5021: 00
5022: 89 34 24 mov %esi,(%esp)
5025: e8 ce d4 ff ff call 24f8 <pthread_attr_setinheritsched@plt>
502a: 8b 45 14 mov 0x14(%ebp),%eax
502d: c7 45 e4 00 00 00 00 movl $0x0,-0x1c(%ebp)
5034: 85 c0 test %eax,%eax
5036: 0f 8e bc 00 00 00 jle 50f8 <rt_task_create+0x168>
503c: c7 44 24 04 01 00 00 movl $0x1,0x4(%esp)
5043: 00
5044: 89 34 24 mov %esi,(%esp)
5047: e8 9c d4 ff ff call 24e8 <pthread_attr_setschedpolicy@plt>
504c: 8b 45 14 mov 0x14(%ebp),%eax
504f: 89 45 e4 mov %eax,-0x1c(%ebp)
5052: 8d 45 e4 lea -0x1c(%ebp),%eax
5055: 89 44 24 04 mov %eax,0x4(%esp)
5059: 89 34 24 mov %esi,(%esp)
505c: e8 07 d5 ff ff call 2568 <pthread_attr_setschedparam@plt>
5061: 8b 45 90 mov -0x70(%ebp),%eax
5064: 39 f8 cmp %edi,%eax
5066: 73 02 jae 506a <rt_task_create+0xda>
5068: 89 f8 mov %edi,%eax
506a: 89 44 24 04 mov %eax,0x4(%esp)
506e: 89 34 24 mov %esi,(%esp)
5071: e8 82 d5 ff ff call 25f8 <pthread_attr_setstacksize@plt>
5076: 8b 7d 18 mov 0x18(%ebp),%edi
5079: 81 e7 00 04 00 00 and $0x400,%edi
507f: 89 7d 90 mov %edi,-0x70(%ebp)
5082: 74 5c je 50e0 <rt_task_create+0x150>
5084: 8d 45 c4 lea -0x3c(%ebp),%eax
5087: 89 44 24 0c mov %eax,0xc(%esp)
508b: 8d 83 cc e7 ff ff lea -0x1834(%ebx),%eax
5091: 89 44 24 08 mov %eax,0x8(%esp)
5095: 8d 45 e0 lea -0x20(%ebp),%eax
5098: 89 74 24 04 mov %esi,0x4(%esp)
509c: 89 04 24 mov %eax,(%esp)
509f: e8 e4 d5 ff ff call 2688 <__real_pthread_create@plt>
50a4: 85 c0 test %eax,%eax
50a6: 75 28 jne 50d0 <rt_task_create+0x140>
50a8: 8b 7d 94 mov -0x6c(%ebp),%edi
50ab: 53 push %ebx
50ac: 89 fb mov %edi,%ebx
50ae: b8 2b 02 00 01 mov $0x100022b,%eax
50b3: cd 80 int $0x80
50b5: 5b pop %ebx
50b6: 85 c0 test %eax,%eax
50b8: 89 c6 mov %eax,%esi
50ba: 74 07 je 50c3 <rt_task_create+0x133>
50bc: 8b 4d 90 mov -0x70(%ebp),%ecx
50bf: 85 c9 test %ecx,%ecx
50c1: 75 4d jne 5110 <rt_task_create+0x180>
50c3: 83 c4 7c add $0x7c,%esp
50c6: 89 f0 mov %esi,%eax
50c8: 5b pop %ebx
50c9: 5e pop %esi
50ca: 5f pop %edi
50cb: 5d pop %ebp
50cc: c3 ret
50cd: 8d 76 00 lea 0x0(%esi),%esi
50d0: 89 c6 mov %eax,%esi
50d2: 83 c4 7c add $0x7c,%esp
50d5: f7 de neg %esi
50d7: 89 f0 mov %esi,%eax
50d9: 5b pop %ebx
50da: 5e pop %esi
50db: 5f pop %edi
50dc: 5d pop %ebp
50dd: c3 ret
--
50f0: eb 92 jmp 5084 <rt_task_create+0xf4>
50f2: 8d b6 00 00 00 00 lea 0x0(%esi),%esi
50f8: c7 44 24 04 00 00 00 movl $0x0,0x4(%esp)
50ff: 00
5100: 89 34 24 mov %esi,(%esp)
5103: e8 e0 d3 ff ff call 24e8 <pthread_attr_setschedpolicy@plt>
5108: e9 45 ff ff ff jmp 5052 <rt_task_create+0xc2>
510d: 8d 76 00 lea 0x0(%esi),%esi
5110: c7 44 24 04 00 00 00 movl $0x0,0x4(%esp)
5117: 00
5118: 8b 45 e0 mov -0x20(%ebp),%eax
511b: 89 04 24 mov %eax,(%esp)
511e: e8 55 d5 ff ff call 2678 <pthread_join@plt>
5123: 83 c4 7c add $0x7c,%esp
5126: 89 f0 mov %esi,%eax
5128: 5b pop %ebx
5129: 5e pop %esi
512a: 5f pop %edi
512b: 5d pop %ebp
512c: c3 ret
512d: 90 nop
512e: 90 nop
512f: 90 nop
[-- Attachment #3: rt_task_create_gcc-4.6.dump --]
[-- Type: text/plain, Size: 5575 bytes --]
00004b60 <rt_task_create>:
4b60: 55 push %ebp
4b61: 31 c0 xor %eax,%eax
4b63: 57 push %edi
4b64: 56 push %esi
4b65: 53 push %ebx
4b66: 83 ec 7c sub $0x7c,%esp
4b69: 8b bc 24 9c 00 00 00 mov 0x9c(%esp),%edi
4b70: e8 82 dd ff ff call 28f7 <__i686.get_pc_thunk.bx>
4b75: 81 c3 c3 25 00 00 add $0x25c3,%ebx
4b7b: 53 push %ebx
4b7c: 89 c3 mov %eax,%ebx
4b7e: b8 2b 02 00 02 mov $0x200022b,%eax
4b83: cd 80 int $0x80
4b85: 5b pop %ebx
4b86: 8b 84 24 90 00 00 00 mov 0x90(%esp),%eax
4b8d: 8d 74 24 28 lea 0x28(%esp),%esi
--
4be2: 75 10 jne 4bf4 <rt_task_create+0x94>
4be4: e8 cf d9 ff ff call 25b8 <getpagesize@plt>
4be9: 05 00 40 00 00 add $0x4000,%eax
4bee: 89 83 cc 00 00 00 mov %eax,0xcc(%ebx)
4bf4: 8b 94 24 98 00 00 00 mov 0x98(%esp),%edx
4bfb: 85 d2 test %edx,%edx
4bfd: 75 05 jne 4c04 <rt_task_create+0xa4>
4bff: bd 00 80 00 00 mov $0x8000,%ebp
4c04: 39 c5 cmp %eax,%ebp
4c06: 73 02 jae 4c0a <rt_task_create+0xaa>
4c08: 89 c5 mov %eax,%ebp
4c0a: c7 44 24 04 01 00 00 movl $0x1,0x4(%esp)
4c11: 00
4c12: 89 34 24 mov %esi,(%esp)
4c15: e8 fe d8 ff ff call 2518 <pthread_attr_setinheritsched@plt>
4c1a: 85 ff test %edi,%edi
4c1c: c7 44 24 68 00 00 00 movl $0x0,0x68(%esp)
4c23: 00
4c24: 0f 8e a6 00 00 00 jle 4cd0 <rt_task_create+0x170>
4c2a: c7 44 24 04 01 00 00 movl $0x1,0x4(%esp)
4c31: 00
4c32: 89 34 24 mov %esi,(%esp)
4c35: e8 ce d8 ff ff call 2508 <pthread_attr_setschedpolicy@plt>
4c3a: 89 7c 24 68 mov %edi,0x68(%esp)
4c3e: 8d 44 24 68 lea 0x68(%esp),%eax
4c42: 89 44 24 04 mov %eax,0x4(%esp)
4c46: 89 34 24 mov %esi,(%esp)
4c49: e8 3a d9 ff ff call 2588 <pthread_attr_setschedparam@plt>
4c4e: 89 6c 24 04 mov %ebp,0x4(%esp)
4c52: 89 34 24 mov %esi,(%esp)
4c55: e8 be d9 ff ff call 2618 <pthread_attr_setstacksize@plt>
4c5a: 8b ac 24 a0 00 00 00 mov 0xa0(%esp),%ebp
4c61: 81 e5 00 04 00 00 and $0x400,%ebp
4c67: 74 4f je 4cb8 <rt_task_create+0x158>
4c69: 8d 44 24 4c lea 0x4c(%esp),%eax
4c6d: 89 44 24 0c mov %eax,0xc(%esp)
4c71: 8d 83 18 d9 ff ff lea -0x26e8(%ebx),%eax
4c77: 89 44 24 08 mov %eax,0x8(%esp)
4c7b: 8d 44 24 6c lea 0x6c(%esp),%eax
4c7f: 89 74 24 04 mov %esi,0x4(%esp)
4c83: 89 04 24 mov %eax,(%esp)
4c86: e8 1d da ff ff call 26a8 <__real_pthread_create@plt>
4c8b: 89 c6 mov %eax,%esi
4c8d: f7 de neg %esi
4c8f: 85 c0 test %eax,%eax
4c91: 75 19 jne 4cac <rt_task_create+0x14c>
4c93: 8b 7c 24 1c mov 0x1c(%esp),%edi
4c97: 53 push %ebx
4c98: 89 fb mov %edi,%ebx
4c9a: b8 2b 02 00 01 mov $0x100022b,%eax
4c9f: cd 80 int $0x80
4ca1: 5b pop %ebx
4ca2: 85 c0 test %eax,%eax
4ca4: 89 c6 mov %eax,%esi
4ca6: 74 04 je 4cac <rt_task_create+0x14c>
4ca8: 85 ed test %ebp,%ebp
4caa: 75 3c jne 4ce8 <rt_task_create+0x188>
4cac: 83 c4 7c add $0x7c,%esp
4caf: 89 f0 mov %esi,%eax
4cb1: 5b pop %ebx
4cb2: 5e pop %esi
4cb3: 5f pop %edi
4cb4: 5d pop %ebp
4cb5: c3 ret
4cb6: 66 90 xchg %ax,%ax
4cb8: c7 44 24 04 01 00 00 movl $0x1,0x4(%esp)
4cbf: 00
4cc0: 89 34 24 mov %esi,(%esp)
4cc3: e8 20 da ff ff call 26e8 <pthread_attr_setdetachstate@plt>
4cc8: eb 9f jmp 4c69 <rt_task_create+0x109>
4cca: 8d b6 00 00 00 00 lea 0x0(%esi),%esi
4cd0: c7 44 24 04 00 00 00 movl $0x0,0x4(%esp)
4cd7: 00
4cd8: 89 34 24 mov %esi,(%esp)
4cdb: e8 28 d8 ff ff call 2508 <pthread_attr_setschedpolicy@plt>
4ce0: e9 59 ff ff ff jmp 4c3e <rt_task_create+0xde>
4ce5: 8d 76 00 lea 0x0(%esi),%esi
4ce8: 8b 44 24 6c mov 0x6c(%esp),%eax
4cec: c7 44 24 04 00 00 00 movl $0x0,0x4(%esp)
4cf3: 00
4cf4: 89 04 24 mov %eax,(%esp)
4cf7: e8 9c d9 ff ff call 2698 <pthread_join@plt>
4cfc: 83 c4 7c add $0x7c,%esp
4cff: 89 f0 mov %esi,%eax
4d01: 5b pop %ebx
4d02: 5e pop %esi
4d03: 5f pop %edi
4d04: 5d pop %ebp
4d05: c3 ret
4d06: 8d 76 00 lea 0x0(%esi),%esi
4d09: 8d bc 27 00 00 00 00 lea 0x0(%edi,%eiz,1),%edi
next prev parent reply other threads:[~2011-08-11 18:42 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-08-11 10:59 [Xenomai-core] gcc-4.6 issue Roland Stigge
2011-08-11 11:07 ` Gilles Chanteperdrix
2011-08-11 11:43 ` Daniele Nicolodi
2011-08-11 14:48 ` Daniele Nicolodi
2011-08-11 17:21 ` Roland Stigge
2011-08-11 17:31 ` Gilles Chanteperdrix
2011-08-11 19:34 ` Gilles Chanteperdrix
2011-08-11 20:52 ` Gilles Chanteperdrix
2011-08-11 23:18 ` Gilles Chanteperdrix
2011-08-12 8:18 ` Daniele Nicolodi
2011-08-12 8:46 ` Gilles Chanteperdrix
2011-08-12 10:08 ` Daniele Nicolodi
2011-08-12 10:11 ` Gilles Chanteperdrix
2011-08-12 8:20 ` [Xenomai-core] Bug#637425: " Roland Stigge
2011-08-11 17:22 ` [Xenomai-core] " Gilles Chanteperdrix
2011-08-11 18:42 ` Daniele Nicolodi [this message]
2011-08-11 20:09 ` Gilles Chanteperdrix
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4E4422B3.6090101@domain.hid \
--to=daniele@domain.hid \
--cc=gilles.chanteperdrix@xenomai.org \
--cc=xenomai@xenomai.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.