Summary: | procps: ошибка сборки с GCC 13 | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | Sisyphus | Reporter: | Alexey Sheplyakov <asheplyakov> | ||||||
Component: | procps | Assignee: | Mikhail Efremov <sem> | ||||||
Status: | NEW --- | QA Contact: | qa-sisyphus | ||||||
Severity: | normal | ||||||||
Priority: | P5 | CC: | asheplyakov, iv, ldv, nir, sem, sin | ||||||
Version: | unstable | ||||||||
Hardware: | all | ||||||||
OS: | Linux | ||||||||
Attachments: |
|
Description
Alexey Sheplyakov
2023-04-21 14:31:47 MSK
Возможно связано с https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95755 (но это не точно) 5628 if (ALTCHKw) { 5629 char tmp[SMLBUFSIZ]; 5630 STRLCPY(tmp, ioline(fmtmk(N_fmt(NAME_windows_fmt), w->rc.winname))); 5631 if (tmp[0] && tmp[0] != kbd_ESC) win_names(w, tmp); 5632 } 5633 break; $ grep -r -n -E 'define\s+SMLBUFSIZ\b' top/top.h:139:#define SMLBUFSIZ 128 4467 static void win_names (WIN_t *q, const char *name) { 4468 /* note: sprintf/snprintf results are "undefined" when src==dst, 4469 according to C99 & POSIX.1-2001 (thanks adc) */ 4470 if (q->rc.winname != name) 4471 snprintf(q->rc.winname, sizeof(q->rc.winname), "%s", name); 4472 snprintf(q->grpname, sizeof(q->grpname), "%d:%s", q->winnum, name); 4473 } // end: win_names $ grep -e 'winname' 'top/top.h' #define WINNAMSIZ 4 /* size of RCW_t winname buf (incl '\0') */ char winname [WINNAMSIZ], // name for the window, user changeable На первый взгляд это действительно попытка напечатать до 128 байт в буфер размером 4 байта Created attachment 12996 [details]
патч
Created attachment 13009 [details] disable_trunc_error.patch (In reply to Alexey Sheplyakov from comment #2) > На первый взгляд это действительно попытка напечатать до 128 байт в буфер > размером 4 байта Да, похоже апстрим считает, что truncation здесь - это нормально. Думаю, можно просто выключить -Werror в этом месте. Проверьте, пожалуйста, работает ди такой вариант. Я не вижу такой ошибки с gcc13. Может проблема возникает только на конкретной архитектуре? |