vmlemon / Orion

Next-generation, L4Ka::Pistachio-based operating system
7 stars 0 forks source link

Porting ALAC/ValidateMP4 #25

Open vmlemon opened 5 years ago

vmlemon commented 5 years ago

To help firm up the compatibility of JUEL, for multimedia applications, it may be interesting to port Apple's ALAC, and ValidateMP4 projects to Orion.

This enhancement is just to track the expansion of our UNIX/POSIX API surface, and doesn't necessarily block the progress of #7.

So far, these projects don't fully-build, since we still lack some functionality in liblinux, but we now have atoi(), and some new headers (e.g. cstring, and xlocale/*), which should improve compatibility, in other areas:

===> Linking ./syslaunch
ld -e_start -N -L../../lib -L/usr/lib/gcc/x86_64-linux-gnu/8 -nostdlib  -melf_x86_64  -Ttext=01000000 crt0-amd64.o syslaunch.o ValidateMP4/src/ValidateAtomList.o ValidateMP4/src/ValidateMP4.o ValidateMP4/src/ValidateHints.o ValidateMP4/src/ValidateBits.o ValidateMP4/src/ValidateAtoms.o ValidateMP4/src/ValidateFileIO.o ValidateMP4/src/ValidateBitStreams.o    -ll4 -lio  -llinux  -lgcc -o syslaunch
ld: ValidateMP4/src/ValidateMP4.o: in function `main':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:93: multiple definition of `main'; syslaunch.o:/home/tyson/Orion/user/apps/system/syslaunch.cc:95: first defined here
ld: ValidateMP4/src/ValidateHints.o: in function `Chars_To_Num':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateHints.c:1997: undefined reference to `sscanf'
ld: ValidateMP4/src/ValidateHints.o: in function `compare_nocase':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateHints.c:2107: undefined reference to `tolower'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateHints.c:2107: undefined reference to `tolower'
ld: ValidateMP4/src/ValidateHints.o: in function `Validate_Hint_Track':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateHints.c:306: undefined reference to `malloc'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateHints.c:389: undefined reference to `free'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateHints.c:368: undefined reference to `malloc'
ld: ValidateMP4/src/ValidateHints.o: in function `get_track_sample':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateHints.c:2236: undefined reference to `malloc'
ld: ValidateMP4/src/ValidateHints.o: in function `Validate_Data_Entry':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateHints.c:717: undefined reference to `free'
ld: ValidateMP4/src/ValidateHints.o: in function `Validate_Hint_Track':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateHints.c:380: undefined reference to `free'
ld: ValidateMP4/src/ValidateHints.o: in function `Validate_Data_Entry':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateHints.c:717: undefined reference to `free'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateHints.c:717: undefined reference to `free'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateHints.c:717: undefined reference to `free'
ld: ValidateMP4/src/ValidateHints.o:/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateHints.c:717: more undefined references to `free' follow
ld: ValidateMP4/src/ValidateHints.o: in function `Validate_SDP_Attribute_Line':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateHints.c:1365: undefined reference to `strchr'
ld: ValidateMP4/src/ValidateHints.o: in function `Validate_rtpmap_attribute':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateHints.c:1656: undefined reference to `strchr'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateHints.c:1674: undefined reference to `strchr'
ld: ValidateMP4/src/ValidateHints.o: in function `Validate_fmtp_attribute':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateHints.c:1409: undefined reference to `strchr'
ld: ValidateMP4/src/ValidateHints.o: in function `get_next_fmtp_param':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateHints.c:2144: undefined reference to `strchr'
ld: ValidateMP4/src/ValidateHints.o:/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateHints.c:2149: more undefined references to `strchr' follow
ld: ValidateMP4/src/ValidateHints.o: in function `get_next_fmtp_param':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateHints.c:2158: undefined reference to `malloc'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateHints.c:2164: undefined reference to `malloc'
ld: ValidateMP4/src/ValidateHints.o: in function `Validate_fmtp_attribute':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateHints.c:1539: undefined reference to `free'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateHints.c:1543: undefined reference to `free'
ld: ValidateMP4/src/ValidateHints.o: in function `get_next_fmtp_param':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateHints.c:2158: undefined reference to `malloc'
ld: ValidateMP4/src/ValidateHints.o: in function `Validate_isma_attribute':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateHints.c:1754: undefined reference to `sscanf'
ld: ValidateMP4/src/ValidateHints.o: in function `Validate_fmtp_attribute':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateHints.c:1452: undefined reference to `strcpy'
ld: ValidateMP4/src/ValidateHints.o: in function `get_next_fmtp_param':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateHints.c:2177: undefined reference to `free'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateHints.c:2151: undefined reference to `strlen'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateHints.c:2146: undefined reference to `strlen'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateHints.c:2168: undefined reference to `malloc'
ld: ValidateMP4/src/ValidateHints.o: in function `Validate_iod_attribute':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateHints.c:1712: undefined reference to `strlen'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateHints.c:1734: undefined reference to `malloc'
ld: ValidateMP4/src/ValidateHints.o: in function `Validate_rtpmap_attribute':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateHints.c:1676: undefined reference to `strlen'
ld: ValidateMP4/src/ValidateHints.o: in function `Chars_To_hexNum':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateHints.c:2029: undefined reference to `sscanf'
ld: ValidateMP4/src/ValidateHints.o: in function `Validate_fmtp_attribute':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateHints.c:1500: undefined reference to `strlen'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateHints.c:1506: undefined reference to `malloc'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateHints.c:1516: undefined reference to `free'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateHints.c:1498: undefined reference to `strchr'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateHints.c:1631: undefined reference to `free'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateHints.c:1635: undefined reference to `free'
ld: ValidateMP4/src/ValidateHints.o: in function `Validate_Track_SDP':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateHints.c:1227: undefined reference to `malloc'
ld: ValidateMP4/src/ValidateHints.o: in function `Validate_SDP_Media_Line':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateHints.c:1294: undefined reference to `strchr'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateHints.c:1303: undefined reference to `strchr'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateHints.c:1323: undefined reference to `strchr'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateHints.c:1335: undefined reference to `strlen'
ld: ValidateMP4/src/ValidateHints.o: in function `Validate_hnti_Atom':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateHints.c:1146: undefined reference to `malloc'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateHints.c:1169: undefined reference to `malloc'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateHints.c:1190: undefined reference to `free'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateHints.c:1193: undefined reference to `free'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateHints.c:1190: undefined reference to `free'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateHints.c:1190: undefined reference to `free'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateHints.c:1190: undefined reference to `free'
ld: ValidateMP4/src/ValidateHints.o:/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateHints.c:1190: more undefined references to `free' follow
ld: ValidateMP4/src/ValidateHints.o: in function `Validate_Movie_SDP':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateHints.c:1052: undefined reference to `malloc'
ld: ValidateMP4/src/ValidateMP4.o: in function `keymatch':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:57: undefined reference to `isupper'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:58: undefined reference to `tolower'
ld: ValidateMP4/src/ValidateMP4.o: in function `atomprintnotab':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:387: undefined reference to `__stdoutp'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:387: undefined reference to `vfprintf'
ld: ValidateMP4/src/ValidateMP4.o: in function `atomprint':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:401: undefined reference to `__stdoutp'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:401: undefined reference to `fwrite'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:403: undefined reference to `__stdoutp'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:403: undefined reference to `vfprintf'
ld: ValidateMP4/src/ValidateMP4.o: in function `atomprintdetailed':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:445: undefined reference to `__stdoutp'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:445: undefined reference to `fwrite'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:447: undefined reference to `__stdoutp'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:447: undefined reference to `vfprintf'
ld: ValidateMP4/src/ValidateMP4.o: in function `sampleprint':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:461: undefined reference to `__stdoutp'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:461: undefined reference to `fwrite'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:463: undefined reference to `__stdoutp'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:463: undefined reference to `vfprintf'
ld: ValidateMP4/src/ValidateMP4.o: in function `sampleprintnotab':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:475: undefined reference to `__stdoutp'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:475: undefined reference to `vfprintf'
ld: ValidateMP4/src/ValidateMP4.o: in function `sampleprinthexandasciidata':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:528: undefined reference to `isprint'
ld: ValidateMP4/src/ValidateMP4.o: in function `warnprint':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:574: undefined reference to `__stderrp'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:574: undefined reference to `vfprintf'
ld: ValidateMP4/src/ValidateMP4.o: in function `errprint':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:585: undefined reference to `__stderrp'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:585: undefined reference to `fprintf'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:586: undefined reference to `__stderrp'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:586: undefined reference to `vfprintf'
ld: ValidateMP4/src/ValidateMP4.o: in function `my_stricmp':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:593: undefined reference to `tolower'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:593: undefined reference to `tolower'
ld: ValidateMP4/src/ValidateMP4.o: in function `int64toxstr':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:635: undefined reference to `sprintf'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:637: undefined reference to `sprintf'
ld: ValidateMP4/src/ValidateMP4.o: in function `int64toxstr_r':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:649: undefined reference to `sprintf'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:651: undefined reference to `sprintf'
ld: ValidateMP4/src/ValidateMP4.o: in function `int64todstr':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:661: undefined reference to `sprintf'
ld: ValidateMP4/src/ValidateMP4.o:/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:668: more undefined references to `sprintf' follow
ld: ValidateMP4/src/ValidateMP4.o: in function `addEscapedChar':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:821: undefined reference to `strcat'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:821: undefined reference to `strcat'
ld: ValidateMP4/src/ValidateMP4.o: in function `addAtomToPath':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:826: undefined reference to `strcpy'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:833: undefined reference to `strlen'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:828: undefined reference to `strlen'
ld: ValidateMP4/src/ValidateMP4.o: in function `ValidateElementaryVideoStream':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:887: undefined reference to `malloc'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:870: undefined reference to `__stderrp'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:870: undefined reference to `fwrite'
ld: ValidateMP4/src/ValidateMP4.o: in function `addAtomToPath':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:834: undefined reference to `sprintf'
ld: ValidateMP4/src/ValidateMP4.o: in function `restoreAtomPath':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:839: undefined reference to `strcpy'
ld: ValidateMP4/src/ValidateMP4.o: in function `main':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:144: undefined reference to `strcpy'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:152: undefined reference to `strrchr'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:265: undefined reference to `__stdoutp'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:265: undefined reference to `fprintf'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:269: undefined reference to `fseek'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:271: undefined reference to `ftell'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:289: undefined reference to `__stdoutp'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:289: undefined reference to `fprintf'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:324: undefined reference to `fclose'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:170: undefined reference to `strcpy'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:172: undefined reference to `strcpy'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:176: undefined reference to `strcpy'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:254: undefined reference to `__stderrp'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:254: undefined reference to `fwrite'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:297: undefined reference to `__stderrp'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:297: undefined reference to `fprintf'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:299: undefined reference to `__stderrp'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:299: undefined reference to `fwrite'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:300: undefined reference to `__stderrp'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:300: undefined reference to `fwrite'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:301: undefined reference to `__stderrp'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:301: undefined reference to `fwrite'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:302: undefined reference to `__stderrp'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:302: undefined reference to `fwrite'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:303: undefined reference to `__stderrp'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:303: undefined reference to `fwrite'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:304: undefined reference to `__stderrp'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:304: undefined reference to `fwrite'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:305: undefined reference to `__stderrp'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:305: undefined reference to `fwrite'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:306: undefined reference to `__stderrp'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:306: undefined reference to `fwrite'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:307: undefined reference to `__stderrp'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:307: undefined reference to `fwrite'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:308: undefined reference to `__stderrp'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:308: undefined reference to `fwrite'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:309: undefined reference to `__stderrp'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:309: undefined reference to `fwrite'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:310: undefined reference to `__stderrp'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:310: undefined reference to `fwrite'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:311: undefined reference to `__stderrp'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:311: undefined reference to `fwrite'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:312: undefined reference to `__stderrp'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:312: undefined reference to `fwrite'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:313: undefined reference to `__stderrp'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:313: undefined reference to `fwrite'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:314: undefined reference to `__stderrp'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:314: undefined reference to `fwrite'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:315: undefined reference to `__stderrp'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:315: undefined reference to `fwrite'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:317: undefined reference to `__stderrp'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:317: undefined reference to `fwrite'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:174: undefined reference to `strcpy'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:140: undefined reference to `__stderrp'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:140: undefined reference to `fprintf'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:178: undefined reference to `strcpy'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:220: undefined reference to `strcpy'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:221: undefined reference to `strtok'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:239: undefined reference to `strtok'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:209: undefined reference to `__stderrp'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:209: undefined reference to `fwrite'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:199: undefined reference to `__stderrp'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:199: undefined reference to `fwrite'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:170: undefined reference to `__stderrp'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:170: undefined reference to `fwrite'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:170: undefined reference to `__stderrp'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:170: undefined reference to `fwrite'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:172: undefined reference to `__stderrp'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:172: undefined reference to `fwrite'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:172: undefined reference to `__stderrp'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:172: undefined reference to `fwrite'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:174: undefined reference to `__stderrp'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:174: undefined reference to `fwrite'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:174: undefined reference to `__stderrp'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:174: undefined reference to `fwrite'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:178: undefined reference to `__stderrp'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:178: undefined reference to `fwrite'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:236: undefined reference to `__stderrp'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:236: undefined reference to `fwrite'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:176: undefined reference to `__stderrp'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:176: undefined reference to `fwrite'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:176: undefined reference to `__stderrp'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:176: undefined reference to `fwrite'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:183: undefined reference to `__stderrp'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:183: undefined reference to `fprintf'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:178: undefined reference to `__stderrp'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:178: undefined reference to `fwrite'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:261: undefined reference to `__stderrp'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateMP4.c:261: undefined reference to `fprintf'
ld: ValidateMP4/src/ValidateAtomList.o: in function `Validate_rtp_Atom':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateAtomList.c:1483: undefined reference to `malloc'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateAtomList.c:1496: undefined reference to `malloc'
ld: ValidateMP4/src/ValidateAtomList.o: in function `FindAtomOffsets':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateAtomList.c:54: undefined reference to `calloc'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateAtomList.c:92: undefined reference to `realloc'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateAtomList.c:100: undefined reference to `free'
ld: ValidateMP4/src/ValidateAtomList.o: in function `ValidateAtomOfType':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateAtomList.c:881: undefined reference to `__stdoutp'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateAtomList.c:881: undefined reference to `fprintf'
ld: ValidateMP4/src/ValidateAtomList.o: in function `Validate_trak_Atom':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateAtomList.c:580: undefined reference to `malloc'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateAtomList.c:586: undefined reference to `free'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateAtomList.c:611: undefined reference to `malloc'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateAtomList.c:617: undefined reference to `free'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateAtomList.c:672: undefined reference to `malloc'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateAtomList.c:678: undefined reference to `free'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateAtomList.c:642: undefined reference to `malloc'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateAtomList.c:648: undefined reference to `free'
ld: ValidateMP4/src/ValidateAtomList.o: in function `Validate_moov_Atom':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateAtomList.c:1033: undefined reference to `calloc'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateAtomList.c:1190: undefined reference to `calloc'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateAtomList.c:1179: undefined reference to `calloc'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateAtomList.c:1190: undefined reference to `calloc'
ld: ValidateMP4/src/ValidateAtomList.o: in function `dispose_mir':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateAtomList.c:1337: undefined reference to `free'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateAtomList.c:1337: undefined reference to `free'
ld: ValidateMP4/src/ValidateAtoms.o: in function `Validate_iods_Atom':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateAtoms.c:92: undefined reference to `free'
ld: ValidateMP4/src/ValidateAtoms.o: in function `Validate_mdia_hdlr_Atom':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateAtoms.c:499: undefined reference to `__stdoutp'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateAtoms.c:499: undefined reference to `fprintf'
ld: ValidateMP4/src/ValidateAtoms.o: in function `Validate_hdlr_Atom':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateAtoms.c:553: undefined reference to `__stdoutp'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateAtoms.c:553: undefined reference to `fprintf'
ld: ValidateMP4/src/ValidateAtoms.o: in function `Validate_stts_Atom':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateAtoms.c:958: undefined reference to `malloc'
ld: ValidateMP4/src/ValidateAtoms.o: in function `Validate_ctts_Atom':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateAtoms.c:1043: undefined reference to `malloc'
ld: ValidateMP4/src/ValidateAtoms.o: in function `Validate_stsz_Atom':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateAtoms.c:1106: undefined reference to `malloc'
ld: ValidateMP4/src/ValidateAtoms.o: in function `Validate_stz2_Atom':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateAtoms.c:1166: undefined reference to `malloc'
ld: ValidateMP4/src/ValidateAtoms.o: in function `Validate_stsc_Atom':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateAtoms.c:1246: undefined reference to `malloc'
ld: ValidateMP4/src/ValidateAtoms.o:/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateAtoms.c:1309: more undefined references to `malloc' follow
ld: ValidateMP4/src/ValidateAtoms.o: in function `Validate_stco_Atom':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateAtoms.c:1344: undefined reference to `free'
ld: ValidateMP4/src/ValidateAtoms.o: in function `Validate_co64_Atom':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateAtoms.c:1371: undefined reference to `malloc'
ld: ValidateMP4/src/ValidateAtoms.o: in function `Validate_stss_Atom':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateAtoms.c:1428: undefined reference to `malloc'
ld: ValidateMP4/src/ValidateAtoms.o: in function `Validate_stsh_Atom':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateAtoms.c:1482: undefined reference to `malloc'
ld: ValidateMP4/src/ValidateAtoms.o: in function `Validate_stdp_Atom':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateAtoms.c:1546: undefined reference to `malloc'
ld: ValidateMP4/src/ValidateAtoms.o: in function `Validate_sdtp_Atom':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateAtoms.c:1619: undefined reference to `malloc'
ld: ValidateMP4/src/ValidateAtoms.o:/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateAtoms.c:1677: more undefined references to `malloc' follow
ld: ValidateMP4/src/ValidateAtoms.o: in function `Validate_ESDAtom':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateAtoms.c:2463: undefined reference to `free'
ld: ValidateMP4/src/ValidateAtoms.o: in function `Validate_avcC_Atom':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateAtoms.c:2585: undefined reference to `calloc'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateAtoms.c:2593: undefined reference to `free'
ld: ValidateMP4/src/ValidateAtoms.o: in function `Validate_m4ds_Atom':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateAtoms.c:2669: undefined reference to `free'
ld: ValidateMP4/src/ValidateAtoms.o: in function `Validate_stsd_Atom':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateAtoms.c:1927: undefined reference to `calloc'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateAtoms.c:1928: undefined reference to `calloc'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateAtoms.c:1965: undefined reference to `malloc'
ld: ValidateMP4/src/ValidateAtoms.o: in function `Validate_cprt_Atom':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateAtoms.c:2707: undefined reference to `calloc'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateAtoms.c:2739: undefined reference to `calloc'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateAtoms.c:2752: undefined reference to `free'
ld: ValidateMP4/src/ValidateAtoms.o: in function `Validate_loci_Atom':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateAtoms.c:2804: undefined reference to `calloc'
ld: ValidateMP4/src/ValidateFileIO.o: in function `GetFileData':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateFileIO.c:38: undefined reference to `fseek'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateFileIO.c:41: undefined reference to `fread'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateFileIO.c:33: undefined reference to `__stderrp'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateFileIO.c:33: undefined reference to `fwrite'
ld: ValidateMP4/src/ValidateFileIO.o: in function `GetFileCString':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateFileIO.c:112: undefined reference to `malloc'
ld: ValidateMP4/src/ValidateFileIO.o: in function `GetFileBitStreamDataToEndOfAtom':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateFileIO.c:187: undefined reference to `calloc'
ld: ValidateMP4/src/ValidateFileIO.o: in function `GetFileStartCode':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateFileIO.c:315: undefined reference to `fseek'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateFileIO.c:318: undefined reference to `fgetc'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateFileIO.c:320: undefined reference to `fgetc'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateFileIO.c:322: undefined reference to `fgetc'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateFileIO.c:324: undefined reference to `fgetc'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateFileIO.c:328: undefined reference to `fgetc'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateFileIO.c:310: undefined reference to `__stderrp'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateFileIO.c:310: undefined reference to `fwrite'
ld: ValidateMP4/src/ValidateBitStreams.o: in function `CheckValuesInContext':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateBitStreams.c:2920: undefined reference to `sprintf'
ld: ValidateMP4/src/ValidateBitStreams.o: in function `Validate_ES_Descriptor':
/home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateBitStreams.c:496: undefined reference to `strncmp'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateBitStreams.c:500: undefined reference to `strlen'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateBitStreams.c:504: undefined reference to `malloc'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateBitStreams.c:514: undefined reference to `strncmp'
ld: /home/tyson/Orion/user/apps/system/ValidateMP4/src/ValidateBitStreams.c:520: undefined reference to `free'
ld: ../../lib/liblinux.a(atoi.o): in function `atoi':
/home/tyson/Orion/user/lib/linux/atoi.c:49: undefined reference to `strtol'
ld: ../../lib/liblinux.a(atoi.o): in function `atoi_l':
/home/tyson/Orion/user/lib/linux/atoi.c:55: undefined reference to `strtol_l'
ld: ../../lib/liblinux.a(fopen.o): in function `fopen':
/home/tyson/Orion/user/lib/linux/fopen.c:62: undefined reference to `__sfp'
ld: /home/tyson/Orion/user/lib/linux/fopen.c:64: undefined reference to `_open'
ld: /home/tyson/Orion/user/lib/linux/fopen.c:77: undefined reference to `_close'
ld: /home/tyson/Orion/user/lib/linux/fopen.c:78: undefined reference to `__error'
ld: ../../lib/liblinux.a(flags.o): in function `__sflags':
/home/tyson/Orion/user/lib/linux/flags.c:113: undefined reference to `__error'
make: *** [../../Mk/l4.prog.mk:54: syslaunch] Error 1
vmlemon commented 5 years ago

