Hi,

I've tried to build 12-stable r358547 for MIPS using mips-gcc9-9.2.0
(gcc 6.5.0 is available but out of date and probably will be removed
from ports tree in some future).
12-stable can't be compiled with such gcc version right now, so here
is a list of errors and patches taken from HEAD that helped me to do
build it.
This is in case someone wants to do the same at least:

- The first build error was:
jemalloc_malloc_io.c: In function '__je_malloc_vsnprintf':
jemalloc_malloc_io.c:383:2: error: case label value exceeds maximum
value for type [-Werror]
383 | case '?' | 0x80: \
| ^~~~
jemalloc_malloc_io.c:595:5: note: in expansion of macro 'GET_ARG_NUMERIC'
595 | GET_ARG_NUMERIC(val, 'p');
| ^~~~~~~~~~~~~~~
jemalloc_malloc_io.c:401:2: error: case label value exceeds maximum
value for type [-Werror]
401 | case 'j' | 0x80: \
| ^~~~
jemalloc_malloc_io.c:595:5: note: in expansion of macro 'GET_ARG_NUMERIC'
595 | GET_ARG_NUMERIC(val, 'p');
| ^~~~~~~~~~~~~~~
jemalloc_malloc_io.c:389:2: error: case label value exceeds maximum
value for type [-Werror]
389 | case 'l' | 0x80: \
| ^~~~
jemalloc_malloc_io.c:595:5: note: in expansion of macro 'GET_ARG_NUMERIC'
595 | GET_ARG_NUMERIC(val, 'p');
| ^~~~~~~~~~~~~~~
jemalloc_malloc_io.c:395:2: error: case label value exceeds maximum
value for type [-Werror]
395 | case 'q' | 0x80: \
| ^~~~
jemalloc_malloc_io.c:595:5: note: in expansion of macro 'GET_ARG_NUMERIC'
595 | GET_ARG_NUMERIC(val, 'p');
| ^~~~~~~~~~~~~~~
jemalloc_malloc_io.c:410:2: error: case label value exceeds maximum
value for type [-Werror]
410 | case 'z' | 0x80: \
| ^~~~
jemalloc_malloc_io.c:595:5: note: in expansion of macro 'GET_ARG_NUMERIC'
595 | GET_ARG_NUMERIC(val, 'p');
| ^~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
--- jemalloc_malloc_io.o ---
*** [jemalloc_malloc_io.o] Error code 1

make[4]: stopped in /usr/home/pavel.timofeev/mips/12/lib/libc
1 error


Fix from HEAD
https://svnweb.freebsd.org/base?view=revision&revision=355975


