[Bug 1016349] Re: htons() returns wrong type on non-{i386, amd64} platforms

Chris J Arges 1016349 at bugs.launchpad.net
Wed Sep 12 19:37:31 UTC 2012


** Description changed:

+ [Impact]
+ htons() on non x86 platforms is missing a cast to uint16_t which causes FTBFS of mosh on armel and armhf.
+ 
+ [Development Fix]
+ This has been fixed in eglibc in Quantal.
+ 
+ [Stable Fix]
+ A fix can be backported from the Quantal development version into Precise.
+ 
+ [Test Case]
+ See https://bugs.launchpad.net/ubuntu/+source/eglibc/+bug/1016349/comments/2
+ On how to reproduce with a C program.
+ 
+ [Regression Potential]
+ This patch affects some of the generic byteswaping code in eglibc. The fix for x86 arches was already completed years ago, and this patch fixes is for other arches.
+ 
+ --
+ 
  The definition of htons() on platforms other than i386 and amd64 is
  missing a cast to uint16_t, which caused this FTBFS of mosh on armel and
  armhf:
  
  https://launchpad.net/ubuntu/+source/mosh/1.2.1-1ubuntu1/+build/3582950
  network.cc:76:28: error: narrowing conversion of '({...})' from 'unsigned int' to 'uint16_t {aka short unsigned int}' inside { } is ill-formed in C++11 [-Werror=narrowing]
  network.cc:76:50: error: narrowing conversion of '({...})' from 'unsigned int' to 'uint16_t {aka short unsigned int}' inside { } is ill-formed in C++11 [-Werror=narrowing]
  
  (We didn’t see this before because this warning is new in GCC 4.7.)
  
  This was fixed for glibc 2.16 in
  http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=2174c6dd8555f654c30df2f8f3321b69e0f736f8

** Changed in: eglibc (Ubuntu Precise)
     Assignee: (unassigned) => Adam Conrad (adconrad)

** Changed in: eglibc (Ubuntu Precise)
   Importance: Undecided => Medium

** Changed in: eglibc (Ubuntu Precise)
       Status: New => In Progress

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to eglibc in Ubuntu.
https://bugs.launchpad.net/bugs/1016349

Title:
  htons() returns wrong type on non-{i386,amd64} platforms

Status in Embedded GLIBC:
  Fix Released
Status in “eglibc” package in Ubuntu:
  Fix Released
Status in “eglibc” source package in Precise:
  In Progress
Status in “glibc” package in Fedora:
  Unknown

Bug description:
  [Impact]
  htons() on non x86 platforms is missing a cast to uint16_t which causes FTBFS of mosh on armel and armhf.

  [Development Fix]
  This has been fixed in eglibc in Quantal.

  [Stable Fix]
  A fix can be backported from the Quantal development version into Precise.

  [Test Case]
  See https://bugs.launchpad.net/ubuntu/+source/eglibc/+bug/1016349/comments/2
  On how to reproduce with a C program.

  [Regression Potential]
  This patch affects some of the generic byteswaping code in eglibc. The fix for x86 arches was already completed years ago, and this patch fixes is for other arches.

  --

  The definition of htons() on platforms other than i386 and amd64 is
  missing a cast to uint16_t, which caused this FTBFS of mosh on armel
  and armhf:

  https://launchpad.net/ubuntu/+source/mosh/1.2.1-1ubuntu1/+build/3582950
  network.cc:76:28: error: narrowing conversion of '({...})' from 'unsigned int' to 'uint16_t {aka short unsigned int}' inside { } is ill-formed in C++11 [-Werror=narrowing]
  network.cc:76:50: error: narrowing conversion of '({...})' from 'unsigned int' to 'uint16_t {aka short unsigned int}' inside { } is ill-formed in C++11 [-Werror=narrowing]

  (We didn’t see this before because this warning is new in GCC 4.7.)

  This was fixed for glibc 2.16 in
  http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=2174c6dd8555f654c30df2f8f3321b69e0f736f8

To manage notifications about this bug go to:
https://bugs.launchpad.net/eglibc/+bug/1016349/+subscriptions




More information about the foundations-bugs mailing list