The C parts of ALAC will supposedly compile, and link:

===> Making dependencies in .
===> crt0-amd64.S
gcc -I../../include -I../.. -I/usr/lib/gcc/x86_64-linux-gnu/8/include   -nostdinc -g -O2 -m64 -mno-red-zone   -fno-stack-protector -lssp -O2 -g -Wall -Wshadow   -fno-stack-protector  -Wconversion -c crt0-amd64.S -o crt0-amd64.o
===> syslaunch.cc
gcc -x c++ -I../../include -I../.. -I/usr/lib/gcc/x86_64-linux-gnu/8/include   -nostdinc -g -O2 -m64 -mno-red-zone   -fno-stack-protector -lssp -O2 -g -Wall -Wshadow   -fno-stack-protector  -Wconversion -fno-exceptions -c syslaunch.cc -o syslaunch.o
In file included from syslaunch.h:7,
                 from syslaunch.cc:1:
../../include/l4io.h:46:6: warning: declaration of ‘void putc(int)’ conflicts with built-in declaration ‘int putc(int, void*)’ [-Wbuiltin-declaration-mismatch]
 void putc(int c);
      ^~~~
syslaunch.cc: In function ‘int main()’:
syslaunch.cc:98:12: warning: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘L4_Word64_t’ {aka ‘long unsigned int’} [-Wformat=]
     printf("The clock says: %d\n", L4_SystemClock().raw);
            ^~~~~~~~~~~~~~~~~~~~~~  ~~~~~~~~~~~~~~~~~~~~
In file included from ../../include/l4/kip.h:36,
                 from ../../include/l4/sigma0.h:36,
                 from syslaunch.h:8,
                 from syslaunch.cc:1:
../../include/l4/amd64/syscalls.h: In function ‘L4_Clock_t L4_SystemClock()’:
../../include/l4/amd64/syscalls.h:197:19: warning: ‘ret.L4_Clock_t::raw’ is used uninitialized in this function [-Wuninitialized]
  [dest]  "0" (ret.raw)  /* %1 RAX */
               ~~~~^~~
../../include/l4/amd64/syscalls.h: In function ‘int main()’:
../../include/l4/amd64/syscalls.h:201:3: warning: ‘ret.L4_Clock_t::raw’ is used uninitialized in this function [-Wuninitialized]
  );
   ^
../../include/l4/amd64/syscalls.h:187:16: note: ‘ret.L4_Clock_t::raw’ was declared here
     L4_Clock_t ret;
                ^~~
===> ALAC/codec/ag_dec.c
gcc -I../../include -I../.. -I/usr/lib/gcc/x86_64-linux-gnu/8/include   -nostdinc -g -O2 -m64 -mno-red-zone   -fno-stack-protector -lssp -O2 -g -Wall -Wshadow   -fno-stack-protector  -Wconversion -std=c99 -c ALAC/codec/ag_dec.c -o ALAC/codec/ag_dec.o
In file included from ALAC/codec/ag_dec.c:31:
ALAC/codec/ALACAudioTypes.h:64:32: warning: multi-character character constant [-Wmultichar]
     kALACFormatAppleLossless = 'alac',
                                ^~~~~~
