Quote:
Originally Posted by zxczxc
Congratulations on getting your keyboard working, that sounded a bit difficult!
|
Thanks

I hope this helps many.
Quote:
Originally Posted by NiLuJe
As @knc1 mentioned, examining the symbol table of your resulting binary should be enough to make sure you're not hitting ABI issues.
I'm personally a fan of readelf for that job, which I find more user-friendly than nm  .
|
Yes, readout from readelf was much more friendly for me, too. Moreover, I figured out later that '-D' option is needed for nm to print out dynamic symbol table when I'm not accessible to this toolchain. So, here is my binary's dynamic symbol table from readelf.
Code:
Symbol table '.dynsym' contains 31 entries:
Num: Value Size Type Bind Vis Ndx Name
0: 00000000 0 NOTYPE LOCAL DEFAULT UND
1: 00000000 0 NOTYPE WEAK DEFAULT UND _ITM_deregisterTMCloneTab
2: 00000000 0 NOTYPE WEAK DEFAULT UND __gmon_start__
3: 00000000 0 NOTYPE WEAK DEFAULT UND _Jv_RegisterClasses
4: 00000000 0 NOTYPE WEAK DEFAULT UND _ITM_registerTMCloneTable
5: 00021ae0 0 NOTYPE GLOBAL DEFAULT 23 _bss_end__
6: 00000000 0 FUNC GLOBAL DEFAULT UND XGetWindowAttributes
7: 000116ec 0 FUNC GLOBAL DEFAULT 13 _fini
8: 00021ad4 0 NOTYPE GLOBAL DEFAULT 23 __bss_start__
9: 000106e4 0 FUNC GLOBAL DEFAULT 10 _init
10: 00021ad4 0 NOTYPE GLOBAL DEFAULT 23 __bss_start
11: 00000000 0 FUNC GLOBAL DEFAULT UND XDisplayKeycodes
12: 00000000 0 FUNC GLOBAL DEFAULT UND abort@GLIBC_2.4 (2)
13: 00021ae0 0 NOTYPE GLOBAL DEFAULT 23 _end
14: 00021ae0 0 NOTYPE GLOBAL DEFAULT 23 __end__
15: 00000000 0 FUNC GLOBAL DEFAULT UND XSelectInput
16: 00000000 0 FUNC GLOBAL DEFAULT UND XFree
17: 00000000 0 FUNC GLOBAL DEFAULT UND __libc_start_main@GLIBC_2.4 (2)
18: 00021ad4 0 NOTYPE GLOBAL DEFAULT 22 _edata
19: 00000000 0 FUNC GLOBAL DEFAULT UND usleep@GLIBC_2.4 (2)
20: 00000000 0 FUNC GLOBAL DEFAULT UND XOpenDisplay
21: 00000000 0 FUNC GLOBAL DEFAULT UND XCheckWindowEvent
22: 00000000 0 FUNC GLOBAL DEFAULT UND XSendEvent
23: 00000000 0 FUNC GLOBAL DEFAULT UND puts@GLIBC_2.4 (2)
24: 00021ae0 0 NOTYPE GLOBAL DEFAULT 23 __bss_end__
25: 00000000 0 FUNC GLOBAL DEFAULT UND XChangeKeyboardMapping
26: 00000000 0 FUNC GLOBAL DEFAULT UND XFetchName
27: 00000000 0 FUNC GLOBAL DEFAULT UND printf@GLIBC_2.4 (2)
28: 00000000 0 FUNC GLOBAL DEFAULT UND XLookupKeysym
29: 00000000 0 FUNC GLOBAL DEFAULT UND XGetInputFocus
30: 00000000 0 FUNC GLOBAL DEFAULT UND raise@GLIBC_2.4 (2)
It seems that GLIBC 2.4 is the only library that version checking is needed. And it's much lower than 2.12 or 2.19. So, I carefully assume that at least this binary would be fine with the past firmware versions barring the system conf files I modified.
Thank you!