Notes for sqlitebrowser - reproducible builds result

Version annotated: 3.11.2-1
Comments: There are differences in the .rodata section of the binary.
.
The following analysis was done on the binary currently in sid, not the one
built by tests.r-b.org (because I couldn't figure out the download URL of
the latter).
.
The first difference is at address 0x0033bd3d:
.
│ │ │ │ │ - 0x0033bd30 00010000 0001000a 9e670000 017661f3 .........g...va.
│ │ │ │ │ + 0x0033bd30 00010000 0001000a 9e670000 016e5ef9 .........g...n^.
│ │ │ │ │ - 0x0033bd40 764b0000 00f80001 00000001 0009094a vK.............J
│ │ │ │ │ + 0x0033bd40 2bdb0000 00f80001 00000001 0009094a +..............J
│ │ │ │ │ - 0x0033bd50 00000176 61f37553 00000088 00000000 ...va.uS........
│ │ │ │ │ + 0x0033bd50 0000016e 5ef92a03 00000088 00000000 ...n^.*.........
│ │ │ │ │ - 0x0033bd60 00010003 e85b0000 017661f3 76230000 .....[...va.v#..
│ │ │ │ │ + 0x0033bd60 00010003 e85b0000 016e5ef9 2b8f0000 .....[...n^.+...
│ │ │ │ │ - 0x0033bd70 01400001 00000001 000b7246 00000176 .@........rF...v
│ │ │ │ │ + 0x0033bd70 01400001 00000001 000b7246 0000016e .@........rF...n
│ │ │ │ │ - 0x0033bd80 61f37657 0000001e 00010000 00010000 a.vW............
│ │ │ │ │ + 0x0033bd80 5ef92d3f 0000001e 00010000 00010000 ^.-?............
│ │ │ │ │ - 0x0033bd90 00000000 017661f3 758b0000 00ca0000 .....va.u.......
│ │ │ │ │ + 0x0033bd90 00000000 016e5ef9 2c870000 00ca0000 .....n^.,.......
│ │ │ │ │ - 0x0033bda0 00000001 00067583 00000176 61f37667 ......u....va.vg
│ │ │ │ │ + 0x0033bda0 00000001 00067583 0000016e 5ef92bcf ......u....n^.+.
(There seems to be some pattern to the differences, e.g., "va" becomes "n^".)
.
There's nothing relevant in the symbol table:
.
% objdump -j .rodata -TswC sqlitebrowser | vipe
000000000032e050 w DO .rodata 0000000000000013 Base typeinfo name for ForeignKeyEditor
0000000000409d28 w DO .rodata 000000000000000e Base typeinfo name for CharCommand
.
(Note the size is 13.)
.
Looking at the complete dump (s/-j .rodata/-D/), the only reference to the
address range of the first difference (/(0|\<)344a/) is here:
.
000000000022d170 :
22d170: 48 83 ec 08 sub $0x8,%rsp
22d174: 48 8d 0d 05 7c 11 00 lea 0x117c05(%rip),%rcx # 344d80
22d17b: 48 8d 15 7e 7a 11 00 lea 0x117a7e(%rip),%rdx # 344c00
22d182: bf 02 00 00 00 mov $0x2,%edi
22d187: 48 8d 35 f2 78 11 00 lea 0x1178f2(%rip),%rsi # 344a80
22d18e: e8 cd ad e8 ff callq b7f60
22d193: b8 01 00 00 00 mov $0x1,%eax
22d198: 48 83 c4 08 add $0x8,%rsp
22d19c: c3 retq
22d19d: 0f 1f 00 nopl (%rax)
.
I would like to chase down the C++ source code of this to see whether the
object at 0x1178f2(%rip) (344a80) is long enough that the differences
belong to it. That function is presumably generated by a call to
Q_INIT_RESOURCE(translations) somewhere:
.
qtbase-opensource-src-5.12.5+dfsg/src/corelib/global/qglobal.h:388:#define Q_INIT_RESOURCE(name) \
qtbase-opensource-src-5.12.5+dfsg/src/corelib/global/qglobal.h:389: do { extern int QT_MANGLE_NAMESPACE(qInitResources_ ## name) (); \
qtbase-opensource-src-5.12.5+dfsg/src/corelib/global/qglobal.h:390: QT_MANGLE_NAMESPACE(qInitResources_ ## name) (); } while (false)
.
However, I don't see anything relevant in uses of /\/ in
sqlitebrowser, and looking for «Q_INIT_RESOURCE(translations)» in
codesearch.debian.net has four matches in three packages, none of them
obviously relevant (kid3, flightgear, clementine).
 

Our notes about issues affecting packages are stored in notes.git and are targeted at packages in Debian in 'unstable/amd64' (unless they say otherwise).