ALAC/codec/ALACAudioTypes.h:65:28: warning: multi-character character constant [-Wmultichar]
     kALACFormatLinearPCM = 'lpcm'
                            ^~~~~~
ALAC/codec/ALACAudioTypes.h:154:22: warning: multi-character character constant [-Wmultichar]
  kALACCodecFormat  = 'alac',
                      ^~~~~~
ALAC/codec/ALACAudioTypes.h:182:26: warning: multi-character character constant [-Wmultichar]
  AudioChannelLayoutAID = 'chan'
                          ^~~~~~
In file included from ALAC/codec/ag_dec.c:34:
../../include/stdio.h: In function ‘__sputc’:
../../include/stdio.h:460:23: warning: conversion from ‘int’ to ‘unsigned char’ may change value [-Wconversion]
   return (*_p->_p++ = _c);
                       ^~
In file included from ../../include/string.h:2,
                 from ALAC/codec/ag_dec.c:36:
../../include/sys/types.h: In function ‘__bitcount16’:
../../include/sys/types.h:327:7: warning: conversion from ‘int’ to ‘__uint16_t’ {aka ‘short unsigned int’} may change value [-Wconversion]
  _x = (_x & 0x5555) + ((_x & 0xaaaa) >> 1);
       ^
../../include/sys/types.h:328:7: warning: conversion from ‘int’ to ‘__uint16_t’ {aka ‘short unsigned int’} may change value [-Wconversion]
  _x = (_x & 0x3333) + ((_x & 0xcccc) >> 2);
       ^
In file included from ../../include/sys/types.h:376,
                 from ../../include/string.h:2,
                 from ALAC/codec/ag_dec.c:36:
../../include/sys/select.h: At top level:
../../include/sys/select.h:105:54: warning: ‘struct timeval’ declared inside parameter list will not be visible outside of this definition or declaration
 int select(int, fd_set *, fd_set *, fd_set *, struct timeval *);
                                                      ^~~~~~~
In file included from ../../include/string.h:2,
                 from ALAC/codec/ag_dec.c:36:
../../include/sys/types.h: In function ‘__major’:
../../include/sys/types.h:393:36: warning: conversion from ‘dev_t’ {aka ‘long unsigned int’} to ‘int’ may change value [-Wconversion]
  return (((_d >> 32) & 0xffffff00) | ((_d >> 8) & 0xff));
         ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
../../include/sys/types.h: In function ‘__minor’:
../../include/sys/types.h:399:32: warning: conversion from ‘dev_t’ {aka ‘long unsigned int’} to ‘int’ may change value [-Wconversion]
  return (((_d >> 24) & 0xff00) | (_d & 0xffff00ff));
         ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
