Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Buildroot 2018.08 and GCC 9.2.0 build fails with "__EI___errno_location' specifies less restrictive attributes than its target" #97

Open
cirosantilli opened this issue Oct 30, 2019 · 1 comment

Comments

@cirosantilli
Copy link
Owner

cirosantilli commented Oct 30, 2019

At LKMC 5cdbd57

cd submodules/gcc
git checkout gcc-9_2_0-release
cd ../..
./build-buildroot -aA --buildroot-build-id gcc-9-2 -- toolchain

outcome after several minutes:

In file included from <command-line>:                                                                                                                                                                                                                                           
./../include/libc-symbols.h:471:26: error: '__EI___errno_location' specifies less restrictive attributes than its target '__errno_location': 'const', 'nothrow' [-Werror=missing-attributes]                                                                                    
  471 |   extern __typeof (name) __EI_##name \                                                                                                                                                                                                                                  
      |                          ^~~~~                                                                                                                                                                                                                                          
./../include/libc-symbols.h:475:29: note: in expansion of macro '__hidden_ver1'                          
  475 | #  define hidden_def(name)  __hidden_ver1(__GI_##name, name, name);                                                                                                                                                                                                     
      |                             ^~~~~~~~~~~~~                                                                                                                                                                                                                               
./../include/libc-symbols.h:539:32: note: in expansion of macro 'hidden_def'                                                                                                                                                                                                    
  539 | # define libc_hidden_def(name) hidden_def (name)                                                                                                                                                                                                                        
      |                                ^~~~~~~~~~                                                                                                                                                                                                                               
errno-loc.c:28:1: note: in expansion of macro 'libc_hidden_def'                                                                                                                                                                                                                 
   28 | libc_hidden_def (__errno_location)                                                                                                                                                                                                                                      
      | ^~~~~~~~~~~~~~~                                                                          
errno-loc.c:24:1: note: '__EI___errno_location' target declared here                                                                                                                                                                                                            
   24 | __errno_location (void)                                                                                                                                                                                                                                                 
      | ^~~~~~~~~~~~~~~~                                                                                                                                                                                                                                                        
cc1: all warnings being treated as errors

TODO: should have added --no-all.

@realazizk
Copy link

when building with a newer gcc use --disable-werror as a parameter to configure

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants