DF-5747 / fix_build.log
# DF-5747 fix build: patch application + clean rebuild + disassembly proof
## patch -p3 < fix.diff
Hmm... Looks like a unified diff to me...
The text leading up to this was:
--------------------------
|--- a/sys/netbt/rfcomm_upper.c
|+++ b/sys/netbt/rfcomm_upper.c
--------------------------
Patching file rfcomm_upper.c using Plan A...
Hunk #1 succeeded at 104.
done
## clean relink (make clean; MAKEOBJDIRPREFIX=$PWD/obj; make)
cc -Wl,--build-id=sha1 -nostdlib -Wl,--hash-style=sysv -r -Wl,-d -o rfcomm_up5747.ko harness5747.o l2cap_stub.o rfcomm_session.o rfcomm_dlc.o rfcomm_upper.o
## objdump -d rfcomm_up5747.ko | awk '/<rfcomm_bind>:/,/ret/'
00000000000026e0 <rfcomm_bind>:
26e0: 66 83 7f 0c 00 cmpw $0x0,0xc(%rdi) <- dlc->rd_state != CLOSED ?
26e5: b8 16 00 00 00 mov $0x16,%eax <- EINVAL (22)
26ea: 75 11 jne 26fd <rfcomm_bind+0x1d> <- return EINVAL
26ec: 48 8b 56 08 mov 0x8(%rsi),%rdx
26f0: 48 8b 06 mov (%rsi),%rax
26f3: 48 89 57 1c mov %rdx,0x1c(%rdi) <- memcpy laddr (only when CLOSED)
26f7: 48 89 47 14 mov %rax,0x14(%rdi)
26fb: 31 c0 xor %eax,%eax <- return 0
26fd: c3 retq
NOTE: a first fix rebuild without 'make clean'/MAKEOBJDIRPREFIX linked a stale
rfcomm_upper.o from a second objdir and showed unchanged behaviour; the clean
rebuild above is the validated one (see fix_run.log: bind #2 -> 22).