../../include/sys/types.h: In function ‘__makedev’:
../../include/sys/types.h:405:26: warning: conversion to ‘unsigned int’ from ‘int’ may change the sign of the result [-Wsign-conversion]
  return (((dev_t)(_Major & 0xffffff00) << 32) | ((_Major & 0xff) << 8) |
                          ^
../../include/sys/types.h:405:47: warning: conversion to ‘long unsigned int’ from ‘int’ may change the sign of the result [-Wsign-conversion]
  return (((dev_t)(_Major & 0xffffff00) << 32) | ((_Major & 0xff) << 8) |
                                               ^
../../include/sys/types.h:406:49: warning: conversion to ‘unsigned int’ from ‘int’ may change the sign of the result [-Wsign-conversion]
      ((dev_t)(_Minor & 0xff00) << 24) | (_Minor & 0xffff00ff));
                                                 ^
ALAC/codec/ag_dec.c: In function ‘lead’:
ALAC/codec/ag_dec.c:98:9: warning: conversion to ‘long unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
   if((c & m) != 0)
         ^
ALAC/codec/ag_dec.c:102:9: warning: conversion from ‘long int’ to ‘int32_t’ {aka ‘int’} may change value [-Wconversion]
  return (j);
         ^
ALAC/codec/ag_dec.c: In function ‘getstreambits’:
ALAC/codec/ag_dec.c:139:24: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int’ may change the sign of the result [-Wsign-conversion]
  uint32_t byteoffset = bitoffset / 8;
                        ^~~~~~~~~
ALAC/codec/ag_dec.c:165:13: warning: conversion from ‘long unsigned int’ to ‘uint32_t’ {aka ‘unsigned int’} may change value [-Wconversion]
   result &= ~(0xfffffffful << numbits);
             ^
ALAC/codec/ag_dec.c: In function ‘dyn_get’:
ALAC/codec/ag_dec.c:184:18: warning: conversion to ‘int32_t’ {aka ‘int’} from ‘uint32_t’ {aka ‘unsigned int’} may change the sign of the result [-Wsign-conversion]
      pre = lead( notI);
                  ^~~~
ALAC/codec/ag_dec.c:184:12: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
      pre = lead( notI);
            ^~~~
ALAC/codec/ag_dec.c:216:12: warning: conversion to ‘int32_t’ {aka ‘int’} from ‘uint32_t’ {aka ‘unsigned int’} may change the sign of the result [-Wsign-conversion]
     return result;
            ^~~~~~
ALAC/codec/ag_dec.c: In function ‘dyn_get_32bit’:
ALAC/codec/ag_dec.c:233:18: warning: conversion to ‘int32_t’ {aka ‘int’} from ‘uint32_t’ {aka ‘unsigned int’} may change the sign of the result [-Wsign-conversion]
   result = lead( notI);
                  ^~~~
ALAC/codec/ag_dec.c:233:12: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
   result = lead( notI);
            ^~~~
ALAC/codec/ag_dec.c:238:38: warning: conversion to ‘int32_t’ {aka ‘int’} from ‘uint32_t’ {aka ‘unsigned int’} may change the sign of the result [-Wsign-conversion]
   result = getstreambits(in, tempbits+MAX_PREFIX_32, maxbits);
ALAC/codec/ag_dec.c:239:12: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
   tempbits += MAX_PREFIX_32 + maxbits;
            ^~
ALAC/codec/ag_dec.c:255:13: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
    tempbits += k;
             ^~
ALAC/codec/ag_dec.c:257:19: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
    result = result*m;
                   ^
ALAC/codec/ag_dec.c:269:9: warning: conversion to ‘int32_t’ {aka ‘int’} from ‘uint32_t’ {aka ‘unsigned int’} may change the sign of the result [-Wsign-conversion]
  return result;
         ^~~~~~
ALAC/codec/ag_dec.c: In function ‘dyn_decomp’:
ALAC/codec/ag_dec.c:305:18: warning: conversion to ‘int32_t’ {aka ‘int’} from ‘uint32_t’ {aka ‘unsigned int’} may change the sign of the result [-Wsign-conversion]
         k = lg3a(m);
                  ^
ALAC/codec/ag_dec.c:305:13: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
         k = lg3a(m);
             ^~~~
ALAC/codec/ag_dec.c:308:13: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int’ may change the sign of the result [-Wsign-conversion]
         m = (1<<k)-1;
             ^
ALAC/codec/ag_dec.c:310:35: warning: conversion to ‘int32_t’ {aka ‘int’} from ‘uint32_t’ {aka ‘unsigned int’} may change the sign of the result [-Wsign-conversion]
   n = dyn_get_32bit( in, &bitPos, m, k, maxSize );
                                   ^
ALAC/codec/ag_dec.c:310:38: warning: conversion to ‘int32_t’ {aka ‘int’} from ‘uint32_t’ {aka ‘unsigned int’} may change the sign of the result [-Wsign-conversion]
   n = dyn_get_32bit( in, &bitPos, m, k, maxSize );
                                      ^
ALAC/codec/ag_dec.c:310:7: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
   n = dyn_get_32bit( in, &bitPos, m, k, maxSize );
       ^~~~~~~~~~~~~
ALAC/codec/ag_dec.c:314:31: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
          uint32_t ndecode = n + zmode;
                               ^
ALAC/codec/ag_dec.c:315:35: warning: conversion to ‘int32_t’ {aka ‘int’} from ‘uint32_t’ {aka ‘unsigned int’} may change the sign of the result [-Wsign-conversion]
             int32_t  multiplier = (- (ndecode&1));
                                   ^
ALAC/codec/ag_dec.c:318:38: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
             del = ((ndecode+1) >> 1) * (multiplier);
                                      ^
ALAC/codec/ag_dec.c:318:19: warning: conversion to ‘int32_t’ {aka ‘int’} from ‘uint32_t’ {aka ‘unsigned int’} may change the sign of the result [-Wsign-conversion]
             del = ((ndecode+1) >> 1) * (multiplier);
                   ^
ALAC/codec/ag_dec.c:325:25: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
         mb = pb_local*(n+zmode) + mb - ((pb_local*mb)>>QBSHIFT);
                         ^
ALAC/codec/ag_dec.c:336:22: warning: conversion to ‘int32_t’ {aka ‘int’} from ‘uint32_t’ {aka ‘unsigned int’} may change the sign of the result [-Wsign-conversion]
             k = lead(mb) - BITOFF+((mb+MOFF)>>MDENSHIFT);
                      ^~
ALAC/codec/ag_dec.c:336:34: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int’ may change the sign of the result [-Wsign-conversion]
             k = lead(mb) - BITOFF+((mb+MOFF)>>MDENSHIFT);
                                  ^
ALAC/codec/ag_dec.c:337:29: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int’ may change the sign of the result [-Wsign-conversion]
             mz = ((1<<k)-1) & wb_local;
                             ^
ALAC/codec/ag_dec.c:339:17: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
             n = dyn_get(in, &bitPos, mz, k);
                 ^~~~~~~
===> ALAC/codec/dp_dec.c
gcc -I../../include -I../.. -I/usr/lib/gcc/x86_64-linux-gnu/8/include   -nostdinc -g -O2 -m64 -mno-red-zone   -fno-stack-protector -lssp -O2 -g -Wall -Wshadow   -fno-stack-protector  -Wconversion -std=c99 -c ALAC/codec/dp_dec.c -o ALAC/codec/dp_dec.o
In file included from ../../include/string.h:2,
                 from ALAC/codec/dp_dec.c:31:
../../include/sys/types.h: In function ‘__bitcount16’:
../../include/sys/types.h:327:7: warning: conversion from ‘int’ to ‘__uint16_t’ {aka ‘short unsigned int’} may change value [-Wconversion]
  _x = (_x & 0x5555) + ((_x & 0xaaaa) >> 1);
       ^
../../include/sys/types.h:328:7: warning: conversion from ‘int’ to ‘__uint16_t’ {aka ‘short unsigned int’} may change value [-Wconversion]
  _x = (_x & 0x3333) + ((_x & 0xcccc) >> 2);
       ^
In file included from ../../include/sys/types.h:376,
                 from ../../include/string.h:2,
                 from ALAC/codec/dp_dec.c:31:
../../include/sys/select.h: At top level:
../../include/sys/select.h:105:54: warning: ‘struct timeval’ declared inside parameter list will not be visible outside of this definition or declaration
 int select(int, fd_set *, fd_set *, fd_set *, struct timeval *);
                                                      ^~~~~~~
In file included from ../../include/string.h:2,
                 from ALAC/codec/dp_dec.c:31:
../../include/sys/types.h: In function ‘__major’:
../../include/sys/types.h:393:36: warning: conversion from ‘dev_t’ {aka ‘long unsigned int’} to ‘int’ may change value [-Wconversion]
  return (((_d >> 32) & 0xffffff00) | ((_d >> 8) & 0xff));
         ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
../../include/sys/types.h: In function ‘__minor’:
../../include/sys/types.h:399:32: warning: conversion from ‘dev_t’ {aka ‘long unsigned int’} to ‘int’ may change value [-Wconversion]
  return (((_d >> 24) & 0xff00) | (_d & 0xffff00ff));
         ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
../../include/sys/types.h: In function ‘__makedev’:
../../include/sys/types.h:405:26: warning: conversion to ‘unsigned int’ from ‘int’ may change the sign of the result [-Wsign-conversion]
  return (((dev_t)(_Major & 0xffffff00) << 32) | ((_Major & 0xff) << 8) |
                          ^
../../include/sys/types.h:405:47: warning: conversion to ‘long unsigned int’ from ‘int’ may change the sign of the result [-Wsign-conversion]
  return (((dev_t)(_Major & 0xffffff00) << 32) | ((_Major & 0xff) << 8) |
                                               ^
../../include/sys/types.h:406:49: warning: conversion to ‘unsigned int’ from ‘int’ may change the sign of the result [-Wsign-conversion]
      ((dev_t)(_Minor & 0xff00) << 24) | (_Minor & 0xffff00ff));
                                                 ^
ALAC/codec/dp_dec.c: In function ‘sign_of_int’:
ALAC/codec/dp_dec.c:51:17: warning: conversion to ‘int32_t’ {aka ‘int’} from ‘unsigned int’ may change the sign of the result [-Wsign-conversion]
     negishift = ((uint32_t)-i) >> 31;
                 ^
ALAC/codec/dp_dec.c: In function ‘unpc_block’:
ALAC/codec/dp_dec.c:71:4: warning: implicit declaration of function ‘memcpy’ [-Wimplicit-function-declaration]
    memcpy( &out[1], &pc1[1], (num - 1) * sizeof(int32_t) );
    ^~~~~~
ALAC/codec/dp_dec.c:71:4: warning: incompatible implicit declaration of built-in function ‘memcpy’
ALAC/codec/dp_dec.c:71:4: note: include ‘<string.h>’ or provide a declaration of ‘memcpy’
ALAC/codec/dp_dec.c:32:1:
+#include <string.h>

ALAC/codec/dp_dec.c:71:4:
    memcpy( &out[1], &pc1[1], (num - 1) * sizeof(int32_t) );
    ^~~~~~
ALAC/codec/dp_dec.c:71:40: warning: conversion to ‘long unsigned int’ from ‘int’ may change the sign of the result [-Wsign-conversion]
    memcpy( &out[1], &pc1[1], (num - 1) * sizeof(int32_t) );
                                        ^
ALAC/codec/dp_dec.c:108:20: warning: declaration of ‘a0’ shadows a previous local [-Wshadow]
   register int16_t a0, a1, a2, a3;
                    ^~
ALAC/codec/dp_dec.c:57:19: note: shadowed declaration is here
  register int16_t a0, a1, a2, a3;
                   ^~
ALAC/codec/dp_dec.c:108:24: warning: declaration of ‘a1’ shadows a previous local [-Wshadow]
   register int16_t a0, a1, a2, a3;
                        ^~
ALAC/codec/dp_dec.c:57:23: note: shadowed declaration is here
  register int16_t a0, a1, a2, a3;
                       ^~
ALAC/codec/dp_dec.c:108:28: warning: declaration of ‘a2’ shadows a previous local [-Wshadow]
   register int16_t a0, a1, a2, a3;
                            ^~
ALAC/codec/dp_dec.c:57:27: note: shadowed declaration is here
  register int16_t a0, a1, a2, a3;
                           ^~
ALAC/codec/dp_dec.c:108:32: warning: declaration of ‘a3’ shadows a previous local [-Wshadow]
   register int16_t a0, a1, a2, a3;
                                ^~
ALAC/codec/dp_dec.c:57:31: note: shadowed declaration is here
  register int16_t a0, a1, a2, a3;
                               ^~
ALAC/codec/dp_dec.c:109:20: warning: declaration of ‘b0’ shadows a previous local [-Wshadow]
   register int32_t b0, b1, b2, b3;
                    ^~
ALAC/codec/dp_dec.c:58:19: note: shadowed declaration is here
  register int32_t b0, b1, b2, b3;
                   ^~
ALAC/codec/dp_dec.c:109:24: warning: declaration of ‘b1’ shadows a previous local [-Wshadow]
   register int32_t b0, b1, b2, b3;
                        ^~
ALAC/codec/dp_dec.c:58:23: note: shadowed declaration is here
  register int32_t b0, b1, b2, b3;
                       ^~
ALAC/codec/dp_dec.c:109:28: warning: declaration of ‘b2’ shadows a previous local [-Wshadow]
   register int32_t b0, b1, b2, b3;
                            ^~
ALAC/codec/dp_dec.c:58:27: note: shadowed declaration is here
  register int32_t b0, b1, b2, b3;
                           ^~
ALAC/codec/dp_dec.c:109:32: warning: declaration of ‘b3’ shadows a previous local [-Wshadow]
   register int32_t b0, b1, b2, b3;
                                ^~
ALAC/codec/dp_dec.c:58:31: note: shadowed declaration is here
  register int32_t b0, b1, b2, b3;
                               ^~
ALAC/codec/dp_dec.c:140:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
     a3 -= sgn;
           ^~~
ALAC/codec/dp_dec.c:146:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
     a2 -= sgn;
           ^~~
ALAC/codec/dp_dec.c:152:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
     a1 -= sgn;
           ^~~
ALAC/codec/dp_dec.c:157:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
     a0 -= sign_of_int( b0 );
           ^~~~~~~~~~~
ALAC/codec/dp_dec.c:163:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
     a3 -= sgn;
           ^~~
ALAC/codec/dp_dec.c:169:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
     a2 -= sgn;
           ^~~
ALAC/codec/dp_dec.c:175:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
     a1 -= sgn;
           ^~~
ALAC/codec/dp_dec.c:180:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
     a0 += sign_of_int( b0 );
           ^~~~~~~~~~~
ALAC/codec/dp_dec.c:234:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
     a7 -= sgn;
           ^~~
ALAC/codec/dp_dec.c:240:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
     a6 -= sgn;
           ^~~
ALAC/codec/dp_dec.c:246:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
     a5 -= sgn;
           ^~~
ALAC/codec/dp_dec.c:252:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
     a4 -= sgn;
           ^~~
ALAC/codec/dp_dec.c:258:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
     a3 -= sgn;
           ^~~
ALAC/codec/dp_dec.c:264:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
     a2 -= sgn;
           ^~~
ALAC/codec/dp_dec.c:270:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
     a1 -= sgn;
           ^~~
ALAC/codec/dp_dec.c:275:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
     a0 -= sign_of_int( b0 );
           ^~~~~~~~~~~
ALAC/codec/dp_dec.c:281:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
     a7 -= sgn;
           ^~~
ALAC/codec/dp_dec.c:287:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
     a6 -= sgn;
           ^~~
ALAC/codec/dp_dec.c:293:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
     a5 -= sgn;
           ^~~
ALAC/codec/dp_dec.c:299:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
     a4 -= sgn;
           ^~~
ALAC/codec/dp_dec.c:305:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
     a3 -= sgn;
           ^~~
ALAC/codec/dp_dec.c:311:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
     a2 -= sgn;
           ^~~
ALAC/codec/dp_dec.c:317:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
     a1 -= sgn;
           ^~~
ALAC/codec/dp_dec.c:322:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
     a0 += sign_of_int( b0 );
           ^~~~~~~~~~~
ALAC/codec/dp_dec.c:361:18: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
      coefs[k] -= sgn;
                  ^~~
ALAC/codec/dp_dec.c:373:18: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
      coefs[k] += sgn;
                  ^~~
===> ALAC/codec/EndianPortable.c
gcc -I../../include -I../.. -I/usr/lib/gcc/x86_64-linux-gnu/8/include   -nostdinc -g -O2 -m64 -mno-red-zone   -fno-stack-protector -lssp -O2 -g -Wall -Wshadow   -fno-stack-protector  -Wconversion -std=c99 -c ALAC/codec/EndianPortable.c -o ALAC/codec/EndianPortable.o
In file included from ALAC/codec/EndianPortable.c:27:
../../include/stdio.h: In function ‘__sputc’:
../../include/stdio.h:460:23: warning: conversion from ‘int’ to ‘unsigned char’ may change value [-Wconversion]
   return (*_p->_p++ = _c);
                       ^~
ALAC/codec/EndianPortable.c: In function ‘Swap16NtoB’:
ALAC/codec/EndianPortable.c:30:31: warning: conversion from ‘int’ to ‘uint16_t’ {aka ‘short unsigned int’} may change value [-Wconversion]
 #define BSWAP16(x) (((x << 8) | ((x >> 8) & 0x00ff)))
                    ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
ALAC/codec/EndianPortable.c:48:12: note: in expansion of macro ‘BSWAP16’
     return BSWAP16(inUInt16);
            ^~~~~~~
ALAC/codec/EndianPortable.c: In function ‘Swap16BtoN’:
ALAC/codec/EndianPortable.c:30:31: warning: conversion from ‘int’ to ‘uint16_t’ {aka ‘short unsigned int’} may change value [-Wconversion]
 #define BSWAP16(x) (((x << 8) | ((x >> 8) & 0x00ff)))
                    ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
ALAC/codec/EndianPortable.c:57:12: note: in expansion of macro ‘BSWAP16’
     return BSWAP16(inUInt16);
            ^~~~~~~
ALAC/codec/EndianPortable.c: In function ‘Swap64BtoN’:
ALAC/codec/EndianPortable.c:35:65: warning: conversion to ‘uint64_t’ {aka ‘long unsigned int’} from ‘long long int’ may change the sign of the result [-Wsign-conversion]
 #define BSWAP64(x) ((((int64_t)x << 56) | (((int64_t)x << 40) & 0x00ff000000000000LL) | \
                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                     (((int64_t)x << 24) & 0x0000ff0000000000LL) | (((int64_t)x << 8) & 0x000000ff00000000LL) | \
                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                     (((int64_t)x >> 8) & 0x00000000ff000000LL) | (((int64_t)x >> 24) & 0x0000000000ff0000LL) | \
                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                     (((int64_t)x >> 40) & 0x000000000000ff00LL) | (((int64_t)x >> 56) & 0x00000000000000ffLL)))
                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ALAC/codec/EndianPortable.c:84:12: note: in expansion of macro ‘BSWAP64’
     return BSWAP64(inUInt64);
            ^~~~~~~
ALAC/codec/EndianPortable.c: In function ‘Swap64NtoB’:
ALAC/codec/EndianPortable.c:35:65: warning: conversion to ‘uint64_t’ {aka ‘long unsigned int’} from ‘long long int’ may change the sign of the result [-Wsign-conversion]
 #define BSWAP64(x) ((((int64_t)x << 56) | (((int64_t)x << 40) & 0x00ff000000000000LL) | \
                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                     (((int64_t)x << 24) & 0x0000ff0000000000LL) | (((int64_t)x << 8) & 0x000000ff00000000LL) | \
                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                     (((int64_t)x >> 8) & 0x00000000ff000000LL) | (((int64_t)x >> 24) & 0x0000000000ff0000LL) | \
                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                     (((int64_t)x >> 40) & 0x000000000000ff00LL) | (((int64_t)x >> 56) & 0x00000000000000ffLL)))
                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ALAC/codec/EndianPortable.c:93:12: note: in expansion of macro ‘BSWAP64’
     return BSWAP64(inUInt64);
            ^~~~~~~
ALAC/codec/EndianPortable.c: In function ‘Swap16’:
ALAC/codec/EndianPortable.c:30:20: warning: conversion from ‘int’ to ‘uint16_t’ {aka ‘short unsigned int’} may change value [-Wconversion]
 #define BSWAP16(x) (((x << 8) | ((x >> 8) & 0x00ff)))
                    ^
ALAC/codec/EndianPortable.c:161:14: note: in expansion of macro ‘BSWAP16’
  *inUInt16 = BSWAP16(*inUInt16);
              ^~~~~~~
===> ALAC/codec/ALACBitUtilities.c
gcc -I../../include -I../.. -I/usr/lib/gcc/x86_64-linux-gnu/8/include   -nostdinc -g -O2 -m64 -mno-red-zone   -fno-stack-protector -lssp -O2 -g -Wall -Wshadow   -fno-stack-protector  -Wconversion -std=c99 -c ALAC/codec/ALACBitUtilities.c -o ALAC/codec/ALACBitUtilities.o
In file included from ALAC/codec/ALACBitUtilities.c:27:
../../include/stdio.h: In function ‘__sputc’:
../../include/stdio.h:460:23: warning: conversion from ‘int’ to ‘unsigned char’ may change value [-Wconversion]
   return (*_p->_p++ = _c);
                       ^~
ALAC/codec/ALACBitUtilities.c: In function ‘BitBufferReadSmall’:
ALAC/codec/ALACBitUtilities.c:73:15: warning: conversion from ‘int’ to ‘uint16_t’ {aka ‘short unsigned int’} may change value [-Wconversion]
  returnBits = (bits->cur[0] << 8) | bits->cur[1];
               ^
ALAC/codec/ALACBitUtilities.c:74:15: warning: conversion from ‘int’ to ‘uint16_t’ {aka ‘short unsigned int’} may change value [-Wconversion]
  returnBits = returnBits << bits->bitIndex;
               ^~~~~~~~~~