-  The second error was:
===> lib/libalias/modules/nbt (all)
/usr/home/pavel.timofeev/mips/12/sys/netinet/libalias/alias_nbt.c: In
function 'protohandler2out':
/usr/home/pavel.timofeev/mips/12/sys/netinet/libalias/alias_nbt.c:127:48:
error: taking address of packed member of 'struct ip' may result in an
unaligned pointer value [-Werror=address-of-packed-member]
127 | return (AliasHandleUdpNbtNS(la, pip, ah->lnk, &pip->ip_src, ah->sport,
| ^~~~~~~~~~~~
cc1: all warnings being treated as errors
--- alias_nbt.o ---
*** [alias_nbt.o] Error code 1

make[7]: stopped in /usr/home/pavel.timofeev/mips/12/lib/libalias/modules/nbt
1 error

make[7]: stopped in /usr/home/pavel.timofeev/mips/12/lib/libalias/modules/nbt
--- all_subdir_lib/libalias/modules/nbt ---
*** [all_subdir_lib/libalias/modules/nbt] Error code 2

make[6]: stopped in /usr/home/pavel.timofeev/mips/12/lib/libalias/modules
1 error

make[6]: stopped in /usr/home/pavel.timofeev/mips/12/lib/libalias/modules
--- all_subdir_lib/libalias/modules ---
*** [all_subdir_lib/libalias/modules] Error code 2

make[5]: stopped in /usr/home/pavel.timofeev/mips/12/lib/libalias
1 error

make[5]: stopped in /usr/home/pavel.timofeev/mips/12/lib/libalias
--- all_subdir_lib/libalias ---
*** [all_subdir_lib/libalias] Error code 2

make[4]: stopped in /usr/home/pavel.timofeev/mips/12/lib
1 error

make[4]: stopped in /usr/home/pavel.timofeev/mips/12/lib
--- lib__L ---
*** [lib__L] Error code 2

make[3]: stopped in /usr/home/pavel.timofeev/mips/12
A failure has been detected in another branch of the parallel make

make[4]: stopped in /usr/home/pavel.timofeev/mips/12/sbin/ipf/libipf
--- sbin/ipf/libipf__L ---
*** [sbin/ipf/libipf__L] Error code 2

make[3]: stopped in /usr/home/pavel.timofeev/mips/12
2 errors


Applying this commit from HEAD helped
https://svnweb.freebsd.org/base?view=revision&revision=355971


- Third error was:
===> lib/libdevdctl (all)
In file included from
/usr/home/pavel.timofeev/mips/12/lib/libdevdctl/consumer.cc:55:
/usr/home/pavel.timofeev/mips/12/lib/libdevdctl/event.h: In member
function 'DevdCtl::Guid DevdCtl::ZfsEvent::PoolGUID() const':
/usr/home/pavel.timofeev/mips/12/lib/libdevdctl/event.h:413:20: error:
implicitly-declared 'constexpr DevdCtl::Guid::Guid(const
DevdCtl::Guid&)' is deprecated [-Werror=deprecated-copy]
413 | return (m_poolGUID);
| ^
In file included from
/usr/home/pavel.timofeev/mips/12/lib/libdevdctl/consumer.cc:54:
/usr/home/pavel.timofeev/mips/12/lib/libdevdctl/guid.h:114:1: note:
because 'DevdCtl::Guid' has user-provided 'DevdCtl::Guid&
DevdCtl::Guid::operator=(const DevdCtl::Guid&)'
114 | Guid::operator=(const Guid &rhs)
| ^~~~
In file included from
/usr/home/pavel.timofeev/mips/12/lib/libdevdctl/consumer.cc:55:
/usr/home/pavel.timofeev/mips/12/lib/libdevdctl/event.h: In member
function 'DevdCtl::Guid DevdCtl::ZfsEvent::VdevGUID() const':
/usr/home/pavel.timofeev/mips/12/lib/libdevdctl/event.h:419:20: error:
implicitly-declared 'constexpr DevdCtl::Guid::Guid(const
DevdCtl::Guid&)' is deprecated [-Werror=deprecated-copy]
419 | return (m_vdevGUID);
| ^
In file included from
/usr/home/pavel.timofeev/mips/12/lib/libdevdctl/consumer.cc:54:
/usr/home/pavel.timofeev/mips/12/lib/libdevdctl/guid.h:114:1: note:
because 'DevdCtl::Guid' has user-provided 'DevdCtl::Guid&
DevdCtl::Guid::operator=(const DevdCtl::Guid&)'
114 | Guid::operator=(const Guid &rhs)
| ^~~~
In file included from
/usr/home/pavel.timofeev/mips/obj/mips_ap/usr/home/pavel.timofeev/mips/12/mips.mips/tmp/usr/include/c++/v1/memory:667,
from 
/usr/home/pavel.timofeev/mips/obj/mips_ap/usr/home/pavel.timofeev/mips/12/mips.mips/tmp/usr/include/c++/v1/list:183,
from /usr/home/pavel.timofeev/mips/12/lib/libdevdctl/consumer.cc:50:
/usr/home/pavel.timofeev/mips/obj/mips_ap/usr/home/pavel.timofeev/mips/12/mips.mips/tmp/usr/include/c++/v1/atomic:
At global scope:
/usr/home/pavel.timofeev/mips/obj/mips_ap/usr/home/pavel.timofeev/mips/12/mips.mips/tmp/usr/include/c++/v1/atomic:726:6:
warning: always_inline function might not be inlinable [-Wattributes]
726 | void __cxx_atomic_store(__cxx_atomic_base_impl<_Tp>* __a, _Tp __val,
| ^~~~~~~~~~~~~~~~~~
/usr/home/pavel.timofeev/mips/obj/mips_ap/usr/home/pavel.timofeev/mips/12/mips.mips/tmp/usr/include/c++/v1/atomic:718:6:
warning: always_inline function might not be inlinable [-Wattributes]
718 | void __cxx_atomic_store(volatile __cxx_atomic_base_impl<_Tp>*
__a, _Tp __val,
| ^~~~~~~~~~~~~~~~~~
/usr/home/pavel.timofeev/mips/obj/mips_ap/usr/home/pavel.timofeev/mips/12/mips.mips/tmp/usr/include/c++/v1/atomic:763:5:
warning: always_inline function might not be inlinable [-Wattributes]
763 | _Tp __cxx_atomic_exchange(__cxx_atomic_base_impl<_Tp>* __a, _Tp __value,
| ^~~~~~~~~~~~~~~~~~~~~
/usr/home/pavel.timofeev/mips/obj/mips_ap/usr/home/pavel.timofeev/mips/12/mips.mips/tmp/usr/include/c++/v1/atomic:753:5:
warning: always_inline function might not be inlinable [-Wattributes]
753 | _Tp __cxx_atomic_exchange(volatile __cxx_atomic_base_impl<_Tp>* __a,
| ^~~~~~~~~~~~~~~~~~~~~
cc1plus: all warnings being treated as errors
--- consumer.o ---
*** [consumer.o] Error code 1

make[5]: stopped in /usr/home/pavel.timofeev/mips/12/lib/libdevdctl
1 error

make[5]: stopped in /usr/home/pavel.timofeev/mips/12/lib/libdevdctl
--- all_subdir_lib/libdevdctl ---
*** [all_subdir_lib/libdevdctl] Error code 2


The fix is from HEAD
https://svnweb.freebsd.org/base?view=revision&revision=355974


- Fourth error was:
/usr/home/pavel.timofeev/mips/12/sbin/camcontrol/camcontrol.c: In
function 'ataidentify':
/usr/home/pavel.timofeev/mips/12/sbin/camcontrol/camcontrol.c:2377:45:
error: converting a packed 'struct ata_params' pointer (alignment 1)
to a 'uint16_t' {aka 'short unsigned int'} pointer (alignment 2) may
re
sult in an unaligned pointer value [-Werror=address-of-packed-member]
2377 | dump_data((void*)ident_buf, sizeof(struct ata_params));
| ^~~~~~~~~~
In file included from /usr/home/pavel.timofeev/mips/12/sys/cam/ata/ata_all.h:34,
from /usr/home/pavel.timofeev/mips/12/sys/cam/cam_ccb.h:45,
from /usr/home/pavel.timofeev/mips/12/sbin/camcontrol/camcontrol.c:56:
/usr/home/pavel.timofeev/mips/12/sys/sys/ata.h:37:8: note: defined here
37 | struct ata_params {
| ^~~~~~~~~~
/usr/home/pavel.timofeev/mips/12/sbin/camcontrol/camcontrol.c: In
function 'atasecurity_notify':
/usr/home/pavel.timofeev/mips/12/sbin/camcontrol/camcontrol.c:2486:38:
warning: argument to 'sizeof' in 'strncpy' call is the same expression
as the source; did you mean to use the size of the destination? [-Wsi
zeof-pointer-memaccess]
2486 | strncpy(pass, pwd->password, sizeof(pwd->password));
| ^
cc1: all warnings being treated as errors
--- camcontrol.o ---
*** [camcontrol.o] Error code 1

make[6]: stopped in /usr/home/pavel.timofeev/mips/12/sbin/camcontrol
1 error

make[6]: stopped in /usr/home/pavel.timofeev/mips/12/sbin/camcontrol
--- camcontrol_make ---
*** [camcontrol_make] Error code 2


Fix from HEAD https://svnweb.freebsd.org/base?view=revision&revision=355972


- Fifth error:
===> usr.sbin/pw (all) [35/1784]
/usr/home/pavel.timofeev/mips/12/usr.sbin/pw/pw.c:30:19: warning:
'rcsid' defined but not used [-Wunused-const-variable=]
30 | static const char rcsid[] =
| ^~~~~
/usr/home/pavel.timofeev/mips/12/usr.sbin/pw/pw_conf.c:30:19: warning:
'rcsid' defined but not used [-Wunused-const-variable=]
30 | static const char rcsid[] =
| ^~~~~
/usr/home/pavel.timofeev/mips/12/usr.sbin/pw/pw_conf.c: In function
'write_userconfig':
/usr/home/pavel.timofeev/mips/12/usr.sbin/pw/pw_conf.c:420:38:
warning: '/pw.conf' directive output may be truncated writing 8 bytes
into a region of size between 1 and 1024 [-Wformat-truncation=]
420 | snprintf(cfgfile, sizeof(cfgfile), "%s/" _PW_CONF,
| ^~~~~
/usr/home/pavel.timofeev/mips/12/usr.sbin/pw/pw_conf.c:420:41: note:
format string is defined here
420 | snprintf(cfgfile, sizeof(cfgfile), "%s/" _PW_CONF,
/usr/home/pavel.timofeev/mips/12/usr.sbin/pw/pw_conf.c:420:3: note:
'snprintf' output between 9 and 1032 bytes into a destination of size
1024
420 | snprintf(cfgfile, sizeof(cfgfile), "%s/" _PW_CONF,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
421 | conf.etcpath);
| ~~~~~~~~~~~~~
/usr/home/pavel.timofeev/mips/12/usr.sbin/pw/pw_user.c: In function
'print_user':
/usr/home/pavel.timofeev/mips/12/usr.sbin/pw/pw_user.c:590:2: error:
this 'if' clause does not guard... [-Werror=misleading-indentation]
590 | if (pwd->pw_expire > (time_t)0 && (tptr =
localtime(&pwd->pw_expire)) != NULL)
| ^~
/usr/home/pavel.timofeev/mips/12/usr.sbin/pw/pw_user.c:592:3: note:
...this statement, but the latter is misleadingly indented as if it
were guarded by the 'if'
592 | if (pwd->pw_change > (time_t)0 && (tptr =
localtime(&pwd->pw_change)) != NULL)
| ^~
At top level:
/usr/home/pavel.timofeev/mips/12/usr.sbin/pw/pw_user.c:31:19: warning:
'rcsid' defined but not used [-Wunused-const-variable=]
31 | static const char rcsid[] =
| ^~~~~
/usr/home/pavel.timofeev/mips/12/contrib/bmake/dir.c: In function
'Dir_FindHereOrAbove':
/usr/home/pavel.timofeev/mips/12/contrib/bmake/dir.c:1455:36: warning:
'snprintf' output may be truncated before the last format character
[-Wformat-truncation=]
1455 | snprintf(try, sizeof(try), "%s/%s", dirbase, search_path);
| ^
/usr/home/pavel.timofeev/mips/12/contrib/bmake/dir.c:1455:3: note:
'snprintf' output 2 or more bytes (assuming 1026) into a destination
of size 1025
1455 | snprintf(try, sizeof(try), "%s/%s", dirbase, search_path);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
--- pw_user.o ---
*** [pw_user.o] Error code 1

make[4]: stopped in /usr/home/pavel.timofeev/mips/12/usr.sbin/pw
1 error


The fix from HEAD https://svnweb.freebsd.org/base?view=revision&revision=348282


- Sixth error
/usr/home/pavel.timofeev/mips/12/sys/dev/ath/ath_hal/ar5210/ar5210_xmit.c:
In function 'ar5210GetTxDescLinkPtr':
/usr/home/pavel.timofeev/mips/12/sys/dev/ath/ath_hal/ar5210/ar5210_xmit.c:671:13:
error: taking address of packed member of 'struct ar5210_desc' may
result in an unaligned pointer value [-Werror=address-of-packe
d-member]
671 | *linkptr = &ads->ds_link;
| ^~~~~~~~~~~~~
cc1: all warnings being treated as errors
--- ar5210_xmit.o ---
*** [ar5210_xmit.o] Error code 1

make[4]: stopped in /usr/home/pavel.timofeev/mips/12/sys/modules/ath_hal_ar5210
1 error


Fix from HEAD https://svnweb.freebsd.org/base?view=revision&revision=355970





I do not know the policy about GCC architectures, but it would be
great to make them buildable with GCC version up to date.
_______________________________________________
freebsd-stable@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"

Reply via email to