Changeset a36c4aa in mainline for uspace/drv/bus/usb/vhc/conndev.c
- Timestamp:
- 2025-08-12T18:03:48Z (2 months ago)
- Branches:
- master
- Children:
- 113fb4f
- Parents:
- 2e9f284
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/bus/usb/vhc/conndev.c
r2e9f284 ra36c4aa 43 43 #include "vhcd.h" 44 44 45 #define PLUGGED_DEVICE_NAME_MAXLEN 256 46 45 47 static fibril_local uintptr_t plugged_device_handle = 0; 46 #define PLUGGED_DEVICE_NAME_MAXLEN 256 47 static fibril_local char plugged_device_name[PLUGGED_DEVICE_NAME_MAXLEN + 1] = "<unknown>"; 48 49 /* 50 * The explicit "initial-exec" TLS model attribute is a temporary workaround 51 * for a bug in GCC (observed in 14.2 and 15.2) that manifests in combination 52 * with the binutils 2.45 linker on MIPS. 53 * 54 * Without the attribute, the linker reports the following error: 55 * 56 * can't find matching LO16 reloc against `plugged_device_name' for 57 * R_MIPS_TLS_TPREL_HI16 at 0x238 in section 58 * `.text.default_connection_handler' 59 * 60 * The immediate cause is a missing R_MIPS_TLS_TPREL_LO16 relocation that 61 * matches the R_MIPS_TLS_TPREL_HI16 relocation. The root cause is probably 62 * an aggressive optimization in the compiler that removes the relocation 63 * despite being needed. 64 */ 65 static fibril_local char plugged_device_name[PLUGGED_DEVICE_NAME_MAXLEN + 1] 66 __attribute__((tls_model("initial-exec"))) = "<unknown>"; 48 67 49 68 /** Receive device name.
Note:
See TracChangeset
for help on using the changeset viewer.