ALAC/codec/ALACBitUtilities.c:78:15: warning: conversion from ‘int’ to ‘uint16_t’ {aka ‘short unsigned int’} may change value [-Wconversion]
  returnBits = returnBits >> (16 - numBits);
               ^~~~~~~~~~
ALAC/codec/ALACBitUtilities.c: In function ‘BitBufferWrite’:
ALAC/codec/ALACBitUtilities.c:233:12: warning: conversion from ‘unsigned int’ to ‘uint8_t’ {aka ‘unsigned char’} may change value [-Wconversion]
   mask   = 0xffu >> (8 - curNum);  // must be done in two steps to avoid compiler sequencing ambiguity
            ^~~~~
ALAC/codec/ALACBitUtilities.c:234:12: warning: conversion from ‘int’ to ‘uint8_t’ {aka ‘unsigned char’} may change value [-Wconversion]
   mask <<= shift;
            ^~~~~
ALAC/codec/ALACBitUtilities.c:236:18: warning: conversion from ‘int’ to ‘uint8_t’ {aka ‘unsigned char’} may change value [-Wconversion]
   bits->cur[0] = (bits->cur[0] & ~mask) | (((uint8_t) tmp << shift)  & mask);
                  ^
===> ALAC/codec/matrix_dec.c
gcc -I../../include -I../.. -I/usr/lib/gcc/x86_64-linux-gnu/8/include   -nostdinc -g -O2 -m64 -mno-red-zone   -fno-stack-protector -lssp -O2 -g -Wall -Wshadow   -fno-stack-protector  -Wconversion -std=c99 -c ALAC/codec/matrix_dec.c -o ALAC/codec/matrix_dec.o
In file included from ALAC/codec/matrix_dec.c:30:
ALAC/codec/ALACAudioTypes.h:64:32: warning: multi-character character constant [-Wmultichar]
     kALACFormatAppleLossless = 'alac',
                                ^~~~~~
ALAC/codec/ALACAudioTypes.h:65:28: warning: multi-character character constant [-Wmultichar]
     kALACFormatLinearPCM = 'lpcm'
                            ^~~~~~
ALAC/codec/ALACAudioTypes.h:154:22: warning: multi-character character constant [-Wmultichar]
  kALACCodecFormat  = 'alac',
                      ^~~~~~
ALAC/codec/ALACAudioTypes.h:182:26: warning: multi-character character constant [-Wmultichar]
  AudioChannelLayoutAID = 'chan'
                          ^~~~~~
ALAC/codec/matrix_dec.c: In function ‘unmix20’:
ALAC/codec/matrix_dec.c:113:36: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
    op[HBYTE] = (uint8_t)((l >> 16) & 0xffu);
                                    ^
ALAC/codec/matrix_dec.c:114:36: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
    op[MBYTE] = (uint8_t)((l >>  8) & 0xffu);
                                    ^
ALAC/codec/matrix_dec.c:115:36: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
    op[LBYTE] = (uint8_t)((l >>  0) & 0xffu);
                                    ^
ALAC/codec/matrix_dec.c:118:36: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
    op[HBYTE] = (uint8_t)((r >> 16) & 0xffu);
                                    ^
ALAC/codec/matrix_dec.c:119:36: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
    op[MBYTE] = (uint8_t)((r >>  8) & 0xffu);
                                    ^
ALAC/codec/matrix_dec.c:120:36: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
    op[LBYTE] = (uint8_t)((r >>  0) & 0xffu);
                                    ^
ALAC/codec/matrix_dec.c:133:38: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
    op[HBYTE] = (uint8_t)((val >> 16) & 0xffu);
                                      ^
ALAC/codec/matrix_dec.c:134:38: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
    op[MBYTE] = (uint8_t)((val >>  8) & 0xffu);
                                      ^
ALAC/codec/matrix_dec.c:135:38: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
    op[LBYTE] = (uint8_t)((val >>  0) & 0xffu);
                                      ^
ALAC/codec/matrix_dec.c:139:38: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
    op[HBYTE] = (uint8_t)((val >> 16) & 0xffu);
                                      ^
ALAC/codec/matrix_dec.c:140:38: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
    op[MBYTE] = (uint8_t)((val >>  8) & 0xffu);
                                      ^
ALAC/codec/matrix_dec.c:141:38: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
    op[LBYTE] = (uint8_t)((val >>  0) & 0xffu);
                                      ^
ALAC/codec/matrix_dec.c: In function ‘unmix24’:
ALAC/codec/matrix_dec.c:169:22: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
     l = (l << shift) | (uint32_t) shiftUV[k + 0];
                      ^
ALAC/codec/matrix_dec.c:169:9: warning: conversion to ‘int32_t’ {aka ‘int’} from ‘unsigned int’ may change the sign of the result [-Wsign-conversion]
     l = (l << shift) | (uint32_t) shiftUV[k + 0];
         ^
ALAC/codec/matrix_dec.c:170:22: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
     r = (r << shift) | (uint32_t) shiftUV[k + 1];
                      ^
ALAC/codec/matrix_dec.c:170:9: warning: conversion to ‘int32_t’ {aka ‘int’} from ‘unsigned int’ may change the sign of the result [-Wsign-conversion]
     r = (r << shift) | (uint32_t) shiftUV[k + 1];
         ^
ALAC/codec/matrix_dec.c:172:37: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
     op[HBYTE] = (uint8_t)((l >> 16) & 0xffu);
                                     ^
ALAC/codec/matrix_dec.c:173:37: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
     op[MBYTE] = (uint8_t)((l >>  8) & 0xffu);
                                     ^
ALAC/codec/matrix_dec.c:174:37: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
     op[LBYTE] = (uint8_t)((l >>  0) & 0xffu);
                                     ^
ALAC/codec/matrix_dec.c:177:37: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
     op[HBYTE] = (uint8_t)((r >> 16) & 0xffu);
                                     ^
ALAC/codec/matrix_dec.c:178:37: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
     op[MBYTE] = (uint8_t)((r >>  8) & 0xffu);
                                     ^
ALAC/codec/matrix_dec.c:179:37: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
     op[LBYTE] = (uint8_t)((r >>  0) & 0xffu);
                                     ^
ALAC/codec/matrix_dec.c:191:37: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
     op[HBYTE] = (uint8_t)((l >> 16) & 0xffu);
                                     ^
ALAC/codec/matrix_dec.c:192:37: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
     op[MBYTE] = (uint8_t)((l >>  8) & 0xffu);
                                     ^
ALAC/codec/matrix_dec.c:193:37: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
     op[LBYTE] = (uint8_t)((l >>  0) & 0xffu);
                                     ^
ALAC/codec/matrix_dec.c:196:37: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
     op[HBYTE] = (uint8_t)((r >> 16) & 0xffu);
                                     ^
ALAC/codec/matrix_dec.c:197:37: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
     op[MBYTE] = (uint8_t)((r >>  8) & 0xffu);
                                     ^
ALAC/codec/matrix_dec.c:198:37: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
     op[LBYTE] = (uint8_t)((r >>  0) & 0xffu);
                                     ^
ALAC/codec/matrix_dec.c:214:22: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
     l = (l << shift) | (uint32_t) shiftUV[k + 0];
                      ^
ALAC/codec/matrix_dec.c:214:9: warning: conversion to ‘int32_t’ {aka ‘int’} from ‘unsigned int’ may change the sign of the result [-Wsign-conversion]
     l = (l << shift) | (uint32_t) shiftUV[k + 0];
         ^
ALAC/codec/matrix_dec.c:215:22: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
     r = (r << shift) | (uint32_t) shiftUV[k + 1];
                      ^
ALAC/codec/matrix_dec.c:215:9: warning: conversion to ‘int32_t’ {aka ‘int’} from ‘unsigned int’ may change the sign of the result [-Wsign-conversion]
     r = (r << shift) | (uint32_t) shiftUV[k + 1];
         ^
ALAC/codec/matrix_dec.c:217:37: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
     op[HBYTE] = (uint8_t)((l >> 16) & 0xffu);
                                     ^
ALAC/codec/matrix_dec.c:218:37: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
     op[MBYTE] = (uint8_t)((l >>  8) & 0xffu);
                                     ^
ALAC/codec/matrix_dec.c:219:37: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
     op[LBYTE] = (uint8_t)((l >>  0) & 0xffu);
                                     ^
ALAC/codec/matrix_dec.c:222:37: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
     op[HBYTE] = (uint8_t)((r >> 16) & 0xffu);
                                     ^
ALAC/codec/matrix_dec.c:223:37: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
     op[MBYTE] = (uint8_t)((r >>  8) & 0xffu);
                                     ^
ALAC/codec/matrix_dec.c:224:37: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
     op[LBYTE] = (uint8_t)((r >>  0) & 0xffu);
                                     ^
ALAC/codec/matrix_dec.c:236:39: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
     op[HBYTE] = (uint8_t)((val >> 16) & 0xffu);
                                       ^
ALAC/codec/matrix_dec.c:237:39: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
     op[MBYTE] = (uint8_t)((val >>  8) & 0xffu);
                                       ^
ALAC/codec/matrix_dec.c:238:39: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
     op[LBYTE] = (uint8_t)((val >>  0) & 0xffu);
                                       ^
ALAC/codec/matrix_dec.c:242:39: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
     op[HBYTE] = (uint8_t)((val >> 16) & 0xffu);
                                       ^
ALAC/codec/matrix_dec.c:243:39: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
     op[MBYTE] = (uint8_t)((val >>  8) & 0xffu);
                                       ^
ALAC/codec/matrix_dec.c:244:39: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
     op[LBYTE] = (uint8_t)((val >>  0) & 0xffu);
                                       ^
ALAC/codec/matrix_dec.c: In function ‘unmix32’:
ALAC/codec/matrix_dec.c:280:25: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
    op[0] = (l << shift) | (uint32_t) shiftUV[k + 0];
                         ^
ALAC/codec/matrix_dec.c:280:12: warning: conversion to ‘int32_t’ {aka ‘int’} from ‘unsigned int’ may change the sign of the result [-Wsign-conversion]
    op[0] = (l << shift) | (uint32_t) shiftUV[k + 0];
            ^
ALAC/codec/matrix_dec.c:281:25: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
    op[1] = (r << shift) | (uint32_t) shiftUV[k + 1];
                         ^
ALAC/codec/matrix_dec.c:281:12: warning: conversion to ‘int32_t’ {aka ‘int’} from ‘unsigned int’ may change the sign of the result [-Wsign-conversion]
    op[1] = (r << shift) | (uint32_t) shiftUV[k + 1];
            ^
ALAC/codec/matrix_dec.c:302:29: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
     op[0] = (u[j] << shift) | (uint32_t) shiftUV[k + 0];
                             ^
ALAC/codec/matrix_dec.c:302:13: warning: conversion to ‘int32_t’ {aka ‘int’} from ‘unsigned int’ may change the sign of the result [-Wsign-conversion]
     op[0] = (u[j] << shift) | (uint32_t) shiftUV[k + 0];
             ^
ALAC/codec/matrix_dec.c:303:29: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
     op[1] = (v[j] << shift) | (uint32_t) shiftUV[k + 1];
                             ^
ALAC/codec/matrix_dec.c:303:13: warning: conversion to ‘int32_t’ {aka ‘int’} from ‘unsigned int’ may change the sign of the result [-Wsign-conversion]
     op[1] = (v[j] << shift) | (uint32_t) shiftUV[k + 1];
             ^
ALAC/codec/matrix_dec.c: In function ‘copyPredictorTo24’:
ALAC/codec/matrix_dec.c:321:37: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
   op[HBYTE] = (uint8_t)((val >> 16) & 0xffu);
                                     ^
ALAC/codec/matrix_dec.c:322:37: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
   op[MBYTE] = (uint8_t)((val >>  8) & 0xffu);
                                     ^
ALAC/codec/matrix_dec.c:323:37: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
   op[LBYTE] = (uint8_t)((val >>  0) & 0xffu);
                                     ^
ALAC/codec/matrix_dec.c: In function ‘copyPredictorTo24Shift’:
ALAC/codec/matrix_dec.c:340:27: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
   val = (val << shiftVal) | (uint32_t) shift[j];
                           ^
ALAC/codec/matrix_dec.c:340:9: warning: conversion to ‘int32_t’ {aka ‘int’} from ‘unsigned int’ may change the sign of the result [-Wsign-conversion]
   val = (val << shiftVal) | (uint32_t) shift[j];
         ^
ALAC/codec/matrix_dec.c:342:37: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
   op[HBYTE] = (uint8_t)((val >> 16) & 0xffu);
                                     ^
ALAC/codec/matrix_dec.c:343:37: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
   op[MBYTE] = (uint8_t)((val >>  8) & 0xffu);
                                     ^
ALAC/codec/matrix_dec.c:344:37: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
   op[LBYTE] = (uint8_t)((val >>  0) & 0xffu);
                                     ^
ALAC/codec/matrix_dec.c: In function ‘copyPredictorTo20’:
ALAC/codec/matrix_dec.c:360:37: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
   op[HBYTE] = (uint8_t)((val >> 12) & 0xffu);
                                     ^
ALAC/codec/matrix_dec.c:361:37: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
   op[MBYTE] = (uint8_t)((val >>  4) & 0xffu);
                                     ^
ALAC/codec/matrix_dec.c:362:37: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
   op[LBYTE] = (uint8_t)((val <<  4) & 0xffu);
                                     ^
ALAC/codec/matrix_dec.c: In function ‘copyPredictorTo32’:
ALAC/codec/matrix_dec.c:372:45: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
  for ( i = 0, j = 0; i < numSamples; i++, j += stride )
                                             ^~
ALAC/codec/matrix_dec.c:372:48: warning: conversion to ‘int32_t’ {aka ‘int’} from ‘uint32_t’ {aka ‘unsigned int’} may change the sign of the result [-Wsign-conversion]
  for ( i = 0, j = 0; i < numSamples; i++, j += stride )
                                                ^~~~~~
ALAC/codec/matrix_dec.c: In function ‘copyPredictorTo32Shift’:
ALAC/codec/matrix_dec.c:379:23: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int’ may change the sign of the result [-Wsign-conversion]
  uint32_t  shiftVal = bytesShifted * 8;
                       ^~~~~~~~~~~~
ALAC/codec/matrix_dec.c:387:31: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
   op[0] = (in[j] << shiftVal) | (uint32_t) shift[j];
                               ^
ALAC/codec/matrix_dec.c:387:11: warning: conversion to ‘int32_t’ {aka ‘int’} from ‘unsigned int’ may change the sign of the result [-Wsign-conversion]
   op[0] = (in[j] << shiftVal) | (uint32_t) shift[j];
           ^
===> ALAC/codec/ag_enc.c
gcc -I../../include -I../.. -I/usr/lib/gcc/x86_64-linux-gnu/8/include   -nostdinc -g -O2 -m64 -mno-red-zone   -fno-stack-protector -lssp -O2 -g -Wall -Wshadow   -fno-stack-protector  -Wconversion -std=c99 -c ALAC/codec/ag_enc.c -o ALAC/codec/ag_enc.o
In file included from ALAC/codec/ag_enc.c:32:
ALAC/codec/ALACAudioTypes.h:64:32: warning: multi-character character constant [-Wmultichar]
     kALACFormatAppleLossless = 'alac',
                                ^~~~~~
ALAC/codec/ALACAudioTypes.h:65:28: warning: multi-character character constant [-Wmultichar]
     kALACFormatLinearPCM = 'lpcm'
                            ^~~~~~
ALAC/codec/ALACAudioTypes.h:154:22: warning: multi-character character constant [-Wmultichar]
  kALACCodecFormat  = 'alac',
                      ^~~~~~
ALAC/codec/ALACAudioTypes.h:182:26: warning: multi-character character constant [-Wmultichar]
  AudioChannelLayoutAID = 'chan'
                          ^~~~~~
In file included from ALAC/codec/ag_enc.c:35:
../../include/stdio.h: In function ‘__sputc’:
../../include/stdio.h:460:23: warning: conversion from ‘int’ to ‘unsigned char’ may change value [-Wconversion]
   return (*_p->_p++ = _c);
                       ^~
In file included from ../../include/string.h:2,
                 from ALAC/codec/ag_enc.c:37:
../../include/sys/types.h: In function ‘__bitcount16’:
../../include/sys/types.h:327:7: warning: conversion from ‘int’ to ‘__uint16_t’ {aka ‘short unsigned int’} may change value [-Wconversion]
  _x = (_x & 0x5555) + ((_x & 0xaaaa) >> 1);
       ^
../../include/sys/types.h:328:7: warning: conversion from ‘int’ to ‘__uint16_t’ {aka ‘short unsigned int’} may change value [-Wconversion]
  _x = (_x & 0x3333) + ((_x & 0xcccc) >> 2);
       ^
In file included from ../../include/sys/types.h:376,
                 from ../../include/string.h:2,
                 from ALAC/codec/ag_enc.c:37:
../../include/sys/select.h: At top level:
../../include/sys/select.h:105:54: warning: ‘struct timeval’ declared inside parameter list will not be visible outside of this definition or declaration
 int select(int, fd_set *, fd_set *, fd_set *, struct timeval *);
                                                      ^~~~~~~
In file included from ../../include/string.h:2,
                 from ALAC/codec/ag_enc.c:37:
../../include/sys/types.h: In function ‘__major’:
../../include/sys/types.h:393:36: warning: conversion from ‘dev_t’ {aka ‘long unsigned int’} to ‘int’ may change value [-Wconversion]
  return (((_d >> 32) & 0xffffff00) | ((_d >> 8) & 0xff));
         ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
../../include/sys/types.h: In function ‘__minor’:
../../include/sys/types.h:399:32: warning: conversion from ‘dev_t’ {aka ‘long unsigned int’} to ‘int’ may change value [-Wconversion]
  return (((_d >> 24) & 0xff00) | (_d & 0xffff00ff));
         ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
../../include/sys/types.h: In function ‘__makedev’:
../../include/sys/types.h:405:26: warning: conversion to ‘unsigned int’ from ‘int’ may change the sign of the result [-Wsign-conversion]
  return (((dev_t)(_Major & 0xffffff00) << 32) | ((_Major & 0xff) << 8) |
                          ^
../../include/sys/types.h:405:47: warning: conversion to ‘long unsigned int’ from ‘int’ may change the sign of the result [-Wsign-conversion]
  return (((dev_t)(_Major & 0xffffff00) << 32) | ((_Major & 0xff) << 8) |
                                               ^
../../include/sys/types.h:406:49: warning: conversion to ‘unsigned int’ from ‘int’ may change the sign of the result [-Wsign-conversion]
      ((dev_t)(_Minor & 0xff00) << 24) | (_Minor & 0xffff00ff));
                                                 ^
ALAC/codec/ag_enc.c: In function ‘lead’:
ALAC/codec/ag_enc.c:72:9: warning: conversion to ‘long unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
   if((c & m) != 0)
         ^
ALAC/codec/ag_enc.c:76:9: warning: conversion from ‘long int’ to ‘int32_t’ {aka ‘int’} may change value [-Wconversion]
  return (j);
         ^
ALAC/codec/ag_enc.c: In function ‘dyn_code’:
ALAC/codec/ag_enc.c:123:8: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
  div = n/m;
        ^
ALAC/codec/ag_enc.c:128:11: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
   value = (((1<<MAX_PREFIX_16)-1)<<MAX_DATATYPE_BITS_16) + n;
           ^
ALAC/codec/ag_enc.c:132:9: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
   mod = n%m;
         ^
ALAC/codec/ag_enc.c:134:17: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
   numBits = div + k + 1 - de;
                 ^
ALAC/codec/ag_enc.c:135:41: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int’ may change the sign of the result [-Wsign-conversion]
   value = (((1<<div)-1)<<(numBits-div)) + mod + 1 - de;
                                         ^
ALAC/codec/ag_enc.c:141:15: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
       value = (((1<<MAX_PREFIX_16)-1)<<MAX_DATATYPE_BITS_16) + n;
               ^
ALAC/codec/ag_enc.c: In function ‘dyn_code_32bit’:
ALAC/codec/ag_enc.c:166:41: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int’ may change the sign of the result [-Wsign-conversion]
   value = (((1<<div)-1)<<(numBits-div)) + mod + 1 - de;
                                         ^
ALAC/codec/ag_enc.c:176:19: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
   *overflowbits = maxbits;
                   ^~~~~~~
ALAC/codec/ag_enc.c: In function ‘dyn_jam_noDeref_large’:
ALAC/codec/ag_enc.c:217:25: warning: conversion to ‘int32_t’ {aka ‘int’} from ‘uint32_t’ {aka ‘unsigned int’} may change the sign of the result [-Wsign-conversion]
  int32_t   shiftvalue = (32 - (bitPos&7) - numBits);
                         ^
ALAC/codec/ag_enc.c: In function ‘dyn_comp’:
ALAC/codec/ag_enc.c:264:27: warning: conversion to ‘int32_t’ {aka ‘int’} from ‘uint32_t’ {aka ‘unsigned int’} may change the sign of the result [-Wsign-conversion]
     int32_t     rowSize = params->sw;
                           ^~~~~~
ALAC/codec/ag_enc.c:265:40: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
     int32_t     rowJump = (params->fw) - rowSize;
                                        ^
ALAC/codec/ag_enc.c:265:27: warning: conversion to ‘int32_t’ {aka ‘int’} from ‘uint32_t’ {aka ‘unsigned int’} may change the sign of the result [-Wsign-conversion]
     int32_t     rowJump = (params->fw) - rowSize;
                           ^
ALAC/codec/ag_enc.c:287:18: warning: conversion to ‘int32_t’ {aka ‘int’} from ‘uint32_t’ {aka ‘unsigned int’} may change the sign of the result [-Wsign-conversion]
         k = lg3a(m);
                  ^
ALAC/codec/ag_enc.c:287:13: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
         k = lg3a(m);
             ^~~~
ALAC/codec/ag_enc.c:292:13: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int’ may change the sign of the result [-Wsign-conversion]
         m = (1<<k)-1;
             ^
ALAC/codec/ag_enc.c:297:13: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
         n = (abs_func(del) << 1) - ((del >> 31) & 1) - zmode;
             ^
ALAC/codec/ag_enc.c:320:22: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
         mb = pb * (n + zmode) + mb - ((pb *mb)>>QBSHIFT);
                      ^
ALAC/codec/ag_enc.c:354:22: warning: conversion to ‘int32_t’ {aka ‘int’} from ‘uint32_t’ {aka ‘unsigned int’} may change the sign of the result [-Wsign-conversion]
             k = lead(mb) - BITOFF+((mb+MOFF)>>MDENSHIFT);
                      ^~
ALAC/codec/ag_enc.c:354:34: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int’ may change the sign of the result [-Wsign-conversion]
             k = lead(mb) - BITOFF+((mb+MOFF)>>MDENSHIFT);
                                  ^
ALAC/codec/ag_enc.c:355:29: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int’ may change the sign of the result [-Wsign-conversion]
             mz = ((1<<k)-1) & wb;
                             ^
ALAC/codec/ag_enc.c:357:30: warning: conversion to ‘int32_t’ {aka ‘int’} from ‘uint32_t’ {aka ‘unsigned int’} may change the sign of the result [-Wsign-conversion]
             value = dyn_code(mz, k, nz, &numBits);
                              ^~
ALAC/codec/ag_enc.c:357:34: warning: conversion to ‘int32_t’ {aka ‘int’} from ‘uint32_t’ {aka ‘unsigned int’} may change the sign of the result [-Wsign-conversion]
             value = dyn_code(mz, k, nz, &numBits);
                                  ^
ALAC/codec/ag_enc.c:357:37: warning: conversion to ‘int32_t’ {aka ‘int’} from ‘uint32_t’ {aka ‘unsigned int’} may change the sign of the result [-Wsign-conversion]
             value = dyn_code(mz, k, nz, &numBits);
                                     ^~
ALAC/codec/ag_enc.c:357:21: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
             value = dyn_code(mz, k, nz, &numBits);
                     ^~~~~~~~
===> ALAC/codec/matrix_enc.c
gcc -I../../include -I../.. -I/usr/lib/gcc/x86_64-linux-gnu/8/include   -nostdinc -g -O2 -m64 -mno-red-zone   -fno-stack-protector -lssp -O2 -g -Wall -Wshadow   -fno-stack-protector  -Wconversion -std=c99 -c ALAC/codec/matrix_enc.c -o ALAC/codec/matrix_enc.o
In file included from ALAC/codec/matrix_enc.c:30:
ALAC/codec/ALACAudioTypes.h:64:32: warning: multi-character character constant [-Wmultichar]
     kALACFormatAppleLossless = 'alac',
                                ^~~~~~
ALAC/codec/ALACAudioTypes.h:65:28: warning: multi-character character constant [-Wmultichar]
     kALACFormatLinearPCM = 'lpcm'
                            ^~~~~~
ALAC/codec/ALACAudioTypes.h:154:22: warning: multi-character character constant [-Wmultichar]
  kALACCodecFormat  = 'alac',
                      ^~~~~~
ALAC/codec/ALACAudioTypes.h:182:26: warning: multi-character character constant [-Wmultichar]
  AudioChannelLayoutAID = 'chan'
                          ^~~~~~
ALAC/codec/matrix_enc.c: In function ‘mix24’:
ALAC/codec/matrix_enc.c:149:19: warning: conversion from ‘long unsigned int’ to ‘uint32_t’ {aka ‘unsigned int’} may change value [-Wconversion]
  uint32_t mask  = (1ul << shift) - 1;
                   ^
ALAC/codec/matrix_enc.c:170:35: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
     shiftUV[k + 0] = (uint16_t)(l & mask);
                                   ^
ALAC/codec/matrix_enc.c:171:35: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
     shiftUV[k + 1] = (uint16_t)(r & mask);
                                   ^
ALAC/codec/matrix_enc.c:212:35: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
     shiftUV[k + 0] = (uint16_t)(l & mask);
                                   ^
ALAC/codec/matrix_enc.c:213:35: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
     shiftUV[k + 1] = (uint16_t)(r & mask);
                                   ^
ALAC/codec/matrix_enc.c: In function ‘mix32’:
ALAC/codec/matrix_enc.c:248:19: warning: conversion from ‘long unsigned int’ to ‘uint32_t’ {aka ‘unsigned int’} may change value [-Wconversion]
  uint32_t mask  = (1ul << shift) - 1;
                   ^
ALAC/codec/matrix_enc.c:267:34: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
    shiftUV[k + 0] = (uint16_t)(l & mask);
                                  ^
ALAC/codec/matrix_enc.c:268:34: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
    shiftUV[k + 1] = (uint16_t)(r & mask);
                                  ^
ALAC/codec/matrix_enc.c:298:35: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
     shiftUV[k + 0] = (uint16_t)(l & mask);
                                   ^
ALAC/codec/matrix_enc.c:299:35: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
     shiftUV[k + 1] = (uint16_t)(r & mask);
                                   ^
===> ALAC/codec/dp_enc.c
gcc -I../../include -I../.. -I/usr/lib/gcc/x86_64-linux-gnu/8/include   -nostdinc -g -O2 -m64 -mno-red-zone   -fno-stack-protector -lssp -O2 -g -Wall -Wshadow   -fno-stack-protector  -Wconversion -std=c99 -c ALAC/codec/dp_enc.c -o ALAC/codec/dp_enc.o
In file included from ../../include/string.h:2,
                 from ALAC/codec/dp_enc.c:30:
../../include/sys/types.h: In function ‘__bitcount16’:
../../include/sys/types.h:327:7: warning: conversion from ‘int’ to ‘__uint16_t’ {aka ‘short unsigned int’} may change value [-Wconversion]
  _x = (_x & 0x5555) + ((_x & 0xaaaa) >> 1);
       ^
../../include/sys/types.h:328:7: warning: conversion from ‘int’ to ‘__uint16_t’ {aka ‘short unsigned int’} may change value [-Wconversion]
  _x = (_x & 0x3333) + ((_x & 0xcccc) >> 2);
       ^
In file included from ../../include/sys/types.h:376,
                 from ../../include/string.h:2,
                 from ALAC/codec/dp_enc.c:30:
../../include/sys/select.h: At top level:
../../include/sys/select.h:105:54: warning: ‘struct timeval’ declared inside parameter list will not be visible outside of this definition or declaration
 int select(int, fd_set *, fd_set *, fd_set *, struct timeval *);
                                                      ^~~~~~~
In file included from ../../include/string.h:2,
                 from ALAC/codec/dp_enc.c:30:
../../include/sys/types.h: In function ‘__major’:
../../include/sys/types.h:393:36: warning: conversion from ‘dev_t’ {aka ‘long unsigned int’} to ‘int’ may change value [-Wconversion]
  return (((_d >> 32) & 0xffffff00) | ((_d >> 8) & 0xff));
         ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
../../include/sys/types.h: In function ‘__minor’:
../../include/sys/types.h:399:32: warning: conversion from ‘dev_t’ {aka ‘long unsigned int’} to ‘int’ may change value [-Wconversion]
  return (((_d >> 24) & 0xff00) | (_d & 0xffff00ff));
         ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
../../include/sys/types.h: In function ‘__makedev’:
../../include/sys/types.h:405:26: warning: conversion to ‘unsigned int’ from ‘int’ may change the sign of the result [-Wsign-conversion]
  return (((dev_t)(_Major & 0xffffff00) << 32) | ((_Major & 0xff) << 8) |
                          ^
../../include/sys/types.h:405:47: warning: conversion to ‘long unsigned int’ from ‘int’ may change the sign of the result [-Wsign-conversion]
  return (((dev_t)(_Major & 0xffffff00) << 32) | ((_Major & 0xff) << 8) |
                                               ^
../../include/sys/types.h:406:49: warning: conversion to ‘unsigned int’ from ‘int’ may change the sign of the result [-Wsign-conversion]
      ((dev_t)(_Minor & 0xff00) << 24) | (_Minor & 0xffff00ff));
                                                 ^
ALAC/codec/dp_enc.c: In function ‘init_coefs’:
ALAC/codec/dp_enc.c:51:13: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
  coefs[0] = (AINIT * den) >> 4;
             ^
ALAC/codec/dp_enc.c:52:13: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
  coefs[1] = (BINIT * den) >> 4;
             ^
ALAC/codec/dp_enc.c:53:13: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
  coefs[2] = (CINIT * den) >> 4;
             ^
ALAC/codec/dp_enc.c: In function ‘sign_of_int’:
ALAC/codec/dp_enc.c:70:17: warning: conversion to ‘int32_t’ {aka ‘int’} from ‘unsigned int’ may change the sign of the result [-Wsign-conversion]
     negishift = ((uint32_t)-i) >> 31;
                 ^
ALAC/codec/dp_enc.c: In function ‘pc_block’:
ALAC/codec/dp_enc.c:92:4: warning: implicit declaration of function ‘memcpy’ [-Wimplicit-function-declaration]
    memcpy( &pc1[1], &in[1], (num - 1) * sizeof(int32_t) );
    ^~~~~~
ALAC/codec/dp_enc.c:92:4: warning: incompatible implicit declaration of built-in function ‘memcpy’
ALAC/codec/dp_enc.c:92:4: note: include ‘<string.h>’ or provide a declaration of ‘memcpy’
ALAC/codec/dp_enc.c:31:1:
+#include <string.h>

ALAC/codec/dp_enc.c:92:4:
    memcpy( &pc1[1], &in[1], (num - 1) * sizeof(int32_t) );
    ^~~~~~
ALAC/codec/dp_enc.c:92:39: warning: conversion to ‘long unsigned int’ from ‘int’ may change the sign of the result [-Wsign-conversion]
    memcpy( &pc1[1], &in[1], (num - 1) * sizeof(int32_t) );
                                       ^
ALAC/codec/dp_enc.c:145:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
     a3 -= sgn;
           ^~~
ALAC/codec/dp_enc.c:151:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
     a2 -= sgn;
           ^~~
ALAC/codec/dp_enc.c:157:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
     a1 -= sgn;
           ^~~
ALAC/codec/dp_enc.c:162:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
     a0 -= sign_of_int( b0 );
           ^~~~~~~~~~~
ALAC/codec/dp_enc.c:168:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
     a3 -= sgn;
           ^~~
ALAC/codec/dp_enc.c:174:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
     a2 -= sgn;
           ^~~
ALAC/codec/dp_enc.c:180:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
     a1 -= sgn;
           ^~~
ALAC/codec/dp_enc.c:185:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
     a0 += sign_of_int( b0 );
           ^~~~~~~~~~~
ALAC/codec/dp_enc.c:238:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
     a7 -= sgn;
           ^~~
ALAC/codec/dp_enc.c:244:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
     a6 -= sgn;
           ^~~
ALAC/codec/dp_enc.c:250:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
     a5 -= sgn;
           ^~~
ALAC/codec/dp_enc.c:256:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
     a4 -= sgn;
           ^~~
ALAC/codec/dp_enc.c:262:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
     a3 -= sgn;
           ^~~
ALAC/codec/dp_enc.c:268:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
     a2 -= sgn;
           ^~~
ALAC/codec/dp_enc.c:274:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
     a1 -= sgn;
           ^~~
ALAC/codec/dp_enc.c:279:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
     a0 -= sign_of_int( b0 );
           ^~~~~~~~~~~
ALAC/codec/dp_enc.c:285:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
     a7 -= sgn;
           ^~~
ALAC/codec/dp_enc.c:291:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
     a6 -= sgn;
           ^~~
ALAC/codec/dp_enc.c:297:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
     a5 -= sgn;
           ^~~
ALAC/codec/dp_enc.c:303:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
     a4 -= sgn;
           ^~~
ALAC/codec/dp_enc.c:309:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
     a3 -= sgn;
           ^~~
ALAC/codec/dp_enc.c:315:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
     a2 -= sgn;
           ^~~
ALAC/codec/dp_enc.c:321:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
     a1 -= sgn;
           ^~~
ALAC/codec/dp_enc.c:326:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
     a0 += sign_of_int( b0 );
           ^~~~~~~~~~~
ALAC/codec/dp_enc.c:366:18: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
      coefs[k] -= sgn;
                  ^~~
ALAC/codec/dp_enc.c:378:18: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
      coefs[k] += sgn;
                  ^~~
===> Linking ./syslaunch
ld -e_start -N -L../../lib -L/usr/lib/gcc/x86_64-linux-gnu/8 -nostdlib  -melf_x86_64  -Ttext=01000000 crt0-amd64.o syslaunch.o ALAC/codec/ag_dec.o ALAC/codec/dp_dec.o ALAC/codec/EndianPortable.o ALAC/codec/ALACBitUtilities.o ALAC/codec/matrix_dec.o ALAC/codec/ag_enc.o ALAC/codec/matrix_enc.o ALAC/codec/dp_enc.o    -ll4 -lio  -llinux  -lgcc -o syslaunch
tyson@tyson-Lenovo-ideapad-120S-14IAP:~/Orion/user/apps/system$ 

However, the C++ source (which requires renaming the file suffixes from .cpp, to .cc, to be recognised by the toolchain) had some issues, when I last tried to build it.

vmlemon commented 5 years ago

ALAC gets to :

tyson@tyson-Lenovo-ideapad-120S-14IAP:~/Orion/user/apps/system$ make
===> ALAC/codec/ALACDecoder.cc
gcc -x c++ -I../../include -I../.. -I/usr/lib/gcc/x86_64-linux-gnu/8/include   -nostdinc -g -O2 -m64 -mno-red-zone   -fno-stack-protector -lssp -O2 -g -Wall -Wshadow   -fno-stack-protector  -Wconversion -fno-exceptions -c ALAC/codec/ALACDecoder.cc -o ALAC/codec/ALACDecoder.o
In file included from ALAC/codec/ALACDecoder.h:34,
                 from ALAC/codec/ALACDecoder.cc:28:
ALAC/codec/ALACAudioTypes.h:64:32: warning: multi-character character constant [-Wmultichar]
     kALACFormatAppleLossless = 'alac',
                                ^~~~~~
ALAC/codec/ALACAudioTypes.h:65:28: warning: multi-character character constant [-Wmultichar]
     kALACFormatLinearPCM = 'lpcm'
                            ^~~~~~
ALAC/codec/ALACAudioTypes.h:154:22: warning: multi-character character constant [-Wmultichar]
  kALACCodecFormat  = 'alac',
                      ^~~~~~
ALAC/codec/ALACAudioTypes.h:182:26: warning: multi-character character constant [-Wmultichar]
  AudioChannelLayoutAID = 'chan'
                          ^~~~~~
In file included from ../../include/string.h:2,
                 from ALAC/codec/ALACDecoder.cc:26:
../../include/sys/types.h: In function ‘__uint16_t __bitcount16(__uint16_t)’:
../../include/sys/types.h:327:21: warning: conversion from ‘int’ to ‘__uint16_t’ {aka ‘short unsigned int’} may change value [-Wconversion]
  _x = (_x & 0x5555) + ((_x & 0xaaaa) >> 1);
       ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
../../include/sys/types.h:328:21: warning: conversion from ‘int’ to ‘__uint16_t’ {aka ‘short unsigned int’} may change value [-Wconversion]
  _x = (_x & 0x3333) + ((_x & 0xcccc) >> 2);
       ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
In file included from ../../include/string.h:2,
                 from ALAC/codec/ALACDecoder.cc:26:
../../include/sys/types.h: In function ‘int __major(dev_t)’:
../../include/sys/types.h:393:36: warning: conversion from ‘dev_t’ {aka ‘long unsigned int’} to ‘int’ may change value [-Wconversion]
  return (((_d >> 32) & 0xffffff00) | ((_d >> 8) & 0xff));
         ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
../../include/sys/types.h: In function ‘int __minor(dev_t)’:
../../include/sys/types.h:399:32: warning: conversion from ‘dev_t’ {aka ‘long unsigned int’} to ‘int’ may change value [-Wconversion]
  return (((_d >> 24) & 0xff00) | (_d & 0xffff00ff));
         ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
In file included from ALAC/codec/ALACDecoder.cc:34:
ALAC/codec/ALACDecoder.cc: In constructor ‘ALACDecoder::ALACDecoder()’:
ALAC/codec/ALACBitUtilities.h:40:13: error: ‘NULL’ was not declared in this scope
 #define nil NULL
             ^~~~
ALAC/codec/ALACDecoder.cc:50:15: note: in expansion of macro ‘nil’
  mMixBufferU( nil ),
               ^~~
ALAC/codec/ALACBitUtilities.h:40:13: note: ‘NULL’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
 #define nil NULL
             ^~~~
ALAC/codec/ALACDecoder.cc:50:15: note: in expansion of macro ‘nil’
  mMixBufferU( nil ),
               ^~~
ALAC/codec/ALACDecoder.cc: In destructor ‘ALACDecoder::~ALACDecoder()’:
ALAC/codec/ALACDecoder.cc:66:3: error: ‘free’ was not declared in this scope
   free(mMixBufferU);
   ^~~~
ALAC/codec/ALACDecoder.cc:66:3: note: ‘free’ is defined in header ‘<cstdlib>’; did you forget to ‘#include <cstdlib>’?
ALAC/codec/ALACDecoder.cc:36:1:
+#include <cstdlib>

ALAC/codec/ALACDecoder.cc:66:3:
   free(mMixBufferU);
   ^~~~
ALAC/codec/ALACDecoder.cc:67:23: error: ‘NULL’ was not declared in this scope
         mMixBufferU = NULL;
                       ^~~~
ALAC/codec/ALACDecoder.cc:67:23: note: ‘NULL’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
ALAC/codec/ALACDecoder.cc:71:3: error: ‘free’ was not declared in this scope
   free(mMixBufferV);
   ^~~~
ALAC/codec/ALACDecoder.cc:71:3: note: ‘free’ is defined in header ‘<cstdlib>’; did you forget to ‘#include <cstdlib>’?
ALAC/codec/ALACDecoder.cc:72:23: error: ‘NULL’ was not declared in this scope
         mMixBufferV = NULL;
                       ^~~~
ALAC/codec/ALACDecoder.cc:72:23: note: ‘NULL’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
ALAC/codec/ALACDecoder.cc:79:3: error: ‘free’ was not declared in this scope
   free(mPredictor);
   ^~~~
ALAC/codec/ALACDecoder.cc:79:3: note: ‘free’ is defined in header ‘<cstdlib>’; did you forget to ‘#include <cstdlib>’?
ALAC/codec/ALACDecoder.cc:80:22: error: ‘NULL’ was not declared in this scope
         mPredictor = NULL;
                      ^~~~
ALAC/codec/ALACDecoder.cc:80:22: note: ‘NULL’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
ALAC/codec/ALACDecoder.cc: In member function ‘int32_t ALACDecoder::Init(void*, uint32_t)’:
ALAC/codec/ALACDecoder.cc:135:35: error: ‘calloc’ was not declared in this scope
         mMixBufferU = (int32_t *) calloc( mConfig.frameLength * sizeof(int32_t), 1 );
                                   ^~~~~~
ALAC/codec/ALACDecoder.cc:135:35: note: suggested alternative: ‘pc_block’
         mMixBufferU = (int32_t *) calloc( mConfig.frameLength * sizeof(int32_t), 1 );
                                   ^~~~~~
                                   pc_block
In file included from ALAC/codec/ALACDecoder.cc:34:
ALAC/codec/ALACBitUtilities.h:40:13: error: ‘NULL’ was not declared in this scope
 #define nil NULL
             ^~~~
ALAC/codec/ALACBitUtilities.h:43:50: note: in definition of macro ‘RequireAction’
 #define RequireAction(condition, action)   if (!(condition)) { action }
                                                  ^~~~~~~~~
ALAC/codec/ALACDecoder.cc:144:40: note: in expansion of macro ‘nil’
         RequireAction( (mMixBufferU != nil) && (mMixBufferV != nil) && (mPredictor != nil),
                                        ^~~
ALAC/codec/ALACBitUtilities.h:40:13: note: ‘NULL’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
 #define nil NULL
             ^~~~
ALAC/codec/ALACBitUtilities.h:43:50: note: in definition of macro ‘RequireAction’
 #define RequireAction(condition, action)   if (!(condition)) { action }
                                                  ^~~~~~~~~
ALAC/codec/ALACDecoder.cc:144:40: note: in expansion of macro ‘nil’
         RequireAction( (mMixBufferU != nil) && (mMixBufferV != nil) && (mPredictor != nil),
                                        ^~~
ALAC/codec/ALACDecoder.cc: In member function ‘int32_t ALACDecoder::Decode(BitBuffer*, uint8_t*, uint32_t, uint32_t, uint32_t*)’:
ALAC/codec/ALACBitUtilities.h:40:13: error: ‘NULL’ was not declared in this scope
 #define nil NULL
             ^~~~
ALAC/codec/ALACBitUtilities.h:43:50: note: in definition of macro ‘RequireAction’
 #define RequireAction(condition, action)   if (!(condition)) { action }
                                                  ^~~~~~~~~
ALAC/codec/ALACDecoder.cc:201:26: note: in expansion of macro ‘nil’
  RequireAction( (bits != nil) && (sampleBuffer != nil) && (outNumSamples != nil), return kALAC_ParamError; );
                          ^~~
ALAC/codec/ALACBitUtilities.h:40:13: note: ‘NULL’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
 #define nil NULL
             ^~~~
ALAC/codec/ALACBitUtilities.h:43:50: note: in definition of macro ‘RequireAction’
 #define RequireAction(condition, action)   if (!(condition)) { action }
                                                  ^~~~~~~~~
ALAC/codec/ALACDecoder.cc:201:26: note: in expansion of macro ‘nil’
  RequireAction( (bits != nil) && (sampleBuffer != nil) && (outNumSamples != nil), return kALAC_ParamError; );
                          ^~~
ALAC/codec/ALACDecoder.cc:229:21: warning: conversion from ‘unsigned int’ to ‘uint16_t’ {aka ‘short unsigned int’} may change value [-Wconversion]
     mActiveElements |= (1u << elementInstanceTag);
     ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ALAC/codec/ALACDecoder.cc:238:31: warning: conversion from ‘int’ to ‘uint8_t’ {aka ‘unsigned char’} may change value [-Wconversion]
     partialFrame = headerByte >> 3;
                    ~~~~~~~~~~~^~~~
ALAC/codec/ALACDecoder.cc:264:26: warning: conversion from ‘int’ to ‘uint8_t’ {aka ‘unsigned char’} may change value [-Wconversion]
      modeU  = headerByte >> 4;
               ~~~~~~~~~~~^~~~
ALAC/codec/ALACDecoder.cc:268:29: warning: conversion from ‘int’ to ‘uint16_t’ {aka ‘short unsigned int’} may change value [-Wconversion]
      pbFactorU = headerByte >> 5;
                  ~~~~~~~~~~~^~~~
In file included from ALAC/codec/ALACDecoder.cc:34:
ALAC/codec/ALACBitUtilities.h:40:13: error: ‘NULL’ was not declared in this scope
 #define nil NULL
             ^~~~
ALAC/codec/ALACDecoder.cc:293:55: note: in expansion of macro ‘nil’
       unpc_block( mPredictor, mPredictor, numSamples, nil, 31, chanBits, 0 );
                                                       ^~~
ALAC/codec/ALACBitUtilities.h:40:13: note: ‘NULL’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
 #define nil NULL
             ^~~~
ALAC/codec/ALACDecoder.cc:293:55: note: in expansion of macro ‘nil’
       unpc_block( mPredictor, mPredictor, numSamples, nil, 31, chanBits, 0 );
                                                       ^~~
ALAC/codec/ALACDecoder.cc:380:21: warning: conversion from ‘unsigned int’ to ‘uint16_t’ {aka ‘short unsigned int’} may change value [-Wconversion]
     mActiveElements |= (1u << elementInstanceTag);
     ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ALAC/codec/ALACDecoder.cc:389:31: warning: conversion from ‘int’ to ‘uint8_t’ {aka ‘unsigned char’} may change value [-Wconversion]
     partialFrame = headerByte >> 3;
                    ~~~~~~~~~~~^~~~
ALAC/codec/ALACDecoder.cc:414:26: warning: conversion from ‘int’ to ‘uint8_t’ {aka ‘unsigned char’} may change value [-Wconversion]
      modeU  = headerByte >> 4;
               ~~~~~~~~~~~^~~~
ALAC/codec/ALACDecoder.cc:418:29: warning: conversion from ‘int’ to ‘uint16_t’ {aka ‘short unsigned int’} may change value [-Wconversion]
      pbFactorU = headerByte >> 5;
                  ~~~~~~~~~~~^~~~
ALAC/codec/ALACDecoder.cc:424:26: warning: conversion from ‘int’ to ‘uint8_t’ {aka ‘unsigned char’} may change value [-Wconversion]
      modeV  = headerByte >> 4;
               ~~~~~~~~~~~^~~~
ALAC/codec/ALACDecoder.cc:428:29: warning: conversion from ‘int’ to ‘uint16_t’ {aka ‘short unsigned int’} may change value [-Wconversion]
      pbFactorV = headerByte >> 5;
                  ~~~~~~~~~~~^~~~
In file included from ALAC/codec/ALACDecoder.cc:34:
ALAC/codec/ALACBitUtilities.h:40:13: error: ‘NULL’ was not declared in this scope
 #define nil NULL
             ^~~~
ALAC/codec/ALACDecoder.cc:452:55: note: in expansion of macro ‘nil’
       unpc_block( mPredictor, mPredictor, numSamples, nil, 31, chanBits, 0 );
                                                       ^~~
ALAC/codec/ALACBitUtilities.h:40:13: note: ‘NULL’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
 #define nil NULL
             ^~~~
ALAC/codec/ALACDecoder.cc:452:55: note: in expansion of macro ‘nil’
       unpc_block( mPredictor, mPredictor, numSamples, nil, 31, chanBits, 0 );
                                                       ^~~
ALAC/codec/ALACBitUtilities.h:40:13: error: ‘NULL’ was not declared in this scope
 #define nil NULL
             ^~~~
ALAC/codec/ALACDecoder.cc:468:55: note: in expansion of macro ‘nil’
       unpc_block( mPredictor, mPredictor, numSamples, nil, 31, chanBits, 0 );
                                                       ^~~
ALAC/codec/ALACBitUtilities.h:40:13: note: ‘NULL’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
 #define nil NULL
             ^~~~
ALAC/codec/ALACDecoder.cc:468:55: note: in expansion of macro ‘nil’
       unpc_block( mPredictor, mPredictor, numSamples, nil, 31, chanBits, 0 );
                                                       ^~~
ALAC/codec/ALACDecoder.cc: In member function ‘int32_t ALACDecoder::FillElement(BitBuffer*)’:
ALAC/codec/ALACDecoder.cc:644:54: warning: conversion from ‘int’ to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
   count += (int16_t) BitBufferReadSmall( bits, 8 ) - 1;
                                                      ^
ALAC/codec/ALACDecoder.cc: In member function ‘int32_t ALACDecoder::DataStreamElement(BitBuffer*)’:
ALAC/codec/ALACDecoder.cc:671:40: warning: conversion from ‘int’ to ‘uint16_t’ {aka ‘short unsigned int’} may change value [-Wconversion]
   count += BitBufferReadSmall( bits, 8 );
                                        ^
make: *** [../../Mk/l4.build.mk:58: ALAC/codec/ALACDecoder.o] Error 1
tyson@tyson-Lenovo-ideapad-120S-14IAP:~/Orion/user/apps/system$ 
vmlemon commented 5 years ago

Imported strchr.c, and strncmp.c from OpenMach